웹 디자이너에서 프론트엔드 개발자(자칭)가 되기 까지
저는 웹 콘텐츠 디자이너로 현재 회사에 입사했습니다.
그러다가 회사에서 웹 서비스를 개발하기로 결정을 하고, 외주를 알아보았으나 퀄리티 대비 비용이 컸고, 기획회의를 하다보니 생각보다 높은 수준의 서비스도 아니었기 때문에 그나마 코딩을 조금 할 줄 알던 제가 어쩌다 보니 혼자서 개발을 시작하게 됩니다. 한때 개발자로 취업하고 싶기도 했고 당초 기획으로는 그렇게 복잡한 기술을 요구하지도 않아서 일도 하고 자기계발까지 할 수 있는 기회라고 생각했죠. 현재 회사에 입사하기 전까지 국비교육으로 html/css/자바스크립트, 제이쿼리를 배웠으며 수료 후 입사 직전 까지 vue와 react를 독학으로 공부했기 때문에 리액트로 개발을 해보자! 라고 마음을 먹고 개발을 시작했습니다. 디자인 업무도 병행했지만 신입 디자이너를 채용하면서 디자인 업무에 대한 부담은 많이 줄었습니다(0은 아니지만)
프론트엔드만 공부하던 내가 이세계에선 풀스택 개발을?
당초 기획은 랜딩페이지 처럼 화면만 구현하는 느낌의 웹페이지였습니다 우리 회사를 소개하고 하단에는 약도와 연락처를 남겨서 계약을 희망하는 업체가 전화 연락을 하거나, 직접 방문해서 계약을 진행하는 구조였죠. 그런데 어느날 상사가 이런 말을 합니다
"전화로만 연락을 받지 말고 그쪽에서 우리한테 연락처를 남길 수 있게 하자"
저는 초보수준이긴 하지만 회사 내에선 나름 개발지식이 있는 편이라서 현재 하는 방식으로는 데이터를 남길 수가 없다는 걸 알고 있었습니다. 하지만 당시에는(지금도 마찬가지지만) 상사를 설득할 만한 발언권을 가지고 있지 않아서 여러가지 방안을 모색해야 했습니다. 워드프레스나 그누보드 같은 CMS를 써볼까 생각도 해봤는데 이미 리액트로 어느정도 화면 구성이 완료 된 상태에서 이걸 워드프레스나 그누보드에 적용시키는 방법도 몰랐고, 그렇다고 리액트로 작업한 걸 없던 걸로 하기에도 아깝다는 생각이 들어서 포기하고 다른 방법을 찾았습니다. 그렇게 발견하게 된 게 구글의 파이어베이스(firebase) 였습니다.
파이어베이스는 간단히 말하자면 서버 구축에 필요한 작업들을 구글이 전부 대신 처리해서 리액트와 같은 프론트엔드 개발 언어만 가지고도 CRUD나 파일 업로드, 회원가입과 같은 기능들을 사용할 수 있게 도와주는 개발 플랫폼 입니다. 저는 firebase hosting과 firestore database를 이용해서 웹 서비스를 개발/배포하였습니다. 하단에 Contact Us 폼을 추가해서 이름(또는 회사명)과 연락처를 db에 저장할 수 있게 되었고, 관리자 전용 페이지를 만들어서 저장한 db를 열람하고 계약 희망 업체에게 우리 회사 쪽에서 먼저 연락할 수 있도록 추가 개발을 진행했습니다. 관리자 계정 또한 firebase auth를 이용해서 안전하게 관리할 수 있었습니다
파이어베이스의 장점
매우 쉽습니다. 백엔드 지식이 거의 없는 제가 CRUD가 가능한 풀스택 개발을 해낼 정도니까요. 물론 깊게 파고들면 저도 아직 모르는 부분이 많습니다만, 그래도 최소한의 지식만 가지고도 기본적인 개발이 가능하다는 점은 상당한 장점이라고 생각합니다. CRUD 뿐 아니라 회원 관리 기능이나 웹 호스팅에 배포하는 작업도 쉬웠습니다. 커스텀 도메인을 등록할 수 있는데 등록하게 되면 자동으로 보안인증(SSL)도 추가됩니다. (카페24나 닷홈 같은 호스팅 업체를 이용하면 최소 월 1만원씩 지불하거나 3개월마다 수동으로 갱신해야 하는 번거로움이 있습니다)
파이어베이스의 단점
데이터베이스의 쿼리가 제한적입니다. 데이터를 여러 조건(날짜, 이름 등등)으로 세분화하기 위해 필요한 게 쿼리문인데 다른 데이터베이스에 비해 파이어베이스의 쿼리문은 매우 제한적이라 데이터 검색 기능이 상대적으로 매우 부족합니다. 속도 또한 직접 구현한 백엔드 서버에 비해 느립니다. auth를 이용한 회원관리 기능에도 의외의 단점이 존재하는데, 구글이 외국기업이라 그런지 한국에서 서비스하기에는 약간 맞지 않는 부분이 있습니다. 특히나 휴대폰 로그인의 경우 번호를 입력하면 문자인증을 해서 로그인을 진행하는 구조인데, 문자가 국외발송으로 전송이 되기 떄문에 요즘같은 시대에 스팸문자로 의심받기 쉽다는 점도 아쉬운 부분입니다.
단점이 뚜렷하긴 하지만, 그래도 저처럼 백엔드 지식이 부족한 개발자에게 파이어베이스는 가뭄의 단비같은 존재였다고 생각합니다. 그렇게 우여곡절 끝에 당초 기획했던 웹 서비스 개발에 성공하였고, 운 좋게(?) 몇몇 업체들이 연락처를 남기기도 하였습니다. 댚님께서 이 결과물이 마음에 드셨는지 또다른 웹 서비스를 기획하게 됩니다...
계속(?)