분류 전체보기
스프링부트 validation 어노테이션 정리 메모장
@NotNull: 필드가 null이 아니어야 함을 지정합니다. @Null: 필드가 null이어야 함을 지정합니다. @Size(min=, max=): 문자열, 컬렉션, 배열 필드의 크기가 지정된 범위 내에 있어야 함을 지정합니다. min과 max 속성으로 최소, 최대 크기를 지정할 수 있습니다. @Min(value): 숫자 필드가 지정된 최소값 이상이어야 함을 지정합니다. @Max(value): 숫자 필드가 지정된 최대값 이하이어야 함을 지정합니다. @Positive: 숫자 필드가 양수이어야 함을 지정합니다. @PositiveOrZero: 숫자 필드가 0 또는 양수이어야 함을 지정합니다. @Negative: 숫자 필드가 음수이어야 함을 지정합니다. @NegativeOrZero: 숫자 필드가 0 또는 음수이..
RESTful API 설계 및 구현 가이드
서론 웹과 모바일 애플리케이션의 폭발적인 증가로 RESTful API의 중요성이 더욱 부각되고 있습니다. 이 글에서는 RESTful API의 기본 개념과 핵심 가이드라인을 소개하겠습니다. 1. RESTful API 소개 REST(Representational State Transfer)는 자원을 표현하고 그 자원에 대한 상태를 주고받는 아키텍처 스타일입니다. RESTful API는 이러한 아키텍처 스타일을 따르며, 자원을 URI로 표현하고 HTTP 메소드를 통해 자원에 대한 행위를 정의합니다. 2. URI 설계 URI는 명사로 구성되어야 합니다. 동사를 사용하지 않고, 자원을 나타냅니다. 계층 구조를 활용하여 각 리소스에 대한 관계를 나타내고 가독성을 높입니다. 3. HTTP 메소드 활용 URI는 명사로..
CORS(Cross-Origin Resource Sharing) 해결과 포스트맨 활용
CORS(Cross-Origin Resource Sharing) 해결과 포스트맨 활용 최근 웹 개발을 시작한 대학생 여러분들에게는 CORS(Cross-Origin Resource Sharing)라는 용어가 생소할 수 있습니다. 이번 글에서는 CORS가 무엇인지, 어떤 경우에 발생하는지, 그리고 포스트맨에서는 왜 CORS 문제가 발생하지 않는지에 대해 자세히 알아보겠습니다. CORS란? CORS는 웹 브라우저에서 실행 중인 스크립트가 다른 출처의 리소스에 접근하는 것을 제한하는 보안 기능입니다. 다른 출처란 프로토콜, 도메인, 포트 중 하나라도 다르면 다른 출처로 간주됩니다. 이러한 보안 정책은 사용자의 데이터를 보호하고 악의적인 사이트로부터의 공격을 방지합니다. CORS가 발생하는 경우 CORS는 주로 ..
가장 많이 검색하는 리눅스 명령어와 사용 방법 (간략)
사용자들이 가장 많이 검색하는 리눅스 명령어 10가지에 대해서 나열하고 간단하게 사용 방법을 포스트 하려고 합니다. ls (List): 설명: 현재 디렉토리의 파일 및 하위 디렉토리 목록을 표시합니다. 사용법: ls [옵션] [디렉토리 경로] 예시: ls -l cd (Change Directory): 설명: 현재 작업 디렉토리를 변경합니다. 사용법: cd [디렉토리 경로] 예시: cd Documents cp (Copy): 설명: 파일 또는 디렉토리를 복사합니다. 사용법: cp [옵션] 소스 대상 예시: cp file.txt /path/to/destination mv (Move): 설명: 파일 또는 디렉토리를 이동하거나 이름을 변경합니다. 사용법: mv [옵션] 소스 대상 예시: mv file.txt /p..
JUL (java.util.logging) vs Log4j2 vs SLfj2 비교하기.
java.util.logging, log4j2, 그리고 Slf4j는 Java 언어에서 로깅을 위한 여러 라이브러리 및 프레임워크입니다. ● java.util.logging (JUL) Java 표준 로깅 API: JDK에 내장된 기본 로깅 프레임워크입니다. 장점: 표준 Java API이기 때문에 JDK에 내장되어 있어 추가적인 라이브러리의 의존성이 없습니다. 자바 표준이므로 Java SE 환경에서 쉽게 사용할 수 있습니다. 단점: 유연성이 부족하며, 고급 로깅 설정이 제한적입니다. 포맷팅과 필터링 등의 기능이 다른 라이브러리에 비해 부족합니다. ● Log4j2 강력하고 유연한 로깅 프레임워크: Apache Software Foundation에서 개발한 로깅 라이브러리로, 많은 고급 기능을 제공합니다. 장점..
GitHub 계정 액세스 토큰 발급 받기.
인텔리 제이나 CodeCommit , 젠킨스에서 GitHub의 Private Repository를 접근하기 위해서는 액세스 수단이 필요하다. 이 포스트에서는 액세스 수단 중 액세스 토큰을 생성하는 방법을 설명한다. 1.GitHub 설정 화면 이동. 2. Developer settings 이동 3. Personal access tokens- Tokens(claaic) 이동 4. Generate new token(classic) 이동 5. 토큰 권한 설정 * Note : 액세스 토큰 이름 ( 액세스 토큰이 어디에 쓰이는지 적으시면 나중에 보기 편합니다. ) *Expiration : 액세스 토큰 유효 기간 ( 30 Days : 30일 동안 사용가능, 저는 만료 없음으로 했습니다.! ) 토큰 권한은 아래와 같이..
CloudFront + Lambda(Edge) + S3 온디맨드 이미지 서버 만들기
이번 포스트는 CloudFront ( AWS CDN )과 Lambda 그리고 S3를 이용해서 온디맨드 이미지 서버를 만드는 과정을 기록하려고 한다. 온디맨드 이미지 서버란? 기존 이미지 서버에서는 이미지를 업로드하는 프로세스 중에 리사이징을 하고 각 사이즈의 이미지 파일도 저장을 하였다. 그 결과는 S3의 저장 증가와 새로운 사이즈의 타입이 추가되었을때 문제가 되었다. 그래서 이미지를 저장할때, 원본의 이미지를 바로 저장하고. GEt 요청할 때마다 원하는 타입의 사이즈로 리사이징 하여 이미지를 제공한다. 단, 매 요청마다 리사이징을 하게 되면 서버의 연산 과부화가 발생하기에 CloudFront와 같은 CND 캐싱 기능을 통해 최초 1회 리사이징 하여 응답한 이미지는 캐싱 처리한다. 순서는 아래와 같다. ..
MySql my.cnf 설정 요소...
MySQL 기본 설정 시스템에 따라 데이터 파일과 같은 일부 변수 값이 달라질 수 있으니, 자신의 시스템에 맞게 수정해서 사용하자. 하드웨어 일반적으로 대용량 InnoDB에서는 CPU보다 메모리가 관건이다 최근에는 대부분 16-32G정도의 메모리가 가격대비 성능이 좋은 편이다 RAID 1+0 빠른 입출력을 원한다면 SSD혹은 SAS사용 운영체제 운영하는것이 redhat,centos 를 추천 또한 무조건 64bit를 사용해야 한다. [code lang="bash"] vi /etc/my.cnf [/code] [code lang="Apache"] [client] port = 3306 socket = /tmp/mysql.sock [mysqld] # generic configuration options port ..