분류 전체보기83 2024년 회고 어제 올렸어야 했는데.. 너무 졸려서 자버렸다.2025년의 첫날에 쓰는 2024년 회고 Layer에서 제공하는 기본 템플릿인 Mad Sad Glad라는 템플릿으로 작성해보았다. Mad: 무엇이 당신을 화나게 하거나 방해하나요?1. 체력2024년 막판에는 체력이 달려서 힘들었다. 그럴만도 한게, 5월 이후로 운동을 한 날이 손에 꼽는 것 같다. 끝까지 지구력 있게 일을 해내려면 운동은 필수인 것 같다. 그래서 요즘은 체력을 기르려고 인터벌 러닝 중이다! 올해는 꼭 꾸준하게 운동해서 체력 좋아져야지 2. 계획의 부재2024년은 열심히는 살았지만 구체적 계획 없이 너무 무지성으로만 열심히 살았던 것 같다.나는 진짜 계획을 안세운다. 세워봤자 대애충 당일 계획 정도..?최근에 진짜 갓생 사는 친구랑 밥을 먹었는.. 2025. 1. 1. [Test Code / Java] Spring 프로젝트에서 Persistence Layer의 테스트 Persistence Layer의 테스트Persistence Layer는 데이터에 액세스하는 영역이다.데이터베이스에 액세스하는 로직만 갖고 있기 때문에, 단위 테스트의 성격을 많이 띠고 있다.Persistence Layer를 테스트하는 이유는 내가 작성한 코드로 인해 쿼리가 제대로 나갈 것인가를 검증하기 위함이다. @SpringBootTest, @DataJpaTest@SpringBootTest: 스프링에서 통합 테스트를 제공하는 어노테이션. 이 어노테이션을 달고 테스트하면 스프링 서버를 띄워서 테스트할 수 있다.@DataJpaTest: 얘도 스프링 서버를 띄워서 테스트하는 어노테이션이다. 근데 이 어노테이션은 스프링부트 테스트보다는 가볍다. JPA 관련된 빈들만 띄워서 주입을 해주기 때문이다. Persi.. 2024. 12. 29. [Test Code / Java] @DisplayName과 BDD 테스트는 []다.테스트란 문서라고 할 수 있다.테스트 코드는 프로덕션 기능을 설명하는 문서가 될 수 있다.다양한 테스트 케이스를 통해 프로덕션 코드를 이해하는 시각과 관점을 보완할 수 있다.어느 한 사람이 과거에 경험했던 고민의 결과물을 팀 차원으로 승격시켜서, 모두의 자산으로 공유할 수 있다.DisplayName@DisplayName은 Junit5부터 시작된 어노테이션이다.테스트 메서드 이름만으로는 이 테스트가 어떤 테스트인지 알아보기 어려울 수 있다.이때 @DisplayName 어노테이션을 통해 테스트에 대한 좀 더 상세한 설명을 적을 수 있다.또한 인텔리제이에서 작업할 때 @DisplayName을 사용하면 유용한 점이 하나 더 있다.인텔리제이의 Settings > Build, Execution, D.. 2024. 12. 28. [Test Code / Java] TDD(Test Driven Development) TDD: Test Driven Development란?프로덕션 코드보다 테스트 코드를 먼저 작성하여 테스트가 구현 과정을 주도하도록 하는 방법론즉, 기능 구현보다 테스트를 먼저 구현하고, 기능을 구현하거나 수정할 때 테스트 코드의 도움을 받을 수 있는 방식을 의미한다. Red-Green-RefactorTDD의 방법으로는 Red, Green, Refactor를 주로 언급한다.Red: 실패하는 테스트를 먼저 작성. → 기능 구현이 돼있지 않기에 테스트가 실패하는 것이 당연하다.Green: 빠른 시간 내에 테스트를 통과하는 최소한의 기능 구현하기. → 초록불을 볼 수만 있다면, 이 단계에서의 구현은 다소 엉터리여도 된다.Refactor: 테스트 통과 상태를 유지하면서 구현 코드를 개선해나간다.Red-Green.. 2024. 12. 27. [Test Code / Java] 단위 테스트 단위 테스트작은 코드 단위(클래스 또는 메서드)를 독립적(=네트워크를 탄다든가 하는 외부 상황에 의존하지 않음)으로 검증하는 테스트검증 속도가 빠르고 안정적이다.JUnit5단위 테스트를 위한 테스트 프레임 워크XUnit - Kent Beck자바 말고도 여러 진영에서 사용여러 어노테이션 지원 (ex. @Test)AssertJ테스트 코드 작성을 원활하게 돕는 테스트 라이브러리풍부한 API, 메서드 체이닝 지원깔끔한 코드 작성 가능 테스트 케이스 세분화하기질문하기: 암묵적이거나 아직 드러나지 않은 요구사항이 있는가?이런 것을 항상 염두에 두어야 한다.해피 케이스예외 케이스ex) 아메리카노 0개 이런식으로 입력되면 어떡함?→ 경계값 테스트가 굉장히 중요하다!범위(이상, 이하, 초과, 미만), 구간, 날짜예를 .. 2024. 12. 26. [Network] OSI 7계층 OSI 7계층이란?OSI 7계층이란 네트워크에서 통신이 일어나는 과정을 7단계로 나눈 것을 의미한다. 7계층을 4개로 나누어서1, 2계층: Network Interface3계층: Internet 계층4계층: Transport 계층5, 6, 7계층: Application 계층으로 구분하기도 한다. 송신할 때는 송신 측에서 7계층, 6계층, ... 윗 계층부터 하나씩 거치면서 데이터에 헤더를 하나씩 붙인다. (캡슐화)그리고 수신 측에서는 1계층, 2계층, ... 아래 계층부터 거치면서 헤더를 하나씩 제거하는 형태이다. (역캡슐화)7계층으로 나눈 이유는?계층을 나눈 이유는 통신이 일어나는 과정을 단계별로 파악할 수 있기 때문이다.흐름을 파악하기가 쉽고, 7단계 중 특정한 곳에 이상이 생기면 다른 단계의 장비 .. 2024. 12. 22. 이전 1 2 3 4 ··· 14 다음