WIL(1주차 회고)

박현도·2022년 9월 25일

WIL

목록 보기
1/6

<배운것>

<월요일(1일차)> - Flask, jinja2 템플릿, JWT
<화요일(2일차)> - SSR/CSR
<수요일(3일차)> - JWT와 쿠키/세션, 쿼리스트링
<목요일(4일차)> - 개행문자(이름의 중요성? 이라고나 할까)
<금요일(5일차)> - TIL/WIL


1) 웹 개발 미니프로젝트

이번에 처음하는 미니프로젝트는 Flask 프레임워크를 사용하여 진행하였습니다.

<단어 정의>

1. python Flask 프레임워크

Flask란 python기반 웹 프레임워크로 python으로 웹 서버를 개발할 수 있는 프레임워크다. Java기반 웹 프레임워크의 대표로는 Spring이 있다.

2. jinja2

jinja2는 Flask 프레임워크에서 사용하는 템플릿 언어로
'템플릿'이 되는 HTML 문서에 데이터가 들어갈 곳을 표시해놓는 역할을 한다.

3. JWT

JWT는 JSON Web Token의 줄임말로, JSON 객체를 사용해 정보를 안정성 있게 전달하는 웹표준이다.

<느낀점>

1) jinja2템플릿을 이용한 SSR(Server Sider Rendering)방식 사용.
2) jwt 토큰 사용 로그인 기능 구현.
위의 두 기능을 사용해서 웹 서버를 개발하는 프로젝트였다.

<월요일>
주제 정하고 바로 하루종일 jinja2와 jwt에 관한 강의만 새벽까지 봤다.

<화요일>
아침부터 개발에 들어갔다. 하루종일 나는 JS에 애먹고 있었다.
SSR방식을 사용해서 하나의 html에서 경우마다 다른 페이지를 띄워보려 했는데 아직 부족한 공부양, 지식 때문에 구현하지 못하고 여러 html을 만드는 경우를 선택했다.. 시간에 쫓기는 내 신세..

<수요일>
어느정도 기능구현을 마치고 팀원들과 각자 맡은 부분을 병합해보면서 기능을 테스트 했다. 이 과정에 있어서 다음 프로젝트 때부터는 API 작성시 변수의 이름을 어떻게 하자고 미리 말하는게 좋을거같다는 생각을 뼈져리게 했다. 병합하면서 내가 생각 하는 부분을 이해는 되지만 다시 다 바꾸기 힘들다보니 코드상에서 봤을 때 예쁘지않아 정리해야했다. 근데 시간이 많지않아서 과제 완성에 우선도를 두고 정리하지못했다. ---> 나중에 후회..

<목요일>
발표날. 우리를 포함한 여러팀의 프로젝트를 보았다. 간략하고 예쁘면서 완성도있는 작품들도 많았고 중간에 이탈한 팀원들때문에 그렇지 못한 분들도 보았다.
우리의 프로젝트를 보여주고 받은 기술 매니저님의 피드백..
제일 기억에 남는 "개행문자를 좀 정리했으면 좋겠다."
사실 아직도 개행문자가 뭔지는 모르겠지만 내가 수요일에 느낀 후회한 부분 같다.

다음번 부터는 함수명, 변수이름을 포함한 모든 이름을 지을때 알아보기 쉽고 API의 기능별로 정리하는 그런 개발을 해야겠다고 다짐한다.

<구현하지 못해 아쉬는 부분>

  • home.html을 SSR 방식으로 사용하여 home.html 문서에 해당하는 서버 함수(home())에서 토큰의 유무에 따라 화면 바꾸기.
  • 게시물, 댓글 삭제기능 추가(시간부족 )
  • 게시물리스트에 있는 게시물 컬럼 중 작성자 프로필 사진(profile-pic) 클릭시 그에 맞는 유저의 프로필로 이동하게 하기
  • user페이지(프로필) ==> 다른사람의 프로필로 이동시 접속한 ID의 jinja2 템플릿의 {{user_info.username}} 방법을 사용하다 보니 username과 profile_pic 모두 이동한 유저의 프로필과 동일시 한 것으로 바뀜.
  • pagination 기능 구현(한페이지에 게시물 에 갯수 제한을 둠)
  • 글 포스팅 직후 작성한 게시물에 세부페이지로 이동시키기 (현재 기능 구현 x ==> /main 으로 지정)

2) Java

<배운것>

Java는 객체지향 프로그래밍 언어이다.
그러다 보니 Java문법을 공부하면서 자연스럽게 객체지향에 대해 더 자세히 공부하게 되어 다른 문법들에 비해 이해하는데에 시간을 더 투자하게 되었다.

<느낀점>

아직 주특기도 배우지않았는데 확실히 객체지향을 이해하면 주특기를 시작할 때 훨씬 수월할 것 같다는 생각이 들었다.
객체지향(Object Oriented Programming)이 아직도 어렵지만, 완벽하게 이해할 수 있도록 노력해야겠다.

p.s

Java문법을 어느정도는 알고 있었지만, 이번주 미니프로젝트 때
Python을 사용하다보니 Java문법과 Python문법이 혼동되었다.


3) 알고리즘

<배운것>

알고리즘의 정확한 의미는 아직도 모르겠다.
내 방식으로 이해한건 "알고리즘 문제 == 코딩테스트" 라고 생각하기로 했다.

<느낀점>

처음에는 문제보고 프로그래머스의 구조도 이해를 못해서 답이 어떻게 나와야 하는건지?, 나에게 요구하는건 무엇인지? 모르고 있었다.
그러다 코드실행을 해보면서 문제가 내게 요구하는 정답 예시처럼 문제를 풀면된다는 걸 알게 되었다.
그 이후로는 꽤 재밌게? 문제를 풀었다.
매니저님들과 여러 사람들이 이야기하는 걸 듣기로는 알고리즘을 잘푸는 머리와 코딩을 잘하는 머리가 직결되지는 않는다고 하셨는데 이번에 문제를 풀면서 그게 무슨 말을 뜻하는 건지 바로 이해할 수 있었다.


<이번주를 마무리하면서>

D - 92 다음주도 화이팅.
솔직히 많이피곤해. 허리도 아파.
그치만 우째 한다고 했으면 해봐야 할거 아녀? 못먹어도 GO다.
이제 코린이다. 주특기 배우기 전까지 코안흘리는 코린이로 진화해야지

profile
would like hater top one For the chuck wonder like station 동네사람들

0개의 댓글