소프트 스퀘어드 5

[서버/Server] 백엔드 틀 잡기 5/5 - 인증

로그인 인증 및 유지 방법 HTTP의 큰 특징으로는 stateless와 connectionless가 있다. stateless는 무상태성, 즉 상태 관리를 하지 않는다는 뜻이다. 조금 더 쉽게 설명하자면 서버가 클라이언트의 상태를 몰라 식별할 수 없다는 말이다. 따라서 로그인 상태가 유지되지 않아 매 요청마다 다시 로그인해줘야하는 번거로움이 있다. 왜 stateless한 특징을 갖는지 의문이 생길 수 있다. 그 이유가 바로 connectionless이다. 클라이언트와 서버가 성공적으로 연결을 맺어 요청에 대한 응답을 마치면 연결을 끊어버린다. 이러한 비연결성의 장점은 연결을 유지하기 위한 리소스를 줄여 더 많은 연결을 가능하게 한다. 하지만 매번 새로운 연결 과정을 거치기 때문에 오버헤드가 발생한다는 단점..

[서버/Server] 백엔드 틀 잡기 4/5 - API

전공자로써 API라는 용어를 수도 없이 들었다. 심지어 졸업작품으로 진행했던 프로젝트에서 Google cloud vision API 를 가져다 썼었지만 정작 정확한 의미는 모르고 있었다. API가 도대체 뭔데? 위키백과에서는 API를 응용 프로그램에서 사용할 수 있도록, 운영 체제나 프로그래밍 언어가 제공하는 기능을 제어할 수 있게 만든 인터페이스 라고 정의한다. 그렇게 와닿는 말은 아닌 것 같다. 이해하기 쉽도록 예시를 준비해봤다. 매개체 Application Programming Interface 에서 interface라는 단어에 초점을 맞춰보자. 직역하면 서로 맞대는 면 정도로 해석할 수 있다. 사용자가 스마트폰 사용하는 모습을 상상해보자. 홈 화면을 보기 위해서는 전원 버튼을 눌러야 하고, 우리는..

[서버/Server] 백엔드 틀 잡기 3/5 - DBMS

3주차 수업은 DBMS에 관한 내용이었다. 개인적으로 2학년 데이터베이스 수업을 절어서(?) 잘 모르기도 하고, 꼭 한 번 제대로 파보고 싶었다. 해피 서버와 드림 서버 1주차에는 단순히 로컬에 서버를 구축했고, 2주차에는 클라이언트와 서버를 분리했다. 이번 3주차의 핵심은 서버단에서 DBMS와 DB를 분리하는 것이다. 초등학생 때 매일같이 했던 크레이지아케이드 게임에는 해피 서버와 드림 서버가 있다. 해피 서버 사용자와 드림 서버 사용자는 서로 만날 수가 없다. 어떤 로직 때문에 이렇게 됐을까? Server program + Back-end Language + DBMS 서버단에 대한 설명에서 Server program / Back-end Language / DBMS 세 파트를 통틀어서 서버라고 불렀다...

[서버/Server] 백엔드 틀 잡기 2/5 - 네트워크

컴파일 설치와의 작별 소프트 스퀘어드 에서의 1주차 과제는 Linux 위에 APM을 컴파일 설치하여 서버를 구축하는 것이었다. 단순히 apt와 같은 패키지 매니저를 사용했으면 편했겠지만 컴파일 설치가 왜 중요한지, 어떨 때 사용하는지를 알 수 있었고 덕분에 CLI (Command Line Interface) 환경에 조금 더 친숙해졌다. 어제 2주차 수업을 들으며 앞으로는 컴파일 설치를 하지 않아도 된다는 나름 희소식을 들었다. 스타벅스 가서 아메리카노 마실래 뚱딴지 같은 소리로 들릴 수도 있지만 2주차 Network 수업은 위의 문장으로 시작됐다. 결론부터 말하자면 아래의 설명을 쉽게 이해할 수 있도록 비유한 것이다. 개인적으로 설명을 들을 때 이렇게 비유와 예시가 동반되면 이해하기 훨씬 수월한 것 같다..

[서버/Server] 백엔드 틀 잡기 1/5 - 서버 개요

Soft squared 서버반 수업을 들으며 정리한 내용이다. 서버란 ? 네트워크와 같은 과목을 공부하다 보면 위의 사진을 쉽게 접했을 것이다. 사진을 보면 client가 서버에 요청을 하고 server는 요청에 해당하는 작업을 수행해서 응답하는 모습을 보인다. 현실 세계에 빗대어 봤을 때 클라이언트를 손님, 서버를 종업원이라고 볼 수 있다. 그렇다면 종업원이 굳이 필요할까 ? 해당 주제로 간단하게 토론을 했다. 종업원은 실질적으로 음식을 요리하는 사람이 아니기 때문에 종업원이 필요하지 않은 곳도 있을 것이다. 사장님이 모든 것을 해결하는 곳이나 손님이 많이 없어 한적한 곳이라면 더욱 그럴 것이다. 반면 종업원을 꼭 써야 하는 경우는 언제일까? 바로 손님이 너무 많이 몰려 사장 혼자서는 일을 해낼 수 없..