프로그래밍 언어

    [Laravel] 라라벨 라우팅

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

    [Laravel] 라라벨 개발환경 구축하기(feat. 홈스테드, 도커)

    이번 포스트에서는 라라벨의 개발환경을 구축해보도록 하자. [Laravel] 라라벨 프레임워크 시작하기에서 했던 것처럼 직접 php artisan serve 를 사용해서 로컬에서 서버를 돌려도 좋지만, 그건 일관성있는 개발환경이 될 수 없기 때문에 다른 방법을 써보는 것이 좋다. 라라벨에서 개발 환경을 구축하는 방법으로는 대표적으로 홈스테드와 도커가 있는데, 홈스테드의 경우 예전부터 써오던 방법이고, 도커로 사용하는 것은 추가된지 얼마 안 된것으로 생각된다. Laravel Homestead Homestead 는 주로 Windows 에서, Valet 의 경우에는 Mac 에서 사용한다만, 포스팅의 기준이 Windows 이기 때문에 이를 기준으로 작성한다. 먼저 홈스테드를 사용하기 위해서는 Vagrant, 그리..

    [Laravel] 라라벨 프레임워크 시작하기

    서문 라라벨은 PHP 에서 가장 인기있는 프레임워크다. 내 블로그를 보던 사람이라면, 갑자기 웬 라라벨인가 싶겠지만, 최근 Go 를 하면서 손을 놓았던 라라벨을 모종의 이유로 다시금 딥 다이브(Deep Dive) 해야 할 상황이 생겼기에 기존에 어느정도 알고는 있었지만, 처음부터 시작하는 마음으로 블로그에도 글을 작성해보기로 했다. 설치부터 시작해서 라라벨의 요소들을 간단히 살펴보겠지만, 공식문서보다는 쉽게 설명할 것이다. 물론 라라벨에 대한 내용은 다른 블로그나 플랫폼에도 많긴하다만 내 방식대로 글을 구성해보기로 하였다. 라라벨 8.x, Composer 2.x 를 기준으로 한다. 설치하기 자, 이제 라라벨을 설치하는 것부터 시작해보자. 라라벨을 설치하기 위해서는 Composer 가 필수다. Compos..

    Go 언어를 공부하기 위한 자료 및 문서 정리

    Go 이 포스트는 블로그내 Go 카테고리의 목차와 Go 언어를 할 때 참고하면 좋은 문서를 일부 정리해놓기 위해 작성되었다. Go 언어는 성장하고 있으며, 한국어 자료들도 어느정도 나오고 있기 때문에 내 블로그를 포함한 한국어 자료들을 어느정도 정리해놓으면 나름대로 도움이 될 것이다. 내가 Go 언어를 선택한 이유 내가 Go 언어를 선택한 이유 어서와 Go 내가 수년간 마주한 PHP 를 보내고 잡은 언어는 Go 다. 많은 이들이 알다시피 현재 범용 프로그래밍 언어로써 가장 많이 쓰인다고 볼 수 있는 것이 자바라는 사실은 부정할 수 없을 것이 pronist.tistory.com 이 포스트의 내용은 주기적으로 업데이트 될 것이며 블로거 본인이 가지고 있는 Go 언어에 대한 이해도가 높아질수록 새로운 내용이 ..

    Go: 변수 스코프와 블록

    렉시컬 블록 렉시컬 블록은 명시적으로 선언되는 블록 뿐만 아니라, if, for, switch, select, case 에서 사용하는 블록과 중괄호로 묶이지 않는 선언의 그룹 및 광역, 패키지, 파일 블록을 모두 포함하는 개념이다. 렉시컬 블록은 블록의 범위를 결정하는데, 이는 스코프라고 부를 수 있다. Go 의 변수는 기본적으로 블록 스코프를 가지기 때문에 블록 외부에서 내부에 선언된 변수에 대해서는 접근하는 것이 불가능하다. 물론 변수의 스코프는 어디에 선언이 되어있는가에 따라 다르다. 함수나 패키지에 선언되어 있을 수도 있어서 함수 스코프가 되기도 하고 패키지 스코프가 되기도 한다. Go 에서의 가장 작은 스코프의 범위가 블록이라는 점은 중요 포인트다. func main() { x := "Hello..