몰입.
몰입이란 단어는 참 느낌있다. immersion. 지금까지 무언가를 몰입해본 경험이 고3때가 전부였다. 그때는 상황이 상황인지라 몰입을 할 수 밖에 없는 시기였다. 그래서 내가 하기싫은 과목도 억지로 몰입해야했으며 그게 가장 힘들었다. 먹기 싫은 음식을 억지로 먹으면 먹을 수는 있을지라도 만족을 느끼지 못한다. 하지만 이번 항해99는 내가 하고 싶어서 자발적으로 신청한 프로그램이자 새로운 모험이다.
새로운 모험을 출발하기 전날 너무 떨려서 잠은 잘 왔지만 긴장되기 시작했다. 이게 뭐라고..그렇게 첫날이 시작됐고 OT와 발제가 시작됐다.OT를 듣고 항해 커리큘럼이 빡세다는 걸 알고 있었음에도 더 빡세게 해야한다는 생각이 들었다.
그리고 대망의 발제가 시작되고 그 내용은 알았다시피 5일만에 미니팀프로젝트를 완성하라는 것이다. 그냥 완성하라는 것이다. 당연히 우리에게 떨어진 메뉴얼은 1도 없었다. 팀원분들을 처음 만나고 인사를 나눴다.그리고 나이가 궁금하여 나이를 물어보니 내가 24살인데 반해, 팀원분들은 20대 후반~30대초반이었다.더 놀라운건 내가 이 팀의 팀장이라는 것이다. 나이는 한참 막내지만 팀을 이끌어가야하는 상황에 놓였다. 그치만 이미 결정된거 잘해야한다는 생각이 절로 들었다.
첫날에는 와이어프레임을 짜고 프로젝트 이름을 무엇으로 할지, 어떤 목적을 띄는 프로젝트인지 등등 큰 틀을 잡는 작업을 진행했다. 그 동시에 프로젝트를 하기 위한 재료들을 수집하기 위해 웹플러스 강의를 수강했다.왕초보 강의도 만만치 않았지만, 플러스 강의는 더 만만치 않았다.강의 듣고 프로젝트 하고 5일동안 무한 반복이었다.
그 과정이 순탄히 진행되지만은 않았다. 대부분의 시간을 에러 잡는데 쓴 듯하다. 그렇지만 그만큼 성취감이 있었다.
그리고 처음으로 git이라는 것을 접했는데 이게 엄청 쉬워보였지만 제일 어려웠다. git pull,push,merge 등 이런 명령어만 알면 척척 할 수 있을 줄 알았지만 그건 시작에 미치지도 못했다. git을 이해하는데도 시간을 많이 썼다. 사실 아직까지도 잘 모르겠다. 왜 사람들이 git을 공부하는지 이제야 알것같다. 나도 이번 연휴에 git을 공부해 볼 생각이다.
그렇게 우여곡절 끝에 프로젝트가 완성 되었고 협업을 하며 몰입을 하다 보니 그 몰입의 농도가 혼자 했을 때보다 최소 2배는 되는 듯 했다. 그리고 사람들과 같이 얘기하며 하다 보니 지루할 틈이 없었기도 했다. 재밌는 경험이었다.
생각나는 용어 중에 JWT와 API가 있다.
JWT는 JSON Web Token의 줄임말로, JSON 객체를 사용해 정보를 안정성 있게 전달하는 표준을 뜻한다.
예를 들어, 로그인 기능을 생각해보면 사용자가 로그인하면 서버에서 회원임을 인증하는 토큰을 넘겨줌으로써 이후 회원만 접근할 수 있는 서비스 영역에서 신분을 확인하는 데 쓰일 수 있다. 마치 놀이공원에 가면 놀이공원 티켓을 발급받아서 입장을 하는 것처럼 말이다. 그 티켓이 바로 JWT인 것이다.
API는 'Application Programming Interface'의 약자이다.
응용 프로그램 프로그래밍 인터페이스. 응용프로그램에서 사용할 수 있도록,운영 체제나 프로그래밍 언어가 제공하는 기능을 제어할 수 있게 만든 인터페이스를 뜻한다.
현재 금융,소셜,전자상거래 등 기타 여러 업종을 위한 수백 개의 API가 있으며 애플리케이션에서 수행하는 모든 작업은 물론 다른 애플리케이션과 함꼐 수행하도록 애플리케이션을 프로그래밍하는 작업도 포함하고 있다.API의 역할을 3가지로 나눈다면,
첫번째로 API는 서버와 데이터베이스에 대한 출입구 역할을 한다.
: 데이터베이스에는 소중한 정보들이 저장된다. 모든 사람들이 이 데이터베이스에 접근할 수 있으면 안되기 때문에 API는 이를 방지하기 위해 여러분이 가진 서버와 데이터베이스에 대한 출입구 역할을 하며, 허용된 사람들에게만 접근성을 부여해준다.
두번째로 API는 애플리케이션과 기기가 원활하게 통신할 수 있도록 한다.
: 여기서 애플리케이션이란 우리가 흔히 알고 있는 스마트폰 어플이나 프로그램을 말한다. API는 애플리케이션과 기기가 데이터를 원활히 주고받을 수 있도록 돕는 역할을 한다.
세번째로 API는 모든 접속을 표준화한다.
: API는 모든 접속을 표준화하기 때문에 기계/ 운영체제 등과 상관없이 누구나 동일한 액세스를 얻을 수 있다. 쉽게 말해, API는 범용 플러그처럼 작동한다고 볼 수 있다.