타입스크립트로 이사하기

박정호·2022년 5월 7일
0

블록체인을 공부하다 보면 사고실험이 한 가지 등장한다.

비잔틴 장군 문제

https://namu.wiki/w/%EB%B9%84%EC%9E%94%ED%8B%B0%EC%9B%80%20%EC%9E%A5%EA%B5%B0%20%EB%AC%B8%EC%A0%9C

쉽게 말해 악의를 가진 이가 나에게 접근해 온다면 당신은 이 사람을 가려낼수 있는가? 에 대한 사고 실험이다.
흥미가 있는 주제라면 검색을 한 번 해보는 것을 추천한다. (블로그에 이 주제에 대한 글이 올라올수도?)

서론은 여기까지 하고,
자의든 타의든, 유튜브, 블로그, 서적들을 통해 타입스크립트의 필요성은 계속 느끼고 있었다.
이를 한번 풀어 내보려 한다.

1. 비잔틴 이슈를 가져온 이유다. 협업을 진행하면서 나는 타인의 의도를 정확히 판단하고 이에 대한 적절한 대처를 지속적으로 해줄 수 있을까에 대한 고민이다.

여러 프로젝트를 진행하면서 새로운 팀원들을 만나고, 작업 중 이들의 코드를 보면서 내가 몰랐던 부분을 캐치하고 학습하는 것은 긍정적이나, 이 일이 생각보다 많은 에너지가 소요되는 일이었음은 부정할 수 없다.
이것은, 내 코드를 보는 팀원에게도 해당 되는 일이었을 것이다.

현재 사용하고 있는 Javascript 언어로 바로 실제 서비스할 정도의 완성도를 갖기란 현재의 나에게는 불가하다고 판단했다.
때문에, 같이 일하면 긍정적인 결과가 만들어질 사람이라는 임팩트를 주어아겠다로 준비 방향을 약간 선회했고,
동시에 처음 밑돌을 잘 자리시켜야겠다는 마음으로 타입스크립트로 이사를 하기로 하였다.
앞서 말한 불가하다고 생각했던 이유를 포함해 2번에서 자세히 풀어보려 한다.

2. 안 좋은 습관들이 고착화가 될까 두려웠다.

이유를 먼저 풀어보면 한 기능을 구현하면서 다양한 로직들을 생각해볼 수 있었고, 이 중 어떠한 방법이 가장 적합한 방법일까를 생각하고 각자대로 구현해보는 과정에서 아직 실력의 부재를 많이 느끼다 보니 코드의 규칙들이 자주 깨지고 Dirty한 코드들이 많이 나왔다.

처음에는 이를, 완벽히 해내보려는 방향을 잡았으나, 시간적으로도 기술적으로도 한계점이 있음을 알았고, 또한 이는 앞으로 회사에 들어가 사이클(cycle)에 합류해 주어진 업무를 진행하면서 배우는 것이 더 효율적이라고 판단을 했다.

내가 구현했던 코드를 하나 보며 내용을 구체화 시켜 본다.
(수정 중)

3. 솔리디티(Solidity)가 타입(Type)에 친화적이다.

스마트 컨트랙트를 개발하면서 약간은 부족한 지식을 체감했는데, 타입스크립트를 러프하게 살펴보면서 공통점을 많이 찾고 배울 점이 많다고 판단했기에 타입스크립트 공부를 시작하였다.

기존의 프로젝트들을 타입스크립트로 변환하는 과정에서 코드들을 다시 한번 수정 및 정리를 진행하고 있다.
타입스크립트가 조금 익숙해진 뒤에는 타입스크립트 설명에 대한 글을 작성해 볼까 생각 중이다.

profile
개발하기

0개의 댓글