전역전 회고록

MilkyMilky·2023년 8월 27일
0
post-thumbnail

내가 그동안 군대에서 해왔던 것들 (22년 2월~23년 8월)

목표

  • 개발자로서 풀스택 - 프론트 - 백엔드의 진로중에서 확실하게 하나를 정하기
  • NodeJS와 Go 언어 깊게 파보기
  • 토이 프로젝트 해보기
  • 흥미가 보이는건 일단 공부 하고 보기

군대에서의 2년은 개발자로서 참 난감한 시간이였던 것 같다. 특히 웹 개발자로서 사지방 컴퓨터의 환경은 너무나도 제약적이였고, 프론트 - 백엔드 공부를 하면서 로컬환경에서는 되는것이 여기서는 안되는 경우도 비일비재 했다.

그것만 문제였다면 다행이였겠지만, 1년 7개월동안의 시간동안 여러가지 사건들이 많았었다. 특히 중간에 책임져야 할게 많은 보직으로 잠시 이동하면서 스트레스를 많이 받았던지라 결국 2023년 4월쯤에 번아웃이 와 스스로 쉬는 시간을 가져야 했다.

그래도 번아웃이 오기 전까지는 매일매일 앉아서 꾸준히 공부했던 것 같다. 원체 호기심이 많은 성격이라 이것저것 건들여보면서 많은 경험을 쌓았다.

개발환경

NCP(Naver Cloud Platform)에 클라우드 서버를 올려 code-server를 이용해 개발을 약 1년동안 했었다. 첫 휴가때 nginx도 설정해주고, Let's encrypt로 인증서도 발급받고 여러가지 난리를 치면서 결국 개발환경 세팅에 성공할 수 있었다.

하지만 여기에 치명적인 단점이 있었는데...

1. 서버비용
인상전 일병-상병 월급 기준으로 꽤 만만치 않은 비용이 나왔었다. 게다가 나는 핸드폰비까지 내가 내고 있었으므로 수중에 남는 돈이 많이 없어진다는게 문제였다.

2. 자잘한 버그들, 서버 터짐
code-server가 업데이트를 거치면서 이전에 지원하던 기능(폰트, extension 등)을 지원하지 않는 경우도 더러 있었고, 간혹 종종 이상한 이유로 서버에 오류가 생기는 경우도 있었다. 사지방에서는 절대 ssh 접속이 안되므로 서버에 문제가 생기면 휴가때까지 기다려야만 했다...

그 이외에 뭐 인증서를 주기적으로 갱신해줘야 한다거나, CORS에서 자주 문제가 터진다거나, nginx에서 POST메소드를 허용해주지 않아서 고생한다거나... 이런 자잘한 귀찮음들이 산재해있었다.

여러 문제들이 크게 발목을 잡아 결국에는 구름ide에서 지원하는 code-server로 넘어가야만 했다. 기존에 내가 쓰던 환경보다는 제약이 많았지만 비용이 크게 준 것만으로도 만족해야지 뭐...

백엔드

1.Go 언어와 사랑에 빠지다

그동안 백엔드 공부는 NodeJS로만 하고 있었는데, 어느날 유튜브에서 Go 언어를 영업하는 영상을 보고 오~~ 싶었다. 마침 마이크로서비스 아키텍처에도 관심이 많았는데 Go 언어가 그 분야에서는 대세라는 점, 문법도 간결하다는점, 발로란트 서버가 Go 언어로 짜여져있다는 인터뷰를 보고 마음이 동했던점... 등등이 마음을 사로 잡았다.

그래서 작년 가을부터 Go 언어를 깊게 파보기 시작했다. 처음에는 Udemy에서 Go언어 강의를 보면서 문법과 특징들을 손으로 익히기 위해 프로그래머스의 코테문제들을 풀었다.

나름 스스로 Go 언어와 친숙해지기 위해 예전에 풀어봤던 문제를 Go 식으로 다시 짜보는것도 해보
았다.

Go Linked List


Goroutine과 Channel을 공부해보려고 Git의 레포지토리를 csv로 긁어오는 웹 스크래퍼도 만들어보았다. 나름 SRP(단일책임 원칙)을 고수하려고 노력했던 흔적이 보인다..

Go Scrapper


Go 언어로 그동안 했던 가장 큰 프로젝트는 블로그 백엔드를 카피해보는 토이프로젝트 였다. 이 프로젝트는 ent라는 ORM을 사용하고, 서버에 Gin 백엔드 프레임워크를, 핫 리로딩으로 Air 라는 라이브러리 총 세가지를 섞어 만들었다.

사실 Go 라이브러리들은 정보가 정말정말정말정말 많지 않다. 이 말인 즉슨 에러가 생겨도 구글링해도 정보가 나오지 않는다는 것이다. 그래서 더더욱 공식문서를 깊게 뜯으면서 어떻게든 구현해야만 했고 결국 실행되는 결과물을 보며 기쁨의 눈물을 흘렸던 기억이 난다...

Go 블로그 백엔드 프로젝트


그리고 Go 언어로 처음으로 TDD(Test Driven Development)를 시도해보기도 했다. Go의 기본 test 라이브러리는 매우매우 잘 구성되어 있기 때문에 testing에 대한 기본적인 전략을 쉽게 공부해볼 수 있었다.

Go CLI Application


마이크로서비스간의 통신을 배워보고 싶어서 gRPC로 간단하게 CRUD API도 만들어보았다.

gRPC with Golang

2. NodeJS, Django

NodeJS는 입대 전부터 공부 해왔어서 이미 많이 친숙한 상태였다. 하지만 좀 더 깊게 파보고 싶다는 생각에 Prisma 같은 ORM이나 NestJS를 틈틈히 공부해서 NodeJS의 백엔드 생태계와 많이 친해지게 된 것 같다.

특히 Javascript에서 Typescript로 완전히 전향하면서 좀 더 Type-safe한 코드를 짜는 법을 알게 되었고, Typescript의 여러 장점들 때문에 다시는 Vanila javascript로 돌아가지 못할것 같다는 생각이 많이 들었다.
RefurbShop Backend(Prisma, GraphQL)

NestJS Simple CRUD


나는 사실 이전에 Python을 다뤄왔었기 때문에 자연스럽게 백엔드를 공부하면서 Python의 백엔드 라이브러리들에도 관심이 가게 된 것 같다. Django는 특히 워낙 유명하기 때문에 한번쯤 배워보고 싶다는 생각이 들었었다. 아쉽게도 Django로 프로젝트는 못해봤지만, 나중에 기회가 된다면 꼭 토이프로젝트도 만들어보고 싶다.

Airbnb Clone /w Django

프론트

전역 이전에 나는 이미 어느정도 React를 다룰줄 알고 있던 상태였다. 그래서 심화적으로 들어가 Typescript, Recoil(state management), Next.js, tailwind css등을 중점적으로 공부했었다.

React To Do List
데모페이지
State 관리, ref, typescript를 중점으로 공부하며 프로젝트를 만들었다.

Vue는 그냥 나중에 써먹어 볼 일이 있지 않을까 싶어서 잠깐 공부했다.
Vue component practice

그 외 잡다하게 공부한것

Kotlin
Spring은 하고싶은데 Java가 하기 싫어서 잠깐 공부했었다...

Elixir
엘릭서는 배우는 내내 엄청 재밌었다!!!
국내에서 처음으로 엘릭서 서적이 출판됐다고 하길래 호기심에 자기개발비로 구매했었다. 함수형 프로그래밍이 조금 궁금하기도 했었고, Phoenix framework 라는것이 있길래 함수형 프로그래밍으로 짜는 백엔드는 어떤 느낌일까 많이 궁금했었다.

책을 깊게 파보니 흥미가 많이 생겼었다. 우선 기본적으로 반복문이 아닌 재귀형으로 로직을 생각해야 한다는게 흥미로웠고, Pattern matching이란 개념으로 간결하고 쉬운 코드를 짤 수 있다는게 너무 재밌었다.

단순히 개인적인 흥미에서 시작했는데 엘릭서에서 꽤 많은걸 얻었던것 같아서 뿌듯했다.

개발 이외에 했던것

독서


당직때는 코딩을 못하니까... 책이라도 열심히 읽었다! 그리고 자기개발비야 고맙다 ^^~~

일기, 글쓰기

작년 가을때쯤 매우매우 안좋은 일을 겪으면서 마음의 상처를 많이 입었었고, 어떻게든 감정을 해소하고자 생각날때마다 꾸준히 일기를 써왔었다. 내가 그때 당시에 어떤 생각을 했었는지, 내가 그때 어떤 감정을 겪었었는지 되돌아 볼 수 있는 계기가 되는것 같아서 스스로도 마음 정리가 되었었다.앞으로도 멈추지 않고 쓰려고 한다.


원래 고등학교때 문창과에 가고 싶어서 꾸준히 영화글을 써왔었는데, 대학교 이후로 많이 바빠지게 되면서 한동안 놓고 있었다. 그러다 어느날 외출나가서 [스즈메의 문단속]을 보고 많은 영감을 받았다. 다시 글 써보고 싶다는 생각, 창작욕 덕택에 다시 글을 써보기로 결심했다.


브런치 링크

전역 일주일 전

사실 말년 휴가때 프로그래머스 데브코스 백엔드 과정에 지원했다. 2주내내 자소서 첨삭하고 코테 준비하느라 휴가가 아니라 고3때로 돌아간 것 같았다... (집-스터디카페 반복)

Java로 프로젝트를 해본 경험은 없어서 지원해도 붙을 수 있을까 내심 고심을 많이 했었는데 다행히도 1차전형에 뽑혀서 지금은 면접을 준비하고 있다.

면접을 준비하면서 문득 나는 1년 7개월동안 무슨 일을 해왔을까 궁금해졌고, 이렇게 정리를 해보니 그래도 많은걸 해왔던 것 같아서 내심 뿌듯한 마음도 든다.

후련하기도 하고 아쉬운 마음도 많이 드는데 사회에 나가서는 더 열심히 살아야징.

profile
BE Developer

0개의 댓글