hELLO.

hELLO.

    [Laravel] 라라벨 데이터베이스와 모델 (쿼리빌더, 옐로퀸트)

    라라벨에서 쿼리를 작성하는 방법은 간단하다. 레거시 PHP 에서 쿼리를 작성하는 방법은 PDO(PHP Data Object)를 사용하더라도 그다지 보기 좋은 것은 아니었다. 예를 들자면, $pdo = new PDO(...); $sth = $pdo->prepare("SELECT * FROM users"); if ($sth->execute()) { $users = []; while ($user = $sth->fetchObject()) { array_push($users, $user); } } 이렇게 생긴 기존의 레거시 코드(mysqli, mysql 과 같은 더 low Level API 를 사용하면 보기가 안 좋아진다.)를 라라벨의 쿼리빌더를 다음과 같이 간단하게 표현할 수 있다. $users = DB::ta..

    [Laravel] 라라벨 블레이드 템플릿 (상속, 컴포넌트, 슬릇)

    이번에는 블레이드 템플릿에서 상속, 컴포넌트, 뷰 컴포저에 대해 간단히 알아보도록 하자. 블레이드에는 여러 지시어(Directive)가 존재하는데, 상속, 컴포넌트, 슬릇 기능 등은 많이 쓰이는 기능이다. 따라서 이를 대표적으로 알아보자. 지시어의 수가 다소 많은터라 나도 다 알지 못한다. 상속 상속과 관련된 지시어는 @extends, @yield, @section, @show, @stack 이 존재한다. 자바스크립트 템플릿을 사용하듯 블레이드를 사용해서도 템플릿을 상속하고, 다른 템플릿을 포함시킬 수 있는 기능을 가지고 있다. 즉, 템플릿을 기준에 따라 분리가 가능하다는 이야기다. 다만, 다소 헷갈리는 기능들이 많기 때문에 차이점을 알아두면 좋다. @extends @extends 는 자식 템플릿이 특정..

    나는 'K' 코딩 테스트가 싫어요

    이것이 'K' 코딩 테스트다 최근 클럽하우스에서 개발자 지망, 진로에 대해 모더레이터로 참여하고 있으면서 비전공과 학원, 자격증 등 여러 문제를 논의했지만 그중 내가 가장 문제의식을 느낀 것은 개발자로 '취직'을 하기 위해 장벽인 코딩 테스트 부분이다. 물론 해외에서도 코딩 테스트는 진행 중이며 이것은 우리나라에 국한되는 것이 아닌 글로벌하게 기업에서 진행되고 있다는 것을 알고 있다. 문제는 한국의 코딩 테스트가 외국과 태도가 다르다는 점이 우려스러울 따름이다. 나는 코딩 테스트가 싫다. 정확히는 한국식 코딩 테스트가 싫다. 요즘에는 앞에 'K' 를 붙이는 것이 유행하던데 코딩테스트에도 한 번 붙여서 'K' 코딩 테스트라고 하자. 코딩 테스트의 모든 것을 부정하는 것은 아니지만, 내가 코딩 테스트를 싫어..

    [Laravel] 라라벨 블레이드 템플릿 (보간, 조건문, 반복문)

    라라벨은 풀스택 프레임워크이기에 프론트엔드도 어느정도 개발할 수 있고, 뷰나 리액트같은 SPA(Single Page Application) 프레임워크를 사용할 수도 있다. 그러한 프레임워크를 사용하여 컴포넌트를 사용하기 위한 기반 템플릿이 있는데, 라라벨의 블레이드 템플릿이 그러하다. PHP는 언어이면서 자체적으로 템플릿의 역할도 겸할 수 있는데, 블레이드는 템플릿의 역할을 보다 강화시킨 것이다. 많이 알려져 있는데 PHP 템플릿인 Twig, Mustache 랑 같은 개념이다. 블레이드 템플릿 블레이드 템플릿은 라라벨에서 프론트엔드 마크업 및 컴포넌트를 포함하고 작성하기 위한 템플릿이다. 일반적인 PHP 템플릿처럼 if, for 와 같은 제어구조를 사용할 수도 있고, 다른 템플릿을 상속받고 슬릇(Slot..

    [Laravel] 라라벨 라우팅과 컨트롤러

    이번 포스트에서는 라라벨에서 라우팅에 대해 간단하게 알아본다. 컨트롤러는 다음 포스트에 알아보도록 하자. 블로그의 특성상 글이 시리즈로 이어지는 것은 썩 좋지 않기 때문에 기능에 대한 사전식 나열이나 일부 설명이 첨부되는 형식으로만 작성될 것이다. MVC(Model, View, Controller) 라라벨은 MVC 아키텍쳐를 따르는 프레임워크다. Model 은 어플리케이션에서 사용자에게 보여주고 싶은것, 일반적으로 데이터 또는 데이터베이스이며, View 는 이러한 모델을 사용자에게 어떠한 인터페이스로 보여줄 것인지를 말하는 것이며, Controller 는 그 중간에서 모델의 데이터를 얻어오거나 저장하여 뷰에게 이 사실을 통지한다. 여기서 통지라는 것은 Observer 패턴의 Notify 로 통지하는 것과..