[컴] SpringBoot web server 를 위한 helloworld

boilerplate /

SpringBoot web server 를 위한 helloworld

간단하게, MariaDB 를 사용하는 Rest API 서버를 만들기 위한 기본 setting 이라고 보면 된다.

  1. Spring Initializr 에서 생성(아래 ‘그림. Spring Initializr 설정’ 참고)
  2. application.yml 설정
    • server 설정
    • mariadb 설정
  3. gradlew.bat bootRun

Spring Initializr 설정:

그림. Spring Initializr 설정

build.gradle:

dependencies {
    implementation 'org.springframework.boot:spring-boot-starter-data-jpa'
    implementation 'org.springframework.boot:spring-boot-starter-web'
    implementation 'com.fasterxml.jackson.module:jackson-module-kotlin'
    implementation 'org.jetbrains.kotlin:kotlin-reflect'
    runtimeOnly 'org.mariadb.jdbc:mariadb-java-client'

    testImplementation 'org.springframework.boot:spring-boot-starter-test'
}

spring-boot-starter-web

spring-boot-starter-web 가 있어야 서버로서 동작한다. 저 library 가 없으면, 그냥 한번 실행하고, exit(shutdown) 하게 된다.

spring - Springboot Application exits immediately - Stack Overflow

application.yml 설정

# application.yml
server:
  port: 9100
spring:
  profiles:
    active: dev

---

spring:
  config:
    activate:
      on-profile: "dev"
  datasource:
    url: >
      jdbc:mariadb://localhost:3307/stest?
      useUnicode=true&characterEncoding=utf-8
    username: root
    password: root
    driver-class-name: org.mariadb.jdbc.Driver
    hikari:
      maximum-pool-size: 5

spring.jpa.hibernate.ddl-auto

  • 86. Database Initialization : spring.jpa.hibernate.ddl-auto property에 대한 설명, 이것은 hibernate 의 feature(기능) 이다. 그래서 만약 접속하는 table 이 존재하지 않을때 create 을 하는 등의 행동을 하도록 할 수 있다.

create, create-drop, update, validate, node 에 대한 설명:

spring-boot-devtools

다음처럼 spring-boot-devtools을 추가하면 된다. 그리고 서버를 실행하면 아래 그림처럼 LiveReload server 가 running 하고 있다는 message를 확인할 수 있다.

dependencies {
    ...
    developmentOnly 'org.springframework.boot:spring-boot-devtools'
}
그림. liveReload

참고로, 2개 이상의 spring boot 을 띄우고 있다면, 이미 port 를 사용하고 있어서 LiverReload server가 run 할 수 없는 경우도 있다. 이때는 port 를 변경해주면 된다.

...
---
spring:
  ...
  devtools:
    livereload:
      port: 35731
  ...

See Also

  1. 쿠…sal: [컴] jooq 사용, jooq gradle plugin

[컴] msys2 zsh 에서 Antigen 사용

package manager

msys2 zsh 에서 Antigen 사용

  • terminal : windows terminal (참고)

Antigen 이란?

위 link 를 보면, 이 tool 이 하는 역할을 이해할 수 있다. 대략적으로 oh-my-zsh의 plugin manager 의 역할을 한다고 보면 될 듯 하다.

oh-my-zsh 는 한 repository 의 directory 에서 여러개의 plugin 을 관리하고 있다.

그런데 이것보다 나은 plugin management system 이 필요했는데, 진전이 없어서 이 Antigen을 만들었다고 한다.

이 Antigen 은 다양한 github repo 에서 필요한 plugin 을 가져온다고 한다.

Prequisites

  1. git 필요

설치

antigen.zsh 만 있으면 된다.

antigen.zsh 를 설치하고, .zshrc 를 작성후 재실행하면 된다.

curl -L git.io/antigen > antigen.zsh
# or use git.io/antigen-nightly for the latest version

mv ./antigen.zsh ~/.omz/

~/.zshrc:

source ~/.omz/antigen.zsh

# Load the oh-my-zsh's library.
antigen use oh-my-zsh

# Syntax highlighting bundle.
antigen bundle zsh-users/zsh-syntax-highlighting

# Load the theme.
antigen theme borekb/agkozak-zsh-theme@prompt-customization

# Tell Antigen that you're done.
antigen apply

prompt 가 안보인다.

처음 실행하면, antigen 을 적용한 후, prompt 가 보이지 않는다. 이럴때는 그냥 새 창을 띄우면 된다.

Reference

  1. Zsh on Windows via MSYS2. I have quite a long history trying to… | by Borek Bernard | Medium
  2. Prompt disappears on sourcing .zshrc using antigen · Issue #8 · agkozak/agkozak-zsh-prompt · GitHub

[컴] msys2 bash 를 windows terminal 에 추가하기

msys2 bash 를 windows terminal 에 추가하기

  1. windows terminal 에 가서 command pallete(ctrl+shift+p) 를 열자
  2. Open settings file (JSON) 을 선택
  3. profiles.list 에 msys2 추가(아래 json 참고)

이 때 guid 의 생성은 다음 link 를 참고하자.

profile:

{
    "commandline": "d:\\msys64\\msys2_shell.cmd -defterm -here -no-start -mingw64 -shell bash",
    "guid": "{2ece5bfe-50ed-5f3a-ab87-5cd4baafed2b}",
    "hidden": false,
    "name": "msys2 bash"
}

zsh

bash 대신 zsh 를 사용하고 싶다면,

  1. zsh 를 설치 : pacman -S zsh 을 하면 zsh 이 설치된다.
  2. msys2 를 실행할 때 zsh 로 실행 : d:\\msys64\\msys2_shell.cmd -defterm -here -no-start -mingw64 -shell zsh

Reference

  1. Adding MSYS to windows terminal - Stack Overflow

[컴] VSCode 에서 Msys2 bash 사용

vs code 에서 bash 사용 / zsh 사용

VSCode 에서 Msys2 bash 사용

vscode 는 container 에 접근해서 사용할 수도 있다.

다만 이것은 여러모로 memory/storage 를 많이 먹는다. 그래서 msys2 를 이용한 방법이 있어서 사용해 본다.

여기선 vscode 의 기본 terminal 을 msys2 가 제공하는 콘솔을 사용하도록 설정할 것이다.

절차

  1. msys2
    1. msys2 설치(https://www.msys2.org/)
    2. <msys64>\msys2.exe 실행
    3. pacman -Syu : package repo database update,
  2. vscode 세팅
    • Preferences: Open User Settings (JSON) 으로 가자.
    • bash terminal 추가
    • git path 추가
    • vscode 재실행

msys

msys2 를 download 하고 설치후, <msys64>\msys2.exe 를 실행하면 된다. 이 환경은 posix emulator 라고 보면 된다. 여기서 원하는 package들을 설치해서 사용할 수 있다.

먼저 pacman -Syu 을 통해 pakage 를 update 하자. 여러번 실행해야 할 수 있다.

  • pacman -Syu : package repo의 data 를 update, 여러번 실행해야 한다.

이제 bash 가 같이 설치됐다. (경로: <msys64>\usr\bin\bash.exe)

vscode settings

이제 vscode 의 terminal 의 default 값을 BASH 로 바꾸는 작업을 해주자.

아래처럼 setting 을 추가한다. 그러면 terminal panel(control+`) 에서 ’BASH’를 사용할 수 있게 된다.

아래는 msys2 를 C:\\msys64에 설치했을때의 설정이다.


"terminal.integrated.profiles.windows": {
   "BASH": {
       "path": "C:\\msys64\\usr\\bin\\bash.exe",
       "args": [
           "--login",
           "-i"
       ],
       "env": {
           "MSYSTEM": "MINGW64",
           "CHERE_INVOKING": "1",
           "MSYS2_PATH_TYPE": "inherit"
       }
   }
},
"terminal.integrated.defaultProfile.windows": "BASH",
"git.path": "C:\\msys64\\usr\\bin\\git.exe",    // --> 이건 그냥 git for windows 를 설치해서 사용해도 된다.

See Also

  1. 쿠…sal: [컴] Cygwin 과 MSYS2 의 차이
  2. 쿠…sal: [컴] windows 에서 zsh 사용하기(wsl 없이)
  3. 쿠...sal: [컴] msys2 bash 를 windows terminal 에 추가하기

Reference

  1. GitHub - alisoufali/MSYS2-Setup-Guide: An installation/configuration guide to help setting up MSYS2 on microsoft windows and use it in Visual Studio Code
  2. How To Set Up And Use MSys2 – CadHut

[컴] windows 에서 git for windows의 msys2 를 이용해서 zsh 사용하기

zsh windows / msys / wsl 없이

windows 에서 git for windows의 msys2 를 이용해서 zsh 사용하기(wsl 없이)

절차

  1. git for windows 설치
  2. zsh msys2 package 를 download
  3. 압축을 풀고, msys2 환경에 copy

상세내용

msys2 환경에서 실행되는 zsh 를 이용한다고 보면 된다.

이미 git for windows 가 msys2 환경이 같이 설치된다. [ref. 1] 그러므로 이것을 이용한다.

다음 경로에서 windows 용 zsh 를 download 할 수 있다.

여기서 download 한 내용을 git for windows folder 에 copy 해 넣으면 된다.

usr, etc folder 가 있는데, git for windows 의 folder와 맞춰서 copy 해 넣으면 된다.

MSYS2 설치방법

ref.1 에선 msys2 를 설치하고, 그 안에 git for windows 까지 같이 넣어서 사용하는 방법을 보여준다.

.zst 압축 푸는 법

다음 util 을 사용할 수 있다.

Reference

  1. Zsh on Windows via MSYS2. I have quite a long history trying to… | by Borek Bernard | Medium : 여기서는 msys2 를 설치하고, zsh 를 그 안에 설치한다.
  2. Installing Zsh (and oh-my-zsh) in Windows Git Bash | Dominik Rys
  3. ZSH + Oh My ZSH! on Windows without WSL - DEV Community

[컴] pdf 번역을 위한 좋은 도구

 

pdf translate / pdf 번역기 이용방법

pdf 번역을 위한 좋은 도구

[컴] memory 에 대한 좋은 자료

메모리 / ram / dram / sdram / how memory

memory 에 대한 좋은 자료

메모리가 어떻게 동작하는지 알려준다.

See Also

  1. 쿠…sal: [컴] pdf 번역을 위한 좋은 도구