전체 글340 날짜 변환하기 - SimpleDateFormat SimpleDateFormatDate -> String 포맷팅 또는 String -> Date 파싱 시 사용할 수 있다.사용법은 다음과 같다. 1. Date -> String 포맷팅SimpleDateFormat이 정의된 형식 그대로 출력한다.String eventTime = "2025-10-02 11:28:03.638";SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS");Date result = simpleDateFormat.parse(eventTime); 2. String -> Date 파싱패턴에 포함된 모든 **구분 기호 (하이픈 -, 슬래시 /, 콜론 :, 한글 문자 등)**가 입력 문자열의 해당 위치.. 2025. 10. 13. Singleton Pattern 싱글턴 패턴 싱글턴 패턴의 특징싱글턴 패턴은 클래스 인스턴스를 하나만 만들고, 그 인스턴스로의 전역 접근을 제공합니다.- 싱글턴이 Lazy 방식으로 생성되도록 구현할 수 있습니다.- 자원을 많이 잡아먹는 인스턴스에 특히 유용합니다 ( 애플리케이션이 시작될 때 객체가 생성되는 전역변수로 선언하는 것보다 자원을 아낄 수 있습니다.) 멀티스레딩 문제- 멀티스레드 환경에서는 동시 접근 문제 때문에 의도치 않게 여러 인스턴스가 만들어질 수 있다.- 단순히 public 접근자에서 인스턴스 유무를 가지고 판단하게 되면 인스턴스가 여러개 생성될 수 있다class Singleton { private static Singleton instance; private Singleton() {} public static S.. 2025. 9. 7. 팩토리 메서드 패턴 vs 추상 팩토리 패턴 팩토리 메서드 패턴과 추상 팩토리 패턴은 객체 생성을 캡슐화 하는 패턴이며,클라이언트와 구상 클래스가 서로 분리된 유연한 디자인을 구현할 수 있게 도와준다. 팩토리 메서드: “어떤 구체 Product를 만들지”를 하위 Creator가 결정한다추상 팩토리: “어떤 제품군(여러 Product 계층) 을 만들지”를 팩토리 인스턴스 교체로 결정한다언제 어떤 패턴을 쓰나?팩토리 메서드한 제품 계층만 다루고, 구체 타입 선택을 상속(하위 Creator) 으로 바꾸고 싶을 때.상위 로직(템플릿) 속에서 객체 생성 지점을 오버라이드로 바꾸고 싶을 때.클래스 수가 비교적 적고 “템플릿 메서드” 흐름이 중요할 때.추상 팩토리여러 제품 계층(예: Button/Checkbox/…)이 세트(제품군) 로 맞물려야 할 때.런타임.. 2025. 9. 7. Statement vs PrepareStatement (feat 동적 쿼리) 같은 기능이지만 다른 정책을 봐야하는 경우조회 시 사용하는 쿼리 형태는 같으나 테이블, 컬럼명이 달라지는 경우가 있다.이때 정책에 따라 사용하는 테이블, 컬렴명을 미리 정의해두고, 쿼리의 인자로 넘겨서 쿼리를 재사용할 수 있다. 개발 환경은 MariaDB, MyBatis와 SpringBoot 이다. 1. 미리 enum 으로 조건에 따라 조회 시 사용하는 테이블명, 컬럼명, 코드 등을 정의해놓는다 2. 쿼리 작성 시 #{}, ${} 를 사용한다 #{} 에 문자열을 넣으면 '문자열' 이렇게 변환이 된다.${} 에 문자열을 넣으면 그대로 문자열이 변환된다. 어떻게 가능한가? PrepareStatement에는 보통 변수를 설정하고 바인딩하는 static sql이 사용되고,Statement에서는 쿼리 자체에 조.. 2025. 9. 7. SpringBoot 3.3.x → 3.4.x Migration 트러블슈팅 서버 모듈에 사용하는 SpringBoot 버전을 변경하는 이슈를 맡아서마주한 문제점들을 공유해보겠습니다. 이번에 제가 맡은 일은 저희 팀에서 관리하는 자바 모듈의 SpringBoot 의존성을 3.4.3버전으로 변경하는 것이었어요.아직 쭈니어 개발자인 저… 의존성 버전을 변경하는 이슈는 개발자 인생에서 처음이었는데요.SpringBoot 3.3.1 → 3.4.3“메이저 버전은 그대로고, 마이너 버전만 변경하는 것이니 별로 달라진거 없을거다. 다른 프로젝트에서도 똑같이 SpringBoot 버전을 변경했는데, 문제 없이 잘 동작했다. “는 말을 듣고“아 그럼 버전 올리고 테스트 한 바퀴 돌리면 끝이겠다~ 빨리 끝나겠다~” 라는 생각을 했습니다.그리고 버전을 올려서 서버를 패치했는데 제대로 동작하지 않았어요. 문.. 2025. 4. 20. [TWIL] DNS와 /etc/hosts 사이트에서 DNS 서버 정보를 변경해서 /etc/resolv.conf 파일이 변경이 되었는데,서비스에 영향도가 있냐는 문의가 왔었습니다. 오늘은 DNS 서버는 무엇이고, /etc/resolv.conf 파일은 무엇인지.hostName 설정하는 /etc/hosts 파일은 무엇인지정리해보는 시간을 가져보겠습니다. 1. DNS 서버네임서버라고도 불리는 DNS(Domain Name System)서버는 도메인을 IP주소로 변환시켜서 사용자가 원하는 정보를 가진 컴퓨터로 찾아가게 해주는 역할을 수행합니다. 예를 들면,1. 웹 브라우저에 도메인을 입력하면 컴퓨터는 해당 IP 주소를 얻기 위해 DNS 서버에 요청을 보냅니다2. DNS서버는 데이터베이스를 검색하거나 다른 DNS서버에 연결하여 도메인과 연결된 IP주소를 .. 2025. 4. 13. 이전 1 2 3 4 ··· 57 다음