TIL icon indicating copy to clipboard operation
TIL copied to clipboard

하루하루 얻은 지식을 차곡차곡 🧬🧪

Java, Object-oriented

  • 절차지향, 객체지향의 차이
  • 생성자란?
  • IS-A 관계란?
  • JVM 이란?
  • JVM-JRE 그리고 JDK 차이점
  • POJO 란?
  • Stream API란?
  • Lambda란?
  • 멀티스레드란?
  • Optional이란?
  • 싱글톤 패턴이란?
  • OCP 개방폐쇄의원칙
  • 직렬화란?
  • GC 이해하기
  • Lambda Expression
  • Functional Interface
  • HashMap을 효과적으로 사용하는 방법
  • 무조건 빌더 패턴을 사용해야 하는 이유
  • 기본 생성자가 필요한 이유
  • 래퍼 클래스란?
  • 제네릭의 이해
  • 자바 컬렉션 정리
  • JVM 구조와 자바 런타임 메모리 구조
  • CompletableFuture 자바 비동기 프로그래밍
  • ClassLoader 자세하게 파해치기
  • 바이트코드를 조작해보기
  • 자바 리플랙션
  • 나만의 @애노테이션 만들기
  • java 리플랙션을 사용해 DI 구현하기
  • java 메소드 레퍼런스
  • java 인테페이스 기본 메서드와 스태틱 메서드
  • java 8 API의 기본 메서드와 스태틱 메서드
  • checked-exception unchecked-exception
  • java thread 완벽하게 알고가자
  • java Executors
  • java Callable과 Future
  • java CompletableFuture과 callback
  • java 배열의 깊은 복사와 얕은 복사
  • 제네릭의 활용
  • impl Comparable<>, @Override compareTo()
  • java number를 intArray로 convert 하는 방법
  • java arrayList item 중복 제거를 하는 방법
  • java 참조형 변수
  • 상속관계에서의 lombok @Builder 사용
  • Immutable:: java StringBuilder를 쓰는 이유
  • Java는 Call By Value만 있다

Backend

  • SOA 그리고 MSA
  • BEST HTTP Authorization header type for JWT
  • jwt 의존성 중복으로 인한 기이한 에러
  • sentry로 로깅 시스템 구축하기
  • 지금의 REST API는 REST를 따르고 있지 않다.
  • 높은 응집도와 낮은 결합도

Design Pattern

  • 디자인 패턴
  • 싱글톤 패턴
  • 스트래티지 패턴

Springboot

  • TDD란
  • Swagger 연동 방법
  • Spring에서 사용하는 어노테이션
  • Springboot 동작원리
  • springboot JUnit5 MockMvc Test
  • springboot @Async 는 어떻게 동작하는가?
  • springboot bean은 기본적으로 singleton으로 관리된다고?
  • 자바 싱글톤 vs 스프링 싱글톤
  • spring mvc lifecycle
  • 스프링 빈 순환참조 오류
  • 내 springboot 에 ehcache를 적용해보자!
  • spring DI(Dependency Injection)은 어떻게 동작할까?
  • Spring Bean Life Cycle
  • @NoargsConstructor(AccessLevel.PROTECTED) 와 @Builder
  • springboot app request client ip 가져오기
  • 장애회고, HikariCP connection error
  • spring application을 운영할 때 고려해야 security
  • 사랑해요❤️ modelMapper
  • DispatcherServlet이 대체 뭐하는 녀석인가
  • 빈 생명주기 콜백
  • 스프링은 싱글톤 컨테이너
  • @Configuration과 바이트코드 조작의 마법
  • @Autowired 필드 명, @Qualifier, @Primary
  • 빈 스코프 - 프로토타입 스코프
  • 프로토타입 스코프 - 싱글톤 빈과 함께 사용시 문제점
  • Spring REST docs 도입하기
  • Gradle, jar에 html 파일들을 생성하는 방법
  • testing configuration error found multiple declarations of @BootstrapWith
  • Gradle 6 to 7
  • Spring PSA 기술을 통해 static method를 쉽고 빠르게 테스트 하다.
  • Spring Persistence Context 그리고 Transactional

Computer Science

  • 인터프리터언어 | 컴파일언어
  • Just In Time 컴파일이란?
  • 동기, 비동기 | 블록킹, 논블로킹
  • Nginx가 Apache 보다 좋은 성능을 내는 이유
    • PCB & IPC & Context Switching
    • I/O Multiplexing

Algorithm

  • 정렬
    • 선택정렬
    • 버블정렬
    • 삽입정렬
    • 카운팅정렬
    • 깊이 우선 탐색 DFS

Git, Commands

  • 엎질러진 github 명령 취소하기
  • github 라이센스 알아보기
  • mysql 초기화 하는 방법

DevOps

  • CICD
  • 온프레미스, 오프프레미스
  • AWS EC2 제대로 알기
  • AWS Route53 제대로 알기
  • AWS EC2 직접 사용해 본다
  • Docker란?
  • 내 애플리케이션에 HTTPS 프로토콜 적용하기
  • 50x 에러 해결하기
  • RDS can't connect 에러 해결하기
  • nohup 사용하기
  • Ubuntu 서버에 내 애플리케이션 올리기
  • 내 springboot application docker image화 시키기
  • docker-compose란?
  • springboot에 dockerfile 설정하기
  • 클라우드 서비스 이해하기 IaaS, PaaS, SaaS
  • xx.com의 리다이렉션 횟수가 너무 많습니다.
  • notion 사이트 내 도메인이름으로 타겟팅 하기
  • 학교가불편한순간 v1.1.1에서 마주한 트러블슈팅
  • 20명 정도 되는 규모의 팀에 Vault 도입하기

Network

  • URI 란?
  • PaymentGateway 란?
  • HTTP API 란?
  • puppeteer 란?
  • 프록시란?
  • 웹 생태계의 스팩
  • cache 란?

모든 개발자들을 위한 HTTP

  • 인터넷 네트워크
    • 인터넷 통신
    • IP(인터넷 프로토콜)
    • TCP-UDP
    • PORT
    • DNS
  • URI와 웹브라우져의 요청 흐름
    • URI
    • 웹브라우져의 요청 흐름
  • HTTP 기본
    • 모든 것이 HTTP
    • HTTP 메서드
    • HTTP 메서드 - PUT, PATCH, DELETE
    • HTTP 메서드의 활용
  • HTTP 상태코드
    • HTTP 상태코드 소개
    • 2xx 성공
    • 3xx 리다이렉션
    • 4xx 클라이언트 에러
    • 5xx 서버 에러
  • HTTP 헤더 1 - 일반 헤더
    • HTTP 헤더 개요
    • 표현

DataBase, JPA, SQL

  • GraphQL 이란?
  • JPQL
  • h2DB
  • Elastic Search
  • JPA can't return 2 result 오류
  • 상속관계 매핑이란?
  • 다양한 JPA findBy 메서드
  • JPA 엔티티 매핑 방법
  • JPA 연관관계 주인
  • Querydsl 이란?
  • transaction이란?
  • querydsl 사용시 주의하기
  • 영속성 컨텍스트
  • Flush
  • ddl-auto 와 hbm2ddl.auto
  • 왜 Hibernate orm column이 WrapperClass일까?
  • SQLD 한번에 보기
  • 나는 왜 JPA를 쓸까
  • 그냥 우리 N+1 그냥 맞닥뜨리자
  • 알고나면 화를 유발하는 JPA 오류 모음
  • maven에 querydsl 설정하기
  • 더모먼트팀 every-moment 쿼리 성능 개선사례

Grammar

  • 파라미터 | 인자
  • 동기 | 비동기

library

  • SDK 란?
  • SOLID 원칙
  • 시간복잡도

Methodology

  • Test Driven Development
  • 러닝커브 이겨내기
  • 애자일한 조직문화
  • 애자일이란?
  • 스타트업 용어 정리

Extra

  • nest 빠르게 환경 구성하기
  • 지환아 백엔드 기술면접 이정도는 대답 하자.
  • Node 잘 안쓰는 사람들이 갑자기 쓰게 되면 겪을 수 있는 에러 대처법