Networks/회고록

SK networks AI Camp - 8월 1주차 회고록

코딩하는 Español되기 2024. 8. 10. 14:00

벌써 8월입니다. 시간이 빠르고 너무 더워요 너무 더워요 너무 더워요

진짜 축 쳐지는 8월입니다.

그래서 교육 듣는 곳에 망곰이 피규어를 두고 심적인 안정을 얻고 있습니다.(귀여워)

이번 주에 Django를 사용하는 수업을 하였습니다.

Django 설치, admin(인증/인가), mysql과 연동 및 login, form에 관하여 학습했습니다.

들으면서 크롤링을 돌리고 있었는데 자꾸 막혀서 주말에 따로 학습을 해야 함을 느꼈습니다.

 

서론이 길었고 이제 회고를 적어보겠습니다.

[배운 내용]

2024.08.06 - [Networks/Django] - SK networks AI Camp - Django(admin)

 

SK networks AI Camp - Django(admin)

extention 설치(SQLite) ctrl shift p →  sqlite → open  database → SQLite Explorer → db.sqlite3 → 자동 테이블 생성terminal → python manage.py createsuperuser ○ id : admin ○ e-mail : admin@admin.com ○ pw : 1234 -> y 누르기*

joowon582.tistory.com

2024.08.06 - [Networks/Django] - SK networks AI Camp - Django와 MySQL 연결

 

SK networks AI Camp - Django와 MySQL 연결

○ DB생성CMD(| Powershell)에 아래 명령어 입력* mysql 폴더에 아래 파일 있어야함cd ../../dev/mysql ○ 명령어로 docker-compose.yml 실행docker-compose up -d ○ DBeaver에 연결localhost에서 urstory 계정 생성 → test conn

joowon582.tistory.com

2024.08.06 - [Networks/Django] - SK networks AI Camp - Django 실습

 

SK networks AI Camp - Django 실습

2024.08.06 - [Networks/Django] - SK networks AI Camp - Django와 MySQL 연결 위 내용에서 배웠던 걸 토대로 새로운 실습아래 설명 전 해야 할 일 전체 정리1. html 파일 수정(보여지는 화면)2. model.py 수정(Class; todo_n

joowon582.tistory.com

2024.08.08 - [Networks/Django] - SK networks AI Camp - Django & user 실습

 

SK networks AI Camp - Django & user 실습

[기본 프로젝트 틀 만들기]* 폴더명 : dev/django/django_user2024.08.06 - [Networks/Django] - SK networks AI Camp - Django와 MySQL 연결 SK networks AI Camp - Django와 MySQL 연결○ DB생성CMD(| Powershell)에 아래 명령어 입력* mysq

joowon582.tistory.com

 

 

KPT - KEEP, Problem, Try

○ Keep : 현재 만족하는 부분, 계속 이어갔으면 하는 부분

 

  1. 토이 프로젝트를 진행하면서 크롤링 코드 짜는 것은 어렵지 않게 됨

      - 크롤링을 3번(lotte, LCK 팀 승률, LCK 상세 기록 등)을 진행하고 모듈화를 하면서 한 번 더 하다 보니
        크롤링을 잘 할 수 있을 것 같음

  2. 코드를 짜기 전에 디자인을 먼저 하는 습관을 들인 것

      - 코드 작성 전에 어떻게 구현해야 하고 돌아가는 동작 구조에 대해 먼저 생각하게 됨

      - 이번 크롤링하는 경기 상세 내용의 경우 사이트 특성상 구조가 복잡했음

  3. 토이 프로젝트를 진행하는 부분

       - 배운 내용을 바로바로 써보면서 몸으로 익히면서 더 빨리 이해할 수 있음

       - 수업 시간 내용 외에도 필요한 내용을 찾아가면서 해결하면서 더 많은 것을 알 수 있었음

 

○ Problem

  1. 토이 프로젝트 - 크롤링 part

      - 사이트 화면에서 뒤로 가면 연도를 다시 선택하는 등의 문제

      - 코드를 디자인하여 구현하였지만 에러가 발생하여 중간에 멈추는 경우가 다수였음

      - 거의 모든 에러가 No such element 오류

      - 자주 에러가 발생한 부분에 예외처리를 하였지만 이 후 local vari... 에러가 발생

  2. 토이 프로젝트 - 데이터 전처리 part

      - 처음 불러왔던 팀 승패 데이터는 양이 적어서 어렵지 않았지만 데이터의 양이 많아짐

      - 데이터를 월 단위로 저장하였는데 전처리 후 DB에 저장하였을 때 + 웹에 구현했을 때 2023년 4월부터 꼬이게 됨

  3. Django 부분

      - Django 부분을 들어도 어려운 부분이 있음

      - 파일의 양이 많아지고, 코드가 유기적으로 연결되어 있다보니 어려움에 봉착

 

○ Try : Problem에 대한 해결책, 다음 회고 때 판별 가능한 것, 당장 실행 가능한 것

  1. 크롤링 할 때 에러에 대한 처리를 다 해줘야 함

       - 멈추는 부분마다 예외처리를 해주고 그 부분에서 태그를 찾아서 except에 넣어두어 해결

       - 지역 변수 에러로 전역 변수로 선언해주고 0으로 선언하였으나 해결이 안 되고 1로 수정하니 해결

          (이유는 알 수 없었음)

   2. 데이터 전처리

       - print 해서 하나하나 찾다가 못 찾아서 방법을 바꿔봄(아랫 문장이 해결법)

      - 어디서 에러가 발생한지  찾기 위해 int 및 float등 형태를 지정해 줘서 에러를 찾음
        CS, Damage, Sight 등을 모두 string으로 받았는데 int 형 및 float 형으로 받아줌으로 에러 발생 부분을 찾음

        이를 통해인덱스가 꼬인 이유를 발견

       - 2023년 4월부터 OP.GG 사이트에서 새로운 정보를 추가하여 인덱스가 꼬이게 됨(없던 OP 포인트가 생김)

       - 해당 부분을 제거하는 부분에 추가하여 해결함

   3. 따로 학습 및 추가 데이터 수집(Django 및 챔피언 이미지)

       - 크롤링을 통해 alt 값에 있는 이미지 링크 따오는 크롤링

       - 토이 및 미니 프로젝트를 진행하면서 Django를 써보면서 배우기

       - Git에 올려진 자료를 토대로 실습 및 이해(변수명 등을 바꿔보면서 연습하기)

   4. 구현 완료한 토이 프로젝트 코드 리뷰

       - 구현한 코드를 다시 하나하나 뜯어서 분석하면서 공부

       -  특히 부족한 JS 부분과 Django POST 방식 연결에 대해 공부하기

             * 아래는 토이 프로젝트에서 작성한 코드 일부

    5. 토이 프로젝트에 대한 에자일 1번 정도(화면 구현)까지 해결한 것

2024.08.10 - [Networks/Project] - SK networks AI Camp - Toy Project(에자일_1)

 

SK networks AI Camp - Toy Project(에자일_1)

2024.08.01 - [Networks/Project] - SK networks AI Camp - Toy Project SK networks AI Camp - Toy ProjectSK networks AI Camp에서 교육을 들으면서 배운 내용을 기반으로 Toy Project를 하기로 결정하였습니다.그래서 틀을 크게 정

joowon582.tistory.com