취업/전업을 위한 프로그래밍 언어 배우기

개발자 커뮤니티에서 종종 볼 수 있는 질문 중 하나가 취업/전업을 하려는데 어떤 프로그래밍 언어를 배워야 하냐는 것이다. 이런 질문이 올라오면 많은 댓글이 달린다. 보통 개발자마다 각자가 좋아하는 프로그래밍 언어를 추천하는데, 그 때 마다 안타깝다는 생각이 든다. ...

1월 27, 2014 · 2 분 · Sangheon Han

C 언어 헤더 파일 간 의존 관계 빌드하기

C 언어로 개발하다 보면 헤더 파일들끼리 의존성이 생겨나는데, 그 수가 적을 때는 수동으로 Makefile에 적어도 되지만 많아질 경우 수동으로 하기는 곤란해진다. 이럴 때 gccmakedep이라는 도구를 사용하면 자동으로 이런 헤더 사이 의존관계를 처리 할 수 있다. 최근에는 gccmakedep이 없는 경우가 보통이라 gcc -M 옵션을 사용하는 것을 더 추천한다. ...

10월 8, 2013 · 1 분 · Sangheon Han

프로그래밍을 배우기 전에 생각해볼 것들

프로그래밍을 처음 시작하는 그 순간 두개의 다른 출발이 있다. 프로그래밍을 ‘목적’과 ‘수단’ 중 어떤 것으로 놓느냐 하는 것이다. 물론 이것이 불변은 아니다. 목적으로 출발했지만, 중간에 수단으로 바뀌기도 하고 반대도 가능하다. ...

7월 1, 2013 · 4 분 · Sangheon Han

PHP는 정말 배울 가치가 없을까?

주류 언어 중 PHP만큼 비판받는 언어도 없다. PHP에 대한 비판이 지나치다 못 해 인신공격까지 서슴치 않는 경우도 있다. 오늘도 가루가 되도록 까이는 PHP를 위해 해명을 곁드린 PHP의 효용 가치에 대한 내 생각을 이야기 해보려고 한다. ...

4월 7, 2013 · 5 분 · Sangheon Han

월의 몇 주차인지 계산하기

평소 크게 신경을 쓰던 문제는 아닌데 이번에 관련 작업을 하면서 이게 간단한 문제는 아니라는 것을 알게 됐다. 이 문제가 어려운 이유는 그 해의 몇 주차인지에 대해서는 ISO 표준이 있는데, 월의 몇 주차인지에 대해서는 표준이 없기 때문이다. 아마 표준이 있었으면 이미 날짜 관련 함수 중에 있었을 것이다. ...

1월 3, 2013 · 3 분 · Sangheon Han

자신만의 개인 라이브러리 또는 프레임웤이 필요할까

프로그래머는 자신만의 라이브러리 또는 프레임웤(이하 라이브러리만 표기)를 갖춰야 한다는 이야기가 있다. 경력이 쌓인 개발자라면 효율을 높이고 자신만의 무기(?)를 갖추기 위해서 필요하다는 것이다. ...

9월 26, 2012 · 2 분 · Sangheon Han

PHP로 서버(데몬) 만들기

PHP는 웹에 특화된 언어다. 그렇게 때문에 애플리케이션이나 시스템 프로그래밍을 할 때 필요한 기능이 부족하다. 하지만 서비스를 만들다 보면 서버(데몬)처럼 웹을 벗어난 것이 필요 할 때가 생긴다. 이럴 때는 아파치(Apache)나 crond를 이용해 문제를 해결 할 수 있다. 그러나 아파치나 crond를 이용한 방법은 어느 정도 한계가 있기 때문에 경우에 따라 해결책이 되지는 못 한다. 이런 경우 백그라운드로 동작하는 데몬을 만드는 것이 깔끔하다. 데몬을 만드는 방법은 널리 알려져있기 때문에 거기에 맞춰 코드를 작성해도 되지만, 굳이 바퀴를 다시 발명 할 필요는 없을테니 System_Daemon PEAR 모듈을 이용하면 된다. System_Daemon 모듈을 사용한 간단한 예제를 우선 살펴보자. ...

9월 25, 2012 · 2 분 · Sangheon Han

멀티 프로세스끼리 간단한 데이터 공유 방법 – mmap()

멀티 프로세스끼리는 멀티쓰레드처럼 직접 변수에 접근하기 어렵기 때문에 공유 메모리 등과 같은 IPC를 이용해서 데이터를 주고 받는데, 복잡하고 다양한 기능이 필요없다면 메모리맵을 통해 서로 간단히 데이터를 공유 할 수 있다. ...

9월 23, 2012 · 1 분 · Sangheon Han

멀티프로세스 데몬에서 락킹(Locking)하기

pthread를 사용하는 멀티쓰레드 데몬이라면 pthread_mutex_lock()을 사용해 잠금을 할 것이며, 멀티프로세스 데몬이라면 세마포어를 사용 할 것이다. ...

9월 21, 2012 · 1 분 · Sangheon Han

비밀번호를 안전하게 저장하는 현실적인 아키텍처

이번에 네이트(싸이월드) 해킹 사건을 계기로 주민등록번호나 비밀번호와 같은 것을 안전하게 저장하는 방법에 대해서 생각 해보았습니다. 물론 완전히 안전하게라는 것은 불가능한 이야기입니다. 상대적으로 안전하게 저장하는 방법만을 고민 해 볼 수 있겠습니다. ...

8월 10, 2011 · 3 분 · Sangheon Han