본문 바로가기

공부/Python9

[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.
[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.
[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.
[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.
[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.
[Python] 조건문, 반복문 기초 예제 (윤년/소수 구하기) 윤년 구하기 year = int(input("년도를 입력하시오 : ")) if year % 4 == 0 : if year % 100 == 0 : if year % 400 == 0 : print(year, "년은 윤년입니다") else : print(year, "년은 평년입니다") else : print(year, "년은 윤년입니다") else : print(year, "년은 평년입니다") 1부터 100까지의 소수 구하기 count = 0 print("1부터 100까지의 소수는") for x in range(1, 100) : x += 1 for i in range(int(x/2), 0, -1) : if i < 2 : print(x, end=', ') count += 1 break if x % i == 0 .. 2020. 7. 16.
[Python] 파이썬 기초 연산자 1. 산술 연산자 print('3 + 2 =', 3+2) print('3 - 2 =', 3-2) print('3 * 2 =', 3*2) print('3 / 2 =', 3/2, '(나눈 결과)') print('3 // 2 =', 3//2, '(정수 몫)') print('3 % 2 =', 3%2, '(나머지)') print('3 ** 2 =', 3**2) 2. 비교 연산자 print('3 == 2 :', 3==2) print('3 != 2 :', 3!=2) print('3 > 2 :', 3>2) print('3 or 하면 0b1110)') print('1.. 2020. 7. 15.
[Python] 파이썬 기초 함수 1. 32,45,48,57,84 중 가장 큰 값과 작은 값을 고르시오 a=(32,45,48,57,84) print("1. 가장 큰 값은", max(a), ",가장 작은 값은", min(a)) 2. 29,95,15,85,66의 총 합을 구하시오 b=(29,95,15,85,66) print("2.", sum(b)) 3. 29,95,15,85,66의 평균을 구하시오 print("3.", sum(b)/len(b)) 4. 3,4,8,5중 큰 값에서 작은 값의 거듭제곱을 구하시오 c=(3,4,8,5) print("4.", max(c)**min(c)) 5. 16진수 값 3D5F의 10진수 값은? print("5.", 0x3D5F) 6. 10진수 값 1024의 16진수 값은? print("6.", hex(1024)) .. 2020. 7. 14.