반응형 전체 글346 [AWS] Amazon RDS에서 이모지 데이터 사용하기 문제 서비스 운영 중 예약이 실패하는 오류가 발생했다. 서버 로그를 확인하니 이모지가 포함된 예약 메모를 데이터베이스에 저장하다가 오류가 발생한 것이다. 이모지다 😃 현재 사용하는 데이터베이스는 RDS - MySQL Aurora였고, 문자 인코딩 방식은 utf8를 사용하고 있었다. utf는 이모지 저장이 불가능한 방식이기 때문에 이모지 저장이 가능한 utf8mb4로 변경이 필요했다. UTF-8 인코딩은 4바이트 가변 길이 인코딩 방식입니다. 그런데 MySQL에서는 utf8을 3바이트로 구현했었습니다. 그러다가 MySQL 5.5.3 (2010년 3월 24일)에 4바이트짜리 character set인 utf8mb4을 추가했습니다. 유니코드 U+10000 이상인 문자들을 UTF-8로 인코딩하려면 4바이트가 필.. 2021. 4. 18. [Spring] 오류 해결: org.hibernate.AnnotationException: No identifier specified for entity 문제 스프링에서 Entity 클래스를 다음과 같이 작성했다. @Entity public class User { @Id private Long id; private String firstName; private int age; private String email; } 작성하는 중 분명 @Id 어노테이션을 갖는 필드가 존재함에도 다음과 같은 에러를 뿜으며 애플리케이션 실행이 중지되었다. 해결 잘못된 패키지에서 Id 클래스를 import 하고 있었다. 다음과 같이 변경하여 해결할 수 있었다. import org.springframework.data.annotation.Id; 변경 -> import javax.persistence.Id; 2021. 4. 15. [Visual Studio Code] 한글 깨짐 해결하기 문제 Visual Studio Code로 파일을 열어보니 한글로 작성된 부분이 모두 깨져 있었다. 해결 방법 이럴 때는 Visual Studio Code 상단의 File - Preferences - Settings -Text Editor - Files - Auto Guess Encoding을 체크한다. 이후 파일을 다시 열면 문제는 해결된다. 2021. 4. 8. [Junit5] 스프링4에서 Junit5의 @ExtendWith(SpringExtension.class) 코드 사용하기 스프링4에서 Junit5의 @ExtendWith(SpringExtension.class) 코드 사용하기 자바 테스트 클래스 이름 위에 '@ExtendWith(SpringExtension.class)' 어노테이션을 붙이면 Spring TestContext Framework를 Junit5 프로그래밍에 포함 시킬 수 있다. 문제는 스프링4에서는 다음과 같이 해당 코드가 인식되지 않는 다는 것이다. 이러한 문제의 원인은 스프링4에서 Junit5 테스트를 위한 의존성이 없기 때문이다. 때문에 '@ExtendWith(SpringExtension.class)' 어노테이션을 사용하려면 pom.xml 파일에 아래 의존성을 추가해야한다. 의존성을 추가하고 다시 코드로 돌아가면, 코드가 정상적으로 작동되는 걸 확인할 수 있.. 2021. 4. 7. [Nginx] 멀티 도메인 지원하기 멀티 도메인 지원하기 하나의 서버에서 여러 개의 도메인을 지원해야하는 경우가 있다. 예를 들어 홈페이지, 관리자페이지를 서로 다른 도메인으로, 하나의 서버에서 지원하는 경우가 있을 것이다. 이러한 문제를 Nginx 프록시 설정으로 해결할 수있다. 80 포트를 사용하는 Nginx 웹서버에서 홈페이지에 해당하는 homepage.test.com 도메인과 관리자페이지에 해당하는 admin.test.com 도메인을 지원한다고 가정하자. 또한 해당 서버의 8080 포트에는 홈페이지를 지원하는 WAS 서버가 존재하고, 8081 포트에는 관지자페이지를 지원하는 WAS 서버가 존재한다고 가정한다. 즉, 아래와 같은 구성을 만드는 것이 목표이다. 이제 위의 구조처럼 nginx를 설정해보자. 우분투를 기준으로 Nginx를 .. 2021. 4. 6. [Spring Boot] logback을 통해 스프링부트 로그 설정 시작하기 logback을 통해 스프링부트 로그 설정 시작하기 스프링부트 로그 설정을 하기 전에 관련 지식을 간단히 알아보자. 스프링 부트는 SLF4J(Simple Logging Facade for Java)를 이용하여 로그를 관리한다. 이는 로깅 프레임워크를 쉽게 사용할 수 있도록 도와주는 퍼사드다. 퍼사드는 GoF 디자인 패턴 중 하나로서 복잡한 서브 시스템을 쉽게 사용할 수 있도록 간단하고 통일된 인터페이스를 제공한다. 스프링 부트는 퍼사드를 이용하여 로깅 프레임워크의 구조를 몰라도 쉽게 사용할 수 있고, 프레임워크와의 의존성을 낮게 유지하여 쉽게 교체할 수 있도록 한다. 스프링 부트는 SLF4J라는 퍼사드를 통해서 LogBack을 사용한다. LogBack은 Log4j 개발자인 세키 굴쿠(Ceki Gulku).. 2021. 4. 4. 이전 1 ··· 33 34 35 36 37 38 39 ··· 58 다음 반응형