분류 전체보기
-
Python Basic and InstallationComputer Science/Basic Programming with Python 2021. 11. 3. 00:26
Python의 장점 Life is too short, you need python Python은 쉽고 간결하다. C에서는 "Hello world"를 출력하기 위해 6~8줄을 써야하지만, python에서는 한줄만 적으면 된다. print("Hello world") Python은 라이브러리가 많고 활용이 쉽다. 특히 BeeautifulSoup, Numpy, Pandas, Scipy, Scikit-learn 등 데이터 수집/분석을 위한 라이브러리가 많고, 아래와같이 간단한 명령어로 라이브러리(예시에서는 numpy)를 설치할 수 있고, 사용도 아주 쉽다. pip install numpy 최근, AI/ML 대부분의 라이브러리들은 Python 기반으로 이루어져있고, 첫 프로그래밍 언어로 Python을 배우거나, P..
-
Abstraction, Condition and More in Scratch | Harvard CS50 Week 0Computer Science/CS 50 Harvard 2021. 10. 31. 14:05
하버드 CS50 강의를 한글로 정리한것입니다. loop 위와같이 코드를 작성하면 고양이는 1초씩 간격을 두고 야옹~ 하고 우는 소리를 낸다. 하지만 이 코드에는 한가지 개선사항이 있다. 무엇일까? 지금은 3번만 울게끔 하기때문에 괜찮지만 만약 100번을 울게 하고싶다면? 코드가 아주 길어질것이다. 이럴때 사용할 수 있는것이 바로 loop이다. 마치 돌림노래처럼, 똑같은 부분을 반복하는것이다. repeat이라는 블럭을 사용해서 "울고 - 1초기다리기" 를 10번 반복 시키면, 위에 있는 코드와 같은 결과물을 만들어 낼수 있는데, 코드의 길이도 짧고, 개발자의 시간도 훨씬 절약된다. 만약 10번 반복을 이전과 같이 개발했다면 play sound 블록 10개, 1초기다리기 블록 10개, 총 20개의 블록이 필..
-
Scratch | Harvard CS50 Week 0Computer Science/CS 50 Harvard 2021. 10. 30. 18:54
Harvard 대학교 CS50 2021년 강의를 한글로 정리한것입니다. "Hello world" C로 "Hello, world"라는 메세지를 내뱉기 위해서는 아래와 같은 코드를 작성하면 된다. #include int main(void) { printf("hello, world\n"); } 만약 이것을 Python으로 하려면 이렇게 하면 된다. print("hello, world") Scratch 처음 프로그래밍을 배우는 사람이라면, 이것이 어떻게 다른지, 왜 다양한 언어가 존재하는지 모를것이다. 그런 사람들을 위해 시각화된 언어들이 존재하는데, 그중 Scratch라는 언어를 이용해서 블록을 움직이고 엮어서 알고리즘을 만들어볼것이다. 앞에서 보았던 C나 Python의 예시보다는 조금 친숙한 이미지이다. S..
-
Pseudocode | Harvard CS 50 Week 0Computer Science/CS 50 Harvard 2021. 10. 30. 15:11
Harvard CS50 강의를 한글로 정리한것입니다. Pseudocode 지난 내용에서 말했던 전화번호부에서 찾고자 하는 사람의 이름을 찾을 때의 알고리즘을, 정렬해본다면 어떨까? 영어나 한글같이 우리가 사용하는 언어를 이용해서 알고리즘을 나타내는것을 Pseudocode라고 하는데, 아래처럼 써볼 수 있다. 1 Pick up phone book // 전화번호부를 집고 2 Open to middle of phone book // 반절로 나눠서 3 Look at page // 페이지를 쳐다보고 4 If person is on page // 그사람이름이 페이지에 있다면 5 Call person // 그사람에게 전화한다 6 Else if person is earlier in book // 만약 그 사람의 이름이..
-
Algorithms | Harvard CS 50 Week 0Computer Science/CS 50 Harvard 2021. 10. 29. 12:48
모든 내용은 하버드의 CS50 수업을 한글로 정리한것입니다. 다시 처음으로 돌아가서, 1과 0, binary bits로 우리는 컴퓨터가 알아들을 수 있도록 input과 output을 나타낼 수 있게 되었다. 그게 색깔이 될수도, 숫자, 알파벳, 한글, 음악, 이미지 또는 영상이 될 수 있다. 그렇다면, 이것들을 처리하는것은 무엇인가? 바로 알고리즘이다. Contacts 핸드폰의 전화번호찾는 Contacts기능을 생각해보자. 한글 또는 영문 순서대로 이름이 정렬되어있고, 각각의 이름에는 전화번호와 또다른 저장된 정보들을 볼 수 있다. 예전에는 어땠을까? 어렸을때 기억을 해보면 전화번호부라는것을 사용해서 번호를 찾았었던적이 있었다 (지금도 상호명등을 볼 수 있는 전화본호부가 존재하는것으로 보인다). 전화번호..
-
Images, video, sounds | Harvard CS 50 Week 0Computer Science/CS 50 Harvard 2021. 10. 28. 20:23
RGB bits를 이용해서 색깔 또한 나타낼 수 있다. 수많은 방법으로 색을 나타낼 수 있는데, 그중 가장 많이 사용되는것이 RGB인데, 빨강, 녹색, 파랑색이 얼마나 많이 섞여있는지를 나타내주는것이다. 예를 들어, 72, 73, 33이 앞에서 문자로 대입하면 Hi! 를 의미했다면, 색깔을 표현할 때, 앞에서부터 빨강, 녹색, 파랑의 값을 나타낼수도 있다. 각가의 숫자는 8bits로 256가지로 나누어질수도 있고, 즉 빨강, 녹색, 조합을 3 bytes(또는 24bits)로 나타냈을수도 있다. 이런 방식으로 더 다양한 수백만가지의 색깔을 나타낼 수 있다. 위 세 숫자를 색깔로 나타내면 아래와 같은 조금 어두운 노랑색이 된다. 마스크 이미지로 다시 돌아가서 생각해보자. 무슨 색이 어떻게 쓰였을까? 그것을 ..
-
AWS re:Invent 2018: NEW! Introducing Amazon Personalize: The Science of PersonalizationAWS/Personalization & Recommendations 2021. 10. 28. 15:42
모든 내용은 2018년 re:Invent 발표를 한글로 요약한것입니다. Personalization 알고리즘에 대한 간략한 설령도 이 영상에서 엿볼수 있었다. 아마존의 Personalization 알고리즘을 만든 Senior Machine Learning Scientist인 Murali의 발표가 이어졌다. 첫번째로 Fundamental insight에대한 이야기를 했는데, 관심을 보였던 그리고 싫어했었던 기록은 추후 어떤것을 선택할때 좋은 지표가 된다. 상품을 본 순서와 시간을 모으는것도 중요하다. 예를 들어, 위 그림을 보자. 세가지의 시계를 본 후, 구두를 보았다면 그다음엔 구두를 추천하는것이 맞다. 하지만 아래의 경우는? 맨처음 구두를 보고, 구두 대신 시계들에 대해 검색을 했다면, 세번째 시계 이..
-
AWS re:Invent 2018: NEW! Introducing Amazon Personalize: Real-time Personalization & RecommendationsAWS/Personalization & Recommendations 2021. 10. 28. 12:25
모든 글 내용은 re:Invent 2018 영상에서 가져왔습니다. 아마존! 초창기만 해도 아마존은 온라인 책방이었다. 하지만 지금은 세상을 움직이는 공룡기업으로 성장해, FANG(Facebook, Amazon, Netflix, Google)의 하나가 되었다. (이 이외에도 공룡 기업이 많지만, 주식에서 흔히 FANG이라는 신조어를 많이 사용해서 대표적으로 나열했다) 그 아마존에서 상품을 판매할 때 쌓았던 Machine Learning 노하우로, Auto ML, 즉 자동화된 머신러닝을 제공해주는 서비스를 런칭했다. 바로 2018년에 출시된 Personalize이다. 스타트업이나 ML(Machine Learning)인력이 없는 회사에서 추천시스템을 구축한다는것은 정말 어려운 이야기이다. 하지만 정말 많은 회..