개발중 Build시 unmappable character (0xED) for encoding x-windows-949 해당 오류발생해당현상은 인코딩 충돌로 인해 발생파일안에 한글이 있을경우 해당 인코딩 충돌 문제일 가능성이 높음x-windows-949에서 지원하지 않는 문자로 인해 발생한 오류 해결방법프로젝트나 파일에 인코딩 설정 변경UTF-8 과같은 문자셋으로 인코딩 하게 변경 파일(File) → 설정(Settings) → 에디터(Editor) → 파일 인코딩(File Encoding) 전역인코딩, 프로젝트인코딩, 프로퍼티 파일에 대한 디폴트 인코딩을 UTF-8로 변경해준다해당 설정을 통해 Properties 파일이나 프로젝트에 파일들을 UTF-8 형식으로 인코딩 할수있다 이래도 안되면 VM에서 ..
Intelli 플러그인을 통해 IDE 내부에 여러 기능들을 자동화 해보자UI에 새롭게 추가하거나 내부 코드들을 제어 해보자 IntelliJ Plugin 공식 Document IntelliJ Platform SDK | IntelliJ Platform Plugin SDK plugins.jetbrains.com 플러그인을 제작하기 위해서는 IDE 플러그인 이라는 프로젝트를 생성해야한다그러면 플러그인 제작을 위한 프로젝트 및 라이브러리를 자동으로 다운받아준다 IntelliJ 구버전에서는 프로젝트를 생성할때 Kotlin, Java 언어 선택하는 부분이 존재했었는데신버전으로 넘어오면서 해당부분은 사라지고 두개의 언어모두 지원한다 IDE 플러그인 프로젝트가 정상적으로 로드되면 가장먼저 Kotlin으로 ..
현재 운영중인 서비스의 설정파일들을 분리할일이 생겼다 Github에 민감정보를 올릴순없었기에 교체겸, 소셜로그인을 사용하고있기 떄문에 Local 환경과 운영환경의 설정정보들의 주석을 일일이 풀고, 주석화시키기에는 너무 귀찮다고 판단하여 application파일을 여러개로 나누어 설정정보들을 나누어 관리하는 과정에서 @Value에 값이 제대로 안들어가는 상황발생 해결하는 과정과 원인에 대해서 알아보도록 하겠습니다 application의 여러 설정파일들의 정보들을 나누던 도중 @Value의 값이 제대로 안들어가는 오류를 확인 대표적을 4가지를 확인할수 있는데 해당내용은 아래와같다 1. properties 및 yml의 @Value로 넣을 이름이 틀렸는지 확인 2.@Value로 넣을 변수에 static을 넣었는..
외부에서 노트북들고 작업할 일이 생겨서 서버를 킨 순간 오류가 발생 Communications link failure 오류메세지를 보니 데이터베이스 쪽의 오류가 난것으로 보였다 The last packet sent successfully to the server was 0 milliseconds age. The driver has not received any packets from the server. 서버에 성공적으로 전송된 마지막 패킷은 0밀리초입니다. 드라이버가 서버에서 패킷을 받지 못했습니다. DB와 서버가 통신이 안된다는 것을 확인 MySQL 에서는 Connetion Timeout이 존재하는데 Connetion이 생성되고 일정시간동안 사용이 안될경우 Time out처리하여 Connetion을 ..
프로시저(Procedure) 여러 쿼리를 한번에 수행하는 것을 프로시저(Procedure) 라고 한다 우리가 SQL을 사용할때 SELECT, CREATE, UPDATE, DELETE 등 쿼리문을 사용하여 DB를 조작해 원하는 데이터를 핸들링한다 하지만 이러한 간단한 작업만 있으면 좋겠지만 현실은 그렇지않습니다 여러개의 쿼리가 하나의 로직을 수행하기 위해 묶여 돌아가는 복잡한 작업하는 경우가 흔하게 발생하는데 우리는 이것을 Java단에서 해결하기위해 Service 로직들을 만들어서 하나로 묶는 Transaction(트랜잭션) 작업을 하곤합니다 트랜잭션의 설명은 여기 게시물에서 확인할수있습니다 이외에도 DB에서는 함수(Function) 과 프로시저(Procedure) 라는 기능을 지원하는데 우리가 트랜잭션을..
캐시(Cache)란 데이터나 값을 필요로할때마다 불러오지 않고 중간에 복사하여 저장하는것을 말합니다 위사진은 실제로 컴퓨터에서 사용하는 캐시(Cache)로써 위로갈수록 속도는 빠르지만 비싸고, 용량이 작다는 특징을 가지고있습니다 위 피라미드 구조를 보게되면 Registers와 Main Memory 사이에는 L1, L2, L3 Cache가 존재하는데요 사실 속도가 빠르고, 용량이 크며, 값이 싼 메모리는 존재할수가 없습니다 그렇지만 비슷한 효과를 낼수있는데 바로 중간에 캐시를 두어 데이터가 만약 자주쓰이며, 동일한 결과를 돌려주는 경우 캐시에 임시로 저장하여 굳이 SSD/HDD까지 내려가지않고 바로 속도가 빠른 캐시에서 연산할수 있게되는것입니다 동일한 결과를 돌려주며, 해당 작업을 반복해야할 경우 (이미지..