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

[Android] Android Studio static / member variable prefix 설정 방법

Java 에서 static 변수는 는 s~로,  맴버 변수는 m~ 으로 시작하는 경우가 대부분이다. Android Studio 에서 변수를 선언 후 getter/setter 를 자동 생성하면 [(cmd + n) -> (Getter and Setter) 선택] 아래와 같이 s 와 m 이 붙어 나오게 된다. public class SampleClass { private static int sStaticVariable = 1; private int mMemberVariable = 1; public static int getsStaticVariable() { return sStaticVariable; } public static void setsStaticVariable(int sStaticVariable) { SampleClass.sStaticVariable = sStaticVariable; } public int getmMemberVariable() { return mMemberVariable; } public void setmMemberVariable(int mMemberVariable) { this.mMemberVariable = mMemberVariable; } } 하나하나 m, s 를 지우는 것 보다 setting 에서 변수 prefix 를 미리 설정해 두면  이러한 불편을 해결할 수 있다. Mac 기준으로 Android Studio -> Preferences -> Code Style -> Java 에서 Code Generation 을 선택 하면 아래와 같은 화면을 볼 수 있다. 위와같이  Field : Name Prefix 란에 "m", Static Field : Name Prefix 란에 "s" 를 입력하고 OK 버튼을 누르면 설...

[GDG Seoul] OSS/Github 입문 CodeLab 후기

작년 이맘때 쯤, GDG Android Korea 에서 CodeLab 을 진행 했었는데, 올해는 GDG Seoul 에서 진행한 "OSS/Gitub 입문 CodeLab" 이란 타이틀로 CodeLab 을 진행하여 참가하게 되었다. git 이나 Github 를 처음 사용하는건 아니였지만, 거의 SVN 처럼 사용 해 온지라, "이참에 재대로 한번 배워보자!" 하는 맘이 컸고, 다른 분들은 어떻게 Github 를 사용하시는지도 궁금했다. CodeLab 은 크게 - OSS 에 대한 설명 및 Newbi 를 위한 Tutorial - Github 및 git 에 대한 Tutorial - CodeLab 순으로 진행 되었다. (딱히 순서에 이름이 없는것 같아서 임의로 붙였다.) 1. OSS 에 대한 설명 및 Newbi 를 위한 Tutorial (뉴비X 님) ( 슬라이드 링크 ) OSS (Open Source Software) 에 대한 간략한 소개와 Linux Kernel 를 예로 Contribute 하는 방법에 대한 이야기를 들을 수 있었다. Android 의 경우만 해도 여러 open source library 의 도움으로 좀더 편하고 쉽게 App 개발을 진행 할 수 가 있는데, 사용하면서 개선한 사항에 대해서 내가 코드에 기여할 수 있겠다. 라는 생각이 많이 들었다. 특히 Newbi 를 위한 주의해야 할 사항이 인상깊었는데, 간단하게 요약 하자면, - coding Style - You are just a newbi here - start from jab  ( 작은 것 부터 시작하자.. 조그마한 작업부터, 혹은 리뷰…) - commit log style - summarized title on First Line - just \n on Second Line - Detailed log after 3rd Line 이정도가 아닐까 싶다. 특히, 의욕이 너무 지나쳐서 너무 많은 것을 커밋...

[Tip] Homebrew 로 설치한 Python 환경에서 GAE Flask 설치하기

2014.07.10 -- Issue -- ~/.pydistutils.cfg 파일을 생성하고 나서 pip install 을 할 경우, permission denied 오류가 발생하는 경우가 있다. 이때는 prefix= 를 삭제하면 정상적으로 설치할 수 있다. 또는, 설치시 아래와 같은 명령어로 설치한다. pip install --user --install-option="--prefix=" <package-name> -------------------------------------------------- Mac 에서 Homebrew 를 사용하면 각종 package 를 편리하게 관리 할수 있다. 그런데 Homebrew 를 통해 Python 을 설치한 환경에서, Google App Engine 의 Flask package 를 설치하기 위해 명령어 ( pip install -r requirements.txt -t lib/ )를 실행하면 아래와 같은 오류가 발생한다. 말 그대로 prefix 를 설정해 달라는 이야기 인데, 해결 방법은 다음과 같다. HOME(~/) 에 .pydistutils.cfg 파일을 생성하고 아래 코드를 추가한다. [install] prefix= 그리고 다시 실행하면 정상적으로 Flask package 가 설치되는것을 확인할 수 있다. Reference 1. stackoverflow http://stackoverflow.com/questions/24257803/distutilsoptionerror-must-supply-either-home-or-prefix-exec-prefix-not-both 2. Github Issue https://github.com/Homebrew/homebrew/wiki/Homebrew-and-Python