본문 바로가기

전체 글124

[Spring Boot] LocalDateTime 입출력 시 JSON 변환 방법 에러는 여러 가지 형태로 만나게 될 수 있는데 저는 이 에러를 JUnit 테스트를 하면서 알게 되었습니다. 문자열로 날짜(LocalDate)를 입력받아 시스템에서는 날짜, 시간(LocalDateTime)으로 처리하는 코드를 작업하면서 테스트 결과를 비교하는 과정에서 변환 결과에 차이가 있어서 오류가 났습니다. 조금 검색을 해보니 Spring Boot에서 LocalDateTime을 JSON 입출력 과정에서 필요한 코드(어노테이션)가 있고, 이를 제대로 이해하고 사용하면 문제를 해결할 수 있다는 것을 알게 되었습니다. 1. 오류 발생 및 확인 // Example Class public class User { ... private LocalDateTime birth; ... public User(LocalDa.. 2022. 12. 6.
[Eclipse] Warning - Classpath entry org.eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER will not be exported or published Eclipse로 새 프로젝트를 생성하면서 Problems의 Warning도 챙겨보기 시작했습니다. 언젠가부터 아래의 워닝이 계속 포함되고 있는 것을 확인할 수 있었는데 그냥 무시하고 지나치다가 이번에 검색하고 문제를 해결했습니다. Description Resource Path Location Type Classpath entry org.eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER will not be exported or published. Runtime ClassNotFoundExceptions may result. 1. Warning 확인 프로젝트를 생성하고 각종 에러나 경고(Warning)에 대한 메시지는 Problems 탭에서 확인할 수 있습니다. 이번에 확인한 경고(Wa.. 2022. 12. 2.
[Thymeleaf] 단순 텍스트 출력 - text, utext Thymeleaf 레퍼런스를 작성하고 있습니다. 최대한 간결하게 예시와 기능에 대한 설명만을 요약하려 합니다. 1. Thymeleaf에서 텍스트 다루기 1.1 HTML 태그에서 사용 1.1.1 th : text 특수문자를 해석하여 출력함 $data = " abcd " // 출력결과 abcd 1.1.2 th : utext 특수문자를 해석하지 않고 그대로 출력 HTML 태그를 포함하여 출력할 수 있음 $data = " abcd " // 출력결과 abcd 1.2 HTML 콘텐츠 영역에 직접 출력 1.2.1[[....]] 특수문자를 해석하여 출력함 my text is [[${data}]] $data = " abcd " // 출력결과 my text is abcd 1.2.2[(..... 2022. 11. 15.
[MariaDB] Data Type, 데이터 타입, 데이터형, 자료형 10.3, 10.4 데이터베이스 설계를 위해서는 저장해야 할 정보의 자료를 분석하여 적절한 데이터 타입을 선택해야 합니다. 기본적인 데이터 타입은 크게 숫자형, 문자형, 날짜와 시간, 기타 특수 형으로 나눌 수 있습니다. 그중에서 숫자와 문자는 자주 사용하는 데이터 타입으로 데이터 타입 간에 지원하는 범위를 알고 있어야만 저장하려는 데이터 저장 범위에 맞게 사용할 수 있습니다. MariaDB의 경우 숫자형과 문자형의 경우 아주 세부적으로 범위를 나누어 저장할 수 있도록 데이터 타입을 지원하고 있습니다. 가능하면 주요한 데이터형의 지원 범위는 기억해두는 것이 좋기에 정리하여 둡니다. 자주 사용하는 데이터형의 경우 ● 와 함께 행의 글자에 색상을 변경하였습니다. 1. 숫자 데이터 타입 데이터 형식 Bytes 범위 설명 BIT(.. 2022. 11. 9.
[MariaDB] MariaDB 10.1, 10.2 시퀀스 기능 구현 cafe24에 포팅 작업을 하면서 DB는 MariaDB로 알고 비교적 최근 버전의 안정화 버전을 사용을 해서 포팅 작업을 진행했습니다. 원래는 포팅 하려는 시스템의 환경과 소프트웨어의 버전을 정확하게 파악하고 작업해야 하는데, 그냥 호스팅 서비스에서 그렇게 오래 전의 버전을 사용할 거라 생각하지 못하고 진행한 게 불찰이었습니다. cafe24의 개별 언어별 호스팅 서비스에서 지원하는 MariaDB 버전은 MariaDB 10.1이었습니다. 이 버전은 2014년 6월에 최초 배포된 버전입니다. 물론 마이너 버전은 최근 22년 5월에 배포되었습니다만 공식 지원 자체가 22년 5월에 중단되기도 했습니다. 제목에서도 언급했지만 MariaDB에서 시퀀스 기능은 10.3 버전부터 지원하고 있습니다. 덕분에 Oracle.. 2022. 11. 5.
[MySQL, MariaDB] MySQL, MariaDB 버전별 호환성 MySQL과 MariaDB는 그 뿌리가 같기 때문에 두 DBMS에 호환성은 매우 높은 편입니다만 버전이 업데이트되면서 좀 더 세부적인 기능에서 지원 여부가 차이가 나고 있습니다. 그러나 기본적인 기능은 두 DBMS가 호환이 된다고 볼 수 있습니다. MariaDB와 MySQL은 늘 비교가 되곤 하는데 웹에서 검색되는 결과도 혼용이 가능합니다. 예를 들어 MariaDB 10.2를 사용하고 있는데 어떤 기능이나 설명이 MySQL로만 찾을 수 있는 경우 MySQL 5.7 버전을 참조하면 어느 정도 활용이 가능합니다. 두 DBMS의 버전을 비교하고 있는 자료가 잘 나오지 않지만 우연히 검색하게 되어 참고용으로 정리해 둡니다. MySQL, MariaDB 버전별 호환성 MySQL MariaDB MySQL 5.1 Ma.. 2022. 11. 5.
[MariaDB,MySQL] 버전 별 사용자 계정 비밀번호 변경 방법 최근 Oracle에서 MariaDB로 마이그레이션을 진행하면서 여러 가지 차이점을 느끼고 있습니다. MariaDB는 MySQL과 거의 동일하지만 버전업을 거치면서 조금씩 차이를 보이고 있습니다. 그러나 MariaDB의 근간이 MySQL이기에 두 DBMS는 공유하고 있는 부분도 많이 있습니다. 소소한 것들이지만 MariaDB의 버전별 차이도 조금은 크고, 불편하게 느껴져서 검색하면서 찾은 내용들을 하나씩 정리하고 있습니다. 1. 사용자 계정 비밀번호 변경 MariaDB(MySQL)에서는 DBMS에서 사용자를 추가하고 관리하는 SQL문이 DB 버전에 따라서 지원하는 방법이 서로 다릅니다. 기본적인 절차는 아래와 같습니다. 1.1 비밀번호 변경 절차 STEP 1. root 계정 로그인 STEP 2. mysql.. 2022. 11. 4.
[SSL 인증서] 무료 SSL 보안 인증서, OpenSSL, 저렴한 SSL 인증서 포트폴리오 작업용으로 서버를 구축하면서 SSL 통신 설정이 필요해서 좀 검색해보다가 정리했습니다. 2022.10.27 현재 포트폴리오 서비스용으로 구축한 cafe24의 Tomcat JSP 호스팅 서비스에서는 OpenSSL을 사용한 인증서는 지원하지 않고 있습니다. 아래 링크에서 OpenSSL를 발급받아서 등록을 시도했지만 지원하지 않는 인증서라고 나옵니다. 만약 서버 호스팅이나 직접 서버를 컨트롤할 수 있다면 테스트를 위해서는 OpenSSL을 사용할 수 있을 것 같습니다. OpenSSL로 테스트용 보안인증서 발급받기 https://www.lesstif.com/system-admin/openssl-ssl-tls-26083556.html https://namjackson.tistory.com/24 간단한 포.. 2022. 10. 27.
[OpenJDK] OpenJDK 다운로드 및 설치 최근 포트폴리오로 개발한 웹 서비스를 배포할 곳을 찾다가 결정한 곳이 cafe24의 '개별 언어별 호스팅' 서비스입니다. 여기서 Tomcat JSP 서비스를 사용하면 Java, Spring 기반의 서비스를 배포하고 실행할 수 있습니다. 비용은 최소로 2,200원(월비용) + 설치비(5,000원 1회)를 지불하면 됩니다. 다만 환경이 비교적 예전의 환경이어서 기존에 최신 버전으로 작업한 것들은 예전 버전의 환경으로 구축해야 합니다. 최근 수업을 들으면서 개발한 환경은 JDK 11, tomcat9, Oracle XE 버전으로 개발했습니다만, cafe24는 OpenJDK 1.8, tomcat8, MariaDB 10.1 버전을 지원해서 관련 환경으로 변경하려고 OpenJDK를 다운로드하고 설치해봤습니다. 1. .. 2022. 10. 26.
[Windows] Windows 10에서 Symbolic Link 만들기 유닉스, 리눅스에서는 디스크를 관리하고 파일을 다루는 파일 시스템에서 Windows와 큰 차이가 있습니다. 자세한 개념을 설명하려면 몇 개의 포스팅이 별도로 필요합니다. 그렇지만 상황에 따라서 디스크 용량이나 파티션 등의 이유로 서로 다른 드라이브의 공간을 로컬 폴더인 것처럼 사용하고 싶을 때가 있습니다. 좀 더 풀어서 설명하면 디스크를 우선하는 Windows에서 C 드라이브의 용량이 부족해서 D 드라이브의 공간을 마치 C 드라이브를 접근하는 것처럼 사용할 수 있는 방법이 있습니다. 몇 가지 방법이 있지만 논리적인 링크인 심볼릭 링크(Symbolic Link)를 사용해서 다른 디스크의 폴더(물론 같은 디스크의 폴더도 사용 가능)를 자신이 원하는 곳에 폴더로 생성하고 접근할 수 있습니다. 저도 대략적으로 .. 2022. 10. 10.