본문 바로가기
728x90
반응형

분류 전체보기195

개발할때 유용한 사이트 모음 1. 변수명 짓기https://www.curioustore.com/#!/ Curioustore변수명 짓기, 컬럼명 짓기, 영어약자, 変数名 つけ方, カラム名建てる, 英語の略語, 命名变量, 命名该列, 英文缩写, https://var.ggwww.curioustore.com 2. AWS, Azure 아키텍처 다이어그램https://www.cloudcraft.co/ Cloudcraft – Draw AWS diagramsVisualize your AWS environment as isometric architecture diagrams. Snap together blocks for EC2s, ELBs, RDS and more. Connect your live AWS environment.www.cloudcraft.. 2025. 3. 25.
Nginx에서 400 Bad Request 오류 발생 원인: Cookie 크기와 요청 헤더 크기 제한 문제 1. 배경사이트 접속 시 400 Bad Request 오류가 발생했습니다.특히, 쿠키 크기를 5KB 이상으로 늘린 이후 오류가 발생하여, 쿠키 크기가 영향 있을 것으로 판단하였습니다.  2. 원인Nginx에서 client_header_buffer_size  설정을 따로 지정하지 않으면, 기본적으로 요청 헤더 크기 제한이 8KB(8192 bytes)로 설정되어, HTTP 요청의 전체 헤더 크기(Cookie, Authorization, User-Agent 등)가 8KB를 초과하면 Nginx에서 400 Bad Request를 반환하게 됩니다. 예를 들어, 브라우저에서 서버로 HTTP 요청을 보낼 때, 쿠키 값 외에도 다양한 헤더 값들이 함께 전송됩니다.요청 예시:GET /api/data HTTP/1.1Host.. 2025. 3. 18.
[JAVA] Google OTP (TOTP) 구현하기 Google OTP는 2단계 인증을 통해 보안을 강화하는 중요한 요소입니다. 이번 포스트에서는 Java로 Google OTP를 구현하는 방법을 소개합니다. Google OTP 구현 시 사용하는 두 가지 방법인 Warrenstrange Googleauth 라이브러리와 Apache Commons Codec을 비교하고, 사용하는 방법을 설명하겠습니다. 1. OTP란?OTP(One Time Password)는 특정 시간 동안만 유효한 일회성 비밀번호입니다. Google Authenticator와 같은 앱에서 생성되는 OTP는 Time-Based One-Time Password (TOTP) 알고리즘을 기반으로 작동하며, 서버와 클라이언트가 동일한 Secret Key와 시간 기준을 공유하여 생성됩니다. 2. Goo.. 2025. 1. 13.
[SpringBoot] logback xml을 java configuration으로 변환하기 Spring Boot 프로젝트에서는 일반적으로 로깅 설정을 위해 logback-spring.xml 파일을 사용합니다. (XML 기반 설정)Java 기반 설정의 장점(유연성과 정적 타입 검사)을 고려하여 로깅 설정을 Java Configuration으로 변환하겠습니다. 기존 XML 기반 Logback 설정 ${LOG_PATTERN} ${LOG_FILE} ${LOG_PATTERN} ${LOG_FILE}-%d{yyyy-MM-dd}.zip 30 .. 2024. 11. 4.
[SpringBoot] Spring Profile과 환경별 resource 설정 애플리케이션을 개발하면서 여러 환경(예: local, dev, staging, production)에 맞춘 구성을 제공하는 일은 매우 중요합니다.과거에는 Maven의 profile 기능을 사용해 환경별 빌드를 관리하는 방식이 널리 사용되었습니다. 하지만 Spring Boot는 자체적으로 프로파일(profile)과 설정 라이프사이클을 제공하여, Maven 의존성 없이도 환경별 속성을 손쉽게 관리할 수 있습니다.Spring Profiles와 설정 파일 구성Spring Boot에서는 application.yml 파일을 기본으로 사용하고, 각 환경에 맞춘 설정 파일을 application-{profile}.yml 형태로 추가하여 관리할 수 있습니다.예를 들어, application-local.yml, appli.. 2024. 11. 4.
[SpringSecurity5] OAuth2.0로 카카오 로그인 구현 OAuth2.0로 카카오 로그인 구현 방법에 대해 포스팅하겠습니다. 1. 카카오 개발자 센터에서 애플리케이션 등록카카오 개발자 센터(https://developers.kakao.com/)에 접속하여 로그인 후 애플리케이션을 등록합니다.  앱 이름과 회사 정보를 작성한 뒤, 카카오 로그인 기능을 활성화합니다.Redirect URI: http://localhost:8080/login/oauth2/code/kakao와 같은 형식으로 설정합니다. 이 값은 Spring Security에서 카카오로부터 인증 후 리디렉션될 URL입니다. 애플리케이션을 등록하면, Client ID (REST API Key)와 Client Secret을 발급받습니다. 카카오 로그인 시 개인정보를 가져오기 위해서는 동의항목 설정을 해야합.. 2024. 10. 17.
[SpringSecurity5] OAuth2.0로 네이버 로그인 구현 OAuth2.0로 네이버 로그인 구현 방법에 대해 포스팅하겠습니다. 1. 네이버 개발자 센터에서 애플리케이션 등록네이버 개발자 센터(https://developers.naver.com)에접속하여 로그인 후 애플리케이션을 등록합니다. 앱 이름과 설명을 작성하고, 사용 API에서 "네이버 로그인"을 선택합니다. 서비스 URL: 실제 서비스나 개발 환경의 URL을 입력합니다.Callback URI: http://localhost:8080/login/oauth2/code/naver와 같은 형식으로 설정합니다.이 값은 Spring Security에서 사용되는 OAuth2 리디렉션 URL입니다. 애플리케이션을 등록하면, Client ID와 Client Secret을 발급받습니다.   2. Spring Boot 설정.. 2024. 10. 17.
[Spring Security5] OAuth2 로그인 설정 Spring Boot 애플리케이션에 OAuth 로그인을 추가하는 과정은 주로 Spring Security와 OAuth2 클라이언트 설정을 통해 이루어집니다. OAuth 제공자(예: Google, Facebook, Naver 등)와 통합하기 위한 일반적인 순서는 다음과 같습니다 1. 필요한 의존성 추가Spring Boot 프로젝트에서 OAuth2 로그인을 지원하려면 Spring Security OAuth2 Client 의존성을 추가해야 합니다.Maven: org.springframework.boot spring-boot-starter-oauth2-client org.springframework.boot spring-boot-starter-security 2. OAuth2 제공자 설정O.. 2024. 10. 17.
[JAVA16] stream().collect(Collectors.toList())와 stream().toList() Java에서 stream().collect(Collectors.toList())와 stream().toList()는 스트림을 리스트로 변환하는 두 가지 방법입니다. JDK 16에서 Stream.toList() 메서드가 도입되었으며, 이 메서드와 Collectors.toList() 메서드 간의 차이점은 다음과 같습니다. stream().collect(Collectors.toList())가변 리스트 반환stream().collect(Collectors.toList())는 가변 리스트를 반환합니다. 즉, 반환된 리스트는 수정할 수 있습니다.유연성Collectors.toList()는 더 많은 유연성을 제공합니다. 커스터마이징이 필요한 경우 다른 Collector와 결합하여 사용할 수 있습니다.JDK 8 이상에서.. 2024. 7. 3.
웹사이트 분석 사이트 주소 1. 트래픽 https://www.similarweb.com/ Website Traffic - Check & Analyze Any Website | SimilarwebAll-in-one digital intelligence - Unlock the most powerful and most accurate digital datasets to research any market, company, website, app, or marketplacewww.similarweb.com 2. 사이트 정보https://v1.web-check.xyz/ Web Check - X-Ray Vision for any WebsiteWeb Check is the all-in-one OSINT and security tool, for.. 2024. 6. 25.
728x90
반응형