본문 바로가기

프로그래밍

Intellij IDEA에서의 Remote Debug 설정 방법 MongoDB 공부를 하던 과정에서 공교롭게 Remote Debug를 해야 할 상황이 있어서 작업을 하게 되었다. 근데 공교롭게도 관련 설정에 대한 내용을 검색했을때 구버전에 대한 내용만 있어서 한번 정리를 하게 되었다. 사용된 IntellJ 버전은 2020.1 이다 이 글의 내용은 개인적인 경험을 바탕으로 쓴 글이어서 일부 부정확한 내용이 있을수 있다. IntelliJ의 Help 에서도 이에 대한 설명을 찾을수가 없어서 구글링을 통해 검증한 것이라 틀릴수도 있음을 말해둔다. Run ->Edit Configurations... 메뉴를 들어가면 나오는 화면에서 좌측 상단의 + 를 클릭하면 Add New Configuration 이 나온다. 여기서 Remote를 선택한다. 그러면 다음과 같이 Remote D..
wget 을 이용한 Spring 관련 레퍼런스 & API 문서 다운로드 사람마다 다른 부분일수는 있겠으나 나는 개인적으로 Spring 관련 프로젝트들의 reference 및 API 문서를 다운로드 받아서 보관하는 편이다. SI 프로젝트를 참여하다보면 내가 일하는 환경이 외부 인터넷을 사용할 수 없는 경우가 종종 있다. 그렇다고 스마트폰으로 접속해서 보기에는 화면이 너무 작아 보기 불편한 점도 있다. 그래서 개인적으로 내가 가지고 있던 기존 문서가 minor 버전이 바뀐게 있으면 새로 받아서 이를 업데이트 하는 편이다(minor 버전 정도 바뀌면 프레임워크나 라이브러리 내부적으로 바뀌는 부분이 존재하기 때문이다. 조금 더 부연설명하다면 Spring의 경우 5.1.2 이런식의 구조인데 가운데 숫자인 1에 해당되는 부분이 minor 버전이다) 이러다 보니 자주 이용하게 되는 것이..
Optional 클래스의 orElse와 orElseGet에 대한 정리 이번 글에서는 Java 8 에서부터 지원하기 시작한 Optional 클래스의 orElse와 orElseGet 메소드에 대해서 정리를 해보려한다. 이 글에서는 Optional 클래스가 무엇인지에 대해서는 언급하지는 않고 다만 orElse와 orElseGet 메소드 이 두 개의 메소드에 대해서만 집중해서 보려고 한다. 먼저 이 2개의 메소드가 하는 역할은 Optional 클래스 객체가 가지고 있는 실제 값이 null 일경우 무슨 값으로 대체해서 return 해줘야 하는 지를 정의한다. 역할은 같은 역할이지만 사용되어지는 파라미터는 다른데 이 부분은 다음과 같다. T orElse(T other) T orElseGet(Supplier
Vagrant 기반의 Minikube 실습 이전글에서는 Vagrant 기반의 CentOS Box에 Minikube를 설치 및 이에 대한 설명을 했다. 이번글에서는 이전글에서 언급했던 SKplanet Tacademy 채널에 있는 컨테이너 오케스트레이션 쿠버네티스 살펴보기 강의를 따라하는 방법을 잠깐 언급하고 강의에서 사용했던 파일과 내가 사용한 파일의 차이점에 대해 언급하는 시간을 갖도록 하겠다. 이전글에 공유해놓은 github 자료를 보면 guide-03 이란 디렉토리가 있다. 이 디렉토리를 이전글에서 설명한 내용중 Vagrant Box에 있는 디렉토리와 연결되는 Windows 디렉토리에 복사한다. 이렇게 복사해놓으면 vagrant ssh 명령을 통해 가상머신에 접속한뒤 cd /vagrant_hosts 를 해서 vagrant_hosts 디렉토리로..
Vagrant 기반의 Minikube 설치 요즘 워낙 Kubernetes 붐이 부는데다가 개인적으로 Docker에서 좀더 확장된 개념을 공부해보고 싶어하던 찰라에.. Kubernetes 를 설치해보려 하니 Windows 기반의 노트북으로 구성하기에는 한계가 있어보였다(Linux 기반이면 시도해보겠지만서도..) 그러다보니 눈에 들어오는것이 Minikube 였다. 물론 어디까지나 개념 잡기 및 공부용으로 적당한거지 운영을 할려고 하면 안된다는 것은 알고 있다. 근데 문제는 이 Minikube 설치 방법이 워낙 다양하게 존재했다. 또 그나마 한번 해보면 제대로 되지를 않았다. 물론 Windows 기반으로 Minikube를 설치했으면 한방에 할 수 있겠지만 나같은 경우에는 Windows 기반으로 서버 구성을 요즘은 안하고 있다. Docker를 알게 된 ..
스프링 부트 2.0 2/e 마이크로서비스와 리액티브 프로그래밍 다음의 내용은 에이콘출판사의 나온 스프링 부트 2.0 2/e 마이크로서비스와 리액티브 프로그래밍(원서 제목은 Learning Spring Boot 2.0 Second Edition) 책을 일고 실습해가면서 몇몇 수정한 부분들에 대한 기록이다. 이전글인 Mastering Spring 5.0때와 상황이 비슷하다. 이 책에서 사용한 Spring Boot 버전은 2.0.0.M5 이고 2019년 6월 7일 현재 이 글을 쓰는 시점에서 내가 사용하고 있는 Spring Boot 버전은 2.1.5.RELEASE 이다 이전 글과 마찬가지로 순서는 책의 순서와는 맞지는 않으며 차후 수정이 계속 이루어질 것이며 수정과정에서 순서가 맞춰질수도 있다. Mastering Spring 5.0 때는 9장 공부하는 시점부터 문제가 생..
Mastering Spring 5.0 다음의 내용은 에이콘출판사의 Mastering Spring 5 책을 읽고 실습해나가면서 몇몇 수정한 부분들에 대한 기록이다. 책이 출판될 당시의 Spring Boot 관련 버전과 내가 책을 구매한 시점에서 사용되는 Spring Boot 관련 버전이 다른 관계로 인해 실습 코드에서 변화되는 부분이 있어서 이에 대한 기록을 남겨두려 한다. 이 책에서 사용한 Spring Boot 버전은 2.0.0.M1 이고 2019년 5월 7일 현재 이 글을 쓰는 시점에서 내가 사용하고 있는 Spring Boot 버전은 2.1.4.RELEASE 이다(당근 Springframework 버전도 차이가 나게 되는데 책은 5.0.0.RC1을 사용하고 있으나 내가 사용하고 있는 Springframework의 버전은 5.1.6 이다) ..
Vagrant 관련 이슈 글 모음 Docker 관련으로 된 글을 보던중 Vagrant를 알게 되어 Vagrant를 설치하게 되었다. Vagrant에 대한 설치는 도커 Docker 기초 확실히 다지기 이 글을 보고 Vagrant를 설치했다. 그러나 Vagrant를 설치 및 운영하다 보면 이슈사항이 나올것 같아서 개인 기록 및 공유 차원에서 이 글에 기록해두고자 한다. 그래서 이 글은 그런 이슈 사항이 나올때마다 갱신될 예정이다(근데 Vagrant 이건 발음이 어떻게 되나..베이그랜트? 바그랜트?) 1. Windows 10에서 위에 링크되어 있는 글을 보고 설치한뒤 centos/7 으로 VM을 하나 만들어서 vagrant ssh를 실행하니 vagrant@127.0.0.1: Permission denied (publickey,gssapi-ke..