- (1) 업무 및 스터디에서 학습한 내용 정리
- (2) 학습한 내용의 출처는 반드시 남겨서 다시 확인할 수 있도록 하기
- (3) 깔끔하게 정리하지 못 하더라도 꾸준히 메모 조각이라도 남기기
- 클린 코드
- 이펙티브엔지니어
- 코딩인터뷰 완전분석
- 컴퓨터시스템
- 면접을 위한 CS전공지식노트
- 운영체제 아주 쉬운 세 가지 이야기
- 이펙티브자바
- 헤드퍼스트 디자인 패턴
- 컴퓨터 밑바닥의 비밀
- 김영한 로드맵 1 : 스프링 핵심원리 기본편
- 스프링 트랜잭션
- Exception 발생 시 익셉션을 어떻게 처리하는지(sysException, bizException 핸들링 확인하기) -> @ExceptionHandler와 @ControllerAdvice 이해하기
- XSSFilter, SessionFilter 처리 및 디버깅 화면에서 확인 가능한 "http-nio-18080-exec-3"@12,136 in group "main" : RUNNING은 스레드의 상태와 관련된 정보
- http-nio-18080-exec-3는 스레드명, 12,136은 메모리 주소, "main" 그룹에 속한 스레드
- @Service(경로) 를 살펴봐야 서비스 빈이 어디에 등록되었는 지 확인할 수 있음. 간혹 위치를 옮긴 파일들이 있어서 실제 경로와 다를 수 있음
- @SuppressWarnings("rawtypes") 를 사용하는 이유? 제너릭을 사용하는 클래스 매개 변수가 불특정일 때의 경고
- 크론표현식(배치)
- 롬복 val 사용하기
- 롬복 실무 사용법
- 컴파일이 된 코드를 보고 싶다면, target(maven)/build(gradle)의 동일한 위치로 가면 컴파일된 자바 파일을 확인할 수 있음
- 다양한 생성자 주입과 현재 스프링 추세
- SpringBoot Async 처리 기본
- 비동기 처리 시 주의해야 할 점
- 실무 Lombok 사용 시 주의사항
- 리눅스 명령어 통해 서버 올리기, 내리기
- tail -f : 실시간 로그 보기
- 실시간 로그를 볼 때 tail -f "로그파일명" >> tmp.log : 명령어로 열면 tmp.log에 내가 연 시점부터 저장됨
- :set nu : 라인 표시
- MobaXTerm 설치 및 사용법
- DB한눈에 보기
- 오라클 결합 인덱싱 : 결합 인덱스에서 열의 순서는 매우 중요하다. 인덱스는 첫 번째 열부터 정렬되고 검색되기 때문에, 자주 사용되는 조건 또는 필터링 조건에 따라 순서를 정해야 한다. 만약, SELECT 문의 WHERE절에 결합 인덱스의 첫 번째 컬럼을 조건에 사용하였다면 결합문을 사용할 수 있지만 결합 인덱스의 두번쨰 컬럼만을 WHERE 절에 조건으로 사용하고 결합 인덱스를 사용하려하면 실행계획은 인덱스를 사용하지 못 한다
- MyBatis를 사용할 때, 데이터베이스에서 조회해온 결과가 모든 칼럼에 대해 null인 경우, 기본적으로 매핑 대상인 VO(Value Object)가 생성되지 않습니다. 이는 MyBatis가 결과 집합을 매핑할 때, 각 컬럼의 값을 VO의 필드에 설정하고, 만약 모든 값이 null이면 VO 인스턴스를 생성하지 않는 동작 때문
- 오라클에서 서브쿼리에 Order By, ROWNUM을 쓰려면 Order By를 처리한 후에 ROWNUM 처리를 해줘야한다
- 오라클 SELECT은 WITH, UPDATE는 MERGE INTO USING을 사용(merge into using문은 for문 돌면서 if문이라고 생각하면됨)
- Mybatis IN 구문을 쓰고 싶다면 FOR EACH를 써야함, 조건 IN #{LIST} 형태로 주면 타입핸들러 에러 발생
- ORA-01653 : TableSpace에서 확장 할 수 없습니다. => 테이블 스페이스 확인 후, 처리해줘야함
- 싱글톤 패턴
- 옵저버 패턴
- 데코레이터 패턴
- 팩토리 패턴
- 플라이웨이트 패턴
- 유지보수를 고려한 유연한 팩토리 구현
- Cypress 테스트
- FailOver
- 인텔리제이 Update resources / Update classes and resources / Hot swap classes / Redeploy / Restart server
- 인텔리제이 디버깅
- shift + alt + 숫자 (북마크 후 코멘트)
- shift + f11 (북마크 모아보기)
- 인텔리제이 LIVE TEMPLATE 기능을 이용하면, 필요한 코드 자동완성을 사용할 수 있음(SELECT를 할 때 항상 포함되어야 하는 조건이 존재한다면 LIVE TEMPLATE에 등록해두고 명령어 입력시 자동완성)
- 인텔리제이 기본 인코딩은 x-windows-949인데 서버 방식이 UTF-8이면 로컬에서 인코딩 방식이 달라 에러가 발생함(-Dfile.encoding=UTF-8 설정을 해줘야함)
- 인텔리제이 .properties 파일 한글이 다 깨지는 이유와 해결 방법
- ICMP 와 IP, 디도스
- OSI 모델
- OSI 7계층
- 리그오브레전드 디도스 체험하기
- 전선을 통한 데이터 송수신 심화
- ICMP ping 응답이란?
- Ping, telnet, curl
- Ping, TCP, UDP, Three-Way Handshake (What are these and how do they work)
- API Polling 말고 방법이 없나? Webhook의 등장
- 요청이 너무 많아서 API 호출이 안된걸까.. 문제의 원인이 뭐지(FAILOVER)
- API 요청 만들 때, Header에 있는 것들 담아보내기(Cookie, Accept-Encoding, Content-type 꼭 확인)
- API 요청 시, 헤더와 바디의 구분은 개행문자 2번(빈줄)
- 좋은리팩토링vs나쁜리팩토링
- Go를 모르는 취준생의 GopherCon Korea 2023 오프라인 참석 후기
- 제2회 카카오Tech Meet 짧은 후기
- 2024 Frontend Korea