프로그래밍에 있어 트렌드가 없는 것이 아닙니다. 프로그래밍 트랜드는 효율성 향상, 커스터마이징 증가 및 사용 편의성에 기인한다는 것입니다. 이 중 하나 이상을 제공하는 신기술은 이전 세대를 압도합니다. 


다음은 오늘날의 프로그래머들 사이에 HOT한 것과 그렇지 않은 것의 목록입니다. 물론 이 두가지는 언제든 바뀌거나 변화 할 수 있겠지요 ...


#1. Preprocessors / Full language stacks


Javascript => CoffeeScript

Java => Groovy


기존 언어 대비 축약 형태의 전처리 언어가 유행


#2. Docker / Hypervisors


개발자는 Docker 컨테이너를 활용하여 손쉽게 필요한 항목만을 배포 할 수 있게 되었습니다.


#3. JavaScript MV* frameworks /  JavaScript files


Kendo, Sencha, jQuery Mobile, AngularJS, Ember, Backbone, Meteor JS 등 

수십 가지 자바스크립트 프레임 워크를 활용하여 이벤트,컨텐츠를 손쉽게 처리할 수 있습니다.


#4. CSS frameworks / Generic Cascading Style Sheets


LASS, SASS, LESS 등과 같은 CSS 프레임 워크를 통해 변수, 중첩, 블록, 혼합 등의 기능을 활용하여 프로그래밍 구문 제공을 하여 손쉽게 작성 및 관리를 할 수 있게 도와줍니다.


#5. Video tags / Static tags


GIF, JPG와 같은 정적 이미지에서 VIDEO와 같은 동적 테그를 더 많이 선호하게 됨.


#6. Almost big data (analysis without Hadoop) / Big data (with Hadoop)


일반적으로 회사에서는 너무 큰 데이터는 분석이 어렵기 때문에 Hadoop 과 같이 고사양을 요구하는 빅데이터에서 일반적인 크기의 빅데이터로 변화하고 있다.


#7. Spark / Hadoop


스파크가 모든 것을 분산 파일 시스템에 쓰는 대신에 빠른 메모리에 데이터를 저장하는 방식이 가장 큰 방법 일 수 있습니다. 물론 많은 사람들이 Hadoop의 분산 파일 시스템에 저장된 데이터에 대해 Spark의 처리 속도를 사용하여 두 파일을 병합합니다.


#8. AI(Artificial intelligence), machine learning / Big Data


#9. Robotics / Virtual things


#10. Single-page web apps / Websites


#11. Mobile web apps / Native mobile apps


#12. Android / iOS


#13. GPU / CPU


#14. GitHub / Resumes 이력서


이력서 보다는 실제 결과물을 GitHub에 올리거나 기여한 것을 평가 과정에서 더욱 선호함


#15. Renting 대여 / Buying 구매


기존에서 서버를 구매한 것에서 Amazon에서 클라우드 서비스를 빌려 사용함


#16. Cloud complexity 복잡성 / Cloud simplicity 단순함


기존 클라우드 서비스는 단순하게 실행중인 시스템을 빌려주는 형태 였지만 이제는 시간당, 호출당, 서비스 이용 당 다양한 옵션을 제공하면서 이전대비 복잡하게 되었습니다.


#17. Data movement experts 데이터 이행 전문가 / Backup tapes 백업 테이프


#18. Audio / Websites


#19. Node.js / JavaEE, Ruby onRails


#20. PHP 7.0 / Old PHP


#21. Just-in-time education / Four years up front



출처 : http://www.javaworld.com/article/3189070/application-development/21-hot-programming-trends-and-21-going-cold.html




Main 에서 네트워크 작업을 수행하면 안됨 !! AsyncTask 를 사용하여 작업을 수행해야 됨


This exception is thrown when an application attempts to perform a networking operation on its main thread. Run your code in AsyncTask:


출처 :

http://stackoverflow.com/questions/6343166/how-to-fix-android-os-networkonmainthreadexception





기존 r2(컵케이크) => r3(도우너트) 으로 변경됨.

다운로드 주소 : http://developer.android.com/sdk/1.5_r3/index.html
수정 및 변경사항 : http://developer.android.com/sdk/RELEASENOTES.html#1.5_r3
===============================================================================================================

[지디넷코리아]구글이 안드로이드 모바일 운영체제(OS)에 포함되는 '도우너트' 소스코드를 개발자들에게 공개했다.

 

도우너트는 이전에 선보인 컵케이크와 마찬가지로 그 자체로 독자적인 시스템이라기보다는 차세대 안드로이드의 부분이 될 것이라고 외신들이 27일(현지시간) 전했다.

 

도우너트는 CDMA 이동통신 네트워크, 통합검색, 문서자동읽기 등을 지원한다. 그러나 초미의 관심사였던 멀티터치 기능은 이번에는 포함되지 않았다고 지디넷은 전했다.


현재나와 있는 스마트폰중에선 애플 아이폰과 팜 프리가 멀티터치 기능을 제대로 구현했다는 평가를 받고 있다. 일부 업체들은 애플이 갖고 있는 특허로 인해 멀티터치 기능을 적용하는 것을 주저하는 상황이다.
[ 소개 ]

네이버 OPEN API 활용을 통하여 실시간 순위 정보를 ListView를 통하여 보여 줄 수 있도록 만듬.

차후 수정 예정 목록

1) 파서 부분을 업그레이드 할 예정
: 단 SAX또는 DOM은 안사용... 왜? 별로 파싱할 내용이 없으니깐... 필요시 수용가능

2) 주기적 정보 갱신
: TimerTask 또는 Thread를 통하여 주기적으로 이용하여 화면을 주기적으로 갱신하도록 한다.

[ 추신 ]

당신의 소중한 리플이 더 멋진 프로그램으로 나아가는 소중한 한 걸음이 됩니다.


[ FILE ]

[ RESULT ]


[ FLOW ]



1. 폴더구성

res
└drawable : 이미지를 복사하여 넣어줄 수 있다.(JPG, PNG, GIF...)
└layout : 레이아웃을 설계 할 수 있다.(XML)
└values : 값을 설정할 수 있다.(XML)

[참조 ☞ ]
기본적으로 파일을 만들때 숫자,예약어로 시작하는 파일은 만들 수 없다.
(자바 변수명 네이밍룰에 의거함)
0.xml <-- 안됨 : 숫자로 시작
if.png <--- 안됨 : 예약어임 ==> 파싱 애러 발생함 ... 여러 경우가 존재함에 유의

2. 기본 설명

기본적으로 위 res폴더 아래 파일을 추가하면
gen 폴더 아래 패키지명 아래 R.java라는 파일이 자동으로 업데이트 된다.

ex)
public static final int WHITE=0x7f050000;  // VALUE = 값(고유 ID) 로 설정되며

코드 상에서는 VALUE를 통하여 호출할 수 있도록 되어 있다.

3. drawable

이미지 파일을 Resource로 사용하기 위해서는 drawable 폴더 아래에 이미지를 복사하여
배치하면 된다. 복사/제거시 자동적으로 R.java가 업데이트 된다.

4. layout

레이아웃은 크게 Layouts 와 Views로 나뉘어 진다.

Layouts 는 Container라고 보면된다. 물건을 넣기 위한 상자이며 해당 내부에 물건이 어떻게 배치되는 가를 지정하는 도구이다. (LinearLayout, ListView, GridView ...)

Views 는 Item이라고 보면 된다. 상자 내부에 들어가는 아이템으로 다양한 기능을 Container 내부에 넣어줄 수 있다. (Button, CheckBox, Gallery ...)

Eclipse에서는 좌측 메뉴에서 드레그앤 드롭을 통하여 손쉽게 레이아웃 및 뷰를 추가 삭제 할 수 있으며 하단 Layout vs Xml 탭을 오가면서 View와 Code를 볼 수 있다. XML코드 같은 경우 세밀하게 Layout을 지정할 때 사용하면 좋음.

MCC, MNC, Lang, SIZE ... 은 나중에 공부좀 하구 ^^;

5. values

Color, Dimension, Drawable, Integer Array... 을 value로 지정할 수 있다.

ex)

<string name="hello">Hello World, helloWorld!</string>
<color name="WHITE">#ffffff</color>
<dimen name="BIG_SIZE">300px</dimen>


6. R.java

Res 폴더에 Resource를 추가하면 gen폴더 아래에 R.java 파일이 자동적으로 업데이트 된다. 코드상에서는 변수명을 지정하면 해당 리소스를 호출하여 사용할 수 있다. 참고로, 값을 보면 해당 값은 특정 idx를 가지고 있으며 순차적으로 증가하는 것을 확인 할 수 있다.

ex)

/* AUTO-GENERATED FILE.  DO NOT MODIFY.

 *

 * This class was automatically generated by the

 * aapt tool from the resource data it found.  It

 * should not be modified by hand.

 */

 

package com.wonsama;

 

public final class R {

    public static final class attr {

    }

    public static final class color {

        public static final int WHITE=0x7f050000;

    }

    public static final class dimen {

        public static final int BIG_SIZE=0x7f060000;

    }

    public static final class drawable {

        public static final int aaa=0x7f020000;

        public static final int icon=0x7f020001;

    }

    public static final class id {

        public static final int AbsoluteLayout01=0x7f070000;

        public static final int AnalogClock01=0x7f070001;

    }

    public static final class layout {

        public static final int main=0x7f030000;

        public static final int sub=0x7f030001;

    }

    public static final class string {

        public static final int app_name=0x7f040001;

        public static final int hello=0x7f040000;

    }

}

7. 레이아웃 적용하기

 setContentView(R.layout.main);

위 코드처럼 적용하고자 하는 레이아웃의 Resource ID 값을 넣어줘서 셋팅 하면 된다.


안드로이드 공부한지 1주일도 안되었지만 .... 음 예전 학원에서 스윙배웠던 기억이 나는듯한 -_-;
열심히 공부해서 계속 함 포스팅 해보겠습니다. 뭐....도움이 많이 되었음 하는 바램에.. ^^;


+ Recent posts