기술 스택

박정호·2022년 5월 8일
0
post-thumbnail

공부했던 개발 언어 및 프레임워크에 대해 로드맵을 한번 그려보려 합니다.

< Web >

  • 2021.08 HTML, CSS, JavaScript
  • 2021.09 NodeJS, expressJS, passport, MySQL, Sequelize
  • 2021.10 React, Bootstrap, socket.io
  • 2021.11 AWS EC2, RDS, Route53, Let's Encrypt

< BlockChain >

  • 2021.12 Linux(Ubuntu)
  • 2022.01 net, websocket, elliptic, merkle
  • 2022.02 Solidity, Truffle, Ganache
  • 2022.03 web3, openzeppelin, NextJS, React-Query, IPFS, AWS S3, IAM, MUI
  1. 기존 전공인 기계공학에서 개발자의 길로 넘어오면서 어떻게 공부해야 효율적이고, 경쟁력 있는 방법이 될지 고민하였습니다.

  2. C++, 파이썬 등의 언어로 기초 지식을 기르고 있었습니다. 블록체인에 대한 관심이 있고 블록체인 관련 업무를 하고 싶었으나, 우선 가장 대중적인 웹 개발의 전반적인 지식을 함양하는 것이 맞다 판단하였고, JavaScript 언어를 공부하게 되었습니다.

  3. 자바스크립트 런타임 환경인 NodeJS에 대해 공부하였습니다.

  4. 실제 서비스에서 Server의 중요성을 알게 되었고, 인기 라이브러리인 expressJS, passport 등의 authentication middleware, DBMS 및 ORM으로 MySQL과 Sequelize 라이브러리를 공부하였습니다.

  5. 프로젝트를 진행하면서 프론트엔드 프레임워크 등을 사용하게 되었습니다. React와 Bootstrap을 공부하였고, 실시간 채팅방 구현 등에서 소켓 통신을 처음 알게 되었습니다. 블록체인 관련하여 소켓 통신의 중요성을 개인적으로 더 깊이 생각하고 있었고 이에 대해서는 블로그 글을 링크합니다.

  6. API를 실질적으로 사용하게 된 코인 자산 관리 프로젝트가 있습니다. 업비트, 바이낸스 등에서 API를 가져왔고, 이를 수정하여 AWS 플랫폼에서 실제 배포를 진행하였습니다. RDS를 사용하였고, 실제 도메인을 구입 해 SSL 인증서(certbot)를 발급받아 보안 이슈를 공부했습니다.

  7. 여러 프로젝트를 진행하면서 느낀 점을 종합해 리눅스 계열 OS로 이전하는 것이 바람직하다고 생각하였고 Ubuntu 20.04로 환경을 변경하였습니다.

  8. 블록체인에 대해 공부를 시작하였습니다. 블록체인에 대한 개념을 충분히 공부하면서(BlockChain, P2P), 실제로 백엔드 로직을 구현함에 있어서 앞서 언급한 소켓 통신을 이용하자고 생각했고 자바스크립트 기본 모듈인 net과 event를 이용해 core한 코드를 작성했습니다.
    (사실 이 부분이 core 인지는 정확히 모르겠습니다)

  9. 웹 브라우저에서 net 모듈을 사용할 수 없음을 알게 되었고, WebSocket으로 이전했습니다. 여기에서 프로토콜의 개념을 다시 한번 숙지할 수 있었습니다.

  10. 기존의 공부했던 방대한 지식들을 정리할 필요성을 다시 한번 깨닫게 되었고, 정보처리기사 시험을 통해 키워드 정리를 하였습니다.

  11. 이더리움 네트워크 내에서 서비스를 진행하기 위해 Solidity, Truffle, Ganache 를 공부하였습니다.

  12. 실제 서비스를 목표로 기업협약 프로젝트를 진행하였고, ERC 베이스의 토큰을 만들고, 메서드를 개발하면서 web3.js와 연결시켰습니다. 프론트엔드에서 새로운 프레임워크인 NextJS(SSR), React-Query(Server Data Fetching). 파일 관리로 AWS S3를 이용하였고, 기존의 경험을 통해 권한 및 정책의 중요성을 알게 되어 IAM을 이용하여 보안 관리를 하였습니다.

  • 타입스크립트의 필요성을 알게되어 현재 자바스크립트에서 타입스크립트로 이전 중입니다.
profile
개발하기

0개의 댓글