본문 바로가기

Python18

[Django] admin에 keycloak login 붙이기 # 이미 존재하는 것 장고 프로젝트 (with django-admin-interface) 연동할 키클락 # 원하는 것 장고 어드민의 기본 로그인 화면은 아래와 같다. (admin_interface를 사용하는 경우) LOG IN 버튼 밑에 Keycloak용 로그인 버튼을 만들고, 키클락 유저로 로그인 가능하도록 만들겠다. # 시작! 🚀 1) social auth 세팅 social-auth-app-django 설치 pip install social-auth-app-django settings.py에 social_django 추가 # settings.py INSTALLED_APPS = [ ... 'social_django', # 추가 ] migration 수행 python manage.py migrate 여기.. 2024. 3. 30.
[Lambda/Python/Slack] 가볍게 슬랙 메세지 보내기 Slack App을 만들고, Incoming Webhook을 원하는 채널에 생성해둔다. import json import urllib3 SLACK_URL = "https://hooks.slack.com/services/.../.../..." MESSAGE = "Lambda Trigger Test" def lambda_handler(event, context): message = { 'text': MESSAGE } http = urllib3.PoolManager() response = http.request('POST', SLACK_URL, body=json.dumps(message).encode('utf-8'), headers={'Content-Type': 'application/json'}) if re.. 2023. 5. 30.
[Python] 파이썬 실행 & 메모리 관리 방식, mutable & immutable 객체, 깊은 복사 (deep copy) # Ref https://yomangstartup.tistory.com/105 https://pro-jy.tistory.com/38 https://wikidocs.net/91520 https://cjh5414.github.io/about-python-and-how-python-works/ http://irakla.egloos.com/v/7444165 https://crackerjacks.tistory.com/14 # 컴파일러와 인터프리터 고급 프로그래밍 언어를 어셈블리어로 번역해주는 방식의 차이 컴파일러 (complier) 전체 파일을 스캔하여 한번에 번역 -> 한 번 실행 파일이 만들어지고 나면 빠름 기계어 번역 과정에서 더 많은 메모리 사용 전체 코드를 스캔 후 오류를 출력하기 때문에 실행 전에 오류.. 2022. 12. 4.
[AWS] ElastiCache RI API로 구매하기 (AWSCLI, Python boto3) AWS Console에서 ElastiCache RI 구입 시엔 아래와 같이 Engine, Node type, Term, Offering Type만 지정해주면 된다 (node ID : 그냥 이름 정할거면 정하라는 것) 그러나 CLI나 SDK로 다량구매를 하고싶어 찾아보니,,,, https://docs.aws.amazon.com/ko_kr/AmazonElastiCache/latest/red-ug/reserved-nodes-purchasing.html 예약 노드 구입 - Amazon ElastiCache for Redis 예, 구매를 선택하면 선택한 예약 노드에 요금이 부과됩니다. 요금이 부과되지 않도록 하려면 [Cancel]을 선택합니다. docs.aws.amazon.com engine이나 node type.. 2022. 5. 29.
[boto3/paginator] EC2 Name Tag를 포함한 엑셀 뽑기 boto3 client는 한번에 뽑을 수 있는 양이 정해져 있기 때문에, 모든 값을 한꺼번에 뽑으려면 nextToken 인수를 이용해 반복을 돌려야 한다. -> paginator를 사용하면 자동으로 반복이 돌려지며, 한 page씩 묶음으로 출력된다 따라서 paginator를 사용할 땐 page를 반복시키는 반복문이 필요하다 import boto3 from openpyxl import Workbook from datetime import datetime data_list = [] # profile name 지정 session = boto3.Session(profile_name='') client = session.client('ec2') paginator = client.get_paginator('desc.. 2022. 5. 13.
[AWS S3] API Call로 S3 Access Logging 설정 시 유의할 점 (boto3) 상황 : 계정 내의 모든 버킷들에 access log 설정을 해두려고 한다 -> python boto3로 진행 1. 먼저 access log를 받을 버킷을 만든다 => access log는 cross region이 지원되지 않는다 https://docs.aws.amazon.com/AmazonS3/latest/userguide/ServerLogs.html 따라서 계정 내 버킷의 리전 종류가 여러개라면, 각 리전별로 액세스로그용 버킷을 만들어야 한다 2. ACL 설정 ACL 의 S3 로그 전달 그룹에 대해 객체 쓰기/버킷 ACL 읽기 권한을 부여해야 한다 만약 ACL 수정이 불가하다면 위의 객체 소유권을 수정해줘야 한다 3. boto3 활용 1) 계정 내의 모든 버킷 리스트 담아오기 : client.list.. 2022. 2. 23.
[Python] Python to Slack 2 : Slack Bot Message 보내기 + 쉽게 Formatting하기 (Block Kit Builder) 이전 글 : [Python] Python to Slack 1 : Slack Bot 만들고 설정하기 📌 Slack Python SDK 설치부터! pip install slack_sdk * python3 이상이 있어야 하며, 버전이 여러개 있는 경우 pip 대신 pip3를 사용하자 📌 MAC SSLCertVerificationError: slack_sdk를 사용할 때 자꾸 아래 글에서와 동일한 에러가 났었다 (SSLCertVerificationError) https://blog.minamiland.com/551 Python3 - SSL 문제는 Certificates.command 파일로 해결하세요 #2052 Mac에서 책을 따라 하면서 공부 중인데 SSL 문제에 봉착했었습니다. 스크레이핑을 하는 도중에 생.. 2022. 1. 22.
[Python] Python to Slack 1 : Slack Bot 만들고 설정하기 들어가면서 최근에 Cloud(AWS) SA -> DevOps Engineer로 직무 전환 이직을 했다 그래서...바빴다. 진짜 너무 바빠서 블로그 글도 한 달 넘게 못썼다 그리고 DevOps, 즉 개발자로서의 업무도 꽤 낯설었어서...좀 많이 헤맸다 ㅋㅋ 따라서 가장 처음에 헤매게 됐던 Slack Message Formatting에 대해 글을 쓰려한다...막상 해결하고 나니 굉장히 쉬운건데 왜그렇게 헤맸었는지;; 일단...해보자! 🎯 Slack Bot 만들기 우선 API를 받아서 Message를 보내줄 Bot을 만들어야 한다 -> 참조한 글 : https://wooiljeong.github.io/python/slack-bot/ https://api.slack.com/apps Slack API: Appli.. 2022. 1. 22.
[AWS] CodeCommit 사용법 AWS CodeCommit이란? + GRC AWS에서 호스팅하는 버전 관리 서비스 AWS에서 관리하는 GitHub이라고 생각하면 쉽다 CodeCommit Repository를 만들고 사용하는건 Git으로 하는거라 어렵진 않지만, HTTPS 방식이나 SSH 방식이 아닌 HTTPS (GRC)라는 git-remote-codecmmit이란 유틸을 사용하는 새로운 방식이 있다 이는 아마존에서 권장하는 방법이며, Git 자격 증명 설정 필요 없이 IAM 또는 SSO 사용자로 바로 접근할 수 있다 자세한 내용 : https://docs.amazonaws.cn/en_us/codecommit/latest/userguide/setting-up-git-remote-codecommit.html GRC (git-remote-c.. 2021. 9. 17.
[Python] CSV 파일 읽기/쓰기 1. CSV 파일 읽기 먼저 아래와 같은 CSV 파일을 만들어놓았다 이를 읽어서 콘솔에 출력하기 위해 아래와 같은 파이썬 파일을 만들었다 import csv path = 'C:/sample.csv' try: f = open(path, encoding='euc-kr') csv_f = csv.reader(f) for line in csv_f: print(line[0], '\t', line[1], '\t', line[2], '\t', line[3], '\t', line[4]) except Exception as e: print(e) csv를 import 하면, reader 함수로 지정한 경로의 CSV 파일을 읽을 수 있다 try/except 구문은 예외처리를 위한 것으로, 아래 글을 참조하자 wayhome25.. 2021. 4. 30.