ChatGPTgit 에서 rebase를 어떤 용도로 사용하는지와 rebase를 이해하는데 도움이 되도록 step by step으로 실습할 수 있는 실습 가이드를 작성해 줘. Git Rebase의 용도git rebase는 브랜치의 커밋들을 다른 브랜치의 커밋들 위로 재배치하는 데 사용됩니다. 주로 다음과 같은 상황에서 사용됩니다:분기된 브랜치와의 커밋 이력을 깔끔하게 합칠 때: git merge는 브랜치들이 합쳐진 시점에서 새로운 커밋(merge commit)을 생성하지만, git rebase는 커밋 이력을 깔끔하게 합쳐 주므로, 히스토리가 직선으로 정리됩니다.커밋 이력 정리: 개발 브랜치에서 작업한 후 메인 브랜치에 병합하기 전에 이력을 정리하여, 불필요한 커밋을 제거하거나 커밋을 병합할 수 있습니다..
Java의 메서드 참조 방식 4가지 정적 메서드 참조 : Static method reference생성자 참조 : constructor reference바운드 비정적 메서드 참조 : bound non-static method reference언바운드 비정적 메서드 참조 : unbound non-static method reference 정적 메서드 참조 @Test void staticMethodReference() { Function asLambda = s -> Integer.parseInt(s); Function asRef = Integer::parseInt; Integer i = asLambda.apply("10"); Assertions..
단일책임원칙 single responsibility principle, SRP클래스와 모듈(Module)은 하나의 책임만 가지고 있어야 한다. 여기서 모듈은 하나의 역할을 위해 만들어진 클래스의 군집으로 이해하면 된다. 하나의 클래스는 하나의 역할을 해야 하며, 하나의 모듈 내에 있는 다수의 클래스들은 더 큰 하나의 역할을 처리하기 위한 기능들로 구성되어야 한다. 이 책임(역할)을 벗어나는 기능이나 로직이 클래스 또는 모듈 내에 있다면 클래스 설계 관점에서 클래스 또는 모듈의 분리 대상이 된다. 단일책임원칙에서 클래스 분해의 수준은 프로젝트의 규모나 복잡도에 따라 달라질 수 있다. 이 해석이 모호하다면 코드의 가독성, 확장성, 재사용성, 유지보수성을 판단해서 적정한 수준까지 설계하면 된다. 아래 암호..
https://martinfowler.com/articles/mocksArentStubs.html Mocks Aren't StubsExplaining the difference between Mock Objects and Stubs (together with other forms of Test Double). Also the difference between classical and mockist styles of unit testing.martinfowler.com 요약 비교표구분Mockist Style (Mock을 활용하는 TDD)Classical Style (전통적인 TDD)검증 대상행동 검증상태 검증검증 방식객체 간의 상호작용을 검증함.객체의 최종 상태를 검증함.초점시스템 간의 행동이 어떻게 연..