Category Archives: 개발툴

개발툴

Babun – 윈도우10 터미널 작업 지원 툴

http://babun.github.io/

 

윈도우 7이나 이하버전에서도 가능한지는 모르겠다.

윈도우10에서 지원하는 우분투 설치기능같은거 그걸 이용하는건지 별도로 가상환경을 구성하는건지도 지금 모르겠다. 확인필요

cygwin인가를 사용하는 것 같기도 하고… 스쳐지나가며 본 것 같다

 

윈도우에서 git, ssh, scp 등등의 명령어를 쓰고싶을 때가 있다.

윈도우 커맨드라인의 도스명령은 성능이 떨어지기도 하고… 오래되서 잘 생각도 안나고

파워쉘 명령은 하나도 모르겠고

그럴 때 리눅스명령으로 터미널 작업을 할 수 있다는 점은 매력적이다.

 

윈도우와의 완벽한 호환성을 제공하진 못하지만 /c/Users/username/~~ 와 같은 형태로 접근도 가능하고

Users디렉토리는 윈도우즈의 User디렉토리와 별도의 경로를 사용한다.

 

쓰면서 좀 더 확인해보고 수정.

Windows 패키지관리자

다른OS에서의 패키지 관리툴

(사실상 거의 비슷한건데 이름만 다른것포함해서)

Mac : port, brew

Ubuntu : apt, apt-get, aptitude

Centos : yum, dnf

 

필요성?

각 개발 환경에서 jdk, virtualbox를 깔고 개발을 하려고 한다면 보통은 이렇게 한다.

Mac

brew update

brew cask install java virtualbox vagrant

Ubuntu

sudo apt install openjdk-8-jdk virtualbox vagrant

Windows

….다운로드 설치

윈도우 패키지관리자

sdkman

안써봤다

Chocolaty

https://github.com/lukesampson/scoop/wiki/Chocolatey-Comparison

맥의 port에 가깝다. 설치파일 가져와서 설치하는 방식. 관리자 권한 필요

 

Scoop

맥의 brew에 가깝다.

라이브러리, SDK, 개발툴 종류 설치에 특화되어 있고 프로그램의 설치는 안된다고 봐야…

사용자 디렉토리에 설치한다.

설치스크립트

http://scoop.sh/

ex)

r언어를 설치하고싶다면
검색
scoop search r
설치
scoop install r
scoop install 7zip 설치

jdk설치
scoop install openjdk
또는
scoop add bucket extras
scoop install oraclejdk oraclejre

같은방법으로
groovy, maven, gradle, scala …  등등설치

ruby는 불가. – 애초에 윈도우에서 ruby개발을 할 생각을 말자

virtualbox, hyperv, docker 등을 이용해서 공유디렉토리를 잡고 구동은 가상시스템에서 개발 및 파일관리는 윈도우에서 하는 방법이 그나마 제일 효율적이었다.

Jrebel, JAVA 웹개발자에게 정말 필수!!

Java 웹개발할 때 WAS를 재시작하지 않고도 코드가 적용된다니~
우와 굉장한 기술이다!!

근데…
이걸 왜 써야하나?

다른 주류 웹 언어들은 코드 변경하면 다 바로바로 적용된다.

많이 사용하는 다음의 언어들은 말할것도 없고
PHP, node-js, Ruby(on Rails), Python(on Django?)

JVM 계열인 Scala(SBT)도.. 소스변경 컴파일 하면 변경사항이 바로 적용된다고 하는데…

JAVA만… 300달러 정도 하다가 475달러로 가격을 인상한… JRebel같은 툴을 써야만 HotSwap이 가능하다.

그냥 웹개발을 자바로 안하면 될 것 아닌가?
그래서 안하려고 한다.
(SI업무라면은 할 수 없겠지만.. )
자바가 C,C++에 비해서는 생산성이 높은 언어였지만, Scala, Clojure, Python 등등에 비하면 아니기도 하니까

 

UML – 프로젝트에 UML포함하기

이슈트래커나  프로젝트 문서 또는 소스코드에 프로젝트의 설계 관련 문서를 넣으면 좋을때가 있는데
여태까지는 진짜 적당한 프로그램이 없었다
대강 인터넷 찾아서 나오는 몇 가지 프로그램 비교해보면

argouml

몇번 써봤는데…
이건 제대로 돌아가지도 않는다… 느리고

StarUML

한국인이 개발한건데 이 사람이 개발포기한다고 어디서 글을 본 것 같은데…
GPL 라이센스 무료.. 원래 유료였는데 무료화에 소스공개하고 접은걸로 알고 있다.
근데 몇년전에 갑자기 v2가 나오고 v2는 어찌된건지 유료화가 됐다. GPL인데 유료화가 됐다면… 저작권을 매입한건가?
어쨌든 프로그램이 좀 불안정해서 안쓰게 됐다.

Visio

좋긴한데, 깔아서 쓰는사람이 별로 없고 설치도 힘들어서…
프로젝트에 포함시켰을 때 ide나 웹에서 봐지면 좋은데 그것도 아니고

PlantUML

최근 발견했는데 상당히 마음에 든다.
그림을 그리는 방식이 소스코드처럼 그려서 GIT에 관리하기도 편하고 용량도 얼마 안먹는다.
IDE플러그인에서 이미지 출력도 지원
중국계 오픈소스, GPL License인 것 같지만

http://plantuml.com/faq

I don’t like GPL!

You can also use:

라이센스가 모호하다.  맘대로쓰라는것같다.

X11, OSx에서는 완벽하게 돌아가지는 않나보다. 아직 윈도우에서만 써봐서…
컨셉이 나름 괜찮아서 커뮤니티가 활성화되면 나아지지 않을까 싶다.

사용하려면
http://plantuml.com/
이클립스, Intellij 플러그인을 설치하고 graphviz를 다운받은 후 설정에 써줘야한다.
C:/Program Files (x86)/Graphviz2.38/bin/dot.exe
뭘잡을지 잘 모르겠지?
dot.exe파일을 잡아줘야한다.

문법이 크게 복잡한것은 아니고…

클래스다이어그램은
UML만가지고 무슨 대규모 프로젝트 하는것도 아니고 잘해야 인터페이스 대여섯개정도 잡는정도니까

시퀀스 다이어그램은 순차적으로 가니 또 상관없을 것 같고….

디자인 패턴가지고 ClassDiagram 그려보고 있는데 괜찮은 느낌이다.

CI – jenkins 대안은 없나

Jenkins 쓰면서 없는 것 보다는 편하긴 한데

세부 설정이나 커스터마이징이 매우 복잡했다.

플러그인을 사용할 수도 있고 새로 만들어 쓸 수도 있는건 알겠는데

단순한 명령 하나를 처리하기 위해서 플러그인을 만들 수는 없는 노릇이니까

 

 

그래서 대안을 찾아보다가 발견한 것들

6 top continuous integration tools
https://opensource.com/business/15/7/six-continuous-integration-tools

이 사이트에 소개된 CI툴은 다음과 같다.

https://jenkins-ci.org/

http://buildbot.net/

https://travis-ci.org/

https://github.com/Strider-CD/strider

https://www.go.cd/

http://integrity.github.io/

특성 좀 보고 한번 설치나 해 봐야겠다.

http://alternativeto.net/software/jenkins/
추가목록

Intellij 설치후 필수설정과 이유

—설정파일
콘솔에서 한글보기
idea.exe.vmoptions
-Dfile.encoding=UTF-8

콘솔창 버퍼 키우기
idea.properties
idea.cycle.buffer.size=1024

—Project Setting
띄어쓰기 탭으로 변경
Settings-CodeStyle-General… : Use tab character
General만 하면되는건 아니고 하나하나 선택해서 Use tab character 선택

라인변경자 맥이랑 통일
Settings-CodeStyle-General : Line separator (for new files) : Unix and OS x 선택

–IDE Settings
Editor-Appearance : 다음 항목 체크
Show line numbers, Show whitespaces, Show method separator, Use block caret, …그냥 다 체크.

참고
http://kwonnam.pe.kr/wiki/intellij_idea/config

Eclipse, Debugging : 예외발생지점 찾기

예외발생지점 찾기…

트라이 캐치로 코드를 감싸놓은 경우… 예외발생지점을 정말 찾기 힘들다.

이거 찾으려고 얼마나 고생을 했는지… 코드 구석구석 브레이크 포인트 찍어가지고 돌려보고..

 

이클립스 디버깅 모드에서 간단하게 해결 가능한다.

 

이클립스 Debug Perspective – Breakpoints View – Add Java Exception Breapoint 선택

마음에 드는 예외를 등록해놓으면 예외가 발생하는 순간 그 위치를 잡아준다.