이번 넹매추라는 프로젝트를 코틀린으로 한 달동안 구현을 해보며 느낀 부분들을 정리해보았다.
코틀린에 대한 지식적인 부분이라기보단, 경험적으로 정리하는 글이라는 점을 알아두면 좋을 것 같다.
하와와...너무 무서운 거시에요!
처음에 내가 코틀린이라는 것을 이야기들었을 때 이런 생각이 들었다.
당시의 나는 NestJS, 자바 스프링만을 써본 상황이었다.
자바 스프링 독학과 네이버 부스트캠프에서 곰터뷰를 만들어보며 NestJS를 공부했었다.
이런 나에게 같이 프로그래밍 공부를 시작했던 동기(그 친구는 우아한 테크코스에 있었다)가 말해준 것이,
우리 취업하면 코틀린 써야할껄?
이었다
진짜 개무서웠다.
여기에서 새로운 것을 또 공부해서 써야한다고?
내가 공부한 것들도 완벽까지는 아닐것이다, 분명 더 깊은 무언가가 있을 것이다 라는 생각으로 살고있는데,
새로운 것도 공부하면 더 깊어질 것 같아 무서웠다.
일단 맞아보자!!
근데 그렇게 겁을 먹으니 궁금하긴 했다.
내가 뭔데 쫄을 쳤을까?
도대체 어떻게 생긴 놈이길래?
그래서 냉메추라는 프로젝트에 대한 인트로에서 이야기했듯,
코틀린으로 프로젝트를 만들어보기 시작했다.
Kotest
라는 것도 다시 써봐야했고, 스프링이 안본새에 Swagger
대신에 Spring Docs
라는 라이브러리로 RestDocs
라는게 추가되어있었다.
마치 대학교 새내기가 첫 학기에 풀전공을 때린것처럼
해야할 과제가 산더미처럼 떨어지는 기분이었다.
생각보다 할만하다...?
일단 다시 한번 이야기하지만, 나는 NestJS
를 써본 사람이다.
그런 나의 입장에서 코틀린은 매우 익숙한 냄새가 났다.
함수의 리턴 타입을 뒤에 :
를 찍고 넣어야 하는 것 부터,
모든 것들이 늘 먹던 맛이라는 생각이 들었다.
생성자도 public ${클래스명}()
에서 constructor()
로 바뀐 것이, 아주 타입스크립트를 쓰는 맛이 났다.
그래서 너무 좋기도 했다.
내가 새롭게 써본 것은 이 사진 하나로 처리되는 기분이었다.
클래스명 바로 뒤에 인스턴스들을 괄호안에 넣어 생성자까지 만들어주는 이러한 꿀같은 놈과 var, val이었다
(근데 val, var도 마치 let, const와 같은 것이어서 어렵지 않았다)
(아 open도 있었다)
해봐야 찍먹 아니냐, 너가 코틀린을 공부 안해봐서 그래.
찍먹으로 보일 수 있다.
그래도 간단한 토이프로젝트를 만들고
시작하는 정도로는 부족하지 않다고 생각한다.
또한, 코틀린은 코틀린만의 매력이 있다고 생각한다.
Null-safety
가 너무 머리아프지 않냐고 이야기하는 사람도 있었지만,
오히려 타입스크립트에서 물음표와 이를 위한 validation 로직으로 점칠된
나의 지난, 그리고 앞으로의 곰터뷰 라이프가 있기에 그렇게 어렵지 않았다.
그래서 사 먹어 말아
나는 한번 경험삼아 써보는 것도 좋다고 생각한다.
생각보다 코틀린이라는 친구가 그렇게 무섭지 않다는 것,
그리고 많은 백엔드 학생, 개발자들이 다 써봤다는 스프링에서 약간의 언어차이(?)만 존재하니까 부담도 없다.
인프런에 호돌맨의 요절복통 개발쇼라는 강의가 있다.
거기에 보면, 그냥 안써본거 써보면서 공부해보라는 이야기도 있다.
내 주변에 개발을 공부하는, 공부하려는 사람들이 종종 물어보는 질문중에,
개발이 생각보다 되게 공부할게 많은데 언제 다 공부하고 개발하냐
라는 이야기였다.
다 공부하고 시작하지 않았으면 좋겠다는 생각이 든다.
몇 사람들이 김영한님 강의를 JPA까지 들었다, QueryDSL까지 들었다. 등의 이야기를 하는데
개발도 크게보면 공학이다.
공학과 기술은 필요에 따라 발전한다.
우리도 필요에 따라 우리를 발전시키면 되지 않을까?
어떤 상황에서는 어떤 문제가 있으니 이걸 공부해보고,
이런식이라고 생각한다.
너무 어렵게 다가가지 말자.
그럼...twenty thousand...🔥