본문 바로가기

전체 글

(97)
[Chrome] 스크롤 있는 화면 전체 캡처하는 방법 전체 화면이 길어 한 번에 스크린샷을 찍기 어려운 경우, 아래와 같은 방법으로 스크롤이 포함된 전체 화면을 캡처할 수 있습니다. 첫 번째, F12 키를 눌러 개발자 도구를 엽니다.두 번째, Ctrl + Shift + P를 눌러 명령어 입력 창(Command Palette)을 실행합니다.세 번째, 검색창에 Capture full size screenshot을 입력하고, 해당 항목을 클릭합니다.크롬이 한글이라면, 원본 크기 스크린샷 캡처를 입력합니다. Capture full size screenshot을 누른 후, 원하는 위치에 저장합니다. 전체 화면 캡쳐가 되는 것을 확인할 수 있습니다. Edge도 같은 방법으로 캡처할 수 있습니다.
@PathVariable vs @RequestParam @PathVariable@Target(PARAMETER)@Retention(RUNTIME)@Documentedpublic @interface PathVariable 설명@PathVariable은 메서드 파라미터가 URI 템플릿 변수에 바인딩되어야 함을 나타냅니다. @RequestMapping으로 정의된 핸들러 메서드에서 지원됩니다.예를 들어 /users/{id} 같은 경로에서 id를 메서드 파라미터로 받기 위해 사용합니다.만약 파라미터 타입이 Map이라면, 모든 경로 변수 이름과 값을 자동으로 맵에 채웁니다. 사용 예시@GetMapping("/users/{id}")public ResponseEntity getUser(@PathVariable Long id) { return userService.fi..
[Git] .gitkeep .gitkeep 파일이란?Git은 기본적으로 빈 디렉토리는 추적하지 않습니다. 즉, 디렉토리 안에 파일이 하나도 없으면 해당 폴더는 Git 저장소에 포함되지 않습니다. 그러나 프로젝트의 구조상 비어 있어도 반드시 유지해야 하는 폴더들이 존재할 수 있습니다. 예를 들어:로그가 저장될 logs/ 폴더업로드 파일용 uploads/ 폴더생성 코드용 generated/ 폴더 등이러한 경우 Git이 디렉토리를 추적하도록 하기 위해 관례적으로 사용되는 것이 .gitkeep입니다. .gitkeep의 역할빈 디렉토리를 Git에 포함시키기 위한 마커 파일Git에서 공식적으로 정의된 파일은 아님단순히 디렉토리를 비워두지 않기 위해 임의의 파일을 넣는 방법 중 하나.keep 또는 .empty라는 이름을 사용하는 경우도 있으나..
[JPA] column 초기화 에러 해결 JPA에서 columnDefinition이 기대한 대로 작동하지 않았던 이유 💭 의도한 로직처음에는 JPA 엔티티 필드에 아래와 같이 columnDefinition = "BOOLEAN DEFAULT FALSE"를 명시하면, 아무 값을 설정하지 않더라도 DB가 자동으로 false 값을 채워줄 것으로 기대했습니다.@Column(name = "co2_level_flag", nullable = false, columnDefinition = "BOOLEAN DEFAULT FALSE")private Boolean co2Level; 이 필드는 아래와 같이 AirQualityDataFlag 클래스에 포함되어 있습니다.@Embeddable@Getter@NoArgsConstructor(access = AccessLeve..
[Spring boot] Gradle Toolchains (3/3) 설치 경로, 우선순위, 플러그인에서의 Tool Chain 활용이 글은 Gradle Toolchains 공식 문서의 마지막 편으로, tool chain 설치 경로 구성, 우선순위 규칙, plugin 또는 커스텀 task에서의 활용, Alpine 환경 제한사항까지 포함합니다. 📁 Tool Chain 설치 경로 수동 지정자동 감지가 부족하거나 비활성화된 경우, tool chain 경로를 명시적으로 Gradle에 알려줄 수 있습니다. 환경 변수 기반 지정환경 변수 JDK8, JRE17이 유효한 Java 설치 경로를 가리킨다고 가정할 때:org.gradle.java.installations.fromEnv=JDK8,JRE17Gradle은 해당 환경 변수를 확인하여 설치된 Java로 간주합니다. 설치 경로 직접 지..
[Spring boot] Gradle Toolchains (2/3) 작업 단위 설정과 고급 Tool Chain 구성이 글은 Gradle 공식 문서의 한국어 번역 두 번째 편으로, 작업(Task) 단위에서의 tool chain 구성 방법과, Java vendor 필터링, GraalVM 설정 등 고급 기능을 다룹니다. 🔧 작업(Task) 단위 Tool Chain 구성특정 작업에서 사용하는 Java tool chain을 세부적으로 조정하려면, 해당 작업에 어떤 실행 도구를 사용할지 명시할 수 있습니다.예: Test 작업은 어떤 java 실행 파일을 사용할지 결정하는 JavaLauncher 속성을 노출합니다.다음은 컴파일 작업은 Java 8로, 테스트는 Java 17로 설정하는 예시입니다:// list/build.gradletasks.withType(JavaCompile).c..
[Spring boot] Gradle Toolchains (1/3) Java Toolchains 개념과 프로젝트 설정Gradle 6.7부터 도입된 Java Toolchain 기능은, 여러 Java 버전을 다루는 프로젝트에서 빌드 환경을 일관되게 유지하고 예기치 않은 오류를 방지하기 위해 사용됩니다. 🧩 Java Toolchain이란?여러 프로젝트에서 동시에 작업하거나, 하나의 프로젝트 내에서도 하위 모듈별로 서로 다른 Java 언어 수준을 요구하는 경우가 있습니다. 이는 하위 호환성 등의 이유로 코드베이스의 일부가 특정 Java 버전에 고정되어야 하기 때문입니다.이러한 상황에서는 빌드 머신마다 여러 버전의 동일한 도구(즉, Toolchain)를 설치하고 관리해야 합니다.Java Toolchain은 Java 프로젝트를 빌드하고 실행하는 데 필요한 도구들의 집합이며, 일반..
[CS] HTTP 상태 코드 HTTP 상태 코드(Http Status Code)웹에서 클라이언트와 서버는 데이터를 주고받을 때 일정한 규칙을 따릅니다. 그 규칙 중 대표적인 것이 바로 HTTP(HyperText Transfer Protocol)입니다.HTTP 프로토콜에서는 클라이언트가 보낸 요청이 서버에서 어떤 상태로 처리됐는지를 숫자로 알려주는 체계가 있는데, 이것을 HTTP 상태 코드(Status Code)라고 합니다.  HTTP 상태 코드는 서버가 클라이언트의 요청을 처리한 결과를 나타내는 3자리 숫자입니다. 이 상태 코드를 통해 개발자는 요청의 성공 여부, 오류 원인, 리소스의 상태 등을 손쉽게 파악할 수 있습니다. 상태 코드는 크게 5가지 범위로 구분되는데, 각 범위마다 다음과 같은 의미를 가집니다.1xx (정보 제공) :..