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) 쪽에 가서 새로 계정 생성을 선택하면 다른 메일로도 구글 계정을 생성할 수 있다. 

아래에 링크를 달아놨다.