핵심내용 데이터베이스는 일종의 창고라고 볼 수 있다. 그리고, 이 창고에는 데이터들이 저장되어 있고 저장되어 있는 데이터들이 모여 데이터의 집합을 이룬다. 어떤 물품(데이터)를 저장할지에 따라 사용하는 창고(DB)의 종류가 달라지고 이는 관리자가 결정한다. 오늘은 이 창고들 중 관계형 데이터베이스와 NoSQL을 비교해보려 한다. 관계형 데이터베이스 데이터베이스계의 주류는 뭐니뭐니해도 관계형 데이터베이스이다. 위 통계를 살펴보면 가장 인기있는 데이터베이스 5개중 4개가 관계형 데이터베이스이다(Oracle, MySQL, SQL Server, PostgreSQL). 관계형 데이터베이스에서 "관계"란 동일한 속성을 가지고 있는 데이터들의 집합이라고 할 수 있다. 예를 들어, 아래 표를 살펴보자. 번호 이름 성별..
핵심내용 패킷과 라우터에 대해서 간단하게 정리해보려고 한다. 패킷 두개 이상의 연산 장비들이 연결된 것을 네트워크라고 한다. 그리고, 연결된 연산 장비들은 서로 데이터를 주고 받는데 이 때 이 데이터를 그냥 주고 받지 않고 패킷이라는 단위로 쪼개서 주고 받는다. 왜 쪼개서 받는가? 하나의 장비와 다른 장비가 정보를 주고 받는 대역을 도로에 비유해보자. 문제는 이 도로를 나만 사용하는 것이 아니라는 것이다. 나 말고, 다른 사람들도 사용한다. 그렇기 때문에 데이터를 패킷 단위로 쪼개어 주고 받는 것이다. 다시, 패킷은 네트워크 전송 시 기본이 되는 용량 단위로 컴퓨터는 네트워크 상에서 하나의 데이터를 여러 패킷으로 쪼개서 전송한다. 라우터(router) 그전에 routing이 무엇인지 알아야 한다. 컴퓨터..
커널(Kernel) 1. 견과류의 알맹이 2. 사상등의 핵심 __네이버 영어사전__ 맨 윗줄을 보면, system / networking / storage / memory / processing 등의 단어가 보인다. 즉, 커널은 운영체제에 항상 상주하며(=메모리) 모든 프로세스 관리(프로세스 자원 할당 및 제어 등)에 관여한다. 그래서, 알맹이라는 의미를 사용한게 아닐까? 어디의 핵심인가? 운영체제의 "핵심=알맹이"이다. 혹시, 게임을 하면서 / PPT를 만들면서 / 웹서핑을 하면서 게임에는 CPU자원 몇%를 할당하고 PPT는 몇%를 할당하고 이런 작업을 해본적이 있는가? 거의 없을 것이다. 왜냐하면, 우리에게는 OS(=운영체제)가 있기 때문이다. OS는 여러 프로그램들이 작동할 수 있도록 하드웨어의 자..
자니? 아니 아직. 핵심 내용 인터넷 네트워크 통신 기법중 하나인 polling에 대해 간단히 정리하고자 한다. HTTP통신 방식 - polling에 대해 정리하기 전에 HTTP 통신 방식에 대한 약간의 이해가 필요하다. HTTP의 통신 방식은 "단방향"이다. 여기서 말하는 통신 방식이란 클라이언트와 서버가 정보를 주고 받는 방식을 뜻한다. - 즉, 단방향이라는 것은 = 클라이언트(요청) -> 서버(응답) 구조는 가능하나, 서버(요청) -> 클라이언트 (응답) 구조는 불가능하다는 의미이다. - 적절한 비유인지는 모르겠지만? HTTP통신은 우리가 자판기에서 물건을 사는 것과 유사하다고 볼 수 있다. - 클라이언트가 요청을 한다 = 자판기에 돈을 넣는다. = 연결되어 있음 -> 물건을 고른다 -> 서버가 응..
도식화 그림 목적 컴퓨터가 공용 네트워크를 통해 통신할 때, 안전성을 담보하기 위함 기본개념 - 클라이언트 컴퓨터에 Public Key와 Private Key 한 쌍이 존재 - Public Key 복사 가능 - 외부로 복사 - Public Key를 기준으로 클라이언트 단의 Private Key와 일치하는지 확인 = 인증 과정 - 인증이 되면 통신
다른 링크들을 참조하여 그날 그날 지식들을 간단하게 한~두 줄 정도로만 정리합니다. 허무 지표 | 출처 : http://wiki.hash.kr/index.php/%EC%83%A4%EB%94%A9www.tableau.com/ko-kr/learn/articles/vanity-metrics 성과에 대한 판단을 과장시킬 수 있는 "허무 지표". 예를 들어, 네이버 블로그 이웃 수가 1,000명 인걸 보고 와! 하고 놀랠 수도 있지만, 어떤 과정을 통해 1,000명을 얻었는지는 모른다. 매크로를 돌렸을지도, 혹은 이웃 수는 1,000명 이지만 일 평균 블로그 방문자 수는 그에 미치지 못할 수도 있다.
1. 에러를 로깅 후 직접 확인 try: r = requests.get("url", params=params, headers=headers) except: logging.error(r.text) sys.exit(1) 첫 번째로 에러를 직접 확인후 해결하도록 에러 기록을 로깅하는 방법이 있다. 2. 예외 처리 로직을 직접 작성 if r.status_code != 200: logging.error(r.text) if r.status_code == 429: time.sleep(3) r = requests.get("url", params=params, headers=headers) elif r.status_code == 401: headers = get_headers(p1, p2) r = requests.get..
API란? API의 목적은 "상호작용"이다. 크게 Request와 Respond 두 가지로 나누어진다. 우리가 사이트에 로그인 하기 위해 id와 비밀번호를 입력하고 그 대가로 로그인을 하는 것 이 모든 것들이 API라고 할 수 있다. API 접근 기본적으로 사용자를 확인하는 과정이 있고 API KEY를 통해 구체적인 요청 액션을 하는 행위가 있다. Oauth2.0이라는 시스템이 있는데 최종 사용자에게 권한(동의)를 받아 그 권한을 바탕으로 앱에 데이터를 요청하는 시스템이다. Endpoint & Method endpoint란 정보를 얻어오는 위치이다. 웹 api를 예로들면, 우리가 흔히 입력하는 URL이 된다. 이때, 이 URL에 접근할 수 있는 방법들이 정해져있는데 그 방법들을 Method라고 한다. 보..
다른 링크들을 참조하여 그날 그날 지식들을 간단하게 한~두 줄 정도로만 정리합니다. ASP(Active Server Pages) | 출처 : https://namu.wiki/w/ASP 마소에서 동적 웹 페이지 생성 용도로 제작한 서버 사이드 스크립트 엔진이다. 현재는 유지보수외에 자주 사용하지 않음 ISP(Internet Service Provider) | 출처 : namu.wiki/w/%EC%9D%B8%ED%84%B0%EB%84%B7%20%EC%84%9C%EB%B9%84%EC%8A%A4%20%EC%A0%9C%EA%B3%B5%EC%82%AC%EC%97%85%EC%9E%90 인터넷 통신망을 보유하여 인터넷 회선과 IP할당까지 담당, KT, SKT, LGU등 스파크라인(엑셀) | 출처 : nsupport.m..
다른 링크들을 참조하여 그날 그날 지식들을 간단하게 한~두 줄 정도로만 정리합니다. 해싱 | 출처1 : namu.wiki/w/%ED%95%B4%EC%8B%9C | 출처2 : https://mattlee.tistory.com/62 해싱은 자료를 탐색하는 방법 중 하나이다. 해싱 펑션에 의해 index를 생성하고 value들을 배열에 저장한다. 그리고 key = index를 이용해 배열의 특정 값에 접근한다. 이에 따라, 시간 복잡도가 매우 줄어들며, key를 이용해 value를 함께 삭제할 수 있기 때문에 관리에도 용이하다.