Skip to main content

[Android] Think about Android

개인적인 생각으로 Google 은 Android 는 Java 개발자들에게, Programming 을 시작하는 사람들에게 큰 영향을 주고 있다고 생각 한다.

최근에 Java 를 공부한 사람들이라면 아마 대부분 Android 개발을 위해, 또는 Java  를 이용한 Program 개발능력을 향상시키기 위해서라도 Android 에 관심을 갖고 있을 것이다.

나 역시, Java 를 공부하면서 어떻게 하면 좀 더 실질적으로 Java 를 사용해 볼 수 있을까? 라는 생각으로 고민하던 중, Android 를 접하고 공부하게 되었고, 지금은 Android Application 개발을 주로 하게 되었다. (물론 아직 갈길이 멀다.)

Android 를 처음 공부했던 때가 2010년. 그후로 Android 는 정말 눈부신 발전을 해 왔고, 현재도 계속 발전하고 있다. 정말 잠시라도 한눈팔면 발전속도를 따라잡기 힘들 정도다.

처음 Application 을 만들때는 정말 수십개의 Activity 를 만들면서 말되 안되는 코드로  난장판을 친 기억이 난다. (최근에는 Fragment 로 똑같은 짓을 하고 있다고 생각하지만..)
코드 재활용이라고는 정말 생각조차 안했고, 어떻게든 동작하는데만 중점을 두고 만들기만 했었다.

그러면서 조금씩 개발에 여유가 생길때쯤, 어떻게 하면 좀더 편하게 개발 할 수 있을까? 하는 잡생각이 생기기 시작했다.

그러면서 Maven, Ant, Jenkins 등 Build Tool 과 CI 에 관심을 갖기 시작했다.
하지만 현실적으로 회사 프로젝트에 적용하기는 쉽지 않았다. 회사에서 이런 Build Tool 을 사용하지 않을 뿐만 아니라, 나 자신도 잘 모르는데 팀 프로젝트에 적용할 수 없었기 때문이다.
그리곤 점차 기억속에서 멀어지게 되었고, 공부한것도 완전 Reboot 되 버렸다.

최근 Google I/O 13 에서 Android Studio 가 공개되면서 다시한번 Build Tool 에 관심을 갖게 되었다.

그런데 이게 왠일.. Maven 이 아니네.. Gradle 이라니... 어디서 듣도보도 못한.. 이라고 생각했는데.. 검색해 보니 이건 또 신세계 인가 싶다. 특히 우리나라에서는 아직 유명한것 같지도 않고, Gradle 을 사용하기 위해서는 Groovy 가 선행 되어야 한다는 이야기를 보게 되니 선뜻 손 대기가 쉽지 않아 보인다.

그렇지만, 이렇게 계속 뒤쳐질 수는 없으니.. 이제부터 한번 시작 해 보려고 한다.

그동안 Android 를 하면서 겪은 삽질, Gradle ,Groovy 그리고 Android Studio 를 경험한 점을 블로깅 해 볼 생각이다.

사실 이런 블로깅을 해 본 경험이 없기 때문에 어떻게 잘 될지 모르겠다.
하지만 그동안 내가 짧게나마 겪었던 내용들을 정리함으로써 그동안 내가 해 왔던 일을 정리하는 시간을 갖을 수 있을 것 같고, 새로운 기술에 적응하면서 한층 더 발전 할 수 있으며, 나 같이 초보 개발자 분들에게 조금이나마 도움이 될 수 있었으면 좋겠다.

부디.. 끝까지 잘 해 낼 수 있기를 ㅎ 

Comments

Popular posts from this blog

[Book] 다양한 예제로 학습하는 데이터구조와 알고리즘 for Java

인사이트 에서 Java 를 이용한 자료구조 & 알고리즘 도서가 나온다는 소식을 듣고 기다리고 있었는데, 때마침 JCO 때 인사이트 부스에서 판매하고 있었다. 원래 사려고도 했고, 책도 몇권안남아서 보자마자 바로 구입! fig1. 책 이미지 기다렸던 책이기도 했고, 이참에 자료구조를 재대로 공부해보자 라는 다짐으로 읽기 시작했다. 찾아보니 원서는 Amazon 에서도 별점이 꽤 높아보였다. 아직 초반이지만, 읽으면서 아쉬운 부분을 먼저 좀 써 보려고 한다. 아무래도 많이 기대했던지라, 좋은점 보다는 아쉬운 점이 많이 눈에 보이게 된다. 1. Java 스럽지 않은 코드 인사이트에서 출판한 이 책은 C 버전도 있다. C 버전을 좀 봐야 알겠지만, 아마도 이 책은 C 기반으로 작성 된 후, Java 로 포팅 된 느낌을 강하게 받는다. 역자 서문에서도 저자가 C 기반의 코드로 작성해서 Java 스럽지 못한 부분이 있다고 말하고 있다. 그래도 네이밍 이라던지, 기본적인 코드 스타일이 전혀 Java 스럽지 못하다 보니 보는내내 좀 불편한 기분이 든다. (난 각 언어별로 스타일을 좀 중요시 보는 편이라 아무래도 눈에 많이 거슬리는 편이다.) 또한, 자료구조를 설명하는 과정에서 포인터 라는 단어가 많이 나타난다. 아무래도 C 로 설명한 부분을 Java 로 옮기다 보니 단어 선택이나, 표현방법에서 Java 로 표현하기 애매한 부분이 있는것으로 보인다. C 랑 Java 를 모두 공부했다면 그러려니 할 수 있는 부분이지만, Java 만 조금 알고 있는 상태에서 자료구조를 공부하기 위해 이 책을 구입했다면 아마 설명 부분에서 난해하게 느껴질 수 도 있다. 2. 예제 코드의 오류. 예제코드를 타이핑 하다보면, 스펠링이 틀리거나, 앞에서 소개한 메소드를 사용하는데 메소드명이 서로 다르다거나 하는 문제로 코드가 정상적으로 동작하지 않는 문제가 보인다. 이런 문제는 번역과정에서 조금 아쉬운 문제로 보인다. Amazo...

[Android Application Testing Guide] Chapter3 jar file

Android Application Testing Guide(에이콘) 3장 Sample 을 실행시키기 위해서는 libdummy-0.0.1.jar 가 필요한데, sample file 에는 프로젝트만 존재한다. 결국 jar 를 만들어야 되는데.. ant 빌드다. 어허허... jar 파일이 없으면 예제 진행이 어려우므로. ant build 한 jar 를 첨부. libdummy-0.0.1.jar download

[Python] Core Python Application Programming 예제 3-1 수정

코어 파이썬 애플리케이션 프로그래밍 146~7p 의 예제 3-1 코드가 정상적으로 동작하지 않는 이유는 아래와 같습니다. 문제가 되는 구간은 40~41 라인, 44 라인인데 라인 비교를 위해 38 라인부터 보면, 책의 경우, except ftplib.error_perm: print 'ERROR: cannot read file "%s"' %FILE if os.path.exists(FILE): os.unlink(FILE) else: print '*** Download "%s" to CWD'%FILE f.quit() 그러나 실제로는 아래와 같이 되어야 정상적으로 동작 합니다. except ftplib.error_perm: print 'ERROR: cannot read file "%s"' %FILE if os.path.exists(FILE): os.unlink(FILE) else: print '*** Download "%s" to CWD'%FILE f.quit() 이유인즉, 40~41 라인 코드가 다운로드 완료 if 문으로 동작해서 다운로드 완료 된 파일을 다시 삭제하기 때문입니다. 따라서 전체 동작하는 코드는 아래와 같습니다. #!/usr/bin/env python import ftplib import os import socket HOST = 'ftp.mozilla.org' DIRN = 'pub/mozilla.org/webtools' FILE = 'bugzilla-LATEST.tar.gz' def main(): try: f = ftplib.FTP(HOST) except (socket.er...