라라벨 5.8.16 새기능(1) – 마이그레이션 이벤트 추가

Illuminate\Database\Events 네임스페이스에 아래 이벤트가 추가되었습니다. MigrationEnded MigrationsEnded MigrationStarted MigrationsStarted 이 기능을 제안하고 추가한 알렉스 보워스가 밝힌 용도는 마이그레이션을 시작할 때 캐시를 지우거나, 마이그레이션 시작과 종료를 모니터링하는 것 등 입니다. 참고 Laravel 5.8.16 Adds New Migration …

Continue reading

라라벨 제작자가 추천한 라라벨 코드 깔끔하게 짜는 방법 초간단 요약

얼마전에 테일러 오트웰이 더 깔끔한 코드를 짜고 싶으면 참고하라며 링크 두개를 던져줬습니다. 두 자료를 초간단 요약해봤습니다. Methods Are Affordances, Not Abilities 첫번째 자료는 Adam Wathan의 블로그 글인데 “메소드는 그 클래스’가’ 무얼 할 수 있는지가 아니라 …

Continue reading

Mac에서 Docker로 개발환경 구성시, Internet Explorer로 테스트하는 방법

모든 웹브라우저가 다 똑같이 동작하면 참 감사할텐데, 실상은 그렇지 않죠. 특히 IE! 뭐 어쩌겠습니까. 고객님들이 쓰는 주요 브라우저는 다 테스트 해봐야지요. Mac을 사용하는 개발자들의 문제는 Mac에 IE가 설치되지 않는다는 점입니다. 다행히 모던 PHP 유저 그룹의 a2님으로부터 …

Continue reading

Chromium으로 스크린 캡쳐를 했는데 한글이 네모로 나오는 경우

자동으로 스크린샷을 저장하기 위해 Browsershot을 사용했다. 그런데, 한글이 제대로 표시되지 않아서 한참 삽질했다. 다행히 포기하기 직전에 기적적으로 해결 방법을 발견했다. 원래는 일본어가 동일한 증상으로 표현이 안되는 문제에 대한 글인데, 답변자가 친절하게도 한글 해결책도 함께 제시해줬다. …

Continue reading

MySQL 트랜젝션은 auto_increment 값을 되돌리지 않음

라라벨 애플리케이션에서 아래와 같은 테스트를 작성했습니다. 이해를 돕기 위해 구체적인 내용은 생략했습니다. use Tests\TestCase; use Illuminate\Foundation\Testing\RefreshDatabase; class SampleTest extends TestCase { use RefreshDatabase; testFirst() { //테이블 A에 데이터 10개 추가 //테스트 수행 } testSecond() { …

Continue reading

Mockery::close() 가 예외를 발생시키면 DatabaseTransactions 트레이트가 동작하지 않음

메소드 하나만 테스트 돌렸을 땐 통과되던게, 파일을 통으로 돌리니까 에러가 나더군요. 에러가 나는 원인을 보니, 데이터베이스에서 락이 걸렸기 때문이었습니다. DatabaseTransactions 트레이트를 쓰고 있어서, 이전 테스트가 다음 테스트에 영향을 줄 이유가 전혀 없어보이는데, 대체 락이 왜 …

Continue reading