전체 글
Django - Mysql 연동, vscode로 db connection
1. mysql db 생성 2. django project 생성 3. django - mysql 연동 4. vscode extension 설치, mysql db connection 1. MySQL DB 생성 2. Django 프로젝트 생성 3. Django - MySQL connection 기본 세팅을 마친후에 settings.py의 기존엔 sqlite3으로 되어있는 이 부분을 교체 # .. settings.py import json with open('./info.json') as f: infos = json.loads(f.read()) DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', 'NAME': 'sample', 'USER': f'..
python 업무 자동화 - 동적 크롤링(selenium) 1
이번에는 한투 교육중 가장 프로젝트 점유율이 높았던 크롤링, 그 중에서도 selenium을 활용한 동적 크롤링에 대하여 진행한 부분에 대하여 포스팅 해보려고 한다. 케이스 바이 케이스로 필요한 정보나 사이트들은 달랐지만, 큰 틀에서의 목표는 비슷했다. 기존에 타증권사 금리 조건, 이벤트 현황 수집 혹은 dart,krx 등 공시사이트의 특정 보고서나 뉴스를 주기적으로 한땀 한땀 수기로 집계하시는 것을 자동화 하는것이 목표였다. >> 동적 크롤링을 선택할 상황 지금 수준에서 requests와 bs4를 활용한 정적 크롤링으로 하기 껄끄럽거나 불가능한, 다음과 같은 상황에서는 오히려 동적 크롤링이 유리하다고 판단하였다. 1. 원하는 사이트의 주소로 한번에 접근이 어려움 2. 상호작용을 통해서만 데이터를 볼 수 ..
python 업무 자동화 - 엑셀 파일 인쇄 범위 자동 설정
한국투자 계열사 교육중 도움드렸던 몇 가지 주제중에 인상 깊었던 것들에 대해 정리하는 글을 써보려 한다. 첫 번째로는, 엑셀 데이터 양식에 맞게 알잘딱으로 최대한의 범위를 가로로 인쇄하기! 이를 테면 다음과 같다. 이런 양식의 엑셀파일을 인쇄하기 버튼을 눌렀을 때, 아래의 그림처럼 나오게 만들기! 인 셈이다. 처음에는 마냥 쉬울줄 알았는데, 생각보다 쉽지 않았다. ㅠㅠ 다음은 문제 해결을 위한 과정을 정리 했다. >> 목표 1. 폰트가 비율 축소가 안되는 선에서(10pt) 가능한 최대한의 셀을 가로 인쇄해야함 2. 셀의 크기를 줄일 때 데이터가 $$$$.$$ 와 같이 표기되면 안됨 3. 숨김처리 되어있는 셀의 경우 그대로 숨김처리 된채로 인쇄 되어야함 >> 문제가 되었던 부분 1. 파이썬으로는 엑셀파일의..
Django 1+N problem
>> 문제 인식 - 쿼리 디버깅을 하던 중, 생각과는 다르게 데이터가 필요한 시점마다 쿼리가 발생 하는 것으로 보이는 코드를 발견했고, 그것에 대해 고민했던 부분을 정리해보았다. >> 상황 실행한 코드와 결과는 이렇다. for user in User.objects.order_by('name')[:5]: print(user.stores.all()) 2022-08-02 17:23:31,251 DEBUG django.db.backends debug_sql (0.017) SELECT "users_user"."id", "users_user"."password", "users_user"."last_login", "users_user"."is_superuser", "users_user"."username", "use..
DB 설계, 어떻게 해야 할까? -1-
웹개발 프로젝트를 진행하면서 가장 먼저 진행하는 것은 요구사항을 파악하고, DB설계를 하는것이다. 처음으로 프로젝트를 진행하면서 어떻게 DB설계를 할지 고민한 내용을 정리해 보려고 한다. - 가장 먼저 어떻게 해야 할 지 고민끝에, 시작은 역시나 위대한 구글의 힘을 빌려서 다른 개발자들이 어떤 방식으로 개발하고 있는지에 대하여 알아 보았다. 여러 글들을 보니 요구분석이 가장 먼저 필요하고 그다음으로 테이블 요소를 어떤 기준으로 만들것인지 뽑아내는 개념적 설계, 그 후에는 직접 ER 다이어 그램을 그려서 실질적으로 테이블을 어떻게 구성할지를 정한 뒤에, 어떤 스펙을 가지고 만들건지 정하는 물리적 설계라는 과정을 거치는것으로 보았다. 가장 먼저 요구 분석부터 어떻게 했는지 정리해 보려고 한다! 초기 요구 분..
항해 week13 회고록
벌써 마지막 주차가 되었다. 진짜 시간 너무 빠르게 지나간것 같다. 프로젝트 기간을 되돌아 보면 정말 다사다난 했지만 마지막주에 코로나 걸리는 바람에 몇일 쉰게 너무 아쉬운것 같다 ㅠㅠ 이 부분은 내가 어떻게 할 수 없는 부분이어서 아쉬움이 특히 많이 남는것 같다. 그래도 다행인건 이제 코로나 때문에 아플 확률이 매우 적다는거?랑 디자이너 분들이 프로젝트를 제대로 완성시키고 싶은 욕심이 있으셔서 먼저 말씀을 꺼내주셔서 앞으로 작업을 계속 이어 나갈거 같다는 점이다. 박람회 날에 게더 스크린샷을 못찍어 놓은게 너무 아쉽네 아 ㅋㅋ 다른 조들 해 놓은 것도 보고 재밌었던것 같은디.. 이제 항해에서는 이력서 첨삭 부분만 남아서 그동안 바쁘다는 핑계로 미뤄놓았던 근본을 찾아서 가려고 한다. 내가 했던 코딩에 기..
항해 week11~12 회고록
2주간 열심히 달렸다. 사정이 있어 많이 일정이 뒤로 밀린 점이 어지럽긴 했는데 어떻게든 해내려고 했던 시간이었다. crud 관련해서는 베스트 프랙티스는 당연히 아니겠지만, 나만의 패턴이 생겨서 일관성있고 빠르게 작업이 가능해 진것같다. 이제 일정이 끝나기까지 4일 남았는데, 아쉬움과 불안함만 생기는것 같다. 목요일쯤에 어찌저찌 api뼈대를 다 잡아놓고 캐싱을 시작하려고 했는데 갑자기 너무 몸이 아파서 병원가보니 코로나고.. 상황이 좋지 않은것 같다... 두통이 안사라져서 뭔가 여유를 갖고 행동하기가 어렵다. 그래도 어쩌겠어.. 해 나가야지 ㅠㅠ
항해 week10 회고록
벌써 10주차 회고록이라니.. 시간이 믿기지 않는다.. 이번주 정말 심적으로도 육체적으로도 힘든 한주가 아니었나 싶다.. 개발이랑 공부에만 집중해야 하는데 사람 때문에 너무 스트레스 많이 받은 한주였던것 같다. 오히려 이런 경험도 성장이라고 생각할 수도 있긴한데, 3주밖에 안되는 mvp 달성 마감기한이 있어서 한주간 날린게 좀 치명적이었던것 같다. 금주 멘토링에서 상황보고를 드리고 나서 조언 받고 결국 스펙을 다운시켜서 일단 마감기한을 맞추고, 거기서 더 디벨롭을 하기로 팀적으로 결론을 내렸다. 이런식으로 해서 내가 회사에 들어가서 대체 어떤일을 맡아서 할 수 있을까 라는 불안감만 생기고 어지러워지는것 같다. 여튼 해결은 했으니까 이제 정신차리고 할 수 있는 일을 하나씩 해 나가려고 한다. 이제 딱 한달..