본문 바로가기

(비정기) Dlbo's Post

Generic Algorithm with C++, 07 - Sorting! 우훅. 이렇게 늦다니 ㄱ-;;;; ----------------------------------------------------------------------------------------------------- C언어에서는 정렬을 하려면 직접 정렬을 구현해야 했습니다. 아니면 qsort함수를 이용해 비교함수를 만들어야 했지요. C++에서는 STL에서 제네릭 알고리즘으로 기본적으로 제공해 준답니다 -_-! #include #include #include int main() { list::iterator it; int data[10], i; for (i = 0; i < 10; i++) { data[i] = 10 - i; } list a(&data[0], &data[9]); sort(a.begin(), .. 더보기
Generic Algorithm with C++, 06 - Template Set -_-.... 크흑. set은 그나마 자료가 좀 적네요. -_-; ----------------------------------------------------------------------------------------------- set은 쉬운 말로 해서 '집합' 이라 부릅니다. 참 재미있는 녀석인데요... 고등학교 수학 1학년 과정(중학수학에도 있었나는 가물가물해서 기억 잘 안납니다. 군입대가 코앞인데 ㅡ,.ㅡ....;;) 에서 존재하는 집합녀석. 집합인 set에는 동일한 원소가 여러개 존재할 수 없습니다. 동시에, 쓰기 편하라고 알아서 작은 값부터 정렬해둡니다-_- 반복자 이터레이터가 존재하며, 삽입과 삭제가 간편하고, 미리 정렬을 해 두는데다가, 정렬메소드가 없기 때문에 내부 값을 마음대로 바꿔버리면 참 .. 더보기
Generic Algorithm with C++, 05 - Template Queue -_-! 크흘흘. 이번엔 큐 갑니다~ ------------------------------------------------------------------------------------------------- 큐는 대략 저런 녀석이란건 아시지요? 양쪽이 다 뚫린 파이프이긴 한데, 한쪽으로만 넣고, 한쪽으로만 뺄 수 있는 구조라고 보시면 되요. 마치 총이랑 비슷하다고 할까요. 탄창 맨 위에 있는 녀석이 맨 먼저 발사되지 않습니까? 대신 총구에 총알이 여러개 들어있는 안습상황은 없다는거... ㅋㅋ #include #include using namespace std; int main() { queue que1; // que1이라는 이름으로 큐를 생성합니다. que1.push(3); // que1에 3을 집어넣지요... 더보기
2nd. Java Algorithm Contest 2009 -_-! JAC 2009 자바 알고리즘 경진대회. .... 역시 자바 코딩의 길은 험난합니다. 승질나드라구요 -_-.... 1문제 풀고 왔습니다. 한문제 더 풀 수 있었는데 정신놓고 이거저거 손대다보니 이미 푼줄 알고 넘어갔더랩니다.... ㄱ- 저희 팀이 도착했을땐 11시 40분경, 대회 등록 시간은 12시 30분부터 였습죠. 저건 11시 40분에 아무도 없던 데스크...-_- "그랜드 볼룸"으로 오라길래 갔는데 왜 그랜드 볼룸인지 모르겠심다 ㅋㅋㅋ 여기부턴 폰으로 찍은터라 화질이 구립니다.(디카 충전을 못한 바람에 사진도 없습니다 ㄱ-;;;) 저희 팀은 뭐 노트북 3대... 다른 팀도 3대인데도 불구하고 저희팀 노트북들이 제일 크고 복잡하더군요 -_-; 세대중 제꺼만 비스타에서 돌리고, 나머지는 XP에서 돌렸습.. 더보기
[포스트 연재 공지](연기공지 아니에요 -_-) 오는 화요일 JAC가 있어서 JAC 포스트를 올립니다. 기존 올라오려던 포스트는 목요일까지 올리도록 하지요. ㅁ_ㅁ! 더보기
Generic Algorithm with C++, 04 - Template Stack! 안녕하신지요. 끌끌 부득이한 사정으로 하루 일찍 포스트를 먼저 띄우게 되는군요. -_- ----------------------------------------------------------------------------------------------- 이번엔 STL의 스택을 가져다가 이야기해 보지요. .... 죄송 그림이 잘 안그려 지더라구요 -_- 말로 다시 설명을... 스택은 한쪽 입구가 막힌 파이프와 같습니다. 집어 넣을때 막 집어넣고, 나올때는 넣은 순서의 반대로 가지요. 꽤나 단순한 구조입니다. 아마 자료구조를 직접 구현해 볼 때 스택 구현해 본 분 많을겁니다. 리스트 다음으로 만만하잖아요? ㄲㄲㄲㄲ #include using namespace std; int main() { stack .. 더보기
Dlbo's Post 연기 공지. ------------------------------------------------------------------------------------------- 연기 사유 : 지나친 피로 누적으로 인한 장염. -_-; 연기 일자 : 1. 20 화요일, 1. 27 화요일(구정) 재 연재 일자 : 2. 3 화요일 ------------------------------------------------------------------------------------------- 제길 -_-; 뭐 먹어도 소화가 안되는군요 -_-; 죄송합니다 -_-; 더보기
Generic Algorithm with C++, 03 - Template List-_-! 클클 손이 부어서 아직 완전히 제대로 굴릴수는 없습니다만, 그래도 좀 할만합니다. 일이 적응이 됐다고나 할까. 습진때문에 그만두려 했는데 구정까진 일을 계속 해야 할 듯 합니다. 그럼 이만 글 시작합지요 -_-! ---------------------------------------------------------------------------------------- #include using namespace std; list iListFirst; list::iterator iListIter 오늘도 시작되는 STL 포스팅. STL이 뭔 물건인지는 1번째에서 설명드렸지요? ㄲㄲㄲㄲ 이번엔 Linked List입니다. List.h 파일과 List.cpp 파일을 찾아보면 이중연결인지 단일연결 리스트인지 알.. 더보기
Generic Algorithm with C++, 02 - Template Vector. 우후. 오늘도 야근이 없었습니다만... 라인이 몇번 연타로 끊겨먹는 바람에 날뛰었더니 손이 쪼까 개판이네요. 오타 있음 꼭 지적해 주시길... -_-; ------------------------------------------------------------------------------------- Vector 템플릿은 이전 포스트에서 코드 예시로 보였던 것처럼 vector를 인클루드 시켜야 합니다. vector.h가 아니니 주의하시길... Vector 템플릿 클래스는 "동적 배열" 이라고 보시면 됩니다. 가장 간단한 것부터 보도록 하지요. #include #include using namespace std; int main() { vector va1; cout 더보기
Generic Algorithm with C++, 01 - Introduction to STL. 새로운 시리즈로군요. 이번엔 좀 길게 가야 할듯... -_-;; 이번 오는 주 부터는 야근이 없다니 vi의 분석 포스트도 재개가 가능하지 싶습니다. ------------------------------------------------------------------------------------------ STL은 Standard Template Library의 약자입니다. 앞에 머릿글자만 따서 STL 이 되지요. 근데, 라이브러리는 라이브러리인데 템플릿은 도대체 뭐냐? 라고 물으신다면... 뭐... -_-;; 뭐라 설명드려야 할 지 모르곘군요. 대략 그냥 뭐 그러려니 해주시길... -_-; 제대로 설명하자면 페이지 할애량이 지나치게 많아지므로, 개략적인 설명만 하겠습니다. Template 같은 뼈대.. 더보기
Dlbo's Post 연기합니다. 사유 : 만두피공장에서의 막노동으로 인한 손 감각 상실 연기 일자 : 다음주 화요일(09/01/06) 포스트까지, 야근으로 인한 각종 컨디션 저하 및 체력 고갈로 연기. 예상 복귀 일자 : 다음주 주말(09/01/10or09/01/11) 토/일 양일 중 쉬는 날이 있다면 올릴 수 있고, 그렇지 않다면 아마도 다시 연기할 지도..? 라는 '전언'을 받아서, 제가 대신 적습니다. 들보의 귀환을 기대하며, Cheers-. (응?) 더보기
Dlbo's 포스트 연기 공지. --------------------------------------------------------------------------- 연기 일자 : 12. 30 화 -> 1. 1 목(예상) 연기 사유 : ..... 만두피 공장 알바로 인한 손 부상 --------------------------------------------------------------------------- 잘 몰랐는데 손이 꽤나 부었더군요. 같이 일하러 간 후배는 손목부터 어깨까지 전부 파스입니다 -_-;;;; 그 후배 자리엔 기계 추가로 설치된다니 이제부터 그 후배는 별 고생 없겠지만 제 경우는 공장 라인의 생산량과 스타트를 결정하는 자리라서 (제가 기계 안세우면 점심시간도 없습니다 ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ) 12. 30(화)에는.. 더보기
Winter of Code 2008, W-Day, Code your network! NCSOFT 산하의 Openmaru 스튜디오에서 올해 개최한 Winter of Code 2008. 그 개막식인 W-Day에 다녀왔습니다 -_-! ㅋㅋㅋㅋ 지하 1층 입구에서 흡연장을 찍은 사진입니다. 흡연장소가 따로 있다는 게 참 고맙더군요. .... 나중에 1섹션 막바지 태그로 네트워킹 시간에 저서 리눅스 파운데이션의 조광제 대표님과 담배를 같이 피웠습니다. -_-; 무의식적으로 순간 굳어서 그냥 멩하니 있었지요. 실내에서 받아다가 나와서 찍었심다. 이름-_-표랑 봉투. 저 안에 내용물은 나중에 보여드리지요 ㅋㅋㅋ 클클. 모인 사람들을 위해 준비된 음료수였습니다. 근데 전 저거 하나도 안먹었... -_-; 크흠... 사진을 위해 맨 뒤로 앉긴 했습니다만. 정말 키 작은게 후회되더군요. 안보여 젠장 ㄱ-.. 더보기
프로그램을 만들어 가는 과정. 3. 그냥 만들면 섭하지 -_- 흐음. 이거 뭔가 좀 날로 먹는 기분이 드는군요 ㄱ- ------------------------------------------------------------------------------------------------ 자, 간단하게 구구단을 기준으로 한번 생각해봅시다. 우리가 한 줄에 한 개의 곱씩 구구단을 표현하려 하면, 가장 단순한 코드는 아래와 같이 되지요. #include int main() { int i, j; for (i = 2; i < 10; i++) { for (j = 1; j < 10; j++) { printf("%d * %d = %d\n", i, j, i * j); } } } 단순하지요? i를 2부터 9까지, j를 1부터 9까지 돌리면서 각각 i, j에 대한 곱을 구해 출력하니.. 더보기
프로그램을 만들어 가는 과정. 2. 만들어보자! 저번 주 한번 쉬고 다시 올라오는 포스트군요. 익스플로러가 미쳐버려서 글 올리는데 시간이 좀 걸리지 싶습니다. 겨우 텍스트 몇자 끄적이는데 렉이 걸리다니... ㄱ- ---------------------------------------------------------------------------------------- 프로그래머가 프로그램을 만들기 위해 일단 계획을 하여 설계를 한다, 이게 저번 포스트의 내용이었지요. 예압~ 설계를 하면 개발에 돌입해야지요? 프로그램의 개발 방식에는 여러가지가 있습니다. 1. 팀 개발 2. 개인 개발 ....... 농담이구요. -_- 1. TDD(Test Driven Development) 2. 애자일 방법론 3. 모듈 분할 방법 ..... 뭐 이름이 거창하기들 하긴.. 더보기
[Dlbo's 포스트 공지] ㄲㄲ 다음주엔 2개 갑니다. 리턴군 미안. 나혼자 됐다. 미니간담회가 컸던건가. -_-; 고로 다음주 화요일에는 "프로그램을 만들어가는 과정"과 "오픈소스축제, WoC의 W데이"편이 함께 올라갑니다. 더보기
Dlbo's Post 포스트 연기 공지 -------------------------------------------------------------------------------- 연기 사유 : 기말고사 수업 및 프로젝트 마감 후유증. 연기 기간 : 12. 9. -------------------------------------------------------------------------------- 낮에라도 올리는게 인지상정이겠지만... 프로젝트 마감 후유증은 위대합니다. ㄱ- 요즘 아침에 일어나지를 못하고 있습니다. 일어남 해가 중천. 기말고사 끝나고 다시 찾아뵙겠습니다 ㄱ- 더보기
[비정기포스트] Simple VI 분석! - 1. 구조 살펴보기. 우후... 저희 프로젝트 팀의 최초 Simple VI의 기본 구조 도안이었습니다. 이후 변경되어 8장으로 늘어났지요. vi가 뭐냐구요? 리눅스의 콘솔 라인에디터 랍니다. 요즘은 VIM(VI iMproved)가 나와서 VI대신 VIM이 그 자리를 차지하고 있지만, 프로그래머들이 적응만 하면 정말 편하기 그지없는 텍스트에디터입니다. 일단 vi는 3가지의 상태를 가지고 있습니다. 일반 페이지뷰 모드와, ed명령어를 이용하는 ed모드, 편집모드. 페이지뷰 모드에서는 단순히 커서를 이동시켜 원하는 페이지를 볼 수만 있습니다. 반면 ed모드에서는 어떠한 커서조작도 불가능하나 s, x, dd등의 명령을 통해 편집을 할 수 있지요. 편집모드에서는 해당 커서 위치에서 직접 편집을 합니다. i, a, o의 3가지 모드가 .. 더보기
프로그램을 만들어 가는 과정. 1 - 무엇을 만들고 어떻게 만들까? ㅁ_ㅁ 지난번의 "객체지향 이야기"는 더 이상의 이야기를 하자면 "디자인 패턴"이라는 복잡한 분야로 들어가야 하는데 이는 이해하기도 상당히 난해하므로 일단 접어둡니다. 객체지향의 기본도 절차지향이므로 이번 포스트 부터는 절차지향과 객체지향의 공통분모인 프로그램의 설계에 대해 언급하겠습니다. --------------------------------------------------------------------------------------- 프로그래밍을 처음 공부하는 사람이나 조금 했던 사람이나 많이 하는 사람이나 모두 공통적인 고민을 가지고 있습니다. "뭘 만들지?" .... 예. 그렇습니다. -_- 우리에게 가장 중요한건... 뭘 만드느냐 입니다 -_-; 프로그램을 도대체 무엇을 만들 것이느냐! .. 더보기
Dlbo's Post 연재 공지. "연재"공지이지 "연기"공지가 아닙니다 -_-;; 다음주 화요일 게시 예정이던 프로젝트 분석 포스팅은 일단 잠시 연기합니다. 프로젝트를 제출하는 웹하드에서 타 팀의 코드를 고대로 복사 가능하게 해놨더군요 -_-;;; 저희 팀이 1등으로 냈는데 코드가 고대로 복사된것 같습니다. VI가 아무리 캐막장이라지만 압축한후 소스가 5메가나 나올 리가 없거든요 -_-;;;;;;; 저희 조는 플로우차트를 첨부했기 때문에 소스가 그리 컸던건데... 타 조에서 고대로 복사해다가 붙여넣고는, 이름도 금방전에 막 바꿨더군요. -_-; 일단 다음주 화요일부터는 이미 마무리 짓기로 결정한 "객체지향 이야기"는 접고, "프로그램을 만드는 방법"에 대해 포스팅할 예정입니다. 월요일에 프로젝트 복사 문제에 대해 교수님께 건의하고 확답.. 더보기
오픈마루 스튜디오의 WoC 2008~ ㅁ_ㅁ! 현재 사전 접수중이라는군요. 저번에 올린 포스트 내용대로 실무와 동떨어진 학생들과 실무개발자 멘토들을 연결해 주어서 오픈소스프로젝트를 직접 진행, 경험을 쌓아 볼 수 있게 하는 행사입니다. 전 1월에 공익근무요원 소집으로 안해 참가가 힘들지만, 리턴군 데리고 w-데이라도 한번 가 볼 생각입니다 -_-a ----------------------------- P.S. 건 둘째치고... 수요일 목요일 이틀 연타로 포스트가 안올라오니 매우 궁금한 1人 -_-; Mr.K는 지지난주 포스트에 "다음 포스트 쉴겁니다."라고 조그맣게 써놨는데 그것도 못보고 지난주에 기다리다 지치고 ㄱ-;;; 이번주는 수, 목 두번 다 사전공지 없이 잠잠하군요... ㄱ- Mr.K는 뭐 내일이라도 포스트 올라오면 정독해주겠음 -_-a 더보기
리눅스 시스템 프로그래밍 프로젝트 - Mini shall, Simple VI. Linux/Unix 시스템 프로그래밍 팀 프로젝트. 팀원 : 2학년 김보성, 한태웅, 신은수 프로젝트 1. Mini shall. - 팀 구성 : 구조 설계 - 김보성 , >, |의 메타캐릭터 처리. - 와일드 캐릭터 및 Alias 구현시 추가 점수. - 11. 26 기준 프로젝트 진행 상황 - 시간 부족으로 인하여 cat와 와일드 캐릭터, Alias는 구현 힘듬. 요구사항 외의 것으로는 멀티 리다이렉션, 파이프의 구현. 구조 설계자 요구에 따라 C++을 이용해 클래스화 시켜 확장성이 용이한 구조로 코딩. 구조 설계자로부터 넘겨받은 구조 요구 예시는 기본 뼈대만 채택하였음. 2주 코딩기간동안 하루 평균 8시간의 코딩. 프로젝트 2. SImple VI(이하 SIVI) - 팀 구성 : 구조 설계 - 김보성 문.. 더보기
Dlbo's Post 연기 공지 ------------------------------------------------------- 연기 일시 : 11. 18, 11. 25까지 2주간. 연기 사유 : Linux System Programming 팀 프로젝트 마감 예상 복귀 일자 : 12. 3 ------------------------------------------------------- 프로젝트 마감이 코앞인데 2개 프로젝트중 1개도 아직 마무리가 안되어 포스팅을 쉽니다. 프로젝트 마감 후 프로젝트 내용에 대한 분석과 함께 원래 진행해야 할 포스트를 함께 게시하겠습니다. 더보기
탐방 - 1. NCSoft 오픈마루스튜디오에 다녀오다. 흐음. NCSoft의 오픈마루 스튜디오에 갔다 왔습니다. WoC 2008 행사를 위한 미니 간담회 였는데요. 당일날 디-_-카를 놓고가는 우를 저질러서 받아온 선물밖에 찍지 못했습니다. -_-;; 엔씨소프트 하면 일단 리니지는 아시지요? 오픈마루 스튜디오는 NCSoft 내의 웹 파트로, 스프링노트를 만든(진짜 공책 말구요 -_- 블로그!) 곳이라고 하면 아실지 모르겠습니다. zFanta님의 블로그에 있던 레몬펜 있지요? 것도 여기 오픈마루 스튜디오의 작품이에요 =_=! 저번주 월요일이긴 했지만...;; WoC라는 행사는 실무를 뛰지 않는 학생들을 위한 행사입니다. 대학생, 고등학생들은 학교에서, 혹은 책을 통해 배우는 것들이 실무와 너무 동떨어져 있는 면이 있지요. 이런 면을 위해서 실무자들과 학생들이 .. 더보기
객체지향 이야기 5. MFC와 객체지향. // HelloApp.h: interface for the CHelloApp class. // ////////////////////////////////////////////////////////////////////// #include #if !defined(AFX_HELLOAPP_H__F398515F_9AAC_4AF5_8DAA_F0A1CE874AD3__INCLUDED_) #define AFX_HELLOAPP_H__F398515F_9AAC_4AF5_8DAA_F0A1CE874AD3__INCLUDED_ #if _MSC_VER > 1000 #pragma once #endif // _MSC_VER > 1000 class CHelloApp : public CWinApp { public: virtual BOOL .. 더보기
객체지향 이야기 4. 생활속의 객체지향. 일상적인 생활 속에서도 객체지향을 만나 볼 수 있습니다. (이 글은 픽션입니다 -_-) ---------------------------------------------------------------------------------------- 컴퓨터공학과인 A군은 F학점을 면하기 위해 귀찮은 수업을 들으러 학교로 나섭니다.(-_-;;) 그리고는 하나의 객체를 마주하게 되지요. 자동차라는 객체. 아니, 자동차라는 클래스에서 '상속'된 경차 클래스의 객체중 하나입니다. 속성으로 제조사와 연식, 엔진의 배기량 및 여러가지가 있고... 현재 상태는 "과속"이네요. A군은 한마디 내뱉고 갑니다. "니가 뭔 스포츠카냐."(-_-...) 그리고는 학교에 도착합니다. 완벽한 군용 건물처럼 견고하기 그지없는 학교 건.. 더보기
프로그래밍과 수학. 누가 알이고 누가 닭일까? 부질없는 잡질사진 올라오고... 제가 머리를 다쳐서 미쳤나 봅니다. 방 정리를 다하다니. -_-; 방 정리중 찍은 사진입니다. 저 맨 밑에 The art of computer programming 3권을 제외하면 전부 최소 3회 이상씩은 읽은 플밍 책들입니다. 여기저기 빌려준 책들까지 다 합치면 두 줄로 쌓아서 방 천장에 닿고도 남겠더군요. -_-;;; 그 중 반이 중딩때 봤던 책입니다만... 그때 수학만 파던 친구 하나가 했던 말이 문득 떠오릅니다. "프로그래밍은 수학의 도구일 뿐이야. 너희는 물론이고 많은 사람들이 반대로 하고 있어." 라구요. 생각해 보면 정말 그럴지도 모릅니다. 지금 PKU와 UVa 문제 풀 때도 수학의 공식들을 끌어 오기나 했지, 수학적 공식을 스스로 만든 적은 거의 없었습니다... 더보기
Dlbo's Post 연기 공지 재확인. ----------------------------------------------------------------------------------------- Dlbo's 포스트 연기 공지. 연기 사유 : 뇌진탕 및 여러가지 복합적인 머리 부상으로 인한 비정상적인 사고 상태. 연기 예정 기간 : 10.21 ~ 11.1 연기 대상 포스트의 개략적 내용 : 객체지향 이야기 4. "컴공의 하루. 그리고 생활속의 객체지향" 객체지향 이야기 5. "MFC로 살펴보는 객체지향적 프로그램" 위 두 편은 부상 회복후 바로 업데이트 하겠습니다. 회복 기간 동안은 가능하다면 가벼운 주제 하에서 간단한 수준의 포스트를 올리겠습니다. --------------------------------------------------.. 더보기
로봇은 임베디드 시스템으로 발전할까 아니면 컴퓨터공학과 전자공학에 의해 발전할까? 이번에 시운행중이던 '견마로봇' 이랍니다. 군용으로 쓰일 목적이지요. ------------------------------------------------------------------------------------------------ 임베디드 시스템은 우리가 흔히 쓰는 "핸드폰"을 비롯해서, 냉장고에 내장되는 소형 컴퓨터 시스템이나 초소형 군용 로봇에 들어가는 소형 컴퓨터에 관련된 시스템입니다. 일반 컴퓨터보다 훨씬 제한적이고 느린 회로에, 저전력을 통해 장기간 사용되도록 해야 하기 때문에 프로그래머 및 설계자에게 초고난이도의 짱-_-구 돌리기가 요구되는 분야이지요. 일반적 컴퓨터공학의 시스템 프로그래밍에서 퍼져나온 분파로, 전자, 전기공학과 조합된 분야라고 할 수 있습니다. 하지만, 일반 PC.. 더보기
객체지향 이야기 3. 클래스랑 객체가 뭐가 다른건데? 객체지향에 처음 입문하는 사람들에게 상당히 설명해주기 어려운 한가지. -_- 클래스와 객체의 차이점입니다. -_-;; ---------------------------------------------------------------------------------------- class A { 쌸라쌸라쌸라..... } int main() { A a; a.out("아놔 어쩌라고~~\n"); } 으흠. 저 코드를 보면 클래스와 객체의 차이점을 볼 수 있습니다. 클래스는 "객체를 찍어내기 위한 틀"입니다 -_-! 수많은 객체지향 책들을 보면 참 난감하게 글들을 써놨습니다. 어떤 책은 "클래스는 곧 객체요, 클래스의 소통으로 이루어진게 객체지향형 프로그램이다." 또 어떤 책은 "클래스와 객체는 서로 다른 개념이.. 더보기