본문 바로가기

전체 글33

JWT를 어디에 저장해야 할까? (feat. 쿠키) JWT(Json Web Token)를 어디에 저장해야 사용자 로그인을 유지하면서도 안전할까? 이전에 프로젝트를 진행하면서 토큰을 로컬 스토리지에 저장하고 자동 로그인과 로그인 유지를 구현했었다. 그런데 로컬스토리지는 브라우저 콘솔에서도 window.localStorage를 입력하면 바로 접근이 가능하다. 공격자가 마음만 먹으면 인증 정보를 탈취하여 서버에 요청을 보낼수 있는 것이다. 앱에 사용자 민감 정보나 구매 등의 로직이 있다면 더 곤란하다. 그렇다고 보안을 위해서 인증 토큰을 앱 내부에서만 관리하면 자동 로그인과 로그인 유지를 포기해야 된다. 사용자 경험에 좋지 않다. 그래서 서버에서 내려준 JWT를 안전하게 관리하면서 사용자 경험도 보장할 수 있을까에 대한 고민을 하게 됐다. 브라우저를 끄고 다시.. 2022. 9. 21.
시작의 기술 - 개리 비숍 단언 주절주절 이어지는 서사에 불과했던 자기 대화를 단언으로 바꾸자. 단언 형태의 대화란 지금 당장 여기서 내가 이 순간의 주인임을 천명하는 것이다. '나는 ~이다', '나는 ~를 환영한다', '나는 ~를 받아들인다', '나는 ~라고 단언한다'라고 말하라. '할 거야', '될 거야'라는 식의 서사보다는 이게 더 강력한 명령의 언어를 사용하는 방법이다. 탓하기 그만 운을 그만 탓하라. 남을 그만 탓하라. 외부의 영향이나 환경을 들먹이는 것도 그만둬라. 어린 시절이나 이웃을 그만 탓하라. 심지어 여러분 자신을 탓하는 것도 아무짝에 쓸모없는 일이다. 의지 '나는 의지가 있어' 의지가 크면 어려움이 크지 않다 - 니콜로 마키아벨리 우리는 누구나 마음속에서 일을 실제보다 훨씬 더 크게 키운다는 사실을 잊지 마라... 2022. 9. 21.
자바를 시작하게 된 계기, 자바 기초 어떻게 더 좋은 코드를 작성할 수 있을까? 현업에서 1년 남짓 개발을 했던것 같다. 그동안 배운 것이 있다면 속도다. 일정의 압박 속에서 빠르게 원하는 기능을 구현하고 이슈를 처리하는 능력이다. 그런데 빠르게 하다보면 놓치게 되는 것이 많다. 코드가 당장 문제없이 동작하고는 있지만 유지보수, 확장성, 재사용성, 우아함(?) 이런 측면에서는 불안하고 아쉽다. 어떻게 하면 더 좋은 코드를 작성할 수 있을까? 어떻게 디버깅을 더 효율적으로 할 수 있을까? 이 문제를 해결하기 위해 가장 좋은 접근방식은 무엇인가? 빠르게 일을 쳐 내면서도 이런 고민은 뗄수도 없고 늘 마주하게 되는 혹처럼 달고 사는 것 같다. 이러한 질문은 속도와는 반대로 묵직한 시간과 내공이 필요하다. 컴공과에 다시 진학할 수는 없으니 내 전문.. 2022. 8. 5.
구글 시트 API를 활용하여 프로모션 신청자 접수하기 적용 배경 이 프로젝트는 프로모션 랜딩 페이지를 만들게 되면서 시작되었습니다. 사용자들이 방문하여 아직 출시되지 않은 제품을 소개하고 사전 예약을 신청할 수 있는 웹페이지인데요. 이를 위해서는 사용자들에게 사전 예약 정보를 받아서 해당 데이터를 저장하는 기능이 필요했습니다. 기존에 사용하는 서버와 DB를 떠나서 가능한 "가볍게" 구현하고자 했는데요. 아래와 같은 요구조건이 있었기 때문입니다. 1. 예상 사전예약 신청자 수가 1천명 미만으로 예상한다는 점 2. 프로모션 진행기간이 3개월 가량으로 단기간 진행된다는 점 3. 개발자 외에 누구나 신청자 현황을 바로 확인할 수 있으면 좋다는 점 요구조건을 고려하여 구글 시트 API를 활용하는 것이 좋겠다고 판단했습니다. 서버 개발 공수가 별도로 들어가지 않고 클.. 2022. 6. 18.