분류 전체보기217 (Groovy) 버전 정보 가져오기 Groovy 스크립트를 실행하면서 현재 실행되고 있는 Groovy 인터프리터의 버전을 알고 싶을 때, 버전에 따라서 아래와 같이 할 수 있으며, 현재 주력 버전이 1.8.6 이고, 곧 2.0.0 도 나올 것이라서 거의 대부분 첫번째 방법으로 사용하면 될 것이다. [groovy 1.6.6 and 1.7-rc-1 released 이후의 방법]import groovy.lang.GroovySystemprintln GroovySystem.version// orprintln GroovySystem.getVersion()if (GroovySystem.version >= "1.8.0") println "1.8.0 이상" [예전 방법]import org.codehaus.groovy.runtime.InvokerHel.. Programming/Groovy 2012. 5. 23. Perl : StrawberryPerl 에서 PAR::Packer 설치하기 보통은 아래와 같이 CPAN 을 이용해서 모듈을 설치할 수 있다.C:\> cpanm PAR::Packer그런데, 최신 버전인 1.013은 에러 발생하며 설치 안된다. 부엉이님 께서 Perl / Win32 / PAR::Packer - PAR::Packer 1.013 설치 중 windres: can’t open file pp.manifest 오류가 발생하는 경우 에서 1.013 설치법을 설명을 해주었지만, 뭔가 좀 깔끔치 못한 느낌이다. 그래서, 바로 밑에 버전 1.012 을 설치하려고 하는데, 어떻게 해야될지 모르겠더라. CPAN 사이트에서 직접 다운로드 하여, 컴파일해서 설치할 수도 있겠지만, 좀 원시적인 느낌이다. cpan 을 사용해서 좀 더 편하게 설치할 수는 없을까? 하고 찾아보니, 방법이 없지는 .. Programming/Perl 2012. 5. 14. Django 1.4 에서 Template 디렉토리 설정 Django 1.4 에서 가장 큰 변화라면, 전체 어플리케이션의 레이아웃이 바뀌었다는 점이다. 이전 버전에서는 프로젝트를 생성하면 아래와 같이 파일들이 생성되었다. project_name/ `- __init__.py `- manage.py `- settings.py `- urls.py `- wsgi.py 1.4에서는 이렇게 바뀌었다. project_name/ `- manage.py `- project_name/ `- __init__.py `- settings.py `- urls.py `- wsgi.py 여기에서 주의 깊게 볼 것은 상위에 있는 project_name 디렉토리에는 __init__.py 파일이 없기 때문에 패키지명으로 사용할 수 없다는 것과 settings.py 에서 템플릿 디렉토리를 지정할.. Programming/Python 2012. 4. 9. node.js : nodebrew 를 이용한 node 설치 여러 버전의 node 를 사용하기 위해서 기존에 nvm 을 이용했으나, 다른 언어(perl, python)에서 사용하던 ~~~brew 를 node 에서도 이용할 수 있게 되었다. 사용법은 조금 다르긴 하지만, nvm 보다 낫지 않을까 싶어서 설치해보고 정리해보았다. $ curl https://raw.github.com/hokaccha/nodebrew/master/nodebrew | perl - setup $ echo 'export PATH=$HOME/.nodebrew/current/bin:$PATH' >> ~/.profile; source ~/.profile $ nodebrew help $ nodebrew ls-remote $ nodebrew install 0.6.14 $ nodebrew alias de.. Programming/Javascript 2012. 4. 4. Django 마이그레이션 1.3.1 -> 1.4 이번에 Django 기반으로 서비스하는 시스템을 1.3.1 에서 1.4 로 마이그레이션하였다. settings.py 에서 다음 2가지를 변경해주니, 잘 동작되는 것 같다. 사실, 이 외에도 몇가지 있으나, Django 가 불평은 하지 않았다. 그래도 미래를 위해서 미리 바꾸어주는 것이 좋을 것이다. https://docs.djangoproject.com/en/dev/releases/1.4/를 참고해서 시도해보자. DATABASE # 변경전 DATABASE_ENGINE = 'postgresql_psycopg2' DATABASE_NAME = '디비이름' DATABASE_USER = '사용자' DATABASE_PASSWORD = '비밀번호' DATABASE_HOST = '호스트' DATABASE_PORT = .. Programming/Python 2012. 3. 27. Debian/Ubuntu : 시간 지역설정/동기화 놀자코딩#Programming #Coding #Development #API #Server #python #golang #java #nodejs #javascript #프로그래밍 #코딩 #개발 #서버 #파이썬 #Go언어 #자바 #노드 #자바스크립트www.youtube.com 어려운 내용은 아니지만, 서버를 구축하면서 반드시 해야 할 작업중의 하나가 시간을 제대로 맞추는 것이다. Debian/Ubuntu 에는 ntp 데몬을 쉽게 설치할 수 있으며, 이것이 주기적으로 인터넷에 있는 시간서버와 주시적으로 시간을 맞추도록 되어 있다. 그리고, 해당 지역의 로컬 시간을 설정하기 위해서는 /etc/localtime 을 원하는 지역의 것으로 바꾸어주면 된다. 방법은 직접 수동으로 하는 것과, dpkg-reconfi.. ETC (IT) 2012. 3. 12. Groovy : 수정된지 N일이 넘는 파일들 삭제하기 특정 디렉토리 밑에 있는 파일 중에서 일정시간이 지난 파일을 삭제하고자 할 때 필요한 스크립트이다. 파일 서버를 관리하다보면, 주기적으로 필요 없는 파일들을 삭제해야 하는데, Unix(Linux) 환경에서는 find, rm 등을 조합하여 사용할 수도 있다. 그런 것이 여의치 않고, 굳이 Groovy 를 이용하려고 할 때, 활용하면 좋겠다.final DAY_LIMIT = 2 // N일final TARGET_DIR = "./"println("[Deleted Files]\n")new File(TARGET_DIR).eachFileRecurse { file -> if( file.file ) { def lastModified = new Date(file.lastModified()) d.. Programming/Groovy 2012. 3. 9. Groovy : 클로져(반복자)에서 빠져나오기 보통의 반복문에서 중간에 빠져나오려면 break 를 사용하지만, 클로져(반복자)에서 break를 사용하면 에러가 발생한다. 다음 코드를 작성하여 실행해보면, 에러를 확인할 수 있을 것이다.10.times { item -> println item if(item == 6) break}이에 대한 대안으로는 Exception 을 사용하면 된다. 이제 다시 Exception 을 이용해서 클로져를 빠져나오는 코드를 보자. 좀 번거롭기는 하지만, 확실하게 break 와 같은 효과를 볼 수 있다.try { 10.times { item -> println item if(item == 6) throw new Exception("break") }} catch (e) {} Programming/Groovy 2012. 3. 7. Groovy : 100MB 이상의 파일중에서 중복된 파일 찾기 Groovy 에서도 100MB 넘는 파일 중에서 중복된 파일을 찾는 프로그램을 만들어보았다. 모든 언어를 공부하면서 만들어보는 것인데, MD5 Checksum 이 같으면 중복된 파일로 인식하고, 카운트하여 정렬하고 출력하도록 하였다. 파일에 대한 MD5 Checksum 기능이 없어서 직접 구현되었고, 이 부분을 제외하면 Ruby 와 거의 비슷하다.// -----------------------------------------------------------------------------// 100MB 이상의 파일중에서 중복된 파일 찾기// ----------------------------------------------------------------------------- import java.se.. Programming/Groovy 2012. 3. 7. Groovy : 파일 md5sum 구하기 Groovy에서 md5sum 을 구하려면, Java 의 MessageDigest 모듈을 이용해야 한다. 안타깝게도 file 에 대한 md5 checksum 을 구하는 부분은 구현되어 있지 않기 때문에 별도로 구현해야 한다. 다른 언어에서의 방법과 유사하므로 그리 어렵지는 않다. Java 의 모듈을 그대로 이용해야하기 때문에, 구현은 Java 의 그것과 거의 같다.import java.security.MessageDigest def md5sum(final file) { MessageDigest digest = MessageDigest.getInstance("MD5") file.withInputStream() { is -> byte[] buffer = new byte.. Programming/Groovy 2012. 3. 6. Groovy : 하위 디렉토리의 모든 파일 출력하기 Groovy에서 하위 디렉토리의 모든 파일을 출력하는 방법을 알아보자. 인터넷에서 검색하면 금방 나오는 내용이지만, 일단 적어둔다. new File("C:\\").eachFileRecurse { filename -> println "Filename: $filename"} Programming/Groovy 2012. 3. 5. NODE.JS : 파일 MD5SUM 구하기 기본 모듈 crypto 를 이용해서 파일의 md5sum 을 구하는 스크립트를 만들어보자. 별도로 제공이 안되므로 직접 만들어써야 한다. 일단 아래와 같이 만들어보면 md5 뿐만 아니라 sha1 에 대한 checksum 을 쉽게 구할 수도 있을 것이다. 동기IO를 이용한 방법 (파일을 조금씩 읽어서 처리하는 방법) => Windows 에서는 에러가 발생하고 제대로 실행되지 않는다. 원인을 찾아보려고 했으나, 알 수가 없다. 혹시 누구 아시는분? node.js v0.6.11 에서 문제가 있었으나, v0.6.12 에서 잘 되고 있다. var fs = require('fs'); var crypto = require('crypto'); var filename = 'walk_test.js'; function md5.. Programming/Javascript 2012. 2. 27. 이전 1 ··· 8 9 10 11 12 13 14 ··· 19 다음