Software

스레드의 역사

먼저 이 글은 본인의 글이 아니라, FAQs 사이트의 스레드에 대한 글을 번역한 것임을 밝힌다. 순차적인 제어의 흐름을 의미하는 스레드라는 표현은 1965년 버클리 시분할 시스템에서 처음 쓰였다. 다만, 이 때에는 스레드라는 이름 대신에 프로세스라고 불렀다. 이 프로세스는 공유 변수나 세마포 혹은 그와 유사한 방법들을 통해 서로 상호작용했다. 그리고, 맥스 스미스(Max Smith)가 1970년대에 멀틱스(Multics)에 최초로 스레드를 구현했다. […]

스레드의 역사 더 읽기"

단말의 해상도를 구하는 방법들

안드로이드는 사용자가 /res/* 에 dpi 별로 이미지를 넣어두면 실행시에 ResourceQualifier를 통해 사용자의 단말에 적합한 이미지를 보여주고 있다. 그래서 보통은 실제 해상도를 확인하고 이를 통해 화면에 그려주려는 생각은 좋은 아이디어가 아니다. 하지만,  때때로 단말의 실제 해상도가 필요할 때가 있는데, 이 때 아래의 코드들을 사용한다. 안드로이드의 해상도 안드로이드에서 제공하는 해상도 값은 크게 두 종류다. 하나는 개발자가 내용을

단말의 해상도를 구하는 방법들 더 읽기"

android:debuggable에 따라 로그출력 여부 바꾸기

안드로이드에는 디버그 모드가 있다.  어플리케이션이 디버그가 가능한 상태인지 표시하는 플래그로 기본 값은 false이다. 보통 알려진 설정 방법은 AndroidManifest.xml 의 <application> 부분에 android:debuggable 값을 true/false로 설정하는 것이다. <application android:debuggable=”true” … > 그런데 이 플래그는 구글 플레이 스토어에 apk를 올릴 때 필터링 대상이라 AndroidManifest.xml 안에 저 값을 그대로 두면 apk를 업로드할 수 없다. 또한 IDE에서는, 사용자가 임의로

android:debuggable에 따라 로그출력 여부 바꾸기 더 읽기"

키스토어에서 해시코드 추출하기

페이스북의 기능(SSO 등)을 사용할 경우 앱의 키스토어에서 아래와 같은 방법을 통해 해시코드를 만들어서 사용자의 페이지에 등록하도록 요청한다. keytool -exportcert -alias androiddebugkey -keystore ~/.android/debug.keystore | openssl sha1 -binary | openssl base64 이 방법은 리눅스/맥을 기반으로 작성된 예제인데, 만약 윈도우에서 안된다면 아래와 같이 써보자. keytool -export -alias androiddebugkey -keystore ~/.android/debug.keystore | openssl sha1 -binary | openssl enc

키스토어에서 해시코드 추출하기 더 읽기"

아이폰, 안드로이드 블루투스 인터넷 공유

아이폰에서 인터넷을 공유할 수 있는 기능은 몇 가지가 있다. Wi-Fi의 AP(Access Point)로 동작하는 기능과 Bluetooth 그리고 USB 이다. 이 중 USB는 USB 포트가 있는 PC등을 위한 기능이고, 모바일 간에는 Wi-Fi나 Bluetooth를 사용한다. 이 둘 중에서 Bluetooth는 아이폰과 안드로이드 단말이 서로간 인식이 안된다고 알려져 있다. 진저브레드의 경우 최종 버전인 2.3.6  단말을 가지고 확인해보자. 서로간 블루투스를 통해 단말의 정보가

아이폰, 안드로이드 블루투스 인터넷 공유 더 읽기"