codeheart 위치로그  |  태그  |  미디어로그  |  방명록
icon 개발 에 해당하는 글52 개
2015.11.29   윈도우 아파치 설치 빌드
2014.01.17   cURL을 이용해 HTTP 요청하는 법
2013.12.23   powershell 응용
2013.12.22   msys (bash) 에서 batch 파일을 실행하고 싶을 때
2013.12.14   Windows 에서 Linux Terminal 처럼 강력한 Multitab Console 창이 필요하다면 ConEmu
2013.10.08   fedora 에서 ubuntu 의 폰트 느낌나게 하기
2013.09.26   fedora 19 버그. move to workspace above/below 단축키 변경하기
2013.09.24   [git] console 에서 아직 push 안된 commit log 보기
2013.09.24   리눅스 git 콘솔 사용시 컬러 텍스트로 표시하게
2013.09.24   리눅스 -> 윈도우 원격 데스크탑 접속하기


icon 윈도우 아파치 설치 빌드
개발/Web | 2015. 11. 29. 12:57

윈도우 환경에서 아파치 HTTP 서버를 다운받고 데몬(서비스)를 등록하는 방법을 소개한다.

  1. 윈도우 바이너리 다운로드
  2. C:\Apache2 에 압축 풀기 (다른 곳에 풀 경우 httpd.conf 수정 필요)
  3. 서비스 등록. 관리자 권한으로 cmd 에서
    httpd -k install
  4. ApacheMonitor.exe 를 통해 서비스 모니터링 가능


참고 (구자료)




arrow 트랙백 | 댓글



icon cURL을 이용해 HTTP 요청하는 법
개발/Web | 2014. 1. 17. 00:20

URL Path는 웹 서비스 코드에서 어떻게 사용하는가에 따라 다르긴 하지만,

중요한 것은 -X {METHOD} 인자를 통해 HTTP 요청 메쏘드를 달리 할 수 있다는 것이다.


Create (POST)

curl -X POST -d '내용' http://www.site.com:port


Read (GET)

curl -X GET http://www.site.com:port


Update (PUT)

curl -X UPDATE -d '신규 내용' http://www.site.com:port/1


Delete (DELETE)

curl -X DELETE http://www.site.com:port/1



디폴트 메쏘드가 GET 이기 때문에, -X GET 은 생략해도 된다.


위 명령으로 하면 response content body 만 출력이 되는데, request 및 response 의 headers 등도 모두 보고 싶다면 -v (혹은 --verbose) 옵션을 추가하면 된다.


헤더 요청을 포함시키고 싶다면 -H 'Set-Cookie: ...' 처럼 -H 뒤에 문자열을 쓰면 된다.



arrow 트랙백 | 댓글



icon powershell 응용
개발/Script | 2013. 12. 23. 14:48

[문제]

현재 폴더에 위치한 서브 폴더 안에 있는 특정 파일을 출력한다.

조건1. 어느 서브 폴더에 있는 것부터 출력하냐면 폴더명 역순으로.


다양한 방법이 있고, 더 간단한 방법도 있을 수 있다.

하지만 파워쉘의 강력한 기능들을 인지하는 차원에서 여러 기능을 활용해본다.


ls | ?{$_.PSIsContainer} | sort -desc | %{pushd $_; if (Test-Path filename) { write-host $_ ':' (cat filename) }; popd}    


설명


ls

Get-ChildItem 의 alias. gci로 해도 되고, dir 로 해도 된다.


? { ... }

? 은 필터 기능이다. 결과물(배열) 중 필요한 녀석만 선택해 새로운 배열로 변환한다.

함수형 언어의 filter 함수라고 보면 된다. { ... } 은 람다로 보면 되고 필터할 조건구문을 서술한다.


PSIsContainer

노드객체의 프로퍼티이다. 속성명이 맘에 안드는데... 해당 노드가 디렉토리면 true, 일반 파일이면 false 를 반환한다.


$_

람다의 디폴트 파라메터 (ls 의 각 요소(파일/디렉토리 노드)들이 들어옴)


sort

정렬 기능인데, -desc 옵션을 주면 역순 정렬임.


% { ... }

foreach 인데 용법 두가지 중 하나. 파이프라인 뒤에 사용하는 foreach 는 앞선 array 들의 각 요소들 마다 람다를 수행한다.


Test-Path

파일이 존재하는지 알아보는 함수. 기타 추가적인 기능이 있을 수 있다.


write-host

command쉘은 echo 에 해당함.

(참고로 powershell 의 echo 는 좀 더 객체지향적인 이해가 가미된 write-host 라고 보면 된다.)


cat

Get-Content 의 alias


(....) // 위에서 (cat ...) 한 구문

bash 의 $(...) 와 비슷하다고 보면 된다. 하지만 파워쉘은 모든 구문이 더 명료하고 직관적이기 때문에 일반적인 언어처럼 쉽게 이해 된다.


pushd

Push-Location 의 alias. command 에도 이런 기능이 있다. cd 와 유사하나, stack 에 기존 폴더를 넣고 해당 폴더로 이동한다.


popd

Pop-Location 의 alias. command 에도 이런 기능이 있다. 스택에 넣어진 폴더로 cd 한다.



Unix 계열의 shell 특히 bash shell 은 매우 훌륭하지만, 너무 고전적이다.

그러한 단점을 모두 극복하고 프로그래머가 더 다루기 좋은 도구로 발전시킨게 PowerShell 이 아닌가 싶다.


bash 에 능숙하다면, powershell 은 더 능숙하게 사용할 수 있을 거라 생각된다.


bash 는 shell 자체 보다는 유명한 unix 커맨드 스크립트를 활용하여 강력한 면이 있지만, 보수적인 면 때문에 답답한 부분도 없지 않아 있다.


bash 도 grep, sed, awk 이런 것들을 pipeline 과 조합하여 강력하게 사용가능하지만, 

powershell 은 그 구시대적인 모든 것을 쉘 자체에서 지원하고 있다.

물론 얼마 되지 않았으므로 더 명료하고 더 간단하면서도 직관적이다.


arrow 트랙백 | 댓글



icon msys (bash) 에서 batch 파일을 실행하고 싶을 때
개발/기본 | 2013. 12. 22. 00:48

cmd shell 에서 batch 파일을 실행하는 방법은 다음과 같다.


script.bat


혹은


cmd /c script.bat




하지만, msys 에서 배치파일을 실행한다면


script.bat 는 (특별한 설정없다면) 당연히 인식못할테니


cmd /c script.bat


로 해야할 것 같다.


하지만 안된다. 게다가 cmd 쉘 상태로 남아있게 된다.


(cmd /c 는 수행 후 되돌아 오는 것이라고 설명됨에도 불구하고)


이해는 안되지만 msys 가 cmd 를 특별 취급하는 것 같다.


따라서, 의도한 대로 배치파일을 수행하려면


cmd.exe /c script.bat


처럼 .exe 확장자까지 기입하면 된다.


그러면, script.bat 을 수행후, 다시 msys bash 쉘 상태로 돌아온다.




arrow 트랙백 | 댓글



icon Windows 에서 Linux Terminal 처럼 강력한 Multitab Console 창이 필요하다면 ConEmu
개발/기본 | 2013. 12. 14. 23:41


위 스크린샷은 git bash 를 con emu 창에서 돌리는 모습이다.

물론 windows command shell 이나 powershell 도 붙일 수 있다.

창을 스플릿한 상태이며, 처음에는 하나만 띄어져 있다. 

그리고 탭이 있는 것도 볼 수 있을 것이다.


linux 배포판들은 대부분 심플하면서 편리한 terminal 을 가지고 있다.

하지만, 그에 반해 windows 는 초창기 부터 변화가 없는 단순한 콘솔창이다.

애초에 windows 가 unix 계열보다 콘솔 스크립트 사용성이 떨어지는 OS 이기도 한 탓도 있다.


하지만, windows 에서 개발할 수 밖에 없는 상황이 많다.

그래서 linux 와 최대한 닮은 환경을 꾸미기 위해 msys 나 cygwin 등을 활용하기도 한다.

하지만 이 것은 쉘을 제공해주는 것이지, 터미널 창을 제공해주는 것은 아니다.

이럴 때 ConEmu 는 만족스러운 기본 윈도우 터미널 윈도우 역할을 할 수 있을거라 생각된다


다운로드:

https://code.google.com/p/conemu-maximus5/


1. 멀티 탭 기능

2. 창 split 기능

3. 루트 복사 탭 생성 기능 ( linux 도 현재 창 current directory 를 그대로 복사하는 기능이 있듯 )

4. 다른 어플리케이션 창을 탭 컨텍스트로 포함 기능!

( 기본적으로 svchost ? 을 사용하는 shell 은 conemu 폰트 설정을 유지하여 포함되고, (git bash 나 msys bash 같은) 그렇지 않은 프로그램도 포함이 가능하다. 심지어 putty 및 chrome 같은 프로그램도 포함시킬 수 있다. )


처음에는 다소 복잡한 기능에 헤매일 것 같지만,

최소한 windows 기본 콘솔창보다는 좋으니까 라는 생각으로 사용하다보면,

생각보다 많은 기능에 만족하면서 계속 쓰게 될 거라고 생각한다.



arrow 트랙백 | 댓글



icon fedora 에서 ubuntu 의 폰트 느낌나게 하기
개발/Linux | 2013. 10. 8. 00:17

정확히는 다른 리눅스 배포판에서 ubuntu 폰트 렌더링(font rendering)처럼 표현하게 하는 것이다.

폰트 렌더링도 다양한 옵션이 있지만, 보통 OS 에서는 한가지 방식으로 표현한다.

(개별 프로그램에서 특화 렌더링하지 않는다면)


현재 페도라 rendering 설정을 확인해보자.

버전마다 차이가 있을 수 있다.


>> xrdb -query

Xft.antialias: 1

Xft.dpi:         96

Xft.hinting:         1

Xft.hintstyle: hintmedium

Xft.rgba:         none


다음은 우분투 기본 설정이다.

역시 버전마다 차이가 있을 수 있다.

>> xrdb -query

Xft.antialias: 1

Xft.dpi:         96

Xft.hinting:         1

Xft.hintstyle: hintslight

Xft.rgba:         rgb

Xft.lcdfilter:         lcddefault


폰트 렌더링의 느낌은 거의 위 옵션 차이라고 보면 된다.


자, 폰트 렌더링 설정을 바꾸기 위해서 다음을 설치한다.

>> sudo yum install freetype-freeworld


그리고 전역 옵션을 바꾼다.

>> gsettings "set" "org.gnome.settings-daemon.plugins.xsettings" "hinting" "slight"

>> gsettings "set" "org.gnome.settings-daemon.plugins.xsettings" "antialiasing" "rgba"

>> echo "Xft.lcdfilter: lcddefault" > ~/.Xresources


이제 startx 로 x-window 를 다시 실행하거나, 부팅을 해보자.

폰트 느낌이 우분투스럽게 변화되어 있을 것이다.

페도라 느낌이 다소 선명한 대신 알리아싱이 거친 대신,

우분투 느낌은 다소 뿌옇지만 알리아싱이 부드러운 느낌이다.


여기에 더불어 터미널에서 우분투 폰트를 사용하고 싶을 수도 있다.

다음 주소에서 받는다.


http://font.ubuntu.com/


Download for free 라는 버튼을 눌러 다운로드 받은 다음,

압축파일을 /usr/share/fonts 에 풀어주면 된다.


개인적으로는 페도라의 선명한 느낌이 더 좋았지만,

유독 터미널에서의 폰트 느낌은 우분투만큼 자연스럽지 못해서,

한번 시도해보게 되었다.



arrow 트랙백 | 댓글



icon fedora 19 버그. move to workspace above/below 단축키 변경하기
개발/Linux | 2013. 9. 26. 01:14

정상적이라면 
Settings - Keyboard - Shortcuts - Navigation 
여기서
Move to workspace above 및 below 의 단축키를 변경할 수 있어야 한다.

문제는 이미 각각 단축키가 하나가 아닌 두 개가 배정되어 있다.
Super(Window) + Page up 뿐 아니라 Ctrl + Alt + up 도 먹힌다는 것이다.
따라서, 변경해도 하나만 변경되고 Ctrl + Alt + up/down 은 여전히 먹힌다 ;;

터미널에서 다음과 같이 배정된 키를 확인할 수 있다.

gsettings get org.gnome.desktop.wm.keybindings switch-to-workspace-down


move to workspace 단축키를 제거하고 싶다면 다음과 같이 한다.
gsettings set org.gnome.desktop.wm.keybindings switch-to-workspace-down "['']"
gsettings set org.gnome.desktop.wm.keybindings switch-to-workspace-up "['']"


이와 같은 방법으로 변경도 가능하다.
하지만 일일이 키를 텍스트로 치기 귀찮다면 위와 같이 삭제 후, 
Settings - Keyboard - Shortcuts - Navigation 
Move to workspace above / below 에서 바꾸길 바란다.





arrow 트랙백 | 댓글



icon [git] console 에서 아직 push 안된 commit log 보기
개발/기본 | 2013. 9. 24. 02:23

현재 working set 은 HEAD 이고, 이 것의 tracking branch 는 origin/master 라면 다음과 같이 한다.


git log origin/master..HEAD


.. 은 왼쪽 부터 오른쪽 사이에 발생한 log 를 보는 것이다.

줄여서 다음과 같이 해도 된다.


git log origin/master..


하지만 위 방법은 브랜치명을 기억해야 하는 문제가 있다.

tracking branch(upstream)을 대명사격으로 지칭하는 방법이 있다.


git log @{u}..HEAD


혹은 줄여서 다음과 같이 한다. 다음이 가장 간단한 방법인 듯 하다.


gIt log @{u}..


조금 다른 방법도 있다. git log --help 를 치면 나오는 방법이기도 하다.


git log --branches --not --remotes


참고 : http://stackoverflow.com/questions/2016901/viewing-unpushed-git-commits


arrow 트랙백 | 댓글



icon 리눅스 git 콘솔 사용시 컬러 텍스트로 표시하게
개발/Linux | 2013. 9. 24. 01:31

git status 등을 사용할 때 컬러로 표시하고 싶을 것이다.


윈도우와 달리 git 1.8.4 이 전 버전까지는 흑백이 디폴트다.


git config --global color.ui auto


위와 같이 해주면 앞으로는 컬러 텍스트로 표시될 것이다.



arrow 트랙백 | 댓글



icon 리눅스 -> 윈도우 원격 데스크탑 접속하기
개발/Linux | 2013. 9. 24. 00:09

리눅스에는 Remmina 라는 프로그램이 있다. ( 원격 클라이언트 중 평가가 가장 좋은편 )

기본적으로 SSH, SFTP 를 지원하지만 플러그인으로 RDP 프로토콜 등을 지원한다.


redhat 계열 리눅스(fedora 19에서 테스트) 에서 설치하려면

sudo yum -y install remmina-plugins-rdp

로 설치한다. ( remmina 로 설치하는 경우 rdp 플러그인이 포함되어있지 않다 )


ubuntu 에서 설치하려면

sudo apt-get install remmina

로 설치한다.


IP 추가 방법은 다음과 같다.

File - New 를 선택하면 다음과 같은 창이 뜬다.

Protocol -> RDP 선택

Basic - Server -> IP 입력 ( 192.168.0.1:5555 같이 포트를 입력할 수도 있다 )

Username, Password 를 입력한 후, Save 를 누르면 해당 사항이 저장된다.



사용해본 결과 윈도우 원격 데스크탑 클라이언트에 준하는 퀄리티로 나오는 듯 하다.

약간 더 빠른 것 같기도 하지만, 페도라19 에서 사용시 마우스 커서가 바뀌지 않는 현상이 있다.

(특정 위치에서 마우스 커서 바뀌는 것이 동작하지 않음)

이 현상은 조금 기다리다 보면 정상적으로 돌아가는 것 같긴 한다.

전반적으로는 만족스럽다.


arrow 트랙백 | 댓글



[PREV] [1][2][3][4][···][6] [NEXT]
관리자  |   글쓰기
BLOG main image
code heart story
분류 전체보기 (74)
생활 (0)
잡담 (8)
컴퓨터 (11)
개발 (52)
Total :
Today :
Yesterday :
rss
위치로그 : 태그 : 방명록 : 관리자
코드하트's Blog is powered by Daum / Designed by plyfly.net