본문 바로가기

소프트웨어 이야기

(Django) Rspec VS PyTest 차이1. Pytest는 함수단위로, Rspec은 스펙 단위로 테스트코드를 작성한다.pytest는 함수 단위로 테스트 코드를 작성한다. 이런 느낌Rspec은 BDD 기반의 테스트 코드다. 테스트 케이스를 구조화하고, 맥락이 비슷한 테스트케이스를 한군데에 모으고, 여러 코드를 재사용하기에는 Rspec이 더 편했다. describe '#destroy' do context 'when resource is found' do ..
(Django) 마이그레이트를 하지 않고 PyTest 사용하기 백그라운드요즘 Ruby on Rails + Rspec 조합으로 살다가, Django + PyTest으로 머리를 포팅하고 있다. 마이그레이트를 사용하지 않는 장고 프로젝트에서 PyTest를 사용하는 방법을 삽질하면서 찾아봤는데 이걸 정리해보고자 한다. 방법 (두가지 방법 다 설정해줘야 한다. )1. pytest.ini에 설정값 추가해주기[pytest]addopts = --reuse-db --nomigrati..
Django VS Ruby On Rails Django가 루비온레일즈를 보고 만들었다고 하는데, 어떤 점이 같고 다른지 정리해보고자 한다.공통점1. 마이그레이트 파일로 테이블을 관리한다.    레일즈가 schema_migrations 테이블에 마이그레이트 코드를 관리한다면, 장고는 애플리케이션이름과 마이그레이트 파일명 단위로 마이그레이트 코드를 관리한다. 2. 기타 등등* 마이그레이트로 테이블을 만들면, 자동으로 id 필드를 추가해준다.  ..
레일즈에 Service/Decorator Layer 적용하기 (8) - 끝~ 이 포스팅은 
레일즈에 Service/Decorator Layer 적용하기 (7) - Helper 대신에 Decorator 사용하기 이 포스팅은 
레일즈에 Service/Decorator Layer 적용하기 (6) - Service Object으로 콜백 옮기기 이 포스팅은 
레일즈에 Service/Decorator Layer 적용하기 (5) - Form Object에서 유효성 체크하기 이 위키는 Build Sleek Rails Components With Plain Old Ruby Objects을 정리한 글입니다 :)저자는 모델 객체에서는 association과 constant만 관리되는게 더 로직을 깔끔하게 만든다고 이야기했었습니다. 그래서 유효성 체크와 callback 로직은 model에서 다루지 않아야한다고 했죠. 그래서 이번 챕터에서는 model 객체에 있던 유효성 로직을 지우고, 대신에 form object를 사..
레일즈에 Service/Decorator Layer 적용하기 (4) - Service Object 이 포스팅은 
레일즈에 Service/Decorator Layer 적용하기 (3) - Service Object 이 포스팅은 이 길어져서, 두번째 글을 정리해보고자 합니다.Service Object는 비즈니스 로직의 일부를 옮긴 클래스입니다.Skiny Controller Fat Model 스타일에서는, 한 객체에 여러 비즈니스 로직이 포함되게 됩니다. 반면, Service Object를 사용하면 여러 클래스가 생성되고, 각 클래스는 하나의 목적을 위해 존재하게 됩니다. 왜 Service Object를 사용해야할까요?1. 디커..
레일즈에 Service/Decorator Layer 적용하기 (2) - Value Object 이 포스팅은 이 길어져서, 두번째 글을 정리해보고자 합니다. Service Layer를 사용하는 개발 가이드라인이 글을 쓴 저자는 Service / Decorator Layer를 사용해서 개발을 할 때, 아래의 가이드라인을 따른다고 합니다. 1. ActiveRecord 모델은 association과 constant만 갖고 있어야합니다. 그 외에는 아무것도 하지 않아야합니다.model에서는 서비스 객체를 사용하지 ..