2012년 12월 26일 수요일

Objective-C 에 관한 잡담

그렇게 오래는 아니지만 어쨌든 Objective-C를 수 년 간 이용해 왔다. 이제는 익숙해졌기 때문에 처음 봤을 때의 인상에 비해 호감이 가는 언어가 되었다. 심심해서 이 언어에 대한 썰을 한번 풀어본다.

이하 Objective-C는 한글로 '옵씨'로 줄여서 표현한다. 그리고 옵씨에 대한 설명이 아니다 보니 옵씨를 이제 시작하는 분들에게는 별 의미 없는 글일 것 같다.


2012년 12월 24일 월요일

[Python] 데이터를 예쁘게(?) 찍어주기

제목을 정확히 쓰자면 'Data Pretty Print' 이다. Python에 기본적으로 포함되어 있는 pprint 모듈에 대해 간단히 소개하고자 한다.

pprint는 말 그대로 Pretty Print 이긴 한데 이름 만으론 잘 감이 안 올 수도 있다. 이 모듈은 복잡한 자료구조의 내용을 조금 더 알기 쉽게 표시해 주는 역활이다.

[Python] 특정 디렉토리(폴더)의 모든 파일 이름 알아내기

이전에는 os.listdir이나 glob 같은걸 써서 재귀호출(recursive call)로 특정 디렉토리 아래의 모든 폴더를 순환하며 파일 이름을 모으는 코드를 만들곤 했었는데, 이는 순전히 무식해서 고생한 거였다. Python의 기본 모듈인 os.walk가 이런 역활을 하도록 이미 구축되어 있었다.

2012년 12월 10일 월요일

[Python] Nested 문법?

개인적으로 Python 언어로 코딩을 하면서 자주 안쓰게 되는 문법이 있다. 이 문법을 정확히 어떤 용어로 표현해야 하는지 몰라서 일단 'Nested 문법' 이라고 적었는데 틀린 표현 같지만 제목이 필요하기에 어거지로 썼다.

C에 익숙했던 (비영어권) 사람이라면 아마도 Python이나 기타 스크립트 언어들 특유의 문법에 간혹 놀라기도 혹은 질리기도 한다. 스크립트 언어들의 독특한 문법 중 하나는 프로그래밍 언어를 마치 사람의 언어처럼 표현하기도 하거나 이 코드의 내용을 마구 줄여버리는 것이다.

참고로 이 글은 Python을 어느 정도 공부한 사람이라면 읽을 필요가 없다.

2012년 12월 6일 목요일

변화를 거부하고 도전을 싫어하는 개발자

변화를 거부하거나 도전을 싫어하는 사람은 물론 있다. 많을 것이다. 이런 사람들의 태도가 무조건 잘못된 것이라고 평가하는 것은 좋지 못 하지만, 이런 사람들을 위해 하고 싶은 말이 참 많기도 하다.

나 조차도 변화나 도전은 좀 겁을 내는 경향이 있다. 하지만 어느 순간 약간씩 도전해 보면서 얻기도 하고 성취하기도 하고 보람을 느끼기도 하고 실패하기도 한다.

별 의미는 없겠지만 이런 저런 불평불만을 글로 한번 남겨볼까 한다.

2012년 12월 5일 수요일

추억 속의 컴퓨터 이야기 IQ-2000

내 나이대도 이제는 젊다고 하기에는 힘든(?) 수준으로 치닫고 있다. 세월의 흐름이 너무 빨라서 아쉽고 벅차고 숨차기는 하지만, 이럴 때 일 수록 추억을 떠올려 보면 나름 재미있는 세월을 보냈구나 생각이 든다.

이참에 옛날 옛적에 쓰던 구식 컴퓨터에 대한 이야기를 한번 써 볼 까 한다. 이 글은 이 중 IQ-2000이라는 고물(?)에 대한 이야기다.

2012년 12월 4일 화요일

[Python] parse

간단한 문자열 파싱을 할 때는 대체로 정규표현식(re) 모듈을 많이 활용한다. 하지만 단순한 패턴을 읽어 낼 때는 정규표현식은 귀찮은게 많다. 이럴때는 간단하게 파싱 할 수 있게 도와주는 parse 모듈을 사용 할 수도 있다. 이 모듈의 설명은 아래 한줄이면 충분하다.

parse() is the opposite of format()

앞서 소개했던 str.format() 과는 반대되는 기능을 제공한다는 의미이다. 이걸로 대충 설명은 끝나는 것 같다. :-)

[Python] str.format()

파이썬에선 기본적으로 C 스타일의 문자열 포맷 방법을 제공한다. printf나 sprintf 처럼 % 문자를 사용해서 문자열을 대체하는 것 말이다. 우연찮은 기회에 이 방법이 아닌 다른 방법으로 문자열을 포매팅 하는 방법(str.format)을 알게 되어서 이에 대해 가장 기본적인 사항을 포스팅을 해 본다.

우선 이 기능은 Python 2.6 부터 동작하며 일부는 2.7에서 추가된 기능도 있을 수 있다.

2012년 12월 3일 월요일

[프로그래머 유머] C Perl GNOME Java

왠만한 프로그래머라면 고전 유머로 이해될 만한 내용이겠지만, 이 글은 비 프로그래머 일반인 혹은 현대적인(?) 프로그래머를 위해 그냥 풀어보는 썰이다. ;-)