본문 바로가기

Issue

(8)
Log4J2 취약점 CVE-2021-44228 Spring Boot 대응 2021-12-10 현재, Log4J2 라이브러리에 새로운 제로데이 보안 취약점이 발견되었다. 공격자가 원격으로 코드를 실행할 수 있으며 이는 log4j-core 에서 동작한다. Log4j version 2.15.0 에서 수정, 보완 되었다. (원천 차단은 아니겠지만서도) spring-boot-starter-logging 의존성에 포함된 log4j-to-slf4j 와 log4j-api 자체만으로는 악용될 수 없다. log4j-core 로그 메세지에 사용자의 입력을 로깅하고 있는 시스템에서 취약하다. 대응 방법은 현재 log4j verison을 2.15.0 이상을 사용하는 것이며, 메이븐, 그래들 사용자의 경우 대처방법은 다음과 같다. Maven 사용자의 경우엔 프로퍼티를 pom.xml 에 추가한다. 2...
Intellij IDEA, Extract Method(ctrl+alt+m) 단축키가 안될 때 IntellijIDEA 의 다른 단축키는 되는데 Extract Method (ctrl+alt+m) 만 안되는 문제가 생겼다. 분명 어제까진 잘 되었는데...삽질해서 해결한 내용을 공유한다. 해결방법 : Geforce Experience 의 게임 내 오버레이 기능을 해제하거나 Geforce Experience 의 Ctrl+Alt+M 단축키를 교체한다. 근래에 블렌더를 만지기 시작하면서 NVIDIA 스튜디오 드라이버로 교체해서 설치했는데 그게 화근이였다. NVIDIA 드라이버는 설치할 때 Geforce Experience 도 제공한다. 난 종종 사용할 일이 있어서 같이 설치했다. 문제는 Geforce Experience 의 게임 내 오버레이 기능에 있었다. 게임 내 오버레이 기능은 게임을 하는 중에 특정 단..
github desktop에서 커밋 서명 방법 .gitconfig를 고치자 gpg key를 생성해서 등록을 마쳤다. 이제 터미널이나 git bash 창에서 커밋에 서명을 할 수 있다. 하지만 github desktop에서 서명이 동작하지 않는 문제가 있었으니 이를 해결해보자. .gitconfig 파일 수정하기 windows OS & mac OS 두 운영체제 모두 다 동일한 접근을 할 수 있다. 터미널을 열고 (윈도우의 경우 cmd) 다음 명령을 입력한다. git config --global --edit 그러면 다음과 같이 .gitconfig 의 글로벌 설정이 보인다. vi편집기로 열릴텐데 vi 편집기를 다룰 줄 안다면 편집기에서 바로 다음 설정을 추가해준다. vi편집기를 다룰 줄 모른다면 위의 명령어를 쳤을 때 파일 위치가 같이 나오는데, 해당 경로..
VS Code에서 .Vue 자동완성(Emmet)기능이 작동하지 않을 때 .Vue 에서 HTML의 자동완성 기능(Emmet)을 사용 이 답답한 일은 Vue를 배우던 중 터졌다. 확장자가 *.Vue인 Vue Component 를 Visual Studio Code에서 작성을 하고 있었다. Vue 컴포넌트 작성 간 해당 컴포넌트에 해당하는 Html 코드를 작성해야하는데 .html 파일에선 잘 작동하던 Emmet기능이 .vue에선 제대로 작동하지 않았다. 이게 없어도 직접 다 코딩하면 되는 부분이지만, 프로그래머로써 귀찮은건 참을 수 없다하지 않는가. 사소한거 하나도 자동화 하려고 하는 때에 Emmet기능을 사용하지 못한다는건 참을 수 없었다. 잡담은 여기까지 하고 바로 해결법을 알아보자. 1. Vetur 플러그인이 설치되어있는지 확인하자 Vetur플러그인은 Vue를 위한 편리한 기..
github organizations 타 앱 OAuth 허용하기 오류 메세지 emote: Permission to remoteURL denied to something rainbow-flavor github organizations의 레포지토리 raflix에 intellij IDE에서 repository로 push를 시도했을 때 오류가 일어났다. 오류는 emote: Permission to remoteURL denied to something 으로 등장했다. 문제의 이유는 간단했지만 해결하는 방법을 몰라서 힘들었다. 문제가 일어난 이유는 organizations 를 만들기 전에 나는 이미 개인 레파지토리에서 intellij IDE 를 통해 push 하기 위해 인증을 했었다. 그 당시엔 organizations 이 없었으므로 organizations 은 이 인증이 되어..
ddl-auto 관련 오류와 해결 방법 JPA/Hibernate 초기화 전략 사용 시 오류 관련 겪었던 오류에 대한 목록과 그 해결방법을 기록한다. 우선 초기화 전략(create, create-drop, update, validate)에 대해서 정확히 작동 방식을 알고 있어야한다. 사용 시 오류가 발생하면 최우선으로 hibernate 에 대한 설정파일을 열어서 확인한다. Spring boot 초기 환경에서 특별한 변경이 없었다면 application.properties에 설정 했을 것이고 그것을 먼저 확인한다. 또한, 정확한 파악을 위해 spring.jpa.show-sql=true 다음 설정을 추가하여 hibernate가 생성하는 모든 sql 문을 확인하도록 한다. SQL 문법이 틀렸다 아니, hibernate가 만드는데 문법이 틀릴일이 뭐가..
MapStruct nullPointException issue MapStruct와 Lombok의 우선순위 문제 및 바인딩 문제 해결방법은 여기로 해결방법을 바로 보는 것도 좋으나 어떻게 발생하게 되었는지 읽어보는 것도 나쁘지 않을 것..이라 생각한다. 시작 객체매핑을 위해서 set() 해주는 수고를 덜기 위해 MapStruct를 프로젝트에 적용해보았다. 그러나 역시 스무스하게 적용되지 않았다. 딱히 의존성을 받고있는 것이 많은 것도 아닌데 말이다. MapStruct의 공식문서를 보며 기본적인 사용방법대로 아주 기본적인 객체매핑을 시도했다. 하지만, MapStruct의 Mappers클래스에서 getMapper(someClass.class) 를 사용하여 매핑할 Mapper 오브젝트를 가져오는데 실패하면서 Mapper 가 NullPointException을 내뱉었다. 요..
jekyll serve 실행시 webrick (LoadError) 문제 해결 깃블로그 서버를 실행하려고 jekyll serve를 실행시 다음과 같은 오류 스택이 뜨며 서버가 정상실행이 안되는 경우가 있다. C:/Ruby30-x64/lib/ruby/gems/3.0.0/gems/jekyll-4.2.0/lib/jekyll/commands/serve/servlet.rb:3:in `require': cannot load such file -- webrick (LoadError) from C:/Ruby30-x64/lib/ruby/gems/3.0.0/gems/jekyll-4.2.0/lib/jekyll/commands/serve/servlet.rb:3:in `' from C:/Ruby30-x64/lib/ruby/gems/3.0.0/gems/jekyll-4.2.0/lib/jekyll/comman..