/images/profile_no_background.png

김영천 블로그

emacs에 $PATH 환경변수 인식 시키기

Intro

나는 우분투에서 이맥스를 즐겨쓰고 있다. 이맥스에서 고 언어를 종종 쓰는데 이번에 노트북을 셋팅하면서 문제가 발생했다. 일단 나는 이맥스에서 개발할 때 주로 lsp-mode를 바탕으로 개발환경을 구성하는데, 기본적인 설정은 문서를 보고 구성하면 무리없이 따라할 수 있다. 이번 글에서는 가이드대로 다 따라했는데 이맥스에서 gopls를 인식하지 못하던 문제에 대한 해결법을 기록하고자 한다.

JPA OneToMany 필드의 StackOverflowError

JPA를 사용하다 보면 StackOverflow 에러를 종종 만날 수 있다. 이 글에서는 필드 타입이 Set인 Collection 타입에 아이템을 추가할 경우 StackVoerflow 에러가 발생하는 원인과 그 해결법에 대해 알아보자.

`hashcode`, `equals` 메서드와 관계된 이야기이다.

이맥스에서 lsp-mode를 이용해 자바 개발환경 셋팅하기

이맥스에서 자바 개발환경을 셋팅해보자. 우선 기본적으로 이맥스와 자바, gradle 등등은 설치가 되어있다고 가정한다. 포스트 작성 기준은 아래와 같다.

  • OS: ubuntu 18.04 LTS
  • emacs: GNU Emacs 25.2.2
  • java: openjdk version "1.8.0_212"
  • gradle: Gradle 4.10.2

이 포스트에선 개발환경 셋팅을 위해서 lsp-mode를 이용할 예정이다. 본격적으로 셋팅하기에 앞어서 lsp가 무엇인지 간단하게 한번 알아보자

이맥스 폰트, 세벌식 셋팅하기

아래의 내용을 .emacs 파일 안에 복붙해주자. 세벌식 버전은 최종이 아닌 390버전이다.

1
2
3
4
5
6
7
(set-fontset-font t 'hangul (font-spec :family "D2Coding"))

(set-language-environment "Korean")
(prefer-coding-system 'utf-8)
(setq default-input-method "korean-hangul390")
(setq default-korean-keyboard "390")
(global-set-key (kbd "<S-kana>") 'toggle-input-method)

tinode series.002 - Install & Run

서론

소스코드를 살펴보기에 앞서서 일단 프로그램 실행을 시켜보자. 이 글에서 설명하는 예제는 커밋 아이디 기준 2558db90a50c80c974c2fccfec6b87ea44e4758b을 바탕으로 설명한다. 사실 이 글을 안봐도 여기를 따라하면 보통을 무난하게 설치 및 실행을 할 수 있다. 이 가이드는 공식 가이드 중 Building from Source, Mysql을 기준으로 설명한다.