본문 바로가기

반응형
SMALL

Computer Science

(28)
[날카로운 질문하는 머쓱이] 동등성 보장 동등성은 equals 메서드를 통해 논리적으로 같은 지위를 가졌는지를 판단하는 것이다. 즉, 사용자가 지정한 기준의 값이 같을 때 같다고 말할 수 있는 것이다. 이러한 동등성을 보장하기 위한 방법은 아래와 같다. 1. equals 메서드 재정의 같다의 기준이 되는 논리적 지위는 사용자가 요구사항에 맞춰 잘 재정의 해야 한다. 2. hashCode 메서드 재정의 Hash Table을 사용하는 자료형에서는 자료의 존재를 확인하기 위해 해싱 알고리즘을 사용한다. 그 과정에서 객체의 주소 값을 확인하는데, 동등성을 지니는 두 객체의 주소 값은 서로 다르기 때문에 이 과정에서 동일성 보장이 깨지게 된다. 따라서, equals 메서드와 함께 hashCode 메서드도 equals에서 재정의한 동등성의 기준 값으로 함..
[날카로운 질문하는 머쓱이] 웹 서버 최적화 방법 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) 작업 요청 후 다른 작업을 하다가 해당 작업이 완료되면 그에 따른 작업을 처리하는 방식이다. - 여러 로직이 동시에 처리된다. - 동기 방식에 비해 결과 값이 매우 빠르게 나타난다. - 다른 프로세스의..

반응형
LIST