Spring Boot 에서 외부 설정 파일을 Yaml 파일 포맷으로 사용할 수 있습니다. properties 파일 포맷도 있지만, SpringBoot에서는 가독성이 더 좋은 Yaml 파일을 권장하고 있습니다. 먼저 properties와 Yaml 파일 포맷에 대해 알아보겠습니다. Properties 파일 포맷 properties 파일 포맷은 property 이름과 값으로 구성이 되고, 일반적으로 한줄로 명시를 합니다. property 이름과 값은 = 또는 : 으로 구분을 합니다.( 통상 = 을 많이 쓰고 있습니다 ) 그리고, 이름과 값 사이에 공백( white space )가 있으면, 이는 무시되므로 공백이 있어도 되고 없어도 무관합니다. property 이름의 계층( hierarchy )은 dot( . ..
gitignore 파일은 git 에서 의도적으로 무시할 파일들을 명시하는 파일이다. 예를 들어, 프로젝트 설정 파일이나 컴파일한 산출물들은 git에 push를 할 필요가 없기 때문에 gitignore 에 해당 파일들의 경로에 명시를 한다. 파일명은 .gitignore 이고, 프로젝트 폴더의 제일 상위에 위치해야 한다. 특정 파일, 폴더명이나 * 를 사용하여 모든 파일/폴더를 지정할 수 있다. # 모든 iml 파일을 무시 *.iml # .gradle 폴더의 모든 파일 .gradle/ # build 폴더의 모든 class 파일 build/*.class # build 폴더의 모든 파일은 무시하되, build/generated-snippets 폴더는 포함 build/ !build/generated-snippets
IntelliJ 에서 Gradle 기반의 프로젝트를 개발하면, 아래 그림과 같이 build 폴더와 out 폴더가 있는 것을 발견하게 된다. 막상 열어보면, 둘다 컴파일한 class 파일을 가지고 있다. 왜 컴파일한 같은 파일을 중복으로 가지고 있는 것일까 하고 의아해 할 수 있다. 결론부터 말하자면, gradle build 시에는 build 폴더에, IntelliJ 에서 빌드시에는 out 폴더에 build 파일이 생성되게 된다. IntelliJ 의 Project Setting 에 보면, Project > Project compiler output 에 out 폴더가 지정되어 있는 것을 볼 수 있다. 그래서 Gradle clean 을 하게 되면, out폴더는 삭제되지 않고 build 폴더만 삭제되게 된다.
Spring Boot에서 Spring Cloud 를 사용할 때는, 반듯이 호환되는 버전을 사용해 줘야 한다. 그렇지 않으면 spring boot 기동에 실패를 하게 된다. 호환 되는 버전은 아래 테이블과 같다. Release Train Boot Version Hoxton 2.2.x, 2.3.x (Starting with SR5) Greenwich 2.1.x Finchley 2.0.x Edgware 1.5.x Dalston 1.5.x Spring Cloud 페이지에 가보면( https://spring.io/projects/spring-cloud ) Hoxton SR7 으로 되어있다. 따라서, Spring Boot는 2.2.x 나 2.3.x 버전을 사용하면 된다. 여기서 SR7은 Service Release..
클래스패스란, JVM이나 Java 컴파일러에 사용자정의 클래스와 패키지의 위치를 지정해주는 파라메터 이다. 쉽게 말해, 자바가 클래스를 찾아 사용을 해야하는데 클래스들이 어디 있는지 위치를 지정해주는 값이다. 아래의 MyClass.java 파일을 컴파일 해서, 실행을 해보자. /Users/charlieshin/javatest/MyClass.java public class MyClass{ public static void main(String[] args){ System.out.println("Happy Coding!"); } }java 파일을 컴파일 하고, MyClass 를 수행해주면 된다. javatest $ javac MyClass.java javatest $ ls MyClass.class MyCla..
도커 컨테이너에 파일을 저장하게 되면, 컨테이너 레이어에 저장이 되어 컨테이너가 내려가게 되면 지워지는 임시 저장소이다. Docker에서 컨테이너가 호스트 머신에 파일을 저장하기 위해서는 두가지 방법을 제공한다. ( Linux 에서 Docker를 구동하면, tmpfs mount 도 사용할 수 있다. ) 아래 그림은 각 mount에 대해, 차이점을 설명하고 있다. volumes Volumes 은 도커 컨테이너에 의해 생성, 사용되는 호스트 파일 시스템에 저장이 된다. 따라서, 파일을 많이 생성하더라도 컨테이너 이미지의 사이즈가 커지지 않는다. 아래와 같이 볼륨을 생성해서 보면, 도커에 의해 관리되는 위치는 /var/lib/docker/volumes/ 이다. ( 도커가 아닌 프로세스에서는 이 파일시스템을 수..
- Total
- Today
- Yesterday
- mac
- JPA
- Size
- apm
- Linux
- SpringBoot
- intellij
- scala
- elasticsearch
- gradle
- spring boot
- AWS
- Container
- maven
- error
- Kibana
- JSON
- Filter
- Java
- Postman
- Index
- logstash
- Spark
- Log
- tomcat
- install
- Git
- plugin
- spring
- docker
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 | 29 |
30 | 31 |