Mapper 클래스를 따로 두는 이유
정적 팩토리 메서드 패턴을 활용할 때 나는 일반적으로 도메인 클래스 안에 다가 넣어두었다. 그렇게 하면 코드를 읽을 때 훨씬 심플하기 때문이였다. 1Response.from(Something something) {} Something 으로 부터의 Response 객체 라고 확 읽혀진다. 근데 문제점이 있었으니. 기본적으로 static으로
정적 팩토리 메서드 패턴을 활용할 때 나는 일반적으로 도메인 클래스 안에 다가 넣어두었다. 그렇게 하면 코드를 읽을 때 훨씬 심플하기 때문이였다. 1Response.from(Something something) {} Something 으로 부터의 Response 객체 라고 확 읽혀진다. 근데 문제점이 있었으니. 기본적으로 static으로
도커 활용하여 elasticsearch 설치 1docker run -d -p 9200:9200 -p 9300:9300 -it -h elasticsearch --name elasticsearch elasticsearch:7.9.3 버전 명시를 안하니까 docker hub 에서 이미지가 pull 이 안되었다. 1docker search elasticsear
Program.명령어, 코드 및 정적인 데이터의 묶음 Process실행 중인 Program운영체제로부터 시스템 자원을 할당 받는 작업의 단위. 프로세스의 4개의 메모리 영역stack -> 매개변수, 지역변수heap -> 동적으로 할당되는 메모리data -> 정적 변수, 상수 (jvm에서 method 영역)text -> 프로그램의 코드
TCP (Transfer Controler Protocol)UDP (User Datagram Protocol)전송계층 - 엔드 포인트간에 신뢰성있는 데이터 전송을 담당하는 계층.신뢰성 - 데이터를 순차적, 안정적인 전달. 전송 - 포트 번호에 해당하는 프로세스에 데이터를 전달.포트 번호에 맞는 프로세스를 찾아준다는 것. 이게 전송계층이 해주는 일이였구나.
튜닝의 시작 XPLAN을 통해서 실행 계획 일기. 12345SELECT *FROM HR.EMPLOYEESWHERE EMPLOYEE_ID LIKE '2%';SELECT * FROM TABLE(DBMS_XPLAN.DISPLAY_CURSOR(null, null, 'ALLSTATS LAST')); -> 이거가
데이터 베이스 -> 로그 스태쉬 -> 엘라스틱 서치 -> 키바나 엘라스틱서치는 jvm 위에서 동작하기 때문에 jdk 8 이상 있어야한다. 엘라스틱서치는 역색인 기능 덕분에 검색의 기능 관점에서는 RDB보다 훨씬 빠르다. 123456Elastic Search Relational DBIndex
캐쉬의 구조 2가지 형태 Look aside Cache메인은 DB이고 DB에서 캐쉬로 데이터를 가져와서 저장. 캐쉬에 데이터가 있으면 캐쉬 데이터를 사용하여 성능을 개선하고 없으면 디비에서 가져와서 다시 캐쉬에 저장.일반적인 구조 Write back캐쉬에 데이터를 특정기간 동안 먼저 저장하고 캐쉬에 있는 데이터들을 디비에 저장.휘발할 수 있는 가능성 있
Test Code 작성시 Mocking을 위해서 Matcher 클래스는 유용하게 사용되는데. 파라미터가 여러 개 들어갈 경우. 실제 값과 any를 활용한 값이 섞여서 전달되면 정상적으로 Mocking이 되지 않는다. Matcher 클래스를 쓴다면 모든 파라미터 값을 Matcher 클래스의 형태로 제공되어야 한다. 두번째로 null 객체를 넣고 싶을 때에는
Atomicity(원자성) : DBMS는 완료되지 않은 트랜잭션의 중간 상태를 데이터베이스에 반영해서는 안 된다. ‘all or nothing’ Consistency(일관성) : Isolation(독립성) : 여러 트랜잭션이 동시에 수행되더라도 각각의 트랜잭션은 다른 트랜잭션의 수행에 영향을 받지 않고 독립적으로 수행되어야 한다. Dur