전체 글 230

[책] 프로그래밍 비타민

알고리즘을 공부하고자 한다면, 미리 한번 보면 좋을 책이다. 자료구조나 알고리즘의 기본적인 내용들에 대해 그 필요성과 함께 쉽게 설명해 주고 있다. Dijkstra알고리즘, DFS, BFS, 인공지능, 패리티를 통한 오류검출, 허프만 코드를 포함한 압축원리, 암호화 등에 대해 개념을 잡을 수 있어서 좋았다. 이 책을 통해 필요성을 인식한 후에 알고리즘 서적을 보면, 더 쉽게 진도가 나갈 수 있지 않을까 한다. 단, 내용이 꽤나 쉬우므로, 최근에 알고리즘 강의를 들었거나 기본적인 알고리즘에 대해 이해하고 있다면 굳이 사 보지 않아도 될 것이다.. 프로그래밍 초보나 비전공자에게 강추..

책 이야기 2008.09.02

[책] 프리젠테이션 젠

즐겨가는 블로그에서 몇번 좋은 서평을 봤던 책이라서 읽어봤다. 어떻게 하면 프리젠테이션을 효과적으로 하고, 듣는 사람들을 확 잡아끄는 발표를 할 수 있을까 하는 고민을 하는 사람이라면 꼭 읽어봐야 될 책이다. 이책을 보기 전까지만 해도 나는 PPT에서 디자인 서식을 적용하여, 글머리기호에 각각 중요한 내용들을 수준에 따라 나열해 왔었다. 그리고, 내용 오른쪽에 공백이 있으면, 그곳에 넣을 차트나 이미지를 구해서 넣기도 했다. 혹여나 어떤 페이지에 넣을 내용이 조금 모자라서 공백이 많이 생기면 두 페이지를 합치기도 하고, 추가로 넣을 내용을 생각해서 넣기도 했다. 하지만, "프리젠테이션 젠"을 읽고나서, 이런 행동들이 얼마나 발표의 논지를 흐트러트리고, 무의미하게 만드는지 알 수 있었다. * 듣는 사람들에..

책 이야기 2008.09.01

[Topcoder] SRM151 ~ 158 연습

SRM151 DIV2 허프만 트리에 대한 개념을 알고 있어서 그런지 문제이해가 빨랐던 문제.. #define pb push_back using namespace std; class PrefixCode { public: string isOne(vector words) { string ret; string w; int find_index = -1; for(int i=0; i< words.size() && find_index == -1; i++) { w = words[i]; for(int j=0; j< words.size() && find_index == -1; j++) { if(i == j) continue; for(int length=1; length t; return t; } string toStr(in..

Problem Solving 2008.09.01

[Topcoder] SRM 144 ~ 150 연습

Topcode연습할겸 예전 easy문제부터 풀어보기로 했다. 오늘은 144부터 150까지 풀어봄 SRM 144 DIV2 : 문제는 간단하고, C++에서 int 를 string으로 할당하는 부분만 주의 #include #include #include #include #include #include #include using namespace std; class Time { public: string whatTime(int seconds) { int s = seconds % 60; int total_min = seconds / 60; int m = total_min % 60; int h = total_min / 60; char buf[10]; sprintf( buf, "%d:%d:%d", s, m, h); ..

Problem Solving 2008.08.29

[Topcoder] SRM 415

오늘 아침 10시에 있었던 매치.. 두번째 해보는 매치였는데..완전 망했다. ㅋㅋ 회사에서 하느라 여기저기 전화받는 소리에, 가끔씩 말거는 상사분에.. 이리저리 좀 방해요소도 좀 있었고.. 무엇보다 문제내용 자체가 심플하다보니 바로 막코딩한게 실수였던거 같다. 솔루션을 vector에서 큰값을 하나씩 빼면서, 가능한 개수를 계산하는 식으로 로직을 구현하다보니.. 좀 복잡해졌다. 결국 한문제도 못풀고. 매치마감;; 점심식사하고 올라와서 그래도 문제는 풀고, 딴사람들 푼거 봐야지 하고 다시 문제를 가만 생각해봤다. 솔루션은 가진 우표를 모두 팔아서, 금액을 확보한 후에 싼 순으로 구매하면 되는거였다... 솔루션을 간단하게 하고나니 실제 코딩은 10분도 안걸렸다. 매치마감시에만 해도 STL이나 코딩연습부족으로 ..

[ORACLE] 오라클 암호화 CRYPTIT

일부 서비스에 대해 오라클 DB 버전을 9i에서 10g로 변경하면서, 암호화 패키지 CRYPTIT에서 일부 문제가 있었다. 9i에서 암호화된 테이블을 10g로 가져와서 다음과 같이 decrypt 를 쿼리하면 에러가 발생했다. select CRYPTIT.decrypt(passwd, 'keyvalue) from user_tbl ORA-28232: obfuscation 툴킷에 부적합한 입력 길이입니다. ORA-06512: "SYS.DBMS_OBFUSCATION_TOOLKIT_FFI", 줄 40에서 ORA-06512: "SYS.DBMS_OBFUSCATION_TOOLKIT", 줄 153에서 ORA-06512: "WLOWN.CRYPTIT", 줄 20에서 처음에는 일부 데이터는 정상으로 조회되길래 무슨 문제인가 찾아..

오라클 2008.08.25

[알고리즘] Boyer-Moore 알고리즘

요즘 보고 있는 책이다. 전반적으로 C++ 코드도 깔끔하고 볼만한 책이다. 텍스트 패턴 매칭부분을 보면서 Boyer-Moore알고리즘을 보는데, 와~ 하고 감탄했다. BM패턴을 보기전에 과연 어떻게 패턴을 찾는 알고리즘을 개선시킬까 잠깐 고민하고 봐서 그런지 더 와닿은거 같다. BM알고리즘의 원리는 간단하다. 1. 비교하는 문자열을 뒤에서 부터 확인 2. 비교하는 문자열에 없는 문자가 오면(last(c) == -1), 문자열 개수만큼 건너뛰기 원리는 간단한데, 효과는 강력한 알고리즘.. 멋진 패턴 중 하나인거 같다. Moore의 홈페이지 http://www.cs.utexas.edu/users/moore/ 관련 ppt 자료

[책] 죽은 열정에게 보내는 젋은 Googler의 편지

우연히 블로그를 통해 알게된 책이었다. 열정과 Google이라는 두 단어에 끌려 보게된 책이다. 처음에는 그의 화려한 수상경력이나 인턴이력 등을 보면서, 내가 흔히 생각했던 강남틱한 자기관리 잘하고, 조금은 차가운 모습을 상상했는데, 책의 후반부에 드러나는 그의 인생얘기를 보면서 저자에게 배울점이 꽤 많다는 것을 느꼈다. - 전문대 출신 동생이나, 공장에 다니는 친구로부터의 부러움으로부터 안주하지 않고, 그들이 누리지 못하는 기회를 보다 더 활용하기 위해 뛰었던 그의 모습 : 환경에 대해 많은 생각을 하게 된 구절이다. 보통은 부유한 환경이나 외국의 자유로움 등을 보며, 현실의 회사나 환경에 대해 불만을 가질 경우가 많은데.. 정말 환경은 본인이 만들어 나가기 나름인 것이다. 모든것이 잘 갖추어진 환경에..

책 이야기 2008.08.21
반응형