9xD Django Study
파이썬 웹프로그래밍 - Django로 배우는 쉽고 빠른 웹개발 Charter 2
발표자 - 김한성
ppt 내용 : 실습 예제 및 내용 요약
개발툴 : pycharm
개발환경 : python 3.5 이용(일부 예제의 경우 동작안함 - 주석 참고)
소스코드 : 2 page github 링크이용
* 혼자 공부하려고 만든 자료이기 때문에 정확하지 않는 내용이나 오류가 있을 수 있습니다. 잘못된 점은 언제든지 고쳐주시면 배우겠습니다.
* phpDocumentor란?
phpDocumentor는 제작한 프로젝트에 대해서 문서화 해주는 도구를 말한다. 공식 홈페이지에서는 'PHP에 대한 세계 표준 자동 문서 도구(phpDocumentor is the world standard auto-documentation tool for PHP.)'라고 설명하고 있다.
우선은 phpDocumentor가 왜 수면위로 떠오르게 되었는지에 대해서 짚고 넘어가야 할 것 같다. PHP는 본래 컴파일 없이 라인 단위로 처리하는 스크립트 언어이다. 아무래도 스크립트 언어는 라인별 처리라는 개념 덕분인지 진입장벽이 낮아 독학하기에 좋은 언어였다. 그로 인해 사용률이 많아지고 인기가 많아지는 동시에 스크립트 언어에 대한 약점에 대해서 생각하게 되었던 것 같다. PHP 5로 넘어가면서 본격적으로 객체에 대한 개념이 강화되고, 이를 이용한 다양한 프레임워크가 개발되고 있다. 스크립트 언어에 대한 약점을 컴파일 언어에서 그 해답을 찾고자 했던 것 같다.
컴파일 언어의 대표적인 사례인 JAVA에서는 이미 javadoc이라는 문서화 도구가 존재하고 있었다. 아마도 phpDocumentor는 javadoc의 php 버전이었으리라. 사용 방법도 javadoc과 크게 다르지 않다. php도 객체지향 개념이 나오면서 어떤 정형화된 패턴이 나오는 것이 가정해졌기 때문에 그 공통적인 부분을 문서를 만들 수 있게 되었다.
* 주석
주석은 자신을 포함하여 프로젝트에 참여하는 사람들에게 쉽게 알아볼 수 있도록 하는 역할을 해준다. 주석을 최소화하는 것을 장려하는 사람들도 있긴 하지만, 프로젝트가 커질 수록 작은 코드가 어떤 역할을 할 수 있는지 모를 수도 있다. 그때 작업자는 그 코드에 대해서 설명글을 달아줄 수 있다. 주석은 사람이 알아볼 수 있게 쓰는 일종이 메모의 역할을 한다.
* 마무리
phpDocumentor로 대단한 것을 할 수 있는 것은 아니다. 어쩌면 이 도구로 할 수 있는 것은 자료보관일 뿐일 것이다.
사실 Phpdoc이 많은 곳에서 쓰이고 있지는 않다. 대부분의 개발자들은 코드를 보면 쉽게 알 수 있을 것이라고 말하거나 귀찮아 한다. 그만큼 손도 많이 가고 굳이 해야 하나 싶기도 하는 작업이 바로 이 작업이다. 프로젝트가 개발자에 종속되는 것은 매우 좋지 않은 현상이며, 많은 개발자들이 수긍할 수 있는 코드가 좋은 프로젝트라고 생각한다. 그들이 쉽게 프로젝트의 유지보수에 투입되려면 한눈에 정리되어있는 문서가 필요한데 문서의 유지보수는 생각보다 어렵다. 그래서 이 도구가 문서를 작성하는 데에 중요한 역할을 하는 것이다.
이번 강의에서는 람다함수에 대해 알아보겠습니다.
앞서 배운 함수를 이용하면 필요한 기능의 재사용이 가능하기 때문에, 함수를 정의한 후 필요할 때마다 호출하여 사용하면 편리한데 이러한 방식으로 프로그램을 하는 방식을 모듈화 프로그래밍 이라고 한다.
그러나 가끔씩은 함수를 만들지 않고 함수화된 기능만을 불러 사용하고자 할 경우가 있는데, 이렇게 하면 프로그램을 단순하게 만들 수 있다.
즉 1회용으로 함수를 만들고 싶은데 def xxx(): 과 같은 이름을 짓는 것이 번거롭게 느껴질 경우에 사용하는 것이 람다함수 혹은 람다표현식이다.
- 강의 키노트 자료는 다음 링크를 통해 다운 받으세요
https://drive.google.com/drive/folders/1UrrO4_ch4xcIErbExstwpUVY6vFvPdkW
- 강의 소스코드는 다음 링크를 통해 다운 받으세요
https://github.com/dongupak/Basic-Python-Programmingwjd
파이썬으로 코딩 기초를 배우고 플라스크로 웹서비스 개발을 배우는 과정을 다루고 있습니다.
- 입문용 자료입니다.
ABCD : http://www.abcds.kr/
Facebook Group : https://www.facebook.com/groups/562787713823026/
한성일 : https://www.facebook.com/jamie.han.16
iheart79@gmail.com
9xD Django Study
파이썬 웹프로그래밍 - Django로 배우는 쉽고 빠른 웹개발 Charter 2
발표자 - 김한성
ppt 내용 : 실습 예제 및 내용 요약
개발툴 : pycharm
개발환경 : python 3.5 이용(일부 예제의 경우 동작안함 - 주석 참고)
소스코드 : 2 page github 링크이용
* 혼자 공부하려고 만든 자료이기 때문에 정확하지 않는 내용이나 오류가 있을 수 있습니다. 잘못된 점은 언제든지 고쳐주시면 배우겠습니다.
* phpDocumentor란?
phpDocumentor는 제작한 프로젝트에 대해서 문서화 해주는 도구를 말한다. 공식 홈페이지에서는 'PHP에 대한 세계 표준 자동 문서 도구(phpDocumentor is the world standard auto-documentation tool for PHP.)'라고 설명하고 있다.
우선은 phpDocumentor가 왜 수면위로 떠오르게 되었는지에 대해서 짚고 넘어가야 할 것 같다. PHP는 본래 컴파일 없이 라인 단위로 처리하는 스크립트 언어이다. 아무래도 스크립트 언어는 라인별 처리라는 개념 덕분인지 진입장벽이 낮아 독학하기에 좋은 언어였다. 그로 인해 사용률이 많아지고 인기가 많아지는 동시에 스크립트 언어에 대한 약점에 대해서 생각하게 되었던 것 같다. PHP 5로 넘어가면서 본격적으로 객체에 대한 개념이 강화되고, 이를 이용한 다양한 프레임워크가 개발되고 있다. 스크립트 언어에 대한 약점을 컴파일 언어에서 그 해답을 찾고자 했던 것 같다.
컴파일 언어의 대표적인 사례인 JAVA에서는 이미 javadoc이라는 문서화 도구가 존재하고 있었다. 아마도 phpDocumentor는 javadoc의 php 버전이었으리라. 사용 방법도 javadoc과 크게 다르지 않다. php도 객체지향 개념이 나오면서 어떤 정형화된 패턴이 나오는 것이 가정해졌기 때문에 그 공통적인 부분을 문서를 만들 수 있게 되었다.
* 주석
주석은 자신을 포함하여 프로젝트에 참여하는 사람들에게 쉽게 알아볼 수 있도록 하는 역할을 해준다. 주석을 최소화하는 것을 장려하는 사람들도 있긴 하지만, 프로젝트가 커질 수록 작은 코드가 어떤 역할을 할 수 있는지 모를 수도 있다. 그때 작업자는 그 코드에 대해서 설명글을 달아줄 수 있다. 주석은 사람이 알아볼 수 있게 쓰는 일종이 메모의 역할을 한다.
* 마무리
phpDocumentor로 대단한 것을 할 수 있는 것은 아니다. 어쩌면 이 도구로 할 수 있는 것은 자료보관일 뿐일 것이다.
사실 Phpdoc이 많은 곳에서 쓰이고 있지는 않다. 대부분의 개발자들은 코드를 보면 쉽게 알 수 있을 것이라고 말하거나 귀찮아 한다. 그만큼 손도 많이 가고 굳이 해야 하나 싶기도 하는 작업이 바로 이 작업이다. 프로젝트가 개발자에 종속되는 것은 매우 좋지 않은 현상이며, 많은 개발자들이 수긍할 수 있는 코드가 좋은 프로젝트라고 생각한다. 그들이 쉽게 프로젝트의 유지보수에 투입되려면 한눈에 정리되어있는 문서가 필요한데 문서의 유지보수는 생각보다 어렵다. 그래서 이 도구가 문서를 작성하는 데에 중요한 역할을 하는 것이다.
이번 강의에서는 람다함수에 대해 알아보겠습니다.
앞서 배운 함수를 이용하면 필요한 기능의 재사용이 가능하기 때문에, 함수를 정의한 후 필요할 때마다 호출하여 사용하면 편리한데 이러한 방식으로 프로그램을 하는 방식을 모듈화 프로그래밍 이라고 한다.
그러나 가끔씩은 함수를 만들지 않고 함수화된 기능만을 불러 사용하고자 할 경우가 있는데, 이렇게 하면 프로그램을 단순하게 만들 수 있다.
즉 1회용으로 함수를 만들고 싶은데 def xxx(): 과 같은 이름을 짓는 것이 번거롭게 느껴질 경우에 사용하는 것이 람다함수 혹은 람다표현식이다.
- 강의 키노트 자료는 다음 링크를 통해 다운 받으세요
https://drive.google.com/drive/folders/1UrrO4_ch4xcIErbExstwpUVY6vFvPdkW
- 강의 소스코드는 다음 링크를 통해 다운 받으세요
https://github.com/dongupak/Basic-Python-Programmingwjd
파이썬으로 코딩 기초를 배우고 플라스크로 웹서비스 개발을 배우는 과정을 다루고 있습니다.
- 입문용 자료입니다.
ABCD : http://www.abcds.kr/
Facebook Group : https://www.facebook.com/groups/562787713823026/
한성일 : https://www.facebook.com/jamie.han.16
iheart79@gmail.com
『이펙티브 디버깅』 - 디버깅 지옥에서 탈출하는 66가지 전략과 기법복연 이
『이펙티브 디버깅』 디버깅 지옥에서 탈출하는 66가지 전략과 기법
디오미디스 스피넬리스 지음 | 남기혁 옮김 | 한빛미디어 | 24,000원
★ 소프트웨어의 완성은 디버깅!
이 책은 경험이 풍부한 개발자를 대상으로 소프트웨어를 완성하는 마지막 기술을 가르친다. 저자는 35년 경험에서 깨우친 일반 원칙, 높은 수준의 전략, 구체적인 기술에 관한 조언, 효율 높은 도구, 창의적인 기법, 효과적인 디버깅과 관련된 행동 특성을 제시한다. 저자가 제안하는 66개의 전문 기법을 통해 디버깅 역량을 확장하고, 각 문제 상황에 맞는 최상의 접근법을 선택할 수 있을 것이다.
★ 주요 내용
다양한 소프트웨어 장애를 해결하는 높은 수준의 전략과 방법
프로그래밍, 컴파일, 실행 시 적용할 구체적인 기법
디버거를 최대한 활용하는 방법
믿고 투자해도 좋은 범용 기술과 도구
막다른 길과 복잡한 미궁에서 탈출하는 첨단 아이디어와 기법
디버깅하기 쉬운 프로그램을 만들기 위한 조언
멀티스레딩, 비동기, 임베디드 코드 디버깅에 특화된 접근법
향상된 소프트웨어 설계, 구축, 관리를 통한 버그 회피법
Light Tutorial Django
Studybee 3주차 - 가볍게 배우는 장고!!
Django를 이용해 블로그를 만들기 전에 가볍게 Django에 대해 알아보고 익숙해져 봅시다.
**http://www.studybee.kr 에서 운영하는 '초심자를 위한 웹개발' 클래스에서 만드는 교재이며,
장고를 이용해 간단하게 블로그를 만드는 것을 목표로 하고 있습니다.
모바일 앱 성능 분석 방법 101 (Mobile Application Performance Analysis Methodology 101) YoungSu Son
모바일 앱 성능 분석 방법에 대해서 설명을 드립니다
- 기존 서버 APM과 모바일에서의 성능 기준의 차이
- 모바일 제약사항및 아키텍처
- 안드로이드는 어떻게 발전해 왔나
- Vectorization
- Loop
- Redex / Optimized Layout
- Garbage Collector
- 제조사가 보장해야 되는 성능
- 개발사가 고민해야 되는 영역
- 실사례 설명
- 갤럭시노트 2의 점유율
- Xiaomi 폰의 국내 4위 시장 점유율
- 여러가지 모바일 성능 리포트
2. 학습목표
-로그를 남기는 불편함과 문제점에 대해 생각해 봅니다.
!
-기존의 프로젝트에 Log4j를 적용을 할 수 있습니다.
!
-Log4j를 사용하여 일별로 로그파일을 남길 수 있습니다.
!
-Log4j를 사용하여 시스템 자원의 걱정 없이 오래된 로그파일을 지우고
다시 작성할 수 있게 할 수 있습니다.
9. Q : 한 로그파일에 너무 많은 데이터가 다 쌓여있어서 보기 힘들어요!
A : 로깅 함수에 시스템 날짜에 맞게 파일명을 바꾸어서
로그파일을 구분할 수 있도록 함수를 수정하겠습니다!
!
Q : 시스템을 오랫동안 사용했더니 컴퓨터 용량이 꽉찼어요!
A : 너무 오래된 것은 지우도록 하겠…
!
Q : 이곳이 말이죠…
A : (언제 핵심기능을 수정하지?!)
18. TRACE < DEBUG < INFO < WARN < ERROR < FATAL
로그 레벨
중요덜 중요
중요도에 따라 레벨을 달리 설정하여
로그를 분류할 수 있다.
!
또 하위 레벨은 상위 레벨을 포함하여
로그를 분류한다.
!
예를 들어 로그 레벨을 WARN을 선택하면
WARN, ERROR, FATAL 레벨의 로그만 기록을 한다.
36. Log Data Management Pattern
로그를 잘 남기는 패턴
PLOP 05년 Conference에 발표된 Log Data Management Pattern
http://hillside.net/plop/2005/proceedings/PLoP2005_araveh0_1.pdf
37. 로그 최대 사이즈를 할당하는 방법
최대 사이즈에 도달하게 되면, 로그 파일을 재사용하고
다음 메세지는 동일한 로그파일 시작부분에 작성
!
-그전에 있었던 모든 로그 데이터들은 다 지워짐
Linear Bound Log
로그 최대 사이즈를 할당하는 방법
최대 사이즈에 도달하게 되면, 로그 파일을 재사용하고
다음 메세지는 동일한 로그파일 시작부분에 작성
!
-그전에 있었던 모든 로그 데이터들은 다 지워짐
Cyclic Buffer Log
38. Linear Bound Log의 단점을 극복하기 위해,
Linear Bound Log를 여러개를 만드는 방법
!
하나의 로그가 맥시엄 사이즈에 도달하게 되면
새로운 로그를 생성하게 되고 N번 만큼 생성하게 되고
다시 처음 Log 부터 기록
Nx Linear Bound Log