Computer Science (11) 썸네일형 리스트형 [날카로운 질문하는 머쓱이] 웹 서버 최적화 방법 1. 웹 서버에서 메모리 캐시를 관리한다. : DB 정보를 매핑하고 사용자 인증에 시간이 소요될 수 있다. 따라서 응답 시간을 최적화 하기 위해 메모리 캐시를 사용하여 해당 정보를 저장할 수 있다. (메모리 캐시는 빠른 액세스를 위해 정보를 저장한다.) 2. 네트워크 제한 시간을 지정한다. : 네트워크 제한 시간을 지정함으로써 열려 있지만 stateless한 상태의 경우 사용자가 서버에 액세스하는 것을 방지할 수 있다. 따라서 열린 stateful 상태의 경우에 대한 응답 시간을 최적화 할 수 있다. 3. 사용할 스레드 수를 지정한다. : HTTP 요청은 스레드에 의해 처리되는데, 웹 서버가 처리할 수 있는 스레드 수를 지정하면 응답 속도를 최적화 할 수 있다. 4. 사용자가 HTTP POST 명령을 사.. [TIL] 기본키 자동 생성 전략 (GenerationType) 최근 프로그래머스 데브코스에서 JPA를 배우고 있다. Entity 및 Column을 생성하는 과정에서 기본키(PK)를 자동 생성해주는 여러가지 전략이 있었다. 어떤 전략들이 있고, 각각 어떤 경우에 쓰는 지 궁금해져서 알아보고 기록을 남긴다 ^~^ IDENTITY @Id @GeneratedValue(value = GenerationType.IDENTITY) private Long id; 기본키 생성을 데이터베이스에 위임한다. 즉, id 값을 넘겨주지 않아도(null) DB에서 자동으로 AUTO_INCREMENT 해준다. entityManager.persistt() 시점에 즉시 INSERT SQL을 실행하고 DB에서 식별자를 조회한다. (보통 commit 시점에 INSERT 실행) SEQUANCE @Id .. [날카로운 질문하는 머쓱이] 동기 방식과 비동기 방식 분명 동기와 비동기를 공부했었고, 머릿속으로는 알고 있는데 바로 글을 쓰기에는 어려웠다. 갑자기 질문이 나와도 대답할 수 있도록 반복적으로 공부해야겠다고 생각했다. 동기 (Synchronous) 작업 요청한 후, 작업의 결과가 나올 때까지 기다린 후 처리하는 방식이다. 특정 입출력 작업을 하기 위한 준비가 되었는지에 집중하고, 이벤트가 발생하면 그에 따른 적합한 처리를 한다. - 순차적으로 처리하면서 내려간다. - 비동기 방식에 비해 결과 값이 느리다. - 디버깅이 쉽다. 비동기 (Asynchronous) 작업 요청 후 다른 작업을 하다가 해당 작업이 완료되면 그에 따른 작업을 처리하는 방식이다. - 여러 로직이 동시에 처리된다. - 동기 방식에 비해 결과 값이 매우 빠르게 나타난다. - 다른 프로세스의.. 이전 1 2 다음