반응형

전체 글 91

warning: unknown enum constant When.MAYBEreason: class file for javax.annotation.meta.When not found

문제 상황 Gradle을 사용하여 Java 애플리케이션을 빌드할 때 다음과 같은 경고 메시지가 나타났습니다: warning: unknown enum constant When.MAYBE reason: class file for javax.annotation.meta.When not found 이 경고는 javax.annotation.meta.When 클래스 파일을 찾을 수 없기 때문에 발생합니다. 이는 종종 Gradle 프로젝트에서 의존성 문제로 인해 발생하는 일반적인 경고입니다. 해결 방법 이 문제를 해결하기 위해, Gradle 의존성에 com.google.code.findbugs:jsr305 라이브러리를 추가했습니다. 이 라이브러리는 javax.annotation API의 일부로 사용되며, 필요한 클래..

IT/Java 2024.01.19

[JAVA] Loading class 'com.mysql.jdbc.Driver'. This is deprecated. The new driver class is 'com.mysql.cj.jdbc.Driver'.

스프링 부트에서 MySQL 연결 드라이버 경고 해결하기 문제 상황 스프링 부트(Spring Boot) 애플리케이션을 빌드할 때 다음과 같은 경고 메시지가 나타났습니다: [JAVA] Loading class 'com.mysql.jdbc.Driver'. This is deprecated. The new driver class is 'com.mysql.cj.jdbc.Driver'. 이 메시지는 사용 중인 MySQL JDBC 드라이버가 구형(com.mysql.jdbc.Driver)이라는 것을 알려주며, 새로운 드라이버(com.mysql.cj.jdbc.Driver)를 사용하도록 권장합니다. 해결 방법 이 경고를 해결하기 위해, 로그 관련 설정을 변경하였습니다. 아래는 단계별 해결 방법입니다: 1. log4jdb..

IT/Java 2024.01.19

Request의 Header에서 토큰값이 안가져와지는 문제

문제 상황 로컬 개발 환경에서는 Execute_menu라는 사용자 정의 HTTP 헤더를 스프링 부트 서버로 잘 전송하고 처리할 수 있었습니다. 그러나 실제 서버 환경으로 배포한 후에는 동일한 요청을 보냈음에도 불구하고, 서버에서 이 헤더의 값을 null로 받는 문제가 발생했습니다. 이는 많은 개발자들이 실제 운영 환경에서 자주 마주치는 문제 중 하나입니다. 원인 분석 이 문제의 원인은 Nginx의 기본 설정 때문입니다. Nginx는 기본적으로 헤더 이름에 밑줄(_)이 포함된 헤더를 무시합니다. 이는 보안상의 이유로, 헤더를 조작하는 일부 공격을 방지하기 위한 조치입니다. 그러나, 사용자 정의 헤더에 밑줄을 사용하는 경우, 이 기본 설정 때문에 문제가 발생할 수 있습니다. 해결 방안: underscores..

IT/Java 2024.01.19

휴대폰과 태블릿의 디바이스 픽셀 비율(Device-Pixel-Ratio) 계산하기

스마트 디바이스에서 화면의 디바이스 픽셀 비율을 간단하고 빠르게 계산하는 방법을 알려드리려고 합니다. 특히 웹 개발자나 앱 디자이너 분들에게 매우 유용한 정보일 거예요. 먼저, 해당 디바이스의 해상도와 ppi 값을 알아야 해요. 예시에서는 갤럭시 탭 S8을 사용해볼게요. https://www.gsmarena.com/apple_iphone_12_pro-10508.php Apple iPhone 12 Pro - Full phone specifications 4G bands 1, 2, 3, 4, 5, 7, 8, 12, 13, 14, 17, 18, 19, 20, 25, 26, 28, 29, 30, 32, 34, 38, 39, 40, 41, 42, 46, 48, 66, 71 - A2341 1, 2, 3, 4, 5,..

IT/Others 2024.01.17

React의 useCallback 예제

React에서 useCallback은 함수를 메모리에 저장하여 성능을 최적화하는데 유용하다. 부모 컴포넌트가 여러 항목을 관리하고, 각 항목을 업데이트하는 기능을 자식 컴포넌트에게 전달하는 상황이다. useCallback을 사용하면 부모 컴포넌트에서 자식 컴포넌트로 전달되는 함수가 불필요하게 재생성되는 것을 방지할 수 있다. import React, { useState, useCallback } from 'react'; function Item({ item, onUpdate }) { return ( {item.content} onUpdate(item.id, `업데이트된 내용: ${item.content}`)}>업데이트 ); } function ItemList() { const [items, setItem..

IT/React 2023.11.29
반응형