hELLO.

hELLO.

    [Laravel] Laravel Zero 로 콘솔 어플리케이션 개발하기

    때때로 콘솔 프로그램을 개발하고 싶을 때가 있다. 기존에는 Go 로 하다가 그래도 조금 더 잘 알고 있는 라라벨로 콘솔 프로그램을 개발하기 수월하게 할 수는 없을까 싶어서 찾아낸 것이 바로 Laravel Zero 다. 물론 라라벨에서도 아티즌 콘솔 명령어를 작성하는 일은 가능하지만, 콘솔 어플리케이션을 위해 라라벨을 사용하는 일은 너무 오버 엔지니어링이다. Laravel Zero 는 콘솔 어플리케이션을 위한 마이크로 프레임워크다. 라라벨의 공식 패키지는 아니지만 오픈소스이며 라라벨에서 아티즌 콘솔 명령어를 따로 떼어낸 듯한 느낌으로 사용할 수 있다. 따라서 기존에 라라벨을 사용하는 방법을 알고 있다면 사용해 볼만하다. 사용법도 아주 간단하며 서비스 컨테이너나 서비스 프로바이더, 파사드, 헬퍼 등 라라벨에..

    기술적 가스라이팅은 이제 멈춰주세요

    아직도 PHP 같은 거 써요? 일전에 팀 프로젝트를 하면서 팀원 중 한 명이 아직도 PHP 같은 것을 쓰냐며 내게 핀잔을 준 일이 있었다. 자신은 Nestjs 나 스프링부트를 사용한다며 다른 기술을 비하하는 발언도 서슴지 않았다. PHP 개발자인 나에게 있어서는 당연히 기분 나쁜 일이기도 했으나, 실제로 그 팀원은 PHP 를 사용해본 경험이 적었으며 자신이 사용한 버전이 무엇인지조차 모르고 있었다. 그저 자신은 조금 더 트렌디해보이고 싶었고, 남들이 다 PHP 는 안 좋다고 하니까 마치 스스로가 경험했다는 듯이 자신을 기만한 것이다. 공공장소에서는 떠드는거 아니야 우리는 자라면서 어른들에게 다양한 교육을 받는다. 그것은 좋게 말하면 예절교육이며 나쁘게 말하면 세뇌라고 말할 수 있다. 아이들은 자신이 한 ..

    빠르게 성장하는 개발자의 세 가지 특징

    이번에 이야기해볼 내용은 빠르게 성장하는 개발자의 세 가지 특징이다. 나는 경력은 거의 없지만, 개발에 입문한 지 10년이 되었는데도 여전히 많이 부족하다고 생각하고 있고, 실제로 다른 사람들보다도 성장이 더딘 편이라고 생각한다. 주변을 둘러보고 개발자로 지내면서 단 기간 안에 빠르게 성장하는 개발자의 사례를 다수 접했는데, 그들은 대부분 처음 입문하고 2-3년이 되었을 때 어느 정도의 성과가 나타나는 것으로 파악했다. 도대체 그 사람들은 어떤 사람들이기에 빠르게 성장하는 것인지 고민해본 결과, 몇 가지 결론에 도달했는데 이를 세 가지 정도로 정리해보기로 했다. 선택과 집중 여러 분야를 걸친 다수의 기술이 아닌 한 분야의 한 두가지 기술에 집중하는 사람은 성장이 빠르다. 목적과 방향이 분명하기 때문에 옆..

    개발자와 엔지니어, 그 사이에서

    공학(工學) 공학(工學, engineering)이란 무엇인가? 공학은 ‘기술적 문제’를 대상으로 하는 학문으로 ‘문제를 발견하고 이에 대한 기술적 해결책을 제시하는 학문’이라고 정의할 수 있다. 여기서 문제란 작게는 자동차 부품일 수도 있고, 크게는 교통 체증 문제나 전 지구적인 기후 변화 문제까지 다양하다. 즉 공학은 인간의 삶의 질을 향상시키기 위하여 과학적 지식과 기술을 이용하여 인간에게 유용한 제품을 만드는 학문이다. [네이버 지식백과 ― 공학의 개념] 책을 쓰고 개발을 하면서 종종 드는 생각이 있다면, 나는 개발자인가? 엔지니어인가? 이다. 개발자를 지칭하는 표현으로는 개발자, 엔지니어, 프로그래머, 그리고 코더가 있는데, 여기서 개발자와 엔지니어는 본질적으로 무엇이 다른가에 대한 고민해본 결과..

    아임포트(Iamport)로 결제기능 구현하기 - 일반결제

    아임포트(Iamport)로 결제기능 구현하기 - 준비 아임포트(Iamport)로 결제기능 구현하기 - 일반결제 이전 포스트에 이어서 라라벨에 아임포트를 연동해보자. 마이그레이션, 모델, 컨트롤러가 준비되었다면 이제 해야 할 일은 아임포트의 개발가이드를 보면서 코드를 구현하는 일 뿐이다. 개발가이드에서 일반결제 부분에 보면 Node.js 를 사용한 구현 방법이 나와있는데, 이를 PHP로 표현하는 것은 어려운 일이 아니다. 장바구니 장바구니에 해당하는 Order 를 만들고(Create), 읽는(Read)코드를 작성해보자. 수정과 삭제는 주제를 벗어나므로 구현하지 않는다. 쓰기 쓰기는 컨트롤러에서 OrderController::create(), OrderController::store() 에서 진행한다. Or..