[SpringBoot] Spring Boot 4.0.0 나왔다!!
·
Develop/Spring
스프링 팀에서 2025-11-20 기준으로 Spring Boot 4.0.0 정식 버전을 공개했다.이제 Maven Central에서 바로 가져다 쓸 수 있고,스프링 부트도 3.x 세대 → 4.x 세대로 한 단계 올라간 느낌이다. 공식 블로그와 릴리즈 노트를 기준으로,백엔드 개발자 입장에서 중요한 포인트만 골라서 정리해본다. 1. 뭐가 크게 바뀐걸까? 공식 블로그 기준으로 4.0의 키워드는 대략 이렇게 정리할 수 있다Spring Framework 7 기반코드베이스 전체 모듈화 → 더 작고 집중된 JARJSpecify 기반의 널 안정성(null-safety) 향상Java 25 1급 지원 (최소 지원은 여전히 Java 17)API Versioning, HTTP Service Clients 같은 REST 개발 기..
chat gpt - 계속하려면 challenges.cloudflare.com 차단을 해제하십시오.
·
변소
2025-11-18 클라우드플래어 서버 이슈로 현재 chatGPT를 이용할 수 없습니다.. 😢 클라우드플레어(Cloudflare)는 웹사이트의 보안과 성능을 향상시키는 미국의 인터넷 서비스 기업입니다. 주요 서비스로는 CDN(콘텐츠 전송 네트워크), DDoS 공격 방어, 리버스 프록시, 무료 DNS 서비스(1.1.1.1) 등이 있으며, 개인과 기업 모두 인터넷의 속도, 안전성, 안정성을 높이는 데 사용됩니다. 주요 서비스 및 기능보안: DDoS 공격, 악성 봇 등 다양한 위협으로부터 웹사이트를 보호합니다.성능 향상: 전 세계에 분산된 엣지 네트워크를 통해 콘텐츠를 사용자에게 더 가까운 위치에서 제공하여 속도를 높입니다.리버스 프록시: 웹사이트와 사용자의 사이에 위치하여 트래픽을 보호하고 최적화합니다...
[Java] String 은 왜 불변(Immutable)일까? ( feat. StringBuilder를 써야 하는 이유)
·
Develop/Back-End
코테 풀다가 한 번쯤 턱 맞는 포인트프로그래머스 같은 데서 이런 문제 한 번쯤 본 적 있을 거다.문자열 my_string 과 정수 k가 주어질 때,my_string 을 k번 반복한 문자열을 return 하세요.대부분 처음에는 이렇게 짠다.public String solution(String my_string, int k) { String answer = ""; for (int i = 0; i 테스트 몇 개 돌려보면 잘 동작하고, 길이도 작으면 제출해도 그냥 통과한다.근데 문자열 길이랑 k가 좀만 커지면 이런 코드 패턴이 진짜 성능 구멍이 된다.이유는 하나다.Java 의 String 은 “불변(immutable)” 이기 때문.이 글에서는String 이 불변이라는 게 정확히 무슨 뜻인지왜 그렇게 ..
구 레거시 윈도우 서버 프로젝트 (IIS / ASP) 이관 도전기
·
Develop/DevOps
목차이관 개요 및 환경 정리사전 준비 (백업/점검)IIS 설정 백업 방법웹사이트 파일/데이터베이스 이전IIS 설정 복원 및 재구성 (2012)테스트 및 마이그레이션 체크리스트FAQ & 문제 해결 팁1. 이관 개요 및 환경 정리이관 전 서버: Windows Server 2008 R2 Enterprise (IIS 7.5)이관 후 서버: Windows Server 2012 Standard (IIS 8.0)목적: 특정 사이트만 이전 (전체가 아님)주요 서비스: ASP/ASP.NET 웹사이트, MSSQL 연동, FTP 등2. 사전 준비 (백업/점검)체크리스트웹사이트 파일 백업 (웹 루트 폴더 전체)IIS 설정 백업 (ApplicationHost.config/메타베이스 등)DB 백업 (필요 시 .bak, 또는 DU..
Spring Boot + MyBatis 쿼리 파라미터 자동 로깅 라이브러리 개발 후기 " mybatis-query-logger " 😘
·
인디해커
Spring Boot + MyBatis 쿼리 자동 로깅 라이브러리 개발기이번 포스팅에서는 내가 처음으로 만들어 본 오픈소스 라이브러리인 MyBatis Query Logger를 소개 하려고 한다. 실무에서 MyBatis를 사용하면서 쿼리와 파라미터를 로깅하는 데 번거로움을 느꼈고, 이를 해결하고자 인터셉터 기반의 로깅 도구를 직접 제작하게 되었다. 🤔 라이브러리 소개MyBatis Query Logger는 다음과 같은 기능을 제공한다:SQL 쿼리 자동 로깅바인딩된 파라미터 이름 및 값 출력실행 시간(ms) 측정 및 느린 쿼리(Slow Query) 감지SLF4J 또는 System.out.println 중 선택 가능Spring Boot 자동 설정 지원 설치 방법dependencies { implement..
[nssm] 윈도우(window)에서 JAR 파일 서비스로 등록하기 🤡🍯🐝
·
Develop/DevOps
nssm (Non-Sucking Service Manager)은 Windows 환경에서 Java 애플리케이션이나 기타 실행 파일을 Windows 서비스처럼 등록해서 관리할 수 있게 해주는 매우 실용적인 도구 🤡 인프라가 열악하여 api 서버를 스테이션 남는거에 돌리고 있는데정전이라도 일어나면 데이터 동기화 스케줄러들이 죽는게 아닌가 :( 그래도 외부 유지보수 업체분들이 작업하고 스테이션은 꼭 정상화 이후에 키고 가니서버라도 알아서 재부팅하게 설정해보도록 하자 도커를 사용하다가 윈도우에서는 너무 무겁고 굳이 컨테이너로 배포할 필요가 없다 그래서 찾다가 발견된 nssm !!!!! 🐝🐝🐝🐝🐝 1. 커맨드로 nssm.exe를 실행해보면 ( nssm.exe 파일이 있는 경로에서 실행!) -..
[Docker] 도커로 환경을 옮긴 후 셀레니움이 실행이 안되는 오류 해결
·
Develop/Trouble Shooting
SessionNotCreatedException: Could not start a new session Possible causes are invalid address of the remote server or browser start-up failure. 도커에 대한 이해도가 떨어졌다.. 도커는 컨테이너 개념인데 당연히 구글 크롬이 설치가 안되어 있는데드라이버로 실행하려 하니 발생한 문제.. 😓 FROM eclipse-temurin:17-jdk# Chrome 설치에 필요한 패키지와 라이브러리 설치RUN apt-get update && apt-get install -y \ wget curl gnupg2 unzip fonts-liberation \ libglib2.0-0 libnss3 lib..
[SpringBoot] When allowCredentials is true, allowedOrigins cannot contain the special value "*" since that cannot be set on the "Access-Control-Allow-Origin" response header. To allow credentials to a set of origins... 어쩌고저쩌고.. 오류 해결하기 🤔
·
Develop/Trouble Shooting
java.lang.IllegalArgumentException: When allowCredentials is true, allowedOrigins cannot contain the special value "*" since that cannot be set on the "Access-Control-Allow-Origin" response header. To allow credentials to a set of origins, list them explicitly or consider using "allowedOriginPatterns" instead. 스프링부트에서 웹소켓 서버를 만들어서간단한 플레시게임을 만드려고 했는데 엥?? 이전에는 이렇게 작성하면 별 문제 없었는데??모든 Access-Contro..