2019년 2월 2일 토요일

2019년 1월 안드로이드 보안 특강

2019년 1월 안드로이드 보안 특강(@단국대)

단국대에서 3일간 진행한 안드로이드 보안 특강 강의 내용과 자료

내용 강의 자료 실습 포함 강의 시간
1일차 안드로이드 구조 및 보안 개요 안드로이드 보안 개요 ppt 1시간
안드로이드 테스팅 안드로이드 테스팅과 퍼징 ppt 2시간
점심/휴식 1시간
안드로이드 퍼징 3시간
2일차 안드로이드 역공학 안드로이드 역공학 ppt 3시간
점심/휴식 1시간
안드로이드 난독화 안드로이드 난독화 ppt 30분
안드로이드 권한 안드로이드권한 ppt 2.5시간
3일차 안드로이드 코드 서명 안드로이드 코드 서명  ppt 30분
안드로이드 SafetyNet 안드로이드 SafetyNet ppt 2.5시간
점심/휴식 1시간
안드로이드 암호 안드로이드 암호 API ppt 2.5시간
안드로이드 앱 보안 가이드 안드로이드 앱 보안 가이드 ppt 30분



2018년 1월 2일 화요일

2018년 1월 겨울 산기대 창의실천 오픈소스 특강

2018년 1월 겨울 산기대 창의실천 오픈소스 특강

강의자료 https://jyheo.github.io/github-lecture/
(강의 중간에 변경 될 수 있음, 내용 추가 예정)

1일차: 오픈소스 개요, Git 기초

오픈소스 소프트웨어 소개(2시간) https://jyheo.github.io/github-lecture/oss-intro.html
Git 기초, (2시간) https://jyheo.github.io/github-lecture/git-basic.html
Git 기초 실습 (1시간)

2일차: Git Branching

Git Branch 전반 (1.5시간) https://jyheo.github.io/github-lecture/git-branch.html
실습 (1시간)
Git Branch 후반 (1시간) https://jyheo.github.io/github-lecture/git-branch.html#19
실습 (1.5시간)

3일차: Git Remote

Github (1.5시간) https://jyheo.github.io/github-lecture/git-remote-github.html
실습 (1.5시간)
Github Issue (1시간) https://jyheo.github.io/github-lecture/github-issue.html
실습 (1시간)

4일차: Git Remote Branch

Git remote branch (2시간) https://jyheo.github.io/github-lecture/git-remote-branch.html
실습 (2시간)
Github page (1시간) https://pages.github.com/

추가 자료: 

gitflow https://drive.google.com/open?id=0B5tRdB4hr8DfajRsWktFZ1JscE0
Travis CI https://drive.google.com/open?id=0B5tRdB4hr8DfY05WME9nY3FRdEU
How to Contribute Open Source https://opensource.guide/how-to-contribute/
first timers only issues https://github.com/search?q=label%3Afirst-timers-only&state=open&type=Issues

2017년 7월 3일 월요일

2017년 7월 여름 산기대 창의실천 오픈소스 특강

2017년 7월 여름 산기대 창의실천 오픈소스 특강


강의 내용
1일차: 오픈 소스 소프트웨어 개요, git/github 기초, git branch 기초
2일차: git/github 고급(브랜치, git-flow, 협업, 이슈 관리), 지속적 통합(Continuous Integration), Travis CI

오픈 소스 소프트웨어 개요:
https://drive.google.com/open?id=0B5tRdB4hr8Dfc0VtTUtveFZKbnc
git/github 기초
https://drive.google.com/open?id=0B5tRdB4hr8DfS0hjMnlGOWc5Mmc
git/github 브랜치
https://drive.google.com/open?id=0B5tRdB4hr8DfWUx6NzJ4MnlYMXM
git-flow
https://drive.google.com/open?id=0B5tRdB4hr8DfajRsWktFZ1JscE0
github issue
https://drive.google.com/open?id=0B5tRdB4hr8DfZlJrazVSUDFPZFU
Travis-CI 기초
https://drive.google.com/open?id=0B5tRdB4hr8DfY05WME9nY3FRdEU

2017년 2월 28일 화요일

2017년 1학기 안드로이드 프로그래밍 강의 자료

안드로이드 프로그래밍 강의 자료

안드로이드 강의 자료를 markdown으로 만들어서 오픈 소스로 공개하였습니다.


왜 강의 자료를 오픈 소스로?

안드로이드는 너무 빨리 변하고, 이런 빠른 변화를 따라가는 교재는 찾기가 어렵습니다. 그래서 많은 강의자들이 함께 협력하면서 같이 개발하면 어떨까 하는 생각을 하여 오픈 소스로 강의 자료를 공개하게 되었습니다.

왜 Markdown으로?

원래 강의 자료는 지난 학기에 저희 학교 다른 교수님과 같이 PPT로 만들었었는데, 오픈 소스로 하기엔 PPT가 적절하지 않아서 markdown으로 다시 만들었습니다. PPT는 바이너리라서 git으로 버전관리와 협업이 쉽지 않기 때문에 텍스트 형식인 Markdown을 이용하였습니다. 작성된 Markdown 형식의 파일은 remarkjs와 decktape 을 이용하여 각각 html, pdf 버전으로 슬라이드가 생성됩니다. 다만 여기에서 사용하는 Markdown은 GFM(Github Flavored Markdown)으로 소스 코드를 보여주기 용이합니다. 그리고 추가로 remarkjs에서 사용하는 HTML 클래스 지정 방식을 사용합니다.

2017년 1월 3일 화요일

오픈소스소프트웨어 특강

오픈 소스 소프트웨어 

한국산업기술대학교 창의실천실2 겨울 특강

강의 내용
1일차: 오픈 소스 소프트웨어 개요, git/github 기초
2일차: git/github 고급(브랜치, git-flow, 협업, 이슈 관리)
3일차: 지속적 통합(Continuous Integration), Travis CI
4일차: 오픈소스 SW 프로젝트 통합 실습

오픈 소스 소프트웨어 개요:
https://drive.google.com/open?id=0B5tRdB4hr8Dfc0VtTUtveFZKbnc
git/github 기초
https://drive.google.com/open?id=0B5tRdB4hr8DfZWl4OWVPZkc5VDA
git/github 브랜치
https://drive.google.com/open?id=0B5tRdB4hr8DfWUx6NzJ4MnlYMXM
git-flow
https://drive.google.com/open?id=0B5tRdB4hr8DfajRsWktFZ1JscE0
github issue
https://drive.google.com/open?id=0B5tRdB4hr8DfZlJrazVSUDFPZFU
Travis-CI 기초
https://drive.google.com/open?id=0B5tRdB4hr8DfY05WME9nY3FRdEU

2016년 12월 1일 목요일

안드로이드 앱 프로그래밍 기말 시험 안내 (12월 16일)

A,N반 합반 기말 시험 안내


일시: 12월 16일 오후7시50분
장소: 탐구관 504호 


A반 학생 중 부득이 해당 날짜에 시험을 볼 수 없는 학생은 9일까지 담당 교수에게 문의 바랍니다.

2016년 11월 30일 수요일

안드로이드 앱 프로그래밍 13주차 - 텀 프로젝트 발표

텀 프로젝트 발표


12월5일까지 이메일로 아래 내용을 제출한다

github 링크
팀 명단

발표

실제 동작 데모를 보인다.(프로젝트 요구사항인 4가지 액티비티를 보이면 됨)

기타

A반에서 수업 듣는 N반 수강생들은 N반 수업에서 발표함
나머지 사항들은 텀 프로젝트 설명 문서 내용 참고
https://docs.google.com/document/d/1T8JXQqaiJGoYev-6-zr5YRYGjTu8CGYrClsq0MWbmFg/pub




2016년 10월 31일 월요일

안드로이드 앱 프로그래밍 8주차(11/2, 11/4): 위치 기반 서비스

위치 기반 서비스


강의 슬라이드:

https://drive.google.com/open?id=0B5tRdB4hr8DfSTg0aUVDbUV1bUU

실습:

https://drive.google.com/open?id=0B5tRdB4hr8DfNFJ0R2xjQkc5V0k

스마트 프로덕트 프로젝트 IPCAM 최종 프로젝트

프로젝트

최종 발표:

12월 6일

프로젝트 내용:

지금까지 배운 내용을 바탕으로 라즈베리파이를 이용한 IPCAM을 제작한다.

요구사항:

지금까지 배운 내용을 최대한 활용하고,
다양한 기능을 갖출 수록 점수가 높음

기타:

* 별도로 기말시험은 없음
* 절대 평가

스마트 프로덕트 프로젝트 11/1 IP카메라 Motion JPEG

IP카메라 Motion JPEG


웹 브라우져에서 비디오 스트리밍을 하는 방법으로 WebRTC가 있음.
그러나 구현이 쉽지는 않고,

Flask를 이용하여 Motion JPEG을 간단히 구현할 수 있음

https://github.com/jyheo/ipcam/blob/master/mjpeg.py

2016년 10월 25일 화요일

스마트 프로덕트 프로젝트 10/25 IP카메라 모션 검출과 저장

IP카메라 모션 검출과 저장

1. Circular Stream이용한 저장

picamera의 circular stream을 이용하여 메모리에 최근 영상만 계속 저장
모션이 검출되면 별도 파일로 저장

https://picamera.readthedocs.io/en/release-1.12/recipes2.html#splitting-to-from-a-circular-stream

2. 모션 검출

http://www.ostafichuk.com/raspberry-pi-projects/python-picamera-motion-detection/


실습

- 2의 모션 검출 방법을 참고하여 1의 detect_motion() 함수 완성
- 저장 파일의 이름을 before.h264, after.h264가 아니라 현재시간.before.h264, 현재시간.after.h264로 저장할 것. 예를 들어 201610225091055.before.h264

2016년 10월 24일 월요일

안드로이드 A,N 중간 시험 합반 공지

안드로이드 A,N반 28일 금요일 오후7시50분 합반으로 시험 실시합니다. 장소는 탐구관 405호