본문 바로가기

Python31

[문법] 데코레이터 - Decorator 보통 함수가 정상적으로 실행되는지 확인하기위해 시작 로그와 종료 로그를 출력한다. 그러나, 로그를 출력하기위해 매번 함수의 시작과 끝에 로거를 작성하는 것은 매우 비효율적인 일이다. 이때 필요한 것이 바로 '데코레이터(Decorator)'이다. 데코레이터는 함수를 한번 감싸주어 함수가 실행되기 전과 후를 컨트롤 할 수 있게 도와준다. 함수가 실행되기 전과 후에 로그를 출력, 함수가 실행되기 전 사용자 인증, 함수가 실행된 결과를 변조하는 등 다양한 방식으로 사용된다. Flask에서 Route를 설정하기 위해서는 아래 사진과 같이 @app.route를 함수를 생성할 때 위에 선언해주는데 이것이 바로 데코레이터이다. 데코레이터는 앞에 '@' 키워드를 붙여서 사용한다. 함수를 실행할때 시작과 끝에 로그를 남겨.. 2019. 12. 24.
[문법] 가변인자 - *args, **kwargs Python에서 함수를 사용하다보면 매개변수를 가변적으로 전달하여 처리할 때가 있다. 가장 대표적인 예가 옵션을 설정할 때이다. Positional Argument로 floor를 받고, Keyword Argument로 tv, bed, computer를 받는 예제 함수를 통해 알아보자. 1 2 3 4 5 6 7 8 9 10 11 12 def dochiHouse(floor, tv=None, bed=None, computer=None): house = f'아파트 {floor}층' if floor is not None else '단독주택' things = 0 if tv is not None: things += tv if bed is not None: things += bed if computer is not N.. 2019. 12. 20.
[FILEBEAT] 무작정 시작하기 (3) - output.kafka 2019/11/25 - [BIG-DATA/FILEBEAT] - [FILEBEAT] 무작정 시작하기 (1) - 설치 및 실행 2019/11/25 - [BIG-DATA/FILEBEAT] - [FILEBEAT] 무작정 시작하기 (2) - Multiline 지난 포스트까지는 Filebeat으로 수집한 Beat를 Console로 내보내면서 무의미하게 소비되었는데, 이번 포스트에서는 Kafka에 적재하여 데이터를 보관하고 Consumer를 통해 소비하는 방법을 소개하려고 한다. 이번 포스트는 Kafka와 약간의 Python을 사용한다. Python은 간단하게 설치하고 소스를 붙여넣으면 끝낼 수 있으나, Kafka는 반드시 선행학습해야 하므로 현재 블로그의 '[KAFKA] 무작정 시작하기'를 참고하길 바란다. 1. .. 2019. 11. 26.
[크롤링] 무작정 시작하기 (3) - Spider 2019/11/19 - [Back-end/Python] - [크롤링] 무작정 시작하기 (1) - 패키지 선택 2019/11/19 - [Back-end/Python] - [크롤링] 무작정 시작하기 (2) - 프로젝트 준비 이전 포스트에서 전반적인 프로젝트 준비를 진행하였다. 이번 포스트에서는 Spider를 구현하여 네이버 뉴스의 목록을 수집하는 것을 진행할 것이다. 크롤링은 접속한 페이지에서 접근 가능한 데이터는 무엇이든지 수집할 수 있다. 따라서, 저작권에 위배되는 행위를 하게될 수도 있다. 이를 예방하는 차원에서 웹사이트에는 크롤러가 접근할 수 있는 페이지를 정의한 [robots.txt]를 제공하고있다. 이는 단순히 안내문 정도로 생각하면 쉽다. 시작하기에 앞서 [ robots.txt ]를 간략하게 확.. 2019. 11. 19.