golang - 성능 튜닝하기

대전제 프로파일링을 취한 뒤 어떻게 최적화 할 것인가에 대한 이야기 추측하지말고 계측하라 알고리즘이나 데이터 구조는 최적인 것을 선택하고 있다고 가정. 손 재주로 최적화하는 것보다 알고리즘 자체를 바꾸는 쪽이 압도적으로 좋아진다. 이 기사의 각 벤치 마크는 Go 1.4(go version go1.4 linux/amd64)에서...
더 읽기

C++ - 컴파일러 최적화 copy elision

c++ 생성자와 move constructor 관련해서 궁금한 점이 있습니다. 라는 질문을 보고 알게된 것이다. 처음 질문을 봤을 때는 별거 아니라고 생각했는데 좀 더 보니 예전에 내가 C++11 표준 관련 강연을 했을 사용한 코드와 비슷한데 그때와 다른 결과가 나와서 구글링을 해보았다. 질문의...
더 읽기

회고 - 2018년에 본 책(IT)

당연히 올해에 본 책들도 다 회사의 도움을 받았다. 대부분의 회사들은 책 구입을 지원할테니 회사 도움을 받아서 가능하면 책을 사 보기 바란다. 2018년에는 아래의 책을 구입해서 보았다. PHP 7 예비학교 예비 웹 프로그래머를 위한 과외 수업 러닝 PHP PHP 입문에서 프레임워크를...
더 읽기

golang - 핸들러 패턴

type SpecialFunc func(int) bool SpecialFunc은 int를 받고 bool을 반환하는 함수를 뜻하는 타입이 된다. 이것에 대해서 메소드를 생성하는 것이 가능핟. func (sf SpecialFunc) SpecialMethod() { ... } 일회용 구조체에 의한 핸들러 패턴 핸들링 처리를 함수로서 넘기고, 이것을 내포한 핸들러를 반환하는 구현을...
더 읽기

golang - 구조체 구현 패턴

출처 생성자 함수 export에 의한 접근 허가 인터페이스에 의한 다형성 구조체에 의한 다형성 구조체에 의한 서브 클래스, responsibility 구조체에 의한 이양 함수에 의한 이양 생성자 함수 Go 언어는 구조체의 생성자가 없으므로 구조체를 초기화 하려면 구조체가 속하는 패키지에 생성자 함수를 정의한다....
더 읽기

AWS Lambda에서 C++ 프로그램 실행하기

이 글을 번역한 것이다. re:Invent 2018에서 AWS Lambda의 새로운 기능, Custom Runtime이 발표 되었다. 이 기능은 Custom Runtime을 준비하는 것으로서 임의의 언어로 Lambda를 사용할 수 있다. Custom Runtime은 직접 구현해도 괜찮고, AWS가 제공하는 것도 있다. 아래는 2018/11/30 18:00 시점에 공개되어...
더 읽기

golang - WebFramework gin

아래 글은 golang을 공부할 목적으로 웹에서 본 글들을 정리한 것이다. 개요 공식페이지 비교적 경량, 간단한 인터페이스를 갖추 프레임워크 벤치마크 설치 go get github.com/gin-gonic/gin hello World package main import ( "github.com/gin-gonic/gin" ) func main() { r := gin.Default() // 1. http://localhost:8080/...
더 읽기