![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/br5rFv/btqGJHlcuxN/FgL3WbtKppId18kh9gxD3k/img.png)
이번에는 타입스크립트를 적용시켜보겠습니다. 자바스크립트는 타입을 지정하지 않아도 되서 어떠한 변수가 string이었다가 number이였다가 자유자제로 바뀔 수 있습니다. 또한 컴파일 언어가 아니기 때문에 컴파일단계에서 에러를 확인 할 수도 없습니다. 이것을 해결하기 위해 자바스크립트 위에 타입을 지정해준것이 타입스크립트 입니다. 사전 컴파일을 한다고 생각하시면 될 것 같습니다. 먼저 모듈부터 설치하겠습니다. npm i -D typescript @babel/preset-typescript ts-loader fork-ts-checker-webpack-plugin npm i @types/react @types/react-dom 기존에 적었던 코드를 하나씩 바꾸어 나가겠습니다. 1. webpack.config...
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/Y5Hs5/btqGGZ1qdr7/bVKHnjscHdMfAI3El9v4i1/img.png)
안녕하세요. 약 2개월간에 프론트앤드에 대해 공부한것을 정리하고자 todo앱을 만들어 보려 합니다. 리액트는 creat-react-app 이라는 boilerplate를 사용하는 것이 일반적입니다. 리액트를 사용하기 위해선 셋팅할 것이 많은데 이것을 다 해준것이 create-react-app(CRA)입니다. 이렇게 셋팅을 다 해준것을 boilerplate라 하는데 CRA는 리액트 개발사인 페이스북이 직접 관리하는 공식 boilerplate이기 때문에 맘 놓고 사용해도 된다는 장점이 있습니다. CRA를 사용하면 개발에 편하다는 장점이 있어서 처음엔 저도 CRA를 사용하여 개발하였지만 웹 생태계를 더욱 이해하고자 이번 프로젝트에서는 CRA를 사용하지 않고 진행해보겠습니다 ! 느린것이 가장 빠른것이기 때문에 차..
파이썬을 공부하면서 파이써닉한 코드는 무엇인지 한번 공부하고 가야겠다고 생각했습니다. 제가 공부한 부분을 정리하고 기록하려 합니다. 파이썬은 아름다운 하나의 답이 존재한다라는 철학을 가지고 있습니다. 같은 일을 하는 코드가 있을때 거기에는 하나의 정답이 존재한다 라는 철학이죠 그것이 파이써닉입니다. 어떻게하면 파이써닉한 코드를 작성 할 수 있을지 몇가지분류로 공부해보겠습니다 comprehension generator f string swap extended slice slots (yet) kwards (yet) 1. comprehension Comprehension이란 iterable한 오브젝트를 생성하기 위한 방법입니다. 축약이라고 해석되며 이 축약은 list, set, dict을 만드는데 사용됩니다...
알고리즘을 공부하기 위해서 종만북을 읽어 내려가며 포스팅을 할 예정입니다. 앞부분에 이론적인 이야기들을 읽고 처음 마주친 내용은 완전탐색에 관한 이야기입니다. 첫번째로 화두로 던진것이 n개중 m개를 뽑는 모든 경우의수를 출력하는 것입니다. 알고리즘에서 모든 경우를 일단 다 탐색해봐야하는 경우가 비일비재한데요 이러한 방법을 딱 틀로 만들어두면 좋다고 생각했습니다. 책에서는 만약 번호매겨진 n개중 4개를 고르는 경우를 어떻게 짤 수 있을까 물음을 던졌습니다. for(int i = 0; i < n; i++){ for(int j = i+1; j < n; j++){ for(int k = j+1; k < n; k++){ for(int l = k+1; l < n; l++){ cout 012 013 023 123 po..
문제를 읽고 이해한다 문제를 익숙한 용어로 재정의한다 어떻게 해결할지 계획을 세운다. 계획을 검증한다. 프로그램으로 구현한다 어떻게 풀었는지 돌아보고, 개선할 방법이 있는지 찾아본다. 1. 문제를 읽고 이해한다. 문제를 읽고 이해하는 것은 생각보다 많이 중요하다. 시간에 쫒겨 문제를 보다보면 분명 잘못이해한부분이나 사소한 제약조건을 잘못 이해 할 수 있따. 따라서 문제 설명을 공격적으로 읽으며 문제가 원하는 바를 완전히 이해하는 과정이 반드시 필요합니다. 2. 재정의와 추상화 자신이 다루기 쉬운 개념을 이용해서 문제를 자신의 언어로 풀어 쓰는것입니다. 문제가 요구하는 바를 직관적으로 이해하기 위해 꼭 필요하며 복잡한 문제일 수록 재정의와 추상화가 중요합니다. 문제의 본질을 어떻게 재구성한냐에 따라 같은 ..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/bD7ARK/btqEmv3kAFf/8mnwaYrMHG1FOK26Ynu7T0/img.png)
이번에 윈도우 터미널이 1.0으로 업데이트 되면서 좋아졌다 하길레 사용해보려 합니다. 사실 윈도우 터미널의 존재를 모르고 살고 필요성을 많이 못느꼈습니다.. 기본 IDE에 power shell 이 붙어서 나오기 때문에 거기서 프로젝트를 빌드하고 사용했기 때문입니다.. https://devblogs.microsoft.com/commandline/windows-terminal-1-0/ Windows Terminal 1.0 | Windows Command Line Last year at Build 2019, we first announced the Windows Terminal. Since then, we have been working with the community to create a wonderful..
알고리즘 풀이에 있어서 전체 n개의 원소중에서 r개 의 원소를 선택해 직접 해봐야 하는 문제들이 많다. 이럴떄 기계적으로 그 코드를 생각 해내면 많은 시간 단축이 있을 것 같아. 코드를 적어 두려한다.. void combination(int start, int count, vector picked) { // k select if (count == k) { //somthing } for (int i = start; i < chickens.size(); ++i) { picked.push_back(chickens[i]); combination(i+1,count+1, picked); picked.pop_back(); } } void Solve() { vector temp; combination(0,0, temp..