본문 바로가기

전체 글37

Docker, MySQL with 파이썬 폴더 구조mysql/ Dockerfile my.cnf sqls/ initialize.sqlDockerfileFROM mysql:8.0ADD ./my.cnf /etc/mysql/conf.d/my.cnf​my.cnf[mysqld]character-set-server=utf8mb4[mysql]default-character-set=utf8mb4[client]default-character-set=utf8mb4utf8mb4는 이모지를 지원하는 utf8 데이터베이스 초기 설정# mysql 컨테이너 접속docker exec -it 컨테이너 아이디 /bin/bash# .sql 파일 실행cd docker-entrypoint-initdb.d/mysql -u root -p --port 3306.. 2024. 4. 24.
JOIN & WHERE 조건 어디에 걸어볼까 예제는 User와 Team으로 하겠습니다. User는 Team에 가입할 수도 있고 없을 수도 있습니다. DB에는 Team에 가입한 User와 그렇지 않은 User 데이터가 존재합니다. [문제] 어떠한 User를 조회하는 데 가입한 Team이 있다면 User.id로 JOIN하여 함께 조회 문제에 따라 데이터를 조회한다고 했을 때, 이렇게 두 가지 경우가 있다는 것을 생각해 볼 수 있습니다. 1. 특정 User가 가입한 Team이 있는 경우 2. 특정 User가 가입한 Team이 없는 경우 [풀이] # 1 select * from user u left join team t on u.id = t.user_id where u.id = '1'; # 2 select * from user u join team t o.. 2024. 4. 17.
KISA 128bit SEED CBC 암호화 복호화 결제 관련 외부 API를 연동할 때, 해당 암호화 방식을 사용해야 하는 경우가 있습니다.파이썬 코드를 제공하는 곳을 아직 찾지 못해 PHP 코드를 참고하여 구현했습니다.# pip install cryptographyfrom cryptography.hazmat.primitives.ciphers import Cipher, algorithms, modesfrom cryptography.hazmat.primitives import paddingfrom cryptography.hazmat.backends import default_backendimport base64class SEEDCBC: def __init__(self, iv, key): self.iv = bytes(iv, 'utf-8') .. 2024. 4. 16.
map(), filter(), pipe()를 활용하여 데이터 다루기 map(), filter() 함수는 리스트 안의 데이터를 내가 원하는 대로 추출하거나 변형시킬 수 있습니다.def square(num): return num**2number_list = [1, 2, 3, 4, 5]result = map(square, number_list)print(result) # # for loop -> [1, 4, 9, 16, 25]print(list(result)) # [1, 4, 9, 16, 25]# 람다result = list(map(lambda x: x**2, number_list))print(result) # [1, 4, 9, 16, 25]map()의 리턴 데이터 타입은 map objectfilter() 또한 filter object 리스트 to 리스트를 통해 DB에.. 2024. 4. 8.