'분류 전체보기'에 해당되는 글 171건

  1. 2013.03.06 [AndroidManifest.xml] uses-permission과 uses-feature의 관계 5
  2. 2013.02.01 안드로이드 json 속도 비교
  3. 2012.09.14 [linux] vi편집기에 붙일때 앞에 tab이 붙는경우
  4. 2012.07.03 경기도 대표 도서관
  5. 2012.04.18 [부동산] 대지권미등기
  6. 2012.04.15 구글에서 제시한 C++ 코딩 가이드
  7. 2012.02.16 Google Code Jam Korea 2012 - 올해부터는 한글로
  8. 2012.02.15 [DB] DB Sharding은 무엇이고, 적용 전략은? ( 적용시 고려사항 ) 1
  9. 2012.02.14 [K팝스타] 이미쉘의 성대결절과 프로페셔널
  10. 2012.02.10 세력의 기법 - 단주매매

[AndroidManifest.xml] uses-permission과 uses-feature의 관계

android 2013. 3. 6. 16:55

336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.

작성일 : 2013-03-06

작성자 : hanburn

 

안드로이드는 단말기가 다양해도 너무~ 다양해서 개발 환경에서 잘되다가 market에 올리면 안된다는 피드백이 자주 있다. 그중에 하나가 설치 issue 이다. 설치 문제는 문제가 발생하는 단말을 확보해서 테스트 해보면 좋을텐데 대부분이 단말을 구할수 없는 상태에서 확인을 해야 하기에 종종 탐정놀이에 빠지게 된다.

 

오늘도 이런 탐정놀이를 하다가 users-permission uses-feature에 대해서 정리해 본다.

 

1. uses-permission 이란?

(Application)이 실행될때가 아니라 설치되는 시점에 사용자에게 허가를 받는 권한을 기술하는 것이다. "android.permission.CAMERA" 은 카메라를 사용한다는 권한을 표시한다.

Permission의 종류는 아래 page를 참고 하면 된다.

http://developer.android.com/reference/android/Manifest.permission.html

 

2. uses-feature ?

syntax:

<uses-feature 
  android:name="string
  android:required=["true" | "false"] 
  android:glEsVersion="integer" />

 

(application)이 사용하는 하드웨어 또는 소프트웨어 특성(feature)를 정의 한다. 요즘 카메라는 대부분 달려있는데, 보급형 같은 경우는 카메라의 자동 초점기능이 없는 단말기도 존재한다.

<uses-feature android:name="android.hardware.camera.autofocus" android:required="false" />

위에처럼 required=false로 하면 카메라에 자동초점 기능이 없더라도 앱을 실행 할 수 있게 된다.

 

3. uses-permissionuses-feature의 관계

앞에서 언급한 것처럼 permission을 요구하고 있는데, feature에서 require=false를 정의하지 않으면 해당 feature가 없는 단말에서는 앱을 실행할 수가 없게 된다. CAMERA permission은 물리적인 CAMEAR가 있을 때만 사용가능하기 때문에 하드웨어에 관계된 몇몇 permission에 대해서는 필요로하는 feature가 포함된다. 

이러한 관계에 대해서 아래에 정리되어 있으니 permission을 추가할 때, feature도 같이 신경써서 정의해야 한다.

 

 

Category

This Permission...

Implies This Feature Requirement

Bluetooth

BLUETOOTH

android.hardware.bluetooth

(See Special handling for Bluetooth feature for details.)

BLUETOOTH_ADMIN

android.hardware.bluetooth

Camera

CAMERA

android.hardware.camera and 
android.hardware.camera.autofocus

Location

ACCESS_MOCK_LOCATION

android.hardware.location

ACCESS_LOCATION_EXTRA_COMMANDS

android.hardware.location

INSTALL_LOCATION_PROVIDER

android.hardware.location

ACCESS_COARSE_LOCATION

android.hardware.location.network and 
android.hardware.location

ACCESS_FINE_LOCATION

android.hardware.location.gps and 
android.hardware.location

Microphone

RECORD_AUDIO

android.hardware.microphone

Telephony

CALL_PHONE

android.hardware.telephony

CALL_PRIVILEGED

android.hardware.telephony

MODIFY_PHONE_STATE

android.hardware.telephony

PROCESS_OUTGOING_CALLS

android.hardware.telephony

READ_SMS

android.hardware.telephony

RECEIVE_SMS

android.hardware.telephony

RECEIVE_MMS

android.hardware.telephony

RECEIVE_WAP_PUSH

android.hardware.telephony

SEND_SMS

android.hardware.telephony

WRITE_APN_SETTINGS

android.hardware.telephony

WRITE_SMS

android.hardware.telephony

Wifi

ACCESS_WIFI_STATE

android.hardware.wifi

CHANGE_WIFI_STATE

android.hardware.wifi

CHANGE_WIFI_MULTICAST_STATE

android.hardware.wifi

 참고 : http://developer.android.com/guide/topics/manifest/uses-feature-element.html#permissions-features



:

안드로이드 json 속도 비교

android 2013. 2. 1. 19:21

336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.

원본 : http://www.martinadamek.com/2011/02/04/json-parsers-performance-on-android-with-warmup-and-multiple-iterations/

 

간략한 내용 요약

 

속도는 jackson이 가장 빠른것으로..  ( 사용된 버전이 jackson 1.7.x 이었다. 참고로 jackson 2.x 버전부터는 속도 향이 더 되었다고 한다. )

자세한 test 소스는 아래를 참고하면 된다.

소스 : https://github.com/martinadamek/json-android-compare

 

 [결론]

1)Android Built-in JSON 파서는 별로 빠르지 않지만, 개발 편이성은 괜찮다.
2)JSON.simple이 패키지 구조만 다르고 거의 클래스명이 동일하기 때문에 쉽게 대체 가능한 옵션이다.
3)Jackson이 가장 속도가 빠르지만, 이벤트기반의 파싱 작업은 Built-in 파서에 비해서 개발 편이성이 차이가 난다.
4)Gson은 이벤트기반 파싱은 Jackson과 유사하다.

 

This is Android demo project used to compare performance of various JSON parser implementations in my blog post.

Right now it includes:
- Android built-in: http://developer.android.com/reference/org/json/package-summary.html
- JSON.simple: http://code.google.com/p/json-simple/
- Jackson: http://jackson.codehaus.org/
- Gson: http://code.google.com/p/google-gson/

Results on my Nexus One and more information is available in my blog post at http://martinadamek.com


:

[linux] vi편집기에 붙일때 앞에 tab이 붙는경우

개발 2012. 9. 14. 10:59

336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.

가끔 vi에서 설정 파일을 열어서 웹에서 복사한 내용을 붙여넣기 할 때,
앞에 탭이 마음대로 추가되는 경우가 있다. 

이 경우 붙여넣기 전에 다음의 작업을 수행해 주면 된다고 한다. 

:set paste

이렇게 해놓고 편집모드에서 붙여 넣으면 깔끔하게 내용이 추가된다.
원상 복구하려면  

:set nopaste

명령을 실행하면 된다. 


이런 작업을 하고 싶지 않으면, 명령모드에서 

gg=G

라고 치면 자동으로 indent정렬을 해준다. 이클립스에서 Ctrl+Shift+F 누른거 처럼...



:

경기도 대표 도서관

카테고리 없음 2012. 7. 3. 13:40

336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.

 

 

경기도 대표 도서관

http://www.golibrary.go.kr/ 

 

무료 전자책이 꽤 있음.



:

[부동산] 대지권미등기

정치&경제 2012. 4. 18. 13:45

336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.

등기는 토지, 또는 건물에 대해서 주인임을 등기부에 등록하는 것이다.

그럼 대지권미등기라는 것은 대지권(토지,땅)에 대해서 등기가 안되어 있다는 뜻이다.

즉, 아파트라면, 건물이 있는 땅의 지분에 대한 권리가 안되어 있는 것으로, 향후 재산권 행사에서 여러가지 불이익이 있을수 있다. ( 예를 들면, 은행에서 대출시 대지권미등기인경우 대출제한 또는 대출금액 제한등등 )

감정평가에 "미등기감정가격포함" 이라고 되어 있는 경우 입찰전에 체크해야 할 것들이다.

1. 대지권이 있으나 지적 정리가 제대로 되어 있지 않은 상태라서 미등기로 남아 있는 경우

 => 신도시의 경우 빈번하게 발생함. 

 => 해당 물건을 분양한 업체에 연략하여, 대지권이 포함되어 있는지 확인 ( 분약계약서등 참고 )

2. 드문경우로 대지권이 없는 경우도 있음.

 => 토지를 제대로 매입하지 않은 경우 ( 정말 드문 경우 )

 => 대지에 지상권이 설정된 경우

 

 

 

* 대지권 등기시 필요한 서류   ( 비용도 제법 들어간다. )

 - 매각허가 결정문

- 대금완납 증명원

- 등기 권리증

- 감정평가서



:

구글에서 제시한 C++ 코딩 가이드

개발 2012. 4. 15. 14:14

336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.

 

구굴에서 제시한 C++ 코딩 가이드

한글버전 :

http://aronze.com/wiki/index.php?title=Google_C%2B%2B_Style_Guide

영문 원본 :

http://google-styleguide.googlecode.com/svn/trunk/cppguide.xml

 

사내에 C++ 코딩 가이드가 없다면, 이것을 그대로 사용해도 될듯..

 

더 많은 정보를 원한다면 여길르 방문..

http://code.google.com/p/google-styleguide/

 



:

Google Code Jam Korea 2012 - 올해부터는 한글로

개발 2012. 2. 16. 16:22

336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.

구글 코드 잼이 2003년 부터 시작되었는데, 항상 영어로 문제가 나와서 참여하기를 망설였던..
2012년에는 한국 거주자면서, 한국어를 사용하는 참자가를 대상으로  대회가 열린다고합니다.

영어 울렁증 땜에 망설였던분들 얼렁 참가신청 하세요.

문제는 ACM이나 TopCoder 같은 알고리즘 유형의 문제들이다.
여기서 1등하면 구글코리아에 들어가나? ㅋㅋ



일정

날짜 시간 (한국표준시)* 일정
2월 15일 (수요일) 14:00 KST 등록 시작
2월 25일 (토요일) 14:00 KST 예선 라운드 시작 (온라인, 6시간)
2월 25일 (토요일) 20:00 KST 등록 및 예선 라운드 종료
대회 종료 전까지 등록을 하셔야 합니다.
3월 3일 (토요일) 14:00 KST 본선 라운드 시작 (온라인, 3시간)
4월 7일 (토요일) 미정 결선 라운드 시작 (4시간)


자사한 내용은 아래 참고

http://code.google.com/codejam/korea




:

[DB] DB Sharding은 무엇이고, 적용 전략은? ( 적용시 고려사항 )

개발 2012. 2. 15. 17:44

336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.

작성자 : hanburn

작성일 : 2012-01-17

 

1. 샤딩 ( sharding ) 이란 무엇인가?

2. 샤딩 및 전략

 2.1 vertical partitioning

 2.2 Range Based Partitioning

 2.3 Key or Hash Based Partitioning

 2.4 Directory Based Partitioning

3. 샤딩 적용시 고려사항

  

 

 

1. 샤딩 ( sharding ) 이란 무엇인가?

관계형 데이터베이스에서 대량의 데이터를 처리하기 위해서 데이터를 파티셔닝하는 기술이다. 파티셔닝은 DBMS에서 지원하기도 하는데, 일부 DBMS ( MySQL 5.1 미만에서는 지원 안함) 에서는 지원안하기도 한다. 샤딩은 DBMS 레벨에서 데이터를 나누는 것이 아니고 데이터베이스 자체를 분할하는 방식이다. 따라서 어플리레이션 레벨에서 구현해야 한다.

간단하게 예를 들면, 전 세계의 고객 데이터를 저장하는 대형 데이터베이스를 분산한다고 할때, 미국 고객의 경우는 샤드A, 아시아 고객의 경우는 샤드B, 유럽 고객의 경우는 샤드C로 분할해서 저장할수 있다.  

 

 

2. 샤딩 및 전략

샤딩에서 데이터베이스를 분할하는 방법에 대해서 살펴본다. 각 방법마다 장단점과 주의할 점이 있으므로 서비스에 맞게 적절하게 선택하거나 조합하여 사용 한다.

 

2.1 Vertical Partitioning

    테이블 별로 서버를 분할하는 방식이다. 예를들면 사용자 프로필정보용 서버, 사용자 친구리스트용 서버, 사용자가 만든 컨텐츠( 사진같은것 ) 용 서버등으로 분할하는 방식이다.

    장점 : 구현이 간단하고, 전체 시스템에 큰변화가 필요 없다.

    단점 : 각 서버의 데이터가 점점 거대해지면 추가 샤딩이 필요해진다. ( 1천만명이 1000장의 사진을 생성한다면 컨텐츠 서버에 또 샤딩이 필요할 것이다. )

 

  2.2 Range Based Partitioning

    하나의 feature(또는 table)가 점점 거대해지는 경우 서버를 분리하는 방식이다. 예를들면 사용자가 많은경우 사용자의 지역정보를 이용해서 user 별로 서버를 분리하거나, 일정데이터라면 년도별로 분리, 거래정보라면 우편번호를 이용하는 방식이다.

    주의점 : 데이터를 분할하는 방법이 예측가능해야 한다.

 

  2.3 Key or Hash Based Partitioning

    이방식은 웹2.0 사이트에서 기본 파티셔닝 방식으로 알려져있다. 엔티티를 해쉬함수에 넣어서 나오는 값을 이용해서 서버를 정하는 방식이다. 사용자ID가 숫자일 경우 나머지연산( module operation)을 이용하는 방법이다.

    주의점 : 해쉬결과 데이터가 균등하게 분포되도록 해쉬함수를 정하는게 중요하다.

    단점 : 서버의 수를 늘리기 위해서 해쉬함수를 변경하는 작업이 무지무지 비싼 작업이다.

 

  2.4 Directory Based Partitioning

    파티셔닝 메커니즘을 제공하는 추상화된 서비스를 만드는 것이다.(데이터베이스 액세스 코드와는 떨어져 있는)  샤드키를 look-up 할수 있으면 되므로, 구현은 DB cach를 적절히 조합해서 만들수 있다.

 

 

3. 샤딩 적용시 문제점들 및 고려사항

 3.1 데이터 재분배 ( Rebalancing data )

  Sharding DB의 물리적인 용량한계나 성능한계에 다르면 shard의 수를 늘리는 scale-up 작업이 필요하다. 서비스 정지 없이 scale-up 할수 있도록 설계방향을 잡아야 한다.

 

 3.2 샤딩으로부터 데이터 조인하기 ( Joining data from multiple shards )

   Sharding-db 간에 조인이 불가능 하기에 처음부터 역정규화를 어느정도 감수해야 한다. Shard의 목정이 대용량 데이터 처리이므로, 대용량처리시 수행성능을 위해서 데이터 중복은 trade-off 관계 임을 이미 알고 있다.

 

 3.3 샤드에 데이터를 파티션하는 방법 ( How do you partition your data in shards? )

  shard 해쉬함수를 잘 설계해야 한다.

 

 3.4 샤드간의 트랜잭션 문제

  Global Transaction을 사용하면 shard DB간의 트랜잭션도 가능하다. 그 유명한 XA인데, 성능저하의 문제가 있다.

 

 3.5 Global Unique Key

  DBMS 에서 제공하는 auto-increament를 사용하면 key가 중복될수 있기 때문에, application 레벨에서 Key 생성을 담당해야 한다.

 

 3.6 데이터는 작게

  Table의 단위를 가능한 작게 만들어야 한다.

 

 

참고

http://www.ibm.com/developerworks/kr/library/j-javadev2-11/

http://highscalability.com/unorthodox-approach-database-design-coming-shard

http://www.25hoursaday.com/weblog/2009/01/16/BuildingScalableDatabasesProsAndConsOfVariousDatabaseShardingSchemes.aspx



:

[K팝스타] 이미쉘의 성대결절과 프로페셔널

사회&문화 2012. 2. 14. 14:13

336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.

K팝스타 오디션중 백아현, 이미쉘, 나머지하나는 누군지 기억이..

3명이서 배틀을 벌이고 심사평이 나옵니다.

 

박진영 :

"*프로의 자질 중 하나는 철저한 자기관리이다. 목 상태가 안좋으면 무조건 말을 하지 말았어야 했다. 심지어는 인사할때도 말을 아껴야

했다. 자기관리에 실패했다면 프로로서 실격이다.*"

 

양현석 : 박진영의 의견에 공감한다.

보아 : “실망을 많이 했다면서녹음실에서 봤을 때가 일주일 전이다. 그 때도 목이 안 좋았다. 근데 이미쉘이 녹음실에서 떠드는 모습을 보고 걱정이 됐다자기 관리도 실력이다

 

여기서 대부분의 사람들은 심사평에 공감을 하고, 프로페셔널이란 이런거다 라고 생각하기도 한다. ( http://groups.google.com/group/ksug/browse_thread/thread/5c061ff6863df5bd )

 

다른 방향에서 생각해보면,

이미쉘을 캐스팅해서 트레이닝을 담당한 SM과 보아는 무엇을 한 것일까?

1주일 전에 이미 목상태가 않좋은것을 알았으면, 미리 주의를 주고 보호장치를 했어야 하는게 아닌가라는 생각이 든다. 가수로써 미쉘이 프로페셔널 부족이었다면, 소속사와 트레이너로써 SM과 보아도 마찬가지로 프로페셔널 부족인 것이다.

혹시, 내막은 보아가 어떤 주의와 방향을 제시했는데 이미쉘양이 정말로 목 관리를 안해서 방송에서 직접적으로 깐걸지도..






:

세력의 기법 - 단주매매

정치&경제 2012. 2. 10. 01:00

336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.


증권 거래소에서는 매매 단위가 10주 단위이다. 그런데 5만원 이상인 주식에 한해서 1주 단위로 매매가 가능하다.  (참고로 코스닥은 1주 단위로 매매가 가능하다. )
단주매매란 바로 1주 단위로 매매를 하는 것을 말한다.

이 단주매매를 이용해서 세력들이 시세를 올린다고 해서 최근 단주매매 금지를 검토한다고 한다.
http://news.mk.co.kr/newsRead.php?year=2012&no=1455

그럼 세력들은 단주매매를 이용해서 어떻게 시세를 조정하는 것일까? 궁금해서 조사해 봤다.

일던 전제조건은, 사회적인 이슈가 있는 주식 또는 테마주를 위주로 이용한다고 한다.
요즘같으면 안철수 연구소나 문재인 테마주인 바른손 같은 경우임.


세력은 1~3주 단위의 작은 매수 주문을 초단위로 주문한다. ( 호가는 시장가보다 높게 )
동시에 매도 주문도 같이한다. 
그러면 해당 주식이 1초에 2~3건씩 체결되면서 HTS 에서  깜빡깜빡거리면,
이걸보고 개미들이 모여들어서 같이 매수를 해서 상한가에 도달한다고한다.

그러고 보니 이런 비슷한 현상을 몇번 본것 같네..
세력의 기법을들 좀금더 찾아보고 싶어 지네요~



: