Pages

Friday, June 15, 2012

pthread_setschedparam 가 EPERM 리턴 하는 경우

process의 우선순위를 변경할 권한이 없기 때문이다.

리눅스에서

리눅스에는 /etc/security/limits.conf 파일에 설정하면된다.

참고 : http://stackoverflow.com/questions/8111302/why-does-pthread-setschedparam-produce-eperm-on-opensuse-11-4


안드로이드 에서

안드로이드에서는 다른 방법을 사용한다.
Init 문법중에 setrlimit 라는 Command를 사용하여 limit를 해제해준다.

setrlimit <resource> <cur> <max>

resource 중 priority 관련 항목은 RLIMIT_RTPRIO인데 정수로 14(bionic/libc/kernel/common/asm-generic/resource.h 참고)값을 가지고 있다.
그러므로 다음과 같은 라인을 Init.rc에 추가하면 limit 값을 설정해줄 수 있다.

setrlimit 14 99 99

설정이 정상적으로 됐는지 확인 하는 방법은 ulimit 명령을 사용하면 된다.
ulimit -r 값이 99로 되어 있으면 제한이 정상적으로 풀린것이다.

이렇게 설정하면 root 계정이 아니더라도 pthread_setschedparam을 이용하여 process의 우선순위를 변경 할 수 있다.


Wednesday, February 29, 2012

git 삼바 환경에서 파일 권한 변경되는 문제 해결 방법

삼바 환경에서 git을 사용하다 보면 filemode 가 바뀌는 경우가 있다.

삼바 create mask 문제인가 했으나 그것도 아님.

아마 filesystem이 다른 두 환경에서 excutable bit을 다루는 정책이 달라서 그런듯.

어쨋든 이런 경우 git에서 발생될 수 있는 문제는 실제 파일 내용은 동일한데 filemode가 달라서 수정된 파일로 인식하는 문제가 있다.

물론 core.fileMode 를 false로 해서 무시하는 방법도 있겠지만 좋은 방법은 아닌듯.

이런 경우 원래의 file 모드를 그대로 유지하는 방법이 있다.

git - how to recover the file permissions git thinks the file should be? - Stack Overflow


요약하자면 파일 모드가 바뀐 얘들만 모아서 파일모드를 예전의 것으로 다시 바꿔주는 방법.
(이러면 의도적으로 파일모드를 변경한 경우에는 적용하면 안되겠지?)

git add 하기 전에 git permission-reset 한 번 때려주면 해결되시겠다.

Tuesday, February 28, 2012

OTP

은행에서 사용하는 OTP 의 원리가 무엇일까?

아마 time-synchronized 방식의 OTP 생성이 아닐까 한다.

인증서버와 클라이언트 장치는 각각 clock이 내장 되어 있고 사전에 동기화 되어있는 상태에서

일정 시간 주기로 동일한 키값 또는 비대칭 키값을 생성하여 키의 매칭 여부를 인증에 사용하는 원리일 듯.

특징으로는 정확한 clock을 사용해야 한다는 점, 베터리를 못 간다는 점, 네트워크를 사용하지 않아도 되는 점.



참조: One-time password - Wikipedia, the free encyclopedia



Tuesday, January 31, 2012

Martian Headsets - Joel on Software

Martian Headsets - Joel on Software

현재의 웹표준이 왜 엉망진창인지 잘 설명해 놓았다. (본인은 한글로 된 책을 통해 읽었음)

핵심은 기존에 만들어져 있는 수십억 페이지들의 비표준 페이지들을 포용할 것인가? 아니면, 버릴 것인가 인것 같다.

이상적으로 생각한다면 표준을 지키는 것이 맞을 것이고, 실용적으로 생각한다면 하위 호환성을 고려하지 않을 수 없다.

IE8 출시를 앞두고 이상주의 노선과 실용주의 노선을 왔다갔다 하는 MS IE8팀의 상황을 재미있게 풀었다.



Thought experiment - 사고(思考) 실험



More Joel on Software를 읽다가 책의 요지와는 별개로 재미난 것을 발견했다.

Thought experiment에 관련된 것인데,

갈릴레오의 피사의 탑 실험이 실제로 행한 실험이 아니라는 것을 처음 알았다. ㅋ

상상으로 실험을 해서 물체의 무게에 관계 없이 낙하 속도가 동일하다는 것을 증명한 것이다.

어떻게? 모순 증명을 이용한다.


가설 : 무게가 무거우면 더 빨리 떨어진다.

반증 : 무게추 두 개 A 와 B를 준비한다. A는 B보다 무겁고 다른 조건은 동일하다.
가설에 따르면 A와 B를 선으로 연결하고 떨어뜨리면 A 만 떨어 뜨렸을 때보다 빨리 떨어져야만 한다.
A보다 가벼운 B가 선으로 연결된 A의 낙하를 방해 할 것이므로 A만 떨어 뜨린 경우보다 빠를 수 없다.
이는 A와 B가 연결된 전체가 A보다 빨리 떨어진다는 가설에 위배되므로 이 가설은 모순이다.


단순하지만 재밌다.

(참고 : http://en.wikipedia.org/wiki/Galileo%27s_Leaning_Tower_of_Pisa_experiment)


Wednesday, January 18, 2012

gmail 말고 다른 이메일로 구글 계정 만들기

gmail 말고 다른 이메일로 구글 계정 만들기

구글에서 원래 계정을 새로 생성하는 링크는 다음과 같다. 


그런데 이 곳에서는 무조건 gmail을 생성하도록 되어 있다. 

그런데 내 동료는 회사 메일로 구글 계정을 사용하고 있더라.

이거 알아내느라고 계속 뻘짓했네.

구글 문서(docs.google.com) 쪽에 가서 새로 계정 생성을 선택하면 다른 메일로도 구글 계정을 생성할 수 있다. 

아래에 링크를 달아놨다.




Monday, January 9, 2012

what does "rc" stand for?

what does "rc" stand for?


The term rc stands for the phrase "run commands". It is used for any file that contains startup information for a command. It is believed to have originated somewhere in 1965 from a runcom facility from the MIT Compatible Time-Sharing System (CTSS).
From Brian Kernighan and Dennis Ritchie: "There was a facility that would execute a bunch of commands stored in a file; it was called runcom for 'run commands', and the file began to be called 'a runcom'. rc in Unix is a fossil from that usage."[1]
Tom Van Vleck, a Multics engineer, has also reminisced about the extension rc: "The idea of having the command processing shell be an ordinary slave program came from the Multics design, and a predecessor program on CTSS byLouis Pouzin called RUNCOM, the source of the ".rc" suffix on some Unix configuration files."[2]
This is also the origin of the name of the Plan 9 from Bell Labs shell by Tom Duff, the rc shell. It is called 'rc' because the main job of a shell is to 'run commands'.
While not historically precise, rc may also be expanded as "run control", because an rc file controls how a program runs. For instance, the editor Vim looks for and reads the contents of the .vimrc file to determine its initial configuration. In The Art Of Unix ProgrammingEric S. Raymond consistently refers to rc files as "run-control" files.

[edit]See also

[edit]References

  1. ^ "In Unix, what do some obscurely named commands stand for? - Knowledge Base". Retrieved 2009-04-20.
  2. ^ "Unix and Multics". Retrieved 2009-04-20.

[edit]External links



Thursday, January 5, 2012

데스크탑용 무료 사전 프로그램


http://www.lingoes.net/index.html


링고스의 한글 페이지
http://translate.google.com/translate?u=http%3A%2F%2Fwww.lingoes.net%2Fen%2Findex.html&langpair=en%7Cko&ie=UTF-8&oe=UTF-8


다운 로드 페이지
http://www.lingoes.net/en/translator/download.htm


여기서 최신 버전을 받으면 된다. 
2012년 1월 5일 기준으로 2.8.1 이 최신 버전




설치 후에는 text 선택 후마우스 커서를 단어위에 놓고 Ctrl+Right mouse를 누르거나 Ctrl+Alt+l 을 누르면 사전 팝업이 뜬다.


기본 설치 버전에는 한글 사전이 없으므로 추가로 사전을 설치해야 한다.


추가 사전 설치
http://www.lingoes.net/en/dictionary/index.html
여기서 Korean 을 검색하면 다음과 같이 네이버에서 제공하는 한영사전이 있다.
Naver Korean-English Dictionary
이것을 클릭하면 여러개의 다운로드 링크가 나타나고 다운받은 후 열면 바로 링고스에 추가된다.

크롬에서 사용하기
크롬은 별도의 텍스트 렌더링을 사용한다. 그래서 일반적인 텍스트 캡쳐처럼 사용하려면 다음과 같은 크롬 플러그인을 추가해야 한다.
http://www.lingoes.net/en/translator/plugins_chrome.htm
사용 방법은 마우스 커서를 단어위에 놓은 상태에서 Ctrl+Right mouse를 누르면 된다.

* 창 마다 되는 것이 있고 안되는 것이 있어서 몇가지 테스트를 해봤는데 설치 전에 열려 있던 창에서만 안되는 것 같다. F5를 눌러 refresh 하니 잘 된다.


Tuesday, January 3, 2012

새벽 꿈

꿈에,
어릴적 거닐던
추억어린 시골길을.

그리운 나의 할머니와 거닐었다.

들길이며 물길이며
모든 풍경이
어릴적 그 때와 같이
아름답고 눈이 부셨다.

모든 것이 그 때와 같았는데.

할머니 옆의 나는
소년의 내가 아니었다.

그제야 할머니를 두 손 꼭 붙들고
기꺼워 눈물을 쏟았다.

그렇게 놓지 않으려 했건만
새벽에 그리 잠이 깨서는.

한참을 여운이 남아
다시 잠들지 못하는구나.