Designing a RESTful API with Python and Flask
RESTful API는 URI에 필요한 인자를 다 넘기는 형태라 사용자가 직접 주소를 입력하는 것이 아니라 다른 SW에서 해당 URI를 입력하는 형태로 사용하는 게 자연스러운 거네.
virtualenv 설치
mini-2:~ cychong$ sudo easy_install pip mini-2:~ cychong$ sudo pip install virtualenv virtualenv로 project directory 생성
mini-2:work cychong$ mkdir click mini-2:work cychong$ cd click/ mini-2:click cychong$ ls mini-2:click cychong$ virtualenv venv New python executable in venv/bin/python Installing setuptools, pip, wheel...done. mini-2:click cychong$ ls venv virtualenv 환경으로 들어가기
mini-2:click cychong$ . venv/bin/activate 원하는 패키지 설치
(venv)mini-2:click cychong$ pip install Click Collecting Click Downloading click-6.2-py2.py3-none-any.whl (70kB) 100% |████████████████████████████████| 73kB 270kB/s Installing collected packages: Click Successfully installed Click-6.
from Google Work Rules
2006년에 구글에 입사. 72년 생
구글 임직원 나이 평균에 비하면 많지만, 그래도 비슷한 덩치의 국내 기업의 인사 담당자와 비교하면. 하긴 구글을 국내 (대)기업과 비교하는 것 자체가 의미없는 일이지만
과연 현실은 그렇다해도 저런 생각을 가진 사람을 주변에서 볼 수 있을까?
그러기에 현실은 너무 지난하다.
Another Open source project.
User-land protocol stack. Incorporate with ODP
To use with DPDK, ODP and ODP-DPDK should be used.
From the FAQ
Q: Does the OFP IP stack mimic Linux stack config inside the fastpath, meaning does it intercept Linux ipconfig/ip commands and automatically create similar entities inside the fastpath stack? A: Yes. Uses Netlink to sync with ifconfig commands and also with routes. Q: Does the OFP IP stack have full IPv4/IPv6 fragmentation/re-assembly support?
Linux에서 사용하는 기본 page size는 4KB. 이 대신 2MB 혹은 1GB의 큰 크기를 hugepage라고 한다. Hugepage는 연속된 physical memory에 할당되어야 한다는 제약 조건이 있지만, 대신 swap out되지 않아 성능 개선 효과가 있다.
아래 링크에서는 Oracle DB를 사용하는데 page swapping때문에 CPU 부하가 간헐적으로 크게 증가하는 현상을 hugepage를 사용해서 해결한 경우.
Performance tuning : hugepages in Linux Enabling huge pages for shared memory 기왕 hugepage를 사용한다면 shared memory도 hugepage에 할당하는 것이 유리할 듯.
난 특히 멀티태스킹이 안된다.
하나에도 제대로 집중하기 힘들다. 11월은 아무 쓸데없는 TF 2개에 참여하느라 제대로 일을 못했다. 정말…
Last login: Thu Dec 10 00:38:48 on ttys000 Chae-yongs-MacBook-Pro:~ cychong$ Chae-yongs-MacBook-Pro:~ cychong$ vi hard.txt Chae-yongs-MacBook-Pro:~ cychong$ ack “You have to” hard.txt | sort | uniq > a Chae-yongs-MacBook-Pro:~ cychong$ vi a Chae-yongs-MacBook-Pro:~ cychong$ ack “You have to” hard.txt | uniq > a Chae-yongs-MacBook-Pro:~ cychong$ vi a
You have to do the hard things. You have to make the call you’re afraid to make. You have to get up earlier than you want to get up.
부정하기 어렵다. 하지만 코드가 늘어나는 것은 피할 수 없으니 불필요한 기능/코드는 삭제하는 노력을 끊임없이 해야 한다. 그렇지 않으면 technical debt만 늘어날 뿐이다. 개발할 때는 제대로 이해하고 만들어서 technical debt가 아니었더라도 시간이 지나 동작하지 않는 코드가 되면 불필요한 짐만 된다.
출처 : Harvard Businee Review
최소 52개 대형 회사가 기존 년 단위의 고과 평과 제도를 없앰. 이 중 33개 업체를 집중 분석하여 해당 업체에서 일어난 변화를 정리
manager-employee간 대화가 극적으로 증가. 33개 미국 기반의 업체 중 76%는 기존에 1년 단위의 역량 대화를 나눴으나, 이젠 68%가 최소 분기별 대화를 권장하고 있다고 함.
관리 부담이 크게 줄어듬 33개 업체의 2/3에서 역량 평가를 위한 관리자의 문서 작성 요구가 공식적으로 줄어듬. 다른 30% 업체는 문서 작성을 아예 없앰.
Neuron
Python project 체계를 잡는데 도움이 될 듯 하다. 아래는 pylink를 이용해서 syntax 검사하는 script
https://github.com/openstack/neutron/blob/master/tools/coding-checks.sh