소스코드 에디터 Sublime Text

윈도우에서는 Notepad++를 정말 잘 사용하고 있다.

군더더기 없는 디자인에

내가 사용하고자 하는 기능들이 다 있어서

Notepad++외에 다른 에디터는 눈에 들어오질 않았다.

근데 맥을 사용하기 시작하면서

어떤 에디터를 사용해야할지 방황을 좀 했다.

물론 IDE는 Xcode나 이클립스로 충분하지만

가볍게 쓸 에디터가 필요했다.

그러다 여기저기서 sublime text라는 에디터를 추천하는 것을 보았다.

설치해서 사용해보니 깔끔하긴 한데

기본의 에디터와 약간 컨셉이 달라서 사용하기 좀 어려운 면이 있다.

그래서 이번에 sublime text의 사용법을 간단히 정리해 보고자 한다.

1. 다운로드 : http://www.sublimetext.com/2

2. Terminal에서 사용하도록

보통 개발자들은 터미널에서 명령어 입력해서 사용하는 걸 좋아한다.(아닌가 ㅋㅋ)

$sudo ln -s /Applications/Sublime\ Text\ 2.app/Contents/SharedSupport/bin/subl /bin/subl

다 아는 것이 겠지만 이렇게 심볼릭 링크를 걸어서 사용하면 된다.

3. Package

가장 중요한 기능이라고 생각한다.

그냥 행으로 Sublime Text를 사용하면 많이 답답할 수 있지만

유용한 패키지들을 설치하면

아주 훌륭하게 Sublime Text를 변신시킬 수 있다.

Package는 쉽게 말해 이클립스의 Plugin과 유사하며

확장 기능이라고 생각하면 된다.



















[알고리즘] 탐색

알고리즘 공부를 하다 보면 기본적으로 알아야 하는 것이 바로 탐색이다.

탐색에는 2가지가 있다.

- 선형 탐색
- 비선형 탐색

선형 탐색은 다음 탐색 대상이 하나인 것이다.

비선형 탐색은 다음 탐색 대상이 여러개인 것이다.

선형 탐색은 주로 배열이나 연결 리스트를 이용하여

순차 탐색 또는 이분 탐색으로 해결이 된다.

비선형 탐색은

배열을 이용한 인접 행렬이나 연결리스트를 이용한 인접리스트로 해결이 된다.





sudoers 문제 생겼을때

급하게 디버깅을 해야하는데

sudoers 문제가 생겼다.

어떤 에뮬레이터를 설치했는데

이 녀석이 sudoers를 잘못 건드린것 같다.

이것 저것 다 해봐도 안돼서

우분투 다시 설치해야되나 하고 좌절하고 있는데

방법을 찾았다.

$ pkexec visudo -f /etc/sudoers

하면 편집기가 하나 실행되며

문제있는 부분을 수정하고 저장하면된다.


[알고리즘] LIS(Longest Increasing Subsequence) 최장증가수열 #1

요즘 LIS 알고리즘을 공부하고 있다.

나이들어 알고리즘을 공부하려니 머리가 따라가질 않는다...ㅜㅜ

대학원생 시절 하필 알고리즘 과목이 영어 강의였던게 한으로 남는다.


LIS는 Longest increasing subsequence의 약자이다.

우리말로는 최장증가수열이라고 한다.

이렇게 말로는 이해가 안되고

예를 들어 다음과 같은 수열이 있을때

{3,1,2,4}

최장증가수열은 

{1,2,4} 가 된다.

이렇게 주어진 수열에서 점진적으로 숫자가 커지는 수열을 최장증가수열이라고 한다.

이걸 사람이 눈으로 구하는 것은 매우 쉽다.

아마 그냥 딱 보면 나올 것이다.

하지만 수열이 길어진다면 쉽지 않을 것이다.

그래서 우린 프로그래밍을 해야한다.

주어진 수열에서 최장증가수열을 구하는 알고리즘은

n^2과 nlogn 방식이 있다.