토마토의 개발일지
  • 홈
  • 태그
  • 방명록
  • 메뉴 닫기
  • 글작성
  • 방명록
  • 환경설정
    • Development (144)
      • Languege (39)
        • Java & Spring (27)
        • C# & ASP.NET (5)
        • JavaScript (2)
        • Kotlin (5)
      • DB (0)
        • Oracle (0)
      • Study (72)
        • 네트워크 (3)
        • 이펙티브 자바 (41)
        • 우아한 테크 코스 (7)
        • Next Step (3)
        • Certificate (5)
        • Side Proejct (6)
      • Error (18)
        • 개발환경 (10)
        • 트러블슈팅 (6)
      • Algorithm (12)
      • 개발환경 (1)
      • 회고 (2)
  • 홈
  • 태그
  • 방명록
Study/우아한 테크 코스

[우아한 테크 코스] 프리코스 - 4주차, 크리스마스 회고

✨ 목표 마지막 4주차 프리코스에서 피드백과 코드리뷰를 통해 적용 및 공부하기로 마음을 먹은 부분은 1.Stream을 활용 심화 2.객체는 객체스럽게 사용 3.필드의 수를 줄이기 위해 노력 4.ParameterizedTest 5.함수형 프로그래밍 활용 5가지였다. 🔍달성 Stream을 활용 심화 stream의 경우에는 코드리뷰를 받았는데, Stream에 대해서 제대로 공부하지 않고 주먹구구 식으로 사용했기 때문에, 이를 공부해 더 자유롭게 Stream을 활용할 수 있도록 마음을 먹었다. stream의 장점이라고 생각하는건 언제든 병렬로 처리할 수 있도록 큰 노력없이 변경이 가능하고, 가독성과 간결성을 챙기기 위해서다. 그리고 컬렉션을 잘 활용하기 위해 stream을 사용해야 된다고 생각했다. 객체는 객체..

2023. 11. 21. 20:46
Study/우아한 테크 코스

[우아한 테크 코스] 프리코스 - 3주차, 로또 회고

❤️ 서로 PR하기를 원하시는분은 https://github.com/woowacourse-precourse/java-lotto-6/pull/818 여기에 남겨주세요! 👍3주차 목표 3주차는 2주차에서 계획했던 목표인 mvc 패턴에 맞게 유효성 검사하기 public 메소드만 테스트하기 이 두가지에 중점을 뒀다. 이번주에 적용하기 위해서 해당 내용을 정리하여 블로그에 포스팅했는데, 덕분에 이번주차 미션을 해결하는데 도움이 많이 됐다. 특히 private 메소드를 테스트해야 하는 경우라면, 해당 클래스가 너무 많은 책임을 가진것이 아닌지 확인하라는 말에 많은것을 깨달았다. [해리&션 발표 중, 많이 실수하는 부분] https://mntdev.tistory.com/90#%ED%95%B4%EB%A6%AC%26%E..

2023. 11. 10. 20:37
Study/우아한 테크 코스

테스트는 왜 해야할까? 내가 생각하는 테스트코드를 작성하는 이유

테스트와 OCP의 관계 테스트를 작성하는 여러 이유 중 하나는 객체 지향 설계 원칙 중 OCP(Open-Closed Principle)와 관련이 있다. 이 원칙은 클래스는 확장에는 열려 있어야 하고, 수정에는 닫혀 있어야 한다는 것을 의미한다. 이 원칙을 지키지 않을 경우, 테스트하기 어려운 코드가 발생할 수 있다. 예를 들어, 랜덤한 숫자를 가져와야 하는 로직이 있다면, 이 로직을 테스트하는 것이 어려울 수 있다. 랜덤넘버를 이용한 코드와 테스트 [문제 상황] 랜덤한 숫자를 이용해서 게임을 진행하는 코드가 있다고 가정하자. 이러한 로직은 직접 테스트하기 어렵다. public class RandomGame { public String play() { int randomNumber = (int) (Math..

2023. 11. 6. 22:34
Study/우아한 테크 코스

[우아한 테크 코스] 프리코스 - 2주차, 레이싱카 회고

1일차 개발에 들어가기 전 기능 목록 구현을 위해 1주차와 마찬가지로 하지만 1주차의 경험을 바탕으로 설계를 진행하였다. 플로우 차트는 요구 사항에 맞게 금방 구현했었는데, 문제는 역시 클래스 다이어그램을 설계하는 과정이었다. 이번에는 컨트롤러, 서비스, 뷰, 모델로 프로젝트를 구성하기로 생각을 했었다. 이유는 컨트롤러에서 프로그램을 제어하는 책임과, 비즈니스 로직까지 포함되어 있어 처음에 계획했던 것 이상의 책임을 가지게 되었기 때문에 비즈니스 로직을 처리하는 서비스를 만들기로 했다. 서비스에서는 모델에 접근하여 비즈니스 로직을 처리하고, 컨트롤러는 입출력과 서비스를 제어하는 역할을 맡겼다. 이렇게 하니 조금 더 코드가 간결해지고 테스트하기 용이해졌다고 판단했다. 그 다음 고민은, 유효성 검증과 메시지..

2023. 11. 4. 15:37
Study/우아한 테크 코스

private 메소드 테스트 꼭 해야 할까?

private 테스트 해야돼? private 메소드는 어떻게 하나요? 라는 질문이 우테코 단톡에 올라왔다. 리플렉션을 사용하는 방법(개인적으로 절대 사용하지 않는) 내가 답변했던 package-private을 사용하는 방법 테스트 자체를 하지 않는 방법(말도 안된다고 생각했다.) 말도 안된다고 생각 했던 이유는 가장 중요한게 내부 구현인데 그걸 테스트 하지 않는다고? 라고 생각했었기 때문이다. 그래서 나도 package-private을 사용해서 private을 해제하고 내부 구현의 개발을 진행하였다. 그런데 이게 진짜 맞을까? 라는 생각이 들었다. 처음에 이펙티브 자바 접근 제한자에 대해서 공부할 때 package-private(default)에 대해서 알게 되었고, 이를 테스트시에 풀어줘도 된다. 라는..

2023. 11. 2. 19:09
Study/우아한 테크 코스

MVC 패턴, 우아한 테코톡 내용 총 정리

MVC패턴 왜 쓰는 걸까? 우테코를 진행하면서, mvc 패턴에 대해서 막연히, 추상적으로 알고 있었던 부분에 대해서 우아한 테코톡을 보며 mvc의 대한 발표 내용을 정리해보았다. 개인적으로 영상을 보면서 1시간 이내의 짧은 시간으로 많은 부분에 대한 확신을 얻어갔던 것 같다. 제리 발표 내용 정리 1.Model 내부에 Controller와 View에 관련된 코드가 있으면 안된다. 2.View 내부에 Model의 코드만 있을 수 있고 Controller 코드가 있으면 안된다. 3.View가 Model로부터 데이터를 받을때는 사용자마다 다르게 보어주어야 하는 데이터에 대해서만 받아야 한다. 4.Controller는 model과 View에 의존해도 된다. 5.View가 Model로부터 데이터를 받을 때, 반드..

2023. 10. 31. 19:52
  • «
  • 1
  • 2
  • »

공지사항

  • GitHub & WorkSpace

전체 카테고리

  • Development (144)
    • Languege (39)
      • Java & Spring (27)
      • C# & ASP.NET (5)
      • JavaScript (2)
      • Kotlin (5)
    • DB (0)
      • Oracle (0)
    • Study (72)
      • 네트워크 (3)
      • 이펙티브 자바 (41)
      • 우아한 테크 코스 (7)
      • Next Step (3)
      • Certificate (5)
      • Side Proejct (6)
    • Error (18)
      • 개발환경 (10)
      • 트러블슈팅 (6)
    • Algorithm (12)
    • 개발환경 (1)
    • 회고 (2)
애드센스 광고 영역
  • 최근 글
  • 최근 댓글

최근 글

최근댓글

태그

  • #트러블슈팅
  • #클라우드
  • #이펙티브자바
  • #도메인 주도 개발
  • #김영한
  • #스프링부트
  • #effective java
  • #자바
  • #제네릭
  • #spring
  • #구글 클라우드
  • #BOJ
  • #saa
  • #코틀린
  • #spring boot
  • #TDD
  • #kotlin
  • #개발자
  • #이펙티브 자바
  • #Java
  • #김영한 스프링
  • #우테코
  • #객체지향
  • #후기
  • #스프링
  • #백준
  • #백엔드
  • #AWS
  • #GCP
  • #파이썬
MORE

전체 방문자

오늘
어제
전체

블로그 인기글

Powered by Privatenote Copyright © 토마토의 개발일지 All rights reserved. TistoryWhaleSkin3.4

티스토리툴바