본문 바로가기

전체 글60

인증 방식 선택에 대한 고민과 고찰 (Session vs Token)[Feat. 레디베리] 고민의 시작대학생분들이 IT 스타트업을 창업해 서비스를 구현한다고 하면, 회원제는 필수로 구현하게 될 것이다. 하지만, 고민에 빠지게 되는 것은 큰 IT 기업은 대부분 세션 방식을 쓰는데 왜 세션을 사용하는 거지? 토큰 방식은 왜? 근데, 그럼 뭐써? 라는 고민을 한 번쯤은 해봤을 것이다. 필자도 로그인 파트를 진행하면서 세션과 토큰 중 추후를 위해 어느 방식이 좋은 것인가에 대해 고민하게 되었고, 직접 사용해본 경험을 토대로 세션과 Token의 필요성, 장,단점 그래서 레디베리는 왜 이 방식을 선택했는지 추후 문제는 없는지를 이야기 해보고자 한다. 왜 인증에서 상태가 필요해?Stateless인 HTTP 특성으로 사용자를 특정할 수 있는 어떠한 수단이 필요하다. 이를 위해, 세션 혹은 토큰을 사용해 서버.. 2024. 7. 3.
Enum Enum이란?열거형이라고도 불리는 Enum은 멤버라 불리는 명명된 값의 집합을 이루는 자료형이다.상수 데이터들의 집합이라고 생각하면된다.예로는 요일 / 계절 / 주사위 등이 있다.월, 화, 수, 목, 금, 토, 일 / 봄, 여름, 가을 , 겨울 / 1, 2, 3, 4, 5, 6이와 같이 한정된 데이터의 묶음을 열겨형 타입 Enum으로 묶는다면 구조적으로 설계가 가능하다.과거 상수 정의final 상수final 제어자를 이용해 변수를 상수화정의된 상수는 클래스 내에서 전역으로 사용될 수 있으며, 한 번 정의된 후에는 값을 변경할 수 없습니다.하지만, 숫자 상수만으로는 어떤 값이 어떤 의미를 가지는지 직관적으로 알기 어렵다. 코드만 봐서는 1이 월요일을 나타내는지 알기 어렵다. 또한 정수형 상수는 같은 정수형.. 2024. 6. 25.
[레디베리 1편] 우당탕탕 실결제 서비스 MVP 배포 이야기 8개월의 여정을 마치고 뒤늦은 후기를 올려본다.사건의 발단 열정 넘치는 한 PM분과 연락이 닿아 지금껏 동고동락한 형과 함께 팀을 꾸리게 되었다.제품을 만들기에 앞서 가장 힘들었던 부분은 팀원 모으기 였던 것 같다. 아무리 학교 커뮤니티에 올리고, 게시물을 붙혀도 아무것도 없는 팀 에는 관심 조차 주지 않았다…특히, 프론트엔드가 문제였다.지이이이이이인짜 안구해졌다…. 그래서 기존에 프론트엔드를 했던 경험을 다시금 살려 해야하나…. 고민마저 들었다….그래서 직접 발로 뛰며 발품 파는 방법으로 진행할 수 밖에 없었다.결국 지인의 지인, 지인의 지인의 지인으로 사람을 모을 수 있었고, 이때 정말 네트워킹의 중요성을 명확히 알 수 있었다. ㅠㅠ여차저차해서 개발 시작 전까지 PM 1, 디자이너 1, 백엔드 2, .. 2024. 6. 24.
전략패턴(Strategy) 패턴 전략패턴이란?전략 패턴은 실행 중에 알고리즘 전략을 선택해서 객체 동작을 실시간으로 바뀌도록 할 수 있게 하는 행위 디자인 패턴이다.여기서 전략이란 일종의 알고리즘이 될 수도 있고, 기능이나 동작이 될 수 있는 특정한 목표를 수행하기 위한 계획을 말한다.조금 어려운 느낌일지도 모른다.간단하게 생각하면 위 사진과 같이 검색창을 구현하는 상황을 생각하면 된다. 보통은 위 사진과 같이 클릭이 있어나면 그 클릭의 모드에 따라 조건문을 거쳐 메소드를 실행할 것이다.하지만 이는 수평적 확장을 진행할 때, 기능이 추가될수록 조건문이 늘어나고 기존의 코드를 수정해야한다는 단점이 존재한다.  즉, 고수준 모듈이 기능이라는 저수준 모듈에 의존하여 코드의 주도권을 뺏기는 상황이라 볼 수 있다.이는 객체 지향 5원칙에 OCP.. 2024. 6. 10.