
7년전 아메리슬립 AS4 슈퍼싱글 매트리스를 잘 사용하고 있다가 퀸 사이즈 침대가 필요했다.다른 브랜드도 살펴 보았지만 역시 아메리슬립이 가격도 좋고, 품질도 제일 좋아 구매 결정 고고씽!개인적으로는 완전 푹신한 매트리스를 좋아하는데, Hybrid는 어떤 느낌일지 궁금하여 Hybrid AS5 최상위 모델로 구매 결정!!!! AS5 모델이 제일 푹신한 매트리스이다.이번에도 후기를 작성하면 플렉스 베게를 준다길래 귀찮음을 뒤로하고 작성 ㅋ퀸 사이즈는 무려 베게를 2개나 준다니 마다할 이유가 없잖음이번에는 빨리 사용하고 싶은 마음에 박스 개봉 전 후 사진을 제대로 찍지 못했다.메모리폼 매트리스는 압축된 형태로 택배 배달되고 포장을 풀면 위와 같은 형태로 부풀어 오른다. 포장을 풀고 최고 4시간 후에 사용해..

Scrapy를 잘 사용하기 위해 구조와 작동 순서를 아는것이 필요. Components Scrapy는 아래와 같은 component들로 구성되어 있다. Scrapy Engine 각 component들에 데이터(Request, Response, Item)를 전달(Controller)하고 액션이 발생 했을 때 이벤트를 발생시키는 역활을 함. Scheduler 엔진으로 부터 Request을 전달 받고 이 Request을 queue에 추가한 후 나중에 엔진이 Request를 요청할 때 다시 엔진에 전달. Downloader Request에 포함된 URL에서 웹 페이지를 가져와서 Response 오브젝트를 만들어 엔진에게 전달하는 역활을 한다. 엔진은 전달 받은 이 웹 페이지를 다시 스파이더에게 전달. Spide..

설치 $ pip install scrapy 프로젝트 생성 $ scrapy startproject project_name 아래와 같이 디렉토리와 파일들이 생성됨 $ tree project_name project_name ├── scrapy.cfg └── project_name ├── __init__.py ├── items.py ├── middlewares.py ├── pipelines.py ├── settings.py └── spiders └── __init__.py 간단 spider 생성 Spiders 디렉토리 안에 파이썬 파일 생성 $ cd project_name/project_name/spiders $ touch example.py scrapy.Spider를 상속하는 클래스를 생성 # example...
조건문은 어떤 조건이 참일 때 수행되는 구문이고 반복문은 구문을 반복적으로 수행하기 위해 사용 조건문을 만들기 위해서는 if를 사용하고 반복문은 for와 while을 사용. if if는 영어가 의미하는 대로 만약(if) 조건이 참(True)이면 if문(들여쓴문) 아래 행동을 실행. if 1: # 여기서 1은 True를 의미 print('True') # output 'True' elif 문 사용 조건을 여러 개 추가 할 수 있다. a = 0 if a == 1: print('a는 1이다') elif a == 2: print('a는 2이다') elif a == 0: print('a는 0이다') # output 'a는 0이다'..

Set 특징 Set은 중복을 허용하지 않음(중복제거, unique한 값을 가짐) Set은 순서가 없음 Set 만들기 >>> s1 = set() # 빈 set 만듬 >>> s1 set() >>> s2 = set([1, 2, 1, 3]) >>> s2 {1, 2, 3} # 또는 >>> s2 = set(range(1, 4)) >>> s3 = {1, 2, 1, 3} >>> s3 {1, 2, 3} 아이템 추가 >>> s = set() >>> s.add(1) >>> s.add(2) >>> s.add(1) >>> s {1, 2} 여러 아이템 추가 한번에 추가 >>> s = set() >>> s.update([1, 2, 3]) >>> s {1, 2, 3} 아이템 가져오기 .pop()을 사용하면 맨 왼쪽의 아이템이 반환되..

Tuple은 list나 dictionary와 다른게 한번 만들어 지면 변경될 수 없음(immutable). 데이터 모음이 변경되지 않는 것을 보장해야 할 때 사용. ()를 사용하여 만듬. Tuple 만들기 >>> t = () # 빈 tuple >>> t = tuple() # tuple() 빌트인 함수 사용 아이템 추가 한번 만들어진 tuple은 아이템을 추가하거나 변경 할 수 없기 때문에 사실상 아이템을 추가 할 수 있는 방법이 없고 tuple을 만들면서 아이템을 추가하여야 함. >>> t = (0,) >>> t = 0, 'spam', 1.2 >>> t = tuple('spam') ('s', 'p', 'a', 'm') >>> t = tuple(0) # iterable한 아이템만 사용가능 TypeError..

Dictionary은 말 그대로 사전처럼 인덱스(Key)를 기준으로 원하는 값을 찾기위해 사용. 다른 프로그램 언어(예: 자바스크립트)에서는 map이라고도 함. {}를 사용하여 만들며 {키: 값} 형식으로 데이터를 저장. dict() Built-in 함수를 사용하여 만들 수도 있음. key에는 mutable(예: list)한 타입은 사용할 수 없음(예: tuple은 사용가능) value(값)에는 모든 type(예: list, dictionary, tuple) 사용 가능. List와 다르게 데이터의 순서(sequence) 없음(list는 데이터를 넣은 순서대로 정렬되고 index를 이용하여 값을 찾음. Dictionary는 키를 이용하여 값을 찾기에 순서가 필요 없음) Dictionary 만들기 >>> a..

파이썬 자료구조 형태의 하나로 시퀀스 데이터를 가지고 있음. 시퀀스는 데이터의 순서를 정하는 것을 의미 하므로 순서를 가지고 있고 index를 사용하여 값을 가져 올 수 있음. 보통 list는 원하는 데이터를 하나의 변수로 정의하여 사용하기 위해 사용. 예를 들어 >>> animal = ['dog', 'cat', 'monkey'] >>> numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] 와 같이 의미가 같은 값들을 하나의 변수로 묶어 사용할 수 있다. List 만들기 >>> a = [] # 빈 list 생성 >>> b = list() # built-in 함수를 사용 >>> c = [1, 2, 3, 4] >>> c [1, 2, 3, 4] >>> d = ['a', 'b', 'c', ..

String 변수 만들기 >>> a = '' # 빈 string 만들기 >>> a '' >>> type(a) str >>> b = str() >>> b '' >>> type(b) str >>> a = 'String' >>> a 'String' >>> type(a) str 숫자로 만들어진 String은 Integer가 아님 >>> a = '1' >>> a '1' >>> type(a) str >>> b = 1 >>> b 1 # (주의) ''(작은 따옴표)가 없으면 integer 임 >>> type(b) int Apostrophe 사용하기 >>> a = "String's" # Apostrophe를 사용하기 위해서는 큰 따옴표를 사용. >>> a "String's" String 변수를 만들 때 큰 따옴표(“”)..

변수 선언 파이썬은 아래와 같이 변수 선언 >>> a = 1 # int 형 선언 >>> type(a) # type() 빌트인 함수를 사용하여 형 확인 int >>> a 1 >>> a = '1' # ''를 사용하면 str 형이 선언 >>> type(a) str >>> a '1' >>> a.isdigit() # isdigit()를 사용하여 str형이 정수형 str인지 확인 가능 True >>> a = 'string' # str 형 선언 >>> type(a) str >>> a 'string' >>> a = 1.23 # floating 형 선언 >>> type(a) float >>> a 1.23 >>> a = [1, 2, 3] # list 형 선언 >>> type(a) list >>> a [1, 2, 3] >>..