170424-0430_TIL
24 Apr 2017 | TIL4월 30일 (일)
오늘 한 일 (회고)
- Big-O 관련해서 작성한 블로그 글을 다시 작성했다.
- Problem Solving with Algorithms and Data Structures 의 Big-O 부분을 읽고 연습문제를 풀어보았다.
- 알고리즘 문제를 풀었다.
- 스터디 참여
- 알고리즘 문제 풀이
- 프로젝트 기능 관련 회의
- 앞으로 공부해야 하는 부분들 정리
내일 할 일
- AskDjango 장고 기본강의 듣고 실습하기
4월 29일 (토)
오늘 할 일(계획)
- 파이썬 웹프로그래밍 책 읽고 실습 - 설계에 주의 하면서 연습할 것 (스터디 적용방법 함께 고민)
오늘 한 일 (회고)
- 파이썬 웹프로그래밍](http://www.yes24.com/24/goods/17295239?scode=032&OzSrank=1) 책을 읽고 간단한 투표 어플리케이션을 만들었다.
- 글로 정리되어 있어서 그런지 동영상 강의 보다 좀 더 체계적이고 구체적이라는 인상을 받았다. (괜찮은 것 같다!)
- 책에 장고를 활용한 개발 순서에 대한 부분이 도움이 되었다. (이 부분은 앞으로 참고하고 싶어서 따로 정리해두었다.)
- 결국 django 공식문서 가 가장 좋은 교제라는 의견이 가장 많은 것 같다.
- 새롭게 django 프로젝트를 생성할 때 마다 개발환경을 설정하는 부분을 반복해서 찾아봤었다. 블로그에 올려 놓은 글도 흩어져 있어서 이번 기회에 다시 정리하였다. 매번 찾아보는 python 개발환경 세팅 (pyenv, virtualenv, autoenv) + django 프로젝트 및 앱 생성하기
내일 할 일
- 스터디 준비 (Big-O 부분 예습하기) 및 스터디 참여
- 책에서 읽은 장고 개발 절차를 미니 프로젝트에 어떻게 적용할지 생각해보기
- 파이썬 웹프로그래밍 chapter4 읽기
4월 28일 (금)
5/8 개강하는 웹프로그래밍 스쿨이 11일 남았다. 남은 시간 동안 무엇을 공부하며 어떻게 보내는게 좋을까? (우선순위)
- django 공식문서 읽고 연습 - 영어문서에 익숙해 질 것!
- AskDjango 수업
- 자료구조 알고리즘 공부 (스터디)
- 파이썬 웹프로그래밍 책 읽으며 실습
- 생활코딩 github (gui) 강의듣고 sourcetree를 사용한 git 활용법 익히기
오늘 할 일 (계획)
- [] codility 알고리즘 문제 풀기
- askdjango 강의 듣고 실습
- Git flow, GitHub flow, GitLab flow 꼭 읽기
오늘 한 일 (회고)
- 여행 블로그 연습 프로젝트 진행
- 동작 단위별로 커밋하기에 신경쓰면서 연습을 진행하였다. (확실히 다시 보기에 편한 것 같다! 앞으로 모든 연습 프로젝트의 커밋을 더 신경써야겠다는 생각을 했다.)
- google map 적용과 댓글 추가, 수정, 삭제 기능을 구현하였다.
- git flow에 관련된 글을 읽고 테스트를 위한 collaborator 계정과 repository를 만들어 연습해보았다. github 웹후크를 등록하고 slack을 사용하여 변경사항 알람을 받도록 설정했다.
- commit, branch 전략 잘 짜는 법 : GUI tool을 사용하면 브랜치를 한눈에 파악하기 좋고, 파일 단위가 아닌 원하는 코드 일부만 (line, hunk 단위로) commit이 가능하다.
- Github-flowを分かりやすく図解してみた - Github-flow에 대해서 순서대로 쉽게 따라할 수 있는 글이다. 번역하고 싶은데 2014년도 글이라 github 디자인이 달라졌다는 점이 조금 마음에 걸린다. 그리고 번역을 허락해 주실까?
- Git flow, GitHub flow, GitLab flow
4월 27일 (목)
오늘 할 일 (계획)
컴퓨터 공학 수업 참여 (마지막 수업!)스크랩핑, 크롤링 수업내용 정리vagrant 설치하고 가상환경 위에 postgreSQL 설치
오늘 한 일
- 컴퓨터 공학 마지막 수업에 참여하였다.
- 플래닝 포커 를 통해서 주어진 문제를 푸는데 어느정도의 시간이 걸릴지 협의하고, 2명씩 팀을 이루어 페어 프로그래밍 을 진행하였다.
- 전략을 제시하는 네비게이터와 코드를 작성하는 드라이버의 역할을 5분에 한번씩 돌아가면서 맡았는데 신선하고 즐거운 경험이었다. 비록 3문제 중에 1문제 밖에 풀지 못했지만 생각했던 풀이 방식에 대해서 상대방에게 말로 설명하면서 막연했던 생각이 더 구체화 되는 기분도 들었다.
- 배려심 있는 좋은 팀원을 만나 즐겁게 진행했는데, 그렇지 않은 팀도 있었나보다 (‘잘하면 고효율, 못하면 가문의 원수가 되는 짝프로그래밍’ 이라는 말이 그냥 나온 말이 아닌가 보다..)
- 실력도 중요하지만 무엇보다 함께 일하고 싶은 사람 이 되어야겠다는 생각을 다시 했다.
- 한달 동안 거의 매일같이 수업에 참여했는데, 수업 이전에 3달 정도를 혼자 공부하다가 다른 사람들과 함께 공부하니 즐거웠다. 특히 바로 궁금한 걸 물어볼 수 있는 선생님이 계시는 게 좋았다.
- 스크랩핑, 크롤링 수업 내용을 다시 연습하고 강의노트를 정리했다. 아직 구체적으로 필요성을 느끼지 못해서 그런지 적극적으로 찾아서 배우고 싶다는 마음은 (아직은) 생기지 않는다. 그리고 무엇보다 만들고 싶은걸 하려면 공부해야 할 것들이 많다..!
- django 연습 프로젝트의 github의 커밋 이력을 다시 읽어보았다. 그동안은 별다른 기준 없이 커밋을 진행했지만, 이제부터는 선생님의 패턴을 참고하여 신경써서 진행하려고 한다. 복습겸 깃헙에서 커밋 이력을 살펴보았는데, 작은 단위로 커밋을 진행하니 훨씬 코드를 수정사항을 이해하기 빠르다는 인상을 받았다.
내일 할 일
- codility 알고리즘 문제 풀기
- django 공부하기! (AskDjango)
4월 26일 (수)
오늘 할 일 (계획)
- 8퍼센트 알고리즘 문제 풀어보기
Django ORM 왜 어렵게 느껴질까? 읽기강사님께 문의 드리기 (퀵소트 시간 복잡도)Flask, sqlite 활용하여 동아리 회원 연락처 목록 페이지 구현하기 (숙제)
오늘 한 일 (회고)
- Flask, sqlite를 사용하여 db를 화면에 표시하고, form을 사용하여 post로 전송한 데이터를 db에 저장하는 기능을 연습했다. django에서 구현해본 기능이라 공식문서를 찾아보면 쉽게 구현할 수 있지 않을까 생각했는데 생각보다 시간이 걸렸다. 그동안 한국어로 된 동영상 강의를 보면서 너무 쉽게만 배운려고 한건 아니었나 생각이 들었다. 앞으로 일부러라도 공식 기술 문서를 읽고 원하는 기능을 구현하는 경험을 쌓아야겠다.
내일 할 일
- vagrant 설치하고 가상환경 위에 postgreSQL 설치
- django 프로젝트 내 app 구분 기준에 대해서 선생님께 의견 들어보기
- 컴퓨터 공학 입문 마지막 수업 참여
4월 25일 (화)
오늘 할 일 (계획)
- BinaryGap 알고리즘 문제 다른사람 풀이 살펴보기
- Big-O 에 대해서 공부하고 알고리즘 문제 풀이 코드의 Big-O 구하기
- 강사님께 문의 드리기 (퀵소트 시간 복잡도)
오늘 한 일 (회고)
- BinaryGap알고리즘 문제의 다른 사람 코드를 살펴보았다. strip(), split() 메소드를 사용해서 코드 1줄로 해결하는 풀이가 인상적이었다. (나는 왜 저런 식으로 접근하지 못했을까!) 충분히 고민을 해본 뒤에 잘하는 사람의 코드를 보면 항상 감탄하게 되고 배우는 것도 많은 것 같다.
- 앞으로 알고리즘 문제를 풀면서 big-O를 함께 구해보려고 하는데, 내가 구한 Big-O가 맞는건지 모르겠다. 이 부분은 선생님께 조언을 들어봐야겠다. 찾아보니 코드를 넣으면 big-O를 자동으로 구해주거나 하는 프로그램은 없는 것 같다. (Big-O is easy to calculate, if you know how)
- 컴퓨터 공학 입문 수업에 참여했다. (flask , sqlite db 사용)
내일 할 일
- flask와 sqlite를 사용하여 연락처 웹페이지 만들기 (숙제)
4월 24일 (월)
오늘 할 일(계획)
- 8퍼센트 알고리즘 문제 풀어보기
컴퓨터 공학 입문 수업 듣기- github 관련 자료 읽기 (github flow)
AskDjango 이미지 썸네일 처리 관련 강의 듣기- Django ORM 왜 어렵게 느껴질까?
오늘 한 일 (회고)
- 컴퓨터 공학 입문 수업을 들었다.
- 수업시간에 flask를 사용해 보았는데 router, view를 한번에 처리하고,
startproject를 통해서 프로젝트 폴더 세트를 생성할 필요 없이 파이썬 파일 하나로 바로 서버를 띄울 수 있어서 간편하다고 느꼈다. - 웹 스크랩핑을 진행했다. 네이버 블로그 검색결과에서 제목과 링크만 가져오는 간단한 작업이었는데, 마치 DOM 탐색을 하는 것 같은 인상을 받았다. 잘 사용하면 아주 유용하겠다는 생각이 든다. AskDjango에서 크롤링 강의도 들어봐야지
- 수업시간에 flask를 사용해 보았는데 router, view를 한번에 처리하고,
- 사용자가 업로드한 이미지 확장자를 바꾸고, png의 경우 압축률 지정을 통해서 용량을 줄일 수 있다는걸 배웠다.
- 최근 영어 스터디 게시판에 이미지 업로드 기능을 추가했는데, 테스트로 unsplash 사이트의 고화질 대용량 사진을 올렸더니 로딩시간이 길어지는 문제가 있었다. 이미지 확장자를 png로 바꾸고 압축률을 지정해서 해결이 가능한지 확인해봐야겠다.
- AskDjango 여행 블로그 만들기 실습을 시작했다.
- github 커밋을 어떤 단위로 하는게 좋을까 감이 잘 잡히지 않는데, 강의 중에 커밋을 함께 진행하는 부분을 살펴보니 아래와 같은 규칙(?)을 발견 할 수 있었다.
- 신규 model class 클래스를 추가 했을 때 (admin 등록 등 포함)
- 기존 model class에 새로운 컬럼을 추가 했을 때
- view에 FBV, CBV를 추가 했을 때 (template, url패턴 추가 수정 포함)
내일 할 일
- 8퍼센트 알고리즘 문제 풀어보기
- Django ORM 왜 어렵게 느껴질까? 읽기
- github 관련 자료 읽기 (github flow)
- 컴퓨터 공학 입문수업 참여