728x90 반응형 Programming139 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 을 사용해서 좀 더 편하게 설치할 수는 없을까? 하고 찾아보니, 방법이 없지는 .. 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 에서 템플릿 디렉토리를 지정할.. 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.. 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 = .. 2012. 3. 27. 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.. 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) {} 2012. 3. 7. 이전 1 ··· 11 12 13 14 15 16 17 ··· 24 다음 728x90 반응형