일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 | 29 |
30 | 31 |
- 2020년 제4회 정보처리기사 필기 문제 분석
- 정보처리기사
- jsp
- hackerrank
- Til
- 성적프로그램
- algorithms
- 필기
- 서평
- Python
- If
- 미니프로젝트
- 2020년 정보처리기사 4회
- Real MySQL
- 주간회고
- 책리뷰
- 코드숨
- LeetCode
- 스터디
- java
- Jackson
- 함수형 코딩
- sqldeveloper
- 항해99
- 회고
- 뇌정리
- 2020년 일정
- git
- 알고리즘
- post
- Today
- Total
목록전체 글 (174)
조컴퓨터
- 톰캣처럼 서블릿을 지원하는 WAS 를 서블릿 컨테이너라고 함 - 서블릿 컨테이너는 서블릿 객체를 생성, 초기화, 호출, 종료하는 생명주기를 관리함 - 서블릿 객체는 싱글톤으로 관리됨 - 고객의 요청이 올 때마다 계속 객체를 생성하는 것은 비효율 - 최초 로딩 시점에 서블릿 객체를 미리 만들어두고 재활용 - 모든 고객 요청은 동일한 서블릿 객체 인스턴스에 접근 - 공유 변수 사용 주의* - 서블릿 컨테이너 종료시 함께 종료 - JSP 도 서블릿으로 변환되어서 사용 - 동시 요청을 위한 멀티 쓰레드 처리 지원 톰캣을 사용하기만 했지 싱글톤으로 돌아가고 있는줄은 몰랐다. 참고) 김영한 님의 '스프링 MVC 1편 - 백엔드 웹 개발 핵심'에서 서블릿
문서(document) - 단일 개념(파일 하나, 객체 인스턴스, 데이터베이스 row) - 예) /members/100, /files/star.jpg 컬렉션(collection) - 서버가 관리하는 리소스 디렉터리 - 서버가 리소스의 URI 를 생성하고 관리 - 예) /members 스토어(store) - 클라이언트가 관리하는 자원 저장소 - 클라이언트가 리소스의 URI 를 알고 관리 - 예) /files 컨트롤러(controller), 컨트롤 URI - 문서, 컬렉션, 스토어로 해결하기 어려운 추가 프로세스 실행 - 동사를 직접 사용 - 예) /members/{id}/delete 참고) 1. 김영한 님의 '모든 개발자를 위한 HTTP 웹 기본 지식'에서 모든 개발자를 위한 HTTP 웹 기본 지식 2. ..
API 설계 - POST 기반 등록 - 회원 목록 /members -> GET - 회원 등록 /members -> POST - 회원 조회 /members -> GET - 회원 수정 /members/{id} -> PATCH, PUT, POST - 회원 삭제 /members/{id} -> DELETE API 설계 - PUT 기반 등록 - 파일 목록 /files -> GET - 파일 조회 /files/{filename} -> GET - 파일 등록 /files/{filename} -> PUT // client 가 이미 파일 이름을 인지하고 있는 경우 - 파일 삭제 /files/{filename} -> DELETE - 파일 대량 등록 /files -> POST URI 가 계층 구조로 설계가 되기 때문에 개념적으로..
HTML 양식에 입력된 필드와 같은 데이터 블록을 데이터 처리 프로세스에 제공 - 예) HTML FORM 에 입력한 정보로 회원 가입, 주문 등에서 사용 게시판, 뉴스 그룹, 메일링 리스트, 블로그 또는 유사한 기사 그룹에 메시지 게시 - 예) 게시판 글쓰기, 댓글 달기 서버가 아직 식별하지 않은 새 리소스 생성 - 예) 신규 주문 생성 기존 자원에 데이터 추가 - 예) 한 문서 끝에 내용 추가하기 정리) 1. 새 리소스 생성 및 등록 - 서버가 아직 식별하지 않은 새 리소스 생성 2. 요청 데이터 처리 - 단순히 데이터를 생성하거나, 변경하는 것을 넘어서 프로세스를 처리해야 하는 경우 - 예) 주문에서 결제완료 -> 배달시작 -> 배달완료 처럼 단순히 값 변경을 넘어 프로세스의 상태가 변경되는 경우 -..

ncloud 서비스를 이용하게 된다면 acg 규칙을 설정해야 하는 일이 유지보수의 대부분일 것이다. acg 는 Access Control Group 의 약자이고, AWS 에서는 보안그룹(Security Group) 에서 ncloud 의 acg 규칙 설정 과정이 이루어진다. 해당 acg 는 classic 기반으로 만들어진 acg 인데, Default acg 그룹이 ncloud-default-acg 로 설정되어있다. 기본적으로 기업에서 서비스를 진행할 때, ncloud VPC 가 아닌 classic 에서 서비스가 이루어진다면 위의 ncloud-defualt-acg 를 모든 서버에 엮인 Default acg 로 두고 서버마다 Custom acg 를 각각 따로 관리하는 식으로 이루어진다. 여기서 TCP, UDP..

빈 스코프란? 스프링 빈이 스프링 컨테이너의 시작과 함께 생성되어서 스프링 컨테이너가 종료될 때까지 유지될 수 있는 것은 스프링 빈이 기본적으로 싱글톤 스코프로 생성되기 때문이다. 스코프는 번역 그대로 빈이 존재할 수 있는 범위를 뜻한다. - singleton: 기본 스코프, 스프링 컨테이너의 시작과 종료까지 유지되는 가장 넓은 범위의 스코프 - prototype: 스프링 컨테이너는 프로토타입 빈의 생성과 의존관계 주입까지만 관여하고 더는 관리하지 않는 매우 짧은 범위의 스코프이다. - request: 웹 요청이 들어오고 나갈 때까지 유지되는 스코프 - session: 웹 세션이 생성되고 종료될 때까지 유지되는 스코프 - application: 웹의 서블릿 컨텍스트와 같은 범위로 유지되는 스코프 프로토타..
데이터베이스의 연결 풀이나, 네트워크 소켓처럼 애플리케이션 시작 시점에 필요한 연결을 미리 해두고, 애플리케이션 종료 시점에 연결을 모두 종료하는 작업을 진행하려면, 객체의 초기화 종료 작업이 필요하다. 스프링 빈은 간단하게 다음과 같은 라이프사이클을 가진다. 객체 생성 → 의존관계 주입 스프링 빈은 객체를 생성하고, 의존관계 주입이 다 끝난 다음에야 필요한 데이터를 사용할 수 있는 준비가 완료된다. 따라서 초기화 작업은 의존관계 주입이 모두 완료되고 난 다음에 호출해야 한다. 그런데 개발자가 의존관계 주입이 모두 완료된 시점을 어떻게 알 수 있을까? 스프링은 의존관계 주입이 완료되면 스프링 빈에게 콜백 메서드를 통해서 초기화 시점을 알려주는 다양한 기능을 제공한다. 또한 스프링은 스프링 컨테이너가 종료..

조회해야 할 빈이 2개 이상이 되는 경우에 해당하는 이야기이다. - @Autowired 필드명 매칭 - @Qualifier → @Qualifier 끼리 매칭 → 빈 이름 매칭 - @Primary 사용 @Autowired 매칭 1. 타입 매칭 2. 타입 매칭의 결과가 2개 이상일 때 필드명, 파라미터명으로 빈 이름 매칭 @Qualifier 사용 - @Qualifier 는 추가 구분자를 붙여주는 방법이다. 주입시 추가적인 방법을 제공하는 것이지 빈 이름을 변경하는 것은 아니다. @Component @Qualifier("mainDiscountPolicy") public class RateDiscountPolicy implements DiscountPolicy {} @Component @Qualifier("fi..