본문 바로가기
💬 Smalltalk

2024-W03 : 코틀린을 학습했던 방법

by iirin 2024. 1. 18.

 

이번 주까지 한 것

  • 첫 출근을 하였습니다. 간만에 낯선 환경으로 들어간 것이라 꽤 긴장해서 첫주차는 퇴근하자마자 많이 잤던 것 같아요.
  • 신입 개발자로서 온보딩 과정을 시작하였습니다. 새로운 기술을 배우느라 일주일의 대다수 시간을 투자하게 되었습니다.
    • 코틀린과 spring webFlux을 비롯한 새로운 프레임워크와 테스트 툴 등을 학습했습니다.
  • 생활 면에서는 업무 시간을 중심으로 새롭게 루틴을 짜기 위해 노력하고 있습니다.

 


What I Leanred

내가 코틀린을 배웠던 방법

새로운 언어를 학습하게 되었습니다.

코딩테스트나 그냥 책 예제를 따라하는 것이 아니라 프로젝트에서 쓰기위한 언어를 학습하는 것은 처음이라 초반에 어떻게 학습을 할 지 막막했었는데요.

이번에 코틀린을 배우기 시작하면서 일종의 배우는 노하우가 생겼습니다.

기록겸 누군가 도움이 될 수 있으니 가볍게 적어둡니다.

 

1. 공식 튜토리얼을 따라합니다.

사실 자바는 공식문서가 약한 편이지만, 다른 언어들은 공식문서가 참 잘되어있습니다. 튜토리얼을 따라하며 가장 기본적인 문법을 익혔습니다. 이 때 중간에 궁금한 것들이 생기면 바로 공식문서 내에서 찾아볼 수 있어서 좋았습니다.

example을 쭉보며 문법을 눈에 익히고, concept를 이해하는 것도 추천합니다.

 

 

Welcome to our tour of Kotlin! | Kotlin

 

kotlinlang.org

 

 

2. POCO 프로젝트를 작게 만들어봅니다.

다른 프레임워크를 사용하지 않은 프로젝트를 만들어봅니다.

예를 들면 로또게임 이라든지, 야구게임, 사다리게임 같은 것들이요.

 

이것을 해당 언어로 돌아가게만 만들어 보는 것입니다.

이 때 앞에서 배웠던 기본 문법들을 조합해서 쓰는 방법을 많이 익혔습니다.

 

3. 간단한 프로젝트를 마이그레이션 해봅니다.

큰 아이디어가 필요없는 게시판 글쓰기, 회원가입과 로그인 같은 간단한 프로젝트를 마이그레이션 해보며 언어와 프레임워크에 익숙해집니다. 이 언어가 두 번째 언어라면 이미 어떤 것이 필요한지 알고 있을 겁니다. 그걸 공식문서에서 찾거나 구글링하면서 채워나가는 겁니다.

이렇게 찾는 도중에 기존 언어와 차이점을 많이 학습하게 되었습니다.

 

저는 여기 중간에 멈추고 회사 온보딩 과정을 따르게 되었습니다만, 만약 더 학습할 시간이 주어진다면 조금 더 큰 규모의 토이 프로젝트를 해볼 것 같아요.

 

배우면서 느낀점

개발 공부를 시작한 이래로 계속 자바 스프링 환경에서만 개발을 해보았는데요.

사실 특별한 의지가 있었던 것은 아니고, 그것이 비전공자로서 가장 접근하기 쉬운 경로였기 때문입니다. 늘 선택권이 없이 시작했다는 아쉬움이 있었는데 이제 내가 필요에 의해 배우고 선택할 수 있다는 자신감이 조금 붙기 시작했어요.

 

특히 자바와 매우 흡사하지만 실용성과 안정성을 더 살린 코틀린을 학습하게 되며 오히려 자바를 더 이해하게 되더라고요. 어떤 부분에서 자바가 불안정한지, 어떤 부분에서 비효율적이라 이걸 어떤 방식으로 보완해왔는지. 그리고 그것이 코틀린에서는 어떻게 보완하려고 했는지. 공통적으로 유지하고 싶어했던 철학과 장점은 무엇인지 등등.

 

낯선 자극만큼이나 얻는 것들도 많았습니다. 새로운 것을 배우는 데 주저하지 말고 오히려 더 적극적으로 기회가 있다면 나서자는 생각이 더 들었습니다.

 

동료분께서 이런 글을 공유해주셨는데요. 제가 느꼈던 바와 비슷해 공감이 많이 가서 공유합니다.

 

내가 끊임없이 새로운 것을 배우는 이유

시작하기 전에, 이 글은 내가 배웠던 언어들에 대한 소개를 하려는 목적으로 쓰인 것이 아니다. 혹은 어떤 방법론에 대해서 설교하고자 쓰인 글은 더더욱 아니다. 이 글은 그저 호기심이 많은 주

milkymilky0116.github.io



 


다음 주에 할 것