일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- Migration
- 전화영어
- form
- carrierwave
- activerecord
- max중첩
- test
- java
- apache spark
- Rails
- Scala
- TIP
- RoR
- Ruby
- programmingTip
- fixture
- Hadoop
- minitest
- rubyonrails
- 삽질기
- Ruby on Rails
- share
- mysql
- uploader
- Linux
- programming
- 점심영어스터디
- Shell
- fileUploader
- transaction
- Today
- Total
목록전체 글 (37)
아침바라기의 이야기
예전에 삽질했던 케이스를 공유해본다. 아래와 같이 company_photo 라는 테이블이 있다 치자. company_photo id | is_represent |company_name| register_date| ---------------------------------------------------- 1 | Y |Vista Corp| 2015-10-23 | 2 | N |Vista Corp| 2015-10-22 | 3 | N |Data Corp | 2015-10-11 | 4 | N |Data Corp | 2015-10-12 | 5 | Y |Test Corp | 2015-10-23 | 자아 여기서 회사의 대표 이미지(is_represent 가 'Y'인 값)가 아니면,최근에 등록한 company_phot..
비슷한 주제인 Mini test를 이용한 모델 테스트 팁은 이전에 한번 다뤘다. 주의점이 한가지 있다. Fixture는 개수가 많아지면 속도가 느려진다. 현재 DB의 데이터를 모두 지웠다가 Fixture 데이터를 넣고 테스트가 완료 되면 롤백한다. 이 과정을 진행하다보니 기존에 데이터가 많거나 Fixture 수가 늘어나면 늘어날수록 느려진다. 이걸 해결하려면 test_helper.rb에서 class ActiveSupport::TestCase fixtures :all 이 부분을 수정하는 것이 좋다. 각 테스트 케이스 setup 에서 fixture를 로딩하도록 만들거나 헬퍼를 통해서 필요한 것만 로딩하는 걸 만들어주도록 한다. Fixture는 YML 형태로 보통 사용한다아래는 예제다. # users.yml ..
블록은 일종의 클로저라고 할 수 있다. 실행할 내용을 하나의 함수로 묶고, 이를 객체로 만들어 원하는 시점에 호출할 수 있다. 이것이 바로 블록이다. 레고 장난감 블럭처럼 여기저기 쉽게 가져다 낌을 수 있게 만들고자 블럭이 아닐까 싶다. 블럭을 호출할땐 여러 방법이 있다. 루비에서의 블록은 1줄 식으로 표현할때 {} 을 사용하고, 두줄 이상일때는 do end를 사용한다. 예를 들자면 다음과 같다. # 1줄 짜리 {} counter = 0 4.times { counter += 1 } # 1줄 이상 do-end Application::Base.transaction do # do transaction end 그럼 이제 블록의 정의는 어떻게 해야하는걸까? 크게 두가지 형태가 있다. 1줄짜리 블록 형태로 정의 하..