👤 About Me

이우진 (Woojin Lee)

Backend Developer | Full-Stack Enthusiast

코드로 문제를 해결하고, 팀원에게 이해하기 쉽게 도식화로 공유하고, 지속적으로 성장하는 개발자입니다.

📜 자격증
정보처리기사 SQLD PCCP Lv.1
🏆 수상
슈퍼코딩 베스트 프로젝트상 라인트레이서 2위 (2회)
🎓 교육
성결대학교 정보통신과 슈퍼코딩 부트캠프

📅 타임라인

2025

2025.03 ~ 2025.12

✈️ 항공기 회피 시스템 개발

한국연구재단 프로젝트 | 풀스택 개발

2025.09

📜 정보처리기사 취득

국가기술자격

2024

2024.12 ~ 2025.12

🏢 엔피코어 연구기획실

풀스택 개발

2024.12

🗄️ SQLD 취득

SQL 개발자 자격증

2024.10 ~ 2024.11

📚 KBookmark 개발

Spring Boot, Next.js 기반 북마크 플랫폼

2024

💻 PCCP Lv.1 취득

프로그래머스 코딩역량인증

2024.04 ~

☕ Koreano 개발

MSA 기반 커피 E-Commerce 플랫폼

2023

2023.10

🏆 슈퍼코딩 베스트 프로젝트상

3차 프로젝트 수상

2023.08 ~ 2023.09

🍜 Han-Yip-Man 개발

배달 E-Commerce 플랫폼 | 주문 파트

2023.08

🛒 보드게임 E-Commerce 개발

회원/인증/인프라 파트

2023.06 ~ 2023.11

🎓 슈퍼코딩 부트캠프

백엔드 개발 과정 수료

2023.08

🎓 성결대학교 졸업

정보통신과

2022

2022.03 ~ 2022.08

☕ 무인카페 STANDER 개발

졸업 프로젝트 | QR 입장 시스템

2021

2021.05

🥈 라인트레이서 대회 2위

성결대학교

2020

2020.11

🥈 라인트레이서 대회 2위

성결대학교

2017

2017.02

🎓 성결대학교 입학

정보통신과

2026 📝

2026.02.02

📝 첫 글 - Hugo 블로그 시작하기

블로그를 시작합니다! 안녕하세요! 이우진입니다. Hugo와 PaperMod 테마를 사용하여 …

2024 📝

2024.06.20

📝 [SpringBoot] ThreadLocal을 활용한 인증관리

개요 Spring Boot는 스레드 풀을 통해 요청에 맞는 스레드를 할당합니다. 인증된 사 …

2024.06.20

📝 [SpringBoot] In-Memory 환경 Memory Leak

InMemory 인증번호 관리 회원가입 시 휴대폰 번호로 인증번호를 전송하고 인증번호를 통 …

2024.06.03

📝 BeanPay Detail 삭제 이유

변경 전 테이블 구조 기존에는 BeanPayDetail과 PaymentDetail이 분리되 …

2024.04.30

📝 락 선택 이유와 성능 테스트

개요 이 포스트는 세 가지 동시성 제어 방식의 성능을 비교합니다: 락 없는 트랜잭션, …

2024.04.28

📝 Reflection 메소드 매개변수 필드명이 arg0, arg1로 나오는 문제 해결

메소드 필드명이 필요했던 이유 AOP를 이용해 다양한 곳에서 유연하고 범용성 있게 사용하기 …

2024.04.19

📝 Github Actions와 AWS CodeDeploy를 활용한 CI/CD 구축

해야할 일 S3 버킷 생성 S3 접근 키 생성 EC2 생성 EC2 규칙 생성 (보안그룹) …

2024.04.17

📝 코리아노 BeanPay 고민

빈페이로 결제하게 된 이유 내부 결제 로직과 외부 API 충전 기능을 분리함으로써 외부 …

2024.02.29

📝 TreeSet의 구조와 Comparator 주의사항

TreeSet 구조 TreeSet은 필드로 NavigableMap 인터페이스를 가지고 있으 …

2024.02.05

📝 해시(Hash) 자료구조와 충돌 회피 기법

해시 자료구조는 16자리의 번호의 일부분을 index로 사용하는 자료구조입니다. 해시 함수 …

2023 📝

2023.12.20

📝 이펙티브 자바 - 다 쓴 객체 참조를 해제하라

다 쓴 객체 참조를 해제하라 JDK 8버전 Stack 코드 문제점 public class …

2023.12.17

📝 [SpringBoot] Spring Batch 이용권 만료

스프링 Batch 구조 Spring Batch는 Job, Step, Reader, …

2023.12.16

📝 [SpringBoot] 스프링 배치란?

Spring Batch란 일괄처리를 위한 오픈 소스 프레임워크입니다. SpringBatch …

2023.11.28

📝 Java 동적 프록시 (Dynamic Proxy) 이해하기

프록시의 문제점 프록시는 기존 코드에 영향을 주지 않으면서 타깃의 기능을 확장하거나 접근 …

2023.11.09

📝 Java GC (Garbage Collection) 이해하기

GC란? 프로그램이 동적으로 할당했던 (heap 영역) 메모리 영역 중 필요 없게 된 영역 …

2023.11.03

📝 HTTP/1.0, HTTP/1.1, HTTP/2의 특징과 차이점

HTTP(Hyper Text Transfer Protocol)는 7계층을 대표하는 프로토콜 …

2023.11.02

📝 IP 프로토콜의 이해 - IPv4, 클래스, DHCP, NAT

IP(Internet Protocol)은 송신 호스트와 수신 호스트가 패킷 교환 네트워크에 …

2023.10.29

📝 Github Desktop으로 PR 전송하기까지 절차

깃 저장소의 전체 구조 회사 원격 저장소 Fork 하기 check 표시를 해제해 줘야 …

2023.10.29

📝 주문내역을 내려줄 때 가격 멱등성에 대한 고민

🤔 Problem 기존 제육 1000원 제육 가격 2000원으로 인상 결제했을 때와 주문내 …

2023.09.16

📝 백준 1430번: 공격 - BFS로 네트워크 에너지 전달 문제 풀이

문제 링크 백준 1430번 공격 문제 설명 해당 문제는 적이 존재하고 타워에서 사정거리 안 …

2023.07.19

📝 프레임워크와 라이브러리의 차이

라이브러리란? 라이브러리는 특정 기능을 수행하는 코드의 집합입니다. 개발자가 필요할 때 호 …

2023.07.07

📝 정적 팩토리 메소드의 장단점

들어가며 오늘 이펙티브 자바를 읽으면서 정적 팩토리의 장점에 대해서 읽는데 뭔가 체감이 되 …

2023.07.05

📝 [인증/인가] JWT토큰 생성 과정과 원리에 대해서

JWT토큰이란? JWT(JSON WEB TOKEN)은 당사자 간에 정보를 JSON 개체로 …

2023.06.29

📝 프로그래머스 택배상자 - Stack 활용 문제 풀이

문제 링크 프로그래머스 택배상자 간단한 문제 설명 메인 컨테이너 벨트를 타고 상자들이 순서 …

2023.05.15

📝 프로그래머스 프렌즈 4블록 - 2x2 블록 제거 시뮬레이션

문제 정의 2x2 블록 안에 같은 문자열이 존재할 때 블록을 삭제하여 삭제된 모든 블록의 …

2023.05.13

📝 프로그래머스 길 찾기 게임 - 이진 트리 자료구조로 풀기

문제 링크 프로그래머스 길 찾기 게임 문제 설명 x, y 좌표로 이루어진 이진 트리의 맵에 …

2023.05.11

📝 이진트리의 전위, 중위, 후위 순회 알아보기

이진트리란? 이진 트리는 루트(Root) 노드에서 시작하여 각 노드는 왼쪽 서브트리 …

2023.05.10

📝 프로그래머스 양궁대회 - 완전 탐색으로 최적의 화살 배치 찾기

양궁대회 문제 분석하기 해당 문제는 라이언과 어피치가 n개의 화살을 쏴서 라이언이 가장 큰 …

2023.05.07

📝 프로그래머스 후보키 - 조합과 부분집합으로 해결하기

문제 링크 프로그래머스 후보키 문제 설명 이 문제는 데이터베이스에서 관계형 데이터의 후보키 …

2023.05.02

📝 @WithMockUser 테스트 시 getPrincipal Null 해결

문제 상황 테스트 코드를 작성할 때 Security에서 제공하는 @WithMockUser …

2023.05.01

📝 Spring Boot Redis 캐싱 서버 적용하기

Redis란 무엇인가? Redis(Remote Dictionary Server)로 오픈 소 …

2023.04.20

📝 Transaction 커밋과 flush 타이밍 이해하기

문제 상황 게시글을 수정하는 단계에서 updated_at 수정 필드가 업데이트가 되지 않아 …

2023.04.04

📝 스프링부트 터미널 build 실행 오류 (JDK 17)

문제: JAVA 17 버전을 호환하지 못함 터미널로 gradlew build를 실행했지만 …

🎓 교육

2017.02 ~ 2023.08

성결대학교

정보통신과 졸업

2023.06 ~ 2023.11

슈퍼코딩 부트캠프

백엔드 개발 과정 수료

📜 자격증

2025.09

정보처리기사

국가기술자격

2024.12

SQLD

SQL 개발자 자격증

2024

PCCP Lv.1

프로그래머스 코딩역량인증

🏆 수상

2023.10

슈퍼코딩 베스트 프로젝트상

3차 프로젝트 수상

2021.05

라인트레이서 대회 2위

성결대학교

2020.11

라인트레이서 대회 2위

성결대학교

💼 프로젝트

2025.03 ~ 2025.12

✈️ 항공기 회피 시스템

한국연구재단 | FastAPI, Kafka, React

2024.10 ~ 2024.11

📚 KBookmark

Spring Boot, Next.js, OAuth 2.0

2024.04 ~

☕ Koreano

MSA 커피 E-Commerce | Spring Boot, Kafka

2023.08 ~ 2023.09

🍜 Han-Yip-Man

배달 E-Commerce | Spring Boot, SSE

2023.08

🛒 보드게임 E-Commerce

Spring Boot, OAuth 2.0, Nginx

2022.03 ~ 2022.08

☕ 무인카페 STANDER

졸업 프로젝트 | QR 입장 시스템

2026  1

February  1

첫 글 - Hugo 블로그 시작하기

February 2, 2026 · Lee WooJin

2024  9

June  3

[SpringBoot] ThreadLocal을 활용한 인증관리

June 20, 2024 · Lee WooJin

[SpringBoot] In-Memory 환경 Memory Leak

June 20, 2024 · Lee WooJin

BeanPay Detail 삭제 이유

June 3, 2024 · Lee WooJin

April  4

락 선택 이유와 성능 테스트

April 30, 2024 · Lee WooJin

Reflection 메소드 매개변수 필드명이 arg0, arg1로 나오는 문제 해결

April 28, 2024 · Lee WooJin

Github Actions와 AWS CodeDeploy를 활용한 CI/CD 구축

April 19, 2024 · Lee WooJin

코리아노 BeanPay 고민

April 17, 2024 · Lee WooJin

February  2

TreeSet의 구조와 Comparator 주의사항

February 29, 2024 · Lee WooJin

해시(Hash) 자료구조와 충돌 회피 기법

February 5, 2024 · Lee WooJin

2023  23

December  3

이펙티브 자바 - 다 쓴 객체 참조를 해제하라

December 20, 2023 · Lee WooJin

[SpringBoot] Spring Batch 이용권 만료

December 17, 2023 · Lee WooJin

[SpringBoot] 스프링 배치란?

December 16, 2023 · Lee WooJin

November  4

Java 동적 프록시 (Dynamic Proxy) 이해하기

November 28, 2023 · Lee WooJin

Java GC (Garbage Collection) 이해하기

November 9, 2023 · Lee WooJin

HTTP/1.0, HTTP/1.1, HTTP/2의 특징과 차이점

November 3, 2023 · Lee WooJin

IP 프로토콜의 이해 - IPv4, 클래스, DHCP, NAT

November 2, 2023 · Lee WooJin

October  2

Github Desktop으로 PR 전송하기까지 절차

October 29, 2023 · Lee WooJin

주문내역을 내려줄 때 가격 멱등성에 대한 고민

October 29, 2023 · Lee WooJin

September  1

백준 1430번: 공격 - BFS로 네트워크 에너지 전달 문제 풀이

September 16, 2023 · Lee WooJin

July  3

프레임워크와 라이브러리의 차이

July 19, 2023 · Lee WooJin

정적 팩토리 메소드의 장단점

July 7, 2023 · Lee WooJin

[인증/인가] JWT토큰 생성 과정과 원리에 대해서

July 5, 2023 · Lee WooJin

June  1

프로그래머스 택배상자 - Stack 활용 문제 풀이

June 29, 2023 · Lee WooJin

May  7

프로그래머스 프렌즈 4블록 - 2x2 블록 제거 시뮬레이션

May 15, 2023 · Lee WooJin

프로그래머스 길 찾기 게임 - 이진 트리 자료구조로 풀기

May 13, 2023 · Lee WooJin

이진트리의 전위, 중위, 후위 순회 알아보기

May 11, 2023 · Lee WooJin

프로그래머스 양궁대회 - 완전 탐색으로 최적의 화살 배치 찾기

May 10, 2023 · Lee WooJin

프로그래머스 후보키 - 조합과 부분집합으로 해결하기

May 7, 2023 · Lee WooJin

@WithMockUser 테스트 시 getPrincipal Null 해결

May 2, 2023 · Lee WooJin

Spring Boot Redis 캐싱 서버 적용하기

May 1, 2023 · Lee WooJin

April  2

Transaction 커밋과 flush 타이밍 이해하기

April 20, 2023 · Lee WooJin

스프링부트 터미널 build 실행 오류 (JDK 17)

April 4, 2023 · Lee WooJin