일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- khaiii
- 필사
- 코딩온라인
- expression statement is not assignment or call html
- taskkill
- 자바파이썬
- address
- 파이콘
- gitbash
- 플젝후체크
- github
- #스파르타코딩클럽후기 #내일배움캠프후기
- 카우치코딩 #couchcoding #6주포트폴리오 #6주협업프로젝트v
- 클라이언트사이드렌더링
- terminate
- github markdown
- Morphological analysis #Corpus
- 카우치코딩 #couchcoding #6주포트폴리오 #6주협업프로젝트
- SSR
- 마크다운
- PID
- 비동기
- Anaconda
- Kakao
- 서버사이드렌더링
- 모바일웹스킨
- Machine Learning
- 출처: 자바의 신 8장
- 파이썬
- Technical Writing
- Today
- Total
개발 일기
웹개발 일지 (3) - 크롤링, 파이썬, 서버와 Framework 본문
#가장 자주 하는 실수는 syntax error 다.
For 문을 이렇게 감싸줘야 함. } 하나를 빼먹어서 자꾸 에러가 나는 경우가 많다. for 문을 실행할 때는, for 문과 결과값 까지 같이 감싸줘야 한다.
#
기존에 있는 상자들을 없애고 싶을 때
(1) Ajax 시작 전에 하거나.
(2) 맨 앞에서 없애고 시작한다
#파이썬 시작
-파이썬을 설치했다는 건 파이썬 interpreter 를 설치했다는 것과 같은 말이다.
-가상환경 = 프로젝트별 공구함이라고 생각하자. 라이브러리를 담아두는 폴더다.
#에러를 볼 때는 (1) 끝에서 첫 번째: 에러에 대한 설명 (2) 끝에서 두 번째: 에러의 위치
#태도
중괄호, 대괄호는 언제 쓰지? 이렇게 이해하려고 하면 안됨. Person 의 age키값을 가져올 때는 if person ['age]를 통쨰로 쓰네. 이런 맥락?에서 이해하기.
#
크롤링: 구글, 네이버 검색 엔진이 내 사이트 퍼가는 행위. 스크래핑이라는 단어와도 혼용해서 많이 씀.
크롤링은 정답을 찾아가는 것이 아니라, 되게 만드는 것임. 사람마다 세우는 전략이 다를 수 있다.
크롤링이 가능한 이유?
Ex. 네이버 영화 페이지: 인터넷과 관계없이 내가 이미 받아온 정보들. 이미 받아온 걸 가지고 솎아 내는 것.
기술적으로 중요한 두 가지
(1) 코드 단에서 요청하기 requests 로 할 것
(2) 요청 되서 가지고 온 검사를 눌러서 보면 html 들 중에 내가 원하는 정보를 잘 솎아내기. Beautiful soup 이 해줄 것.
#
headers 붙이는 이유 코드단에서 요청 할 때, 기본적인 요청은 막아두는 이 많다.
#DB란?
몽고 DB는 데이터베이스인데, 내 눈에 보이지 않게 켜진다. 컴퓨터에서 돌아가고는 있는데 내 눈에 보이지 않음. 그래서 Robo 3T로 몽고DB를 시각화해서 우리 눈에 보일 수 있게 하는 것임.
DB의 종류와 역할.
(1) SQL (Excel에 가까움)
열,행을 미리 정해놔야 함. 중간에 바꾸기 불편. 정형화된 데이터 뽑는 데 최적화. 데이터 일관적. 분석하기도 빠름.
EX) MSSQL, MYSQL, 오라클
(2) NoSQL (한 줄 한줄이 DICTIONARY 형태로 들어감. 정형화가 안되어 있음. 어떤 애는 EMAIL 이 있고 어떤 애는 없고..) 유연함. 초기 서비스, 스타트업이 많이 채택함.
EX) 몽고DB
서버: 컴퓨터의 역할. DB도 프로그램 중 하나이자 역할이라고 보면 된다. Mongo DB 의 collection: 비슷한 애들끼리 묶은 개념
#
DB를 보면, 이렇게 미묘하게 아이콘 모양이 다른 것을 알 수 있다. 50열의 평점은 숫자로 넣었고, 다른 열은 STRING으로 넣었기 때문이다.
#
DB를 새로 추가했을 때 오름차 순으로 정렬하는 법.
#
퀴즈
지니 뮤직을 크롤링 해올 때, 순위 데이터를 가져오면 '1상승' 이라고 SPAN 태그에 묶여있던 것도 같이 나왔다.
SPAN 태그를 어떻게 삭제할 수 있을까 복잡하게 고민했는데, 이 케이스의 경우는 그냥 앞의 것만 잘라주면 되는 거였어서 의외로 간단했다. TEXT[0:2] 요렇게 잘라주면 된다.
이렇게 나오던 것이,
요렇게 공백이 사라진다. strip()으로 공백을 삭제해줄 수 있다.
#Framework 란?
-서버
다시 서버의 개념으로 돌아가보면, 서버는 컴퓨터에 돌아가고 있는 하나의 프로그램이다. 엑셀, 파워포인트 이런 것처럼.
보통 개발자들은 본인이 서버를 만들고 (결과물은 localhost 5000을 치면 보인다), 또 내 컴퓨터에서 브라우저로 접속을 해봄. 컴퓨터를 2대 살 수는 없으니까 이렇게 하는 것이다. 이것이 로컬 개발 환경이다. 이제 html 직접 들어가지 말고, 서버 run 하고 local host 5000으로 들어간다.
#Flask Framework 설치
개발자들은 서버를 만들 때 framework 가져다 쓴다. Framework 를 갖다 쓴다는 건 남이 짜둔 규칙, 틀 안에서 자유롭게 코딩한다는 거다. 즉, 편하다. Library 는 내가 내 마음대로 짜는데, 남이 만들어 놓은 걸 중간에 자유롭게 갖다 쓰는 것이다. 하나의 프레임워크 안에서 100개든 1000개든 라이브러리를 갖다 씀
Framework 를 짤 때는 정해진 규칙을 따라줘야 한다. Flask 는 정해진 폴더 구조가 있음.
#API란?
-API: 클라이언트에게서 요청을 받는 창구 같은 개념. API 도 규칙이 있고 그에 해당하는 주소가 존재한다.
*Get: 데이터 조회를 요청할 때 / Post: 데이터를 바꿀 때. (만들거나, 변경하거나, 삭제할 때)
서버에 요청할 때는 (1) ajax 로 콜을 한다 (2) API 만들고 클라이언트에서 Ajax 로 콜함 (3) Response
'Tech > Others' 카테고리의 다른 글
[에러 해결] Address already in use 일 때 process Kill 하기 (0) | 2021.09.07 |
---|---|
웹 개발 일지 (5) Get 과 Post API 활용, AWS 서버 에 올리기, FileZilla (0) | 2021.08.19 |
웹개발 일지 (2) - Javascript, JQUERY (0) | 2021.08.11 |
웹개발 일지 (1) - HTML, CSS, Javascript 기초 개념 (0) | 2021.08.09 |
티스토리 마크다운 깃헙 (Markdown Github) - 코드블럭 적용 에러 해결법 (0) | 2021.07.26 |