3/13 WIL 3월 둘째주 주간 회고

송은혜·2022년 3월 13일
0

항해99 6기

목록 보기
10/34

항해의 첫주가 지나간다.
한 주를 마무리하며 WIL로 이번주를 정리해보려한다.


💡이번주 새롭게 배운 것들 💡

Jinja2 / JWT

이번주에 미니프로젝트를 했었는데, 필수 기능이 JWT 로그인 방식과, Jinja2를 이용한 방식이여서 JWT와 Jinja2에 대해 알아갈 수 있었다.

Jinja2는 파이썬 flask의 템플릿이다. jinja2를 이용하면 , html과 서버의 교류를 보다 간단하게 할 수 있다.
만약 DB에서 어떠한 정보를 가져와서 html에 사용해야한다면 , 서버에 요청을 해야하고, 요청한 내용을 서버는 db에서 가져와야하고, 가져온 내용을 html에 줘야하고, html은 또 그걸 받아와야한다.
이러한 과정이 jinja2를 사용하므로써 보다 간단해진다.

이전에 배웠던 , mongoDB 명령어와 ajax를 이용해서 DB정보를 가져오는 방식보다 훨씬 좋은 것 같다.


JWT는 토큰을 생성하고 사용자에게 부여함으로써, 아무나 접속하고 정보를 볼 수 없도록 해주는 토큰 인증방식이다. 해당 내용은 정리해서 따로 포스팅을 해놓았다.

JWT 인증방식


API

웹개발 종합반에서 간단한 실습을 할 때부터 신세계라고 느꼈던게 API였는데, 솔직히 서버와 클라이언트간에 빠질 수가 없는게 API라고 할 수 있을 것 같다.

API의 내용도 간단하게 포스팅을 해보았다

API란 ?



파일 업로드시 랜덤으로 파일명 지정하기.

이미지 파일을 업로드하는 것을 구현했었는데, db로 저장되는 과정에서 한글을 못읽어드려서 파일명이 한글로 된 것들은 , 확장자명만 db에 이미지명으로 저장이 되서, 나중에 또 한글로 된 파일을 올렸을 때 이미지명이 겹쳐져서 웹페이지에 똑같은 사진들이 주르륵 나왔다.

항해99.png 
우리강아지.png 

이렇게 두 파일을 올리면,
한글로 된 파일명은 지워지고 db에는 둘 다 png라는 이름으로 저장이 되어 이미지명이 겹치게 된 것이다 .

무슨 다른 오류가 있는 건가 ?? 하고 고민을 하던 중 팀원분이 해결책을 가지고 와주셨다.

filename = str(uuid.uuid4())

해당 코드를 추가해줌으로써 한글이던 영어던 상관없이, 받은 파일명을 랜덤으로 지정해서 바꾸어주었다!!


미니 웹 프로젝트를 하면서 또 알게된 것들이 여러가지 있는데 , 그 중 하나는 로컬 환경과 배포환경이 또 다르다는 거다.

기능을 구현하고 로컬환경으로 , 잘 되는지 확인을 하는데 로컬에서 잘 구현이 되도 막상 ec2 배포환경에서는 에러가 나는 것이 있고, 반대로 배포환경에서는 잘 되는 것이 로컬에서는 에러가 나기도 한다.

아직 코드들의 의미도 하나하나 정확히 모르는 상태에서 진행을 하다보니, 눈으로 확인을 못하면 이게 되는 코드인지 알 수가 없어서 .. 이 점이 정말 어려웠다.

차라리 코드를 잘 못 입력해서 에러가나는 거라면 좋겠는데 , 서버 에러인 500에러가 나거나 .. 환경에서 오는 에러는 정말 힘든 것 같다.

막상 어떻게 하다가 잘 돼도 ,왜 안됐었던 건지 정확한 이유를 모르겠다. ㅜ




👍 한 주를 마감하며. 🧑‍💻

항해의 첫 주가 끝나간다. 처음에 주간 100시간을 목표로 공부를 해야한다는 이야기를 듣고, '아니 피곤해서 일주일에 100시간을 어떻게 공부하지?' 라는 생각이 컸는데 막상 해보니 , 시간이 너무 금방금방 지나서 나도 모르게 꽤 많은 시간을 노트북 앞에 있게 되었다.

유튜브같은 곳에서 , 개발자는 손도 안움직이고 의문스런 표정으로 모니터 화면만 보면서 옆으로는 에너지 드링크만 쌓이는 쇼츠 영상 같은 걸 본 적이 있는데, 개발을 하는건 정말.. 시간에 비례하게 진행 사항이 달라지는 건 아닌 것 같다.

미니 웹프로젝트를 하는 건 솔직히 , 재미있었다. 그래서 좀 더 하고 싶고, 이런 기능도 저런 기능도 추가해보고 싶고 어떻게 하는건지 궁금해서 수정하고 찾아보고 하다보니 어느새 새벽이 되곤 했다.
재미를 느끼니까 , 투자한 시간만큼 성과가 안나도 크게 속상하진 않았다.

미니 웹 프로젝트가 목요일날 끝났지만, 내가 좀 더 구현해보고 싶은 게 있어 하루에 몇시간씩이라도 조금씩 코드를 추가해보고 하려고 했는데 , 알고리즘 주차로 접어들면서 할 수가 없었다.

나는 자바-스프링을 주특기로 선택을 했는데, 그 전까지는 파이썬과 자바스크립트로 계속 진행을 해오고 있었어서 갑자기 헷갈리는거다.

파이썬과 자바스크립트를 계속 하다가 갑자기 자바를 하려니까 자꾸 콜론도 빼먹고 .. 알고리즘 문제도 이번에 처음 접해봤는데 , 참... 한 문제 푸는데 .. 어려운 것들은 2~3시간은 걸린다.
미니 웹 프로젝트를 더 구현하고 싶었지만.. 지금의 나는 우선 주특기에 집중해야할 것 같다.


아직 정말 어려운 것들이 많고 , 몰라서 찾아보고 설명들을 봐도 무슨 소린지 모르겠고 하나를 알고싶으면 열을 공부해야하는 그런 상황이지만... 그래도 일단 재미있다! 알고리즘 문제도 재밌고! 그래서 더 많이 배우고 , 많은 것들을 몸소 경험해 보고싶다!

솔직히 잠을 푹 못자서 눈을 최대로 못뜨고 생활을 하고 있지만 .. ㅋㅋ 코딩 배우는 것도 재밌고, 비슷한 목적을 가진 여러 사람들을 만나서 이야기도 나누고, 정보공유도 할 수 있고 같이 한탄하고 할 수 있어서 더 좋다.

항해를 하기까지 많은 고민들이 있었지만, 첫주를 마감하는 지금의 나는 신청한 것이 후회가 되지 않을 만큼 이 시간들이 좋다 !

0개의 댓글