Update 2

[MongoDB] upsert시 E11000 duplicate key error 해결

unique index가 걸린 컬렉션에 bulkWrite를 통해서 upsert를 하고 있었는데, E11000 duplicate key error가 떴다. 내가 작성한 코드는 다음과 같았는데, 주목해보면 filter 부분에 내가 집어넣으려는 모든 데이터가 들어있다. tasks.append(UpdateOne(item, {"$set": item}, upsert=True)) Upsert는 다음과 같은 3개의 스텝으로 이루어진다. 1. filter에 따라 식별되는 도큐먼트를 찾는다. 2. 도큐먼트가 존재하면, 해당 도큐먼트를 atomic하게 업데이트한다. 3. 존재하지 않는다면, atomic하게 도큐먼트를 삽입한다. 나는 filter를 제대로 설정하지 않았다. filter에는 중복값을 식별할 수 있을만한 최소의 ..

Unity 생명주기에 관해 알아보자

위 그림은 유니티에서 제공하는 생명주기 도식인데, 나같은 입문자들이 보기에는 너무 세세한 정보를 담고 있으므로...중요한것만 뽑아서 정리를 해보려한다. Awake() Scene이 시작되고, 모든 Monobehavior의 Start()전에 호출된다. Prefab이 초기화되고난 직후다. | Start() 첫번째 프레임이 업데이트 되기전에 호출된다. 단, Script의 인스턴스가 활성화 되어있을때만 호출된다. 게임 플레이 중에 Object를 생성한다고해서 Start()가 호출되지 않는다. | OnApplicationPause() 게임이 중단되고, 프레임과 프레임 사이에 호출된다. 게임이 중단된 상태를 핸들링하기 위해서 OnApplicationPause이후에 하나의 프레임이 더 있다. | FixedUpdate(..