이 블로그는 사용하지 않습니다. jyheo.github.io나 github.com/jyheo로 방문해주세요. --- 한성대학교 컴퓨터공학부 허준영 교수 강의 블로그입니다. 강의 자료나 학생들이 참고할 문서, 웹 사이트 링크 등을 제공합니다.
2015년 9월 29일 화요일
라즈비안 새 버전(Jessie) 릴리즈
라즈비안 jessie 버전이 새로 나왔습니다.
https://www.raspberrypi.org/blog/raspbian-jessie-is-here/
라즈비안 jessie 버전 다운로드 링크(교내)
http://idisk.hansung.ac.kr:8081/api.link/3d_baLoME7DeQOUL_Q~~.zip
임베디드 시스템(10월 1일) - 실습: 라즈비안 커널 빌드
라즈비안이 설치된 라즈베리 파이를 위한 리눅스 커널 빌드와 설치 방법에 대해 실습합니다.
대부분의 데스크톱 리눅스 사용의 경우 커널 컴파일을 하는 경우가 드물긴 하지만, 임베디드 시스템에서라면 얘기가 다릅니다. 물론 데스크톱 리눅스에서 커널 컴파일이 불필요하다는 얘기는 아닙니다.
단순히 디바이스 드라이버를 만들기 위해 커널을 컴파일하기 보다는 모듈로 사용하는 것이 간단합니다만, 임베디드 시스템의 경우 커널 이미지를 최소화하고 최적화하여 부팅 시간을 단축하거나 메모리 사용량을 줄이는 것이 매우 의미 있는 일입니다.
배포판에 포함된 커널 이미지를 사용하는 것 보다 직접 커널 빌드하는 경우를 살펴보면,
* 새로운 하드웨어를 추가하였는데 기존 커널과 충돌이 발생할 때
* 배포판 커널에서 지원하지 않는 옵션을 사용하고자 할 때(모듈로 지원하지 않는 기능을 사용하려면 반드시 커널 빌드를 해야 합니다.)
* 필요없는 드라이버를 지워 커널을 최적화해 부팅 시간을 빠르게 하기
* 모듈 여러 개로 구성된 커널 대신에 이미지 하나로 된 커널 만들기
* 새로 업데이트된 커널이나 개발버전 커널 사용
(참고: https://www.debian.org/releases/etch/s390/ch08s06.html.ko)
그러면, 라즈비안에서 커널 빌드 방법에 대해 아래 링크에서 살펴보겠습니다.
https://github.com/jyheo/documentation/blob/master/linux/kernel/building.md
라즈비안 리눅스 커널 소스(교내 링크)
http://idisk.hansung.ac.kr:8081/api.link/3d_baLoMEr_eTeYC_Q~~.gz
대부분의 데스크톱 리눅스 사용의 경우 커널 컴파일을 하는 경우가 드물긴 하지만, 임베디드 시스템에서라면 얘기가 다릅니다. 물론 데스크톱 리눅스에서 커널 컴파일이 불필요하다는 얘기는 아닙니다.
단순히 디바이스 드라이버를 만들기 위해 커널을 컴파일하기 보다는 모듈로 사용하는 것이 간단합니다만, 임베디드 시스템의 경우 커널 이미지를 최소화하고 최적화하여 부팅 시간을 단축하거나 메모리 사용량을 줄이는 것이 매우 의미 있는 일입니다.
배포판에 포함된 커널 이미지를 사용하는 것 보다 직접 커널 빌드하는 경우를 살펴보면,
* 새로운 하드웨어를 추가하였는데 기존 커널과 충돌이 발생할 때
* 배포판 커널에서 지원하지 않는 옵션을 사용하고자 할 때(모듈로 지원하지 않는 기능을 사용하려면 반드시 커널 빌드를 해야 합니다.)
* 필요없는 드라이버를 지워 커널을 최적화해 부팅 시간을 빠르게 하기
* 모듈 여러 개로 구성된 커널 대신에 이미지 하나로 된 커널 만들기
* 새로 업데이트된 커널이나 개발버전 커널 사용
(참고: https://www.debian.org/releases/etch/s390/ch08s06.html.ko)
그러면, 라즈비안에서 커널 빌드 방법에 대해 아래 링크에서 살펴보겠습니다.
https://github.com/jyheo/documentation/blob/master/linux/kernel/building.md
라즈비안 리눅스 커널 소스(교내 링크)
http://idisk.hansung.ac.kr:8081/api.link/3d_baLoMEr_eTeYC_Q~~.gz
2015년 9월 25일 금요일
Git-GUI 사용법
안드로이드 스튜디오의 git integration이 이상하게 동작하는 경우, Git-GUI를 사용하기 바랍니다. 그래서 간단히 Git-GUI 사용법에 대한 링크를 알려줄테니, 공부해보세요.
- Git on Windows for Newbs
- http://code.tutsplus.com/tutorials/git-on-windows-for-newbs--net-25847
- Github을 사용하는 예제로 나와 있으나 https가 아니라 ssh를 사용하는 것으로 설명하고 있습니다. 우리 실습할 때에는 https를 사용하므로 Source Location에 https clone URL(github에 들어가보면 써 있음)을 쓰세요.
- Git GUI Tutorial - Youtube
- https://www.youtube.com/watch?v=ov3_CkObQm8
- 동영상 이고, 영어로 되어 있으나 그림 보면서 들을만 합니다. 다만 github이 아니라 bitbucket이라는 사이트를 사용하는 설명입니다. github과 크게 차이 없으니 공부해보고 bitbucket도 알아보세요.
- bitbucket의 경우 무료로 private repository를 제공하는 장점이 있어서 본인도 자주 사용합니다.
2015년 9월 21일 월요일
모바일 프로그래밍 (9월 21일(이론), 24일(실습), 10월 1일(실습)) - 기본 위젯 익히기
위젯이란 사용자에게 입력을 받거나 보여주기 위한 것으로 버튼, 텍스트 뷰, 라디오 버튼, 리스트 등과 같이 GUI를 구성하는 요소이다.
안드로이드의 위젯은 뷰(View)라고 하는 클래스를 상속하는데, 이 뷰라고 하는 것이 화면에 보여주기 위한 모든 것의 근간이 되는 클래스이다.
안드로이드의 위젯은 뷰(View)라고 하는 클래스를 상속하는데, 이 뷰라고 하는 것이 화면에 보여주기 위한 모든 것의 근간이 되는 클래스이다.
9월 21일 이론
- 뷰(View) 클래스
- 텍스트 뷰
- Java 코드에서 속성 설정
- 버튼과 에디트 텍스트
- 컴파운드 버튼
9월 24일 실습
- 버튼과 에디트 텍스트
- 직접 풀어보기 4-3
10월 1일 실습
- 이미지뷰와 이미지버튼
- 직접 풀어보기 4-4
임베디드 시스템(9월 24일) - 실습: Rpi Remote Debugging with Eclipse
GDB 사용법에 대한 블로그 게시글
http://kwanseob.blogspot.kr/2012/03/gdb.html
http://bboy6604.tistory.com/entry/GDB를-사용한-Debug
Raspberry Pi toolchain 학교에서 받기
http://idisk.hansung.ac.kr:8081/api.link/3d_baLoME7neQOUJ_Q~~.zip
Eclipse-cpp-mars-R-linux-gtk 학교에서 받는 링크
http://idisk.hansung.ac.kr:8081/api.link/3d_baLoME7jeRuYP_Q~~.gz
Eclipse를 실행하기 위해서는 JVM이 필요합니다. 리눅스 32비트용 JRE
http://idisk.hansung.ac.kr:8081/api.link/3d_baLoME7veROUK-w~~.gz
http://kwanseob.blogspot.kr/2012/03/gdb.html
http://bboy6604.tistory.com/entry/GDB를-사용한-Debug
Raspberry Pi toolchain 학교에서 받기
http://idisk.hansung.ac.kr:8081/api.link/3d_baLoME7neQOUJ_Q~~.zip
Eclipse-cpp-mars-R-linux-gtk 학교에서 받는 링크
http://idisk.hansung.ac.kr:8081/api.link/3d_baLoME7jeRuYP_Q~~.gz
Eclipse를 실행하기 위해서는 JVM이 필요합니다. 리눅스 32비트용 JRE
http://idisk.hansung.ac.kr:8081/api.link/3d_baLoME7veROUK-w~~.gz
임베디드 시스템(9월 21일) - C언어 Part 1
C언어는 임베디드 SW에서 여전히 많이 사용되는 언어이다. 물론 응용 프로그램 개발을 위해서 Java와 같은 언어가 사용되기 도 한다. 하지만, 특히, 커널이나 디바이스 드라이버와 같은 하드웨어에 밀접한 시스템 소프트웨어 작성시에는 C언어가 주로 사용되며, 이런 경우에 주의해야할 내용들이 있다. 이번 강의는 이런 내용에 대해 다룬다.
2015년 9월 18일 금요일
2015년 9월 13일 일요일
임베디드 시스템(9월 17일) - 실습: Ubuntu와 라즈베리 toolchain 설치
임베디드 시스템(9월 17일) - 실습: Ubuntu와 라즈베리 toolchain 설치
Ubuntu 14.0.3(LTS) 교내 다운로드 링크 (교외에선 접속 불가함)
http://idisk.hansung.ac.kr:8081/api.link/3d_baLoMHL3eQOUJ_A~~.iso
Ubuntu 14.0.3(LTS) 교내 다운로드 링크 (교외에선 접속 불가함)
http://idisk.hansung.ac.kr:8081/api.link/3d_baLoMHL3eQOUJ_A~~.iso
모바일 프로그래밍(9월 14일, 17일) - 처음으로 만드는 안드로이드 앱
교재 2장, 처음으로 만드는 안드로이드 애플리케이션
14일 이론 수업 요약
14일 이론 수업 요약
- 안드로이드 앱 프로젝트 개발 기본 단계
- 프로젝트 생성 - 어떤 SDK버전을 타겟으로 사용할 것인가?
Dashboards (https://developer.android.com/about/dashboards/index.html) - 액티비티(Activity)?
http://developer.android.com/intl/ko/guide/components/activities.html
http://developer.android.com/intl/ko/guide/components/activities.html#Lifecycle - 화면 디자인과 layout xml 파일
- AVD(에뮬레이터)를 사용하여 실행
- AVD (Android Virtual Device)
- 프로젝트 관리
- 프로젝트 구성
- Java, res, manifests, Gradle scripts
17일 실습 수업
- 안드로이드 앱 개발 표준 틀
- 실습: 2-3번 문제 해결하기
- 안드로이드 다국어 지원하기 => https://docs.google.com/document/d/10PjZ3KDUpmVed6dJD-7OYhdIFrYk0wIY2HYTZAkz0Qc/pub
- 버튼 클릭 이벤트 처리 두 가지 방법 => http://jylecture.blogspot.kr/p/blog-page_17.html
2015년 9월 10일 목요일
2015년 9월 7일 월요일
모바일 프로그래밍(9월 10일) - 개발 환경과 GitHub
학교 실습실에는 개발 환경 설치는 이미 다 되어 있으므로 별로 할 것은 없습니다.
GitHub 계정을 만들고 프로젝트를 GitHub에 올려서 버전 컨트롤 하는 방법을 실습 합시다.
GitHub에 대해서는 아래 링크에서 공부 하세요.
http://backlogtool.com/git-guide/kr/
실습할 내용은 아래 PPT를 참고 (*인쇄할만한 내용이 아니니 그냥 온라인으로만 보세요)
GitHub 계정을 만들고 프로젝트를 GitHub에 올려서 버전 컨트롤 하는 방법을 실습 합시다.
GitHub에 대해서는 아래 링크에서 공부 하세요.
http://backlogtool.com/git-guide/kr/
실습할 내용은 아래 PPT를 참고 (*인쇄할만한 내용이 아니니 그냥 온라인으로만 보세요)
Do it! 안드로이드 앱 프로그래밍(개정 2판-롤리팝) 2015년
수업 시간 내용만으로 부족하다...
다른 책으로도 공부해보고 싶다...
정재곤 Do it! 안드로이드 앱 프로그래밍 책을 추천합니다.
추천 이유: 동영상 강의가 있어서
다른 책으로도 공부해보고 싶다...
정재곤 Do it! 안드로이드 앱 프로그래밍 책을 추천합니다.
추천 이유: 동영상 강의가 있어서
2015년 9월 3일 목요일
모바일 프로그래밍(9월7일, 10일) - 안드로이드 개요와 개발환경 구축
안드로이드 개요와 개발환경 구축
안드로이드 개요,개발환경 구축에 대해 설명해주는 수 많은 웹 사이트, 블로그가 존재합니다.개발 환경 설치에 대한 이야기
안드로이드 개발 환경은 Eclipse와 Android Studio가 있습니다만, Android Studio가 공식 개발 환경이므로 이걸로 수업을 합니다. 설치 방법은 강의 자료에도 나오고 아래와 같이 친절한 분의 블로그에서도 확인할 수 가 있습니다. 윈도우용 기준입니다.위의 블로그 내용이 절대적인 것은 아니므로 그냥 참고 삼아 보세요.
(* 안드로이드 개발을 위해서 Java는 필수입니다. 먼저 설치하고 안드로이드 스튜디오 설치하세요.)
안드로이드 스튜디오에서 SDK Manager를 실행해보세요.
(메뉴 Tools > Android > SDK Manager)
SDK는 가장 최신 것만 설치하면 됩니다(이미 스튜디오 설치할 때 되어 있을거에요). 그리고 Android Support Library 하나만 추가로 설치하세요.
안드로이드 에뮬레이터 실행하는데 스튜디오 창에
hax is not working and emulator runs in emulation mode 이런 메시지를 보았다면...
Intel HAXM을 설치하세요. Intel HAXM
강의 자료는 교재를 구매한 수강생들만 별도의 경로로(출판사에서 배포하면 안된다고 하니)...
2015년 9월 2일 수요일
임베디드시스템 2015년 2학기 강의 개요
(한성대학교 컴퓨터공학과)
http://www.acornpub.co.kr/book/embedded-software
* 2015년 대한민국학술원 우수 학술도서 선정도서
(역자 서문 일부에서)
이 책은 소프트웨어 개발자에게 임베디드 소프트웨어 개발에 대한 최소한의 필요한 내용을 거의 다 설명해주고 있다. 각각에 대한 깊이 있는 내용이 부족할 수 있으나, 최소한 독자가 헤매지 않도록 길을 보여주고 있다.
이 책이 임베디드 소프트웨어 개발을 막 시작하려는 개발자나 학생들에게 아주 좋은 지침서가 될 것이라 확신이 들었고...
강의 내용:
임베디드 시스템 개발을 위해 필요한 다양한 SW 지식을 학습합니다. 그리고 라즈베리 파이 2를 이용하여 임베디드 시스템 개발을 체험해 봅니다.사전 지식:
C, C++, Java, Python, 운영체제강의 방식:
이론(1시간) + 실습(2시간), 이론은 종종 온라인 비디오로 대체될 수 있습니다.교재:
임베디드 소프트웨어의 모든 것(콜린 월즈 저, 허준영 역)http://www.acornpub.co.kr/book/embedded-software
* 2015년 대한민국학술원 우수 학술도서 선정도서
(역자 서문 일부에서)
이 책은 소프트웨어 개발자에게 임베디드 소프트웨어 개발에 대한 최소한의 필요한 내용을 거의 다 설명해주고 있다. 각각에 대한 깊이 있는 내용이 부족할 수 있으나, 최소한 독자가 헤매지 않도록 길을 보여주고 있다.
이 책이 임베디드 소프트웨어 개발을 막 시작하려는 개발자나 학생들에게 아주 좋은 지침서가 될 것이라 확신이 들었고...
모바일 프로그래밍 2015년2학기 강의 개요
(한성대학교 컴퓨터공학과)
매번 실습 시간에 교재의 기본 실습을 따라 하고, 변형된 추가 실습을 스스로 완수해야 합니다. 추가 실습은 매번 평가하여 최종 성적에 반영됩니다.
http://www.hanbit.co.kr/book/look.html?isbn=979-11-5664-179-7
안드로이드는 빠르게 발전하고 있기 때문에, 항상 최신의 내용을 갖춘 책을 찾기가 매우 어렵습니다. 대부분의 최신 내용은 인터넷을 통해 찾을 수 있으나, 수업에서는 이러한 인터넷 자료를 이용하기 위해서는 많은 시간을 들여 정리를 해야 합니다. 따라서 수업하기 적절하도록 정리된 형태의 교재가 유용하며, 학생들도 잘 정리된 교재를 필요로 합니다.
이 책이 최신 안드로이드 버전을 지원한다고 하고 있으나 실상은 그렇지 못합니다. 다만 최신 안드로이드 SDK(롤리팝)를 이용하여 예제가 빌드될 뿐입니다. 교재 중간 중간에 사라질(deprecated) API를 그대로 사용하고 있기 때문에 학생들이 나중에 사용하지 못할 내용들이 다소 포함되어 있습니다. 그런 부분들은 수업에서 적절히 제외하고 새로운 Material design 등은 별도 자료를 이용하여 수업할 예정입니다.
강의 내용:
안드로이드 앱 개발을 위한 프로그래밍 방법에 대해 공부합니다.사전 지식:
Java 언어강의 방식:
이론(1시간) + 실습(2시간), 이론은 종종 온라인 비디오로 대체될 수 있습니다.매번 실습 시간에 교재의 기본 실습을 따라 하고, 변형된 추가 실습을 스스로 완수해야 합니다. 추가 실습은 매번 평가하여 최종 성적에 반영됩니다.
교재:
IT CookBook, Android Studio를 활용한 안드로이드 프로그래밍 (우재남, 박길식 저)http://www.hanbit.co.kr/book/look.html?isbn=979-11-5664-179-7
안드로이드는 빠르게 발전하고 있기 때문에, 항상 최신의 내용을 갖춘 책을 찾기가 매우 어렵습니다. 대부분의 최신 내용은 인터넷을 통해 찾을 수 있으나, 수업에서는 이러한 인터넷 자료를 이용하기 위해서는 많은 시간을 들여 정리를 해야 합니다. 따라서 수업하기 적절하도록 정리된 형태의 교재가 유용하며, 학생들도 잘 정리된 교재를 필요로 합니다.
이 책이 최신 안드로이드 버전을 지원한다고 하고 있으나 실상은 그렇지 못합니다. 다만 최신 안드로이드 SDK(롤리팝)를 이용하여 예제가 빌드될 뿐입니다. 교재 중간 중간에 사라질(deprecated) API를 그대로 사용하고 있기 때문에 학생들이 나중에 사용하지 못할 내용들이 다소 포함되어 있습니다. 그런 부분들은 수업에서 적절히 제외하고 새로운 Material design 등은 별도 자료를 이용하여 수업할 예정입니다.
피드 구독하기:
글 (Atom)