분야 "Configuration" tricks
console 로그와 웹 로그 분리하기
by river
로그 설정을 daily로 하고, artisan command 등의 console 명령을 스케쥴링을 통하여 수행하는 경우 console 계정과 웹 계정의 차이로 인해 다음의 문제가 발생하는 경우가 있다. Failed to open stream:…
Laravel 5에서 로깅 설정 변경하기
by river
Illuminate\Foundation\Bootstrap\ConfigureLogging 오버라이딩 bootstrap\ConfigureLogging.php 생성 <?php namespace Bootstrap; use Illuminate\Log\Writer; use Illuminate\Contracts\Foundation\Application; use…
Lumen에서 daily log 사용하기
by river
Lumen에서는 storage/logs/lumen.log 하나의 파일에 로그가 기록된다. 로그에 대한 설정은 getMonologHandler에서 행해진다. Laravel\Lumen\Application ... /** * Register container bindings for the application. * * @return void */…
개발 환경과 서비스 환경 쉽게 바꾸기
by river
Laravel 5에서 환경 설정 방법이 변경되서 개발 환경과 서비스 환경을 관리하기가 전 버전보다 귀찮은 것 같다. 그래서, 환경 설정 파일을 변경하는 스크립트를 만들어서 사용하면 좀 편하지…
Homestead를 이용해서 Laravel 개발 환경 만들기
by river
Laravel 개발 환경을 구축하기 위한 가장 쉬운 방법을 이제 Laravel에서 제공을 한다. 2014 Laracon에서 Taylor Otwell이 소개한 Homestead가 그것이다. Laravel 4.2부터는 local 환경 설정으로 homestead를 기본으로…
FreeTDS를 이용해서 MS SQL Server 연결시 날짜 포맷 지정하기
by river
linux 머신에서 Laravel 프레임웍을 이용해서 MS SQL Server에 접속할 때는 FreeTDS 라이브러리가 사용된다. 비록 이 환경이 바람직하다고 생각하지는 않지만, MS SQL Server를 사용하는 한 이 구성을…
Vagrant, Vaprobash를 이용해서 Laravel 개발용 VM 만들기
by river
Vaprobash는 Implementing Laravel의 저자 Chris Fidao이 만든 Vagrant Provisioning 도구이다. Apache, MySQL, PHP 등 각종 소프트웨어 대한 설치 스크립트의 모임이라고 보면 될 것 같다. VM 만들기 Composer 설치 $ curl…
redis, logstash, elasticsearch, kibana를 이용해서 실시간 로그 모니터링 하기
by river
웹서비스를 운영하다 보면 장애 탐지나 버그 수정 등 많은 경우 로그 정보에 의존해서 문제를 해결하게 된다. redis, logstash, elasticsearch, kibana의 조합을 사용하면 Laravel에서 남기는 로그의…
다운타임없이 Laravel 4.1.26으로 업그레이드 하기
by river
인증시 사용되는 remember me 쿠키에 보안 문제가 생겨서 Larvel 4.1.26이 릴리즈 됐습니다. Laravel 4.1.26을 업그레이드를 하려면 패키지는 물론 User.php와 users DB 테이블을 변경해야 한다. 다음의…
리소스 네이밍 규칙
by river
네이밍은 규칙 정하기 나름이지만 다음과 같이 정하면 어떨까 한다. Model만 단수형을 사용하고, DB Table, Controller, Route, View 등은 복수형을 사용한다. 예) Task Model : Task DB Table : tasks Controller :…
helper 함수는 어디에?
by river
자주 사용하는 간단한 유틸성 함수는 클래스의 정적 메서드나 퍼사드를 만드는 것 보다 함수로 만들어서 하나의 php 파일에 두고 쓰는 게 더 좋아 보인다. app/libraries 폴더를 만들고 여기에…
서비스 환경에서 artisan 실행시 실행 여부 묻기
by river
서비스 환경에서 migrate:refresh 같은 artisan 명령어를 실행시켜 의도치 않게 DB를 날릴 수도 있다. 이를 보완하기 위해서 다음의 코드를 artisan 앞에 추가하면 서비스 환경에서는 artisan 명령 실행시…
다중 환경 설정하기
by river
개발, 스테이징, 서비스 등 Laravel 동작 환경을 여러 개로 나누고 각각의 환경에 맞게 설정을 따로 가져가는 방법을 알아보자. 1. 환경변수를 이용하는 방법 bootstrap/start.php 파일에서 환경…