Vim-eclim 으로 루비 개발 환경 만들기

내 주력 에디터는 vim이다. 사실상 vim이외에 다른 에디터는 사용하지 않는다고 보면 되겠다. 단순하고 어디에서나 실행되는게 맘에 든다. 개발을 위해서 사용하는 플러그인은 다음과 같다. https이들 모두를 설치한 vim 화면이다. golang 프로그래밍 화면을 갭춰했다. 아래 환경에서 설치했다. 우분투 리눅스 14.04 Vim 7.4.52 cta...

Ruby DSL을 이용한 Lambda 서비스 구현

미완성.. 는 인스턴스의 생성과 삭제, S3로의 이미지 업로드, DynamoDB로의 스트림 업데이트, 이미지 분석, 문서 변환등 다양한 서비스를 제공한다. AWS 기반으로 서비스를 개발할 경우, AWS의 자원 변동상황을 트리거 해서 적절한 작업을 수행해야 한다. S3에 이미지가 업로드가 끝나면 섬네일을 만들거나, 이미지 업로드를 기다리는 다른 사람에게 이벤...

ruby : Array Class

ruby Array은 integer형 숫자를 색인으로 객체를 저장하고 접근하기 위해서 사용하는 클래스다. Array는 C나 Java의 배열과 마찬가지로 0부터 시작한다. C언어와 달리 음의 정수를 색인으로 할 수 있는데, 이 경우 배열의 끝에서 부터 색인을 시작한다. 예를 들어 -1은 배열의 마지막 원소, -2는 마지막에서 두번째 원소다.args를 원소로...

Ruby Class : String

Ruby Class 문자열에서 substring를 찾는다. 정규표현식을 사용할 수도 있다. 발견하면 발견한 위치의 index 값을 반환한다. 발견하지 못했다면 nil을 반환한다. "hello".index(e) #=> 1"hello".index(lo) #=> 3"hello".index(a) #=> nil"hello".index(?e) #=> 1"hello"...

Ruby 1.9.3 core

Ruby 1.9.3 coreRuby Class Reference...

Sequel - 루비언어를 위한 데이터베이스 툴킷

Sequel - 루비언어를 위한 데이터베이스 툴킷 데이터 베이스 애플리케이션 개발은 C나 PHP에서 직접 mysql, postgresql API를 호출하는 방식으로 해왔기 때문에, ORM(Object-relational mapping)은 나에게 생소하다. 예컨데 나는 PHP나 C에서 persistence layer를 처리하는 Model-1 방식만을 경험한...

gem 사용하기

gem 사용하기Ruby gem은 루비 언어에서 사용하는 패키지 매니저로 루비 프로그램과 라이브러리를 배포하는 표준 형식과 배포 방법을 제공한다. 루비 프로그래머는 gem을 이용해서 간단하게 원하는 프로그램을 설치할 수 있으며, 자신이 개발한 프로그램을 간단하게 배포할 수 있다. gem을 원할히 설치하기 위해서는 준비해야 할 것들이 있다. ruby 헤더 파...

rspec-core

rspec-corerspec-core는 실행 가능한 테스트코드를 만들기 위한 구조와 rspec 명령들을 제공한다. 내 리눅스 환경에서 테스트 했다. Ubuntn 리눅스 12.04 Ruby 1.8.7 gem 1.8.24 rspec 2.11.1# gem install rspec # rspec-core, rspec-expenctations, rspec-moc...

RSpec Expectations

RSpec Expectations RSpecaccount.balance.should eq(Money.new(37.42, # gem install rspec# gem install rspec-expectationsdescribe Order do it "sums the prices of the items in its line items" do order = ...

Ruby iconv 변환

Ruby iconv 변환테스트 환경 Ubuntu 13.04 Ruby 1.9.3 # gem install iconvruby-dev 패키지가 설치돼 있지 않다면, gem install 중 아래와 같은 에러가 발생한다. # gem install iconvBuilding native extensions. This could take a while...ERROR ...