3월, 2019의 게시물 표시

개발팀장이 되면서 겪게된 점들 1

이미지
                                                         <팀원을 모집하기 위해 고군분투하는 모습이다. > 첫 한달  개발팀장을 맡다 2021년 5월 , 기존에 있던 CTO분이 휴직(개인사)을 하게 되면서    개발에 대한 모든 권한을 내게 일임하였다.   개발에 대한 모든 의사결정을 전부 내게 맡긴 것으로 ,   어느 정도 규모가 있는 회사의 의사결정권한을 갖게 된 것은 그만큼 내게 큰 신뢰가 있었음을   알수 있게해주는 대목이었다. 그러나 전혀 예측하지 않았던 상황이기에 준비가 되어있지 않았던만큼 처음에는 삐걱거렸다. 가장 첫번째로 어려움을 겪었던 것은 업무의 배분이었다.   관리자가 되니까 해야할일은 업무를 만들고 또 그것을 팀원들에게 분배하고 잘 되고있는지 취합하고 관리감독을 하는것이었다.   군 시절 장교로 복무하면서 겪어봤던 일이긴 했지만, 군복무 당시에도 그닥 잘 하지는 않았던 것 같다.   그럼에도 어쨌든 전반적인 시스템을 이해하고 있었고, 어떻게 구현해야할지에 대해서는 어느정도 경험이 쌓여있었기때문에 큰 문제가 없을 줄 알았다.   실무자로 일을 할 때에도 항상 업무를 받아서 하지는 않았다. 스스로 돌이켜보건대, 나는 주어진 업무가 없으면 스스로 만들어서 제안하고 기획하여 업무를 진행했다.  조그마한 스타트업이었던 첫 회사에서부터  내가 할일은 내가 만들어서 곧 잘했다. 어떤 큰 방향만 정해져있다면 그건 큰 어려움은 아니었다. 나에게 일은 항상 있었다.   매니저가되면서 달라진게있다면 내가 할일만 만드는 것은 아니라는 점이다 . 남이 할 일도 만들어줘야했다.  다행히 팀원들에 대한 면담을 실시한 결과,(팀원을 맡게되자마자 했던 부분)   마이크로 매니징을 원하지는 않았기때문에 큰 그림을 그리는 정도만 준비하면 됐었다.   문제는 내 실무를 동시에 진행하면서 팀원들의 업무 방향도 설정해야했기때문에 시간이 배로 들게 되었다는 점이다. 물론 두배로 일하지는 않았다. 대신에 내 실무시간을 줄였고

Nest js를 소개 합니다.

이미지
어흥!  하품하고 있는 이 고양이 같은 마크를 본 적이 있으신가요? 웹 개발자인데 본 적이 없다면 한 번 읽어보고 가세요!  (특히 앵귤러 개발자라면 더더욱!!!) 이번에 소개해드릴 프레임워크는 nest js 입니다! # 1. Express js => Nest js 노드 개발자라면 대다수가 익스프레스를 사용해보셨을거라 조심스레 짐작해봅니다. 그만큼 커뮤니티도 크고 많이 사용하고 있고 레퍼런스도 많으니까요. 저 역시 익스프레스를 통해 개발을 했습니다.  제가 Node js를 선택한 이유 중 가장 큰 이유는 바로 프론트엔드와 같은 언어를 사용한다는 점이었습니다. 이미 거기서 큰 장점을 얻었기에 요 몇년간은 노드로 개발을 하면서 큰 불편함을 느끼지 못했습니다.  하지만 인간의 욕심은 끝이 없다고 하죠.  더 편하고, 더 잘 개발하기 위해서  익스프레스에 여러가지 짓거리를 하는데요.  제 블로그를 보시면 아시겠지만  저는 노드에 타입스크립트를 입히고,  데코레이터를 이용한 문법으로 의존주입을 관리하는 것까지 확장을 시켰습니다... 제 Node js 컨트롤러 코드 중 일부 입니다. 익스프레스 같나요? ㅋㅋㅋ Nest js는 익스프레스에 Angular 구조를 입힌 프레임워크로써 기존에 사용하던 익스프레스 미들웨어들을 모두 사용하실 수 있습니다.  # 2. Angular 잠깐 딴 길로 새서 프론트쪽으로 이야기를 해보죠. 저는 프론트 엔드에 Angular를 사용하고 있습니다.  지금은 6버전으로 개발중인데 9버전 소식까지 들리고 있으니... 넘나 빠른것. 저는 Angular를 2016년도 12월부터 접해서 쭈욱 사용하고 있는 개발자입니다.  뷰는 안해봤고 리액트는 잠깐 써봤는데 Angular가 훨씬 구조적으로 단조롭고 가독성이 좋아서 Angular만 쓰고 있습니다. 물론, 제 주관적인 입장입니다.  요 Angular를 배우던 당시에 자바 스프링을 배우고 있었습니다. 

비전공자를 위한 자바스크립트 메모리에 대하여!!!

이미지
자바스크립트를 사용하면서 메모리단에서의 동작 및 주의점에 대해 공부해 보았습니다. 일반적인 정적 언어와 달리 자바스크립트에서의 메모리 동작은 조금 다른 부분이 있어 궁금증을 가지고 구글링를 했습니다. 궁금한 대로 조사를 하다보니 순서가 조금은 뒤죽 박죽입니다. 틀린 부분이 있다면 언제든지 지적해주시기 바랍니다. 메모리? 프로그램이 동작하기 위해선 메모리가 필요하다. 재료를 손질하기 위한 도마가 필요하달까. 다수의 플립플롭 (flip-flop) 으로 구성된 메모리에는 바이트 단위로 데이터를 저장된다. 크게 코드영역, 데이터 영역, 콜스택 영역, 힙 영역 4가지로 나뉜다. 코드영역은 우리가 적은 코드가 적재되는 영역이다. 컴파일이 끝난 기계어로 들어간다고 한다. 데이터 영역은 전역 변수 static 변수들이 적재되는 곳이다. 프로그램이 끝날때까지 존재한다. 스택 영역은 지역변수, 매개 변수들이 저장이 되는데 함수 호출시 사용되고 끝나면 반환된다. 함수가 호출될때 그 메모리가 할당된다고 하여 콜 스택이라고 불리운다. 선입후출의 자료구조이다.  컴파일 시에 크기가 결정된다 힙 영역은 메모리가 동적으로 할당되는 곳이다. 런타임시에 크기가 결정된다고 한다. 자 하나하나 궁금증을 풀어나가본다. 스택과 힙의 방향이 저렇게 자라나는 이유는 ? 스택의 bottom 쪽에는 프로그램이 닿아서는 안되는 커널 영역의 메모리가 들어간다고 한다. 커널과 닿을 수 없는 방향에 두어야해서 그렇게 된다는 썰을 보았다. 또 힙과 스택이 서로 자라나는 방향이 마주보게된다면 공유 라이브러리 영역의 메모리를 참조하는 곳이 가까워져서 효율적이라고 한다. JS는 인터프리터언어잖아? 스택은 컴파일시에 그 크기가 결정된다고 하는데 , JS 스택 크기는 언제 결정되는 거야??? 크롬과 Node js에서 사용되는 V8 엔진을 통해 알아보았다. V8엔진은 JIT(Just In Time) 컴파일을 채택했다. 인터프리터와 정적 컴파일러의 중간단계라고 볼 수 있다