Free Lines Arrow
본문 바로가기
728x90

전체 글381

[개발] 개발자 필독서 개발자 필독서 저는 서버 백엔드 개발자 입니다. 제가 읽었던 책 중에 개발에 도움이 되었던 책을 소개 하려고 합니다. 계속해서 추가해 나가겠습니다. 클린코드 이책은 어떻게 코드를 깔끔하게 만들것인가? 어떤코드가 더 좋은 것인가? 기존코드를 개선하는 방법 등 개발자에게 필수적인 내용을 담고 있습니다. 이책을 추천을 한 이유는 언어는 변해도 클린코드를 위해 고민하고 개선하는 습관은 크게 변하지 않는다 생각합니다. 저 역시 실무에 많은 도움이 되어서 추천 합니다. 이펙티브 자바 자바를 효과적으로 짜는 방법 자바로 개발을 하면서 주의해야 되는점들 메모리 누수, 타입이레이져 등 개념과 효과적인 자바코드를 위한 방법들을 가지고 있습니다. 이 역시 실무에 사용할 내용들이 많이 있습니다. 도메인 주도 개발 요즘 도메인.. 2023. 2. 20.
[HeadFirst] 커맨드 패턴 커맨드 패턴 커맨드 패턴을 쓰게 되면 작업을 요청한 곳과 작업을 처리하는 곳을 분리 할 수 있다. 커맨드 패턴에는 명령(command), 수신자(receiver), 발동자(invoker), 클라이언트(client)가 있다. 커맨드 객체는 일련의 행동을 특정 리시버와 연결함으로써 요청을 캡슐화한 것이다. 밖에서 볼 때는 어떤 객쳬가 리시버 역할을 하는지, 그 리시버가 어떤 일을 하는지 알 수 없습니다 - 그냥 execute0 메소드를 호출하면 해당 요청이 처리된다는 사실만 알 수 있습니다. 커맨드 패턴 수행과정 클라이언트가 커맨드 객체를 생성한다. - 커맨드객체에는 행동과 리시버의 정보를 가지고 있다. 클라이언트는 인보커 객체의 setCommand 메소드를 호출한다 - 이때 커맨드 객체를 같이 넘겨 준다... 2023. 2. 10.
[DB] LIKE 와 INDEX LIKE 와 INDEX 테이블에 row 가 많은 경우 우리는 인덱스를 걸어주어 조회 속도를 높인다. LIKE 같은 경우 조건에 따라 인덱스를 타는 경우도 있고 안타는 경우도 있다. 어떤 경우에 인덱스를 타고 안타는지 확인해보자. 조건에 따른 인덱스 타는 여부 인덱스를 타는 경우 WHERE name LIKE '안' - 문자가 일치 하는 데이터 검색 WHERE name LIKE '안%' - 문자의 시작과 일치하는 데이터 검색 인덱스를 타지 않는 경우 WHERE name LIKE '%안%' - 문자가 포함되는 데이터 검색 WHERE name LIKE '%안' - 해당 문자로 끝나는 데이터 검색 WHERE name LIKE %안% 왜 인덱스를 안탈까? 요인은 INDEX 의 자료구조가 B*TREE 이다. 인덱스를.. 2023. 2. 10.
[DB] Index 기본 인덱스 란? 원하는 데이터를 쉽게 찾을수 있도록 돕는 자료구조이다. 검색 조건에 부합하는 데이터를 효과적으로 빠르게 검색 할 수 있도록 돕는다. 하지만 인덱스 효율이 나쁘면 오히려 느릴 수 있다. 1개의 테이블에 인덱스가 많은면 CUD 작업시 부하가 발생 할 수 있다. - 이유는 저장 하거나 업데이트 할때 인덱스 값을 조정 해줘야 하기 때문이다. 인덱스의 자료구조 Hash 해시는 탐색 시간이 빠르지만 자료를 저장 할때 정렬이 되지 않는다. 당연한것이 해쉬 자료구조 이기 때문이다. DB 에서는 특정 범위를 검색하는 경우가 있는데 이에 적절하지 않아서 잘 사용하지 않는다. B * Tree DB 에서 가장 많이 사용하는 인덱스 구조이다. B * Tree 인덱스 란? DBMS 에서 사용되는 가장 일반적인 인덱스.. 2023. 2. 9.
728x90
반응형