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

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

[Angular2 with TypeScript] 4. Directive,Component,Service




이번 포스트에서는 Directive,Component,Service(이하 지시자, 컴포넌트, 서비스) 3가지를 한번에 묶어서 소개하도록 하겠다.

공부를 하면서 이 3가지는 굉장히 닮아있다고 생각을 했기 때문이다. 






1. 지시자, 컴포넌트, 서비스 

먼저 다음 코드들을 살펴 본다.
내용은 무시하고 구성이 어떻게 되어있는지를 쭈욱 살펴보자.


 @Component 장식자를 보면 알 수 있듯이 컴포넌트이다.
구성된 것을 보면 @Component 장식자안에 관련 메타데이터들을 넣고 아래쪽에 클래스를 가지고 있다.




이것은 지시자이다. 7번째줄을 보면 메타데이터에는 selector 속성만 있다.



클래스 이름이 떡하니 서비스이다. 이것은 서비스이다. 



3가지 요소들은 어떤점이 닮아있고, 어떤 점이 다를까?
먼저 이 3가지는 클래스를 가지고 있다는 것이 닮았다. 아래쪽에 보면 export 로 시작해서 class가 있음을 알수있다. 하나의 클래스로 정의가 되기때문에 멤버를 가질 수 있고, 로직을 포함할 수 있다. 

컴포넌트와 지시자에는 있고 서비스에는 없는 것이 있다. 무엇일까?
바로 selector 이다. selector로 지정된 이름은 실제 view를 담당하고 있는 곳에 적용되는 이름이다. 

<custom/> 과 같이 태그형태로 나타낼수도있고, <element [directive] /> 와 같이 속성값으로도 들어 갈 수가 있다. 서비스는 selector를 지니고 있지 않다. view에 직접 표시될 길이 없고 단순히 로직만을 가지고 있다는 것을 알 수 있다.


컴포넌트만 가지고있고, 서비스와 지시자에서는 볼수 없는 것들이 있다. 
template, style 등 이다.  앞서 컴포넌트와 지시자가 뷰에 관여한다고 이야기를 했는데, 더 면밀히 말하면 화면에 그려지는 것을 할 수 있는건 컴포넌트 뿐이다. 


정리를 해보자.

-서비스는 단순히 로직만을 지니고 있다. 데이터를 가지고 지지고 볶고 할 수 있는 기능만을 가지고 있는,     우리가 일반적으로 알고 있는 객체로 보면 된다. 

-지시자는 로직도 지닐 수 있으며, 뷰에도 관여할수 있다. 그러나 화면 상에 그려질 수는 없고 template에 직접 관여를 할 수 있다는 점이 서비스와 다른 점이다. 



이런 식으로 keyMap이라는 지시지가 직접 태그에 부여 될 수 있다. 그러나 실질적으로 그려지는 것은 할수가 없다. 

-컴포넌트는 로직도 지닐 수 있으면서 화면을 담당한다. 하나의 컴포넌트는 css와 html 을 가질 수 있다. 


Angular의 컴포넌트는 W3C 표준인 웹 컴포넌트 기술을 기반으로 한다고 한다. 

http://html5rocksko.blogspot.kr/2014/02/mashup-web-component-evolution-of-web-development.html

이곳에 굉장히 설명이 잘 되어있고, 구글링을 하면 많은 정보들이 있으니 참고해볼만 하다.
Angular를 이해하려면 먼저 웹 컴포넌트 기술을 잘 알고 있어야 한다.





댓글

이 블로그의 인기 게시물

iframe 보안 문제 우회 및 해결법 1

iframe 보안 문제 우회 및 해결법 2

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