본문 바로가기
728x90

전체 글171

HTML / CSS / J.S Web Scraping, Web crawling * 학습목표 * 크롤링을 이해하고 설명할 수 있다. 파이썬을 통해서 크롤링을 할 수 있다. HTML 혹은 CSS 를 읽을 수 있다. DOM 에 대해서 설명할 수 있다. requests 라이브러리를 사용할 수 있다. beautifulsoup 라이브러리를 사용할 수 있다. ## code ## 경로를 병합하여 새 경로 생성 os.path.join('C:\Tmp', 'a', 'b') # "C:\Tmp\a\b" 현재 작업 폴더 얻기 os.getcwd() # "C:\Temp" 크롤링 (crawling) 혹은 스크레이핑 (scraping) 은 웹 페이지에 있는 데이터를 모으는 작업 scraping - 특정 정보를 가져오는 것이 목적 crawling - 인터넷에 있는 사이트들을 인덱싱하는 목적 == > 자동화에 초점이.. 2021. 7. 21.
Error, try ... except Error 1. 실행전 Error => 구문에러( SyntaxError ) = 문법적인 문제가 발생 2. 실행중 Error => 예외( Exception, RuntimeError ) ==> 예외처리해줄 수 있음 ( Exception handling = 조건문 or try except 구문 ) Error list AssertionError: assert 문이 제대로 작동하지 않을 때 발생합니다. IndexError: 참조 하려는 인덱스가 범위를 벗어날 때 발생합니다. KeyError: 참조 하려는 키가 기존 키 집합에서 찾을 수 없을 때 발생합니다. KeyboardInterrupt: 사용자가 인터럽트 키(Control + C, 혹은 Delete)를 누를 때 발생하며, 모든 Exception을 잡는 코드에 .. 2021. 7. 18.
Class 상속(inheritance) 상속(inheritance) 국가라는 클래스가 있고, 그것을 상속받은 한국, 일본, 중국, 미국 등의 클래스를 만들 수 있으며, 국가라는 클래스의 기본적인 속성으로 인구라는 속성을 만들었다면, 상속 받은 한국, 일본, 중국 등등의 클래스에서 부모 클래스의 속성과 메소드를 사용할 수 있음 class 부모클래스: # (Parent Class, Super class) ...내용... class 자식클래스(부모클래스): # (Child class, sub class) ...내용... # 자식클래스에서는 부모클래스의 속성과 메소드는 기재하지 않아도 포함이됨 MRO(Method Resolution Order)란? 메소드 결정 순서 __mro__ 파이썬은 기본적으로 다중 상속을 지원 죽음의 다이아몬드는 다중 상속을 .. 2021. 7. 18.
매직메소드 매직 메소드 클래스 안에 정의된 함수 ( 리스트, 튜플, 딕셔너리, 정수, 실수, 문자열 등과 같은 타입 역시 클래스를 통해 만들어진 기본 데이터 타입 ) ex 직접 만든 타입도 인덱싱 기능을 제공하려 할때 매직메소드 사용 class Notebook: def __init__(self, name, price): # 객체의 초기화를 위해 클래스 생성시 호출될때 동작 self._name = name self._price = price def __str__(self): # 클래스의 인스턴스에서 str()이 호출될 때의 동작 return f'{self.__class__.name} Class Info : {self._name}, {self._price}' def __add__(self, x): # 사용하기 쉽게 +.. 2021. 7. 18.
Class , Object , Method ( OOP ) Object-Oriented Programming 객체 지향 프로그래밍 클래스를 사용해서 프로그래밍 하는 방법 ( 프로그램을 수많은 '객체'라는 단위로 구분하고, 이 객체들의 상호작용하는 방식 ) ==> 객체를 우선으로 생각하는 언어 ==> 객체를 효율적으로 만들고 사용하는 것이 목적 클래스는 어떤 물건을 찍어내기 위한 일종의 틀 class 객체는 그 틀을 이용해서 찍어내는 실제 물건 object 프로그램을 유연하고 변경이 용이하게 만들기 때문에 대규모 소프트웨어 개발에 많이 사용 또한 프로그래밍을 더 배우기 쉽게 하고 소프트웨어 개발과 보수를 간편하게 하며, 보다 직관적인 코드 분석을 가능하게 하는 장점 일반적으로 프로그램을 만들때 항상 염두에 둬야할 2가지 1. 같은 코드를 반복하지 않는다. 2. 코.. 2021. 7. 18.
Python 함수 Python - 다른 언어에 비해 구현상의 복잡합이 적은 편이지만 데이터 처리량이 많을 때는 꼭 메모리 제한을 고려해야한다. But 코테에서 이러한 문제는 드물다. 데이터의 개수(리스트의 길이) 메모리 사용량 1,000 약 4 KB 1,000,000 약 4 MB 10,000,000 약 40MB 기본 자료형(문자열, 숫자, bool) 등은 특정 하나의 값을 사용한다. 컬렉션은 말 그대로 여러 개의 값을 저장할 수 있음 * 리스트는 동적이다. 동적이라 함은 메소드를 사용해 값을 추가하거나 제거가능 튜플과의 차이점 : 리스트는 메소드를 활용하여 값 수정가능. 딕셔너리와 차이점 : 인덱스를 기반으로 값을 저장하고 수정할 수 있다. 파이썬 리스트는 탐색, 삽입, 삭제와 같은 연산에 대한 메소드를 갖고 있으므로 단.. 2021. 7. 18.
SQL과 NoSQL 차이점 관계형 데이터베이스에서는 데이터를 쓸 때 스키마에 맞춘다면, 반면에 NoSQL에서는 데이터를 읽어올 때 스키마에 따라 읽어옵니다 =schema on read 데이터 저장(Storage) 관계형 데이터베이스는 SQL을 이용해서 데이터를 테이블에 저장합니다. 미리 작성된 스키마를 기반으로 정해진 형식에 맞게 데이터를 저장해야 합니다. SQL NoSQL은 위에서 설명된 것처럼, key-value, document, graph, wide-column 형식등의 방식으로 데이터를 저장할 수 있습니다. NoSQL 문서들은 BSON(Binary json JSON형태의 문서를 바이너리 형태로 인코딩한 바이트 문자열) 형태로 저장이 되고 정해진 틀이나 데이터 타입이 없습니다. 따라서 자유롭게 문자, 숫자, 객체, 배열 등.. 2021. 7. 14.
SQLite3 / DBeaver / ElephantSQL / NoSQL SQL 특징을 설명할 수 있어야 합니다. 데이터베이스 관계를 설정할 수 있어야 합니다. SQL 싱글 테이블 관련 문법을 활용할 수 있어야 합니다. Database의 필요성 1. In-Memory 제일 먼저 파이썬에서 데이터를 다룰 때에는 프로그램이 실행될 때에만 존재하는 데이터가 있습니다. 파이썬에서 변수를 만들어 저장한다고 해도 프로그램 실행이 종료가 되는 순간 해당 프로그램이 사용하던 데이터도 같이 없어짐. 그 뜻은 데이터가 프로그램에 의존한다는 것입니다. 이렇게 된다면 원하는 데이터를 원하는 시간에 꺼내오기가 힘들어지고 데이터의 수명이 프로그램의 수명에 의존하게 됩니다. Data가 Program에 의존 프로그램 실행 종료 --> 해당 프로그램 데이터 없어짐 2. File I/O ( Input / O.. 2021. 7. 14.
Docker CLI 가 무엇인지 말할 수 있다 Docker Hub에서 Docker Image 를 검색한 뒤 사용할 수 있다. 한 개의 Docker Image를 이용해서 Container 를 구축할 수 있다. 두 개 이상의 Docker Container를 이용해서 Container 를 구축할 수 있다. Docker LifeCycle 을 통해 오늘 배우지 않은 부분이 무엇인지를 알 수 있다. Docker 다른 장치에서 동작하는 게임을 PC 에서 동작시킨다는 것 ==> 프로그램 실행을 위해 Linux 환경을 쉽게 구성하기 위한 도구 == docker #어플리케이션 실행 환경을 코드로 작성할 수 있고 OS를 격리화하여 관리하는 기술# image = container 실행에 필요한 파일과 설정값들을 포함 ( 변하지않는 파일 .. 2021. 7. 14.
728x90