프로그래밍 언어

    Go: 함수 (익명함수, 스코프, 고루틴, 지연호출)

    함수 Go 가 다른 언어가 다른 점은 클래스가 없다는 점이다. 메서드라고 표현하는 것마저도 표현 방식이 다를 뿐 일반 함수와 아주 유사하게 표시된다. 메서드에 대해서는 추후 알아보기로 하고, 지금부터는 Go 의 일반적인 함수에 대해 알아본다. 함수는 로직이나 알고리즘을 묶은 코드의 집합이다. 함수형 프로그래밍에서는 기본 단위로 사용되기도 한다. 함수를 사용하는 가장 큰 의미는 중복을 제거하는 일이다. 이것이 가장 먼저이며 그 다음으로는 함수 내부는 블랙박스로 하여 구현에 상관없이 추상화를 하여 함수 단위로 프로그램을 구성할 수 있도록 만드는 것이다. 함수의 입력과 출력만 알고 있으면 구현과 관계 없이 프로그램을 구성할 수 있다. 여기서 함수는 프로그램을 구성하는 기본 단위로써 동작한다. 아래의 코드는 G..

    Go: 변수와 상수 (var, const)

    Go 는 정적 타입 언어다 이번 포스트에서는 Go 에서 변수와 상수에 대해 알아보자. 변수를 코드에서 사용하고 활용하는 법에 대해 알아보기전에 먼저 알아야할 사항이 있다면, Go 는 정적 타입 언어라는 점이다. 정적 타입은 컴파일 타임에 타입이 결정되며 런타임 중에 동적으로 타입이 변경될 수 없음을 말한다. 인터프리터를 사용하는 동적 언어인 자바스크립트, 파이썬과는 전혀 다른 성격을 띄고 있다. 정적 타입을 가진 언어는 대체로 빠른 속도를 가진다. 런타임 중에 타입을 추론하거나 그로 인해 다시 한 번 최적화를 진행해야 하는 상황이 발생하지 않기 때문이다. 이러한 정적 타입 언어에는 대표적으로 C 가 있다. Go 는 구글이 개발했지만, 마이크로소프트 또한 타입을 무척이나 좋아하기 때문에 C/C++/C#/T..

    Go: Hello, Go

    이 블로그에 쓰는 첫 번째 Go 포스팅이다. 여기서는 Go 의 Hello, world 프로그램을 작성해보고 분석해보며, Go 의 몇 가지 특징도 함께 언급해보기로 하겠다. 보통 프로그래밍 진입할 때 바로 Go 로 하는 경우는 별로 없기에 프로그래밍 입문자를 위한 포스팅은 아니라고 볼 수 있다. 프로그래밍에 대해서 아무것도 모르는 상태에서 보기엔 어려울 수도 있으니 읽을 때 모르는 부분이 있다면 과감하게 넘기거나 검색을 해보자. Hello, Go Go 의 Hello, Go 코드는 다음과 같다. 이 코드만 보더라도 설명 해볼만한 것이 상당히 있다. 소스 파일의 hello.go 라고 가정했을 때, go run hello.go 를 통해 실행해보면 Hello, Go! 라는 문구가 콘솔에 출력될 것이다. packa..

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

    PHP 해당 포스팅은 PHP 카테고리의 목차를 정리하기 위해 작성되었습니다. 물론 카테고리에서 볼 수 있겠지만, 주제별로 나눠 놓으면 조금 더 좋을 것 같았습니다. PHP를 사랑하는 개발자로서 PHP 7+ 로 구성된 PHP 공식 매뉴얼은 내용이 썩 알차지 못하기 때문에 글을 작성하게 되었습니다. 기본 매뉴얼이 영문인 것도 어렵게 하지만, 한글버전이 정상적으로 갱신이 되어있지 않습니다. 이 글은 현재 PHP 7.4 를 기준으로 합니다. 5년 만에 찾아 온―, PHP 8 PHP: PHP 8 기능 정리 및 요약 PHP: PHP 8 기능 정리 및 요약 PHP 8 2015년 php7 이 등장한 이후 5년만에 php8 이 시동을 걸었다. 아직 베타 버전이지만, 2020년 11월 26일에 정식으로 8.0 버전이 릴리..

    PHP: declare

    Declare declare 는 언어구조이며 특정 지시어를 코드 블록에서 실행하기 위해 사용한다. 이 기능은 나도 거의 사용한 적 없지만, 가끔 본적이 있어서 적어보기로 했다. 기본적으로 지원하는 지시어는 총 세가지이며, ticks, encoding, strict_types 정도가 있다. 여기서 제일 중요도가 높다고 여겨지는 것은 아무래도 strict_types 지시어라고 볼 수 있는데, 이것을 사용하면 코드가 조금 더 단단해지기 때문이다. ticks PHP 코드 분석기가 코드를 해석할 때 로우 레벨에서 틱을 발생시킬 수 있는 구문에 대해 이벤트를 발생시키는데, 그것이 tick 이라고 볼 수 있다. 틱은 시스템 명령어가 아니라 실제 코드 상의 명령어에 따라 발생하므로 실제 코드에서 명령이 얼마나 일어날지..