파일시스템 - 04. FAT 엔트리의 내용, 디렉터리.
FAT 엔트리에 관한 저번 내용을 보셨다면, 문득 궁금한 내용이 생기시지 않았을까 합니다. "디렉터리는?" 하는 의문 말이지요. -_-; 뭔가 글씨가 안맞네요. FAT 시스템에서는 디렉터리나 파일이나 동일한 구조를 갖습니다. Name 필드 - 최초 8바이트의 필드로, 이 엔트리가 지시하고 있는 파일의 이름을 가지고 있는 필드입니다. 8바이트중 텅 빈 부분은 공백문자(20h)로 메꿔넣어야 하며, 0h로 채워넣게 되면 대략 낭패. Extender 필드 - 이름에서도 느껴지듯, 확장자가 들어가는 필드입니다. 3글자만 가능하며, 3바이트로 구성, 디렉터리인 경우는 빈칸으로 둡니다. Attrivute 필드 - 01부터 02, 04, 08, 10, 20, F0의 값을 가지고 있는 1바이트 필드이며, 이게 어떤 파..
더보기
프로그래밍이란?
WoC 2008에서 CCL의 윤종수 판사님의 말씀이었지요. "개발자는 예술가다. 프로그램은 개발자의 예술이다." 라고. 그렇심다! 프로그래머는 코드를 통해 세상과 소통합니다. 개발자의 프로그램은 프로그래머의 내적 세계를 표현하고, 그 사람의 철학을 담고 있습니다. 읽기 힘든 코드나 읽기 쉬운 코드나, 더 빠른 코드나 더 느린 코드나, 호환이 되는 코드나 종속적인 코드나 모두 코더의 필요에 의해서 유저와, 컴퓨터와, 혹은 개발자가 의도한 상대에게 개발자의 의미를 전달하는 매개체입니다. 프로그래밍은 또한 "표현" 입니다. 아까 쓴 것처럼, 컴퓨터나, 특정 대상에게 의미를 "표현"하는 수단인 것이지요. 그리고 그 자체로 목적이 됩니다. 개발자의 표현은 코드로, 프로그램으로 나타납니다. 남들이 말로, 기획서로,..
더보기
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; ..
더보기