대개 개발을 한다고 하면 키보드부터 잡는 경우가 많습니다.
하지만, 좋지 않습니다. 소프트웨어 설계와 알고리듬 설계는 키보드로부터 시작하는 것이 아니거든요.
개발해야할 기능이 있다고 하면 처음엔 단순하게 시작하게 되지만 막상 코드를 작성하다보면 여러 예외 상황들이 생기고 그것들을 처리하기 위한
분기들이 여럿 생기게 됩니다.
이런 상황에서 코드부터 작성하면 기존의 코드 구조에 얽매여 그
> 이 글은 Where Vim Came From
[https://twobithistory.org/2018/08/05/where-vim-came-from.html]을 번역한 글입니다.
나는 최근에 Intel HEX로 알려진 파일 포맷을 우연히 발견했다. 내가 아는 한, Intel HEX 파일(.hex 확장자를 사용하는)은
바이너리 이미지를 16진수들의 집합으로 인코딩해서 좀 더 잘 볼 수 있게 만든 것이다. 알아보니
> 이 글은 Building an Inclusive Code Review Culture
[https://blog.plaid.com/building-an-inclusive-code-review-culture/]를 번역한 글입니다.
모든 개발자는 코드 리뷰에 익숙합니다. 그리고 우리 이전의 많은 사람이 그것을 어떻게 할지에 대한 생각과 제안들을 쌓아왔습니다. 코드 리뷰는
모든 개발자가 매일 매일 수행하는 필수적인 요소기 때문에 팀 문화에 큰 영향을 미칩니다. Plaid에서, 우리는
1. ghost-storage-adapter-s3 설치
Ghost 블로그는 기본적으로 이미지나 첨부 파일을 업로드 하면 인스턴스의 볼륨에 그것들을 저장한다. 우리가 생성한 Lightsail 인스턴스의
볼륨은 20G로 아주 작은 건 아니지만 첨부 파일의 용량에 따라서는 금방 차버릴 수도 있다. 따라서 네이티브 볼륨을 이용하는 것 보다는 AWS
s3에 이미지와 첨부 파일을 업로드해서 관리하는 것이 훨씬 효율적이다. 이후에
1. Ubuntu 패키지 업데이트
$ sudo apt update && sudo apt upgrade -y
중간에 묻는 것이 있다면 그냥 다 엔터
2. en_US.UTF-8 issue 해결
AWS EC2나 Lightsail에서 Ubuntu 인스턴스를 생성하고 접속해서 작업하다 보면 다음과 같은 경고를 마주친다.
perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
홈페이지와 블로그를 AWS EC2 + RDS로 운영을 했었는데 매달 나오는 비용을 보고 이게 얼마나 어리석은 짓이었는 지 알게 됐다. 정확히
얼마가 청구됐는 지는 창피해서 공개하지 못하고... 쨋든 개인 웹 사이트 운영비치고는 굉장히 많이 나왔다. 시험 기간을 맞이해서 홈페이지는
GitHub Pages로 옮기고 블로그는 조금 더 저렴한 서비스로 옮기기로 했다. 시험 기간엔 시험
지금은 더 이상 사용하지 않는 스마트 포인터 std::auto_ptr가 C++11 이전에도 있었다. 하지만 몇가지 문제점이 있었는데, 배열의 포인터를 해제할 때 배열 객체가 모두 제대로 해제되지 않는다는 것과 복사 대입 연산시 실제로는 복사가 되지 않는 다는 것이었다. 후자는 상식적으로 잘 이해가 되지 않을 수도 있는데 C++98 표준에서는 복사로
lambda는 람다 표현식 또는 람다 함수, 익명 함수(anonymous function)로 불립니다. 그 성질은 함수 객체(functor)와
동일합니다. 그 이름처럼 몸통은 있지만 이름이 없는 함수입니다. 요즘 대부분의 프로그래밍 언어들은 이 lambda를 지원하고 있습니다.
lambda는 함수 객체 클래스를 암시적으로 정의하고 함수 객체를 생성합니다. lambda로 생성된 함수 객체는 타입을 가지고 있긴
C++ 프로그래밍을 할 때 우리는 종종 선행 처리기(Pre-processor)를 사용합니다. 보통 프로그램 전체에 걸쳐 사용되는 상수가 필요할
경우, 아래의 형식으로 사용되죠.
#define PI 3.14159265359
위의 전처리문으로 프로그램의 코드가 컴파일러에게 넘어가기 전에 선행 처리기가 코드에 등장하는 모든 PI를 3.14159265359로 바꾸어
버립니다. 그 결과로 컴파일러가 사용하는 기호 테이블에는 PI가