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 문서를 보면 알 수 있듯, 표준화된 라이브러리를 만들기 위해 라이브러리/패키지...

XECON 2015 Learning Laravel 발표자료

November 15, 2015 Blog

최근에 좋은 튜토리얼들이 쏟아져나와서 학습 전략이라는 말이 다소 무색해지긴 했지만 그래도 궁금해하시는 분들이 계실 수 있을 것 같아 발표자료를 공유해봅니다. Learning Laravel from Hyun-Seok Lee   Share

테스트하기 어려운 코드라는 6가지 신호

August 18, 2015 Blog

최근에 의존성 주입을 알게되어서 (신나서?) 마구마구 의존성을 주입하다보니 한 클래스를 생성하는데에 너무 많은 의존성을 주입하는 경우가 생기더군요. 가장 많은 건 13개까지… 그래서 과연 내가 잘하고 있는 것이 맞나...

ORM 좋네요 좋아

August 12, 2015 Blog

Eloquent ORM을 이용하여 아래의 데이터를 조회하기 위한 코드를 작성했습니다. A가 가진 모든 B들과 그 B들이 가진 모든 C들 중 A와 관련 있는 것만 추린 것들과 그 C들이 가진...

Do Not Brew Language: Installing Language by Homebrew Is NOT Clean

July 22, 2015 Blog

※ 이 글은 원본이 갱신되었습니다. 원본을 읽어주시면 감사하겠습니다.   소프트웨어 마에스트로를 처음 시작했을때의 일이다. 우리 팀은 Python 3.4를 사용했다. 나는 처음 맥북을 사고는 brew뽕에 취해서1 gcc와 Python 3...

PHP 7과 연관된 RFC 이야기

June 18, 2015 Blog

며칠 전에 PHP 7 alpha 첫 버전이 나왔다. 나는 호기심에 PHP의 feature들이 어떤 과정으로 결정되었는지 살짝만 찾아보았는데, PHP 7에 추가하자고 제안된 기능들을 몇가지 살펴보고, PHP의 의사결정 방식을 좀...

Laravel 컨트롤러 테스트 작성 요령

June 7, 2015 Blog

테스트를 작성할 때 무엇을 테스트 할 것인지를 결정하는 것이 참 어려운 것 같습니다. Jeffrey Way 의 조언을 따르니 컨트롤러 테스트 작성에 꽤 도움이 되네요. “Controller tests should verify...

PHP의 json_encode() 함수에서 JsonSerializable 활용하기

May 27, 2015 Blog

PHP에서 데이터를 json 문자열로 변환할 때 json_encode(mixed $value) 함수를 사용하게 된다. 이 함수를 이용해 개체도 변환할 때에도 활용할 수 있다. 기본적으로는 클래스에서 public인 프로퍼티에 대해서만 json으로 반환한다. protected나...

PHP 패키지 체크리스트

April 18, 2015 Blog

PHP Package Checklist의 번역 글이다. 패키지 개발을 하지 않고 있더라도 PHP 개발을 하고 있다면 충분히 염두해볼 만한 내용이 포함되어 있고 참고할 이야기가 많다. 패키지명을 현명하게 선택할 것 다른...