본문 바로가기

Programing

homebrew, mongodb 설치 이글에 잘 나와있음http://dalinaum-kr.tumblr.com/post/2986196227/hello-homebrew#disqus_thread homebrew로 mongodb설치 후 /data/db 폴더 없다고 에러나고 권한 없다고 해서 sudo mongod를 실행해줌다시 메뉴얼 보니까 sudo mkdir -p /data/db sudo chown `id -u` /data/db요래 하라고 나와있네; 그럼 sudo로 실행안해도 권한이 생기겠다. 진짜 데몬이 뜬다; park-jinwooui-MacBook-Pro:~ jinwoo$ sudo mongodmongod --help for help and startup optionsSat May 5 01:06:05 [initandlisten] MongoDB s.. 더보기
JDBC JDBC는 Java Database Connectivity의 약자로 JDBC API를 사용해 사용자들은 relational database, spreadsheet 혹은 flat file등의 data source에 접근할 수 있게 해준다. 특정 DB를 사용하기 위해서는 JDBC기술과 Database간의 중간 역할을 위한 JDBC 기술 기반의 Driver가 필요하다. 아래에서 현재 jdbc가 지원하는 vendor들의 driver들을 확인 할 수 있다. http://devapp.sun.com/product/jdbc/drivers 모든지 배우기 위해서는 서비스제공자의 reference를 참고할 필요가 있다. JDBC를 사용하기 위해서 아래 tutorial을 제공하니 읽어보면 된다. http://download... 더보기
Python subprocess Popen에서 좀비프로세스 방지 (zombie-processes 방지) python 배치안에서 Popen로 새로운 프로세스를 병렬적으로 실행하는데 부모 process가 멈춰있고 자식 프로세스들이 defunct되어 있는 것을 확인했다. 예를 들면 아래의 ls 실행 같이 말이다. subprocess.call( ('ps', '-l') )process.wait() print "after wait" subprocess.call( ('ps', '-l') ) Example output: $ python so2760652.py F S UID PID PPID C PRI NI ADDR SZ WCHAN TTY TIME CMD 0 S 501 21328 21326 0 80 0 - 1574 wait pts/2 00:00:00 bash 0 S 501 21516 21328 0 80 0 - 1434 wa.. 더보기
Python url download (파이썬 다운로드) 파이썬에서 url을 입력해서 download 받는 방법이다. www.python.org에서 html을 다운로드 해보자 import urllib # Get a file-like object for the Python Web site's home page. f = urllib.urlopen("http://www.python.org") # Read from the object, storing the page's contents in 's'. s = f.read() f.close() urllib를 import하고 urllib.urlopen() 함수를 호출하여 읽어들일 url을 나타내는 네트워크 객체를 생성하고 s라는 변수에 읽어 들인다. 그러면 끝 ! print s 라고 치면 읽어들인 것을 프린트 한다. url.. 더보기
java profiling (자바 프로파일링) YourKit 사용 방법 java application 실행 후 시간이 흐르면 cpu load가 올라가서 java profiling을 진행중이다. 나는 YourKit(http://www.yourkit.com/purchase/index.jsp)을 사용했고 리눅스 장비에서 실행되는 java program에 YourKit agent를 붙여 실행하고 내 윈도우 desktop에서 프로파일링을 진행했다. YourKit은 메모리(MEMORY), CPU, GC(garbage collection)등을 확인해 볼 수 있도록 지원한다. [프로파일링 방법] 링크를 따라가 보면 프로파일을 진행하는 방법을 가르쳐 준다. http://www.yourkit.com/docs/index.jsp Java Profiler YourKit Java Profiler 1.. 더보기
Java pipeline framework (자바 파이프라이닝 처리) 자파 파이프라인 프레임워크 내가 말하려는 파이프라인은 JAVA pipeline framework 모델이다. 언어는 JAVA가 아니어도 된다. 이미지 검색을 해봤는데 마음에 드는 그림이 없어서 직접 그렸다. 그러니까 공장에서 자동차를 조립하는 것을 상상해보면된다. 저런 pipeline이 있고 그 line에 따라서 job(자동)가 오면 작업자1(process1), 작업자2(process2), 작업자3(process3)이 차례로 job에 대해 어떤 일을 진행한다. 이런 종류의 프로세스는 같은 작업에 대해서 병렬적인 프로세스를 위해 쓰인다. 저런 line이 10개면 동시에 10개의 파이프라인에서 10대의 자동차를 생산할 수 있기 때문이다. http://www.informit.com/articles/article.. 더보기
java remote debugger, 자바 원격 디버깅 eclipse를 사용해 자바 원격 디버깅하는 방법에 대해서 설명한다. 영어에 거부감이 없다면 여기를 참고해도 좋다. http://www.eclipsezone.com/eclipse/forums/t53459.html 내 경우에는 원격 서버(linux)에서 돌릴 프로그램이 local에서 돌지 않기 때문에 remote debugging을 진행했다. linux에서만 도는 c library를 window에서는 돌릴 수 없기 때문에 ;;; 이런 경우 외에도 로컬이 아닌 원격장비에서만 일어나는 에러를 잡기 위해서 진행해 볼 수도 있다. 만약 test.java 파일을 컴파일 해서 test.class가 생성되었다면 실행은 아래와 같이 할 것이다. 서버 (10.8.34.1) $> java test 거기에 -Xdebug -X.. 더보기
java multi-thread, thread pool 사용 아래를 확인하면 안전하고 쉽게 java thread pool을 사용하는 방법을 알려 준다. http://www.vogella.de/articles/JavaConcurrency/article.html#threadpools 더보기
Mysql Connection pooling 비단 mysql에서만 필요한 것은 아니지만 mysql 사용을 예로 들어 connnection pooling에 대해서 적어 놓는다. mysql을 예로 들어 jdbc를 통해서 쿼리가 필요할 때마다 connection을 맺고 query의 결과를 받아오는 것은 비용이 크다고 볼 수 있다. 예전에 아래 포스팅에서도 썼듯 connection의 비용이 작은 편이 아니다. http://the-earth.tistory.com/entry/mysql-insert-%EC%86%8D%EB%8F%84%EC%97%90-%EB%8C%80%ED%95%98%EC%97%AC-Speed-of-INSERT-Statements 아래는 insert시에 드는 비용을 비율화 한 것이다. Connecting: (3) Sending query to s.. 더보기
JNDI 검색해 봤는데 설명이 어렵게 되어 있어서 찾은 것 중 가장 나아보이는 것 일단 투척 한글로 개념잡기 http://blog.naver.com/nciel77?Redirect=Log&logNo=110014111294 http://blog.naver.com/whitefre?Redirect=Log&logNo=140063288075 tutorial 페이지 http://download.oracle.com/javase/jndi/tutorial/index.html 더보기