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

최종 프로젝트 인프라 1차 구축

VPC는 AWS 안에 만드는 논리적으로 격리된 사설 네트워크입니다. 이 안의 리소스들은 하나의 네트워크에 속하고, 밖에서는 우리가 허용한 경로로만 접근할 수 있습니다. EC2나 RDS 같은 리소스는 반드시 어떤 VPC에 속해야 생성됩니다. 그리고 VPC 단위로 IP 대

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

몬테카를로로 주택 목표 달성 확률 예측하기

이 질문에 가능 혹은 불가능이 아니라 달성 확률로 답하기까지의 기록입니다. 미래 집값의 불확실성을 어떻게 수치로 다뤘는지, 그리고 그 과정에서 어떤 설계 판단을 했는지 정리했습니다.가격 모델(Price Model): 과거 실거래 데이터에서 집값의 추세(μ)와 불확실성(

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

하나의 코드베이스, 두 개의 서버: Spring Profile 제대로 이해하기

같은 코드를 API 서버와 배치 서버, 두 가지로 나눠 실행하는 구조를 만들면서 Spring Profile을 깊게 들여다볼 일이 있었습니다. 이 글은 공식 문서를 따라가며 개념을 정리하고, 실제 프로젝트에 적용한 내용을 함께 기록한 글입니다.먼저 이 글이 도달하려는 목

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

25초를 0.03초(?)로: 자산 동기화를 비동기로 전환

MZ세대의 독립을 위한 자산 관리 서비스를 만들면서 CODEF API로 사용자의 금융 자산을 연동하는 기능을 맡았습니다. 기능은 동작했지만 응답에 평균 25.87초가 걸리는 동안 사용자가 할 수 있는 부분이 없었고, 이걸 0.029초로 줄인(?) 경험입니다.자산 동기화

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

최소 권한 원칙과 보안 그룹

보안에서 최소 권한의 원칙(PoLP, Principle of Least Privilege)이라는 아주 중요한 법칙이 있다. 이 원칙은 다양한 클라우드 플랫폼에서 필수적인 보안 정책으로 활용되고 있다. 이 원칙은 말 그대로 무언가에 접근할 때 필요한 최소한의 권한만을 가

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

AZ 하나가 통째로 죽어도 살아남는 서비스 만들기

가용성(Availability)이란 시스템이 서비스를 정상적으로 제공할 수 있는 가능성을 말한다. 가용성은 서비스의 정상 가동률(%)로 표시되는데, 예를 들어, 가용성이 99.99%라면 99.99%의 시간을 정상적으로 이용 가능한 시스템을 말한다. 고가용성 시스템을 만

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

NAT Gateway와 Bastion Host로 Private Subnet 다루기

NAT Gateway는 외부 인터넷에서 서브넷으로 접근할 수는 없지만 서브넷에서 외부 인터넷으로 접근할 수 있게 해주는 장치다. 인터넷 게이트웨이는 외부 인터넷에서 서브넷의 방향이든 서브넷에서 외부 인터넷의 방향이든 양방향으로 통신이 가능했지만, NAT Gateway는

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

AWS VPC 완전 정복

VPC(Virtual Private Cloud)의 정의는 가상의 네트워크 공간(컴퓨터들끼리 서로 통신하는 공간)이다. VPC를 사용하는 이유를 한 단어로 줄이면 “보안” 때문이다. VPC를 활용하면 외부에서 직접 접근할 수 없는 독립적인 네트워크 환경을 구성할 수 있어

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

Spring Batch 개념 정리

그래서 배치 처리 방식이 등장한 것이다. 배치 처리(Batch Processing)는 대용량 데이터를 사용자 개입 없이 일괄로 처리하는 방식이다.조금 더 풀어서 말하면, 배치 처리는 다음과 같은 특징을 가진다.대용량 데이터를 처리한다.사용자가 응답을 기다리지 않는다.보

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

eGovFrame VSCode Initializr 오픈소스 기여: txAdvisor 직접 호출 안티패턴 수정

eGovFrame VSCode Initializr는 전자정부 표준프레임워크 기반 프로젝트를 VS Code 환경에서 쉽게 생성할 수 있도록 도와주는 도구다. 프로젝트 생성뿐만 아니라 CRUD 코드 생성, 설정 파일 생성 기능도 제공한다.그중 설정 파일 생성 기능은 Spr

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

JPA(Java Persistence API) 들어가기

관계형 데이터베이스에서 데이터를 다루고 관리하려면 SQL을 작성해야 한다. JPA를 사용하기 전의 자바 애플리케이션에서는 보통 JDBC API를 사용해서 SQL을 데이터베이스에 전달하는 코드를 직접 작성했다.이해를 위해 상품을 CRUD하는 기능을 개발한다고 해보자. 먼

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

스프링이 지원하는 프록시

아래 3가지 질문에 대한 해결책을 생각해보자.1번. 인터페이스가 있는 경우에는 JDK 동적 프록시를 적용하고, 그렇지 않은 경우에는 CGLIB를 적용하려면 어떻게 해야할까?이전에는 개발자가 상황에 따라서 직접 JDK 동적 프록시를 사용할지 CGLIB를 사용할지 선택해야

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

Maven과 Gradle 이해하기

eGovFrame VSCode Initializr로 Web 템플릿과 Boot 템플릿을 생성해보면서 자연스럽게 Maven과 Gradle도 함께 살펴보게 되었다.처음에는 Maven과 Gradle을 단순히 “프로젝트 빌드할 때 쓰는 도구” 정도로만 생각했지만, 학습을 진행하

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

eGovFrame Web 템플릿과 Boot 템플릿의 차이(WAR 방식 & JAR 방식)

이제 eGovFrame VSCode Initializr를 직접 사용해보자. 생성하려고 보니까 선택지가 생각보다 꽤 많았는데 그중 가장 눈에 띄는 차이는 Web 템플릿과 Boot 템플릿이었다.Web 템플릿은 전통적인 WAR 방식으로 배포하는 프로젝트이고, Boot 템플릿

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

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

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

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

eGovFrame VSCode Initializr 프로젝트

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

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

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

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

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

애그리거트(Aggregate)

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

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

Java Stream 이해하기

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

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

아키텍처 개요

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

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