[항해99 2기] TIL 31일차

Song·2021년 7월 7일
0

회고록

목록 보기
26/47
post-thumbnail
post-custom-banner

Today I Learned 31일차

  1. cookie를 이용하여 사용자 계정 확인하기
  2. ajax 오류 해결..
  3. 간만에 알고리즘
  4. 느낀점

1. cookie를 이용하여 사용자 계정 확인하기

기존에 만들었던 CRUD 사이트에 JWT를 이용한 로그인를 적용시켰다.
그래서 이번에 게시물 관련 기능도 확장 시켜봤다.

Before : 누구든 상관없이 비밀번호만 있으면 업로드, 수정, 삭제가 가능
Now : 로그인한 사용자만 업로드 가능하며 작성자만 수정 및 삭제 가능!

사용자가 로그인하면서 토큰을 발급받을 때 해당 계정의 아이디를 쿠키에도 저장시켜 Auth 미들웨어없이도
계정 정보에 접근할 수 있도록 구현하였다. 그래서 만약 게시물 작성자와 쿠키에 저장된 사용자가 동일하다면 수정, 삭제 버튼을 활성화시켜 수정, 삭제가 가능하도록 구현하였다.


토큰을 발급받을 때 계정의 아이디를 쿠키에도 저장

if (req.cookies['userId'] == undefined) {
            res.cookie('userId', user.userId, {})
 }

상세 페이지에 쿠키에 저장되어있는 계정을 넘겨주기 위해 'currentUser에 넣어주고,

 if (req.cookies['userId']) {
        currentUser = req.cookies['userId']
 }

json 형태로 값을 넘겨주었다.

  res.json({ 
        currentUser: currentUser
    })

2. ajax 오류 해결..

해결하였지만 근본적인 원인은 찾지 못해 찜찜한 오류가 하나있다.
바로 ajax를 통해 받은 값은 html에 뿌릴려고하는데 유독 특정 데이터만 계속 에러가 나는 것이다..

modify_comment라는 함수에 content라는 인자로 값을 전달하려고했지만

계속 아래와 같은 referenceError가 떴다.

변수명도 고쳐보고 이것저것 다해봤지만 결국 아래와 같은 사진에서 옆에 '' 를 붙여주니 잘 작동했다..
아직까지 미스테리..

Before

After

3. 간만에 알고리즘

간만에 알고리즘.. 를 풀었다. 어려웠고..그동안 나름 머리쓰면서 보냈던 시간들이 사라진거 같아 허무했다.
알고리즘에 좀 더 시간을 투자할 수 있도록 계획을..al..알차게..

4. 느낀점

오늘 어느 정도 심화 주차 과제가 마무리되어 비교적 부담이 적은 하루를 보냈다.
주요 요구사항 기능들을 구현했으며 요구사항에는 없었지만 기본 주차 과제에 했던 기능들도 심화에 맞춰
확장해보았다.

물론 아직 테스트 코드도 작성해야하고 요구사항을 모두 충족시킨게 맞는지, 또 내가 모르는 오류는 없는지 따따블로 체크해야하지만 급한 불은 끈 느낌이라 다행이라는 생각이 든다.

오늘도 항해톡이 있었다. 하지만 이번에는 기존에 이론 위주였던 항해톡과는 다르게
오늘은 크루원(aka my teammate) 개인의 과제 접근 방법과 그에 따른 코드 구현방법에 대해 얘기하는 시간을 가졌다.

기존에 항해톡도..물론 유익했지만 아무래도 이해하기가 쉽지않았는데 이번 항해톡은 공감도 많이되고
나의 접근방식에 대해서도 한번 더 생각해 볼 수 있는 유익한 시간이었다.

특히 이번 발표에서 프로그래밍적인 사고는 '생각을 잘게 쪼개어 컴퓨터와 가까워지는 것'이라고 말했는데,
어떤 기능을 구현할 때 넓게 보는것도 중요하지만 동시에 잘게 쪼개어 하나 하나씩 세부적으로 파악하고 흐름을 깨닫는 것도 중요하다는 것을 깨달을 수 있었다.

결과적으로 오늘 항해톡도 좋았고!

내일도 오늘만큼 화이팅 넘치는 하루가 되길..!

profile
Learn From Yesterday, Live Today, Hope for Tomorrow
post-custom-banner

1개의 댓글