토마토의 개발일지
  • 홈
  • 태그
  • 방명록
  • 메뉴 닫기
  • 글작성
  • 방명록
  • 환경설정
    • 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)
  • 홈
  • 태그
  • 방명록
Languege/Java & Spring

[Java/Spring 테스트를 추가하고 싶은 개발자들의 오답노트] 인프런 강의 후기, 강의 강추!!

의존성 주입을 통해 쉬운 테스트를 만드는 방법우선 강의는 Java/Spring 테스트를 추가하고 싶은 개발자들의 오답노트 이며, 해당 강의를 통해 학습한 내용을 정리해보았다.강의 후기는 그동안 추상적인 개념으로만 알고 있던 내용을 정말 잘 정리할 수 있는 기회이자 진작에 들었으면 많은 시행착오를 겪지 않아도 될만한 내용들이 강의에 담겼다고 본다. 그리고 개인적으로 이 강의가 가장 훌륭한점은 전달력이다. 해당 강사분은 카카오 개발자시니 개발 실력은 말할것도 없고, 딕션이나 설명하고자 하는 내용들이 부담없이 머리에 잘 들어온다. 개인적으로는 내용도 좋지만 전달력이 가장 좋아서 6시간 20분의 강의를 겨우 2~3일만에 전부 들었던 것 같다. 테스트의 중요성해당 강의에서는 기존 레이어드 아키텍처에서 출발하여 클..

2025. 7. 18. 16:42
Error/트러블슈팅

[JAVA] ENUM에 setter를 쓰면 생기는 일 (feat. 싱글턴)

⚠️운영 환경에서 Java enum의 상태 변경으로 인한 문제 발생Java에서 enum을 사용하여 미리 메시지를 설정해두고, 해당 메시지가 동적으로 변경되는 로직이 있었다. 그러나 운영 환경에서 간헐적으로 이상한 메시지가 내려가는 문제가 발생하였다. 👌문제찾기Issue에 사용자가 이상한 오류 메시지를 받는 문제가 있었다.간헐적으로 비정상적인 Validation 오류 메시지가 사용자에게 반환되었다. ex) 비밀번호를 입력해주세요 -> 잘못된 아이디 입니다처음에는 해당 메시지가 어디서 오는지 찾고 있었지만, 외부 API에서도 코드에서도 해당 메시지를 발견할 수 없었다. 하지만 DB에 특정 오류 상황에 해당 메시지가 저장되는걸 발견했지만, 해당 API에서 메시지가 변경되는걸 확인할 수 없었다.그렇다면 원인은..

2024. 12. 10. 20:16
Error/개발환경

[ElasticSearch] Spring data elasticSearch 인증 관련 오류 해결

개요엘라스틱 서치 환경을 구축하고, Spring Data Elasticsearch를 연결하는데 문제가 발생하였다.그 이유는 바로 로컬에서 테스트 할 때 와는 다르게 실서버에서는 인증(https, 인증서, Authorization)이 필요했다.하지만 해당 객체를 통해 해결할 수 있다는 기본적인 설정이 있었지만 https와 cert 인증서를 포함하여 Authorization을 모두 포함하는 코드는 찾아볼 수 없었다. 결국 하나씩 디버깅을 해가며 원인 분석을 한 내용을 공유하고자 한다.추가로 Spring data Elasticsearch는 처음 bean이 컨테이너에 생성되면서 handshake를 하게 되는데 이때 elasticsearch의 health를 하게 되는데 네트워크 in/out bound도 확인해야 ..

2024. 9. 6. 18:55
Study/Next Step

[Next Step] ATDD, 클린 코드 with Spring 8기 3주차 리뷰

🎈 테스트와 의존 의존은 무조건 나쁜가에 대해서 이야기했다. 물론 답은 아니다. 의존이 없으려면 하나의 객체가 모든걸 다 처리해야하고, 변경 요구사항이 발생할 때 복잡해진다. 이를 위해서 적절한 범위로 책임을 나누는게 좋고, 불필요한 의존 대상은 정리해야한다. 🔎 테스트와 관련한 궁금증 1.통합 테스트인 경우 외부 라이브러리를 테스트해야 할까? 외부 라이브러리의 기능을 검증할 필요는 없다. 하지만, 그 부분을 활용하는 로직에 대한 검증은 필요할 수 있고, 외부 라이브러리는 변경할 수 없으니 실제 객체를 활용하는게 좋다. 의존성 테스트를 할때는 실제 외부 의존성을 사용하거나, Stub 혹은 Fake로 대체하자. ❤️ 3주차 후기 외부에 의존하는 인수 테스트 미션을 통해 외부 의존성에 대한 고민을 했던 것 ..

2024. 3. 5. 19:13
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
Error/트러블슈팅

[Trouble Shooting] Spring boot 중복 파일 업로드시 file not found에러 발생

오늘은 프로젝트를 진행하며 겪었던 파일 업로드 관련 에러를 말해보려고 한다. 프론트단에서 아래와 같은 여러개의 파일을 업로드를 구현했을때, 백엔드에서 동일한 파일 저장시 file not found에러가 발생하는 문제가 생겼다. (왜 저장이 안되는거지?) 파일1 파일2 파일3 파일4 const fileInput = document.querySelector('input[name="uploadFile"]'); const uploadButton = document.querySelector('#uploadButton'); uploadButton.addEventListener('click', function() { const files = fileInput.files; const formData = new Form..

2023. 4. 26. 22:14
  • «
  • 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)
애드센스 광고 영역
  • 최근 글
  • 최근 댓글

최근 글

최근댓글

태그

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

전체 방문자

오늘
어제
전체

블로그 인기글

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

티스토리툴바