반응형

안그래보이지만 개발자/백엔드 8

[C] 소켓 통신과 파일 디스크립터 및 지원 함수

파일 디스크립터 C 소켓 프로그래밍에서 파일 디스크립터(File Descriptor)는 네트워크 소켓을 나타내는데 사용되는 정수 값입니다. 파일 디스크립터는 커널이 열린 파일과 소켓을 추적하는 데 사용되며, 소켓 통신에서 데이터를 읽고 쓰는 데에도 활용됩니다. 기본적으로 파일 디스크립터는 정수로 표현되며, 0, 1, 2는 표준 입력(stdin), 표준 출력(stdout), 표준 에러(stderr)를 나타냅니다. 이러한 파일 디스크립터는 각각 파일 또는 소켓에 대한 작업을 수행하기 위해 사용됩니다. 파일 디스크립터는 주로 다음과 같은 상황에서 정의됩니다. 프로세스 실행 중에 시스템이 할당: 프로세스가 실행되면 운영 체제는 프로세스에 대해 여러 자원을 할당하게 됩니다. 이 중에 하나가 파일 디스크립터입니다...

[Spring] 프로퍼티 빈 설정하고 프로퍼티 파일에서 값 가져오기

* 내가 해본 것 까먹지 않기 위한 기록 스샷 없음 주의 이래저래 바뀌는 값을 보통 properties파일에 관리할 것이다. 스프링에서 프로퍼티 파일을 읽은 후 @Value 어노테이션을 이용해 편하게 갖고와본다. 프로퍼티 파일의 위치는 빌드 패스 위치만 잘 설정되어 있다면 어디든 큰 상관은 아마 없을듯. * Spring 5.3.5 openjdk 1.8 프로퍼티 파일은 이렇다고 하자. application.properties test.value=jeanette 그러면 적당히 설정하는 곳에다가 프로퍼티를 읽어오는 빈을 만든다. 나는 스프링 WebMvcConfigurer를 구현한 클래스 안에다 만들어주었다. @EnableWebMvc public class SpringMvcConfig implements Web..

정수 어레이리스트(ArrayList)를 정수 배열로 변환하기 + 정렬

Integer 어레이리스트를 int 배열로 변환하려고 하는 경우 list.toArray(new int[size]) 방식으로는 오류가 나서 여길 찾아왔을 것이다 JAVA 8 이상일 경우 stream API 사용 한줄로 깔끔하게 변환 가능하다. int[] arr = {}; ArrayList list = new ArrayList(); //1번방법 arr = list.stream().mapToInt(i->i).toArray(); //혹은 2번방법 arr = list.stream().mapToInt(Integer::intValue).toArray(); 감동의 도가니.. filter를 넣어줄 수도 있다. 예시는 null값을 제외하는 필터이다. //1번방법 arr = list.stream().filter(Object..

[tomcat+spring] 이클립스 웹개발 초심자를 화나게 하는 MVC 패턴에서의 url 관련 환경설정 정리 (server.xml 수정)

구글링을 통해 이클립스에 톰캣, 스프링 세팅이 다 되었다면 jsp 파일을 만들고 로컬 환경(당신의 PC)에서 톰캣을 구동할 것이다. 근데 기껏 만든 jsp 화면은 안 나타나고 404 에러만 난다. index.jsp를 컨트롤러가 보게 하고 싶은데 어떻게 하는지 모르겠다. 브라우저에 뭐라고 쳐야 접속할 수 있지? 이런 사람만 이 포스팅을 볼것 고급자용은 아니므로 이 포스팅을 갑자기 하는 이유는 웹개발을 잘 모르는 윗분들 세팅을 해주면서도 팀원들과 환경 세팅을 다시 하면서도 대학교 다닐 때 MVC 패턴으로 처음 개발하면서도 너무 짜증났던 스프링 mvc url/uri 를 떠올리며 나 초보자일 때의 기억을 되살려 제일 짜증나는 부분만 정리해봄 ※ 여기서 스프링 설정은 xml이 아니라 자바 설정 JAVA Confi..

java 기초부터 복습하기 : 자바 기본 입력

자바 입력은 불편하고 외우기 귀찮다. cin cout이 짱이었는데. 자바 입력 1. BufferedReader import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; public class Main { public static void main(String[] args) throws IOException { BufferedReader buffer = new BufferedReader(new InputStreamReader(System.in)); System.out.println("(버퍼리더)문자열입력 : "); String str = buffer.readLine(); System.out.prin..

java 기초부터 복습하기 : 자바 기본 출력

개발자로 일하고 있지만 java는 주 업무가 아니어서 감 떨어졌다. 완전히 유치원 수준에서부터 차근차근 다져보기로 한다. (절대로 어려운 거 하기 싫어서 미루는 거 아님) 내가 기억할 만큼만 쓰므로 설명은 불친절할 수 있다. 순서는 백준 "단계별로 풀어보기"를 따라간다. 이클립스 메인 메소드 생성 클래스 만들 때 체크박스 체크해서 만들 수 있긴 한데, 방금 내가 그걸 까먹고 기존 클래스에 추가했기 때문에 ;; 포스팅에도 추가. 이클립스에서 main 치고 ctrl + space 치면 main 메소드 생성 가능. 자바 출력 1. System.out.println(); 이 메소드는 이클립스에서 sysout이라 치고 ctrl + space bar 하면 바로 나온다. 2. System.out.print(); pr..

openssl로 자체 서명 인증서 생성 및 톰캣 https 설정 (self-signed certificate)

SSL/TLS를 위한 테스트용 자체 서명 인증서를 생성하려고 한다 말 그대로 자체-서명이기 때문에 브라우저에서는 신뢰할 수 없는 인증서라고 자꾸 경고하지만 테스트용으로는 편리하게 사용할 수 있다 이 게시물은 내가 공부하는 용도로 작성하는 기록물이다. 1. 개인키 생성 # openssl genrsa -des3 -out keyname.key.origin 2048 keyname은 마음대로 설정한다. 중간에 비밀번호를 물어보므로 하고 싶은 비밀번호를 적는다. 어차피 곧 제거할 것이다. keyname이라는 키 파일을 생성했다. 이대로 사용하면 비밀번호가 걸려 있는데 귀찮으므로 비밀번호를 제거한다. 2. 인증 요청서 (CSR) 생성 # openssl req -new -key keyname.key.origin -ou..

Spring CORS 구현 / XMLHttpRequest 요청

회사에서 하고 있는 프로젝트와 관련하여 CORS 이슈가 생겼다. 해결하고 보니 그리 어려운 문제는 아니었으나 모르고 보면 어려울 수도 있는 문제이고 나도 어차피 매뉴얼을 작성해야 하므로 공부하는 겸사겸사 해결 과정을 정리해본다. 내 환경에 맞는 적용법이므로 환경이 다른 자는 다른 방법을 참고 바람,,, 폐쇄망에서 작업한 후 인터넷망에서 기록하므로 스크린샷은 없다. 환경은 다음과 같다. 개발 환경 : Spring 5.1.5, Tomcat 8.5 테스트 : 인터넷 익스플로러 / IE 11, 크롬 Chrome 72.0.x, 자체 서명 인증서 서비스 목표는 다음과 같다. API 서버와는 다른 도메인에서 API 서버로 POST 요청을 보내고 응답을 받는다. 웹앱을 서버에 올려두고 로컬에서 요청을 던졌다. 테스트는..

반응형