$ pyenv versions
* system (set by /Users/selochanlee/.pyenv/version)
install specific version
# check the installable version list
$ pyenv install --list
...
# install specific version
$ pyenv install 3.6.1
...
# confirm it whether installed or not
$ pyenv versions
...
create virtualenv with pyen and activate it
$ pyenv virtualenv 2.7.13 <venv_name>
...
# activate the installed version
$ pyenv activate <venv_name>
...
“인간은실수를반복한다.” 나 또한 몇 년 동안같은실패를반복했다. 한해한해계획을세웠고, 실패해왔다. 그래서올해새해계획은조금다르게세워보려한다. 반기새목 (반성기반새해목표설정)
반기새목 (반성기반새해목표설정)
먼저 올 한해실패한부분과성공한부분을구분하고, 실패한부분은실패요소를명확히하고이를토대로개선방향을찾는다. 성공한부분은성공이유를알아보고실패한부분에적용한다.
잡식
나는개발자다. 뒤늦게개발을시작했고, 열등감덕분에방향성없이정보를무작정입력하려는 안좋은(?) 학습버릇이있다. 이러한학습방법은나를빠르게성장시키고커리어를정하는데 큰 도움이되었다. 이러한학습법이잘못됐다는것이아니다. 학습자의수준에따라효율적인학습방법이존재한다고생각하며, 현재의나의수준에서기존학습방법은한계가있었기에변경은불가피했다. 올해는학습방향은UnManaged Language를 기반으로알고리즘 및 자료구조학습이며, 이를달성하기위한커리큘럼을세우고, 테스크로만들어학습할것이다.
테스크는최대한구체적이며, 작게, 실행가능한수준으로수립
2017년한해트렐로에수많은카드들이만들어졌다. 이 중에과연나에게의미가있는카드가 몇 장이나 될 것인가? 대략 20% 정도되는것같다. 왜 이렇게의미없는카드들이많이만들어 진것일까?
상사가계획없이, 생각없이부하직원에게업무를지시해고통을주듯, 나 또한나에게고민없이테스크를할당하고좌절감에빠지게만들었다. 그렇다고이러한테스크들이할가치가없고신경쓰지않아도될것들은아니다. 다만따로괸리되고인지되어야 할 필요가있다. 2017년에하나의보드에모든테스크를관리했다면, 올 한해는TODO, BACKLOG, BUCKET으로보드의성향을구분할것이다. 한단계 더 나아가TODO같은경우는월별로보드를만들어관리할것이다.
목표는버킷리스트가아니다.
2017년트렐로보드에생성된테스크를살펴보면오픈소스, 기술문서번역, 세미나발표등과같은버킷리스트비슷한테스크들이있다. 올해는버킷리스트와목표는구분해서계획을세울것이다. 예를들면오픈소스기여와같은막연한목표는트렐로보드를따로만들어관리, 2018년올해목표 및 계획과같이 큰 목표와세부목표를나눌것이다.
패턴그리고습관
2017년11월, 12월은 올 한해 중 가장바쁜시즌이었다. 총 15번의 온/오프라인 면접 및 코딩테스트. 이외에도파이썬격월세미나스피커, 회사프로젝트릴리즈, 인수인계, 퇴사기념세미나, 퇴사, 영어스크립트암기, 무엇보다충실한신혼생활 등… 어느날은면접을보고출근해일하고, 퇴근 후 면접을 또 보는미친일정을진행했다. 물론이런날은 제 정신이아니었다.
당연한얘기지만개인일정이바쁘다고회사일정에지장을주면 안 되었기에주말출근혹은 1~2시간 일찍출근하고퇴근했다.
평상시새로였다면위와같은일들을절대 다 해내지못했을것이다. 이 기간동안나는새로운생활패턴혹은습관을적용했다.
일명얼또라는이름의페이스북그룹인데, 한정된시간에너무많은과업에스트레스를받던중나에게맞는시간관리기법을찾기시작했고, 간단한생활패턴의변화로이를시도해보기로했다. 찾았던여러가지장법중하나가새벽형인간이었고, 이를실행하는그룹인얼리또라이 에 가입하고활동하게되었다. 이 그룹의목표는 단 하나다일찍일어난다. 이토록단순한실천이얼마나많은파급효과를갖는지는깊게고민해보지않은사람들은쉽게얻을 수 없다.
최대한간단히정리해보자면, 아침에일정하게얻을 수 있는개인시간이생긴다. 나와같이의지가약한사람에게퇴근후에 2~3시간 정도의개인시간을지속적으로갖는다는것은너무나어려운일이다. 의지가약한데아침이나저녁이나뭐가 다를까? 라는의문을가질 수 있다. 이런의문이생긴다면조금 더 고민해보거나실제로일찍일어나보길바란다. 아침과저녁의차이가무엇인지깨달을 수 있을것이다.
어쨌든아침일찍일어난다는생활패턴하나로 2~4시간의 통제가능한개인시간을얻었고, 이직준비와자기개발에투자했다. 부가적인효과로집중가능한개인시간을충분히갖음으로서, 집중해서일하지못했을 때 발생하는극도의스트레스또한제거할 수 있었다. 정리하자면11월, 12월은2017년 중 짧은시간에많은것을이룩한 두 달이었다. 결국나머지실패한기간과성공한기간의가장 큰 차이는패턴안에서일정관리였다. 일정한패턴이있을때시간통제가가능해지고, 정확한계획수립이가능해지며, 실행가능성은높아졌다.
정리
생각나는대로정말두서없이정리를해보았다. 쓰고보니크게3가지대명제가정해졌다. 첫 번째는학습할주제 및 방향선정, 두 번째는계획수립 및 관리방법, 세 번째는성공적인목표달성을위한습관. 개인적으로가장중요하게생각되는명제는 세 번째습관이며, 2018년의성공실패여부는습관“얼또”에 달려있다. 기억해새로야. 얼또!! 대강방향은정해졌고, 이제2018년희망찬계획을세우러!!! Here we go!!!
셀프공약: 2018년공휴일68일 및 1주당 하루(스페셜찬스) 52일합을제외한 245일(365-(68+52)) 얼또를실천한다. 홍석희에게20만원스벅상품권을선물한다.
필요한이유: 유닉스파일시스템에서파일을지우는것은크게 두 단계다. 첫번째삭제파일의디렉터리엔트리를삭제한다. 두번째파일이차지하던공간과아이노드를해제하여 free space map에 표기한다. 해당과정중간에시스템문제가발생할경우다음과같은이슈가생긴다. free space map이 갱신되지않아스토리지 누수가 발생한다. 또는지워지지않은파일영역이쓰기 가능상태(free)로 표시되어다른내용으로덮어쓰여 질 수 있다.
Encrypted File System : 저장데이터암호화
Case-sensitivity : trate upper case and lower case as distinct
개발자의덕목중하나는지속적인학습이다. 최근학습에실패한이야기라는좋은글을읽었다. 저 글의내용처럼개발자에게학습은덕목이며, 그렇기에학습방법에대한고민은자연스럽게따라오게된다.
나는비전공자며, 기반지식이부족하다. 이러한열등감으로나는CS에관련된주제를 꽤 학습해왔다. 최근2달정도는알고리즘을공부했다. 하루에1시간정도퇴근 후 투자했다. 학습방법은주로Hello Coding 그림으로개념을이해하는알고리즘책을따라학습하거나, codewars 와 같은코딩플랫폼을풀었다. 처음에는 꽤 재미있었다. 머리도좋아지는것같고, 무언가공부하는 것 같은느낌이들었다. 그러나내가느낀성취감과반대로나의지식은그리많이발전하지않았다.
사실나는이런결과를초래할것을누구보다잘알고있었고, 경험했다. 하지만다시한번실패했다. 과거의나는학습의행위보다는학습방법론에관심이많았고, 책어떻게공부할 것인가? 를 개발자가되기전, 꽤 오래전에읽었다. 핵심내용인일정주기를갖는인출연습과 의도적인학습 이 중요하다는점에감명받았다. 하지만아쉽게도단순히감명받고끝났다… 나는멍청이다… 말미잘이다… 사실그당시백수였고지적유희를위해그냥읽기만했다…
FRALD는 Fun, Repeat, Achivement, Link, Difficulty의 앞글자를 딴 약어다. 푸랄드!, 프랄드! 프으뢀드! 라 불리며, 성공적인학습싸이클을만들기위한핵심요소5가지를명칭한다. 프뢀드!! 사실방금글쓰면서잔머리를굴려지었다… 프뢀드!!
FRALD
재미 (Fun)있다.
의도적으로반복 (Repeat)한다.
성취감 (Achivement)을 느낀다.
지식을연결 (Link)한다.
해결가능한어려움 (Difficulty)을 극복한다.
각 요소들은크게는학습의효율성과지속성측면으로나누어질 수 있다. 그러나한쪽의장점만갖는것은아니고 각 요소들의상호작용으로성공적인학습사이클이만들어질것이다.
Fun
재미 (Fun)있다.
나에게가장중요한첫번째요소는재미다. 재미는행복의원동력이며, 행복하고재미있게살기위해학습을하고, 새로운것을경험한다. 학습도 이 틀에서벗어날수없다고생각한다. 적당한수준으로하는것이아닌진정뛰어난사람이되기위해서재미가 첫번째요소라생각한다. 이유는명확하다. 재미는 자연스럽게몰입과집중력을극대화시키며, 특별한동기부여없이학습을지속시킬 수 있다.
Repeat
의도적으로반복 (Repeat)한다.
인간의뇌는망각기능이뛰어나다. 뇌가받아들일 수 있는용량은한정되어있고, 우리가의식하는모든것을받아들인다면, SF영화에서볼수있는 머리(통) 큰 외계인의뇌를갖고도부족할지도모른다. 그렇기에생존을위해서라도뇌는망각하고, 불필요한정보를잊어야한다. 그렇게우리가노력해학습한지식도망각되어진다. 슬프다. 열심히공부했는데 … 그렇다고방법이없는것은아니다. 잊혀지지않기위한방법이있다. 의도적으로반복하는것이다. 의도적으로반복하는방법은여러가지가있겠지만, 큰틀은다음과같다.
인지와 인출을 적절히 반복
동일한지능을갖는 두 사람이동일한자원과집중력을투자했을때차이가난다면, 인지와 인출의 불균형으로효율적인학습이이루어지지않고있을가능성이높다. 내가그랬다. 이 부분은책어떻게공부할 것인가? 을 읽어보면답을얻을 수 있다. 사실고백하자면, 오래되서세부적인내용은기억이나지않는다… 인지와 인출의 불균형으로효율적인학습을하지못하면, 이와같이학습했지만기억나지않는상황에처한다…
Achivement
주기적으로성취감 (Achivement)을 얻는다.
학습에서의성취는노력에대한합당한보상으로볼수있다. 보상의구체적인예로는 돈, 학습결과물, 칭찬, 명예, 개인만족등이있을 수 있다. 하지만지속적인학습을위해서는앞서예를 든 보상을조금구체화하고계획적으로얻을필요가있다.