반응형

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 (자바 컴파일러) 버전까지 완벽하게 같이 바뀌는 것을 확인할 수 있습니다.

반응형
반응형

이클립스에서 작업을 하다 보면 종종

.properties 파일을 열 때



이런식으로 한글이 모두 깨져서 보일 때가 있습니다.

사실 무슨말인지 몰라도 쓰는데 지장은 없지만

무슨말인지 알면 더 쓰기 편할 수가 있으니 깨지지 않고 볼 수 있는 방법을 알려드리겠습니다.



상단 메뉴의 HELP > eclipse marketplace 에서

properties 라고 검색을 합니다.



그러면 위와 같이 Properties Editor 라는 플러그인이 나오게 됩니다.

만약 나오지 않는다면

제 글

https://dzzienki.tistory.com/36

를 참고하여 설치하시기 바랍니다.


플러그인을 설치하시고 난 후에

보고자 하는 프로퍼티 파일을 우클릭 후 Open With > PropertiesEditor 를 선택해주시면





아래와 같이 맨 처음에 깨져보이던 프로퍼티의 한글 문구들이 

깨지지 않고 정상적으로 나오게 됩니다.



도움이 되셨으면 좋겠습니다.


반응형
반응형

저는 현재 이클립스 2018-12 버전을 사용중입니다.


그런데 이클립스 마켓플레이스에서 필요한 플러그인이 있어

설치하려고 검색을 해보면



이렇게 검색도 되질 않고


홈페이지에서 직접 검색을 하여 Install 을 드래그 앤 드롭하여 설치를 시도하여도





아래와 같은 화면만 반복될 뿐 설치도 검색도 되지 않는 문제가 있습니다.



이클립스 최신버전을 쓸 때 생기는 문제인 것 같습니다.

혹시나 마켓플레이스를 업데이트하면 검색이 될까 하여

맨 위쪽 항목의 Marketplace client update available 의

update now 를 눌러 업데이트 해보았습니다.





I accept the terms of the license agresment 에 체크를 해주고

Next> 를 누르면





위와같이 설치를 할 수가 있구요

업데이트를 해주어도 필요한 플러그인이 검색이 되지 않더군요...

그렇게 한참을 헤메던 중

우연히




마켓플레이스에서 검색된 플러그인을 클릭하고 들어가서

Install 버튼 바로 아래쪽의 네개의 아이콘 중 맨 오른쪽 것을 클릭하니

위와같이 설치를 할 수 있는 주소창이 나왔습니다.

지원되는 버전을 보니 2018.12 버전이 아직 포함되지 않아서

마켓플레이스에서 검색이 되지 않았던 것 같네요

아무튼 저 주소를 복사하여





이클립스 상단 메뉴의 Help > Install New Software... 를 선택한 후





저 주소를 입력하고 Add 를 누르면 설치할 이름을 설정하는 탭이 나오는데

(중간에 캡처를 못하여 사진이 없습니다. 아래쪽에 사진 있어요) 

필요한 설치 항목에 체크한 후 Next> 를 누르면




이렇게 필요한 항목을 설치할 수 있었습니다.

Next > 를 누르고





I accept the terms of the license agreements 에 체크를 해주고

Finish 를 누르면





이런 탭이 한번 뜨는데

Install anyway 를 눌러주고

다 설치가 되면





Restart Now 를 누르면 설치가 완료됩니다.


혹시 다른 것도 저런식으로 설치가 되는지 궁금하여 

한번 더 해보았습니다.




이렇게 필요한 subversive 를 검색해도 

비슷한 다른 플러그인이 나올 뿐

역시나 나오지 않아서





마켓플레이스에서 검색을 하여 해당 플러그인을 선택하여 들어가고





동일한 위치에 아이콘을 클릭하고 주소를 복사한 후

(뭔가 다른 버전들이 있는걸 보니 

다른 버전에서는 해당 버전의 주소를 복사해주어야 하는 것 같습니다.)





(위쪽에 중간에 캡쳐못했다는 부분이 이부분입니다.)

이름을 임의로 입력해준 후 Add 를 누르고





위와 동일하게 필요한 플러그인에 체크를 해주고 Next > 를 눌러주면





이렇게 설치가 되구요





Next > 를 누르고





동의에 체크해주고 Finish 를 누르고





설치가 완료되면





이렇게 재시작을 해주고

설치가 완료된 것을 확인할 수가 있었습니다.


이클립스 최신버전을 설치하셔서

마켓플레이스에서 필요한 플러그인이 검색이 되지 않아

고생하셨던 분들에게 도움이 됬기를 바랍니다.



반응형
반응형

이클립스에서 개발 작업을 하게 되면

톰캣 서버를 자주 내렸다 올리며 개발을 하게 됩니다.


그렇게 톰캣 서버를 수도없이 내렸다 올리다 보면



이런 'Starting server' has encountered a problem.

라는 오류를 발생시키며

서버가 재시작 되지 않는 경우가 종종 발생하곤 합니다.

이럴 경우 해결방법을 알려드리도록 하겠습니다.


우선 cmd 창을 열고


netstat -a -n -o -p tcp


라는 명령어를 실행시켜줍니다.



그러면 저렇게 보이시는것처럼

로컬 주소 부분에 8009 라는 포트를 사용하고 있는 프로토콜이 보이실 겁니다.


이클립스 오류에서 보이는것처럼

내가 필요한 포트는 8005와 8009 인데 해당 포트가 사용중이기 때문에

강제로 저 포트를 사용하고 있는 프로토콜을 종료시켜주어야

이클립스에서 톰캣 서버를 실행시킬 수 있습니다.


강제로 종료하는 방법은

해당 프로토콜의 맨 오른쪽에 있는 PID 번호를 기억하여


taskkill /f /pid 피드번호


라는 명령어를 실행시켜주시면 됩니다.

저의 경우 위의 사진에서 볼 수 있듯이

PID 번호가 2312 이기 때문에


taskkill /f /pid 2312


라고 쓰고 엔터를 눌러주시면 됩니다.

그러면



위와같이 성공 메세지와 함께

다시 


netstat -a -n -o -p tcp


라는 명령어를 실행시켜 줬을 때

8009를 사용하던 프로세스가 감지되지 않는 것을 확인할 수 있습니다.

마찬가지로 8005 번 포트를 사용하고 있는 포트의 PID도 찾아서

taskkill 명령어로 종료시켜주면

이클립스에서 해당 톰캣 서버가 문제없이 잘 실행될 것입니다.

반응형
반응형

일을 하면서 배웠던 이클립스 단축키들을 여기에 

간단한 설명과 함께 하나씩 정리해 보려고 합니다.


이 게시글은 아마 수시로 업데이트가 될 것 같습니다.


Ctrl + Shift + L = 모든 단축키 보기


Ctrl + alt + R = 파일 찾기 (파일 명을 그대로 입력해야 정확하게 나옴)


Ctrl + H = 파일 내용으로 찾기 (File Search 탭으로 이동 후 찾아야 함)


Ctrl + D = 커서가 있는 한 줄 삭제


Alt + ↑ or ↓ = 커서가 있는 해당 줄 위 아래로 순서 바꾸기


Ctrl 누른 상태로 메소드 클릭 or 해당 메소드 이름 위에 커서 놓고 F3 = 해당 메소드가 정의되어있는 곳으로 이동


Ctrl + Space bar = 자동완성


Ctrl + Shift + O =  필요한 클래스 자동 import


Ctrl + Shift + / = 주석달기


Ctrl + Shift + F = 자동정렬


Alt + Shift + A = 구간 복사 (네모낳게 영역을 선택하여 복사할 수 있음)

반응형

+ Recent posts