HomeAboutMeBlogGuest
© 2025 Sejin Cha. All rights reserved.
Built with Next.js, deployed on Vercel
👻
개발 기록
/
👩‍🏫
부트캠프 멘토링
/
❓
질문 archive
/
🧦
2차 멘토링
🧦

2차 멘토링

Date
Mar 16, 2023

질문 리스트


프로젝트 관련 질문

[기술] 카카오 OAuth 에 관한 질문
  • 현재 백엔드가 구현하려는 방 유저가 카카오 로그인 버튼을 누르면, 우리서버/oauth 창으로 가게 만들고, 우리 서버에서 카카오서버와 인가 로직,인증 로직 전부 처리 우리 DB에 회원 등록 혹은 회원 확인 과정 거친 후 클라이언트 /홈으로 리다이렉트 시켜서 response 보내는 방식 입니다.
  • Access token 은 응답헤더로, 유저정보는 응답바디에 json 형태로, refresh token 은 Cookie로 보내겠다. 고 하셨습니다.
  • fetch 나 axios를 쓰지 않고, window.location.href 로 창만 이동 시킨 건데 클라이언트에서는 응답을 어떻게 가져와야하는가? 가 고민입니다. 페이지가 리다이렉트 됐을 때 리스폰스를 어디서 어떻게 받아오는 코드를 작성해야 할지 잘 감이 오지 않습니다.
notion image
> 서비스 관점에서 생각할 것. “서비스 적으로 옳은건 뭘까? “ 생각해 보세요 (보안적인 측면에서 지금 방식이 더 옳을 것.) > 서버에서 홈으로 보내면,
> Access Token 값만 알면 유저 정보를 알 수 있다. 백엔드는 url을 강제로 리다이렉트(⇒ url) 시켜준다고 했다. → url 파라미터에 Access Token을 담아준다.
- [힌트] 관찰..?자? → useEffect 로 하던지 []에 값을 넣어주기
→ 어떡하면 가져올수잇을지 생각해보자. key-value 토큰=토큰내용 있는지 지속적으로 관찰하는 관찰자를 만들어 보자.
 
: 결국 응답 값은 프론트가 못받아요 URL 로 받는 수밖에없슈…ㅠㅠ
 
  • 로그인 아닌, 다른 페이지에서 로그인을했을 때 ? 서버가 로그인 하기 이전 페이지로 리다이렉트를 시켜야하나? 클라이언트가 리다이렉트를 시켜야하나 ?? → [힌트] 통역사…?를 통해 소통한다…?
    • 클라이언트만의 미들웨어(통역사)를 만들어 서버와 통신한다.
    • 로그인 라우터 를 만들어 볼까
    • 우리가 필요로하는 역할을 만들고, 배치하는 작업을 한다. (어디에 위치시킬지)
 
  • 홈페이지에서 로그인한다. 홈에서 리다이렉트를 하는게 맞을까? 홈이 이거까지 알아야 해?! 미들웨어가 있다면 좋지 않을까?
    • 어떤 페이지가 통역사 역할을 맡으면 좋을까?
  • 리액트 라우터를 사용해 로그인 이전 페이지로 보낸다. 위험하지 않을까? 이전 페이지를 기억할까?
 
  • 토큰을 url에 담아 전달할 경우 보안 상 위험하지 않을까?
    • 리스크를 없앨 수는 없다. 만료 기간을 짧게 잡고 Refresh Token을 사용하자.
    • OAuth에서 전달하는 토큰은 이미 암호화되어 있기에 url에 노출되어도 위험도가 낮다.
 
[기술] 유저 프로필 설정 페이지에서 유저의 프로필 선택에 따라 서버에게 PATCH 요청으로 전달하기
res.body로 넘어온 유저info 안에 카카오 프로필 src url 이 있을 것이라고 가정하고 해당 페이지를 구현중에 있습니다.
 
유저가 직접 프로필 사진 이미지를 업로드하는 기능을 하는 profile setter 라는 컴포넌트를 하나 만들고 그안에 이미지 태그와, <input type=file>태그를 넣어놓고 유저가 사진을 올리면 미리보기가 가능하게 만들었습니다. FileReader를 사용하여 base64 url로 생성까지는 할 수 있도록 했습니다.
 
다만 이제 유저가 어떤 선택(카카오프로필 사용 / 직접 올린 이미지 사용) 을 했냐에 따라서 밑에 회원가입 버튼에 제출되어야할 양식 데이터를 서버로 어떻게 제공해야할지 잘 모르겠습니다. useState를 써서 업로드된 이미지가 따로 없다면, 그냥 form 데이터 profile field 안에 kakao 프로필 url 을 넣고, 만약 있다면, 해당 이미지 base64 URL 을 넣어야 하는지 잘 감이 오지 않습니다.
notion image
  • 과연 이 페이지가 필요할까? 카카오 로그인의 장점중에 하나는 유저가 회원가입 데이터를 입력하지 않아도 되게 하는 것이다. 그럼 과연 이페이지가 필요한가?
  • 유저가 올린 사진 file src url 을 어떻게 폼데이터 안에 넣어줄까?
  • KAKAO / IMAGE 중에 하나만 선택되도록 하는 방법?
    • 버튼을 흑백/컬러로 만들어 선택됐는지를 표시해준다.
  • KAKAO / IMAGE도 하기 싫고 기본(사람) 이미지를 하고 싶다면? 지금 당장 필요한 기능일까?
    • 선택지를 하나 더 만든다(버튼 혹은 체크박스 등) → 마이페이지에서 삭제하기가 좋지 않을까?
  • 회원가입 페이지를 만들 경우 똑같은 기능을 2번 구현하게 된다 → 시기상조 / 백로그에 두는게 맞지 않을까?
→ 위 2개의 기술 토글의 이미지가 안보이실 경우 피그마 url 에서 확인 하실 수 있습니다.
Untitled
Created with FigJam
Untitled
https://www.figma.com/file/sZjmv7xRKWu4DpdJphVuKj/Untitled?node-id=0:1&t=QAQbh8RlL8TItWaM-1
Untitled

프로젝트 외 질문

리얼월드로 개인 포트폴리오를 준비하려는데 충분할까요?
-React-realworld-starter-kit
LeeHyoGeun-create • Updated Mar 12, 2023
 
Introduction | RealWorld
See how the exact same Medium.com clone (called Conduit) is built using different frontends and backends. Yes, you can mix and match them, because they all adhere to the same API spec 😮😎
Introduction | RealWorld
https://realworld-docs.netlify.app/docs/intro
demo.realworld.io
demo.realworld.io
https://demo.realworld.io/#/
 
플젝할때 아래 순서대로 하는게 좋다고 해서
Discussion ⇒ Issue ⇒ PR ⇒ Code Review ⇒ Merge ⇒ SEMVer ⇒ Release
리얼월드 프로젝트로 준비 할 때
Issue ⇒ PR ⇒ Merge ⇒ SEMVer ⇒ Release
(SEMVer 아직 써본적이 없어서 검색하면서 적용해볼 것 같습니다) 순서대로 진행할 계획이고
스택은
  • recoil
  • styled-components
  • react-query (필요하다면)
  • react-router
  • react-icon
으로 진행할 예정입니다.
 
내가 한 거를 왜 했는지 근거를 댈줄 아는 것이 더 중요하다. (근짱 개발구현 능력을 키우고 싶다는 근거를 어필했었음) 이런걸 잘하는 개발자가 되고 싶어서 이렇게했고 뭐가 어려웠고 뭘 배웠는지 등을 어필.
  • 부족하지 않은 프로젝트란 뭘까?
  • 의도를 물어봐야 알 수 있다는게 아쉽다.
  • 프론트엔드가 집중해야할 것은? 리액트…?
    • 서비스 / 인프라 / 디자인 -> 요구 역량이 다양하기에 없다!
  • 나의 의도를 잘 설명하는 것이 중요하다 -> 관심사 / 목적
  • 내가 일하고 싶은 회사 / 개발 목적 등을 생각하는게 더 중요하다!
  • 평생 어떤 기술을 익히며 살 것인가
적어도 코테를 보는 회사에 지원을 해야하는게 좋다고 들었는데 코테의 유무가 회사를 판가름하는데 많이 도움 되나요?
  • 개인 취향. 일반화할 수 없다.
    • 왜 회사가 코테(수능)를 보는걸까?
      • 지원자가 너무 많다…
  • 코테를 준비하면 선택의 폭이 넓어진다.
시간 여유가 있다면 이 팀 프로젝트가 아니라 개인적이라도 꼭 사용해봤으면 하는 기술이 있으신가요?
  • 타입스크립트!!! (ㅠㅠ)
  • 나머지는 하고싶은것 선택해서 할것!
  • 다양한 기술을 접하는 것보다 하나의 기술을 깊게 배우는 것이 중요하다!
    • 뭘 배웠고, 어떤 시행착오를 겪었고, 어떻게 해결하는지가 더 중요하다!
  • 그래야 회사에서 다른 기술을 추가하더라도 어떻게 그 사람이 배울지 판가름할 수 있다.
취업을 위해서 블로깅이 중요한가요? 코테, 플젝 등 취업 준비 시 우선순위는 어떻게 될까요?
  • 회사한테 맞춰서 우선순위를 두고 준비 (1차는 붙어야지… 코테 / 과제 준비) (2차도 붙어야지… CS 등의 기술면접)
  • 블로깅은 중요한데, (다른 모든 방법들 보다 제일 쉬워서) 중요하다고 말하고싶다.
  • 블로깅 외에 더 잘할 수 있는게 있다면… 강점 1개가 있다면 괜찮다!(코테, 플젝 등)
    • 블로깅 시간이 오래 걸리면 오히려 시간 낭비가 될 수도 있으니 생각해보자!
  • 블로깅해서 하트 받을 수 있을까?(다른 개발자들의 인정)
    • 내가 이해한 걸 잘 표현해야 한다(설명을 돕기 위한 그림 등)
    • 단순 기록용이라면 어떤 플랫폼을 사용하든 상관없다!
  • 취직을 위한 활동과 나(개발자)를 위한 활동을 구분할 수 있어야 한다!
국비학원이 많이 생겨나고 독학으로도 충분히 번듯한 웹사이트를 만들 수 있어 이런 내용을 포토폴리오로 많이 사용할 텐데 이러한 상황 속에서 어떤 점(기준)을 보고 신입을 뽑는걸까요?
  • 회사마다 요구하는 역량이 다르기 때문에 어려운 질문이다!
    • 커뮤니케이션 / 융화 능력 / 기술 등
  • 회사 도메인에 따라 나의 커리어 빌딩이 달라질 수 있다.
면접관마다 다르겠지만 면접볼 때 주로 어떤 걸 위주로 평가하나요? Ex) 깃허브를 본다면 깃허브에 올라온 코드와 전체적인 관리 중 어떤 걸 보는지? Ex) 포토폴리오를 본다면 프로젝트의 완성도와 기술의 종류 중 어떤 걸 위주로 보는지?
  • 면접관의 성향에 따라 달라질 수 있다. 숲 → 나무
    • 깃허브 : 전체적인 관리를 보고 세부적인 코드를 볼 수 밖에 없다.
    • 포트폴리오 : 전체적인 내용을 보고 관심사항에 대해 질문을 한다.
  • 작성한 내용 그대로 평가한다. → 강조하고 싶은 내용을 중심으로 둔다.
회사를 선택하는 기준이 있을까요?
  • 나의 강점을 필요로 하는 회사 / 재밌게 일할 수 있는 회사를 선택하는게 중요하다.
현직자들은 ChatGPT를 어떻게 활용하고 계신지 궁금합니다.
  • 단순 코더는 ChatGPT에 의해 사라지지 않을까?
  • ChatGPT에 질문을 잘해서 정보를 얻는 것이 중요하다.
프론트엔드 직군에서 코더와 프로그래머의 차이는 뭘까요?