목록분류 전체보기 (108)
헬창 개발자
pip install pystan pip install plotly pip install prophet (에러시) conda install -c conda-forge conda conda install -c conda-forge prophet pip install --upgrade plotly 이후 from prophet import Prophet 선언
도커란? 도커 : 컨테이너 기술을 기반으로 한 가상화 플랫폼, 즉 독립된 환경을 만들어서 하드웨어를 효율적으로 활용하는 기술 가상화와 컨테이너 도커의 분할된 가상 머신들은 각각 독립적인 환경으로 구동됩니다. 이 때 베이스가 되는 기존의 환경을 Host OS, 그리고 가상 머신으로 분할된 각각의 환경을 Guest OS라고 부릅니다. 가상화 : 물리적 자원인 하드웨어를 효율적으로 활용하기 위해서 하드웨어 공간위에 가상의 머신을 만드는 기술 컨테이너 : 컨테이너가 실행되고 있는 호스트 os의 기능을 그대로 사용하면서 프로세스를 격리해 독립된 환경을 만드는 기술 가상 머신을 생성하기 위해서는 하이퍼바이저라는 소프트웨어를 사용합니다. 하이퍼바이저는 호스트 하드웨어에 설치되어 호스트와 게스트를 나누는 역할을 하고,..
passport란? 내부적으로 쿠키와 세션을 사용해서 Node.js에서 인증을 쉽게 적용할 수 있는 미들웨어이다. passport는 strategy(전략)라는 인증 전략을 사용하는데, 하나의 플로그인이라고 생각하면 쉽다. 여기서 strategy라고 하는 것은 어떤 것을 이용해, 어떻게 인증을 구현할 것인가에 대한 전략을 말한다. 예를 들어 passport-facebook이라는 전략을 사용한다고 하면 사용자가 이미 가지고 있는 페이스북 아이디와 연동해서 인증을 수행할 수 있게 된다. 이외도 OpenID, Heroku, HTTP Bearer를 사용해서 인증하는 방법 등 다양한 방법이 존재한다. 서비스의 목적에 맞게 사용하면 되는데 보통의 웹 서비스는 주로 local에서 구현하는 passport-local, ..
HTTP와 AJAX HTTP는 URL과 Header같은 부가 정보를 포함하여 사용자가 원하는 데이터를 정확히 주고받을 수 있도록 해준다. HTTP 통신은 클라이언트 요청 한번에 응답 한 번을 보내고 통신을 끝내게 된다. 따라서 페이지의 일부분만 갱신하고 싶어도 응답을 다시 보내야 한다. 따라서 페이지의 일부분만 갱신하고 싶어도 응답을 다시 보내야 한다. 그래서 이러한 제약으로부터 조금 더 진화한 AJAX라는 것이 등장했다. AJAX는 ‘Asynchonous JavaScript XML’의 약자로 XMLHttpRequest라는 자바스크립트 객체를 이용해 서버와 비동기 방식으로 통신하여 DOM을 조작해 문서의 일부분만 갱신하는 것을 가능하게 된다. 따라서 HTTP 대신 AJAX를 사용하는 경우는 이메일 중복 ..
MongoDB 무작위로 크롤링을 한 데이터라던가 세션, 로그 데이터 등의 비정형 데이터는 데이터가 어떤 형태로 들어올지 모르므로 어느 정도 융통성 있게 테이블을 짜 놓는게 좋다. 특히 빅데이터 같은 경우에는 양이나 형태가 가늠되지 않으니, 이 상태에서 데이터를 분산처리하고, 또 그에 맞게 스키마를 작성하는 것은 매우 비효울적이다. 이럴때 사용할 수 있는 데이터베이스가 MongoDB이며 NoSQL 중 가장 인기 있는 데이터베이스이다. MongoDB의 특징은 다음과 같다. Schema-Free(Schema-less)이다. Schema가 없다. 같은 Collection 안에 있을지라도 다른 Schema를 가지고 있을 수 있다 솔루션 자체의 분산 처리, 샤딩, 데이터 리밸런싱, 복제, 복구를 지원한다. 대용량,..
데이터 유형에 따른 SQL 종류 SQL 서로 관계가 있는 데이터 구조를 만들고 싶을 경우에 사용한다. 각 관계에 대한 데이터가 자주 수정되는 경우에 사용한다. 서비스에 명확한 스키마가 중요할 경우에 사용한다. NoSQL 데이터의 형태를 정확히 규명할 수 없는 경우에 사용한다. 읽기(Read)가 변경(Update)보다 많은 데이터일 경우 사용한다. 데이터의 양이 많아 수평으로 확장해야 하는 경우 사용한다. 개발 환경 설정 MySQL 설치 생략 MySQL Workbench를 이용하여 roadbook 스키마에 customers, purchase 테이블을 만들어주자 ORM : Sequelize ORM(Object Relational Mapping)이란? 객체와 관계를 맵핑해주는 역할 ORM을 사용하면 SQL이 ..
웹 파싱 크롤링 자동화된 방법으로 웹을 탐색하는 작업을 말하며 여러 개의 인터넷 사이트 페이지를 수집해서 분류하는 것 파싱 어떤 페이지에서 내가 원하는 데이터를 특정 패턴이나 순서로 추출하여 정보를 가공하는 작업 스크래핑 http를 통해 웹 사이트의 내용을 긁어와 원하는 형태로 가공하는 모든 작업을 말하며 크롤링과 파싱도 일종의 스크래핑이다. Node.js에서 크롤링 및 파싱을 하려면 axios 모듈과 chreerio 모듈이 필요하다. chreerio는 axios의 결과로 받은 데이터에서 DOM Selector를 사용해 필요한 데이터만 추출하는 데 사용할 수 있다. npm install cheerio npm install axios cheerio 함수 load() html 문자열을 cheerio 객체로 ..
API란?API : Application Programming Interface 의 약자로 응용 프로그램 사이의 인터페이스라고 해석하며 응용 프로그램 사이의 소통 방법을 의미한다.사용 모듈이전 까지 app.get(), app.post() 등의 express 메서드를 통해 내 서버의 get, post 요청을 구현해 봤는데 다른 서비스 API요청을 위해서는 request, axios등의 http 통신 라이브러리가 필요하다.먼저 이 둘의 차이점을 알아보자request npm 초창기부터 있던 모듈이며 현재는 유지보수가 중단된 상태이다. 큰 단점은 promise 기반이 아니다.axios 대부분의 브라우저를 지원한다. (구형 브라우저 및 최신 브라우저까지) JSON 데이터를 자동으로 변환해준다. 다양한 기능들이 있..