전체 글 120

Cherry-pick과 Rebase, Fast-forward - 병합커밋 없이 git history 깔끔하게 하는 방법

Cherry-pick과 Rebase의 공통점 cherry-pick과 rebase는 목적은 다르지만 동작하는 방법이 거의 비슷하다.  두 작업 모두 병렬적으로 작업된 목록을 하나로 합친다는 공통점이 있다. cherr-pick, rebase를 이해하기 위해서는 우선 git이 소스를 합치는 방식인 3 way merge에 대한 이해가 필요하다.  Cherry Pick 이란?cherry-pick은, 병렬적으로 작업된 내용에서 특정 commit을 선택하여 새로운 버전을 만들어 내는 방법이다.  이때 새로운 버전을 만들기 위해 3 way merge를 수행한다. Rebase 란?rebase라는 단어 뜻 그대로, base(각 브랜치들의 공통 조상 commit)를 옮긴다는 뜻이다.  다음 예제를 보자.git checkou..

Dev/Git 2024.11.24

3 way merge 란?

3 Way Merge 의 동작 방식  프로젝트를 진행하는 과정에서 git을 사용하여 버전 관리를 할 때, 일반적으로 기능별로 feature branch를 나누고 작업을 하게 된다.  기능구현의 리뷰가 완료 되면  feature branch를 main branch (혹은 develop)에 merge하게 될 것이다. 이 때 git이 제공하는 병합 방법중에 3 way merge가 있다. 3 way merge는 다음과 같은 세가지 요소를 가진다. 병합대상 브랜치  (A)Base (A,B 브랜치가 공통으로 가지고 있는 마지막 commit)병합 브랜치 (B)만약 내가  어떠한 base 브랜치로 부터 feature/A-branch와 feature/B-branch 생성했고,   A-branch를  B-branch에 m..

Dev/Git 2024.11.24

[일본여행] 4박5일 오사카교토 여행 - 오사카성 벚꽃/교토 모츠나베 맛집/아라시야마 대나무 숲(치쿠린)/도게츠교/토롯코열차/텐류지

이전 포스팅은 여기로2024.10.20 - [Trip/2023 일본] - [일본여행] 4박5일 오사카교토 여행 - 유니버셜스튜디오재팬(USJ) [일본여행] 4박5일 오사카교토 여행 - 유니버셜스튜디오재팬(USJ)이전 포스팅은 여기로 2024.09.15 - [Trip/2023 일본] - [일본여행] 4박5일 오사카교토 여행 - 피치항공/난카이리피트/호텔나니와/전남친돈페야키/오사카시내온천 [일본여행] 4박5일 오사카교토 여행 -zigo-autumn.tistory.com   4월 초 오사카성놀랍게도 남자친구와 나는 한 번도 제대로 벚꽃 구경을 간 적이 없었다. 꽤 오래 만났는데... 이번 여행도 어찌어찌 일정을 맞춰 꽃구경을 가긴 했지만 4월 초였기 때문에 만개보다는 약간 지는 느낌의 벚꽃이 많았다. 만개는..

Trip/2023 일본 2024.10.28

Junit In Action - TDD를 위한 테스트 원칙, 도구 및 활용 Review - Junit5 확장 모델

Junit5 확장 모델 살펴보기Junit5 확장 모델은 Extension API라는 단일 개념으로 설명할 수 있다. Extension자체는 내부에 필드나 메서드가 없는 인터페이스인 마커인터페이스일 뿐으로, 해당 인터페이스를 구현하는 클래스에 특별한 의미나 기능을 부여하기 위해 사용한다. 마커 인터페이스 (태그 인터페이스, 토큰 인터페이스)마커 인터페이스는 구현 메서드가 따로 없는 인터페이스로, 해당 인터페이스를 구현하는 클래스에 특별한 의미나 기능을 부여하기 위해 사용한다. 대표적인 사례로는 Serailizable과 Cloneable인터페이스가 있다.  public interface MyMarkerInterface { // No methods }  테스트가 생애 주기를 타는 중에 사전에 정의한 확장 지점..

Dev/TDD 2024.10.20

[일본여행] 4박5일 오사카교토 여행 - 유니버셜스튜디오재팬(USJ)

이전 포스팅은 여기로 2024.09.15 - [Trip/2023 일본] - [일본여행] 4박5일 오사카교토 여행 - 피치항공/난카이리피트/호텔나니와/전남친돈페야키/오사카시내온천 [일본여행] 4박5일 오사카교토 여행 - 피치항공/난카이리피트/호텔나니와/전남친돈페야키/오사카인천공항에서 간사이공항으로  남자친구와 모처럼 휴가를 낼 수 있는 기간이 겹쳤는데,  일본을 한 번도 안 가봤다고 해서 또사카를 가게 되었다! 23년에 코로나가 본격적으로 풀리고 어디든zigo-autumn.tistory.com   USJ 익스프레스 티켓 구매 후기  둘째 날은 다른 일정 없이 USJ만 잡았다. 우리는 돈이 있고 체력이 없었기 때문에 익스프레스 티켓을 별도로 구매해 갔다. 탑승할 수 있는 놀이기구가 7개인 걸 사서 방문했는데..

Trip/2023 일본 2024.10.20

2024년 2회차 정보처리기사 실기 후기 (벼락치기 합격)

들어가기 전에이 글은 어떻게 공부하세요 ~ 하는 가이드보다는 그냥 나의 잡담에 가깝다. 전공자 입장에서 날것 그대로의 후기를 담았으니 객관적인 지표가 필요한 사람은 크게 도움 될 것 같지 않음을 알린다   💁‍♀️ 필기 후기는 여기로 2024년 1회차 정보처리기사 필기 후기 ( 합격 )2024년 02월 20일 오전 8시 40분에 치러지는 정보처리기사 필기시험 본 후기를 작성하려고 한다. 참고로 나는 컴퓨터공학과를 전공했고 실무에서 3년 11개월 정도의 경력이 있는 상태로 봤다. 그리zigo-autumn.tistory.com  시험준비 기간 및 공부 교재 필기시험 때 수제비로 공부했어서 실기도 동일하게 수제비로 구매했다. 실기 교재 추천 검색하면 꼭 구매하지 않고 구글링 해서 돌아다니는 기출문제만 풀어도..

Junit In Action - TDD를 위한 테스트 원칙, 도구 및 활용 Review - Gradle, IntelliJ 와 함께하는 Junit5

들어가기전에책에는 빌드 도구로 Gradle 뿐만 아니라 Maven,  IDE는 Eclipse 및 NetBeans 등이 추가로 기술되어 있었지만 책이 집필된 시점과 현재를 비교했을 때 사용률이 월등히 다르기도하고 내가 Gradle, Intellij, Jenkins를 실무에서 쓰고 있기 때문에 나머지 내용은 스킵했다.  이번 장에선 Junit5의 사용법보다는, 각 build Tool 과 IDE를 쓰면 얻을 수 있는 장점정도를 간략하게 정리하려고 한다.  GradleGradle은 프로젝트 설정 파일을 Groovy(그루비:JVM에서 실행될 수 있고 자바 언어와 호환 가능한 객체 지향 프로그래밍 언어)를 기반으로한 DSL로 작성한다. 여기서 DSL이란 Domain Specific language의 준말이다. 번역..

Dev/TDD 2024.10.09

Junit In Action - TDD를 위한 테스트 원칙, 도구 및 활용 Review - 모의 객체로 테스트 하기 (Mock) (2/2)

개발환경IDE :  intelliJ FrameWork : springboot 3.xLaunguage : java 17TestTool : Junit5    예제 소스 링크 모의 객체 프레임워크 사용해 보기이전 게시글에서 모의 객체를 밑바닥부터 구현했다. 프레임워크를 사용하면 프로젝트에서 이렇게 모의 객체를 하나하나 새로 생성할 필요 없이 더 쉽게 만들 수 있다. 일반적으로 많이 사용하는 테스트를 위한 프레임워크는 EasyMock, JMock, Mockito 에 대해 간략히 정리하려고 한다.   EasyMockEasyMock은 모의 객체를 사용하기 위한 유용한 클래스를 제공하는 오픈 소스 프레임워크다. 이전 게시글에서 작성한 예제를 EasyMock 프레임워크를 사용해서 리팩터링 해보자. 책에서는 maven ..

Dev/TDD 2024.09.24

[일본여행] 4박5일 오사카교토 여행 - 피치항공/난카이리피트/호텔나니와/전남친돈페야키/오사카시내온천

인천공항에서 간사이공항으로  남자친구와 모처럼 휴가를 낼 수 있는 기간이 겹쳤는데,  일본을 한 번도 안 가봤다고 해서 또사카를 가게 되었다! 23년에 코로나가 본격적으로 풀리고 어디든 떠나고 싶다는 생각에 1월 말에 다녀온 지 3개월 만에 똑같은 곳에 가게 된 거라 고민이 많았지만... 나도 벚꽃시즌인 일본이 궁금했기 때문에 😁 결과적으로는 벚꽃 구경은 조금 아쉬웠지만 ( 만개 후고 비가 왔어서 꽃잎이 많이 떨어졌다 ㅠ) 일정은 대부분 만족스러웠기 때문에 공유해보려고 한다.  23년 4월 1일 토요일 15시경, 인천공항에서 간사이 공항으로 출발하는 피치항공을 탑승했다. 이 당시에 티켓팅을 여유 있게 한 게 아니라 최대한 저렴한 걸로 예약했는데 어쩌다 보니 악명 높은 피치항공이 걸렸었다. 피치 못해서 ..

Trip/2023 일본 2024.09.15

[일본여행] 2박3일 후쿠오카 여행 - 유후인 당일치기 후기 / 유후인노모리 예약 / 모토무라규카츠 / 텐진 지하상가 / 라쿠텐치 모츠나베

이전 포스팅은 여기로 2024.08.30 - [Trip/2023 일본] - [일본여행] 2박 3일 후쿠오카 여행 - 3월 중순 후쿠오카 / CROSS life Hakata Tenjin 호텔 후기 / 근교 모지코, 시모노세키, 고쿠라 / 가라토시장 후기 [일본여행] 2박3일 후쿠오카 여행 - 3월 중순 후쿠오카 / CROSS life Hakata Tenjin 호텔 후기 / 근교 모지인천에서 후쿠오카로, 후쿠오카 공항에서 공항에서 시내로 23년 3월, 대학교 동기인 여자 세명과 함께 갑작스럽게 후쿠오카에 가게 되었다! 내 기억이 맞다면 번개로 만나서 밥 먹다가 뜬금없이zigo-autumn.tistory.com   유후인 노모리를 타고 유후인으로! 첫째 날의 빡센 일정을 뒤로하고 둘째 날도 아침 여덟 시에 기..

Trip/2023 일본 2024.08.30

[일본여행] 2박3일 후쿠오카 여행 - 3월 중순 후쿠오카 / CROSS life Hakata Tenjin 호텔 후기 / 근교 모지코, 시모노세키, 고쿠라 / 가라토시장 후기

인천에서 후쿠오카로, 후쿠오카 공항에서 공항에서 시내로 23년 3월, 대학교 동기인 여자 세명과 함께 갑작스럽게 후쿠오카에 가게 되었다! 내 기억이 맞다면 번개로 만나서 밥 먹다가 뜬금없이 비행기 끊고 가게 됐던 거 같은데... 사실 시간이 꽤 지난지라 자세한 정보를 담은 후기보다는 거의 일기에 가깝지 않을까 싶다.  😂  여행일정은 3월 11일 토요일부터 3월 13일 월요일까지였다. 2박 3일이라 시내만 둘러보기에도 힘들지 않을까 싶었는데 모지코부터 유후인까지 참 알차게 다녔다.   3월이면 벚꽃피지 않을까 싶었는데  아쉽게도 그렇진 않았다 🥲  일본에서도 비교적 따뜻한 남쪽인 후쿠오카임에도 불구하고 한낮을 지나면 약간 쌀쌀했던 기억이 있다. 내가 워낙 추위를 많이 타는 것도 한몫하지만 얇은 외투 ..

Trip/2023 일본 2024.08.30

Junit In Action - TDD를 위한 테스트 원칙, 도구 및 활용 Review - 모의 객체로 테스트 하기 (Mock) (1/2)

간단한 스텁과 모의 객체  리뷰Stub은 특정 상황에서 "결과만" 중요할 때 사용 →  Stub은 메서드가 무엇을 반환하는지에만 집중Mock은 "행위"가 중요할 때 사용 → 특정 메서드가 호출되었는지, 호출 횟수는 몇 번인지 등을 검증할 때 사용스텁을 활용하면 소스코드를 웹 서버, 파일 시스템, 데이터베이스 등의 환경에서 격리하여 단위 테스트를 수행할 수 있다. 그러나 메서드 호출을 다른 클래스로부터 격리하는 것과 같은 세밀한 격리를 위한 테스트는 모의객체(Mock)을 활용하여 효과적으로 수행할 수 있다. 즉, 각 메서드별로 개별적인 단위 테스트를 만들어 개발하는 것이 가능해진다.   모의 객체란?메서드에 집중하는 테스트를 만들 수 있다 → 대상 메서드가 다른 객체를 호출해서 발생하는 부수 효과가 생길일..

Dev/TDD 2024.08.27

2024 상반기 회고 ( feat. 미루고 미뤘던 숙제 같은 글 )

들어가기 전에 블로그를 시작하고 기록하는 것에 대한 중요성을 느끼면서 매년 상반기, 하반기에 대한 회고록을 작성하고 싶다고 생각했는데 치열한 현대 사회를 겪어 나가느라(보다는 그냥 귀찮아서) 늘 그렇듯 또 미뤘다! 상반기는 6월까지니 따지고 보면 2개월이나 밀린 글을 이제야 쓰는 셈이다. 어찌 됐건 시작했다는 것에 의의를 두면서 하나씩 정리해 보겠다. 무슨 일들이 있었나?어디 떠들고 싶지 않은 사생활을 제외하고 가장 큰 키워드를 추려보면 이사, 이직을 해냈다. 연고지가 없는 곳으로 이동하게 되는 큰 결정을 하면서 가구, 가전, 인테리어를 알아본다고 2월부터 정말(x2) 바빴던 것 같다. 키우는 고양이도 한 마리 더 늘면서 합사까지 동시에 진행했다. 마냥 단순하고 착한 줄 알았던 첫째 고양이는 알고 보니 ..

회고 2024.08.18

abstract class VS interface

들어가기 전에회사를 그만두고 있었던 공백기간에 주로 코드 리팩터링, 내가 지향하는 클린코드의 기준을 만들기 위해 노력했다. 사실 사용자 입장에서는 똑같은 기능이겠지만 뭐랄까... 리팩터링(혹은 최적화가)이 성공적으로 완료되어 내가 원하는 대로 애플리케이션이 실행될 때의 그 쾌감은 동종 업계 사람들이라면 다 공감하지 않을까?  이번 주제는 리팩터링하면서 오래간만에 기초부터 다시 다듬게 된 abstract과 interface다.     추상 클래스(abstract class) 클래스를 일반 설계도라고 한다면, 추상 클래스는 미완성 설계도에 비유할 수 있다. 미완성 설계도로 완성된 제품을 만들 수 없듯이 추상클래스로 인스턴스는 생성할 수 없다. 추상클래스는 상속을 통해서 자손클래스에 의해서만 완성될 수 있다...

Dev/Java 2024.07.15

[일본 여행] 도쿄 4박5일 여행기 - 시부야 스카이/아사쿠사와 나카미세 도리/센소지/푸글렌 아사쿠사 점/시바 공원/도쿄 타워/메가 돈키호테 시부야 본점

이전 포스팅은 여기로 2024.05.17 - [Trip/2024 일본] - [일본 여행] 도쿄 4박5일 여행기 - 도쿄 근교 가마쿠라여행/시치리가하마역/고마치도리거리/롯폰기일루미네이션/롯폰기꼬치집추천/죠몬롯폰기점 [일본 여행] 도쿄 4박5일 여행기 - 도쿄 근교 가마쿠라여행/시치리가하마역/고마치도리거리/롯폰이전 포스팅은 여기로 2024.05.15 - [여행정보/2024 일본] - [일본 여행] 도쿄 4박5일 여행기 - 디즈니씨(DisneySea)후기/게이오플라자호텔디즈니랜드셔틀후기/신주쿠역근처텐동 [일본 여행] 도쿄 4박5일zigo-autumn.tistory.com   시부야 스카이는 예약이 필수  마지막날에는 크게 오전에는 시부야 스카이, 오후에는 아사쿠사와 도쿄 타워를 구경하기로 했다. 다녀온지 얼마..

Trip/2024 일본 2024.07.15