'허니몬의 IT 이야기'에 해당되는 글 397건

허니몬의 IT 이야기/리눅스 이야기, 우분투
이전에도 많은 글을 읽으면서 느낀 부분이지만, 우분투는 ATI Radeon 그래픽 칩셋과의 궁합이 좋지 않다.
이전 버전에 비해서 많이 나아졌다고는 하지만, 여전히 지금도 그런 기미가 보인다.

현재, 내가 사용하고 있는 노트북에 내장된 칩셋은 ATI HD 3410 이다. AMD 에서 제공을 하는 우분투용
하드웨어 드라이버를 설치해서 사용하고 있다.
기본적인 화면 동작들이나 우분투에서 사용하는 데 불편함은 없다. 우분투에서 제공하는 화면효과(Compiz) 데몬과의 궁함은 그리 좋지 못한 느낌이다. 화면효과를 '많이'를 선택하고 사용하면서부터 이런저런 문제가 생겨나기 시작한다. 브라우저를 전체화면으로 바꾸는 것이나 다른 데스크탑 화면으로 이동을 할 때 컴퓨터의 버벅거림을 눈으로 느낄 수 있을 만큼 오동작을 일으켰다.

최근에 경험한 것은, 절전모드나 최대절전모드, 혹은 화면보호기 실행 상태에 들어갔다가 화면으로 돌아왔을 때, 상하에 있는 패널들이 멈춰버리고 정상적으로 동작을 하지 않는 증상을 확인할 수 있었다. 인터넷을 통해서 확인과정을 거치다보니, 우분투에서 화면으로 복귀하여 패널이 멈치는 경우는 화면효과를 '많이'로 선택했을 때 자주 그런다는 것과 함께 ATI 계열 VGA 를 사용할 때 나타난다는 것을 알 수 있었다.

노트북을 구매하면서(우분투 리눅스 데스크탑 버전 사용을 고려하고서 구매) ATI VGA 칩셋이 맘에 걸렸는데, 결국에는 이런 형태로 결과를 내보이고 있으니 조금은 씁쓸한 느낌을 지울 수가 없다.

화면효과를 '많이'에서 중간 형태로 변경을 하고 몇번의 테스트를 거쳤는데, '쳇'하고 혀를 차게 할 만큼 정상적으로 잘 작동하고 있다.



시스템 -> 기본설정 -> 모양새 -> [화면효과]
에서 설정을 '보통'으로 하고 사용하면 될 것 같다. ㅡ_-) 그래도 문제를 일으킨다면, 고성능의 컴퓨터지만... 화면 효과에 있어서는 자원을 허비하지 않도록 '없음'으로 선택을 해야겠다. 쳇...  nVidia 칩셋으로 바꿀 수도 없고... 많이 아쉽구만!!



결론 : 

우분투 9.10 혹은 다른 버전에서 화면효과나 화면이 멈추는 증상, 끊김 증상이 발생할 경우 : 
1. 자신의 컴퓨터 VGA  카드가 nVidia 인지 ATI 인지 확인을 합니다.
2. ATI 그래픽 칩셋이면 화면효과를 '보통'으로 맞추어 사용하시면 됩니다.
  2.1. nVidia 칩셋은 비교적 궁합이 잘 맞는 듯함.
3. 그래도 문제가 생기면 화면효과 '없음'을 활용하시기 바랍니다.
P.S.
  화면효과 '없음'을 선택하니까 큰 문제없이 정상적으로 작동을 하고 있습니다. OTL...
  ATI와 우분투의 궁합은 잘 맞지 않는다는 것을 새삼 깨닫게 만들어주는군요.

허니몬의 IT 이야기

언제부터였을까? 내가 아래아 한글 워드프로세서를 사용하지 않기 시작한 것은...

가장 최근에 쓴 것이, 작년 11월 중순 경이었던 것 같다. 서울시 산하 관공서 중 한 곳에서 네트워크 및 전산 유지보수 일을 하고 있을 때는 한글을 많이 사용하였다. 그곳에서 사용하고 있는 그룹웨어가 한글을 바탕으로 하고 있었고, 기본적으로 국내 관공서에서는 아래아 한글을 많이 사용을 하고 있다. 그런 탓에 그곳의 유지보수 일을 하던 나는 매일매일 한글을 접하게 되고 수시로 설치하고 삭제하고 업데이트하는 작업을 하면서 아래아 한글에 친숙해져 있었다.

내가 아래아 한글을 처음 접하게 된 것은 중학교 시절로 기억된다. 사촌에게서 얻게된 286 AT 컴퓨터 하드디시크 한편에 깔려 있던 한글 1.5 버전을 나는 기억한다. 흑백 허큘레스 VGA를 사용하고 있던 내게, 흑백이 어울어져 떠올라 있는 한글 1.5의 모습은 무척이나 신선했다. 그 이후 전화선을 이용한 PC 통신에 빠져들었다. PC 통신을 하면서 게시판과 자료실에는 HWP 확장자를 가지고 있는 많은 문서파일들이 존재했다. 그래서 더욱 친숙하게 느꼈는지도 모르겠다.


그 때는 CAP 형식의 아스키 파일도 한창 떠돌아다녔던 것으로 기억한다. PC 통신에서 많은 작가들이 소설을 연재했고, 이 소설들을 근간으로 해서 책으로 출간되기 까지 했다. 이 당시에 크게 유행한 소설은 많은 이들이 기억하고 있는 ‘퇴마록’이었다. 매일 밤마다. 나우누리에 접속해서 올라오는 소설을 열심히 읽었다. 원래는 하이텔에 연재된 소설이었지만, 누군가가 나우누리로 퍼왔다. ^^;

그렇게 PC통신을 하면서 나는 한글에 익숙해져갔고, 중학교와 고등학교 생활을 하면서 컴퓨터는 내 생활 속에서 뺄래야 뺄 수 없는 작은 한 부분이 되었다. 컴퓨터를 다른 이들보다는 많이 만져본 이유만으로 선생님들의 한글문서 작업을 돕기도 하고, 학교 교지 편집부에 투입되기도 했다(말이 교지편집부였지, 나는 기자들이 선별해준 글들을 한글문서로 입력하는 작업을 하는 단순한 타이핑맨이었다. 그래도 교지 한켠에 한토막의 소감을 적을 수 있는 것만으로도 무척 감격스럽기도 했다).

아래아 한글 1.5

http://orumi.egloos.com/1676122


대학교에 들어와서는 한글로 리포트를 작성하고 제출하는 것이 너무나 당연하게 여겨졌다. 이 때 한메일을 많이 썼었다. 종종 교수님들 중 몇몇 분들은 자신의 학교메일주소로 리포트를 받는 경우가 있었다. 그 때 전제조건은, 아래아 한글(.HWP)로 작성해서 제출할 것. 나역시도 그게 당연하다고 생각을 했기 때문에 별 거부감없이 아래아 한글로 문서를 작성하여 교수님께 제출했다.

   군대에 가서도 한글 사용은 계속 되었다. 자칫 잘못했으면 행정병으로 빠질뻔 했다. 행정병이 땡보라고 말하며 나를 꼬드기던 선임 행정병은, 나의 튼튼한 허리를 유심히 지켜보던 포반 분대장들에 의해 나를 빼앗기고 말았다. 내 다음 후임이 행정병이 되었다. 행정병이 된 그녀석은 매일 밤 12시가 넘어서 까지 각종 문서 작업 및 행정처리를 하기 일쑤였다. 지금 보면 그리 어려운 일도 아니었는데, 그 때만 해도 잔손도 많이 가고 복잡하게만 보였다. 매일 12시가 넘어서 피곤한 언굴로 잠자리에 드는 후임을 보면서 박격포병으로 빠지게 된 것을 다행으로 생각했다. 그래도 종종 일손이 부족할 때면(물론 내가 분대장을 하면서 일직하사 임무를 수행할 때만) 도움을 주기 위해 열심히 한글을 입력하던 기억이 새록새록 떠오른다. 그 때는 군대 내에 인트라넷을 통해서 각 사단별로 사이트가 구축되어 있고, 그 사이트에 게시판에 어느 작가사병의 청춘로망버라이어티연애소설이 연재가 되고 있었다. 그 녀석도 기본은 행정병일 가능성이 높았다. 내가 군에 있을 당시에도 컴퓨터는 일반 사병들이 사용하기는 어려웠었으니까. 그들의 청춘로망버라이어티연애소설을 읽으며 즐거운 일직근무 시간을 보낸 듯 하다.

출처 : http://ask.nate.com/popup/print_qna.html?n=6015563


   군대에서 돌아와 복학을 해서는 한글을 매일 쓸 수 있었다. 학교에서 한글에 대한 학교 라이센스를 구매를 해서 교내 FTP 서버에서 제공을 하고 있었기 때문에 학교 학생이면 누구나 무료로 한글을 다운로드 받아서 설치하고 실행할 수 있었다. 지금은 대부분의 대학들이 이렇게 한글, 오피스, 운영체제와 포토샵 등을 제공하고 있는 것으로 알고 있다.

   학교를 졸업할 때 쯤에 시작한 나는 역시나 일과 관련하여 한글을 떼어낼 수가 없었다. 한글을 기반으로 하는 그룹웨어를 사용하는 관공서였다. 인터넷 익스플로러 위에서 ActiveX 형태로 설치되고 실행되는 특성 탓에 윈도우 보안 업데이트, 악성코드나 애드웨어 등의 영향을 받아 수시로 서울 전지역적으로 장애를 일으켰다. 그래서 그 장애를 원격으로도 처리하고 원격으로 안되면 직접 방문하여 처리했던 기억이 난다. 그 때는 수많은 컴퓨터들에서 한글을 지웠다가 설치하고 업데이트하는 반복작업들을 수도 없이 한 듯 하다.

   그러다가 다니던 회사를 그만두고 취업을 준비하면서부터 한글은 내 손에서 멀어지기 시자한 듯 하다. 관공서를 제외한 대부분의 기관들에서는 MS 오피스 계열을 더 많이 사용하고 있었다. 그리고 나는 오픈오피스를 사용하기 시작했다. 지금 이 글을 작성하고 있는 것도 오픈 오피스 위에서 실행되고 있다. 그리고 스프링노트라는 것을 알게 되었다.


   자바 전문가(Expert와 전문가의 차이는 뭐지?) 과정을 듣게 되면서 많은 리소스를 차지하는 한글 대신에, 검색을 하기 위해 띄울 수 밖에 없는 브라우저 안에서 실행되는 스프링노트에 대해서 알게 되었다. 스프링노트는 손쉽게 어느정도 형식을 가지고 있는 문서를 손쉽게 작성할 수가 있었다. 그리고 간단하게 실행시킬 수 있는 노트패드가 있었다. 대략적인 내용들을 노트패드에서 작성한 다음에 이를 스프링노트에 붙여넣기 하는 식으로 문서작업을 하면서 나는 한글과 영영 결별하게 된 것 같다. 그리고 주요한 이유 중에 하나는 한글에서 작성한 내용을 브라우저의 페이지에 옮겨 붙일 때, 다른 워드프로세서들과는 다른 형태로 저장이 되는 탓도 있었다. 교육장에서 유료 프로그램을 사용하지 못하게 한 것도 나름 선택압으로서 작용을 했는지도 모른다.


   하지만 나는 작년즘 부터인가 한글을 사용하지 않기 시작했고, 그것이 내게는 굉장히 자연스럽게 여겨진다는 것이다. 이는 아마도 내 자신의 문서작업 패턴이 바뀐 탓도 있을 것이다. 하지만, 아래아 한글 자체의 문제도 존재한다. 아래아 한글로 작성된 문서는 다른 워드프로세서에서 열어볼 수가 없다. 아래아 한글 문서와 관련된 라이브러리가 공개되어 있지 않은 탓에 다른 워드프로세서들에서 아래아 한글 열기를 제공할 수 없었던 것이다. 거기에서 표준 문서양식을 선정하는 과정에서도 도태되다시피한 탓에 아래아 한글은 지금의 지위로 추락할 수밖에 없었다.

   국내에서 해외의 쟁쟁한 프로그램들과 경쟁을 하고 있는 국산 프로그램이 두 개 있다. 하나는 안철수씨로 유명한 안철수 연구소와 V3, 다른 한 곳은 이찬진 씨가 있던 한글과 컴퓨터와 아래아 한글 시리즈가 있다. V3와 안랩은 여전히 선전을 하면서 점점 그 영역을 해외까지 뻗쳐나가며 발전하고 있는데 반해서 아래아 한글 시리즈는 점점 국내 시장 조차 MS 오피스 에 빼앗겨가고 있는 것이다. 이는 크게 개선되지 않는 아래아 한글의 사용자 환경과 점점 무거워지고 있는 프로그램의 문제가 가장 클 것이다.


   주류에서 밀려난다는 것은 도태된다라고 생각을 한다. 이미 아래아 한글은 어느순간 부터 주류에서 벗어났다. 그리고 점점 도태되고 있다는 느낌이 점점 강해지고 있다. 과거에 많은 이들이 외쳤던 아래아 한글 라이브러리의 공개, 적극적인 마케팅과 진화하는 사용자 사용환경을 추구하지 않는다면 아래아 한글은 어느사이엔가 나의 기억 속에서 사라져갈 것이다.


  점점 가벼워지는 프로그램을 원하는 사용자들의 희망과 반대로 나가고 있는 아래아 한글. 사용자와의 소통이 중요하다. 단순한 영역지키기 만으로는 그 자신의 발전에 한계에 다다를 것이며, 그들 자신도 그런 사실을 분명 깨닫고 있으리라 믿는다.

허니몬의 IT 이야기
제가 구독하고 있는 구글리더 RSS 공개합니다. ^^;
지난 번 리스트와 달라진 점이라면...

안드로이드라는 폴더를 두고 거기서 안드로이드와 관련된 블로그와 사이트의 글을 구독하고 있다는 정도랄까요?


좋은 블로그나 사이트 있으면 공유합시다. ^^
허니몬의 IT 이야기/리눅스 이야기, 우분투
Debian 설치파일을 설치하려고 할 떄, 의존성을 가지는 몇개의 파일들이 손상되어 정상적으로 설치가 진행되지 않는다.
이 때, 우분투가 스스로 해결할 수 있도록 하는 명령어는
# gksudo synaptic
# sudo apt-get install -f
를 터미널에서 실행시켜주어야 한다.

역시 리눅스 운영체제의 맛은 터미널에서 나오는 듯 하다. >ㅅ<)>
허니몬의 IT 이야기/프로그래머, '코드 엔지니어'

프로페셔널 안드로이드 애플리케이션 개발
카테고리 컴퓨터/IT
지은이 리토 마이어 (제이펍, 2009년)
상세보기

About Android

작성자 : 김지헌

 

안드로이드의 역사

출처 : http://ko.wikipedia.org/wiki/구글_안드로이드

-        20057, 구글이 안드로이드 사를 인수

-        200711, 다국적 모바일 제조사가 모여 오픈 핸드셋 얼라이언스(OHA) 컨소시엄 결성

-        200810, 안드로이드 오픈소스 선언, Apache 2.0 GNU 라이센스로 공개

-        2009년 하반기, 모토로라의 드로이드 발표 이후 아이폰와의 대결구도 형성

 



모바일 플랫폼 비교

출처 : http://blog.daum.net/effortless/7864583

 

1. 우리팀이 모바일 개발을 할 때, 아이폰으로 갈까?

구분

설명

장점

단일 사용자 인터페이스 - 해상도/UI가 거의 동일하다. 해상도가 달라서 생기는 UI개발상의 어려움이 거의 없다.

단일 H/W 서포트 - 하드웨어 제작사가 Apple 한 회사여서, 하드웨어 때문에 말썽 피우는 일이 없다.

개발 툴킷 통합성 - XCode/Objective-C/Apple/iTunes로 대변되는 툴킷 및 환경은 매우 훌륭하다.

마켓의 성숙성 - 활발하고 거래가 잦은 앱스토어가 있다. 대박의 가능성이 있다.

단점

개발자 진입 장벽 -  국내의 대부분의 개발자들은 Apple  XCode상의 개발을 해 본적이 없다. 완전히 새로 배워야 한다. 일단 개발하려면 비싼 맥북부터 구입해야 한다.

애플사의 정책 -  애플사는 앱스토어에 올릴 때, 엄격한 검사를 하는데, 애플의 검사를 통과하지 못하면 앱스토어에 올리지 못한다. 이것에 대해서 불평이 상당하다. 앱스토어에 올리는 비용도 제법(?) 든다.

치열한 경쟁 - 이미 레드오션이나 다름없다. 개인들이 취미로 개발할 것이 아니고, 팀 단위 이상의 수익성을 바란다면, 상당한 개발력을 투입하여야 (적어도3~4M/M) 하며, 그게 수익을 가져다 줄지는 아무도 보장해 주지 못한다. 이미 완성도가 높은 애플릿들로 넘친다.

국내시장의 낮은 점유율 - 국내에서는 잘나가도 50만대, 무지 크게 잡아도 100만대 수준에서 멈출 것이다. 전체 시장의 5% 미만이라는 뜻이다. 기업이 기대할 수준의 수익을 가져다 주기에는 너무 작은 시장이다. 개인이 취미로 하자면, 큰 문제가 없을 것이다.

대응방안

개발할 대상에 따라 다른 것 같다. - 낮은 국시장 점유율에서라도 수익을 낼 수 있을 것 같으면, 아이폰이 적당하다. 국내용이 아니고, 세계 시장에 팔 수 있는 것이라면, 아이폰은 환상적인 플랫폼이다.

좀 럭셔리하고(?), 여유있는(?) 개인 개발자라면, 아이폰 만큼 좋은 취미생활이 따로 없다. 단 돈은 바라지 않는 게 좋다. 아마 개발하면서 먹은 햄버거와 콜라 값 정도나 간신히 나올 것이다. 어쩌다 운 좋아서 2~30만원을 넘겨도 그걸로 끝이다. 세계에 팔 수 있는 능력이 있는지 한번 테스트해 보기 바란다. 아마 그럴 수 있다면, 굳이 아이폰에서 개발 않고, 자기 블로그만 으로도 비슷한 수익을 만들 수 있을 것이다.

솔루션 개발사라면, 5%도 안되는 아이폰 고객들의 등쌀에 못 이겨, 어떤 식으로든 자사 솔루션에 대한 아이폰 인터페이스를 만들어 내야 할 것이다. 안그러면 솔루션 자체가 안 팔릴 테니까 이때는 수익보다는 개발비용 감소에 초점을 맞춰야 하는데, 최소한으로 아이폰 인터페이스를 만들라치면, 모바일 웹(아이폰 크기에 맞는 웹인터페이스)를 고려해 볼 수 있다. 그것은 폰특화된 것이 아니니까, 기존의 웹개발자가 대응할 수 있다.

 

2. 우리팀이 모바일 개발을 할 때, 안드로이드폰으로 갈까?

구분

설명

장점

낮은 진입 장벽  가장 많은 개발인구인 자바 개발자들이 타겟이다. 이클립스에 포함되는 개발 툴킷을 가지면 쉽게 개발에 뛰어들 수 있다.

구글 후광  구글 후광으로 추종자들이 제법 많다. 폰 개발사라면, 너도나도 안드로이드 폰 한종 정도는 만들 것이고, 국내에서는 SKTelecom이 안드로이드를 밀고갈 것 같다. 전략적으로 안드로이드를 미는 데 편승할 수 있으면 좋을 것이다.

쉬운 마켓 접근성  안드로이드 마켓은 등록이 매우 자유롭다. 진입 장벽이 더욱 낮다.

낮은 경쟁  현재의 안드로이드 마켓의 앱들은 매우 품질이 낮고 조잡하다. 품질에 좀 손을 쓰면 돋보일 가능성이 높다.

단점

더 낮은 국내 시장점유율  아마도 아이폰의 5%보다 더 낮은 국내시장 점유율을 보일 것이다. 국내용 앱으로는 수익성 맞추는 것이 불가능하겠다.

좀더 다양한 폰 환경 -  애플의 단일한 개발환경에 비해서, 폰들이 더 다양하다. 해상도, 터치 방식 등에서 상당히 다양한 환경이므로, 사용자 Experience를 구현하는데 좀더 어려울 것이다.

낮은 폰 성숙도  안드로이드 2.0이 최근에야 나왔고, 그게 기본으로 탑재되어 있는 폰은 거의 없다.내년 3분기 이후에야 주변에서 겨우 안드로이드 2.0폰 구경해 볼 수 있을 것이다.

구글의 우울한 판매정책  구글은 애플과 달리 적극적으로 앱을 판매하려고 하지 않는다. 안드로이드 시장에서 구글은 직접적인 수익이 제로이므로 당연하다. 유명한 게임 개발사는, 안드로이드 마켓이 전혀 판매유도를 하지 않는다는 이유로 (수익성이 낮으므로), 애플에만 집중하겠다고 선언하기까지 했다.

대응방안

개발자 훈련에 좋은 플랫폼이다. 모바일 개발 경험이 없는 개발자들을 모바일로 이행시키는 제일 좋은 방법이다.

오픈/자유 소프트웨어 추종자라면, 안드로이드 폰을 취미로 해 보는 것도 나쁘지 않다. 하지만, 애써서 만든 앱을, 주변 사람들에게 나눠줘서 폼내지는 못할 것이다. 당최 안드로이드 폰을 가진 사람이 있어야 말이지 그래도 실망 말라, 온라인에 테키들이 제법 있으니

팀수준이라면, 만약 구글추종 사업자(SKT, HTC, 삼성전자)등과 어떤 제휴관계를 형성해서 기업형 비즈모델을 만들었다면, 이 폰에 집중해도 상관없겠다. 그런 수준의 보장이 없이는 아마도 안드로이드 폰으로 수익만들기 힘들 것이다.

솔루션 개발사라면, 5%미만의 안드로이드 폰 고객들은 대부분 얼리어댑터형 테키일 가능성 크므로,싸악 무시해도 되지 않을까 싶다.

구글 추종 사업자들과 관계를 만들 정도의 역량이 있는 회사라면, 안드로이드 폰에 사업적으로 접근하는 것도 가능하겠다.

전세계(주로 유럽)에 판매 가능한 앱을 만들 수 있다면, 안드로이드를 주 타겟으로 삼아도 되겠다.

 

  이외에도 최근 Ms에서 윈도우 모바일 6.5를 발표한 이후 이를 바탕으로 하는 일명 윈도폰이 쏟아져 나오고 있는 상황이지만, 미비한 몸부림일 뿐이다. 국내에서 굴지의 핸드폰 생산업체라 할 수 있는 삼성전자에서 Bada’라고 하는 독자적인 모바일 운영체제와 개발툴킷을 선보였지만, 이에 대한 반응은 아직 지켜보자는 정도의 수준이다.

 

안드로이드 SDK 구성

1.      안드로이 API
SDK의 핵심은 개발자에게 안드로이드 스택에 대한 접근을 제공하는 안드로이드 API 라이브러리다. 이는 구글이 네이티브 안드로이드 애플리케이션을 만들기 위해 사용한 것과 동일한 라이브러리다. , 안드로이드 애플리케이션 개발자는 네이티브 애플리케이션(기본적인 기능 : 다이얼, 알람, 메시지 송신 등)에 대한 직접적인 조작 및 구현이 가능하다는 이야기이다.

2.      개발도구
안드로이드 소스 코드를 실행 가능한 안드로이드 애플리케이션으로 바꾸기 위해, SDK는 애플리케이션을 컴파일하고 디버그하도록 해주는 몇 가지 개념도구를 포함하고 있다.

3.      안드로이드 에뮬레이터
안드로이드 에뮬레이터는 변경 가능한 여러 스킨을 가지고 있는 완전히 인터랙티브한 안드로이드 장치에서 어떻게 보여지고 또 동작하게 되는지를 살펴볼 수 있다. 모든 안드로이드 애플리케이션은 Dalvik 가상머신에서 실행된다. 이 에뮬레이터는 하드웨어 중립적이기 떄문에, 그 어떤 단일한 하드웨어 구현보다도 더 나은 독립적인 테스트 환경을 제공한다. 특정 하드웨어를 목표로 할 경우에는 그 하드웨어에 포팅(Porting)을 통해 테스트 해보아야 한다.

4.      풍부한 문서
http://developer.android.com/reference/packages.html
SDK는 각 패키지와 클래스에 무엇이 포함되어 있는지 그리고 이들의 사용법은 어떻게 되는지를 자세히 정확하게 설명하고 있는 광범위한 코드 수준의 레퍼런스 정보를 가지고 있다.

5.      샘플코드
참조 : http://developer.android.com/guide/index.html → Best Practices
안드로이드 SDK는 각 API 기능의 사용법을 알려주는 엄선된 샘플 애플리케이션을 포함하고 있다.

6.   온라인 지원

http://groups.google.com/android-developers

구글 그룹을 통해서 다양한 정보를 얻을 수 있다.

 

 

 

 

 

 

안드로이드 소프트웨어 스택의 이해

 

1.      리눅스 커널
하드웨어 드라이버, 프로세스와 메모리 관련, 보안, 네트워크, 전력관리 등의 핵심 서비스는 리눅스 2.6 커널이 담당한다. 또한 커널은 하드웨어와 스택의 나머지 부분 사이에 추상 계층을 제공한다.

2.      라이브러리
라이브러리는 커널 바로 위에서 동작한다. 안드로이드는 libcSSL 같은 다양한 C/C++ 코어 라이브러리뿐만 아니라 다음과 같은 겉들을 포함하고 있다.
 

1.      안드로이드 런타임
안드로이드 폰을 리눅스 구현이 아닌 안드로이드 폰이게끔 만드는 것은 다름아닌 안드로이드 런타임이다. 코어 라이브러리와 Dalvik 가상머신을 포함하고 있는 안드로이드 런타임은 라이브러리와 함께 애플리케이션을 움직이게 하는 엔진으로서, 애플리케이션 프레임워크의 기본을 형성한다.

2.      코어 라이브러리
안드로이드의 개발은 자바로 이루어지지만 Dalvik은 자바 VM 이 아니다. 코어 안드로이드 라이브러리는 코어 자바 라이브러리에서 사용 가능한 대부분의 기능뿐만 아니라 안드로이드 전용 라이브러리도 제공한다.

3.      Dalvik 가상머신
Dalvik은 장치가 복수의 인스턴스를 효율적을 실행(멀티태스킹, 아직까지 아이폰은 싱글태스킹)할 수 있도록 보장하기 위한 최적화된 레지스터 기반의 가상머신이다. Dalvik은 스레딩과 하위 수준의 메모리 관리를 위해 리눅스 커널에 의존한다.

3.   애플리케이션 프레임워크

애플리케이션 프레임워크는 안드로이드 애플리케이션을 만드는 데 사용되는 클래스를 제공하며, 하드웨어 접근 및 사용자 인터페이스와 애플리케이션 리소스 관리를 위한 일반적 추상을 제공한다.

4.   애플리케이션 계층

네이티브 애플리케이션과 서드파티 애플리케이션은 모두 동일한 API 라이브러리를 사용하는 애플리케이션 계층위에 구축된다. 애플리케이션 계층은 애플리케이션 프레임워크를 통해 사용가능한 클래스와 서비스를 사용함으로써 안드로이드 런타임 내에서 실행된다.

 

Dalvik 가상머신

안드로이드의 핵심 구성요소 가운데 하나가 바로 Dalvik 가상머신이다. 안드로이드는 자바 ME 같은 전통적인 자바 가상 머신을 사용하지 않고, 단일 장치상에서 복수의 인스턴스가 효율적으로 실행되게끔 보장하도록 설계된 자신만의 고유한 커스텀 VM 을 사용한다.

Dalvik VM 은 장치 하부에 놓인 리눅스 커널을 사용해 보안, 스레딩, 그리고 프로세스와 메모리 관리 등의 하위 수준 기능을 처리한다. 하부에 있는 리눅스 OS 상에서 직접 실행되는 C/C++ 애플리케이션을 작성하는 것도 가능하지만 그럴 필요는 없음.

안드로이드 애플리케이션 아키텍쳐

안드로이드 아키텍처는 컴포넌트 재사용 개념을 장려하며, 액티비티와 서비스 그리고 데이터를 발행해, 설정한 보안 제한에 의해 관리되는 접근을 통해 다른 애플리케이션과 공유할 수 있도록 해준다.

1.    액티비티 관리자
액티비티 스택 관리를 포함하여 액티비티의 수명 주기를 제어한다.

2.   
액티비티의 사용자 인터페이스를 구성하는 데 사용된다.

3.    알림 관리자
사용자에게 신호를 보내기 위해 일관되면서도 간섭적이지 않은 메커니즘을 제공한다.

4.    콘텐츠 공급자
애플리케이션이 다른 애플리케이션과 데이터를 공유할 수 있도록 해준다.

5.    리소스 관리자
문자열과 그래픽스 같은 외부화되는 비코드 리소스를 지원한다.

 

 

 

안드로이드 개발환경 구축하기

1.    이클립스 다운로드
Galileo              : http://www.eclipse.org/downloads/
Ganymade              : http://www.eclipse.org/ganymede/

2.   안드로이드 SDK 다운로드
http://developer.android.com/sdk/index.html

3.   이클립스 ADT 다운로드
eclipse – installing ADT
http://dl-ssl.google.com/android/eclipse

4.      AVM 생성하기
{Android-SDK}/tools/ 에서 생성하는 방법
android create avd --target 2 --name my_avd

              Eclipse – Android SDK and AVD Manager 에서 생성하기

5.   Hello, Android 띄우기

              이클립스 내에서 새로운 Android 프로젝트 생성 후 실행하면 뜸.

 

 

 

 

 

안드로이드 애플리케이션의 종류

1.    포그라운드 액티비티(Foreground Activity)
활성화 되어 화면에 있을 때만 쓸모 있는 애플리케이션으로서, 화면에 보이지 않을 때는 사실상 중단된다. 게임과 맵 매시업이 이 부류에 속하는 대표적인 예다.

2.    백그라운드 액티비티(Background Activity)
구성이 변경되고 있는 경우를 제외한 대부분의 시간을 화면에 보이지 않은 채로 실행되는 상호작용이 제한된 애플리케이션, 전화 차단 애플리케이션이나 SMS 자동응답기가 이 부류에 속한다.

3.    인터미턴트 액티비티(Intermittent Activity)
드문드문 상호작용이 있긴 하지만 대부분의 작업을 백그라운드에서 수행한다. 이런 류의 애플리케이션을 실행하면 보통 소리소문 없이 동작하다가 적절한 때에 사용자에게 통지한다. 미디어 플레이어가 대표적인 예다.

 

하드웨어 설계시 고려사항

-        느린 처리 속도 : 효율적일 것

-        제한된 RAM : 제한된 저장 공간을 예측할 것

-       제한된 영구 저장공간 : “”

-        저해상도의 작은 화면 : 작은 화면을 위해 디자인할 것
참조 : http://uxfactory.com/787

-       비싼 데이터 전송 비용 : 국내의 모바일 웹 데이터 요금은 무척 비싸다.

-        다소 신뢰성이 떨어지는 데이터 연결 : 느린 속도와 긴 지연 시간을 예측할 것

-       제한된 배터리 수명 : 데이터 송수신, 사용시간에 따라서 배터리 수명이 달라진다.

 

사용자 환경 고려하기

-       상황에 따라 효율적으로 동작해야 한다.

-       백그라운드에서 포그라운드로 매끄럽게 전환되어야 한다.

-       품위 있어야 한다.

-       일관된 사용자 인터페이스를 보여줘야 한다.

-       반응성이 좋아야 한다.

 

빠르고 효율적일 것

반응성이 좋을 것

안전한 애플리케이션 개발하기

 


1 ··· 41 42 43 44 45 46 47 ··· 80
블로그 이미지

Email : ihoneymon@gmail.com 안녕하세요, 꿀괴물 입니다. ^^ 멋진 비행을 준비 하는 블로그 입니다. 만능형 인간이 되어 많은 이들에게 인정받고, 즐겁고 행복하게 살기를 간절히 원합니다!! 달콤살벌한 꿀괴물의 좌충우돌 파란만장한 여정을 지켜봐주세요!! ^^

허니몬