2013년 12월 10일 화요일

소프트 키보드가 켜졌는지 안켜졌는지 확인하는 법

제일 상위루트의 레이아웃뷰에 id를 붙입니다. (여기선 activityRoot)
그 후 그 뷰를 코드에서 불러내어 ViewTreeObserver의 OnGlobalLayoutListener를 붙입니다.
흠 100프로 정확한 방법은 아니지만 현재 방법이 이것밖엔 없네요
final View activityRootView = findViewById(R.id.activityRoot);
activityRootView.getViewTreeObserver().addOnGlobalLayoutListener(new OnGlobalLayoutListener() {
    @Override
    public void onGlobalLayout() {
        int heightDiff = activityRootView.getRootView().getHeight() - activityRootView.getHeight();
        if (heightDiff > 100) { // if more than 100 pixels, its probably a keyboard...
            ... do something here
        }
     }
});
참고:
http://stackoverflow.com/questions/2150078/how-to-check-visibility-of-software-keyboard-in-android

HashBiMap (쌍방향 해쉬맵) - Guava 라이브러리

가끔 이럴 때 있지 않나요?
키 값과 데이터를 넣는데,
둘 다 겹치지 않는 값이였으면 좋겠다 싶을 때.

이럴 때 구글의 구아바(Guava) 라이브러리 중 HashBiMap 을 써보는 것도 좋은 선택이 될 것 같네요.

일대일 대응을 하는 해쉬맵입니다.

다른 점은:
  1. K (key) 값이 같을 경우에는 새로 들어온 값으로 덮어씁니다.
  2. V (value) 값이 같을 경우에는 익셉션 IllegalArgumentException 을 throw 합니다.

간단한 사용법을 알아봅시다.

구아바 라이브러리를 직접 받아서 쓰시거나
안드로이드라면 build.gradle 의 dependencies 에
compile group: 'com.google.guava', name: 'guava', version: '15.0'
를 넣어주시면 maven 에서 import 를 해 줍니다.

해쉬맵을 생성하려면
HashBiMap<K, V> hashBiMap = HashBiMap.create();
를 해 주시면 됩니다.

일반적인 HashMap 처럼
값을 넣을때에도
hashBiMap.put(K, V);
하시면 됩니다.

마지막으로,
hashBiMap.inverse();
하실경우엔 K 와 V 가 서로 반대로 되어서 나옵니다. (일대일 대응이기 때문에 가능하죠)

2013년 12월 4일 수요일

장고 무작정 시작하기 - Pip을 이용한 설치편


  1. 파이썬 설치하기
  2. pip 설치하기
  3. 장고 설치하기


이번엔 Pip을 이용하여 장고를 설치해 보도록 하겠습니다.

1. 파이썬 설치하기
장고를 설치하기에 앞서
파이썬을 설치하겠습니다.
장고는 파이썬 2.6~, 그리고 3.x 에서 다 작동합니다.
저는 파이썬 3.x 를 기준으로 작성을 하겠습니다.

윈도우에서
윈도우 사용자라면
에 들어가서 Windows MSI 인스톨러를 받읍시다.
(2013년 11월 22일 기준)
파이썬 3.3.3버전
이 있네요.

파일을 받아서 설치한 후에
명령창을 켜서 python
을 입력해 봅시다.
만약 명령어가 되지 않으면 환경 변수 설정을 해주셔야 하는데요
PATH 변수에 C:\파이썬설치경로
을 추가해 주시면 됩니다. 다른 여러 곳에 자세한 설명들이 많으니 이것은 패스하도록 하겠습니다.

맥에서
맥 이라면 기본으로 파이썬 2.7 버전이 깔려있을 것입니다.
파이썬 3.x 버전을 깔고 싶으신 분들은
Homebrew 를 이용하시는 걸 추천드릴께요.
맥 쓰시는 분들이면 이미 많이들 쓰시지 않을까 싶은데
터미널에 가셔서
ruby -e "$(curl -fsSL https://raw.github.com/mxcl/homebrew/go/install)"
라고 입력하시면 brew 가 깔리고
brew install python3

를 입력하시면 파이썬이 깔리며, python3 라고 명령어를 치면 python 3.x 버전이, python 을 치시면 맥에 깔린 기본 python 2.7 버전이 실행됩니다.

2. Pip (Python Indexing Project) 설치하기
이제 파이썬의 여러 패키지들을 편하게 설치/삭제 시켜주는 셋업툴을 받아야하는데 그것은 바로 pip 이라 불리는 파이썬 패키지입니다.

Window 에서는
pip을 설치하기위해서는 setuptools 라는 패키지가 필요합니다.
그래서 먼저 setuptools를 설치해주셔야 하는데요
http://www.pip-installer.org/en/latest/installing.html
에 들어가셔서 ez_setup.py 를 받으시거나
ez_setup.py 링크를 누르셔서
텍스트에 붙여넣으신후 이름대로 저장!

그 위치에서 커맨드창을키고  python ez_setup.py
를 해주시면 설치가 됩니다.

그후,
https://pypi.python.org/pypi/pip
에 들어가셔서 초록색 버튼의 Download를 눌러주신후 파일의 압축을 풀면되는데요
해당 경로에들어가셔서
python setup.py install

을 입력해 주시면 되겠습니다.

Mac 에서는
brew 를 설치하셨다면
brew install pip

만 해주시면 됩니다.

3. Django 설치하기
pip 설치를 한 이상 장고의 설치는 간단하죠!
pip install django

만 하면 됩니다.


2013년 12월 1일 일요일

아수스 T100 한국 깡패 가격. 이것이 한국 프리미엄 가격인가?

아실만한 분들은 아시겠지만,
전자기기들은 한국에만 오면 가격이 뻥튀기 되죠. (국내/외 기업에 관계없이... 삼성너말이다)

아톰 베이 트레일 코어 출시이후

새로이 선보여지고 있는 윈도우 8 태블릿들 중
관심을 많이 받고있는 제품 중 하나인 아수스 T100 이
한국에도 정식 발매를 하는데요

본체에 USB 3.0, HDMI 까지 달리고
, 키보드, 독 까지 다 포함한 가격이
처음 출시 시 380 달러 정도, 블랙 프라이데이 때 299 달러에 판매된 제품이

한국에서는... 정발 가격이
69만 9000원 이라고 합니다.
다음은 공식 사이트에서 가져온 내용입니다.

http://asusblog.co.kr/140201806951





블로그 댓글들에서
아주 난리가 났네요.
이 가격이면 미국에서는 t100 2 대를 살 수 있겠네요...

더 놀라운 건
권장 소비자가격을 상회하는 가격으로 마트에서 팔리고 있다는 점이죠...


보이시나요??
출고가가 101만 8천원인데 89만 9천원으로 할인해서 판다는 내용입니다.
어후... 울트라북 한대를 살 가격이군요..
애초에 인텔에서 저렴한 가격으로 내놓은 코어가 베이 트레일 인데 말입니다.

합리적인 가격에 사고싶으시다면 구매대행 사이트나 공동구매를 하시기 바랍니다...