기술 창고(246)
-
[MySQL] 문자 구분 collation
collation 은 인코딩을 기반으로 글자를 비교하기 위한 정해진 규칙입니다.같은 문자에 대해서 어떻게 비교하고 찾을 지 정하는 규칙이라고 볼 수 있으며, 대소문자 구분, 정렬 방식, 문자열 함수 결과 등등, 검색 시 어떤 결과를 도출할지 정해져 있습니다. MySQL을 사용하고 데이터를 조회하는 기능을 개발을 수행할 때 주로 이 collation으로 인해 겪게 되는 문제들이 있습니다.일반적으로 아무런 collation 설정을 하지 않으면 기본적인 ci collation 을 사용하기 때문에 like 조건을 사용하지 않는 이상, 검색하거나 비교하고자 하는 문자가 반드시 일치해야지만 조회할 수 있습니다.따라서, 글 내용을 조회하거나 이모티콘과 같은 문자 비교 후 조회하는 기능이 특화되어있거나 중요한 기능들을..
2024.10.15 -
[Spring Boot] 서버 자체에 ssl 적용이 아닌 내장 Tomcat에 ssl 적용하여 https 활성화 (jks 파일 기준)
이번에는 nginx 서버나 다른 외부적인 서버 자체의 https 설정이 아닌 배포하여 운영하는 Spring Boot 프로젝트 내부의 내장 톰캣의 설정을 통해 https 설정을 적용해보는 방법을 정리해보겠습니다.또한 제가 하는 방법은 가지고 있는 인증서 jks 파일을 활용한 방법입니다. (1)application.properties 의 경우server.port={프로젝트 운영 포트}server.ssl.enabled=trueserver.ssl.key-password={ssl 인증서 jks파일 비밀번호(있을 경우에만 활성화)}server.ssl.key-store={ssl 인증서 jks파일명}.jksserver.ssl.key-store-type=PKCS12server.ssl.key-store-password=..
2024.08.14 -
[Linux] jks 인증서 파일에서 pem, key 인증서 추출 후 파일 만들기
리눅스 서버에 https 를 적용하기 위해 가지고 있는 톰캣용 인증서 jks 파일에서 key 및 pem 파일들을 추출해야만 했습니다.일반적으로 jks 파일로 인증서를 등록하기 위해서는 보통 만들고 있는 프로젝트 내부의 server.xml 파일 내부에서 설정해주어야 했으나 제가 운영 중인 프로젝트는 Spring Boot 기반의 maven 프로젝트이기 때문에 해당 server.xml 파일은 존재하지 않았습니다.따라서 key와 pem 파일을 추출할 필요가 있었습니다.오늘은 이 jks파일에서 필요한 key, pem 파일들을 추출하는 방법을 정리해보겠습니다. Keytoolkey, pem 파일들을 추출하기 위해서 keytool 기능을 사용할 것입니다.이 Keytool은 키와 인증서 를 관리하고 키 저장소에 해당 ..
2024.08.14 -
[Spring Boot] Spring Profile 을 통한 개발 환경 분산 관리
Spring Boot에서 개발 완료 후 어플리케이션을 실행하여 테스트할 때 현재 개발 환경인지, 실제 운영 환경인지에 따라 설정되는 개발 환경이 다 다를 것입니다.이를 일일히 바꾸기에는 수고스럽기 때문에 이를 제어하기 위한 Spring Profile을 활용하여 편리하게 개발 환경을 변경해주는 작업을 해보겠습니다. # yml 파일로 Profile을 관리할 수 있지만 저는 properties 파일로 진행하였습니다. 우선, 앞서 말한 로컬 개발 환경, 운영 개발 환경 처럼 때에 따라 바뀌는 이러한 환경을 Spring Boot 에서는 Profile이라고 말합니다.이 Profile은 기본적으로 Spring Boot 프로젝트의 properties 파일을 통해 관리해줍니다. 기본적으로 application.prope..
2024.06.21 -
[C#] C# 프로그램 배포 방법
C# 개발을 완료하고 본격적으로 프로그램으로 만들어 배포하여 사용하는 방법을 정리해보겠습니다. 우선 프로젝트를 빌드하고 상단의 프로젝트 메뉴의 최하단에 존재하는 프로젝트 속성에 들어가줍니다. 애플리케이션 항목에서 시작 개체를 선택해줍니다.선택해주지 않고 기본 설정으로 시작해도 괜찮습니다.또한, 리소스 부분에서 프로그램 아이콘 이미지를 설정할 수 있습니다. 빌드 항목에서 구성을 설정해줍니다.구성 내용으로는 활성 (Debug), Debug, Release, 모든 구성이 존재합니다.각자 원하는 내용으로 구성을 설정해주면 됩니다. 저는 모든 방식으로 구성되게끔 하기 위해 모든 구성을 선택해주었습니다. 게시 항목에서 배포된 프로그램이 게시될 위치를 설정해줄 수 있습니다.저는 현 C# 프로젝트 내부의 '게시..
2024.06.19 -
[C#] C# 클래스 파일 추가
최근에 처음 C# 언어로 개발하다보니 단순한 클래스 파일을 추가하는 방법조차 알지 못하여 시간을 낭비했었던 경험을 하였습니다.오늘은 매우 간단한 C# 클래스 파일을 추가로 생성하는 방법에 대해서 간단하게 정리해보겠습니다. # Visual Studio 2022 개발 툴에서 진행하였습니다. C# 프로젝트를 개발하고 빌드를 하게 되면 위와 같이 솔루션 프로그램이 빌드됩니다. 프로그램 내부를 펼쳐보면 기존에 빌드되어 포함된 파일들을 확인할 수 있습니다.관건은 이미 빌드된 상태인 프로그램에 어떻게 클래스 파일을 추가하여 사용할 수 있느냐 였습니다. 추가하는 방법은 매우 간단했습니다.내부 빌드 프로그램에 오른쪽 마우스 클릭을 하여 나온 항목들 중 추가 항목을 선택하여 자기가 추가하고자 하는 파일이나 요소들을 ..
2024.06.19