PHP

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

May 14, 2019 Code

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

Laravel Collection 메소드 중 concat과 push의 차이

March 28, 2019 Code

라라벨 5.8.8에서 쿼리 빌더에 forPageBeforeId 메소드가 추가되었습니다. 뭔지 알아보려고 PR을 보는데, 예제에서 컬렉션 메소드 중 concat과 push를 쓰더군요. $posts = new Collection; $posts = $posts->concat(ChatPost::forPageBeforeId(15, $focused->id)->get()->reverse()); $posts =...

PSR-2: Coding Style Guide

February 5, 2019 Dev

PSR-2: Coding Style Guide - PHP-FIG 이 가이드는 기본 코딩 표준인 PSR-1을 확장하여 설명합니다. This guide extends and expands on PSR-1, the basic coding standard. 이 가이드의 목표는 다른 개발자가 코드를...

PSR-1: Basic Coding Standard

November 17, 2018 Dev

PSR-1: Basic Coding Standard - PHP-FIG 이 표준에 대한 섹션은 공유하는 PHP 코드 간의 높은 수준의 기술적인 상호 운용성을 보장하기 위해 표준 코딩 요소로 간주되어야 하는 것에 대해서 설명합니다....

PHP Package Manager : phpenv

October 6, 2018 Dev

들어가는 말 PHP로 개발을 해야되는 일이 생겼다. 버전을 7.x대로 써야되는데… 7.2는 아닌거같으니… 뭔가 버전을 따로 구성해서 진행하고 싶다.! PHP Package Manager github.com/phpenv/phpemv 버전 관리를 위한 부분. 사용법은 rbenv, pyenv 와 동일하다....

php callable 살펴보기

April 5, 2018 Dev

php에서는 callable 이라는 타입 힌트를 제공한다. 이 타입 힌트는 말 그대로 호출이 가능한 클래스, 메소드, 또는 함수인 경우에 사용할 수 있다. php에서는 타입이 별도의 타입으로 존재하지 않는 대신에...

모던 PHP 유저 그룹 3월 모임 후기

March 8, 2018 Offline

종희님이 PHP 7.2와 모던 암호학이라는 내용으로 발표해주셨다. 발표 중에 질문이 많이 나왔다. 그래서 더 좋았다. PHP7.2와 모던 암호학 from Johney Park   한줄로 요약하면: 암호화를 하려거든 PHP 7.2에...

신입 PHP 개발자가 읽어야 하는 책

March 7, 2018 Book

나도 신입으로 일을 시작했을 때 혼자 인터넷 검색창을 붙들고 코드와 씨름한 경험이 있었다. 작은 회사에서 유일한 개발자라 물어볼 선임도 없었고, 문제는 어떻게든 기간 내에 해결해야 하는 상황이 많았다....

PHP에서 커링 currying 함수 작성하기

January 27, 2018 Code

JavaScript에서 커링 currying 함수 작성하기를 다시 보다가 PHP로도 작성해봤다. function curry($fn) { $arity = (new ReflectionFunction($fn))->getNumberOfParameters(); return ($resolver = function (...$memory) use ($fn, $arity, &$resolver) { return function...

ReactPHP로 고성능 PHP 앱 만들기

August 3, 2017 Dev

Marc Johannes Schmidt가 쓴 Bring High Performance Into Your PHP App (with ReactPHP)을 번역했다. 2014년 초 글이라서 아마 php7을 사용한다면 여기에 언급된 벤치마킹보다 더 나은 수치가 나오지 않을까...

레거시 php 프로젝트를 composer 패키지로 바꾸기

July 13, 2017 Code

요즘 작업하는 환경이 상당히 오래된 코드를 접할 수 있는 환경이라서 코드를 정리하는 일이 많은데 최근 버전에서도 돌아갈 수 있도록 코드를 정리하는 김에 패키지로 관리하고 테스트도 작성하도록 팀에 권하고...

제네릭 없는 PHP 인터페이스

May 26, 2017 Code

PHP를 사용하면서 가장 아쉬운 부분은 인터페이스다. PHP는 인터페이스를 지원하고 있고 이 인터페이스를 활용한 타입 힌트, 의존성 주입 등 다양한 방식으로 적용 가능하다. 하지만 제네릭 타입이 존재하지 않아서 타입...

Satis로 PHP 패키지 리포지터리 만들기

March 17, 2017 Dev

PHP에서 Composer를 통해 사용할 수 있는 패키지 리포지터리 서비스인 Packagist는 오픈소스로 공개되어 있어서 필요하면 누구든지 받아 사용할 수 있게 되어 있다. 하지만 Solr이라든지 Redis라든지 요구하는 환경이 있어서 Packagist의...

레거시 PHP에서 모던 PHP로 – 뷰 분리하기

October 13, 2016 Code

흔히 모던 PHP라고 이야기하는 현대적인 PHP 개발 방식에 대해 많은 이야기가 있다. 새 방식을 사용하면 협의된 명세를 통해 코드 재사용성을 높이고 패키지를 통해 코드 간 의존성을 낮출 수...

PhpStorm 주요 단축키 10선

June 14, 2016 Dev

JetBrains: Development Tools for Professionals and Teams의 각종 IDE는 많은 고수 개발자들이 강력 추천하고 있다. 언어와 관계없이 거의 공통적으로 쓰이는 단축키이니 익혀두는 것이 좋을 것 같다. 주요 단축키...

라라벨은 시맨틱 버저닝을 사용하지 않는다

June 5, 2016 Code

최근에 라라벨 책을 저술하신 두 저자분 께서 라라벨이 마이너 업데이트 되었는데 예제 소스코드가 정상적으로 작동하지 않아서 고생하신 것을 본 적이 있습니다. 이와 관련하여 정광섭님이 이해할 수 없는 라라벨의...

떠나세요, PHP 개발자여. 아니면 잘하든가!

February 15, 2016 Dev

PHP 개발자는 그 태생부터 죄에 속한 것과 같이 업을 쌓고 산다. 아무리 좋은 디자인과 아키텍처, 방법론으로 무장하고 있더라도 그 죄성은 쉽게 씻겨지지 않는다. 어디서든 PHP 개발자라는 얘길 하면...

구석기 PHP와 현대적인 PHP 비교하기

December 15, 2015 Code

PHP는 언어적인 지원은 물론, 환경이나 커뮤니티도 계속 발전하고 있다. 최근 프레임워크 운용 그룹(Framework Interop Group, FIG)에서 제안하는 PSR 문서를 보면 알 수 있듯, 표준화된 라이브러리를 만들기 위해 라이브러리/패키지...