Computer Science/CS(6)
-
문과도 한번에 이해하는 TCP/IP
사실 TCP/IP를 이렇게 깊게 공부하게 된 데에는 나름의 사연이 있었다. HTTP 통신은 으레 Stateless한 통신 방식이라 하고, TCP는 Stateful하다고 말을 하는데 HTTP 통신이 TCP 프로토콜을 기반한다고 설명이 되어있어 너무 헷갈렸다. 단순히 OSI 7계층이니 TCP 3 Hand-shake같은 개념적인 내용만 보니 이해가 되지도 않고 머릿 속에 들어오지 않는 느낌.. 그래서 이번 포스팅에서는 천천히 왜 패킷 전송 방식을 사용하게 되었으며, 각각의 계층에서 어떤 역할을 수행하고 이 역할에서 수행하는 바가 무엇인지 파악하여 결과적으로 HTTP와 TCP 차이를 다룰 예정이다. 우선 네트워크 통신 방식에 대해서 먼저 거슬러 올라가 보자. 회선 교환 방식(Circuit Switching) 패..
2022.10.18 -
넷플릭스로 보는 데이터 베이스
1. 넷플릭스의 문제점 전세계에 1억 4000만의 유료 회원을 보유한 영상 스트리밍 플랫폼 ‘넷플릭스’. 화려한 타이틀을 갖게 되기까지 넷플릭스는 수많은 착오와 어려움이 있었다. 그 중에서도 넷플릭스의 성장에 가장 큰 영향을 미친 기술적 사건이 있었다. 바로 데이터 센터에서 클라우드로의 전환이다. 넷플릭스가 고유의 데이터 센터(DC)를 사용하는 것이 아닌 클라우드를 사용하게 된 계기에는 다음과 같은 사건이 있었다. 때는 2008년, 넷플릭스는 단일의 DC를 운용하고 있었으나 SPOF로 인해 3일간 소비자에게 DVD배송이 지연되는 문제를 겪었다. 특히나 점점 더 많은 유저를 포용하게 되는 넷플릭스의 입장에서는 DC 유지를 위한 공간, 동력 그리고 데이터베이스를 유지하기 위한 쿨링 시스템 보완 등 모든 것이..
2020.05.14 -
캡슐화(Encapsulation)이란
캡슐화는 두 가지의 정의가 있습니다. 첫째로, 클래스(class)와 구조(structure)와 같이 객체의 속성(atrribute)과 행위(Method)에 따라 운영하여 편리성을 늘리는 것입니다(facilitates the bundling of data with the methods). 예를 들어, ‘영화‘라 이름 붙여진 클래스에 영화를 실행하는 행위와 영화의 평점, 그리고 영화의 장르, 제목이 들어가게 된다고 해봅시다. 만약 실행자(혹은 개발자)가 영화와 관련된 행위 혹은 속성(영화의 제목, 장르 등등)을 확인하고 싶을 때는 다른 클래스를 들여다 볼 필요 없이 영화 클래스를 확인하면 될 것입니다. 이처럼 속성과 행위에 따라 묶어 사용자로 하여금 편리성을 제공한다는 데서 장점을 가지고 있습니다. 두 번째..
2020.03.30 -
information hiding, modularity에 대하여
객체지향 프로그래밍의 경우 Information hiding, Modularity, Code re-use, plug-ability와 easy debugging 4가지의 장점을 가지고 있다. 첫 번째로, information hiding이다. information hiding은 간단히 말하면 정보 은닉, 즉 ‘객체 간에 서로를 모르게 하는 것’이라 말할 수 있다. 예를 들어 자동차의 설계도(Class)가 있다고 해보자. BMW와 모닝(object)은 이러한 자동차의 설계도를 기반으로 독립적인 회사만의 기능을 추가해 새로운 자동차를 만든다. 이렇게 생성된 BMW와 모닝(object)은 ‘자동차’(Class)라는 공통점은 가지고 있지만 각 객체의 기능에 따라 다르다는 특징을 가진다. 이처럼 객체간에 공통된 메..
2020.03.22 -
linear/binary classfication 와 sigmoid함수 정의
지난 시간 머신러닝이란 무엇인가?라는 포스팅에서 우리는 회귀에 의한 분류(regression classfication)가 어떻게 되는지 알아봤었다. https://yuldangs-sosolife.tistory.com/53 머신러닝이란 무엇인가? 최근 파란학기를 시작하게 되면서 앱개발을 하게 되었는데 앱에 들어갈 다양한 기능 중에 챗봇이 맘에 들어서 알아보게 되었다. 미국에 있을 땐 CNN모델을 가지고 이미지 모델링을 하는걸 배웠었는데, 챗봇의 경우.. yuldangs-sosolife.tistory.com 회귀 분석에서의 가설 함수는 H(x)=WX였다. 그리고 이러한 가설에 대한 Cost(비용)함수는 아래와 같았다. cost함수는 가상의 값과 실제 값(관측 데이터)간의 차이로, cost 함수에서의 최적점을..
2020.03.21 -
파이썬으로 쉽게 이미지 크롤링 및 파일 저장
이번 포스팅은 파이썬으로 쉽게 이미지를 크롤링하고 파일에 저장하는 방법입니다. 첫번째로 구글 검색창에 이미지 검색을 위한 단어를 검색합니다. (저의 경우 식물이 필요하기 때문에 plant로 검색하였습니다.) 이미지란으로 이동한 이후 ctrl+shift+j 를 입력하면 콘솔창이 나타나게 되는데, 거기에 아래와 같은 코드를 입력하시면 됩니다. urls=Array.from(document.querySelectorAll('.rg_i')).map(el=> el.hasAttribute('data-src')?el.getAttribute('data-src'):el.getAttribute('data-iurl')); window.open('data:text/csv;charset=utf-8,' + escape(urls.jo..
2020.03.06