728x90
반응형

전체 글 155

20201005

긴 연휴가 끝나고 다시금 자리에 앉아 리액트를 공부한 날. 기본적인 복습이라 무난했다. 배탈이 나서 어제 알고리즘 스터디를 빼먹었는데 오늘 다시 참여하니 뭔가 분위기가 무겁다. 다들 고생하셨나보다 10월 05일 (월) Today I Learned 오늘은 리액트에 대해 공부하였다 네트워크 책을 다시 펼치면서 포스팅을 해야겠다는 생각이 들었다 Tomorrow I'll Learn 리액트 실습

Today I Learned 2020.10.05

20200925

어제, 오늘 계속해서 놀라움의 연속이 눈 앞에서 펼쳐지고 있다. 이런 때 일수록 겸손해져야 하고, 냉정하게 스스로를 되돌아 보아야 하는 시기라고 생각한다. 나는 무언가 설명하고자 할 때, 최대한 상대방의 입장에서 이해할 수 있는 어휘와 방식을 차용하는 편이다. 그러나 다른 사람의 사고 방식을 완전히 이해하는 건 있을 수 없다. 그러다보니 당연히 내가 생각한 방식이 특정 부분에 치우쳐 다른 사고방식을 가진 사람들의 이해를 해칠 때도 있다. 그 때는 그 사람들을 위해 또 설명하면 괜찮지 않을까? 적어도 말로 하는 강의는 이 방식이 아주 유효했다. 지난 10년동안 수많은 학생을 만났다. 입시 학원에서, 그룹 스터디로, 어떤 때에는 학교로 출강을 다니면서 학생들을 가르칠 때에나 그 학생들의 학부모님과 면담하거나..

Today I Learned 2020.09.25

20200921 ~ 20200924

블로그를 시작하고 광고를 달 수 있단 걸 처음 알게된 이후로 카카오 애드핏 ( adfit ) 과 구글 애드센스 ( ads ) 를 설정해두었다. 카카오 애드핏은 설치하고 2일만에 허가가 났는데 구글 애드센스는 2주간 기다렸음에도 거절당했다!!!!!!! 구글 애드센스를 한 번 쯤 달아보고 싶었어서 ( 사실 티스토리를 선택한 가장 큰 이유이다 ㅎㅎ ) 좀 찾아봤더니, 최근에 업로드된 4개의 게시물이 각각 1,000자의 텍스트를 포함하고 있어야했다. 후.... draw.io 에서 계속 캡쳐해가면서 만들었던 이미지나 gif 는 하등 쓸모가 없었다. 텍스트라니... 그런데 매일매일 TIL을 작성하는 나에게, 특히나 최대한 간략하게 오늘의 일을 기록하고 장문의 포스팅은 별개로 하고 있는 나에게는 청천벽력이었다. ( ..

Today I Learned 2020.09.24

[TIPS] GitHub 새로운 기능, gh CLI 사용하기

오늘 스프린트를 진행하기 위해 repository를 fork 하고, clone을 위해 code 다운로드 버튼을 눌렀다. 그리고 발견한 시선을 사로잡는 new 가 보이는 게 아닌가!! 그래서 해봤다 ㅎㅎ 이런거는 일단 해보고 궁금증을 풀어둬야 하니까! 먼저 이 기능을 사용하기 위해서는 gh 라는 명령어를 사용해야 하는 걸로 보인다. 그런데 git clone과 같이 git을 통해 설치를 해왔던 나는, 당연히 gh를 설치한 기억이 없다. 그러니 가보자! Learn more GITHUB CLI 에 대해 설명하고 있는 페이지로 이동되었다! gh를 설치하면 간단한 키워드 만으로 레포지토리를 클론하거나 심지어 풀리퀘도 CLI에서 날릴 수 있다! CLI의 중요성은 백만번 말해 입만 아프다! 그냥 간단하게 기억하자. G..

TIPS 2020.09.21

[Algorithm] K-nearest neighbors algorithm: KNN 알고리즘

KNN 알고리즘은 추천 시스템의 기본이 되는 알고리즘이다. 우리는 한 번 쯤 이미 비슷한 경험을 해본 적이 있다. 넷플릭스나 와챠에서 나와 비슷한 성향을 가진 사람이 본 영상을 추천받기도 하고, 유튜브나 페이스북에서 친구들이 봤거나 좋아요, 댓글달기와 같이 참여한 게시물 또는 영상이 추천된다. 여기에 조미료처럼 머신러닝 한 스푼을 넣어주면 내가 봐 온 영화를 토대로 어떤 영화를 내가 좋아할 지 추천하는 것도 가능하고, 새로나온 영화에 대해서 내가 별점을 얼마나 줄 지 예측할 수도 있다. 하지만 머신러닝은 단순한 조미료가 아니므로 ( 참고로 한국 구글에서 머신러닝 부트캠프를 무료로 진행한다 ) 지금은 아 그렇구나~ 정도로만 하고 넘어가도록 하자. K-nearest neighbors algorithm ( K..

Algorithm 2020.09.20

[Algorithm] Dynamic Programming - 동적 프로그래밍

동적 프로그래밍은 말이 동적이지 쉽게 이해하자면 프로그램이 돌아갈 때 자체적으로 기억을 하게 하는 것이다. 모든 값을 검사할 때, 이전의 값 중 최적의 해를 저장해두었다가, 다음 값을 검사할 때 비교하는 방식이다. 아주 아주 간단한 동적 프로그래밍은 최댓값 혹은 최솟값을 찾는 문제이다. 숫자로만 이뤄진 배열을 입력받는 경우, 가장 작은 수를 이미 가지고 있는 최댓값을 구하는 함수 또는 가장 큰 수를 이미 가지고 있는 최솟값을 구하는 함수를 이용해 문제를 풀 수 있을 거다. const findMax = (arr) => { let max = -Infinity; for ( let value of arr ) { // value 는 arr[index] 와 같다 ( for...of 검색 ) if ( max < va..

Algorithm 2020.09.20

[Algorithm] NP-completeness : NP-완전문제, Non-deterministic Polynomial time, 비결정론적 다항시간 문제, 난해문제

일단 이름이 짜증 난다. NPC라고도 불리는 Nn Polynomial time completeness problem ( NP-완전 문제 ) 는 쉽게 말해서 컴퓨터로 돌려서 결과를 얻는 데 며칠이 걸릴지 모르는 문제다. 그런데 심지어 어떤 문제가 NPC 문제인 지 아는 것도 쉽지 않다. 빠른 해답이 알려지지도 않았기 때문에 정확한 답을 찾아내기 힘들다. 그나마 다행인 게 근사 알고리즘을 통해 비슷한 결과를 꺼내는 것으로 대체 가능하다는 정도일까. 대표적인 예시로 외판원 문제가 있다. 도시를 돌아다니며 방문판매를 하는 외판원이 도시를 돌아다닐 수 있는 모든 경우의 수를 나타내고자 할 때의 시간 복잡도는 O(n!) 이다. 도시 2개나 3개 정도까지는 파악하는 데 오래 걸리 지 않지만, 도시가 10개만 되어도 ..

Algorithm 2020.09.19

[Algorithm] Greedy algorithm - 탐욕 알고리즘

탐욕 알고리즘은 현재 주어진 상황에서 최적의 값을 골라 결과를 채우는 알고리즘을 말한다. 가장 많은 예시인 배낭 채우기는 간단하게 설명하고, 다른 예시를 보도록 하자. 탐욕 알고리즘은 그 이름에서 유추할 수 있듯이 욕심쟁이라면 당연히 따를 법한 알고리즘이다. 배낭 채우기 ( 갑자기 ) 우리는 도둑이다. 도둑이라면 응당 가장 비싼 물건을 훔쳐야 할 것이다. 맥북을 훔치기 위해 도둑이지만, 일반 고객인 척 위장하여 애플매장을 방문하였다. 우리에게는 남들에게는 보이지 않는 마법의 '배낭' ( 혹은 가방 ) 이 있다. 이 배낭은 보이지않는 대신에 너무 작게 만들어져서 중량 초과를 할 경우 밑바닥이 터져버린다! ( 요즘 종이 가방도 이것보단 튼튼하겠다! ) 내 배낭이 버틸 수 있는 총 중량과 애플매장에서 훔칠 수..

Algorithm 2020.09.18
728x90
반응형