해당 포스트는 web scraping 의 이해를 돕기 위한 포스트입니다. http통신 중의 개념 중의 하나인 쿠키와 세션에 대한 내용입니다. Cookie와 Session이 왜 필요한가? 쿠키와 세션이 왜 필요한가가 먼저 선행이 되어야 할 것 같습니다. http는 tcp를 기반으로 만들어졌습니다. 이 통신의 약점을 보완하기 위해 쿠키와 세션의 개념이 도입된 것입니다. 그렇다면 http의 약점은 무엇일까요? HTTP의 약점 ( Connectless, Stateless ) http의 약점이라고 할 수 있고 특징이라고 할 수 있겠습니다. 그 특징은 Connectless 와 Stateless 입니다. Connectless 는 서버에 연결하고, 요청해서 응답을 받으면 연결을 끊어버리는 기능입니다. 기본적으로는 자원..
해당 포스트는 deck.gl을 소개하는 블로그 입니다. deck.gl는 UBER이 다룬 WebGL 만든 맵 및 데이터 시각화 프레임 워크에서 정보의 시각화에 적합합니다. 아름다운 deck.gl의 example을 참조하십시오. https://deck.gl/#/examples/overview 한번 만들어보고 싶어 졌습니다. 현재 가지고 있는 맥으로 한번 구성해보았습니다. 일단은 local환경에서 만들기로 해보았습니다. 맥은 apache 가 깔려있기 때문에 간단한 명령어로 웹 서버를 사용할 수 있습니다. 개발 환경 1. OSX version : mojave 10.14.6 2. OSX PHP version $php -v //PHP 7.1.23 (cli) (built: Feb 22 2019 22:19:32) ( ..
해당 포스트는 iot쪽에서 일하고 있는 현직자가 느끼는 어려운 점에 대한 내용입니다. 무엇을 개발을 하고 있는가? 현재 IoT 펌웨어 쪽을 개발하고 있습니다. 사실 대학다닐 때 펌웨어를 집중적으로 한 적 없어서 기본적인 내용도 몰랐기 때문에 처음 펌웨어를 개발할 때 고생좀 했습니다. 아직도 잘 모르지만 현재까지 1년동안 개발하면서 느낀 점을 써보려고 합니다. 현재 저는 LoRaWAN 펌웨어 개발을 하고 있습니다. 인프라에 사용될 디바이스를 미국 호주 유럽 일본 한국 등 여러나라에 팔기 위해서 개발을 하고 있습니다. 가격이 중요하다 사실 IoT 펌웨어 개발은 그렇게 어렵지 않습니다. 인프라에 활용되는 장비의 펌웨어는 정말 아무 기능이 없다고 해도 무방합니다. 단순한 GPIO 입력으로 장비에 연결된 값을 읽..
해당 포스트는 python 라이브러리인 Beautiful Soup과 웹 구조인 DOM을 이용한 웹 스크래핑 방법에 관한 포스트입니다. Beautiful Soup를 DOM구조의 html 분석 Beautiful Soup 공식홈페이지에 간락한 예제가 나옵니다. 밑의 예시를 해당 라이브러리로 파싱(분해)해보겠습니다. html_doc = """ The Dormouse's story Once upon a time there were three little sisters; and their names were Elsie, Lacie and Tillie; and they lived at the bottom of a well. ... """ Beautiful Soup를 DOM구조의 html 파싱 결과 해당 라이브러리의 ..
해당 포스트는 web scraping을 위해 필요한 요소인 DOM에 관한 포스트입니다. 문서 객체 모델(DOM)이란? DOM은 HTML 문서나 XML 문서에 접근하기 위한 일종의 인터페이스입니다. DOM은 문서 내의 모든 요소의 목적과 특징을 정의하고, 각각의 요소에 접근하는 방법을 제공합니다. Web scraping 과 DOM 웹 스크래핑에 복잡한 웹 페이지에서 Ajax기능이 어디에 적용되는지 확인해야합니다. Ajax는 비동기 기능으로서 웹페이지 전체를 업데이트 하지 않고 일부만 변경하는 것이 가능합니다. 그래서 DOM을 잘 이해하면 웹 페이지의 구조를 쉽게 이해할 수 있고, 해당 요소에 접근해서 원하는 데이터를 얻는 데 유용하다. DOM에 접근하는 방식으로 javascript를 사용하기 때문에 jav..
해당 포스트는 web scraping(web crawling)을 위한 기본적인 내용인 Ajax에 대한 내용입니다. 정의 Ajax란 Asynchronous JavaScript and XML의 약자입니다. Ajax는 빠르게 동작하는 동적인 웹 페이지를 만들기 위한 기술입니다. Ajax 의 Asynchronous를 보면 비동기적이라는 것을 확인할 수 있습니다. 해당 비동기라는 것은 웹 페이지의 일부분만을 비동기적으로 갱신할 수 있다는 의미입니다. 보통은 웹 페이지를 전체를 갱신하기 때문에 시간이 오래걸립니다. 그래서 Ajax라는 기능이 나왔습니다. 즉, Ajax를 이용하면 백그라운드에서 서버와 통신하여, 해당 리턴 값을 웹 페이지의 일부분에 표시할 수 있습니다. 이때, Ajax는 다양한 형태의 데이터를 주고받..
해당 포스트는 web scraping(web crawling)을 위한 기능 중 하나인 XHR에 관한 포스트입니다. XMLHttpRequest(XHR) 객체는 서버와 상호작용하기 위하여 사용됩니다. 전체 페이지의 새로고침없이도 URL 로부터 데이터를 받아올 수 있습니다. 즉, 전체 페이지와는 독립적으로(비동기적) 데이터를 주고 받을 수 있다는 의미다. XMLHttpRequest 는 AJAX(Asynchronos Javascript And XML)프로그래밍에 주로 사용됩니다. XMLHttpRequest 는 XML 뿐 아니라, 모든 종류의 데이터를 받아오는데 사용할 수 있습니다. 또한 HTTP 이외의 프로토콜도 지원합니다(file 과 ftp 포함). 사용법 XMLHttpRequest를 http를 이용해서 예제..
해당 포스트는 .bash_profile 과 .bashrc의 차이점을 알기 위한 포스트이다. 시작하기 윈도우를 쓰는 사람은 해당 변수에 들어본 적이 거의 적을 것이다. 윈도는 환경변수를 저장하는 곳이 있기 때문이다. 하지만 리눅스환경에서는 해당 패스들을 설정해줘야할 때가 있다. 그럴 때 사용하는 것이 .bash_profile 과 .bashrc이다. bash를 사용 과정에서 사용 환경을 사용자 취향에 맞게 설정가능하다. .bash_profile .bashrc 이 두 가지 설정 파일이 그 역할을 한다. 각각의 파일 설정의 차이점을 알아보자. .bash_profile 로그인시 에 1 회 실행된다. 맥에서는 터미널을 열면 실행된다. e.g. 1, 터미널 .app를 시작했을 때 실행된다. e.g. 2, GUI 환경..
해당 포스트는 mac에서 python 관리를 위해 작성된 포스트입니다. Homebrew : Mac OS X 운영 체제에서 소프트웨어의 도입을 단순화하는 패키지 관리 시스템의 하나 pyenv : 다양한 버전의 Python을 관리하는 도구입니다. 도입하여 Python v2 계와 v3 계 등 여러 버전의 전환이 용이하다. Anaconda : Python 본체 이외에 데이터 계산이나 데이터 분석 등에 사용할 다양한 라이브러리가 세트로 들어있는 패키지. Anaconda는 비즈니스 인텔리전스, 과학 분석, 엔지니어링, 기계 학습 등에 대한 대규모 데이터 관리, 분석 및 시각화를 가능하게하는 강력한 Python 용 무료 패키지 모음입니다. 환경 (필자의 환경) Mac OSX 10.14.6 Homebrew versio..
- Total
- Today
- Yesterday
- bashrc
- BREW
- Session
- XHR
- homebrew
- data visualization
- 쿠키
- XMLHTTPRequest
- Internet of Things
- 세션
- cookie
- deck.gl
- OSX
- Python
- IOT
- Anaconda
- bash_profile
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |