Java programming languageChiwon SongThis document provides an overview of the Java programming language, including its history and evolution from 1991 to present day. It discusses key Java concepts like object-oriented programming, the Java Virtual Machine, garbage collection, and the Java Runtime Environment. It also covers Java syntax, keywords, data types, classes, objects, encapsulation, inheritance, polymorphism, and how to write a simple "Hello World" program in Java.
[강의소개] 프로그래밍 입문자가 안드로이드와 잘 사귀려면?FAST CAMPUS패스트캠퍼스에서 8기 째 수강생을 모집 중인 '안드로이드 앱 개발 입문 캠프' 를 소개하기 위한 슬라이드입니다. 프로그래밍 입문자, 혹은 그에 준하는 실력의 분들에게 4주간 Java 프로그래밍을 알려드리고, 그 후 기초적인 수준의 안드로이드 앱을 4~5개 정도 직접 제작해보는 실습을 거칩니다.
- 자세히 보기: http://www.fastcampus.co.kr/dev_camp_adb
- 문의: 이은혜 매니저(02-517-0643)
[Spring Camp 2013] Java Configuration 없인 못살아!Arawn ParkSpring Camp 2013 / Track B Session 2
Java Configuration은 Spring 3.0과 함께 등장했습니다. 초기에는 '이게 뭐야?' 싶은 정도로 제대로된 모습을 갖춘 상태가 아니었습니다. 뒤돌아보면 스프링 1.0 시절의 XML을 보는것 같았지요. (웃음)
하지만 3.1이 발표되며 상황이 바뀌었습니다. XML 설정을 대체할 정도로 성장했을 뿐만 아니라 더 많은 것들을 할 수 있게 되었거든요.
이 시간에는 Spring을 사용하는 대표적인 예제 PetClinic(https://github.com/arawn/spring-petclinic)을 Java Configuration으로 재구성한 모습을 코드로 보여드립니다. 그리고 제가 보는 Java Configuration의 매력요소를 공유합니다.
Java programming languageChiwon SongThis document provides an overview of the Java programming language, including its history and evolution from 1991 to present day. It discusses key Java concepts like object-oriented programming, the Java Virtual Machine, garbage collection, and the Java Runtime Environment. It also covers Java syntax, keywords, data types, classes, objects, encapsulation, inheritance, polymorphism, and how to write a simple "Hello World" program in Java.
[강의소개] 프로그래밍 입문자가 안드로이드와 잘 사귀려면?FAST CAMPUS패스트캠퍼스에서 8기 째 수강생을 모집 중인 '안드로이드 앱 개발 입문 캠프' 를 소개하기 위한 슬라이드입니다. 프로그래밍 입문자, 혹은 그에 준하는 실력의 분들에게 4주간 Java 프로그래밍을 알려드리고, 그 후 기초적인 수준의 안드로이드 앱을 4~5개 정도 직접 제작해보는 실습을 거칩니다.
- 자세히 보기: http://www.fastcampus.co.kr/dev_camp_adb
- 문의: 이은혜 매니저(02-517-0643)
[Spring Camp 2013] Java Configuration 없인 못살아!Arawn ParkSpring Camp 2013 / Track B Session 2
Java Configuration은 Spring 3.0과 함께 등장했습니다. 초기에는 '이게 뭐야?' 싶은 정도로 제대로된 모습을 갖춘 상태가 아니었습니다. 뒤돌아보면 스프링 1.0 시절의 XML을 보는것 같았지요. (웃음)
하지만 3.1이 발표되며 상황이 바뀌었습니다. XML 설정을 대체할 정도로 성장했을 뿐만 아니라 더 많은 것들을 할 수 있게 되었거든요.
이 시간에는 Spring을 사용하는 대표적인 예제 PetClinic(https://github.com/arawn/spring-petclinic)을 Java Configuration으로 재구성한 모습을 코드로 보여드립니다. 그리고 제가 보는 Java Configuration의 매력요소를 공유합니다.
[IoT] MAKE with Open H/W + Node.JS - 3rdPark JonggunIoT 시대에 Opensource H/W 와 NodeJS 를 이용하여 누구나 나만의 H/W + S/W + Service 를 만들기 위한 교육 과정을 만들어 보았습니다.
상상했던 아이디어를 Raspberry Pi 기반으로 나만의 IoT 제품을 현실로 만들어 보세요.
Lesson 1 - Introduction : IoT개요, Opensource H/W, 라즈베리파이 기초
Lesson 2 - Linux : Raspberry Pi 에서 리눅스 활용하기
Lesson 3 - Node.JS : Raspberry Pi 에서 Node.JS 로 프로그래밍 하기
Lesson 4 - Sensor : GPIO 를 Node.JS 로 동작시켜 센서 제어하기
Lesson 5 - Project : Raspberry Pi 로 스마트폰 + 무선 IoT 오디오 제작
챕터가 완성되는대로 추가적으로 공유하겠습니다.
Circulus Site - http://www.circul.us
Circulus Group - http://group.circul.us
Light Tutorial DjangoKwangyoun JungLight Tutorial Django
Studybee 3주차 - 가볍게 배우는 장고!!
Django를 이용해 블로그를 만들기 전에 가볍게 Django에 대해 알아보고 익숙해져 봅시다.
**http://www.studybee.kr 에서 운영하는 '초심자를 위한 웹개발' 클래스에서 만드는 교재이며,
장고를 이용해 간단하게 블로그를 만드는 것을 목표로 하고 있습니다.
(스프링프레임워크 강좌)스프링부트개요 및 HelloWorld 따라하기탑크리에듀(구로디지털단지역3번출구 2분거리)기본적인 프로젝트 스캐폴딩 도구로 빠른개발을 위한 스프링 프레임워크 서브 프로젝트 중에 하나인 Spring Boot를 사용하겠습니다. 스프링 부트는 Convention over Configuration개념을 적용하여 개발자가 처리해야 하는 반복적인 성격의 설정작업을 대신 수행하여 개발자의 수고를 덜어주는 기술입니다.
최근 개발 초기단계에서부터 코드작성을 하지는 않습니다. 처음부터 코드를 작성하면 나중에 소스 코드 덩치가 커지거나 협업을 해야 하거나 배포를 해야 할 때 관리상의 문제가 많이 생긴다는 것을 개발자들은 이미 경험으로 알고 있기 때문입니다. 그러한 이유로 코드를 작성하기 전에 먼저 코드, 리소스, 디펜던시, 연동환경 및 테스트를 거친 후 배포작업을 미리 염두에 두고 구조적으로 프로젝트를 구분하는 스캐폴딩 작업을 선행합니다.
프로젝트 관점에서 살펴보면 실제 코드를 작성하기 전에 해야 할 여러 설정 작업들이 도출 됩니다. 스프링부트는 여러 설정작업들 중 개발자를 대신해 관습을 적용하여 자동화 할 수 있는 부분들을 제공하는 기술로써, 개발자의 수고를 덜어 보다 빠른 개발이 진행될 수 있도록 해줍니다.
2. 2
ㅁ 스레드(Thread)의 필요성
- 메인 액티비티는 하나의 프로세스로 처리
* 대기시간이 길어질 시 많은 시간이 필요
- 멀티스레디 방식으로 해결 가능, 메모리 리소스 공유
- 리소스를 공유하기 때문에 데드락(Deadlock)발생 가능
- 런타임 예외라서 찾기가 힘듬
- 안드로이드에선 자바의 표준 Thread지원
참조 교재 : Do it! 안드로이드 앱 프로그래밍0. 지난주 복습
4. 4
참조 프로젝트 : SampleJavaThread
다운로드 : easyspub.com
버튼 터치시 스레드에서 받은
값을 출력 함
MainActivity의 소스
0. 지난주 복습
5. 5
참조 프로젝트 : SampleJavaThread
다운로드 : easyspub.com
MainActivity의 소스
화면이 보이고 있을때
스레드를 실행
화면이 꺼져 있을때
스레드를 중지
0. 지난주 복습
6. 6
ㅁ 프로세스가 생성되면
메인스레드는 메시지 큐를
실행, 메시지 큐를 이용해
메인 스레드가 처리할
메시지를 전달 하는 것이
핸들러 클래스
스레드와 스레드 핸들러 플로우 차트
참조 교재 : Do it! 안드로이드 앱 프로그래밍0. 지난주 복습
7. 7
참조 프로젝트 : SampleThread
다운로드 : easyspub.com
실행화면
0. 지난주 복습
8. 8
참조 프로젝트 : SampleThread
다운로드 : easyspub.com
MainActivity의 소스
스레드 핸들러 변수 선언과
새로운 핸들러 객체 생성
0. 지난주 복습
9. 9
참조 프로젝트 : SampleThread
다운로드 : easyspub.com
MainActivity의 소스
프로그래스 바(가로로 긴 막대) 0으로 초기화
액티비티 시작 시 스레드 생성 후 실행
1초마다 핸들러로 메시지 전송
스레드에서 작업 상태나 결과를 핸들러의
sendMessage()로 전송
0. 지난주 복습
10. 10
참조 프로젝트 : SampleThread
다운로드 : easyspub.com
handleMessage()메소드 내에서
전달된 정보를 이용해 UI 업데이트
MainActivity의 소스
새로운 Handler클래스 정의,
프로그래스 바를 5씩 증가시킴
0. 지난주 복습
11. 11
참조 프로젝트 : SampleThread
다운로드 : easyspub.com
Activity_main.xml의 소스
진행상태를 표기하기 위한
프로그래스 바를 정의
0. 지난주 복습
12. 12
MainActivity의 소스
ㅁ 앞에 그림은 서브스레드와
메시지 큐와의 메시지 전달,
하지만 서브스레드가 메인스
레드에게 메시지를 전달해야
되는 경우도 생기며, 이를 순
차적으로 처리하기 위해 메시
지 큐가 사용됨, 루퍼가 계속
돌며 메시지 큐에 있는 명령
들을 한 개 씩 처리
참조 교재 : Do it! 안드로이드 앱 프로그래밍0. 지난주 복습
13. 13
참조 프로젝트 : SampleLopper
다운로드 : easyspub.com
실행화면
0. 지난주 복습
14. 14
참조 프로젝트 : SampleLopper
다운로드 : easyspub.com
새로운 스레드 생성, 스레드를
생성하고 스레드를 위한 핸들러
를 만든다.
MainActivity의 소스
새로만든 스레드에서
루퍼(Lopper)를 실행
0. 지난주 복습
15. 15
참조 프로젝트 : SampleLopper
다운로드 : easyspub.com
MainActivity의 소스
텍스트 뷰와 텍스를 수정할 수 있는
에디트 텍스트를 위한 레퍼런스 변수 선언
메인스레드를 위한 핸들러
서브스레드를 위한 핸들러
생성된 객체를 레퍼런스 변수 참조(이름)를
이용해 activity_main.xml에 이미 만들어진
텍스트 뷰와 에디트 텍스트의 속성을
알 수 있음
버튼이 눌릴 경우 스레드로 메시지를 보내고
해당 스레드를 실행
텍스트 뷰와 텍스를 수정할 수 있는
에디트 텍스트를 위한 객체 생성
0. 지난주 복습
16. 16
참조 프로젝트 : SampleLopper
다운로드 : easyspub.com
MainActivity의 소스
새로 만든 스레드 핸들러,
메인 스레드의 핸들러로 메시시 전송
새로 만든 스레드 핸들러로 받은
메시지를 메인 스레드 핸들러에서
에디트텍스트에 메시로 표시
0. 지난주 복습
17. 17
참조 프로젝트 : SampleLopper
다운로드 : easyspub.com1. 스레드와 애니메이션
실행화면
18. 18
참조 프로젝트 : SampleLopper
다운로드 : easyspub.com1. 스레드와 애니메이션
실행화면
19. 19
참조 프로젝트 : SampleLopper
다운로드 : easyspub.com1. 스레드와 애니메이션
실행화면
20. 20
참조 프로젝트 : SampleLopper
다운로드 : easyspub.com1. 스레드와 애니메이션
실행화면
21. 21
참조 프로젝트 : SampleThreadAnimation
다운로드 : easyspub.com1. 스레드와 애니메이션
Activity_main.xml
애니메이션을 보여줄 뷰 만듬
22. 22
1. 스레드와 애니메이션
참조 프로젝트 : SampleThreadAnimation
다운로드 : easyspub.com
콜백 인터페이스 설정
* 콜백이란? = 캐치볼, 탁구, 전화
상대방을 호출하고 일정시간(조건)후에
다시 호출 받음
ThreadAnimationView.java
23. 23
1. 스레드와 애니메이션
참조 프로젝트 : SampleThreadAnimation
다운로드 : easyspub.com
이미지 스레드 객체 생성
ThreadAnimationView.java
24. 24
1. 스레드와 애니메이션
참조 프로젝트 : SampleThreadAnimation
다운로드 : easyspub.com
ThreadAnimationView.java
서피스 뷰를 위한 홀더 선언
25. 25
1. 스레드와 애니메이션
참조 프로젝트 : SampleThreadAnimation
다운로드 : easyspub.com
ThreadAnimationView.java
서피스 뷰를 위한 홀더 선언
* 서피스 뷰란? 3D지원을 위해 OpenGL ES 라이브러리 포함
2D그래픽도 지원하며 빠른성능의 2D구현 가능
26. 26
1. 스레드와 애니메이션
참조 프로젝트 : SampleThreadAnimation
다운로드 : easyspub.com
ThreadAnimationView.java
애니메이션을 보여줄 크기에 대한 변수와
어떤 그림을 보여줄지에 대한 변수 선언
27. 27
1. 스레드와 애니메이션
참조 프로젝트 : SampleThreadAnimation
다운로드 : easyspub.com
ThreadAnimationView.java
이미지를 저장할 배열,
각각 안드로이드 이모티콘과
사각형(배경)을 그림
28. 28
1. 스레드와 애니메이션
참조 프로젝트 : SampleThreadAnimation
다운로드 : easyspub.com
ThreadAnimationView.java
스레드 생성자
29. 29
1. 스레드와 애니메이션
참조 프로젝트 : SampleThreadAnimation
다운로드 : easyspub.com
ThreadAnimationView.java
각각의 이모티콘과 배경에
어떤 이미지가 들어갈지
설정
30. 30
1. 스레드와 애니메이션
참조 프로젝트 : SampleThreadAnimation
다운로드 : easyspub.com
ThreadAnimationView.java
스레드 실행
31. 31
1. 스레드와 애니메이션
참조 프로젝트 : SampleThreadAnimation
다운로드 : easyspub.com
ThreadAnimationView.java
스레드간 동기화를 위해
Synchronized를 사용
32. 32
1. 스레드와 애니메이션
참조 프로젝트 : SampleThreadAnimation
다운로드 : easyspub.com
ThreadAnimationView.java
Sleep(ms)를 이용해 해당 시간
만큼의 간격을 두고 스레드 실행
Dodraw메소드를 사용해 화면에 표시
33. 33
2. 트윈 애니메이션 참조 교재 : Do it! 안드로이드 앱 프로그래밍
- 보여줄 대상을 적절히 연산 후 그 결과를 연속적으로 디스플레이
->한 개의 대상만 있으면 충분
- 대상과 효과로 구분
- 대상 : 뷰, 그리기 객체
* 뷰 : 위젯과 레이아웃 모두 포함, 그리기 객체 : drawable
- 효과 : 위치 이동, 확대/축소, 회전, 투명도
* 위치 이동 : translate, 확대/축소 : Scale, 회전 : Rotate, 투명도 : Alpha
34. 34
2. 트윈 애니메이션
참조 프로젝트 : SampleTwinAnimation
다운로드 : easyspub.com
실행화면
35. 35
2. 트윈 애니메이션
참조 프로젝트 : SampleTwinAnimation
다운로드 : easyspub.com
Scale.xml
Scale2.xml
트윈 애니메이션을 위한 Action
정보는 XML리소스 or 자바 코드
에서 직접 객체로 만듬
36. 36
2. 트윈 애니메이션
참조 프로젝트 : SampleTwinAnimation
다운로드 : easyspub.com
Scale.xml
Scale2.xml
트윈 애니메이션을 위한 Action
정보는 XML리소스 or 자바 코드
에서 직접 객체로 만듬
Duration은 에니메이션
지속 시간
37. 37
2. 트윈 애니메이션
참조 프로젝트 : SampleTwinAnimation
다운로드 : easyspub.com
Scale.xml
Scale2.xml
트윈 애니메이션을 위한 Action
정보는 XML리소스 or 자바 코드
에서 직접 객체로 만듬
pivotX/Y는 에니메이션이
실행되는 동안의 축(기준)
을 의미
38. 38
2. 트윈 애니메이션
참조 프로젝트 : SampleTwinAnimation
다운로드 : easyspub.com
Scale.xml
Scale2.xml
트윈 애니메이션을 위한 Action
정보는 XML리소스 or 자바 코드
에서 직접 객체로 만듬
From(to)X/Yscale는
시작과 끝의 크기
비율을 지정해줌
39. 39
2. 트윈 애니메이션
참조 프로젝트 : SampleTwinAnimation
다운로드 : easyspub.com
리소스에 정의한
40. 40
2. 트윈 애니메이션
참조 프로젝트 : SampleTwinAnimation
다운로드 : easyspub.com
뷰의 애니메이션 시작