본문 바로가기

멋사107

[DAY 12] API, 로봇 배제 표준, FinanceDataReader 등 API를 제공하는 이유, 로봇 배제표준, FinanceDataReader에 대해 공부하고 웹 스크래핑 실습을 했다. 키워드 : API, robots.txt, 라이브러리, FinanceDataReader, 웹 스크래핑 API를 제공하는 이유 - 허가된 계정에게만 데이터를 제공하기 위해 - 누가 사용했는지 알기 위해 - 유료로 데이터를 판매하는 사이트는 용량 등에 따라 과금을 위해 - 부동산 실거래가 등 실시간 제공 데이터의 경우 - 안정성을 위해 : 특정 사이트에 무리하게 네트워크 요청을 보내면 서버에 무리가 간다. - API용 서버를 따로 두게 되면 요청이 몰릴 경우에도 운영하고 있는 서비스의 서버에 무리를 주지 않는다. 로봇 배제 표준 웹사이트에 로봇이 접근하는 것을 방지하기 위한 규약으로, 웹크롤링 .. 2023. 1. 10.
[DAY 10] getter, setter, name mangling getter, setter : 객체의 내부 변수에 접근할 때 특정 메소드를 거쳐서 접근할 수 있도록 하는 방법 이름과 패스워드를 갖는 유저 객체를 생성해보자. class User: def __init__(self, name, pw): self.name = name self.pw = pw user = User('peter', 'abcd123') # 유저 객체를 생성 이름이 peter이며 패스워드를 abcd123로 사용하는 유저 객체 user를 생성했다. 유저의 패스워드를 출력 시도한다면? print(user.pw) # 실행 결과 abcd123 패스워드는 쉽게 공개되지 않아야 하는데 그대로 노출되었다. 문제점을 해결하기 위해 패스워드 변수에 대해 제한 사항을 설정한다. 먼저 패스워드를 출력하는 경우 앞 2글.. 2023. 1. 6.
[DAY 9] 클래스, 객체, 메소드 객체 지향 : 실제 세계를 모델링하여 프로그램을 개발하는 개발 방법론 Class - 변수와 함수를 묶어서 코드를 작성하는 방법 - 객체 지향을 구현하는 문법 - 사용법 : 클래스 선언(코드 작성) -> 객체 생성(메모리 사용) -> 메소드 실행(코드 실행) - 실제 세계에 비유 : 설계도 작성 -> 제품 생산 -> 기능 사용 - 통상 클래스는 pascal case(upper camel case), 변수와 함수는 snake case로 작성 관련용어 : class, self, special method, 상속, super, getter-setter, mangling 등 코드를 통해 알아보자. 1. 클래스 선언 : 코드 작성 - 계산기 클래스 # 계산기 설계 : number1, number2를 이용해서 덧셈,.. 2023. 1. 5.
[DAY 8] parameter와 argument, lambda, list comprehension 함수 - 반복적으로 사용되는 코드를 묶어서 사용 - 관련 용어 : def, return, parameter, argument, docstring, scope, lambda - 코드가 간결해지고 유지보수가 쉬워진다는 장점 - 사용법 : 함수 선언(코드 작성) -> 함수 호출(코드 실행) return - 함수 호출을 통해 결과 데이터를 변수에 저장 - 함수 실행을 중단 - 함수에서 return은 필수는 아니다 # return 없는 함수 def plus1(n1, n2): print(n1 + n2) # 덧셈 결과를 출력 # return 있는 함수 def plus2(n1, n2): return n1 + n2 # 덧셈 결과를 반환 # 리턴이 있는 함수 예시: str.upper() data = 'python' res.. 2023. 1. 5.
[DAY 7] 데이터 핸들링 스킬, 파이썬 연산자와 함수 데이터 규모에 따른 스킬들 - 엑셀 : 사용이 간편, 최대 데이터 약 100만 rows, 만들어진 기능만 사용 가능, 저속 - 파이썬 : 데이터를 RAM 용량만큼 핸들링, 기능을 만들어서 사용 가능, 엑셀에 비해 고속 - DASK : 가상 메모리 이용 방식, DB 구축을 하지 않더라도 RAM 용량보다 큰 데이터 핸들링 가능, 파이썬에 비해 저속 - 데이터베이스 : SQL 사용, 데이터를 SSD(HDD) 용량만큼 핸들링, 고속 - Spark : Scala 언어를 사용하여 빅데이터 핸들링 가능, 인메모리 기반의 대용량 데이터 고속 처리 엔진으로 범용 분산 클러스터 컴퓨팅 프레임워크. Python도 사용 가능하지만 성능을 위해 통상 Scala 사용 연산자 - 산술 : 데이터와 데이터의 연산으로 데이터 결괏값이.. 2023. 1. 5.
반응형