개발하는 프로 국밥러
article thumbnail
첫 웹 프로젝트(가맹 관리 서비스)
프로젝트 2022. 8. 31. 19:05

약 두달간 진행한 프로젝트가 마무리 되었다!!! 오늘은 프로젝트 내에서 내가 맡은 부분 중 고민했던 부분들을 공유하는 포스팅을 해보려 한다. 간단히 프로젝트를 설명하자면, 가맹점주가 가맹점 관련 정보를 해당 서비스에 등록하면 일반 사용자는 네이버 지도 API 를 기반으로 한 가맹점 정보 조회 서비스를 이용할 수 있다. 또한 가맹점 정보는 OPEN API 를 통해서 외부에 제공된다. 프로젝트 이미지는 아래와 같다. 깃헙 링크는 아래에서~~ https://github.com/gugbab2/franchisee-management-program GitHub - gugbab2/franchisee-management-program: 가맹관리 프로그램 가맹관리 프로그램. Contribute to gugbab2/fra..

article thumbnail
JWT(Json Web Token)
CS/네트워크 2022. 6. 27. 20:12

지난 시간에 이어 JWT 에 대해서 이야기 해보겠습니다. Json 포맷을 사용하여, 토큰 자체를 정보로 사용하는 방식으로 주로 회원 인증이나, 정보 전달에 사용된다. JWT 구조 Header, Payload, Signature 의 3 부분으로 이루어지며, JSON 형태인 Base64Url 로 인코딩 되어 표현된다. 각각의 부분을 이어 주기 위해서 . 구분자를 사용하여 구분한다. Header 토큰의 헤더는 typ, alg 두 가지 정보로 구성된다. alg 는 헤더를 암호화 하는 것이 아니라, signature 를 해싱하기 위한 알고리즘을 지정하는 것이다. typ : 토큰의 타입을 지정 ex)JWT alg : 알고리즘 방식을 지정하며, signature 및 토큰 검증에 사용 payload 토큰의 페이로드에는..

article thumbnail
세션과 토큰
CS/네트워크 2022. 6. 27. 20:07

로그인 처리를 하던 도중 세션과 토큰의 차이점에 대해서 정리해 보고자 한다. 서버(세션) 기존 인증 시스템은 서버 기반의 인증 방식으로 서버 측에서 사용자의 정보를 기억해야 한다. 서버가 사용자들의 정보를 기억하기 위해서 세션을 유지해야 하는데, 메모리 또는 디비를 통해 관리한다. 이러한 서버를 Sateful 서버라고 한다. 이러한 세션 인증 방식은 다음과 같은 문제점을 가지고 있다. 세션 사용자가 인증을 할 때 서버는, 이 정보를 저장해야 하고, 이를 세션이라고 부른다. 대부분의 경우에는 메모리에 저장하는데, 로그인 중인 사용자가 늘어날 때, 서버의 RAM 에 부하가 걸리게 된다. 이를 위해 디비에 저장하고 하는데, 디비에 무리를 줄 수 있다. 확장성 더 많은 트래픽을 처리해야 할 때, 세션을 사용한다..

article thumbnail
리다이렉션?
CS/네트워크 2022. 6. 1. 22:49

최근에 서블릿 JSP 를 사용한 MVC 패턴을 사용하면서, redirection 과 forword 의 개념이 헷갈려 애를 먹었던 기억이 있다.. 때문에 오늘 리다이렉션을 한번 정리하고자 한다. 리다이렉션 먼저 리다이렉션은 HTTP 300번대 상태코드로 요청을 완료하기 위해서 유저에게 추가적인 조치가 필요한 상태를 말한다. 말로 하면 이해가 어렵기 때문에 그림과 함께 설명해 보도록 하겠다! 첫번째, 클라이언트가 서버에 요청을 보내게 되면, 서버는 300번대 리다이렉션 상태코드를 반환하게 된다. 두번째, 이때 서버는 Location을 통해서 새로 이동해야 할 위치를 알려주게 되고, 세번째, 클라이언트는 서버에게 받은 위치 정보를 참고해, 새로운 URL 로 접근하게 되는 것이다! (후,, 최대한 쉽게 설명해보..

article thumbnail
컴퓨터는 인터넷에서 어떻게 통신할까?
CS/네트워크 2022. 5. 30. 18:30

컴퓨터가 가까이에 유선으로 연결되어 있다면 어렵지 않게 통신할 수 있겠지만, 우리는 인터넷을 통해서 통신하는 세상에 살고있다. 그렇다면 컴퓨터는 인터넷 상에서 어떻게 통신하는 것일까? 인터넷에 검색해보면 아래와 같이 이해하기 힘든 그림들이 너무 많은데 김영한님의 강의를 통해 쉽게 정리 할 수 있었다. 먼저 컴퓨터가 인터넷 상에서 통신을 하기 위해서 가장 기본적인 것은 다들 한번쯤은 들어봤을 법한, IP(인터넷 프로토콜) 이다. 우리의 컴퓨터는 인터넷을 통해 목적하는 IP 주소로 이동하며, 그 사이사이에 노드 단위로 이동한다. 데이터를 전달할때는 데이터를 패킷이라는 단위로 전달하는데, 패킷에는 기본적으로 출발지IP, 도착지IP, 전송 데이터로 이루어져 있다고 생각하면 된다. 이 IP에는 한계가 존재하는데 ..

article thumbnail
왜 서버 구축에는 리눅스를 사용할까?
CS/네트워크 2022. 4. 13. 13:38

들어가며 오늘의 포스팅은 얼마전, virtualBOX를 활용하여 생전 처음 리눅스에서 프로그래밍을 하며 느낀점을 적어보려 한다. 개발을 시작한지 얼마 되지 않았던 나는, 여러가지 궁금증이 항상 많다. 그 중 하나가 서버를 돌릴 때 왜 보기도 힘든 CUI(Character User Interface)기반의 리눅스를 사용하냐는 것이었다... 때문에 오늘 서버구축을 위해 리눅스를 사용하는 이유를 이야기 해보고자 한다. 리눅스를 사용하는 이유는 다음과 같다고 한다. 무료 오픈소스 리눅스는 무료 오픈소스 운영체제로, 완전 무료 정책이기 때문에 그 어떠한 금액도 필요로 하지않는다. 웹서버로 리눅스를 사용하는 가장 큰 이유라고 생각한다. 우수한 보안성 PC에 가장 위협적인 건 바이러스 또는 해킹이 아닐까 싶다. 시간..