Programming/Ruby13 (Ruby) Ramaze Simple Tutorial 2 (with Sequel) 이 튜토리얼에서는 migration 을 사용하지 않고, Model 에서 직접 스키마를 작성하고 Table 을 생성하도록 하였다. 그리고, Ramaze (2012.12.08) 에서 테스트를 진행하였다. 관련 모듈 설치$ apt-get install libsqlite3-dev sqlite3$ gem install ramaze sequel thin sqlite3 프로젝트 생성$ mkdir -p /opt/project/ramaze$ cd /opt/project/ramaze$ ramaze create web 기본 웹서버 변경 -> task/ramaze.rake 에서 :webrick 을 :thin 으로 수정 웹서버 시작 테스트$ cd /opt/project/ramaze/web$ thin start db/mod.. Programming/Ruby 2012. 12. 14. (Ruby) Ramaze 에서 JSON 으로 응답하기 AJAX 로 동작하는 웹프로그램을 개발하려면, JSON 으로 응답하는 컨트롤러를 작성할 필요가 있다. Ramaze 기본 문서에는 대략만 나와 있어서, 써먹기 어려워서 테스트해보고 다시 정리해본다.Controller 의 init.rb 에 다음 내용을 추가해준다.require 'json' # --> 추가된 부분class Controller "application/json") { |action, val| val.to_json } # --> 추가된 부분endController 작성 예제class TestController 해당 액션을 호출할 때에는 http://test.com/test/action.json 처럼 끝에 .json 을 붙여준다. Programming/Ruby 2012. 11. 21. (Ruby) Ramaze Simple Tutorial (with Sequel) 흔히들 많이 이용되는 Rails 를 안쓰고 Ramaze + Sequel 조합을 시도해 본 이유는 설치되는 모듈이 정말 적기 때문이다. 너무 많은 의존성을 가지게 되면, 시간이 지날 수록 관리하는데 많은 문제를 읽으킨다. 이 때문에, 원래는 python/Django 를 사용했었는데, python 대신 ruby 를 사용하고 싶어서 대체할만한 웹프레임워크를 찾고 있었다. 그러다가, Ramaze + Sequal 이 초간단으로 설치되는 것을 확인하고, 관련 문서를 찾아보고 테스트했지만 Rails 나 Django 처럼 충분한 문서를 제공하지 않더라. 쓸만한 Tutorial 도 없고 해서, 초간단으로 Tutorial 을 만들어보았다.관련 모듈 설치$ apt-get install libsqlite3-dev sqlite.. Programming/Ruby 2012. 11. 19. (Ruby) 여러 디렉토리의 사이즈를 구하고 크기 순으로 정렬하기 Ruby 에서 여러 디렉토리의 사이즈를 구하고 크기 순으로 정렬하는 방법을 구현해보았다. 여러 팀에서 공유하는 파일의 서버의 경우, 각 디렉토리별(팀)로 어느 정도 사용하는 지를 알아보고 싶을 때 이용하면 좋을 것이다.require 'find'$FOLDER_LIST = [ 'C:\\path\\to1', 'C:\\path\\to2', 'C:\\path\\to3', 'C:\\path\\to4', 'C:\\path\\to5', ]start_time = Time.nowsize_folder_list = Array.new$FOLDER_LIST.each() d.. Programming/Ruby 2012. 6. 14. (Ruby) 특정 디렉토리 밑에 있는 파일중에 200MB 넘는 파일 찾기 다음은 특정 디렉토리 아래에 있는 파일 중에서 200MB 넘는 파일을 찾아서, 크기로 정렬하여 출력하는 프로그램이다. 어려운 것은 아니지만, 필요할 때 찾아보면 좋을 듯 하여~ ^^# -*- coding: cp949 -*-require 'find'$TARGET = "C:\\"$SIZE_LIMIT = 200_000_000start_time = Time.nowputs "Script Start..."puts "=========================================================================\n\n"file_list = Array.newFind.find($TARGET) do |path| if File.file?(path) and File.size(pat.. Programming/Ruby 2012. 5. 25. (Ruby) JRuby 1.6.6 인코딩 관련 버그 오랜만에 JRuby 를 PC에 설치해보고 테스트하려고 설치하고 간단히 jruby -v 명령을 실행하는데, 에러를 뱉어낸다. 뭔가 하고 찾아보니, 인코딩 관련 버그라고 한다. 관련 버그에 대한 내용은 http://jira.codehaus.org/browse/JRUBY-6398?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel#issue-tabs 에서 찾아볼 수 있으며, 1.6.7 에서는 해결될 것이라고 한다. 조만간 릴리즈한다고는 하던데~그 전까지는 1.6.6 을 삭제하고 1.6.5 를 받아서 다시 설치해서 사용해야 할 듯 싶다.참고로, Linux/FreeBSD 등에서는 기본 인코딩을 UTF-8을 사용하고 있는데, 별 문제 없이 잘 .. Programming/Ruby 2012. 2. 13. (Ruby) JRuby, 1.9.x 를 디폴트로 사용하기 JRuby를 처음 설치해서 버전을 확인해보면, 1.8.x 인것을 확인할 수 있다. 이것을 1.9.x 로 변경하려면, 환경변수 JRUBY_OPTS 를 수정해야 한다.$ jruby -vjruby 1.6.5 (ruby 1.8.7 patchlevel 330) (2011-01-10 769f847) (Java HotSp...$ export JRUBY_OPTS=--1.9$ jruby -vjruby 1.6.5 (ruby 1.9.2 trunk 136) (2011-01-10 769f847) (Java HotSpot(TM...$ export JRUBY_OPTS=--1.8$ jruby -vjruby 1.6.5 (ruby 1.8.7 patchlevel 330) (2011-01-10 769f847) (Java HotSpo... Programming/Ruby 2011. 10. 27. (Ruby) 파일(디렉토리)이름에 특정 문자열이 포함된 목록 출력하기 Ruby에서 파일(디렉토리)이름에 특정 문자열이 포함된 목록 출력하기위해서 아래와 같이 하면 된다. Unix(Linux)/Cygwin 에서는 기본적인 도구만으로도 쉽게 할 수 있지만, 그런 환경에 안되는 곳에서는 유용하다. 아주 사소한 팁이지만, 이런 것이 여러가지가 모이면, 나중에 큰 도움이 될 것이다. ^^# -*- coding: cp949 -*-require 'find' $dirlist = ["C:\\"]$sub_string = "애니메이션" $dirlist.each() do |dirname| puts dirname if dirname.include?($sub_string) Find.find(dirname) do |file| next if file == nil next if n.. Programming/Ruby 2011. 10. 27. (Ruby) 10MB 이상의 파일중에서 중복된 파일 찾기 아래 코드에서 파일에 대한 MD5SUM 을 구하기 위해서 주석 처리한 부분을 대신 사용할 수 도 있다. 인터넷에서 찾아보면 이렇게 되어 있는 경우가 많은데, 이렇게 하면 메모리를 많이 잡아먹는 문제가 발생한다. 반드시 Digest::MD5.file().hexdigest 를 이용해야만 적은 메모리를 사용하면서 원활하게 동작되니 주의하기 바란다.# -*- coding: cp949 -*-require 'find'require 'digest/md5' file_list = Array.newFind.find("C:\\") do |path| if File.file?(path) and File.size(path) > 10_000_000 # digest = Digest::MD5.hexdigest(File.read.. Programming/Ruby 2011. 5. 17. (Ruby) CentOS 5.6 에서 Ruby 설치 참조- http://rvm.beginrescueend.com/ : Ruby Version Manager (RVM)- Unix 계열의 OS에서는 RVM 으로 다양한 버전의 Ruby 를 설치/관리할 수 있다.- 소스 컴파일을 하기 때문에 설치가 느리긴 하지만 다양한 OS에서 일관된 설치/관리를 제공하므로 효과적이다.- http://railstutorial.org/ruby-on-rails-tutorial-book : Ruby on Rails Tutorial필요한 패키지 설치# yum groupinstall "Development Tools"# yum install autoconf bison curl git zlib zlib-devel libxslt-devel libxml2-develrvm 설치# bash /e.. Programming/Ruby 2011. 4. 22. (Ruby) Debian Linux 6.0(squeeze)에서 Ruby 설치 Debian Linux 에서 Ruby를 사용하려면 패키지를 설치하면 쉽게 사용할 수 있다. 그러나 원하는 버전의 Ruby를 사용하고자 한다면, 별도로 설치해야 되는데, 그 방법을 설명하고자 한다.참조http://rvm.beginrescueend.com/ : Ruby Version Manager (RVM)Unix 계열의 OS에서는 RVM 으로 다양한 버전의 Ruby 를 설치/관리할 수 있다.소스 컴파일을 하기 때문에 설치가 느리긴 하지만 다양한 OS에서 일관된 설치/관리를 제공하므로 효과적이다.http://railstutorial.org/ruby-on-rails-tutorial-book : Ruby on Rails Tutorial필요한 패키지 설치# apt-get install autoconf build-.. Programming/Ruby 2011. 2. 10. (Ruby) Rails 템플릿 파일 확장명 다시 Rails 를 공부하기 시작했는데, 보던 책들이 전부 Rails 1.2.x 버전에 대한 것들이다. 그러다 보니, 테스트를 하는데 최근에 사용되는 버전에서 제대로 돌아가지 않는 문제가 발생하고 있다. 다양한 문제들이 있지만, 지금 살펴 볼 것은 View를 구성하는 템플릿 파일명에 대한 것이다. 1.2.x 에서는 .rhtml 사용했었는데, 2.1.x 이후에는 .html.erb 또는 .erb 와 같은 형식을 이용한다고 한다. 이 외에도,.iphone.erb # ERB 엔진을 사용하는 iPhone을 위한 HTML 스타일.js.rjs # RJS를 이용하는 JavaScript.xml.builder # XML builder를 이용하는 XML 포맷와 같은 형식을 이용할 수 있는데, 각기 다른 이 모든 .. Programming/Ruby 2010. 3. 18. 이전 1 2 다음