본문 바로가기

(비정기) Dlbo's Post

[모토로이]Dream of Ubiquitous, Naver Ndrive. 날씨가 갑자기 추워졌습니다. 지난 21일 갑작스런 홍수때, 서울 경기 지방 분들은 다들 무사히 잘 넘기셨는지요. 저희집은 다행히 고지대라 마당에만 물 조금 차고 말았습니다. 국철 경인선은 아예 전철이 서버렸더군요. 그렇게 비가 미친듯이 오고 나니 이제 정말 가을입니다. 낮에는 덥지만 아침저녁으로 춥네요. 일교차가 무지하게 큰게 무슨 사막에 사는것 같습니다. 매 리뷰마다 말을 꺼냈던 저희집 개는 아침저녁으로 집안에 들여보내 달라고 문을 박박 긁어댑니다. 그냥 개면 털 밀고 들여보내겠는데, 진돗개를 털을 다 밀어버리면 좀 슬프잖아요. 그래서 신문지좀 내다 놨더니 혼자서 자기 몸에 똘똘 두르고 잘 잡니다. 진돗개면 좀 집좀 지키지 잠만 자네요. 개팔자가 상팔자입니다. 어느덧 그냥 앞만 보고 달려온 리뷰가 마지.. 더보기
[모토로이]Virtual My Sweet Home. Naver Blog. 갑자기 비가 오더니 날씨가 좀 서늘해 집니다. 이제 날씨가 좀 풀리려나 봅니다. 아직 태풍이 올라올 게 좀 남아있다고 하는데, 이거 태풍 맞으면서 춥기까지 한건 아니려나 걱정이 되네요. 태풍 곤파스가 올때 옆 빌라 외벽이 무너져도 잘 버텨낸 저희집 개의 개집이 부럽습니다. 그때 저희집 지붕은 뜯겨져 나갈뻔 했거든요. 집이 너무 낡아서... 전 현재 철도에서 근무중인 공익근무 요원이지만, 개발자를 꿈꾸는 한 대학생이기도 합니다. 일전에는 네이버 블로그를 애용했으나 딱 한가지 기능때문에 티스토리로 옮겨갈 수 밖에 없었습니다. 바로, 구글의 Code Syntax highlighter 기능입니다. C언어 뿐만 아니라 여러가지 프로그램의 코드를 네이버 블로그에서는 깔끔하게 게시하기가 힘들었습니다. 그리고 드래그 .. 더보기
[모토로이]World on Hand. Naver Map. 어찌하다 보니, 저번 네이버 포털 어플리케이션 리뷰에서는 정말 신나게 네이버 포털 어플리케이션을 까버린 글이 된 것 같습니다. 나름 수위 조절을 최대한 한다고 했는데, 그래도 주변 사람들의 읽고 난 평이 "형.. 너무했다... 이거 너무 공격적으로 깐 거 아니야? 글 배치를 바꾸던가 좀 해라." 라는 의견이 상당히 지배적이더라구요. 뭐.... 너무 공격적으로 까서 기분 나빠서 갤럭시탭 안줄꺼라는 의견도 다들 덧붙여 줬습니다. 아무래도 뭐, 갤럭시탭이 정말 미친듯이 갖고는 싶지만, 제 글이 지나치게 공격적이었다면 별 수 없지요. 진짜로 그런가...... 그것보다는, 놀라운 사실을 발견했습니다. I/O계열 장치가 아작나서 내장 그래픽 칩도 같이 나갔을줄 알았던 제 노트북이, 그래픽 칩은 아직 살아있긴 하더.. 더보기
[모토로이]Mobile Lifestyle Innovation, 네이버.  말이 가을이지 무지하게 덥네요. 저희집 개도 혀를 길게 늘여놓고, 침을 질질 흘리면서 집안에 침입합니다. 말 못하는 개라 참 때리기도 그렇고 한데, 말은 분명히 알아듣는 머리좋은 개라 참 묘합니다. 때려서 내쫒아야 할 까 봐요. 마당에 키우는 진돗개입니다. 일전의 리뷰에서는 웹브라우저로 제공되는 서비스를 네이버의 포털 어플리케이션에 포함 시키느냐, 마느냐의 문제로 어떻게 써야 할 지 감이 오질 않았습니다. 그래서 일단 간단한 시리즈로 네이버 어플리케이션부터 N드라이브, 지도, 블로그의 간단한 심플 리뷰를 작성하고, 제대로 된 디테일 리뷰를 따로 준비하게 되었습니다. 네이버 어플리케이션의 첫 주자, "네이버"의 포털 어플리케이션 서비스를 상세하게 리뷰하겠습니다. 국내에는 아이폰이 안드로이드보다 우선 발.. 더보기
파일시스템 - 08. MFT가 무엇인가?(3) 아앍. 미칠꺼 같아요 정신없어서 ㄱ- --------------------------------------------------------------------------------------------------------------- 각 MFT에 대해 정보를 알려면 이 MFT의 헤더를 읽어야 합니다. 그리고 이 MFT의 헤더에 속성들이 들어가있지요. .............. ............... MFT 헤더가 아니고 MFT의 엔트리에 들어있습니다 -_-; 낚이는 분 있을까봐; MFT는 MFT Entry Header 부분과 빈 공간으로 나뉘고, 빈 공간에 속성이 들어가서 이 MFT의 성격을 결정해 줍니다. 이 속성에 파일의 데이터, MFT의 성격 등이 모두 들어가 있는 것이지요. 이 속성에 대.. 더보기
파일시스템 - 07. MFT가 무엇인가?(2) 아앍 이미 포스트가 올라와 있어야 하는데 갑작스런 사정으로 좀 늦었습니다; 예상하기에 3번에 걸쳐서 올린 후, 안드로이드 프로그래밍에 대해 올리지 싶습니다. --------------------------------------------------------------------------------------------------------------- MFT에는 메타 데이터 파일 외에 일반 파일을 위한 MFT 엔트리들이 연결되어 있습니다. 부트 레코드에서 MFT 시작 엔트리의 클러스터 번호를 담고 있고, 이 내용을 통해 MFT 엔트리 0번에 접근하지요. 여기 MFT 엔트리 0번부터 파일들의 연결 체인이 시작되며, 이 부분부터는 FAT의 엔트리 체인과 상당히 흡사하다고 볼 수 있습니다. 가령 예를 들면.. 더보기
dlbo's 포스트 연기 공지 계속 연기만 반복되는거 같아 죄송합니다; 사유를 대자면, 공익 근무 땜빵 + 갑작스러운 후임 신규자 교관 + 알바 로 인해 오늘 아침에 퇴근했습니다. -_-;; 몸살도 지금 쩔게 제대로 걸렸구요; 최대한 다음주 수요일 안에 포스트 준비해서 올리겠습니다; 더보기
파일시스템 - 06. MFT가 무엇인가?(1) 원래 일요일 포스팅 예정이었습니다만, 공익 정신이상 후임 녀석때문에 일요일 땜빵 뛰게 되어서 상당히 좀 부실합니다; --------------------------------------------------------------------------------------------------------------- MFT란 Master File Table의 약자로, FAT의 파일 엔트리와 비슷한 개념입니다. 다만, NTFS에서는 루트 디렉토리 등의 엔트리에 관한 내용이 없으며, B+ 트리 알고리즘 등으로 인해 엔트리 검색 형태 등에서 차이가 납니다. 훨씬 개선된 검색속도를 가지며, 클러스터의 크기가 64비트로 월등히 크다는 점을 감안할때 상당히 유용하지요. 엔트리의 대체물로 볼 수 있기 때문에 이 MFT.. 더보기
dlbo's 포스트 연기 공지 죄송합니다; 황사때문인지 감기가 더욱 심해져서 감기 몸살이 되어버렸습니다; MFT는 정리는 되어 있지만 아직 포스트로 띄울 수 있는 상태가 아니라서 일단 1주 휴재하겠습니다; 더보기
파일시스템 - 05. NTFS 개요. 한영키가 또 안먹히는군요.... 우라질; 아무래도 놋북 키보드를 갈아야 할 것 같습니다; ------------------------------------------------------------------------------------------------------------------ NTFS는 New Technology File System이라는 길다란 풀네임을 가지고 있습니다. 이는 FAT파일시스템이 체계를 잡아가던 서버용 윈도우즈, 윈도우즈NT 시절부터 태어나 자라왔지요. FAT의 막내격이자 가장 최신형인 FAT32는 FAT엔트리에서 한 엔트리당 크기가 32비트였던 것에 비해 아예 윈도우즈 3.x버전이 돌던 시기의 최초형 윈도우즈 NT스테이션때부터 엔트리당 64비트의 크기를 가지고 시작했습.. 더보기
dlbo's 포스트 연기 공지 시간상의 문제로 이르면 일요일, 늦으면 화요일 오후까지 포스트 올라갑니다. -_-; 더보기
파일시스템 - 04. FAT 엔트리의 내용, 디렉터리. FAT 엔트리에 관한 저번 내용을 보셨다면, 문득 궁금한 내용이 생기시지 않았을까 합니다. "디렉터리는?" 하는 의문 말이지요. -_-; 뭔가 글씨가 안맞네요. FAT 시스템에서는 디렉터리나 파일이나 동일한 구조를 갖습니다. Name 필드 - 최초 8바이트의 필드로, 이 엔트리가 지시하고 있는 파일의 이름을 가지고 있는 필드입니다. 8바이트중 텅 빈 부분은 공백문자(20h)로 메꿔넣어야 하며, 0h로 채워넣게 되면 대략 낭패. Extender 필드 - 이름에서도 느껴지듯, 확장자가 들어가는 필드입니다. 3글자만 가능하며, 3바이트로 구성, 디렉터리인 경우는 빈칸으로 둡니다. Attrivute 필드 - 01부터 02, 04, 08, 10, 20, F0의 값을 가지고 있는 1바이트 필드이며, 이게 어떤 파.. 더보기
파일시스템 - 03. FAT 12, FAT 16! FAT 엔트리 부분? 포스트가 쪼까 늦었네요; 아마 다음 포스트는 대략 금요일이나 토요일즈음 올라가지 싶습니다. ------------------------------------------------------------------------------------------------------------------ FAT12와 FAT16은 FAT엔트리가 각각 12, 16비트로 구성된 파일시스템입니다. 12비트로 구성된 FAT12는 주로 용량이 적은 플로피디스켓에, 16비트로 구성된 FAT16은 윈도95, 98시절 사용하던 소용량의 하드디스크에 쓰이던 파일 시스템이지요. 두 시스템이 공통적으로 갖는 부분은 "최초 1섹터인 512바이트가 부트 코드 블록" 이라는 겁니다.(사실 FAT계열은 다 이래요;) 이 부분은 BPB(Bio.. 더보기
파일시스템 - 02. FAT 파일시스템. 오래간만에 다시 연재하는 포스트이군요. 대략 3월부터는 월화수목금만 근무하게 되어 있으니 3월부터는 다시 연재가 제대로 이루어지지 싶습니다. ------------------------------------------------------------------------------------------------------------------ 애초에 하드디스크건 무엇이건, 용량은 정해져있고, 0번지부터 max번지까지(물론 하드디스크의 맨 뒤 입니다) 쓸 수 있습니다. 마치 램을 쓰는것처럼 하드디스크도 그렇게 쓰인다는 것이지요. 이 번지 하나하나에 파일을 쑤셔넣고 배치하면, 그게 바로 파일시스템이 되는 것이지요. 그런데, 애초에 파일을 그냥 마구잡이로 하드디스크에 쑤셔넣는다면? 가뜩이나 느려 터진 하드디.. 더보기
파일시스템 - 01. 개요. 으흠... 한동안 파일시스템에 대해 휘갈겨 볼까 합니다. FAT12부터 시작해서, FAT16과 FAT32, NTFS, Ext에 대해 대략적으로 써 볼 생각입니다. FAT는 마이크로소프트의 윈도우즈를 위한 파일 시스템 시리즈이고, File Allocation Table의 약자라나 뭐라나... 그리고 NTFS는 New Technology File System의 약자라고 하는군요. NTFS는 윈도우즈 NT계열의 1.0버젼부터 시작해서 FAT와 함께 커왔지만, FAT와는 다르게 애초에 큰 용량의 하드디스크를 타겟으로 한 파일시스템입니다. 그리고 Ext파일시스템은 리눅스의 파일시스템으로, Ext2 파일시스템은 유닉스의 UFS를 기반으로 만들어진 파일시스템이라고 합니다. ------------------------.. 더보기
프로그래밍이란? WoC 2008에서 CCL의 윤종수 판사님의 말씀이었지요. "개발자는 예술가다. 프로그램은 개발자의 예술이다." 라고. 그렇심다! 프로그래머는 코드를 통해 세상과 소통합니다. 개발자의 프로그램은 프로그래머의 내적 세계를 표현하고, 그 사람의 철학을 담고 있습니다. 읽기 힘든 코드나 읽기 쉬운 코드나, 더 빠른 코드나 더 느린 코드나, 호환이 되는 코드나 종속적인 코드나 모두 코더의 필요에 의해서 유저와, 컴퓨터와, 혹은 개발자가 의도한 상대에게 개발자의 의미를 전달하는 매개체입니다. 프로그래밍은 또한 "표현" 입니다. 아까 쓴 것처럼, 컴퓨터나, 특정 대상에게 의미를 "표현"하는 수단인 것이지요. 그리고 그 자체로 목적이 됩니다. 개발자의 표현은 코드로, 프로그램으로 나타납니다. 남들이 말로, 기획서로,.. 더보기
Dlbo's Post 연기 공지. --------------------------------------------------------------------------------- 사유 : 일정관리 실패 -_-; 연기일자 : 6. 9. 화. 예상 복귀 일자 : 6. 16 화. --------------------------------------------------------------------------------- ... -_-;; 이번주 한주만 쉬겠습니다 -_-; 더보기
코드 최적화, 어떻게, 왜 하는걸까? 아... 비가 쩔어주게 오네요. 책 제본뜨러 가야 하는데;; ---------------------------------------------------------------------------------------- 요즘은 컴퓨터가 워낙에 빨라져서 코드 최적화에 대해 대학이나 여타 여러곳에서 잘 언급을 하지 않는 것 같습니다. 그래도 KOI 준비하는 학생분들은 시간적 옵티마이즈에 목숨을 걸지요 =ㅁ= 최대한 빠르게 동작해야 하니까요. 예전의 느린 컴퓨터에서는 시간을 줄이기 위한 최적화가 종종 이루어 졌습니다. 물론 요즘도 실행시간을 줄이기 위한 시도(암호깨기...)가 종종 이루어 지지만 말이지요. 추...추억의 286입니다 -_-; 저때만 해도 느린 컴퓨터 덕분에 시간 차원의 옵티마이즈가 필요했습니다.. 더보기
자유에는 그만큼의 책임이 따른다. 프로그래밍 포스트 치고는 뭔가 오묘한 제목이지요? 요즈음 이것저것 해보다가 갑자기 든 생각이라 포스트로 구성해 보았습니다. ------------------------------------------------------------------------------------------ 자유에는 책임이 따른다고 하지요? 같은 밥솥으로... .... 요런 밥을 탄생시킬 수도 있고, 요런 밥이 나올 수도 있습니다 -_-; 밥 하는 사람의 책임에 따른 문제이지요. 프로그래밍 또한 같습니다. 프로그래밍의 자유도, 즉, 사용할 언어의 자유도에 따른 책임은 스스로 져야 한다는 것이지요. 어셈블리언어의 어셈블러는 아주 기초적인 문법만 체크할 뿐, 데이터와 코드의 구분도 잘 안해줍니다. (MASM의 구분니모닉은 예외로 .. 더보기
Design Pattern & Network, 5. 간략한 UDP 서버. 아흠. 아무래도 그냥 데스크탑 한대 뽑아야 할까 봅니다. -_-;; ------------------------------------------------------------------------------------------- 간만에 돌아왔습니다. 이번에는 UDP 서버의 간략한 소스를 보지요. #include #include #include int main(int argc, char *argv[]) { WSADATA wsa; int retval, addrlen; char buf[513]; SOCKET sock = socket(AF_INET, SOCK_DGRAM, 0); SOCKADDR_IN serveraddr, clientaddr; WSAStartup(MAKEWORD(2, 2), &wsa); Zer.. 더보기
Dlbo's Post 연기 공지 --------------------------------------------------------------------------------- 사유 : 노트북 개아작남 연기일자 : 4. 28. 화. ~ 예상 복귀 일자 : 장담 못함 -_-; --------------------------------------------------------------------------------- 드디어 노트북님이 제 뻘짓을 감당 못하고 뻗어버렸습니다. 이 컴은 동생컴인데.... 코딩은 커녕 웹서핑도 힘들 정도로 상태가 안좋습니다. 아무래도 놋북님이 되살아날때까지 일시 중지할듯 합니다. 대략 예상컨데 하드와 보드가 모두 나간게 아닐까... -_-; 더보기
Design Pattern & Network, 5. 간략한 TCP/IP 서버. #include #include #include int main(int argc, char *argv[]) { int val, len; WSADATA wsa; SOCKET listen, client_send; SOCKADDR_IN server, client; char buf[513]; if (WSAStartup(MAKEWORD(2, 2), &wsa) != 0) { return EOF; } listen = socket(AF_INET, SOCK_STREAM, 0); if (listen == INVALID_SOCKET) { printf("소켓 안렬려 ㅡ.,ㅡ\n"); return EOF; } ZeroMemory(&server, sizeof(server)); server.sin_family = AF_INET; .. 더보기
Design Pattern & Network, 4. 네트워크, 프로토콜. 한주나 지났는데도 몸상태는 쉣이군요. 괴기한 집 구조덕분인듯... 아무래도 자취방이라도 구해서 나가야 하지 않을까 싶습니다 -_-;; ------------------------------------------------------------------------------------------------ 이번엔 디자인패턴을 제외해두고 네트워크의 기본구조중 프로토콜에 대해 포스팅하지요. 네트워크는 여러대의 컴퓨터가 일대 일, 혹은 다대 다나 다대 일, 일대 다의 관계로 데이터를 주고받는 영역입니다. 이렇게 여러 컴퓨터가 데이터를 주고 받기 위해서는 일정한 규약이 필요합니다. 규약이 없다면 아마 이리 되겠지요 -_-;; 으흠... 좀 쩌는듯 -_-; 이런 규약을 네트워크에서 프로토콜(Protocol)이라고.. 더보기
Dlbo's Post 연기 공지. --------------------------------------------------------------------------------- 사유 : 몸살 및 시간관리 실패 연기일자 : 4. 7. 화. 예상 복귀 일자 : 4. 14 화. --------------------------------------------------------------------------------- ... 좀만 쉴께요 ㄱ- 더보기
Design Pattern & Network, 3. Observer & Client. 아.... 코드를 첨부하긴 해야 하는데, 미리 만들어놓은 레퍼런스가 없으니 좀 곤란하군요. 한번 따로 준비해서 올려야 할듯... ----------------------------------------------------------------------------------------- 옵저버 패턴이라는건.. 요런 놈을 연상시키게도 하지만 -_-;; 이름만 같을 뿐, 약간은 다른 기능을 가집니다. 스타크의 옵저버는 숨어있는 것들을 찾아냅니다. 반면, 옵저버패턴은 자신에게 등록된 클라이언트들에게 '통보'를 하는 역할을 갖습니다. 가장 간단한 예를 들자면 바로 이거지요. 자신의 통신사에 등록된 모든 고객에게 재난 문자나 여러 정보를 통보해주는 서비스. 그 서비스를 해주는 객체가 옵저버입니다. 이러한 패턴이.. 더보기
Design Pattern & Network, 2. Singleton & Server. 푸후. 디자인패턴과 네트워크 포스팅의 첫삽이군요. 아직 완전히 결합시켜 이해중인게 아니라서 제대로 써 질지 고민됩니다. ------------------------------------------------------------------------------ Singleton 패턴이란 녀석이 디자인패턴에 있습니다. 디자인패턴은 객체지향 언어로 프로그래밍할 경우 잡는 하나의 기본 골격인데요. Singleton 패턴은 이런 골격중 하나이지요. Skeleton이랑 비슷하다고 이런건 아닙니다 -_-; 아 깜찍해 -_- Singleton 패턴은 single이라는 앞단어와 관련있습니다. "유일한!" 객체라는 겁니다. 왜 Unique가 아니냐고 물어보면 할말 없습니다. GoF(Gang of Four, 디자인패턴의 .. 더보기
Design Pattern & Network, 1. Introduction. 또 다시 새로 시작하는 시리즈물이 되는군요. 디자인패턴과 네트워크중 뭘 해야 하나... 고민하다가 잘 생각해보니깐 그냥 섞-_-어서 하는게 좋다는 생각이 들었답니다. ========================================================================================= 네트워크가 뭔진 다들 아시지요? 대략 요거 비슷하네요. -_-; WWW(월드 와이드 웹)이 저런 거미줄 같은거라고 하는 분들이 계실진 모르겠습니다만, WWW도 네트워크에 기반을 둔 모델이니까요. 같습니다. (우기는중 -_-) 사실 좀 다르긴 하다 해도... 그건 나중에 차차 설명하지요. -_-; 그런듸, 객체지향의 디자인패턴도 사실은 저런 거미줄같아요. 그러니 제가 두개 합쳐 쓸 생.. 더보기
Dlbo's post 연기 공지 --------------------------------------------------------------------------------- 사유 : 입-_-대하는 친구 연기일자 : 3. 17. 화. 예상 복귀 일자 : 3. 19 목. --------------------------------------------------------------------------------- 친척집도 몇군데 돌아야 하고 해서 아마 제때 포스트를 올리지 못할것 같습니다. 최대한 빨리 돌아와서 포스트 업로드 하겠습니다. 더보기
Generic Algorithm with C++, Last -min, max, foreach 끄흥흥 제네릭 알고리즘의 라스트 파트입니다. 어느새 끝나버렸군요. -_-; ------------------------------------------------------------------------------------------- #include #include #include using namespace std; void what_do(string data) { cout b; cout 더보기
Generic Algorithm with C++, 08 - find & searching! ㄲㄲㄲㄲㄲ 이번엔 find와 search를 동시에 연재합니다. 이래야 후딱 끝내고 네트워크를 들어가지 ㄱ- ---------------------------------------------------------------------------- find() 함수와 search()함수는 쪼까 다르면서도 비슷한 친구입니다. find는 찾아내서 해당 녀석을 리턴하는거고, search는 구간을 찾아내어 그 결과를 알려줍니다. find()함수는 아주 간단한데요, 템플릿 함수라 그런지 이터레이터 두개와 값 한개를 받고 이터레이터를 반환합니다. #include #include #include using namespace std; int main() { list list1, list2; list::iterator it.. 더보기