광주인력개발원

여름 휴가 정보제공 프로그램 개발 - 2일차 - [2023-07-05 개발일지]

플광 2023. 7. 9. 16:20

 

팀 개발일지와 중복되는 내용은 작성하지 않겠습니다.

 

금일 개발 내용:

어제 detached head commit으로 날라갔던 DB를 복구하면서, Dummy Data를 좀 생성하여 집어 넣었습니다.

 

    def make_fake_date_data(self):
        c = self.start_conn()

        for i in range(1000):
            # fake plan_date
            start_date_obj = self.faker.date_between()
            day_length = random.randint(2, 10)
            end_date_obj = start_date_obj + datetime.timedelta(days=day_length)
            end_date_str = PlanDate.date_obj_to_str(end_date_obj)
            c.execute('insert into tb_plan_date(start, end) values (?, ?)',
                      (PlanDate.date_obj_to_str(start_date_obj), end_date_str,))

            # fake location
            # 인자 location_id, name, category, w_do, g_do, address, description
            fake_location_name = self.faker.building_name()
            fake_address = self.faker.address()
            random_category_num = random.randrange(0, 2)
            w_do = (random.random() * 90) - 45
            k_do = (random.random() * 90) - 45
            fake_description = self.faker.catch_phrase()
            c.execute('''
            insert into tb_location(name, category, w_do, g_do, address, description) 
            values (?, ?, ?, ?, ?, ?)''',
                      (fake_location_name, random_category_num, fake_address, w_do, k_do, fake_description,))

            # fake timeline
            # 인자 timeline_id, plan_date, location_list, username, trip_name
            random_plan_date_id = random.randrange(1, 1001)
            random_location_id_list = list()
            random_day_count = random.randint(1, 6)
            for _ in range(random_day_count):
                random_location_id_list.append(list())
            temp_list = random.sample(range(1, 1001), random.randint(2, 10))
            for l_id in temp_list:
                random_location_id_list[random.randint(0, random_day_count-1)].append(l_id)

            fake_username = self.faker.name()
            fake_trip_name = self.faker.town()
            c.execute('''
            insert into tb_timeline(plan_date_id, location_id_list, username, trip_name) 
            values (?, ?, ?, ?)''',
                      (random_plan_date_id, f'{random_location_id_list}', fake_username, fake_trip_name,))

        self.commit_db()

        self.end_conn()

 

또한, github에 껍데기에 불과하다고 판단한 sqlite DB 데이터를 git add 를 했는데 merge conflict가 발생하여, 어제와 같은 심장 떨리는 일이 발생할까봐, 테스트용과 배포용을 따로 구분해야함을 인지하게 되었습니다. (db는 더미를 넣고 테스트가 끝나면 지우는 식으로)

 

팀원분들에게 변수의 종류 (지역, 전역, 클래스, 인스턴스)에 대한 개념과 실습을 진행하였고, 덤으로 Mutable 과 Immutable 자료형에 대해서 헷갈리는 부분에 대해서 실습을 겸해 다시 안내하였습니다.

 

각 팀원의 역할에 맞게 한 분에게는 Alchemist 없이 ORM 기술을 구현하는 일을, 다른 한 분에게는 클래스 상속을 통한 UI 위젯 구현을 설명하였습니다.

 

각자 맡은 역할에서 팀원분들이 묵묵히 저의 요구사항에 잘 따라주고 있어서 개발이 한걸음한걸음 진행되가고 있습니다.

 

감사합니다.