분류 전체보기(18)
-
2020.03.21(Sat) - 공부해야할 목록 (계속 업데이트)
보호되어 있는 글입니다.
2020.03.21 -
Python - Threading.Thread
Thread 파이썬 프로그램은 기본적으로 Single Thread에서 실행된다. 즉 하나의 main thread가 python code를 순차적으로 실행하게 된다. 코드를 병렬(Parallel)로 실행하기 위해서 Subhread를 생성해야 하는데, 파이썽네서 쓰레드를 생성하기 위해 threading module을 통한 High Level과 thread module을 통한 Low Level을 사용할 수 있다. thread모듈을ㅇ 넉의 deprecate되어 사용되지 않고 대부분 threading모듈을 사용하고 있다. Threading Module 파이썬에서 threading module의 threading.Thread() 함수를 호출하여 Thread 객체를 얻은 후, Thread 객체의 start() met..
2020.03.16 -
SOLID 원칙
SOLID 원칙 SOLID 원칙이란 객체지향 설계에서 지켜줘야 할 5개의 원칙을 말한다. 이러한 설계원칙을 알아야하는 이유는 시스템에 예쌍하지 못한 변경사항이 발생하더라도, 유연하게 대처하고 이후에 확장성(Scalable)한 시스템 구조를 설계하기 위해서이다. 좋은설계란, 시스템에 새로운 요구사항이나 변경사항이 있을 때, 영향을 받는 범위가 적은 구조를 말한다. 1. SRP(Single Responsibility Principle), 단일 책임 원칙 객체는 단 하나의 책임(기능)만을 가진다. 객체지향적(Object Oriented)으로 설계할 때는 응집도는 높게, 결합도는 낮게 설계하는 것이 좋다. * 응집도 * 한 프로그램의 요소가 얼마나 뭉쳐있는지, 구성 요소들 사이의 응집력 * 결합도 * 프로그램 ..
2020.03.15 -
Git 특정 브랜치의 업데이트 된 내용을 내가 작업하는 브랜치로 가져오는 방법
1. 내 오랜 고민들 글쓴이는 오랜시간 git을 아주아주 얕은 개인저장소로 이용하면서 항상 몇가지 고민을 해왔는데 작업속도가 느리기 때문에 최신으로 업데이트 되는 공동 저장소의 코드를 가져와야하는 경우가 많았었다. 인원이 얼마 되지 않으면 모르겠지만 이번에 처음으로 개발다운 개발을 해보면서 이 부분에 대한 학습이 필요했다. 경력직분이 알려주신 git pro book을 기반으로 공부했고, 일단 당장 급하게 쓰는데 까먹을 경우를 대비하여 이 내용을 남긴다. 2. 접근법 내가 원했던 내용을 작성하는 대부분의 글들은 다음과 같은 상황을 전제했다. Github에서 좋은 프로젝트를 발견했고 유용하게 사용하다보면 Contribution을 하고 싶은 상황이 생긴다. 프로젝트를 fork하고 PR merge를 수행하면 되..
2020.03.07 -
Python 개발 Tip
최근 팀 프로젝트 개발에 참여하면서 얻어가는 몇가지 사항들 코딩 컨벤션 - python 의 경우, import 하는 순서가 built-in, external, written된 순서로 import하게 되어있다. 변수/함수명은 직관적이면서 해석이 쉽도록 단/복수에 신경쓰거나, 키워드 선정에 유의해야한다. 가장 작은 단위까지 나눠서 테스트해야 개발에 불필요한 요소들을 없앨 수 있다. (Test가 편하기 때문이다. commit 전에 항상 code style check, static typing을 검토하는 시간을 가지자.
2020.03.04 -
<2020.03.02> Git을 사용하는 방법에 대한 생각
이 글을 왜 쓰는가? 오래 전부터 Git은 개발자의 숙명이고 필수도구 중 하나로 들어왔었고, 개인적인 저장소로 쓰면서도 아 약간은 편리하구나 라고 생각해온 바가 있다. 그러나, 항상 학부 팀프로젝트든 연구실 프로젝트든 branch를 여러가지 따면서 엉키고 꼬이기 일수인터라 제대로 활용을 못했었는데, 괜찮은 포스팅들과 gitpro e-book을 봐가며 몇가지 정리해보고자 한다. 특정 브랜치에 새로 개발한 기능을 추가하기 command line으로는 다음과 같다. $ git checkout -b /* 원하는 기능에 대한 작업수행 */ $ git checkout $ git merge --no-ff $ git branch -d 위와 같이 명령어를 수행하면 일단 내가 생각하는 상황에서는 아무런 문제없이 기준이 되..
2020.03.03