gornn blog


오랜만에 프로젝트를 진행하며, 내린 설계 결정과 막혔던 문제들

2026-07-01 - AI 기반 식단·운동 습관 플랫폼 '얌얌키우기'를 개발하며 내린 아키텍처 설계 결정과 그 trade-off, 그리고 도메인 간 순환 의존성·스트릭 생성 방식·외부 API 인코딩 등 기술적으로 막혔던 문제와 해결 과정을 정리한다.

오랜만에 프로젝트를 진행하며, 이전과 달라진 점과 앞으로 시도할 것

2026-07-01 - 이번 학기 관통 프로젝트를 진행하며, 이전과 달라진 점과 앞으로 시도할 것에 대해 회고한다. 이번 프로젝트는 AI를 활용한 개발 경험을 통해 얻은 교훈과 앞으로의 목표를 정리하는 글이다.

웹에서 이미지를 다룰 때 알아야 할 것들

2026-04-19 - Raster와 Vector 이미지의 차이를 알아보고, 웹에서 이미지를 빠르고 안전하게 제공하기 위한 로딩, 압축, 변환, CDN 전략을 정리합니다.

Java 설계자는 왜 List<Dog>을 List<Animal>로 받지 못하도록 했을까?

2026-01-25 - 자바의 제네릭은 불변성(invariance)을 가진다. 그 이유는 자바가 제네릭을 동질 번역(homogeneous translation)하기 때문이다. 이번 포스트에서는 제네릭의 불변성에 대해 알아보고, 자바가 제네릭을 동질 번역하는 이유를 살펴본다.

자바의 Lambda와 함수형 인터페이스 이해하기

2025-11-07 - 자바의 Lambda 표현식과 함수형 인터페이스에 대해 설명합니다. 컴파일러는 람다의 타입을 어떻게 추론하는지, 람다와 메서드 참조를 활용하여 코드를 간결하게 만드는 방법을 알아봅니다.

시간 제한이 있는 테스트 메서드를 알아보자

2025-10-26 - junit5의 시간 제한 테스트 메서드인 assertTimeOut과 assertTimeoutPreemptively를 설명합니다. 그리고 Scanner가 빈 문자열을 입력받지 못하는 이유를 설명합니다.

Spring Security의 큰그림

2025-10-05 - 자바 기반 WAS의 구조를 이해하고, Spring Security의 구조에 대해 설명합니다.

내 프로젝트에 100만명의 사용자가 몰려든다면.!

2025-09-30 - 트래픽이 증가함에 따라 변경되는 서버의 아키텍처에 대해 설명합니다. 로드밸런서, CDN, DB Replication, Messaging Queue에 대해 간략히 살펴봅니다.

HashMap vs TreeMap

2025-09-22 - 자바의 HashMap과 TreeMap의 차이점을 정리합니다. 시간 복잡도, 메모리 사용, 정렬 여부 등 특징을 비교하고 어떤 상황에서 적합한지 알려드립니다.

FCM(Firebase Cloud Messaging)을 알고 계신가요

2025-07-21 - Firebase Cloud Messaging의 개념과 활용법