본문 바로가기
728x90

전체 글86

1. 생성자 대신 정적 팩토리 메서드를 고려하라 * 다음과 같이 public 생성자 대신(or 함께) 정적 팩토리 메서드를 제공할 수 있습니다. Class Coffe{ private String name; private int price; public Coffee(String name, int price){//생성자 this.name = name; this.price = price; } public static Coffee Americano(){//정적 펙토리 메서드 return new Coffee("Americano", 4100); } public static Coffee Latte(){ return new Coffe("Latte", 4800); } } 장점 1. 이름을 가질 수 있어 반환될 객체의 특성을 쉽게 묘사할 수 있습니다. 2. 호출될 때마.. 2021. 8. 22.
DynamoDB? 특징 1. 배포가 단순하고 신속하다. 2. 단순한 인터페이스의 조작만으로 규모를 확장시키기 수월하다. 3. 데이터의 순실을 방지하기 위해 데이터 베이스를 자동으로 백업한다. 4. 규모가 증가하고, 장애가 나도 일관적인 응답시간을 보여준다. 5. NoSQL, 보조 인덱스를 통해 빠른 조회가 가능 사용 1. 데이터베이스를 확장하거나, 확장하는 과정에서 분산된 데이터베이스를 관리하기에 힘든 경우 사용 2. 트랜잭션, JOIN과 같은 복잡한 테이블 데이터 처리과정이 있는 경우 적합하지 않음 3. 스키마가 정해져 있지 않고 비정형적인 데이터를 저장하는데 유용하다. 4. AWS의 Region별로 데이터를 가용영역 3곳에 복제하여 저장하여 하나에 장애가 발생하여 정지하더라도 DB를 정상적으로 사용이 가능 5. 트래픽.. 2021. 7. 6.
Connection pool? Connection pool? : 프로그램에서 요청이 오면 미리 pool에 생성해둔 Connection 객체를 가져다쓰고, 완료시 pool에 반환하는 프로그래밍 기법 DBCP 특징 웹 컨테이너가 실행되면서 connection 객체를 미리 pool에 생성해 둔다. HTTP 요청에 따라 pool에서 connection객체를 가져다 쓰고 반환한다. 이와 같은 방식으로 물리적인 데이터베이스 connection 부하를 줄이고 연결 관리 한다. pool에 미리 connection이 생성되어 있기 때문에 connection을 생성하는 데 드는 요청마다 연결 시간이 소비되지 않는다. 커넥션을 계속해서 재사용하기 때문에 생성되는 커넥션 수를 제한적으로 설정함 장점 불필요한 작업(커넥션 생성, 삭제)가 사라지므로 성능향상.. 2021. 7. 6.
쿠키 vs 세션 ? 쿠키 ? : 클라이언트 로컬에 저장되는 키와 값이 들어있는 작은 데이터 파일 특징 ? 1. 클라이언트의 상태 정보를 로컬에 저장했다가 참조 2. 클라이언트에 300개까지 쿠키 저장 가능 하나의 도메인당 20개의 값만 가질 수 있고 하나의 쿠키값은 4KB까지 저장 3. 사용자가 요청하지 않아도 브라우저가 Request시 Request-Header를 넣어 자동으로 서버에 전송 동작 세션? : 사용자의 정보 파일을 서버측에서 관리 (쿠키를 사용) 특징 1. 각 클라이언트에 세션 ID를 부여 2. 세션 ID로 클라이언트를 구분하여 클라이언트의 요구에 맞는 서비스를 제공 3. 사용자가 많아질수록 서버 메모리를 많이 차지하게 됨 동작 쿠키와 세션을 사용하는 이유? : HTTP 프로토콜의 클라이언트가 요청을 한 후 .. 2021. 7. 6.
728x90