항해99 Week1 WIL

강지희·2022년 3월 7일
0

항해99

목록 보기
5/5
post-thumbnail

무엇을 배웠나?

- Jinja2 템플릿 엔진

- JWT 인증 방식의 로그인

- JavaScript의 ES (+ ES5/ES6 문법 차이)


어떤 문제를 맞닥뜨리고 극복했나?

- 사소한 문제들

극복하기>> 오타, 변수이름, 괄호/중괄호 짝맞추기,
특히 파이썬에서는 들여쓰기하는 것과 파일이 실행되는 중이어도 코드 고치고 나서 확인할때는 중지후 다시 실행한후 새로고침해서 들어가야 하는 부분은
알고있어도 실수하기 쉬운 부분이라서 오류가 난다면
코드의 논리를 따져보기 전에 먼저 사소한 부분들로 돌아가서 정확히 썼는지를 가장 먼저 확인해보자.
위의 문제들은 웹개발 종합반을 통해 처음 코딩을 시작해보며 배운것들인데
미니프로젝트를 통해서는 특히 Git으로 협업하는 과정에서 시행착오가 참 많았다.
서로의 작업물들을 합치는 과정이 매일 있어서 첫날 제외하고는 Git에서 발목잡히지 않은 날이 하루도 없었다..ㅎ
그래도 이젠 어디를 고쳐볼지 알게된건 다행이다.
이젠 파일명도 신경써야되고 변수명도 더 신경쓰고, 이러한 기초적인 부분들을 짚고 지나가는 첫번째주다.
아직은 새로운 이름들을 지정할때마다 깃허브 문서에 업데이트하고 통보만할지 어느 시점에 무엇을 서로 회의해야 하는건지 머릿속이 안개낀 느낌이지만 앞으로도 남은 협업 과정들 속에서 여러 방법들을 시도해보면서 좋았던 소통방식을 찾아서 기록해놔야겠다.

- 새로운 문제: 로컬호스트 상에서 나지 않는 오류가 도메인 상에서의 홈페이지에서 오류가 날 때

극복하기>> Linux로 AWS 서버연결시 .decode('utf-8')를 token = jwt.encode(payload, SECRET_KEY, algorithm='HS256') 뒤에 붙여주기.
localhost:5000으로 홈페이지에 들어갔을때 로그인 버튼을 눌러도 메인페이지로 넘어가지지 않는 문제가 발생했다.
console창에서 확인해보니 ‘str object has no attribute decode’ 라는 문구가 떠서 검색해보니 decode()는 UTF-8이 암호화되기 이전 포맷인 (machine readable) byte objects로 보여주는데 Python3에서는 모든 문자열이 자체적으로 unicode object라 decode 할게 없다는 것!
따라서 decode() 부분을 지워주는게 가장 간단한 방법이다.
그런데 나중에는 linux로 AWS 서버 연결하니 로그인버튼을 눌러도 다음 페이지로 넘어가지 않는 문제가 발생했다.
로컬호스트로 연결했을때와 다르게 콘솔창을 띄워서 확인해봐도 깨끗했다.
로그인 과정이 안되니 token쪽이 문제인 것 같은데 어디서부터 시작해야할지 전혀 감이 잡히지 않아서 token과 cookie의 이론적인 부분을 알아보는것부터 했다. 따로 또 같이 트러블슈팅 하던중에 영수님이 찾은바로는 python3는 자체로 decode되서 decode()를 써주면 에러가 나는 것과 다르게 linux에서는 decode()를 해주지 않으면 알아듣지 못한다고 해서 지웠던 decode를 다시 붙여줬고 에러가 잡혔다! 이렇게 새로 알게되서 적용한 부분들은 에러났을만한 곳들을 찾아볼때 지나치고 넘어갈 가능성이 크니까 코드를 완전히 지우는대신 주석처리해두고 이유를 붙여놓자.

- 해결 접근 방법의 문제

극복하기>> 이론 먼저 말고 기능 먼저 찾아보기
문제를 해결하기 위해서 먼저 개념과 구조 등 이론적으로 이해해야 된다고 생각해서 구글링으로 이론공부에만 오래 매달려 있다보니 빠르게 문제 해결을 할 수가 없었다. 그래서 오히려 실용적인 부분들, 코드를 어떻게 작성해야 어떤 동작을 나오는지 찾아보고 써보면서 기능을 익히다보면 나중에 다시 이론으로 돌아왔을 때 더 쉽게 이해되고 어떤 이론적인 부분들을 더 찾아봐야 할지 생각이 자연스럽게 따라온다는걸 배웠다. 그래도 왜 그렇게 써야하나 이해가 되지 않으면 답답하니까 커리큘럼 따라가느라 바빠도 이론적인 부분까지 공부하자!)


계획 업데이트

항해 이후로도 공부마라톤은 이어질거니까 체력은 유지하면서 진행하려고 주3회 한시간 운동을 계획했었다. 하지만 항해를 통해 스프린트하면서 빠르게 실력을 쌓기 위해 온거고 될때까지 문제를 붙들고 있으려면 꽤 큰 단위의 시간을 규칙적으로 빼는건 비효율적이라는 것을 깨달았다. 따라서 2주차에는 10분 단위 정도로 쪼개서 매일 조금이라도 틈날때 운동하고 일요일에는 1시간을 내서 운동하려고 한다.
가장 중요한 키워드는 '답을 찾아내고 될때까지하기'.
체력을 위해 최소한의 필요한 행위를 했다면 깨어있는 동안은 이 마음가짐으로 보내서 오늘 해결할일은 오늘안에 끝내고 하루를 마감하자.

profile
기록하며 앞으로 나아갑니다 :)

0개의 댓글

관련 채용 정보