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

[Spring Framework OPEN API서비스 교육] 1.API KEY란?

[API KEY] 특징 - 인증(X) : 식별만 수행한다. - 목적 : 통계와 사용량 제한 - 공용 데이터 조회시에 주로 사용 사이트 단위로 접근 허용 - 사용자별 로그인을 하지 않아도 접근 가능한 페이지에 적용 가능 - 1일 사용량 제한하는 경우가 많음 서명 키 없이 API KEY와 사이트 URL을 이용해 접근 제한이 가능하다. 1.클라이언트 개발자는 Provider에 hostName 및 기타 정보를 이용해 API KEY를 요청한다. 2.Provider는 API KEY를 생성하고 hostName 및 기타 정보를 DB에 저장하고 , API KEY를 발급한다. 3.클라이언트 개발자는 해당 API KEY를 통해 데이터를 요청한다. 4.Provider는 API KEY & Origin을 Validate하고 성공..

2022. 10. 4. 15:41
  • «
  • 1
  • »

공지사항

  • 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)
애드센스 광고 영역
  • 최근 글
  • 최근 댓글

최근 글

최근댓글

태그

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

전체 방문자

오늘
어제
전체

블로그 인기글

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

티스토리툴바