Python 이중 for loop 를 itertools 를 활용하여 개선하기
a = [1,2,3,4] b = ['A', 'B'] 의 두 리스트에 대해 (1,A), (1,B), (2,A), (2,B), ... 반복을 하려면 무지성으로 구현했을 때 for x in a: for y in b: function(x, y) 처럼 구현할 수 있다. 하지만 itertools 의 product 를 활용하면 좀 더 깔끔하게 구현이 가능하다 [function(x, y) for x, y in product(a, b)]
2024. 2. 26.
[Django] Replica DB 사용 시 읽기전용/쓰기전용 Database 분리하기
DB replica 를 사용할 때 읽기전용으로 replica를 사용하고, 쓰기전용으로 main(master) DB를 사용하도록 하는설정 replica_1, replica_2 를 settings.py의 DATABSES 에 선언했다고 가정 import random class DBRouter(object): def db_for_read(self, model, **hints): return random.choice(["replica_1", "replica_2"]) def db_for_write(self, model, **hints): return "default" def allow_relation(self, obj1, obj2, **hints): return True def allow_migrate(self, ..
2022. 9. 6.