목록분류 전체보기 (13)
Be an Overachiever
Spring Boot는 설정파일로 properties 파일을 사용하지만 확장자를 변경해서 .yml 파일도 사용할 수 있다. 또한 @EnableConfigurationProperties을 통해 설정파일의 값을 클래스 프로퍼티로 매핑할 수 도 있다. 이러한 YAML 파일을 사용해서 편리한 기능을 사용할 수 있는 것은 Spring Boot의 특징인 자동 설정 덕분이다. 그러면 어떤 라이브러리를 기본으로 사용하기 때문에 가능한 것일까? 그것은 바로 SnakeYAML이다. 그럼 SnakeYAML을 사용해서 YAML의 값을 클래스 프로퍼티로 매핑해보자. 클래스패스에 다음과 같이 test.yml 파일을 생성하자. 12345user: name: devson age: 20 test: This is test string ..
1. Apache web server 설치2. Tomcat 설치3. Apache, Tomcat 1:1 연동4. Apache, Tomcat 1:N 연동 WAS의 로드 밸런싱을 위해 하나의 Apache 서버에 여러대의 WAS를 연결한다. 톰캣을 더 설치 해서 아래와 같이 톰캣을 총 3대 설치하였고 index.jsp는 해당 WAS를 식별 할 수 있도록 변경하였다. (로컬에서 테스트 시 서로 포트가 겹치면 안된다.) 톰캣 경로 : - /home/test/server/tomcat/tomcat1 (8080) - /home/test/server/tomcat/tomcat2 (8081) - /home/test/server/tomcat/tomcat3 (8082) ※ tomcat에서 제공하는 방법을 참고하였다. (mod_j..
1. Apache web server 설치2. Tomcat 설치3. Apache, Tomcat 1:1 연동4. Apache, Tomcat 1:N 연동 - 필수 패키지 설치 1sudo yum -y install autoconf libtoolcs - perl 스크립트 경로 변경 만약 /home/test/apache/bin/apxs 파일의 맨 윗줄이 #!/replace/with/path/to/perl/interpreter -w 인 경우 #!/usr/bin/perl -w 로 변경한다. - mod_jk.so 설치 12345678910cd /home/test/installwget http://mirror.navercorp.com/apache/tomcat/tomcat-connectors/jk/tomcat-connec..
회사에서 gRPC를 사용하려고 하는데 gRPC 처음 세팅 예제는 거의 gradle용 이더군요.하지만 회사에선 maven을 사용해 gRPC 세팅하고 제대로 작동하는지에 대한 간단한 예제를 만들었습니다. gRPC pom.xml 설정은 https://github.com/grpc/grpc-java을 참고했고 스프링부트 프로젝트 만든 직후 pom.xml을 설정하였습니다. 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010..
1. Apache web server 설치2. Tomcat 설치3. Apache, Tomcat 1:1 연동4. Apache, Tomcat 1:N 연동 - tomcat 다운 후 압축 풀고 옮기기 1234cd /home/test/installwget http://apache.tt.co.kr/tomcat/tomcat-8/v8.5.33/bin/apache-tomcat-8.5.33.tar.gztar zxvf apache-tomcat-8.5.33.tar.gzmv apache-tomcat-8.5.33 /home/test/server/tomcatColored by Color Scriptercs - tomcat 실행 1/home/test/server/tomcat/bin/startup.shcs ==== JDK 설치 안되있..
1. Apache web server 설치2. Tomcat 설치3. Apache, Tomcat 1:1 연동4. Apache, Tomcat 1:N 연동 - CentOS 7.5 minimal 로 설치한 후 진행 - 'test' 계정으로 설치를 진행 - 설치 가이드에서 사용할 버전 정보 httpd 2.4.34 apr 1.6.3 apr util 1.6.1 tomcat 8.5 - 디렉토리 구조 0. 디렉토리 구조 생성 123mkdir -p /home/test/install/apachemkdir -p /home/test/server/apachemkdir -p /home/test/server/tomcatcs 1. 설치에 필요한 요소 받기 길어서 한 번에 모두 설치했지만 중간에 repository에서 다운을 받지 못하..
나중에 참고하기 위해서 공부할 만한 사이트를 적어놓는다. 자료구조 : https://www.geeksforgeeks.org/data-structures/알고리즘 : https://www.geeksforgeeks.org/fundamentals-of-algorithms/
개인적으로 코드의 가독성을 중요시하기 때문에 혼자하는 프로젝트라도 읽기 쉬운 코드를 작성하려고 노력한다. 이 포스팅은 프로젝트의 코드를 보면서 중첩 if문을 가독성있게 작성할 순 없을까 해서 작성하는 글이다. client에서 넘어온 값들을 하나 씩 유효성 검사를 하다 중간에 문제가 되는 값이 있을 경우 해당 에러코드를 리턴하거나 exception을 던져줘야 하는 경우가 있다. 예를 들어 4개의 인자가 모두 양수인지를 검사하는 메서드가 있다 하자. 첫번째 인자부터 네번째 인자까지 하나 씩 체크를 하다 중간에 양수가 아닌 값이 있을 경우 해당 인자를 message에 포함하는 ArithmeticException을 던지는 로직을 구현할 경우 아래와 같이 구현할 수 있을 것이다. 123456789101112131..
Spring은 세션을 어떻게 유지하는지 그리고 세션이 언제 생성되는지 알아보자 세션은 어떻게 유지될까? HTTP의 특징 중 하나는 stateless이다. 클라이언트가 요청하고 서버가 응답하고 끝이다. 클라이언트와 서버가 서로 연결 상태로 있지 않다는 것이다. 그럼 서버는 어떻게 해당 클라이언트 요청에 대한 세션을 구분하고 관리하는 것일까? 그 힌트는 쿠키에 있다. 설명 하기 전에 naver에 로그인을 한 뒤 쿠키를 확인해보면 (크롬의 경우 주소창 왼쪽을 클릭하여 쿠키를 확인 할 수 있다.) naver.com에 쿠키 목록이 있는데 여기에서 NID_SES을 삭제하면 로그인이 풀린다. 세션의 동작방식은 서버에서 해당 요청에 대한 세션 객체와 세션 쿠키를 생성하고 요청이 들어올 때 해당 세션 쿠키를 통해 요청에..