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

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

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

프로그래밍 문제: 졸리 점퍼(Jolly jumper)

이번에도 스트레스에 지친 두뇌를 쉬게(?) 하기 위해 풀어본 심심풀이 프로그래밍 문제입니다. 연속으로 주어진 숫자들이 n개 있으면 이 숫자들의 간격이 1부터 n-1까지 종류별로 모두 있는 경우를 졸리 점퍼(Jolly jumper)라고 부른다. 예를 들어 1 4 2 3이라는 4개의 숫자가 있을 때 1과 4의 간격은 3, 4와 2의 간격은 2, 2와 3의 간격은 1로 1에서 3까지 모두 있다. ...

8월 2, 2011 · 1 분 · Sangheon Han

프로그래밍 문제 : 3n + 1

마음이 심난해서 심심풀이로 간단하게 풀만한 프로그래밍 문제가 없을까 검색하다 함수형 언어 포럼에 있는 프로그래밍 문제 게시판을 발견했습니다. 맨 위에 있는 문제 하나를 골라 풀어보았습니다. ...

7월 27, 2011 · 1 분 · Sangheon Han