본문 바로가기

[아는게 힘이다]

A good taste in code (리누스 토발스) 리눅스를 개발한 리누스 토발스(Linus Torvalds)의 TED 강연을 보았다. 괴짜로도 유명한 그가 여러 차례 자신이 people person이 아니라고 이야기하는 것이 인상적이다. 그는 리눅스뿐만 아니라 분산 소스 코드 버전 관리 시스템인 git을 개발한 것으로도 유명하다. git을 비롯해 그가 개발한 모든 프로젝트는 자신의 필요에 의한 것이라고 한다. 아래는 강연 막바지에 good taste를 가진 사람과 일을 하고 싶어 한다는 이야기를.. 더보기
연결 리스트(Linked List) 부분 뒤집기(reverse) 주어진 연결 리스트에서 일부분을 뒤집는 문제를 생각해보자. 연결 리스트에 [1, 2, 3, 4, 5]라는 값이 들어있고 2번째부터 4번째 사이를 뒤집는다고 하면, [1, 4, 3, 2, 5]가 된다. 연결 리스트 전체 뒤집기 문제보다 조금 더 생각할 거리가 있다. 전체 뒤집기와 다른 점은 뒤집기 경계에 있는 노드 정보를 기억해야 한다는 점이다. 뒤집기 부분 바로 직전 노드를 A라고 하고, 뒤집기 부분이 시작되는 노드를 B라고 하자. 그리.. 더보기
부분합(subsum) 문제 관련 정수 배열 N이 주어졌을 때 두 원소의 합이 특정한 값(T)이 되는 것을 찾는 방법에 대해 생각해보자. 예를 들면, N={-3, -5, 2, -2, 1}이고 T=-4라고 하자.모든 경우를 따져보는 방법 - O(N^2)해시 테이블을 사용하여 한 번만 읽으면서 찾는 방법 - O(N) (해시 테이블이 O(1)일 때)배열을 가리키는 2개의 인덱스(혹은 포인터)를 사용하는 방법 - O(N)이 글에서는 3번에 대해서 생각해보자. 먼저 정렬하면 N={-5, -3.. 더보기
인터뷰와 네트워킹 펜(UPenn)에서 인터뷰와 네트워킹에 대한 설명회(discussion)를 외국인 학생을 대상으로 열었다. 비록 학생은 아니지만, 내용이 도움될 것 같기도 하고 집에서 길만 건너면 있는 건물에서 열려서 소림이가 신청해주고 내가 대신 갔다. 엄청나게 새로운 것을 알게 된 것은 없지만, 인터뷰나 네트워킹에 도움이 될 실용적인 내용을 대단히 상세하게 알려줬다. 학부를 다닐 때는 취직은 너희가 알아서 능력껏 하라는 분위기였고,.. 더보기
그래프 색칠하기 구글 코드 잼 연습 문제를 오랜만에 풀어보았다. 사실 작년 12월 초에 풀다가 잘 안 풀려서 2달 정도 손을 놓았다가 다시 풀었다. 알고 보면 굉장히 간단한 문제인데, 접근을 엉뚱하게 해서 풀이만 복잡해지고 제대로 된 결과를 구할 수 없었다.문제 보기문제를 간단하게 서술해보자. 서로 함께 있으면 문제를 일으키는 쌍에 대한 정보를 준다. 과연 문제가 없이 사람끼리 모이도록 전체 사람들을 두 그룹으로 나누는 것이 가능한가?접근 방법은 다음과 같다. 각 .. 더보기
영어는 참 미묘하다. "성형 수술이 개성을 말살시킨다"라는 표현을 하고 싶을 때, '개성'을 표현하는 단어로는 individuality나 uniqueness, '말살'을 표현하는 단어로는 destroy 정도가 적절한 것 같다. Plastic surgery destroys the individuality (or uniqueness) and character in each person's face. 다음은 아래 밑줄에 들어간 단어는 무엇인가를 찾는 것이다. 보기는 inst.. 더보기
이유를 설명하는 접속사 (as, since, because, for) 회사에서도 가끔 영어로 뭔가를 쓰다가, 이유를 쓸 때 as, since, because 중에 무엇을 써야 하는지 고민이 되는 경우가 있다. 초보 단계에서 영작하면 대부분을 because로 쓰는데, 영어로 된 문장들을 접하다 보면 as나 since가 굉장히 많이 쓰인다는 사실을 알게 된다. 그래서 한동안 because는 구리고, as나 since를 써야 모양새가 난다고 잘못 생각하기도 했다. 이참에 이러한 접속사를 간단하게 .. 더보기
구글 리더(Google Reader) 콘텐츠 백업 7월 1일 자로 구글 리더 서비스가 종료된다[1]. 올해 초에 공지했는데도 막상 일주일 앞으로 다가오니 아쉬움이 남는다. 구독 피드를 백업해서 다른 서비스[2]로 이주하는 방법을 안내해주는 글은 많은데 정작 콘텐츠 백업 방법을 이야기해주는 경우는 별로 없었다. 구독하던 블로그 사이트가 중단되어 현재는 피드가 유효하지 않더라도 구글 리더 서버에는 기존 콘텐츠가 남아 있다. 이 글은 이 콘텐츠를 백업하는 방법에 대해서 다룬다. 1. 구.. 더보기