태그 목록
전체보기 (141)인프런(67)김영한(67)자바(40)실전 자바 기본편(12)OS(11)TIL(11)노마드코더(10)리액트 10주 스터디(5기)(10)객체지향(10)Spring(10)실전 자바 중급 2편(10)자료 구조(9)우아한테크코스(9)스프링 핵심 원리 - 기본편(9)실전 자바 중급 1편(9)실전 데이터베이스 - 기본편(8)db(8)mysql(8)컬렉션 프레임워크(7)오픈 소스(6)JPA(6)KB IT's Your Life 7기(6)부트캠프(6)객체지향의 사실과 오해(6)KB 국민은행(6)캡슐화(6)스프링 mvc(6)스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술(6)자바 ORM 표준 JPA 프로그래밍 - 기본편(6)스레드(5)람다(5)TDD(5)junit(4)네트워크(4)실전 자바 고급 1편(4)조영호(4)MVC 패턴(4)Mockito(4)메서드 오버라이딩(4)객체 지향(3)오브젝트 코드로 이해하는 객체지향 설계(3)openup(3)도메인(3)오픈소스(3)DDD(3)CS(3)프로젝트(3)상속(3)2026 오픈소스 컨트리뷰션 아카데미(3)절차지향(3)최범균(3)다형성(3)도메인 주도 개발 시작하기(3)트랜잭션(2)함수형 인터페이스(2)redis(2)ArrayList(2)linkedlist(2)제네릭(2)di(2)그래프(2)책임 주도 설계(2)전략 패턴(2)ocp(2)다형적 참조(2)인덱스(2)JDBC(2)프로세스(2)(2)프록시(2)알고리즘(2)SSR(2)CSR(2)서블릿(2)도메인 모델(2)HashSet(2)스트림(2)데이터 타입(2)불변 객체(2)멱등성(2)Outbox 패턴(2)스택(2)예외 계층(2)실전 자바 고급 3편(2)eGovFrame VSCode Initializr(2)this(2)iterable(1)iterator(1)dirty checking(1)Random 클래스(1)박싱(1)consumer(1)응집도(1)스프링 컨테이너(1)언체크 예외(1)React(1)instanceof(1)다익스트라(1)참조 무결성(1)Table 애노테이션(1)트리(1)콜백 함수(1)우분투(1)StringBuilder(1)Configuration 애노테이션(1)comparable(1)애그리거트(1)JOIN(1)외부 반복(1)DLQ(1)스왑 공간(1)Side Effect(1)Blocking(1)연관 관계(1)non blocking(1)컴포넌트 스캔(1)고차 함수(1)공유 참조(1)(1)throw(1)문맥(1)결합도(1)node.js(1)abstract(1)SOLID(1)jsp(1)데몬 스레드(1)체크 예외(1)폴링(1)polling(1)tcp(1)tomcat(1)JoinColumn 애노테이션(1)supplier(1)재해싱(1)웹 서버(1)자바스크립트(1)커버링 인덱스(1)뷰 디렉티브(1)명령형 프로그래밍(1)comparator(1)영속성 전이(1)next(1)WAS(1)HttpServletRequest(1)predicate(1)외부 조인(1)Entity 애노테이션(1)캐시(1)default(1)RequiredArgsConstructor 애노테이션(1)중첩 클래스(1)interface(1)조인(1)Primary 애노테이션(1)Runnable 인터페이스(1)UNION ALL(1)async/await(1)Big O(1)Controller 애노테이션(1)BFS(1)union(1)CASE 문(1)외부 단편화(1)트랜잭션 ACID(1)복합 인덱스(1)내부 반복(1)메서드 오버로딩(1)synchronous(1)LinkedHashSet(1)커넥션 풀(1)egovframe(1)DOM(1)protected(1)Enum(1)cascade(1)CSS(1)runnable(1)테스트 커버리지(1)html(1)JVM(1)effectively final(1)행동(1)JUnit5(1)클래스(1)System 클래스(1)얕은 복사(1)vue3(1)super(1)명시적(1)어댑터 패턴(1)쓰레드 풀(1)hashCode()(1)HttpServletResponse(1)rdd(1)책임(1)lazy(1)지역 클래스(1)내부 반복자(1)컨텍스트 스위칭(1)유스케이스(1)Casting(1)프론트 컨트롤러 패턴(1)리눅스(1)스프링 AOP(1)언박싱(1)try catch(1)Map(1)DFS(1)절차 지향(1)식별자(1)JDBCTemplate(1)오브젝트 코드로 이해하는 객체지향(1)선언적 프로그래밍(1)타입 이레이저(1)최단 경로(1)문자열 메서드(1)영속성 컨텍스트(1)object 클래스(1)정적 팩토리 메서드(1)(1)섀도잉(1)equals(1)싱글톤(1)@MappedSuperclass(1)toString() 메서드(1)private(1)set(1)트랜잭션 템플릿(1)실전 자바 중급 3편(1)생성자(1)플러시(1)RequestMapping 애노테이션(1)와일드 카드(1)캐싱 전략(1)고아 객체(1)self join(1)내부 클래스(1)static(1)TreeSet(1)DispatcherServlet(1)열거형(1)협력(1)RequestParam 애노테이션(1)Qualifier 애노테이션(1)Transactional 애노테이션(1)function(1)Math 클래스(1)순환 참조(1)묵시적(1)스프링 빈(1)서브 쿼리(1)cors(1)asynchronous(1)접근 제어자(1)익명 클래스(1)tlb(1)String 클래스(1)깊은 복사(1)Dispatcher(1)doDispatch(1)promise(1)mappedBy(1)추상화(1)Wrapper 클래스(1)데메테르 법칙(1)final(1)단위 테스트(1)equals 메서드(1)GeneratedValue 애노테이션(1)public(1)DIP(1)IoC(1)LomBok(1)Class 클래스(1)getState(1)변수 캡쳐(1)메서드 체이닝(1)List(1)http(1)DNS(1)빈 스코프(1)Cross Join(1)Datasource(1)해시(1)Autowired 애노테이션(1)엔티티(1)빈 생명주기(1)외부 반복자(1)EAGAR(1)throws(1)operator(1)패키지(1)finally(1)HTTP API(1)
post-thumbnail

Spring Bean 순환 참조(Circular Dependency) 문제 해결하기

Spring을 공부하다 보면 한 번쯤 이런 에러를 만나게 된다.또는 Spring Boot 2.6 이상 환경에서는 애플리케이션 실행 중 다음과 비슷한 메시지를 볼 수 있다.처음 이 에러를 보면 단순히 “Bean 주입이 꼬였나?” 정도로 생각할 수 있다. 하지만 Sprin

3일 전
·
0개의 댓글
·
post-thumbnail

eGovFrame VSCode Initializr 프로젝트

eGovFrame VSCode Initializr는 VS Code 환경에서 전자정부 표준프레임워크 기반 프로젝트를 쉽게 생성하고, 필요한 코드와 설정 파일을 자동으로 만들어주는 개발 도구다. 조금 더 쉽게 말하면, 전자정부 표준프레임워크 프로젝트를 시작할 때 필요한 초

4일 전
·
0개의 댓글
·
post-thumbnail

전자정부 표준프레임워크(eGovFrame) 이해하기

이번 오픈소스 컨트리뷰션 아카데미에서 내가 맡은 프로젝트는 egovframe-vscode-initializr이다. 처음 이 프로젝트를 접했을 때 가장 먼저 든 생각은 이것이었다.“전자정부 표준프레임워크가 정확히 뭐지?”이름만 보면 조금 딱딱하고 어렵게 느껴진다. 전자정

5일 전
·
0개의 댓글
·
post-thumbnail

애그리거트(Aggregate)

온라인 쇼핑몰 시스템을 상위 수준 개념을 이용해서 바라보면 아래와 같이 전체 모델들 간의 관계를 이해할 수 있다. 위와 같은 상위 수준 모델 간의 관계를 제대로 이해하지 않고 개별 객체들 간의 관계만을 보고 전체 모델의 관계를 파악하기는 매우 어렵고, 코드를 변경하고

5일 전
·
0개의 댓글
·
post-thumbnail

Java Stream 이해하기

자바에서 컬렉션을 다룰 때 우리는 보통 for, while, Iterator를 사용해왔다. 예를 들어 숫자 리스트에서 짝수만 출력한다고 해보자.이 코드는 굉장히 익숙하다. 리스트에서 값을 하나씩 꺼내고, 조건을 검사하고, 조건에 맞으면 출력한다.이처럼 개발자가 컬렉션

2026년 5월 1일
·
0개의 댓글
·
post-thumbnail

아키텍처 개요

위 4개의 영역 중 표현(Presentation) 영역은 사용자의 요청을 받아 응용(Application) 영역에 전달하고 응용 영역의 결과를 다시 사용자에게 보여주는 역할을 한다. 표현 영역을 통해 사용자의 요청을 전달받는 응용 영역은 시스템이 사용자에게 제공해야 할

2026년 5월 1일
·
0개의 댓글
·
post-thumbnail

도메인 모델 시작하기

온라인 서점을 한번 떠올려보면 장바구니 기능, 쿠폰 적용 기능, 결제 기능, 배송 추적 기능 등 상당히 많은 기능들을 가지고 있다. 이때 온라인 서점이 바로 소프트웨어로 해결하고자 하는 문제 영역, 즉 도메인(Domain)에 해당한다.한 도메인은 다시 하위의 여러 도메

2026년 4월 30일
·
0개의 댓글
·
post-thumbnail

리눅스 기본 명령어와 개념 정리

리눅스를 처음 배우기 시작하면 낯선 명령어가 한꺼번에 쏟아진다. ls, cd, rm, chmod, ps, kill 같은 명령어를 보다 보면, 뭔가 외워야 할 것이 너무 많아 보여서 막막해지기도 한다. 그런데 막상 리눅스를 조금 사용하다보니, 중요한 건 명령어를 많이 아

2026년 4월 16일
·
0개의 댓글
·
post-thumbnail

Vue3 템플릿

Vue에서의 템플릿은 Vue로 화면을 조작하는 방법을 말한다. 템플릿 문법은 크게 데이터 바인딩과 디렉티브로 나뉜다. 하나씩 알아보도록 하자.데이터 바인딩(Data Binding)은 Vue 인스턴스에서 정의한 속성들을 화면에 표시하는 방법이다. 보통 머시태시({{}})

2026년 3월 25일
·
0개의 댓글
·
post-thumbnail

Node에서의 비동기 처리 방식

자바스크립트는 싱글 스레드 기반으로, 한번에 하나의 명령만 수행 가능하지만 여러 라이브러리를 통해 비동기 방식으로 여러 가지 일을 처리할 수 있다는 것이다. 자바스크립트를 비동기 방식으로 처리하는 방법은 크게 3가지가 있다.콜백(Callback): 요청이 끝난 후 실

2026년 3월 13일
·
0개의 댓글
·
post-thumbnail

DOM이란?

HTML의 목적은 오직 정보의 구조를 명시적으로 표현하는 것 뿐이다. 따라서 HTML만으로는 사용자와 상호작용하는 것은 불가능하다. 그래서 생겨난 것이 자바스크립트다. 하지만 가장 중요한 점을 짚고 넘어갈 필요가 있다. 바로 “자바스크립트는 HTML을 직접 수정할 수

2026년 3월 12일
·
0개의 댓글
·
post-thumbnail

CSS

HTML에 스타일을 입히고 싶으면 CSS로 스타일시트를 작성해서 해당 HTML에 적용하면 된다. 스타일시트 구성은 아래와 같다.제일 먼저 스타일을 적용할 대상을 설정해야 하는데, 이때 선택자(Selector)를 이용하면 된다. <style> 태그 안에 스타일시트를

2026년 3월 9일
·
0개의 댓글
·
post-thumbnail

스프링 JdbcTemplate

데이터 접근 기술에는 아주 다양한 것들이 존재한다. 이를 크게 나누면 SQL Mapper, ORM으로 나뉘는데, SQL Mapper는 개발자가 SQL만 작성하면 해당 SQL의 결과를 객체로 편리하게 매핑해주는 기술로, JDBC를 직접 사용할 때 발생하는 여러가지 중복을

2026년 2월 21일
·
0개의 댓글
·
post-thumbnail

트랜잭션이란?

트랜잭션(Transaction)을 직역하면 “거래” 라는 뜻이다. DB에서의 트랜잭션은 “하나의 거래를 안전하게 처리하도록 보장해주는 것” 을 말한다.트랜잭션을 설명할 때 등장하는 흔한 예시인 계좌 이체를 떠올리면 트랜잭션이 왜 필요한지 바로 체감된다. 계좌 이체라는

2026년 2월 19일
·
0개의 댓글
·
post-thumbnail

[KB국민은행] IT’s Your Life 7기(전공자) 최종 합격 후기

우테코 불합격 이후, 내가 원하는 기업의 직무에 맞는 프로젝트를 개인적으로 진행하면서 코딩 테스트 대비도 열심히 하던 중, KB 국민은행과 멀티캠퍼스에서 주관하는 IT’s Your Life 7기 모집 공고를 보게 되었다. 원래는 우테코나 소프트웨어 마에스트로, 싸피 이

2026년 2월 2일
·
0개의 댓글
·
post-thumbnail

Outbox 폴링 성능 개선 실험

지금 일련의 서비스 흐름을 정리하자면 아래와 같다.주문 생성 트랜잭션에서 orders 테이블에 주문 정보를 저장한다.같은 트랜잭션 내에서 outbox_events 테이블에 해당 주문 정보에 대한 이벤트도 저장한다.OutboxDispatcher가 outbox_events

2026년 1월 30일
·
0개의 댓글
·
post-thumbnail

주문 연동 플랫폼과 Outbox 패턴

고객으로부터 주문 요청이 발생하면 본 서비스의 DB에 주문 정보를 INSERT 할 것이다. 그리고 그 주문 정보에 해당하는 외부 파트너 API를 호출해야 하는데, 이 과정은 둘 다 성공하면 COMMIT, 둘 중 하나라도 실패하면 둘 다 ROLLBACK해야 원자성을 지킬

2026년 1월 28일
·
0개의 댓글
·
post-thumbnail

주문 연동 플랫폼과 멱등성

생각해보면 현실에서 주문 연동을 할 때, 아래와 같은 문제가 자주 생길 수도 있다고 생각했다. 고객이 결제 버튼을 눌렀는데 네트워크가 끊김주문을 요청 받은 그 파트너 서버가 느리거나 불안정함지금 내가 만들 서버에 주문은 저장됐는데 파트너로 주문 정보 전송을 실패함실제

2026년 1월 28일
·
0개의 댓글
·
post-thumbnail

DFS와 BFS

DFS(Depth First Search)는 특정 노드에서 시작해, 인접한 노드 중 방문하지 않은 노드를 따라 가능한 한 깊게 탐색하는 알고리즘이다. 더 이상 진행할 수 없는 지점에 도달하면 이전 지점으로 되돌아가며 다른 경로를 탐색한다. DFS는 방문한 노드를 다시

2026년 1월 26일
·
0개의 댓글
·
post-thumbnail

다익스트라 알고리즘

다익스트라 알고리즘은 방향성을 가지는 그래프에서 최단 거리를 구할 때 사용된다. 가중치가 있는 그래프의 최단 경로를 구하는 문제들은 대부분 다익스트라 알고리즘을 사용한다고 보면 된다. 다익스트라 알고리즘은 너비 우선 탐색(BFS)과 유사한 형태를 가진 알고리즘으로, 시

2026년 1월 26일
·
0개의 댓글
·