Skip to main content
Link
Menu
Expand
(external link)
Document
Search
Copy
Copied
Eager to Learn🌀
HOME
👩🏻💻Language
Java
· StringTokenizer 이해하기
· 클래스와 인스턴스 변수·클래스 변수·지역변수
· 기본형·참조형 매개변수와 Static Method
· Calendar class 정리
· 형식화 클래스 정리
· Time 패키지 정리
· 10진수를 2진수, 8진수, 16진수로 변환하기
· 배열을 복사하는 3가지 방법
· Static import
· Comparator 와 Comparable
· 프로젝트 경로 내 텍스트 파일 읽기
· JVM의 간략한 동작 과정
· JVM Class Loader(클래스 로더) 동작 과정
· JVM의 실행 엔진(Execution Engine) 구성 요소와 역할
· JVM 메모리 구조 (RunTime Data Area)
· 자바의 접근 제어자와 protected와 private는 왜 사용되는가?
· 람다식과 함수 인터페이스
· JAVA Stream API 특징
· JAVA for each 문의 특징
· JAVA Fail-Safe · Fail-Fast Iterator란?
· JAVA 동기화와 Synchronized
· JAVA volatile과 Atomic 변수 · CAS
· JAVA final 키워드의 역할
· JAVA String 클래스의 특징
· JAVA Wrapper Class 란?
· JAVA Call By Value vs Call By Reference?
· JAVA Interface와 Abstract Class에 대한 고찰
· JAVA 직렬화(Serialization)과 역직렬화(Deserialization)
· Java Generic 이란?
· Java Equals()와 == 의 차이
· Java Vector·Stack 대신 Deque를 사용하자
Spring
· @Controller 와 @GetMapping
· Getter and Setter / Optional.ofNullable / Assertions / AfterEach / assertThrows
· isEqualTo 와 isSameAs 차이점
· 스프링 빈 컨테이너(Bean Container)의 원리
· 싱글톤 방식과 컴포넌트 스캔
· 객체 지향 설계 SOLID 원칙
· ExecuteQuery() 메서드 분리하기
· Jdbc Template으로 쉽게 DB 활용하기
· API 활용 에너테이션 정리
· JdbcTemplate batchUpdate() 사용하여 대용량 데이터 입력 최적화
· Spring IoC와 DI, 그리고 DI 주입 방법
· Spring Weaving(RTW · PCW · CTW · LTW)의 특징
JPA
· JPA 기본 어노테이션과 EntityManager 메서드
· Persistence Context 와 변경감지
· JPA 객체 간 연관 관계 매핑
· JPA 프록시와 영속성 전이
· Querydsl 환경 세팅하기
· Querydsl 기본적인 쿼리문 작성하기
· Querydsl Join & 서브쿼리 & Concat
· Querydsl Projection 과 동적 쿼리
· JPA BaseEntity Auditing 적용
· Querydsl 사용자 정의 레포지토리 & 페이징
· QueryDsl를 이용한 쿼리 수와 실행시간 개선 여정기
· Spring Log4jdbc로 쿼리 실행 시간 측정하기
SpringBoot
· Spring Security를 이용한 회원가입 구현
· Jwts를 이용한 로그인 구현
· Jwt 토큰으로 특정 POST 접근 제한하기
· Spring Security & Jwts 흐름 정리
· Gradle 프로젝트 swagger-ui 적용
· Security Chain antMatchers 관련 Exception Handling
· Security Filter에서 발생하는 Exception 처리하기
· Security Chain Filter 포함해서 Controller Test 하기
· Controller 에서 요청 객체 변수 유효성 검사하기
· Jacoco 라이브러리로 테스트 코드 커버리지 개선하기
· Spring Security 소셜 로그인 로직 구현하기
· Redis를 활용해서 Refresh Token 구현하기
· Spring Boot Github 소셜 로그인 구현하기 (RestTemplate · WebClient)
· WebClient 테스트 MockWebServer vs WireMock
· @RequestParam 다이렉트로 Enum 타입으로 매핑하기
· Dto Validation 예외 처리를 AOP를 적용해 개선하기
· Request Dto에 있는 Enum 타입 필드 validation 예외처리 개선하기
· Redis로 사용자 인증 구현하기
· 이메일 전송 기능을 비동기 처리해서 응답속도 개선하기
· 메일 전송 기능을 EventHandler와 AOP를 적용해 개선하기
· Spring Boot MySQL Master-Slave 기능 구현하기
· Spring Boot AWS S3 에 파일 업로드 하기
FrontEnd
· HTML / CSS 기초
· JavaScript 기초
· axios post 요청 전달 시 authorization 토큰 인식 에러 해결
· javascript async vs defer 옵션
· Thymeleaf 기본 문법 정리
📚Learned
Algorithm
· Quick Sort(퀵 정렬)
· 유클리드 호제법 (최대공약수·최소공배수)
· 소수 구하기 (에라토스테네스의 체)
· 구간 합 알고리즘 (Prefix Sum Algorithm)
· 숫자 순열 사전식 다음 순서 찾기 & 모든 순열 조합 찾기 : 나라야나 판디트 알고리즘
DataBase
· 릴레이션 · 키의 특징과 종류
· 데이터 무결성 조건과 ERD
· 관계 대수(Relational Algebra)
· 릴레이션의 분석 지침
· 함수적 종속성과 정규화
· SQL JOIN(조인) 이해하기
· MySQL Replication Master-Slave 이중화 시스템 구현하기
자료구조
· 2진 탐색 트리(BST) 구현
· 세그먼트 트리 구현
HTTP
· IP · TCP · UDP 특징
· URI (Uniform Resource Identifier)
· HTTP의 특징과 구조
· HTTP 메서드의 특징
· HTTP 상태 코드
· REST API Tutorial
· HTTP 헤더
· 캐시와 검증헤더
· jwt 토큰 저장 위치 LocalStorage vs Cookie
Error
· 【Git】 user.name & user.email 변경 오류
· 【IntelliJ】 Java file outside of source root 오류
· 【IntelliJ】 Execution failed for task :test. 오류
· cmd를 이용해서 localhost 종료
· SQLException 에러
· WebMvcTest 중 NoSuchBeanDefinitionException 에러
· 【IntelliJ】 콘솔 창 한글 깨짐 에러
· Jwt 토큰 생성 시 에러
· pull 명령 시 denied: access forbidden 에러
· 스크립트 태그 상대경로 설정으로 인한 테마 에러
· 도커로 실행한 MySQL, command not found 에러
Git
· Git 기본 명령어 정리
· Git branch 기본 내용
· Git 원격 저장소 그리고 pull vs fetch
· Git Submodule을 이용해 환경변수 관리하기
Docker
· Git Bash로 Docker 설치하고 MYSQL 연결하기
· 데이터베이스 데이터 GetMapping 하기
· Docker 명령어와 볼륨
· crontab 설정을 통한 자동 업데이트 배포 pipeline 구축
· 도커 네트워크 & Bridge
· Dockerfile 최적화 작성 및 빌드
· Docker Compose와 Git Actions로 CI/CD 구현하기
· Docker Container에 exec sh -c command로 여러개의 명령 보내기
· Docker, 같은 Network로 연결되어 있을 경우, 컨테이너 간 통신
Network
· 네트워크의 정의와 장단점
· OSI · TCP/IP 모델과 캡슐화 · 역캡슐화
· 도메인 접속시 과정과 TCP/UDP의 특징
· SSL HandShake와 대칭키 · 비대칭키 방식
· TCP와 UDP의 특징은 무엇인가요?
· 3 Way Handshake와 4 Way Handshake는 무엇인가요?
운영체제
· 운영체제의 구조와 커널의 종류별 특징
· CPU의 구성과 버스의 종류
· 프로세스와 스레드의 차이
· CPU 스케줄러와 스케줄링 알고리즘
· 프로세스 간 통신과 임계구역
· 교착 상태(DeadLock)과 해결 방법
· 메모리 분할 시스템의 종류와 특징
· Managed · UnManaged 언어의 특징
· Race Condition과 Mutex · Semaphore
· 운영체제란?
· 커널이란?
TIP
· FileReader 시 한글 깨짐 해결
· JPA 쿼리 파라미터 로그 남기기
· @NotEmpty 사용을 위한 라이브러리 추가
· 스프링 부트 라이브러리 버전 선택 팁
· MockedStatic을 사용해 static method 테스트 코드에 적용하기
· NCP 서버 생성 후 접속하기
· AWS S3 IAM 사용자 계정 생성 및 엑세스 키 발급받기
🤖Project
· 전국 병·의원 데이터 웹 페이지 만들기 미니 프로젝트
· SNS 웹 페이지 구현 프로젝트
· 팀원들과 함께 만들어본 코드 컨벤션과 커밋 규칙
✍🏻회고
· 22년 8월 회고
· 22년 9월 회고
· 22년 10월 회고
· 22년 11월 회고
· 22년 12월 회고
· 23년 1월 회고
· 23년 2월 회고
🏠 Home
📚Learned
자료구조
Table of contents
· 2진 탐색 트리(BST) 구현
· 세그먼트 트리 구현