WIL(1_3)

SG Jang·2022년 6월 16일
0

WIL

목록 보기
3/5
post-thumbnail

1_3주차에 배운 내용입니다.


1. Python

  • 파이썬 프로젝트에서 회사에서는 패키지 A, B, C를 사용하고, 개인프로젝트로는 B, C, D, E를 사용하고 있다고 가정할 때 내 PC에는 패키지 A, B, C, D, E가 설치되어있다고 할 수 있다. 만약 여기서, 회사에서 패키지 B를 B*로 바꾼다면 내 개인프로젝트도 B패키지를 사용하기 때문에 문제가 발생한다. 여기서 가상환경이라는 개념이 등장하였다. 가상환경이란, 프로젝트마다 다른 패키지를 사용할 수 있고 서로 다른 프로젝트의 동작에 영향을 주지 않기 위해, 파이썬 배포 패키지들을 설치하거나 업그레이드하는 것을 가능하게 하는 격리된 실행 환경입니다.

  • 크롤링 기초

    준비: requests, bs4 패키지 설치
    기본 세팅↓

    import requests
    from bs4 import BeautifulSoup
    headers = {'User-Agent' : 'Mozilla/5.0 (Windows NT 10.0; Win64; x64)AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.36
    data = requests.get('크롤링할 주소',headers=headers)
    soup = BeautifulSoup(data.text, 'html.parser')
    //코딩시작(soup이라는 변수에 "파싱 용이해진 html"이 담긴 상태임)

2. SQL vs NoSQL(Not only SQL)

sql과 NoSQL에 대한 간략한 비교

RDBMS(SQL)

행/열의 생김새가 정해진 엑셀에 데이터를 저장하는 것과 유사합니다. 데이터 50만 개가 적재된 상태에서, 갑자기 중간에 열을 하나 더하기는 어려울 것입니다. 그러나, 정형화되어 있는 만큼, 데이터의 일관성이나 / 분석에 용이할 수 있습니다.
ex) MS-SQL, My-SQL 등

No-SQL

딕셔너리 형태로 데이터를 저장해두는 DB입니다. 고로 데이터 하나 하나 마다 같은 값들을 가질 필요가 없게 됩니다. 자유로운 형태의 데이터 적재에 유리한 대신, 일관성이 부족할 수 있습니다.
ex) MongoDB

3. MongoDB

  • MongoDB를 클라우드 환경에서 관리하는 mongoDB Atlas를 사용하여 강의가 진행된다.
  • MongoDB기초

    준비: pymongo, dnspython 패키지 설치, pymongo는 mongoDB를 조작하기 위함.
    기본 세팅↓

    from pymongo import MongoClient
    client = MongoClient('여기에 커넥션 URL 입력')
    db = client.dbsparta 

    데이터를 조작하는법↓

    #. 저장 - 예시
    doc = {'name':'bobby','age':21}
    db.users.insert_one(doc)
    
    #.  한 개 찾기 - 예시
    user = db.users.find_one({'name':'bobby'})
    
    # 여러개 찾기 - 예시 (_id 값은 제외하고 출력)
    all_users = list(db.users.find({},{'_id':False}))
    
    # 바꾸기 - 예시
    db.users.update_one({'name':'bobby'},{'$set':{'age':19}})
    
    # 지우기 - 예시
    db.users.delete_one({'name':'bobby'})

후기: SQL인 MySQL만 사용해보다가 처음으로 NoSQL인 MongoDB를 사용해보게 되어 기대가 되었음.


참고자료

0개의 댓글