토마토의 개발일지
  • 홈
  • 태그
  • 방명록
  • 메뉴 닫기
  • 글작성
  • 방명록
  • 환경설정
    • 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/이펙티브 자바

[Effective Java 3E] 생성자 대신 정적 팩터리 메서드를 고려하라

💥 개요 보통 개발시 public 생성자를 자주 사용하는데, 이펙티브 자바에서 조슈아 형님이 정적 팩터리 메서드를 사용하면 아주 행복한 상황들이 일어난다고 합니다. 아래에서 계속 얘기해 볼 텐데 정적 팩터리 메서드는 그 클래스의 인스턴스를 반환하는 생성자와 동일한 역할을 하는 단순 static method를 제공하는 것을 정적 팩터리 메서드라고 합니다. ❤️ 장점 1. 이름을 가질 수 있다. 위와 같은 단순한 생성자를 생각해보면, 생성자를 넘기는 매개변수와 생성자 자체만으로 반환되는 객체의 특성을 정확하게 설명하지 못합니다. 하지만 정적 팩터리는 이름만 잘 지어주게 된다면 특성을 제대로 설명이 가능합니다. 클이언트는 컴퓨터를 얻고 싶다면 compuer를 얻는 정적 팩터리 메서드를 호출하면 되고, 책을 얻..

2023. 8. 13. 01:07
Error/트러블슈팅

[Trouble Shooting - CORS] Spring Boot CORS 와일드카드(*) 설정방법

💥 개요 사이드 프로젝트 진행 시 항상 문제가 되던건, CORS였습니다. CORS란 CORS(Cross-Origin Resource Sharing)는 클라이언트(웹 브라우저)에 의해 제어되는 HTTP 기반 보안 메커니즘입니다. 이를 통해 서비스(API)는 클라이언트가 요청할 수 있는 오리진 이외에 요청할 수 없는 오리진도 표시할 수 있습니다. 한 오리진에서 로드한 웹사이트(HTML 문서 또는 JS 스크립트)가 다른 오리진의 리소스와 상호 작용할 수 없게하는 SOP(Same-origin policy)와 함께 설계되었습니다. CORS는 일부 크로스 오리진 요청을 명시적으로 허용하고 다른 요청은 거부하는데 사용됩니다. CORS는 기본적으로 웹 브라우저에서 구현되지만 API 클라이언트에서도 옵션으로 사용할 수 ..

2023. 7. 22. 20:35
Error/트러블슈팅

[Trouble Shooting - Transaction과 DB Session] DB 특정 테이블 (row) 업데이트 안되는 문제

💥 개요 각자 개발된 프로젝트를 병합(리펙토링)하는 과정에서 요구사항에 포함된 신규 API를 구현하는 도중, DB 특정 테이블의 Row에서 Update가 Excution time만 증가하고 update는 실행되지 문제가 발생함 ❓ 문제 원인 레거시 프로젝트 어플레케이션 로직에서 트랜잭션을 실행하고, update를 하는데 성공시 1이 return되고 실패시 -1이 반환되는 코드 개발 중간 테스트하던 도중 아래 코드와 같이 문제가 발생함. public class JdbcActorDao implements ActorDao { private JdbcTemplate jdbcTemplate; public void setDataSource(DataSource dataSource) { this.jdbcTemplate ..

2023. 7. 17. 14:19
Error/개발환경

SourceTree 무반응, 안켜짐, 실행안될때

C\user\{user}\AppData\Local\Atlassian\SourceTree.exe_url~~~~~\3.4.7.0(버전) 폴더 아래에 Composition.cache를 삭제 후 소스트리 실행시 정상 동작

2023. 6. 20. 09:18
Error/트러블슈팅

[Trouble Shooting - RequestBody와 생성자] 스프링부트 LocalDateTime JsonFormat 안됨

개발 중 있었던 일, 통합 API 테스트 코드 작성 중 특정 도메인의 생성 테스트 코드가 동작하지 않고 아래와 같이 오류가 발생했다. com.fasterxml.jackson.databind.exc.InvalidFormatException: Cannot deserialize value of type `java.time.LocalDateTime` from String "2023-05-19 16:51:32230519 16:51:32": Failed to deserialize java.time.LocalDateTime: (java.time.format.DateTimeParseException) Text '2023-05-19 16:51:32230519 16:51:32' could not be parsed at i..

2023. 5. 19. 18:39
Languege/Java & Spring

RestAssured session 사용시 default value 저장

RestAssured로 api 테스트시 로그인 session을 매번 Cookie를 요청마다 실어주어야 하는지, 다른 방법은 없는지 궁금증이 생겼다. 그렇게 RestAssured 공식 문서와 구글링을 통해 알아낸 방법은 아래와 같다. .cookie("JSESSIONID", sessionId) 🎈 RestAssured 세션 기본값 설정하는 방법 방법은 아주 간단하다. RestAssured.sessionId = 설정할 세션id 와 같이 지정하면 끝이다. var response = 로그인요청(request); RestAssured.sessionId = response.cookies().get("JSESSIONID"); ✨ RestAssured JWT(Oauth2) 기본값 설정하는 방법 현재 프로젝트는 폐쇄망에서..

2023. 5. 17. 16:02
  • «
  • 1
  • ···
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • ···
  • 24
  • »

공지사항

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

최근 글

최근댓글

태그

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

전체 방문자

오늘
어제
전체

블로그 인기글

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

티스토리툴바