- visio는 순서도 및 여러 프로젝트 설계에 관한 일정, 조직도 등을 쉽게 표현할 수 있는 툴이다."
- visio는 순서도 및 여러 프로젝트 설계에 관한 일정, 조직도 등을 쉽게 표현할 수 있는 툴이다."
[visual c] precompiled header error 처리
[수학] 나의 생년월일은 소수로 되어있다.
[킷캣] 안드로이드는 SD 카드 접근을 불허한다.
허니콤, ICS 때 부터 외장 SD 카드에 대한 엑세스를 허용하지 않았다고 한다.
그런데, 국내 제조사들은 이를 무시하고, SD 카드를 마음대로 사용할 수 있게 허용해 어플들이 자유롭게 개발되었다.
하지만, 지금은 안드로이드의 정책에 의해 SD 카드 사용 권한을 변경할 경우 판매를 할 수 없도록 했다고 한다.
킷캣이 전환점인데, 삼성도 이를 따르고 있다고 한다.
완전히 사용 못 하는 건 아니고, 외부 메모리카드의 제한된 영역(어플 전용 영역)에 대한 엑세스는 가능하나, 파일 탐색기 처럼 전체를 접근하는 건 허용되지 않는다고 한다.
어플에서는 정책과 제공하는 메서드를 이용해 개발하면 되겠지만, 한쪽에서는 큰 문제가 될 수 있다.
SD카드 관리 전용 앱과 OTG.
OTG는 손쉽게 이용할 수 있는 스마트 폰용 메모리라 할 수 있는데, 외부 메모리로 인식되므로 이를 사용할 수 없다는 것이다.
아직은 많이 퍼지지 않은 것 같은데, OTG를 사용하지 못할 수도 있다. 구글이 구글 클라우드를 이용하도록 하려는 정책이라하는데, 정확한 건 알 수 없다.
왜 그랬을까?
http://open2world.tistory.com/301
http://googledevkr.blogspot.kr/2014/01/no-writing-to-secondary-storage.html
안드로이드 킷캣 부터는 어플리케이션에 특화된 디렉토리의 경우에는 권한 요청 없이 자유롭게 파일을 읽고 쓸 수 있도록 허용하는 동시에 그 외 다른 경로에는 파일을 쓸 수 없도록 제한되었습니다. 앱은 자신에게 할당된 디렉토리를 활용하여 데이터를 저장할 수 있고, 이와 동시에 시스템은 앱이 삭제될 때 앱과 연관있는 파일을 판단하고 이를 모두 삭제할 수 있게 되었습니다.
라고도 하는데, 어떤 파급을 줄지는 지켜봐야 할 것이다.
[codility] 비도 오고 더럽게 우울하다(4월 19일 글 복구)
문제 풀이 환경을 제공하는 사이트로 codility를 알게되었다.
개구리가 우는 이유는 청개구리가 비오는 곳에 그들을 묻어서 라고 하던가?
첫번째 문제는 뛸 수 있는 거리(D)가 정해져 있고, 시작거리(X)에서 출발할 때, 몇 번(R) 되어야 종료거리(Y)를 넘을 수 있는가를 묻는다.
영어로 되어 있어서 잘 이해가 가지 않아, 역시 PHP 로 걍 해보다가 답을 보았다.
C언어로 된 답은 그리 간결하지 않다. 이를 PHP로 바꿔서 했더니, 정수가 안 나온다고 해서, 리턴 값을 보니, 2.5다.
C언어에는 타입이 정해져 있어서, 자동 반올림(? 올림일 가능성이 제기됨)되어 정수로 리턴해 줘서 문제가 없었던 듯.
암튼 PHP 로 고치면 아래와 같다.
function solution($X, $Y, $D) {
$r=0;
if($Y>$X)
{
$r=($Y-$X)/$D;
$r=floor($r);
if(($X+($r*$D)) < $Y)
$r++;
}
return intval(floor($r));
}
먼저 도달해야하는 곳(Y)이 시작점(X) 보다 뒤에 있는지 확인하고, 몇 번 뛰어야 하는지 계산한다.
예제 케이스를 넣어보면 첫번째 R은 2.5이다.
두번째 조건문은 85<80 이므로 거짓이어서 반올림 값만 적용되어 3이 나온다.
두번째 조건문이 왜 필요할까?
그건 첫번째 R에서 동일한 숫자가 나오면 ROAD를 벗어나는게 아닌, 걸치기(?) 때문이다.(글을 정리하면서 이해하게 되었다.)
그런 예라면, 시작 점(X)이 5라고 한 값을 보자.
첫번째 값은 2.666666 이고, 두번째 조건문이 80.0000001 이라 영향을 안 줄 듯.
윽... 이상하다. 두번째 조건문을 주석처리하고 테스트 케이스를 바꿔도 답이 맞는다.
그건 아니고, 테스트 케이스 값이 무엇이다만 리턴하는 듯.
그래서 처음에는 round인 줄 알았는데, 이러면 안 된다. 그래서 floor로 고쳤다.
제출 결과 어떤 테스트 케이스를 넣었는지는 모르겠지만, 통과했다.
나도 그 선을 넘고 싶다. 그런데, 세상은 올림과 반올림은 인정하지 않고, 버림아니면, 마이너스 밖에 없겠지.
https://codility.com/demo/results/demoTZD8DM-38J/
테스트 케이스의 답만 리턴할 것이 아니라, 가부 여부도 알려줘야 한다고 생각한다.
두번째 문제도 풀었다. 처음에는 바보 같이 존재하는 숫자를 순차대로 찾아서 배열에서 소거하려 했는데, 이게 아닌 연속되는 자연수의 합 원리를 이용하면 되는 거였다. 배열 총합을 빠진 숫자까지의 수열 합에서 빼면 누락된 수가 나온다.
https://codility.com/demo/results/demoNF4Q3B-A48/
3번 문제는 특정 부분을 잘랐을 때, 좌측부분의 합과 우측부분의 합의 차를 구하는 문제이다. 어려운 문제는 아닌데, 문제가 이해가 안 가서 이제야 적어놓는다.
[qt] qt 프로그래밍을 배우기 시작했다.
qt creator는 apt-get으로 설치가 안 된다.(2010년 2월 10일 기준)
http://qt.nokia.com/downloads 에서 LGPL을 누르고, 각 OS에 맞는 설치 파일을 다운로드한다.
Ubutu 8.4에서는 일반 linux 파일을 받아서, 실행권한 주고(설명에 나온대로) 따라하면 된다.
기타 라이브러리는 시냅틱 관리자나
$ sudo apt-get install libqt4-core
$ sudo apt-get install libqt4-debug
$ sudo apt-get install libqt4-dev
$ sudo apt-get install libqt4-gui
$ sudo apt-get install qt4-designer
$ sudo apt-get install qt4-dev-tools
$ sudo apt-get install qt4-doc
위의 명령어를 입력하면 된다.
[qt] qt 프로그래밍을 배우기 시작했다.
qt creator는 apt-get으로 설치가 안 된다.(2010년 2월 10일 기준)
http://qt.nokia.com/downloads 에서 LGPL을 누르고, 각 OS에 맞는 설치 파일을 다운로드한다.
Ubutu 8.4에서는 일반 linux 파일을 받아서, 실행권한 주고(설명에 나온대로) 따라하면 된다.
기타 라이브러리는 시냅틱 관리자나
$ sudo apt-get install libqt4-core
$ sudo apt-get install libqt4-debug
$ sudo apt-get install libqt4-dev
$ sudo apt-get install libqt4-gui
$ sudo apt-get install qt4-designer
$ sudo apt-get install qt4-dev-tools
$ sudo apt-get install qt4-doc
위의 명령어를 입력하면 된다.
[리뷰] 1000 달성
[iphone] 10.1.1 탈옥
IOS 8을 지원하는 앱들이 줄어듬에 따라 아이패드를 9로 업데이트 해서 탈옥하려고 했는데, 3194부터 다양한 에러로 IPSW 를 설치할 수 없어, iphone 6의 IOS 10.1.1 의 탈옥을 시도했다.
http://ryueyes11.tistory.com/9793
를 참고하여 여러번 했지만 실패했는데 https://yalu.qwertyoruiop.com/ 에서 ipa (cydia impactor) 의 링크의 김정은 아이콘을 통해 성공한 듯 하다.
IMPACTOR와 해당 앱, extra 나 mach_portal 을 아직 정확히 구분하지는 못하지만, 천천히 진행하면 될 것 같다.
일단 탈옥 체크 앱에서 탈옥이 탐지되는데 까지는 성공했다.(cydia는 실행되지 않는다.)
http://yalujailbreak.com/
와 https://yalu.qwertyoruiop.com/ 를 참고하자.
댓글 달기