본문 바로가기

IT CHANNEL26

[Django] Admin에서 JS를 활용해 동적으로 연관 필드 업데이트하기(데이터 동적 변경) Django Admin에서 html template를 커스텀해 JS를 사용하는 방법을 알아보려고 한다. 간단한 ERD와 요구사항은 다음과 같다. 요구사항 Django admin에서 Data 생성 시, 외래키로 2개의 데이터를 설정해야 한다. B 외래키를 설정함에 있어서 A외래키의 영향을 받아 동적으로 변경되어 보여져야 한다. 시도한 방법 Django.jquery를 사용하는 방법 경로설정과 세팅에 대한 공수가 커 비효율적이다. admin inner template 활용 django admin 에서 add, change 등의 상황마다 template이 내장되어있다. Admin Class 내에서 커스텀 하기 용이한 함수도 있기에 효율적이라고 판단했다. 해결 방법 1. Admin 클래스에서 필요한 데이터 로드 .. 2023. 8. 19.
[AWS Route53] 도메인 구매 후 route53에 연결하기 (https 연결, ACM, Routing Policy, 기존에 사용 중인 서브도메인을 활용) name server 는 dns를 풀어주는 것이다.(dns server 로 보내주는 것) 실제로 . 을 기준으로 ns가 존재하며, depth 별로 있다. depth는 . 으로 나눌 수 있다. 라우팅은 DNS의 관점에서 본다 DNS는 응답을 한다거나 경로를 설정해주는 역할이 아니다. DNS는 DNS 쿼리에만 응답한다. 즉 도메인을 전달해주기만 한다는 것이다. ROUTE53이 어떤식으로 라우팅 어떻게 해줄것인지 정하는 정책을 담당한다. 라우팅에 필요한 기본개념 및 DNS root dns server 가 있고 TLD DNS Server 가 있고 SLD DNS Server 가 있다. . → root com. →TLD example.com → SLD www.example.com → sub domain api.ww.. 2023. 8. 10.
데이터베이스 샤딩 : Django[DRF]로 Shard_DB에 create, read 구현하기 데이터 베이스 샤딩 혹은 샤드라고도 하며 데이터 베이스를 구축함에 있어서 사용되는 기법을 알게 되어 django 로 가볍게 구현해보며 이해를 하고자했다. 1. 샤딩에 대해서 쉽게말하면 수평적으로 데이터베이스 구조를 확장하는 것이다. 파티션과 동일한 개념이라고 생각된다. 데이터베이스 샤딩은 대규모 데이터베이스를 여러 대의 머신에 저장하는 프로세스 이다. 단일 머신 또는 데이터베이스 서버는 제한된 양의 데이터만 처리. 데이터베이스 샤딩은 데이터를 샤드라는 작은 청크로 분할하고 여러 데이터베이스 서버에 저장한다. (나누는 프로세스의 결과물) 애플리케이션이 커짐에 따라 데이터 양이 증가할 때 고민해 볼 수 있을 것 같다. 데이터 양이 많아지면 데이터베이스에서 병목 현상이 발생할 수 있고, 이는 애플리케이션 성능.. 2023. 5. 14.
Pycurl Error : Celery와 SQS 구축 시 OpenSSL 이해하고 설정하기 [Celery, AWS SQS] Celery를 사용하면서 기존에 redis를 사용하다가 AWS sqs를 사용하기 위해 설정을 하던 중 만난 에러를 기록한다. 발생한 에러는 pycurl error로 OpenSSL 설정을 변경하여 해결했다. 에러환경 Env M1 mac Python 3.9.13 celery 5.2.1 pycurl 7.45.2 Case celery Run → Pycurl Error Pycurl Error 해결과정 openssl 정보 확인 brew info openssl openssl 관련 환경변수 설정 → pycurl install export LDFLAGS="-L/opt/homebrew/opt/openssl@3/lib" export CPPFLAGS="-I/opt/homebrew/opt/openssl@3/include" PY.. 2023. 4. 23.