반응형

m1 맥북에서 nvm 을 사용하여 node 버전을 변경하며 관리하는 방법입니다.

 

우선 brew 를 통해 nvm 을 설치해 줍니다.

 

$ brew install nvm

설치후 

 

$ nvm -v

 

명령어를 실행해 보면

이런 에러메시지가 나는데요

 

다시 설치 과정중에 나타나는 텍스트들을 보다보면 중간에 이런 부분이 있으실 겁니다.

 

위 사진의 중간쪽부터 보시면 

Please note that upstream has asked us to make explicit managing
nvm via Homebrew is unsupported by them and you should check any
problems against the standard nvm install method prior to reporting.

You should create NVM's working directory if it doesn't exist:
  mkdir ~/.nvm

Add the following to your shell profile e.g. ~/.profile or ~/.zshrc:
  export NVM_DIR="$HOME/.nvm"
  [ -s "/opt/homebrew/opt/nvm/nvm.sh" ] && \. "/opt/homebrew/opt/nvm/nvm.sh"  # This loads nvm
  [ -s "/opt/homebrew/opt/nvm/etc/bash_completion.d/nvm" ] && \. "/opt/homebrew/opt/nvm/etc/bash_completion.d/nvm"  # This loads nvm bash_completion

You can set $NVM_DIR to any location, but leaving it unchanged from
/opt/homebrew/Cellar/nvm/0.39.5 will destroy any nvm-installed Node installations
upon upgrade/reinstall.

 

이런 문구가 있습니다.

 

대충 번역기의 도움을 빌려 해석해보면

 

 

업스트림에서는 명시적인 관리를 요청했습니다.
Homebrew를 통한 nvm은 지원되지 않으므로 확인해야 합니다.
보고하기 전에 표준 nvm 설치 방법에 대한 문제.

NVM의 작업 디렉터리가 없으면 만들어야 합니다.
   mkdir ~/.nvm

쉘 프로필에 다음을 추가하세요. ~/.profile 또는 ~/.zshrc:
   NVM_DIR="$HOME/.nvm" 내보내기
   [ -s "/opt/homebrew/opt/nvm/nvm.sh" ] && \. "/opt/homebrew/opt/nvm/nvm.sh" # 그러면 nvm이 로드됩니다.
   [ -s "/opt/homebrew/opt/nvm/etc/bash_completion.d/nvm" ] && \. "/opt/homebrew/opt/nvm/etc/bash_completion.d/nvm" # 그러면 nvm이 로드됩니다. bash_completion

$NVM_DIR을 어떤 위치로든 설정할 수 있지만 변경하지 않고 그대로 둡니다.
/opt/homebrew/Cellar/nvm/0.39.5는 nvm이 설치된 모든 노드 설치를 제거합니다.
업그레이드/재설치 시.

정도가 되겠네요.

 

저의 경우 nvm 작업 디렉터리는 따로 생성해 주지 않아도 잘 동작 하였으나. 쉘 프로필에 다음을 추가하세요 부분은 추가를 하여야 nvm 이 정상 동작했습니다.

 

$ vi ~/.bash_profile

$ vi ~/.zprofile 

$ vi ~/.zshrc

위의 세개 중 하나를 실행시켜 맨 아래쪽에

  export NVM_DIR="$HOME/.nvm"
  [ -s "/opt/homebrew/opt/nvm/nvm.sh" ] && \. "/opt/homebrew/opt/nvm/nvm.sh"  # This loads nvm
  [ -s "/opt/homebrew/opt/nvm/etc/bash_completion.d/nvm" ] && \. "/opt/homebrew/opt/nvm/etc/bash_completion.d/nvm"  # This loads nvm bash_completion

위의 문장을 추가하신 후

위의 추가한 파일을

$ source ~/.bash_profile

$ source ~/.zprofile 

$ source ~/.zshrc

를 통해 실행시켜주시면 설치가 완료됩니다.

 

저같은 경우 처음에 ~/.bash_profile 에 입력하여 설치했으나 

vscode 에서는 zsh 를 사용하여 nvm 이 동작하지 않는 문제가 발생한 것을 확인하고

~/.zprofile 에도 추가로 입력해주었습니다.

 

위의 nvm -v 를 다시 입력해보면

이렇게 설치된 nvm 의 버전이 나오면 설치가 잘 된 겁니다.

 

$ nvm ls

명령어를 입력해보시면

이런 초기 상태가 나오실 텐데

 

저는 제가 필요한 버전과 최신 버전을 설치하기 위해

$ nvm install 16.14.0

$ nvm install --lts

이렇게 설치 해준 후 다시 nvm ls 를 입력해보니

이런식으로 현재 설치된 버전과 사용중인 버전들이 나오는 걸 확인할 수 있었습니다.

위의 사진에서 보이는대로 현재 사용중인 버전은 -> 화살표가 가르키는 v18.18.0 버전인데

설치된 16.14.0 버전으로 바꾸고 싶다면

$ nvm use v16.14.0

이런식으로 입력해주시고 다시 nvm ls 를 해보시면

이렇게 사용중인 버전을 바꿔가면서 사용하실 수 있습니다.

반응형
반응형

만약 어떤 input 에 값이

값1, 값2,값3, 값4 , 값5...

이런식으로 컴마 사이의 공백이 중구난방 되어 있을 때

공백을 일정하게 만들어주는 함수입니다.

정규식을 사용하여 처리하는 방법입니다.

 

공백을 양쪽에 넣어주시고 싶으시다면

1
2
3
$("#test").val(function(i, v) {
    return v.replace(/\s*,\s*/g, " , ");
});
cs

이렇게 공백을 없애고 싶으시다면

1
2
3
$("#test").val(function(i, v) {
    return v.replace(/\s*,\s*/g, ",");
});
cs

이렇게 처리하시면 됩니다!

 

그리고 추가로 만약 맨 끝에 컴마만 제거하고 싶으시면

1
2
3
4
$("#test").val(function(i, v) {
    return v.replace(/,\s*$/"");
});
 
cs

이렇게 정규식을 이용하여 처리하시면 됩니다.

 

 

출처

https://stackoverflow.com/questions/33607564/jquery-add-space-after-and-before-comma

 

jQuery - Add space after and before comma

I trying to add space before and after comma in input/text on blur. this code works perfectly but I got a little issue with this, that I want to do this once, if you blur input, it going to add space

stackoverflow.com

 

반응형
반응형

Mac 에서 개발을 하시는 분들이라면 대부분 brew 의 openjdk(adoptopenjdk) 를 사용하여 java 를 설치하셨을 것입니다.

터미널에서 명령어 한줄로 설치할 수 있기 때문에 윈도우보다도 훨씬 쉽게 설치가 되는데요

그러나 openjdk 에는 1.8 버전 이상부터 설치할 수 있었기 때문에

그 이전버전을 사용하기 위해서는 따로 설치가 필요 했습니다.

 

adopopenjdk 에서 설치할 수 있는 버전은 

$ brew search jdk

명령어를 통해 

이렇게 확인 하시거나 아래 링크 

https://github.com/AdoptOpenJDK/homebrew-openjdk

 

GitHub - AdoptOpenJDK/homebrew-openjdk: AdoptOpenJDK HomeBrew Tap

AdoptOpenJDK HomeBrew Tap. Contribute to AdoptOpenJDK/homebrew-openjdk development by creating an account on GitHub.

github.com

요기서 확인하시면 되구요

 

저의 경우는 1.7 버전이 필요했기 때문에

 

https://www.oracle.com/java/technologies/javase/javase7-archive-downloads.html

 

Java Archive Downloads - Java SE 7

We’re sorry. We could not find a match for your search. We suggest you try the following to help find what you’re looking for: Check the spelling of your keyword search. Use synonyms for the keyword you typed, for example, try "application" instead of

www.oracle.com

이 곳에서 mac 용 java 1.7 버전을 다운받아 따로 수동으로 설치하였습니다.

 

그리고 jenv 라는 자바 버전 관리 툴을 brew 를 통하여 설치해 준 후

$ brew install jenv

~/.zshrc 에 jenv 관련 설정을 추가하여 줍니다

$ echo 'export PATH="$HOME/.jenv/bin:$PATH"' >> ~/.zshrc

$ echo 'eval "$(jenv init -)"' >> ~/.zshrc

 

이렇게 두개의 명령어를 터미널에서 실행시키시고

 

$ source ~/.zshrc

명령어로 변경된 설정을 적용시킵니다.

 

그리고 이제 jenv 에 설치된 자바들을 추가해 주어야 하는데

 

/Library/Java/JavaVirtualMachines

 

경로 아래에 아마 설치된 자바의 Home 위치가 있으실 텐데요

 

각자 설치된 버전에 따라

 

jenv add 명령어를 통해서 설치된 자바의 위치를 입력하여 줍니다.

 

 

저의 경우는 

$ jenv add /Library/Java/JavaVirtualMachines/adoptopenjdk-8.jdk/Contents/Home

이렇게 추가를 해주었습니다.

 

그리고 위에 설치한 java 1.7 버전의 Home 경로를 찾아서 

동일하게 jenv add 명령어로 추가해 줍니다.

 

저의 경우 수동으로 설치된 자바 1.7 버전은

/Library/Java/JavaVirtualMachines/jdk1.7.0_80.jdk 경로에 있었습니다

 

그래서 위와 동일하게 

$ jenv add /Library/Java/JavaVirtualMachines/jdk1.7.0_80.jdk/Contents/Home

명령어로 자바 1.7 버전을 jenv 에 추가 해주었습니다.

 

이렇게 추가를 해주신 후

 

$ jenv versions

입력하시면 jenv 에 추가된 java 버전별 목록을 보실 수 있고

전역으로 java 버전을 변경하시고 싶다면

 

$ jenv global 특정버전

특정 디렉토리에서만 자바 버전을 변경하시고 싶으시다면 해당 디렉토리에서

$ jenv local 특정버전

명령어를 통해 사용하시면 됩니다.

 

그리고 난 후 

$ jenv version

혹은

$ java -version

$ javac -version

명령어를 통해 확인해 보시면

 

 

이렇게 변경이 잘 되는 것을 확인하실 수 있습니다.

 

그리고 특정 버전의 자바를 jenv 에서 삭제하고 싶으시다면

 

$ jenv remove 특정버전

명령어를 통해 삭제하실 수 있습니다.

반응형
반응형

현재 글 작성일 기준으로 오라클에서 제공하고 있는 가장 최신 버전의 자바는 20 버전 입니다.

 

https://www.oracle.com/java/technologies/downloads/

 

그러나 현업에서 가장 많이 사용하는 버전은

제 기준 아직까지는 1.8 버전이고

 

간혹 옛날부터 이어져 오는 프로젝트를 맡아서 할 때는

그 이전 버전의 자바도 사용해야 할 경우가 종종 있습니다.

 

이클립스나 STS 같은 툴을 이용해서 개발하시는 분들은 툴에서 제공하는 기본 설정을 통해 자바의 버전을 프로젝트별로 바꾸어 가며 사용하실 수도 있지만

 

간혹 윈도우 자체 자바의 버전을 바꾸어가며 사용해야 할 경우가 있어서

오늘 알려드리는 방법은

윈도우 자체의 자바 버전을 바꾸어가며 사용하는 방법입니다!

 

우선 윈도우 자바 버전은 

윈도우 환경변수 설정에 따라 바뀌게 됩니다

 

환경변수를 설정하는 방법은

https://dzzienki.tistory.com/3

 

1. 개발환경 세팅(1) 자바 설치 및 환경변수 설정

1. https://www.oracle.com/kr/index.html 오라클 홈페이지 접속 > 다운로드 탭 2. 카테고리별 다운로드의 JAVA 탭 선택 3. .Java 탭의 Java (JDK) for Developers 선택 4. Java SE 8u191 / Java SE 8u192 탭의 JDK Download 선택 (사실

dzzienki.tistory.com

이곳에 나와 있는데

여기의 JAVA_HOME 의 변수를 동적으로 바꾸는 방법을 통하여 

윈도우의 자바 버전을 바꾸는 방법입니다.

 

우선 저는 JAVA  1.7, 1.8, 11 세개 버전이 윈도우에 설치되어 있는데요

현재는 1.8 로 설정되어 있는 상황입니다.

이제 이 자바 버전을 동적으로 바꾸기 위해서는 bat 파일이 필요한데

 

본인의 jdk 가 설치된 폴더 아래에 scripts 라는 폴더를 새로 만드신 후

그 안에 각각의 자바 버전의 맞춰

java7.bat

java8.bat

java11.bat

 

3개의 파일을 만드는데

메모장을 켜서

set JAVA_HOME=

 

이 부분에 

각각의 java 설치 경로에 맞추어 3개의 파일을 만들어 줍니다.

 

저의 경우는

@echo off
set JAVA_HOME=C:\Program Files\Java\jdk1.7.0_80
set Path=%JAVA_HOME%\bin;%Path%
echo Java 1.7 activated.
java -version
@echo off
set JAVA_HOME=C:\Program Files\Java\jdk-1.8
set Path=%JAVA_HOME%\bin;%Path%
echo Java 1.8 activated.
java -version
@echo off
set JAVA_HOME=C:\Program Files\Java\jdk-11.0.7
set Path=%JAVA_HOME%\bin;%Path%
echo Java 11 activated.
java -version

이렇게 3개의 파일이 되겠네요

이런식으로 3개의 파일을 만들어 주신 후

환경변수 설정에서 Path 환경변수에

이런식으로 script 폴더와

각각의 jdk 폴더를 추가해 줍니다.

 

그런 후 cmd 창을 켜서 

java7

java8

java11

 

이런식으로 java 버전을 바꿔가면서 테스트해보시면

 

이렇게 자바는 물론 javac (자바 컴파일러) 버전까지 완벽하게 같이 바뀌는 것을 확인할 수 있습니다.

반응형
반응형

개발을 하다 보면 옛날 버전의 java jdk 로 개발을 해야할 때가 종종 있습니다.

 

그럴때는 최신버전의 sts 에선 1.8 이전 버전의 자바를 지원을 안하는경우가 있고

 

혹은 프로젝트가 여러개가 있어서

 

같은 WorkSpace 에서 하나의 STS 로는 자바 버전을 나누기 애매해서(?)

 

옛날 버전의 STS 가 필요할 때가 있는데요

 

그때 이전 버전의 STS 를 찾고 싶은데 sts 공식 홈페이지에서는 4.0.0 버전 까지의 STS 만 다운로드할 수 있게 되어 있는 것을 확인하였습니다.

https://github.com/spring-projects/sts4/wiki/Previous-Versions

 

Previous Versions

The next generation of tooling for Spring Boot, including support for Cloud Foundry manifest files, Concourse CI pipeline definitions, BOSH deployment manifests, and more... - Available for Eclipse...

github.com

그래서 열심히 서칭을 하여 결국 옛날 버전의 STS 까지 다운받을 수 있는 사이트를 찾았습니다.

https://dist.springsource.com/release/STS/index.html

 

https://dist.springsource.com/release/STS/index.html

Spring Tool Suite 3.9.12 3.9.12.RELEASE (Mrz 12, 2020) Spring Tool Suite 3.9.11 3.9.11.RELEASE (Dez 16, 2019) Spring Tool Suite 3.9.10 3.9.10.RELEASE (Sep 19, 2019) Spring Tool Suite 3.9.9 3.9.9.RELEASE (Jun 18, 2019) Spring Tool Suite 3.9.8 3.9.8.RELEASE

dist.springsource.com

이곳에서 Spring Tool Suite 2.0.1 버전까지 다운로드가 가능하고

윈도우 뿐만 아니라 MacOS 와 Linux 버전의 옛날 STS 까지 전부 다 있기 때문에

필요하신 분들은 이곳에서 다운로드를 받으시면 될 것 같습니다!

반응형
반응형

https://mariadb.com/kb/en/mariadb-connector-j-releases/

 

List of MariaDB Connector/J Releases

A list of all Connector/J releases

mariadb.com

이곳에서 자신의 자바 버전에 맞는 mariadb connector/j 를 확인 후

 

https://mariadb.com/downloads/connectors/

 

Download MariaDB Connectors for data access & analysis | MariaDB

Download MariaDB Connector/Python, MariaDB Connector/C, MariaDB Connector/J, MariaDB Connector/Node.js, MariaDB Connector/R2DBC, MariaDB Connector/ODBC and more

mariadb.com

이 곳에서 자바 버전에 맞는 최신 mariadb jdbc 버전을 받으시면 됩니다.

 

혹시 이전 버전이 필요하시다면

 

메이븐 리파지토리에서 버전별로 jar 파일을 다운받으시면 됩니다.

 

https://mvnrepository.com/artifact/org.mariadb.jdbc/mariadb-java-client

 

반응형
반응형

이전포스팅에서 Mysql 쿼리로

구분자로 구분된 문자열을 행으로 분리하는 쿼리를 작성했었는데

https://dzzienki.tistory.com/35

 

MySQL 문자열 구분자 여러개 있을 때 여러 행으로 분리하기

일을 하던 도중 MySQL 에서 한 문자열에 여러개의 구분자가 있을 때,예를 들면 '동해물과;백두산이;마르고;닳도록;하느님이;보우하사;우리나라;만세' 이런 테이블이 있다고 가정했을 때 1절 동해

dzzienki.tistory.com

이번에는 오라클 DB 에서 구분자를 행으로 분리하는 쿼리가 필요하여 작성하였다.

위 내용은 

https://gent.tistory.com/10

 

[Oracle] 문자열 구분자를 행으로 분리 (Split)

오라클 쿼리에서 칼럼에 구분자로 입력된 값을 행으로 분리(Split)하여 조회해야 할 상황이 종종 발생한다. 대부분 값을 조회하여 프로그래밍 코드에서 구분자를 분리하는 작업을 한다. 그러나

gent.tistory.com

해당 블로그에서 참조하였다.

 

위의 블로그에서는

10g 이상 버전과 8i 버전 두가지를 나누어 사용하였으니 필요하신 분들은 참고하시길 바란다.

 

 

 

만약 이런 테이블이 있다고 가정했을 때

JUL CONTENT
 1절  동해물과;백두산이;마르고;닳도록;하느님이;보우하사;우리나라;만세
 2절  남산위에;저소나무;철갑을;두른듯;바람서리;불변함은;우리;기상일세
 3절  가을하늘;공활한데;높고;구름없이;밝은달은;우리가슴;일편;단심일세
 4절  이기상과;이맘으로;충성을;다하여;괴로우나;즐거우나;나라;사랑하세
 후렴  무궁화;삼천리;화려강산;대한사람;대한으로;길이;보전하세

위의 테이블을

JUL CONTENT
 1절  동해물과
 1절  백두산이
 1절  마르고
 1절  닳도록
 1절  하느님이
 1절  보우하사
 1절  우리나라
 1절  만세
 2절  남산위에 
 2절  저소나무

이렇게 바꾸는 쿼리이다.

 

 

 

1
2
3
4
5
SELECT JUL, 
REGEXP_SUBSTR(CONTENT, '[^;]+'1, b.lv) AS CONTENT  --여기 ^ 뒤에 구분된 구분자를 입력한다
FROM akukka, (SELECT LEVEL AS lv FROM dual CONNECT BY LEVEL <=8) b --여기 LEVEL 뒤의 숫자를 나누어질 갯수로 지정해줘야 한다. 
WHERE REGEXP_SUBSTR(CONTENT, '[^;]+'1, b.lv) IS NOT NULL --여기 ^ 뒤에 구분된 구분자를 입력한다
cs
반응형
반응형

윈도우 터미널에서 지원하는 wsl2 ubuntu 22-04 버전은 기본적으로 systemctl 을 지원하지 않습니다.

 

그래서 수동 설정으로 사용할 수 있도록 설정을 해야하는데 방법은

 

sudo apt install git

git clone https://github.com/DamionGans/ubuntu-wsl2-systemd-script.git

cd ubuntu-wsl2-systemd-script

sudo bash ubuntu-wsl2-systemd-script.sh --force

위의 명령어를 순서대로 입력해 서 설치하고

 

터미널을 재시작 하시면 systemctl 이 활성화 됩니다.

반응형

+ Recent posts