| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | 7 |
| 8 | 9 | 10 | 11 | 12 | 13 | 14 |
| 15 | 16 | 17 | 18 | 19 | 20 | 21 |
| 22 | 23 | 24 | 25 | 26 | 27 | 28 |
| 29 | 30 | 31 |
- string
- SpringBoot
- Eclipse
- Array
- HashMap
- 인텔리제이
- javascript
- CSS
- 스프링부트
- html
- IntelliJ
- 자바
- 배열
- math
- vscode
- list
- Java
- junit
- 정규식
- 자바스크립트
- 문자열
- junit5
- java테스트
- 단위테스트
- js
- ArrayList
- input
- 테스트자동화
- Visual Studio Code
- 자바문법
- Today
- Total
어제 오늘 내일
Spring Boot를 처음 접할 때 가장 놀라워하는 점은 "설정할 게 거의 없다"는 것입니다. 과거 Spring Legacy 시절에는 XML 파일에 수백 줄의 설정을 적어야 했는데, 지금은 build.gradle에 라이브러리 한 줄만 추가하면 끝납니다.이게 가능한 이유는 바로 @SpringBootApplication 어노테이션 속에 숨겨진 자동 설정(Auto Configuration) 덕분입니다. 오늘은 이 '마법' 뒤에 숨겨진 '과학(로직)'을 알아보겠습니다. 1. 비밀의 열쇠: @SpringBootApplication프로젝트를 생성하면 메인 클래스 위에 딱 하나 붙어있는 이 어노테이션, 다들 보셨죠?@SpringBootApplicationpublic class MyServerApplication ..
지난 시간, 우리는 new 키워드 없이 스프링 컨테이너가 객체(Bean)를 대신 관리해 주는 의존성 주입(DI)에 대해 알아봤습니다. 그렇다면 스프링은 이 빈들을 언제 만들고, 언제 없앨까요?오늘은 애플리케이션의 성능과 안정성에 직결되는 빈의 생명주기(Lifecycle)와 스코프(Scope)에 대해 명쾌하게 정리해 드립니다. 1. 스프링 빈의 생명주기 (Lifecycle)일반적인 자바 객체는 new로 생성하고 더 이상 쓰지 않으면 가비지 컬렉터(GC)가 알아서 수거해 갑니다. 하지만 스프링 빈은 조금 더 복잡하고 정교한 과정을 거칩니다.빈이 생성되고 소멸되는 순서스프링 컨테이너가 구동될 때 다음과 같은 흐름으로 빈이 관리됩니다.스프링 컨테이너 생성스프링 빈 생성 (객체화)의존관계 주입 (DI - Set..
Spring Boot를 공부하다 보면 "DI(Dependency Injection, 의존성 주입)"라는 단어를 정말 많이 듣게 됩니다.면접 단골 질문이기도 하고, 좋은 객체지향 설계를 위해 반드시 이해해야 하는 개념이죠.오늘은 DI가 도대체 무엇인지, 그리고 왜 필드 주입보다 생성자 주입을 권장하는지 명쾌하게 정리해 드리겠습니다. 1. 의존성 주입(DI)이 뭔가요?요리를 한다고 상상해 봅시다.DI가 없는 경우: 요리사가 요리할 때마다 직접 농장에 가서 재료를 캐오고, 칼을 대장간에서 만들어옵니다. (객체가 의존 객체를 직접 생성 new)DI가 있는 경우: 요리사는 요리에만 집중하고, 누군가가 손질된 재료와 좋은 칼을 주방에 딱 놔줍니다. (외부에서 의존 객체를 주입)프로그래밍에서 DI(Dependenc..
협업을 하다 보면 "다른 브랜치에 있는 저 기능 딱 하나만 가져오고 싶은데..." 라는 생각이 들 때가 있습니다. 브랜치 전체를 병합(Merge)하기엔 아직 미완성된 코드가 많아 부담스러울 때가 있죠.이럴 때 사용하는 기능이 바로 Git Cherry-pick입니다. 말 그대로 체리 바구니에서 맛있는 체리(커밋)만 쏙 골라내는 것처럼, 특정 커밋만 내 브랜치로 가져오는 기술입니다.이번 포스팅에서는 cherry-pick의 개념과 실전 사용법, 그리고 충돌 해결 꿀팁까지 정리해 드리겠습니다. 보통 브랜치를 합칠 때는 merge를 사용합니다. 하지만 merge는 브랜치의 모든 역사를 가져오기 때문에, 특정 버그 수정 사항만 긴급하게 배포 브랜치로 가져와야 할 때는 부적절할 수 있습니다.이때 cherry-pic..
프로젝트를 진행하다 보면 기능 추가(feature), 버그 수정(hotfix) 등으로 인해 수많은 브랜치(Branch)가 생겨나게 됩니다. 할 일을 다 마친 브랜치를 방치하면 나중에 "feature-login이 최신인가? 아니면 feature-login-new가 최신인가?" 하며 헷갈리는 순간이 오죠.이번 포스팅에서는 다 쓴 브랜치를 깔끔하게 삭제하는 방법을 로컬(Local)과 원격(Remote)으로 나누어 완벽하게 정리해 드리겠습니다. 브랜치 삭제는 크게 내 컴퓨터에 있는 '로컬 브랜치'와 GitHub 같은 서버에 있는 '원격 브랜치' 삭제로 나뉩니다. 명령어 한 줄이면 프로젝트가 훨씬 쾌적해집니다! 1. 로컬(Local) 브랜치 삭제하기내 컴퓨터에 저장된 브랜치를 지우는 방법입니다. Git은 안전..
