본문 바로가기

반응형

Programming/Python

(8)
[Python] 웹크롤링으로 AWS Personal health dashboard 이벤트 긁어오기 자동화 1. 개요 [1] AWS PHD(Personal Health Dashboard)에서는 하드웨어 메인터넌스 및 VPN 싱글 터널 알림, 보안 패치 등에 대한 내용을 알려준다. [2] AWS Support Plan은 Basic, Developer, Business, Enterprise, ..로 구성되어 있다. => 여기서 AWS Health API는 Business 티어 이상부터 사용이 가능하다. 그 말은 즉슨 Basic 티어나 Developer 티어는 AWS Health API를 사용할 권한이 부여되지 않는다는 뜻이다. => Developer 이하 고객사는 AWS API를 활용하여 프로그래밍 방식으로 PHD를 확인할 수 없다. [3] Developer 이하 고객사가 여러개일 경우 AWS Web Consol..
[Python] sort() 함수 알아보기 sort() 함수는 Python의 내장 함수를 사용하여 정렬하는 방법이다. 사용 시 주의 사항 1. sort() 함수는 sorted() 함수와 다르게 Return Value가 존재하지 않음 2. Key 함수를 사용하면 List 내부의 Element에서 특정 조건에 따라 정렬할 수 있음 Sort 함수란? : 리스트 내부에 있는 요소들을 정렬해주는 함수 (Default : 오름차순) 사용법 sort(*, key: Optional[Callable[[_T], Any]]=..., reverse: bool=...) -> None list.sort() list.sort(reverse=True) list.sort(key = lambda x : x['age'], reverse=True) ... 예시 리스트에 sort 함..
[Boto3] RDS의 Parameter Group 값을 CSV 추출 스크립트 RDS의 Parameter Groups에 어떤 Parameter들이 정의되어 있는지 CSV 파일로 추출해주는 스크립트입니다. - 기대 효과 1. CSV로 저장하여 확인하고 싶을 경우 2. RDS 버전을 MySQL 5.6 -> 5.7 등으로 업그레이드 하고자 할 때 Excel로 비교하고 싶을 경우 import boto3 import csv p_name = "default" r_name = "ap-northeast-2" param_group_name = "psql-param-group" session = boto3.session.Session(profile_name=p_name) client = session.client(service_name='rds', region_name=r_name) paginato..
[Python] Boto3로 Security Group rule 추가 (csv 파일 이용) 개요 SG 정책 추가를 관리형 웹 콘솔에서 보안 그룹을 적용할 경우 수십분이 걸리는 작업이다. CIDR 대역이 아닌 각 IP당 여러 Port를 요구하기 때문에 보안 그룹 규칙이 굉장히 번잡해진다. 보안 그룹 정책은 고객사를 따라서 해야 하기 때문에 요청대로 해줘야 하는데 굉장히 노가다성 작업이 심해서 파이썬 Boto3와 CSV 파일을 이용하여 수고를 덜면 어떨까라는 생각이 들었다. 과정은 다음과 같다. (Python 스크립트를 돌리기 이전에 웹 콘솔에 접속하여 Rule이 이미 허용은 되어 있는지, 라우트 테이블 정책은 어떻게 이루어져 있는지, Site to Site VPN Static Route 혹은 Transit Gateway Route Table에 라우팅이 설정되어 있는지 등을 사전에 확인 후 10 ..
[Python] 객체지향에서 필수 개념인 Property, Getter, Setter 간단히 알아보기 키워드 : 은닉화 (객체의 속성과 행위를 하나로 묶고, 구현된 일부를 감추어 은닉) property, getter, setter은 클래스 인스턴스의 내부에서 데이터를 안전하게 접근하기 위해 사용하는 키워드이며, 객체지향 프로그래밍에서 흔히 볼수 있는 패턴이다. getter : 데이터를 읽어주는 메서드 setter : 데이터를 변경해주는 메서드 ⇒ 파이썬의 내장 함수는 property() 메서드를 사용하면 깔끔하게 getter, setter 메서드를 호출할 수 있으며, 여기서 내장 데코레이터인 '@property'를 활용할 수 있다. [property] : 인스턴스 변수 값을 사용해서 적절한 값으로 보낼 때 : 인스턴스 변수 값에 대한 유효성 검사 및 수정 예제 __변수명 : 클래스 인스턴스 내부에서만 접..
[Python] Decorator 개념 간단히 알아보기 데코레이터란 특정 함수를 Wrapping 후 추가적으로 기능을 추가하고 새로운 함수를 작성하는 역할 ⇒ 공통으로 호출되는 함수를 작성하거나 특정 함수의 전, 후에 실행가능한 기능을 추가하는 것 ⇒ 보통 로깅, 공통 데이터 처리, 테스트 기능 작성 등에 활용되고 있다. 예제 smile, angry, love 함수가 있다. 이 함수들에 각각 저작권을 부여하고 싶다고 가정하자. 1. Decorator를 사용하지 않을 경우 def smile(): print("저작권 : Nyyang") print("smile") def angry(): print("저작권 : Nyyang") print("angry") def love(): print("저작권 : Nyyang") print("love") angry() smile()..
[Python] 정규 표현식 정리 #1 - 기초 정규 표현식은 파이썬 뿐만 아니라 모든 언어에서 사용하며, 문자열 내에서 원하는 문자만 추출하고 싶을 때 사용한다. 처음 배우기에는 러닝 커브가 있지만 한 번 배워두면 활용성이 너무 높기 때문에 꼭 배우는 것을 추천한다. 정규 표현식을 하기 위해서는 다음의 메타 문자들과 익숙해 질 필요가 있다. 각각 어떤 의미를 지니고 있는지 파악해보자. . ^ $ * + ? \ | ( ) { } [ ] 정규 표현식의 기초 . ⇒ 일치하는 모든 문자열 (1개) ^ ⇒ 시작 문자가 일치하는 경우 찾기 $ ⇒ 마지막 문자가 일치하는 경우 찾기 ⇒ 같은 문자열 반복 ⇒ 1개 이상 같은 문자열 반복 ( ) ⇒ 그룹으로 묶기 { } ⇒ 일정 갯수인 패턴 찾기 [ ] ⇒ 여러 문자들 중 1개라도 일치하는지 확인 ? ⇒ 없거나 1개..
[Python] 이터레이터, 제너레이터 개념 컨테이너 이터레이블 이터레이터 제너레이터 제너레이터 표현식 list, set, dict 컴프리헨션 개념 소개 1. 컨테이너 : 원소들을 가지고 있는 데이터 구조이며, 멤버쉽 테스트를 지원 : 메모리에 상주하는 데이터 구조로, 보통 모든 원소 값을 메모리에 가지고 있다. 파이썬에서 잘 알려진 컨테이너는 다음과 같다. list, deque set dict, defaultdict, OrderedDict, Counter tuple, namedtuple, str ⇒ 어떤 객체가 특정한 원소를 포함하는지 안하는지를 판단할 수 있으면 컨테이너 2. 이터레이블 : 대부분의 컨테이너는 Iterable(반복 가능한)이다. 그러나 더 많은 것들 또한 이터레이블이다. 일례로 파일 열기, 소켓 열기 등이다. 컨테이너가 일반적으..

반응형