[Tech]WIL 회고 (23.4.15 ~ 4.22)

김성수·2023년 4월 22일
1

개발자로서 회고

목록 보기
1/9

개요

내일배움캠프 Spring 캠프 2기에 합격했다.
본격적으로 5월 15일 부터 시작되는 부트캠프를 진행하기 이전에 기초 체력웹 풀스택 기초를 다지고 있다.
(기초 체력 : Java 기초, CS 기초, DB 기초, 오랜 시간 공부하는 습관 만들기!)



배운 내용

  • 왜 자바를 사용하는가?

  • JDK, JRE, JVM의 차이

  • Java 프로그램 실행과정

  • Runtime Data Area 5가지 영역, 클래스로더, 전처리과정

  • 자바 문법(연산자, 조건문과 반복문, 배열, 객체지향)

  • DFS 설계 방식, 필요 자료구조, 관련 문제 유형 파악 및 문제 풀이

  • BFS 설계 방식, 필요 자료구조, 관련문제 유형 파악 및 문제 풀이

  • 전위, 중위, 후위순회

  • 그래프 인접행렬 or 인접리스트

  • 웹 동작 사이클

  • html,css,javascript, python 기초

  • 부트스트랩 사용해보기

  • github으로 정적 페이지 배포하기(현재는 유료화 되었다..)

  • jQuery를 사용하여 html append 하기

  • fetch를 사용하여 open api 데이터 추출하고 사용해보기

  • python 가상 공간에서 라이브러리를 관리하기 위해 venv 파일 생성

  • python 라이브러리 requests, bs4를 이용하여 크롤링하기

  • python 라이브러리 dnspython, pymongo를 사용하여 mongoDB에 데이터 CRUD해보기

  • flask를 이용하여 백엔드 서버 만들기

  • render_template메서드로 메인 페이지 설정하기

  • 앞서 배운 프론트 + 백엔드 기술들을 바탕으로
    GET, POST API 만들기

    GET : DB에 저장된 값을 화면에 출력해보기
    POST : 클라이언트 request 값을 DB에 저장하기

  • 공공 데이터를 추출할 때 메타 태그 요소로 크롤링하는 이유와 방법


사용해보기

  • 디버깅
    why? 알고리즘 문제를 풀거나 프로젝트를 개발할 때 마주하는 버그 또는 에러를 찾고 해결하기 위해

  • 부트스트랩
    why? 쉽게 디자인을 구현함으로써 웹 어플리케이션을 빠르게 구현하기 위해


어려웠던 점

  • 디버깅에 익숙하지 않아서 어느 변수, 어느 메서드에 브레이크 포인트를 설정해야할 지 고민을 많이 해야 했다.


  • 부트스트랩도 익숙하지 않다.. 필요한 요소를 가져다가 쓰는건 비교적 쉽고 할만하지만, javascript + jQuery가 적용된 append 함수에 적용하는건 쉽지 않았다!


개선해야할 점

  • 디버깅을 적극적으로 사용해보면서 어느 부분에 브레이크 포인트를 걸어야할지 감을 익히는게 좋을 것 같다.

  • 부트스트랩도 결국 많이 사용해봐야 감을 익힐 것 같다. 부트스트랩의 css가 어디에 적용되는지 찾아보는 연습을 하면 금방 응용이 가능할 것 같다.



개선한 점

  • open API 데이터 크롤링 과정에서 select_one() 메서드 내부에 들어갈 HTML 경로를 어떻게 넣어야할지 명확히 알지 못했다. 그래서 필요한 text 요소를 copy > select 해서 메서드 내부에 선언해보기도 했지만 내가 원하는 텍스트가 출력되지 않았다.chatgptselect_one() 메서드 내부에 선언되어야 하는 경로를 물어보자 HTML 코드에서 선택하려는 요소의 위치를 선언해야 한다는 사실을 알게되었고 문제를 해결할 수 있었다. 또한 클래스 명으로 경로를 구성할 수 있다는 사실도 알게되어서 HTML 요소 경로가 아닌 클래스 명 경로로 다시 한번 구현해봤다.


느낀점

  1. 배운걸 써먹어 보자!(많이 많이)
  2. 코딩은 코드를 외우는게 아닌 기능의 패턴을 이해하고 잘 가져다쓰자!
  3. chatgpt를 앞으로도 적극 활용하자!
  4. 조금 집요해지자. 배워야할건 많지만 대충은 금물! 완전히 이해 하고 넘어가자!


next_week_goal

  1. CS 기초 부시기!
  2. 배운 웹 풀스택 기술을 사용해서 작은 프로젝트 만들기
profile
깊이 있는 소프트웨어 개발자가 되고 싶습니다.

0개의 댓글