전체 글
-
계산기 미션 공통 피드백et cetera/TIL 2021. 4. 10. 20:09
■ 주석 주석도 코드의 일부라고 생각해야한다. 주석을 작성할 때도 항상 명확한 이유를 가지고 작성을 하는 습관이 필요하다. 1. 설명하는 주석 명확하지 않은 코드를 주절주절 설명하는 주석을 의미하는 게 아니다. 코드 자체만 보고도 무슨 코드인지 명확히 알 수 있는 코드를 작성하는 것이 당연히 가장 바람직하다. 여기서 말하는 '설명'이란, 읽는 사람이 해당 코드에 대해 더 높은 이해를 할 수 있게 해주는 설명을 의미한다. 코드에 담을 수 없지만, 코드를 이해하는 데에 도움이 되는 정보들. 예를 들어 // 이 데이터에서 이진트리는 해시테이블보다 40%정도 빠르다. // 재귀함수를 이용하면, 기존의 100line이 될수 있는 코드가 단 20줄로 정리된다. 반면 성능은 유의미한 차이가 없다. 이런 주석이 달려있..
-
서브프라임 모기지 사태et cetera/Investments 2021. 4. 9. 20:27
'서브프라임 모기지 사태'는 2007년 즈음, 미국의 부동산 가격이 폭락하면서 발생한 전 세계적인 경제 위기 사태를 말한다. '리먼 브라더스' 역시 서브프라임 모기지 사태의 여파로 인해 파산을 맞게 되었다. 시작은 아프간 전쟁과 닷컴버블의 붕괴로 인한 경기 둔화였다. 미국 정부는 경제를 활성화시키기 위해 저금리 정책을 펼치게 되는데, 금리가 낮아지면 대출에 대한 부담이 줄어들기 때문에 대출을 받는 사람이 많아진다. 자연스레 대출을 끼고 주택을 구매하는 사람들이 많아지면서 주택 가격이 상승하게 되었다. 이 때 즈음의 주택 가격은 미친듯이 상승하여 대출 이자보다 주택 가격의 상승으로 얻는 이득이 더 커졌다. 그러자 너도나도 할 것 없이 대출을 받아 주택을 사들이기 시작했는데, 이 때 유행하던 것이 바로 주택..
-
명령형 vs 선언형 프로그래밍Web/자바스크립트 2021. 4. 8. 18:58
명령형 프로그래밍은 절차적 프로그래밍이라고도 하는데, 최근에 우테코 미션을 하다가 요런 말을 들은 적이 있다. 전반적으로, 너무 절차적 프로그래밍으로 코드를 작성하는 경향이 있습니다. 좀 더 선언적으로 기능을 구현할 수 있게 사고 전환을 해보시면 나중에 큰 도움이 될 거예요. 처음에는 무슨 말인지 정확히 감이 잡히질 않아서 여기저기 찾아보다가 ui.dev라는 사이트에서 Tyler McGinnis라는 분이 작성한 글을 보고 조금씩 이해가 되기 시작했다. 그래서 기분이 좋아져서 번역이나 해봐야겠다 싶었다. 나는 언젠가 분명 '명령적(Imperative) 프로그래밍 vs 선언적(Declarative) 프로그래밍'에 대해 들어본 적이 있다. 저게 무엇을 의미하는지를 당연히 검색해봤지만, 그 때마다 요런 정의 정..
-
Git cherry-pickGit 2021. 3. 31. 00:24
다른 branch에 있는 커밋을 선택적으로 내 branch에 적용시키고 싶을 때 사용하는 명령어. 예를 들면, 프로젝트 PR을 이미 보내고 난 후에 뒤늦게 잘못된 걸 깨달았다거나 하는 상황에서, 내가 이전에 작성했던 코드들을 모두 날리지 않고 제대로 작성된 커밋들을 쏙쏙 골라서 가져올 수 있다. git rebase를 사용하면 원하는 commit을 선택적으로 적용할 수 있지만, git rebase는 현재 branch에서만 가능하므로 다른 branch에서 commit을 가져오고 싶다면 먼저 그 branch를 현재 branch로 merge한 후 rebase해야 하는 번거로움이 있다. 그 과정에서 발생하는 충돌은 어디서 어떻게 해결해야 하는지 감도 잡히지 않는 경우가 허다. 일일이 복사 붙여넣기 하는 것도, 생..
-
Git mergeGit 2021. 3. 26. 03:32
여러 명이 공동으로 작업하는 저장소를 clone 받아서 작업을 하고 있는 상황이다. master라는 공동의 branch가 존재하고, 나는 my-branch라는 새로운 branch를 만들어서 코드 작업을 하고 있다. git branch my-branch git checkout my-branch // 한 줄로 축약해서 쓰기 git checkout -b my-branch 코드 작업을 마치고 master branch에 merge를 하려고 하는데, 내가 merge 하기 전에 누군가가 master branch에 다른 작업을 한 후 commit을 하고 push를 해버렸다. 이 경우에 my-branch를 master branch에 병합하는 방법은 대략 3가지 정도가 있다. 바로 merge, squash and merg..
-
객체의 불변성(Immutability)Web/자바스크립트 2021. 3. 21. 16:37
객체의 불변성은 객체가 생성된 이후 해당 객체의 상태를 변경할 수 없는 성질을 의미한다. 이런 성질을 적용해서 코딩을 하면, 원본 객체의 데이터가 변경되거나 훼손되는 것을 방지할 수 있다. 자바스크립트는 객체를 참조 형태로 전달하고 전달 받는다. 그래서 객체를 참조 받는 곳에서 해당 객체의 데이터를 변경하면 원본 객체의 데이터도 변경된다. 결국에는 동일한 하나의 객체를 이곳저곳에서 참조하고 있는 것이기 때문. 자바스크립트에서는 주로 어떤 식으로 객체의 불변성을 적용하는가 하면, 객체의 일부를 변경하는 대신 완전히 새로운 객체를 갈아 끼우는 식으로 적용을 한다. '객체 일부만 변경하나, 전체 객체를 갈아끼우나 어차피 데이터는 똑같이 변경되는 거 아닌가요?' 라고 생각할 수도 있겠지만, 객체의 일부를 변경해..
-
git stash 명령어Git 2021. 3. 15. 03:01
아직 다 만들어지지 않은 기능을 commit하기 애매할 때, 스택에 잠시 저장할 수 있게 만든 명령어. 나중에 다시 스택에서 꺼내서 마무리할 수 있다. ■ 어떤 작업 중에 급한 일이 생겨 다른 브랜치로 변경해야할 때. 그런데, 하던 작업이 미완성이라서 커밋 하기에는 좀 애매할 때. - 개인적으로는 이번에 진행 상황(step1, step2, step3)에 따라서 branch를 분리해야 하는 일이 있었는데, step3 branch에서 작업해야 하는 내용을 깜빡하고 step2에서 하고 있었다. 근데 아직 커밋은 하지 않았고 워킹 디렉토리의 파일들만 수정된 상태였기 때문에 stash에 저장했다가 step3 branch로 바꾸고, stash에서 다시 꺼냈다. 즉, step2에서 작업하던, 커밋되지 않은 내용들을 ..
-
TESLA 에 대해 알아보자!et cetera/Investments 2021. 2. 28. 03:45
요즘 코딩하느라 넘나 바쁘기 때문에 자바스크립트만 해도 포스팅 할 내용이 너무 많지만 그렇다고 해서, 투자를 위한 해외 기업 조사 또한 소홀히 할 수는 없는 노릇이다. 사실 기업 조사는 핑계고.. 코딩 공부 내용 정리하고, 관련 글만 자꾸 올리니까 블로그가 너무 삭막해지는 것 같아서 숨도 좀 돌릴 겸 가끔씩 기업 알아보는 김에 주절주절 글도 써놓을 예정이다. 그리고 블로그에 포스팅할려면, 아무래도 누군가가 볼 수 있다는 생각때문에 조금이나마 더 열심히 조사를 하게 되는 것 같으니.. 😊 그리하여, 내가 첫 번째 포스팅 대상으로 선정한 기업은 바로 테슬라! 테슬라(TSLA)는 이미 너무 유명한 기업이기도 하고.. 이미 전 세계적으로 가치를 인정받고 있는 기업이기 때문에 굳이 조사를 하는 의미가 있나 싶지만..