개발&Development 190

Data Structure-자료구조, 프로그래밍의 교양

자료구조(Data Structure)라 하면 전산전공의 대학생이 처음으로 접하는 머리아픈 과목중 하나가 아닐까 한다. 대학마다 전공과정이 약간 다르기는 하겠지만 DS와 더불어 알고리즘, OS, 이산구조정도? 살려주세요 - 어느 대학생의 비명. 어쩌다 마주친 그대 모습은 아니고 글. 이전의 글에서는 좀 공격적이었다면 여기서는 달래는 느낌의 글??? 프로그래머라 하면 C나 C++ 혹은 최근에는 Java나 PHP만 잘 짜면.. 정확히는 대충 굴러가는 코드를 생산만 할 수 있으면 되겠지라는 생각이 있을지도 모른다. 하지만 세상은 그리 만만치만은 않은 것이다. 위의 비명글에서 간만에 "빅오"(time order)라는 용어를 보는데 DS뿐만이 아니라 알고리즘을 배울때도 아마 다시 나올것이다. 많은 사람들이 해당 과..

태터의 Migrator 개조하기

이번 TatterTools 1.02와 더불어 등장한 Migrator.php를 뜯어보자. 우선 주의할 것은 케릭터셋 변환을 위한 데이터가 들어 있어서 어정쩡한 에디터로 읽었다간 파일이 망가질 수 있다. 가능하면 UTF-8로 읽어 내기를 권장한다. 주의! 여기의 내용은 상당히 위험한 방법일 수 있기 때문에 어느정도 프로그래밍이 가능하고 특별한 처리를 하기 위한 상황에서만 실제 적용을 하기 바랍니다. 초보자를 위한 FAQ같은 것은 아닙니다. 또한.. 언제나 잊지 말것은 Backup! UTF 판별하기 함수 이전에 UTF8의 판별에 대해 적은 글이 있는데 그 방법의 결정판이 이 파일의 250번째줄 근처에 있는 isUTF8과 adjustUTF8 함수일 것이다. 허나 이 함수에서 주의할 점이 하나 있다. 나름대로 제..

태터툴스 0.96x to 1.02 마이그레이션기

이전부터 1.01 테스트 사이트를 통해 스킨 등의 기본 준비를 하고 있었고 1.02의 알파/베타 테스트 데이터로 엄청 사용되었기 때문에 별 무리없이 이전에 성공하였습니다. RSS로 구독하시던 분들은 갑자기 글이 중복되어 등록된 것을 보실 수 있을 것입니다. 0.96x와 1.02의 RSS 출력 차이에 의한 것이죠. 반대로 기존의 링크 주소나 RSS 주소는 동일하기 때문에 구독설정을 수정할 필요는 없습니다. (거의 1.02 출시 마지막에 추가된 기능이라죠? ^^) 준비단계 0.96x와 1.02 사이에는 많은 변화가 있어서 일부 글들은 수습불가 상태로 글이 깨져 버리기도 합니다. 현재의 1.02 에디터는 이 상황을 해결 할 수 없습니다. DB를 직접 수정하거나 거의 새로 작성해 줘야 합니다. 더불어 데이터 백..

펌, 불펌, 막펌

우선 링크 하나 겁니다. from 제닉스의 사고뭉치 펌 이야기 나오면 다음의 링크도 빠질 수 없죠. Creative Commons Deed 요즘 생각하는 이슈였는데 마침 글도 하나 보이네요. 일단 이 블로그의 컨텐트에 대해서는 전의글에서 밝였지만 출처를 밝힌다면 맘대로 퍼가세요입니다. 출처를 밝히지 않는다면 딴지를 걸고 싶긴 하지만 일일이 그런 사이트를 찾기도 힘들고(사실 퍼갈 글이나 있나.. --???) 찾아서 훈계하기도 귀찮고 등등 해서 별로 신경쓰지 않고 있습니다. "UCC에 대한 UV"라는 이야기를 하면서 펌질 논쟁이 일어나곤 하지만 본인은 저게 무엇의 약자인지도 '아리까리'하고 어차피 이 세상에 공개된 것을 구지 나의 사이트에 와서 봐라고 횡포를 부리고 싶지도 않습니다. 반대로 사실 저의 글 몇..

도메인과 링크

본인 블로그의 주소는 상당히 길다. www.xxx.pe.kr같은 형식이 아니기 때문에 구두로 누군가에게 나의 블로그 주소를 전달하는 것은 거의 불가능에 가깝다. 하지만 최근 밝혔듯 1년여만에 힛트 2만은 달성되었다. 그리고 지하철의 광고를 봤다. 많은 블로거들이 도메인을 소유하고 있고 소유하려고 하고 있다. 이런 상황에서 드는 생각을 정리해 본다. 필자가 고등학교에 다니던 시절 통신사에 전화접속 후 SLIP(Serial Line Internet Protocol) Trumpet Winsock + Mosaic으로 거미줄을 항해하던 시절에는 이른바 전화번호부가 상당히 중요하였다. 컴퓨터 잡지에는 매달 유용한 사이트를 알려주거나 아예 특별 부록으로 주소록을 제공하였다. Yahoo의 디렉토리 서비스(분야별로 인터..

IsUTF8의 버그를 잡아라

이전에는 euc-kr을 쓰다가 어느 순간 많은 곳에서 Unicode를 사용하고 있다. 리눅스도 기존 데이터를 부었더니 한글이 제대로 안보이는 경우가 있고 구 터미널 프로그램들도 사용하기 어렵다. 어플리케이션도 슬슬 옮겨지는 듯 하고 웹페이지도 utf-8로 판별되는 경우가 많다. 이런 전환의 시점에서 필요한 함수중 하나가 utf-8 판별 함수. 이름하여 isUTF8. bytesbitsrepresentation17 0bbbbbbb 211 110bbbbb 10bbbbbb 3 16 1110bbbb 10bbbbbb 10bbbbbb 4 21 11110bbb 10bbbbbb 10bbbbbb 10bbbbbb 위의 표는 php의 헬프에서 참조하였다. 대부분의 구현은 크게 위를 벗어 나지 않는다. 10bbbbbb로 시작하..

What women want

멜깁슨 아저씨가 다리털 깎다 일어난 사고로 진행되는 황당 무개한 사건을 다룬 이야기. 물론 이 글에서 카테고리가 의미하듯 영화를 이야기 하려는 것은 아니다. 나의 최근 고민중 가장 핵심적인 것이 바로 저것이다. 공돌이가 어떤 것들에 반응을 하고 활활 타오르고는 반응을 하는지 생각해 보라고 한다면 쉽겠지만 가장 예측하기 어려운 대상이 여성(특히 20대 전후반의 아가씨들)인 것 같다. What do women really want? - "사랑해널"님의 블로그 위의 질문에 대한 대답을 찾다가 발견한 링크이다. 글을 신나게 읽고나서 오 그런갑다.. 한 후 드는 생각은 여성들은 과연 저 글을 읽고 동의를 할까라는 것이었다. 순전히 남자의 시각에서 적힌 글이 아닐까 하는 그리고 남자들만 동의하지 않을까란 생각이 들..

Open Your Book

직전 글에서 책 링크로 사용한 것이 바로 저 사이트이다. 전에는 서평을 쓸때 온라인스토어의 이미지를 무단도용하였으나 마침 쌍방간 Win-Win이 되는 서비스를 발견하여 사용하였다.Web 2.0 시대에 많은 비지니스 모델이 등장하겠지만 이 사이트의 모델은 상당히 긍정적이다. 반대로 폐쇄적인 서평시스템을 가진 온라인 서점들은 다들 반성좀 해야 할 것이다.나로서는 책 그림이나 구매정보를 쉽게 제공할 수 있고 또한 나의 서평을 쉽게 다른 곳으로 전파할 수 있다라는 장점을 얻을 수 있고 그 사이트로서도 자선기금 마련이긴 하지만 금전적 이익을 얻을 수 있으며 서점은 직접적으로 매출에 영향을 받을 것이고(유명한 블로거가 빨대를 한번 꼽아주면 적어도 물건의 조회수는 팍팍 올라갈 것이다) 구매자로서는 폭넓은..

조엘이 엄선한 소프트웨어 블로그 베스트 29선

[PURE][/PURE] 출판사에서 공짜로 보내주다 보니 읽는데 상당한 시간이 걸려버렸다. 그래도 이런 좋은 책에 대해서 서평은 써 줘야 하지 않을까. 이책을 보고나서 당신의 목표에 다음을 추가하라. "저런 수준의 글을 나도 쓸테다!" 서문에서 조엘이 중요시 하는 것은 글쓰기이다. 글들의 내용도 상당히 고민거리(정답은 아닐것이지만 충분히 고려해 볼만한 것들이다)를 주고는 있지만 조엘은 이정도의 글은 쓸 수 있도록 노력하라고 지적한다. 이정도의 책을 읽고 이해하고 공감할 수 있는 사람이라면 이제는 자신이 이런 글을 써야 하는 의무가 생기는 것이다. 최근 Web 2.0이니 Semantic Web등의 이야기를 한다. 웹 비지니스 모델이나 기술적인 측면의 이야기긴 하지만 그 배경에는 각 개인이 Content P..

개발자 표준PC - 2006년 3월 버전

이전에는 듀얼 CPU를 써야 하고 이것을 상사에게 설득 시켜야 한다느니 하다가 최근의 듀얼 코어를 보면서 이제 이 문제는 사라졌구나 생각이 들긴 한다. 약간의 코스트 추가로 이제 개발자는 멀티 시피유를 가질 수 있게 되었다. 그러고 나니 욕심이 더 생긴다고 할까나? 아무튼 현재 시점에서 개발자에게 권장되는 장비 스펙을 불러볼까 한다. 물론 UNIX같은 특별한 환경이 아니라 IBM-PC Compatible 환경에 대해.. CPU 당연 듀얼 코어다. 듀얼이 왜 필요하냐고 물으신다면 싱글코어에서는 멀티쓰레딩시의 문제를 잡는게 거의 불가능 하기 때문이라고 하고 싶다. 콘솔 어플리케이션의 개발은 물론이고 요즘 유행하는 웹 어플리케이션도 각 콤포넌트가 동시에 돌아줘야 개발타임에 뭔가 꼬여 주기도 한다. 더불어 프로..