글

라벨이 스프링인 게시물 표시

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

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

스프링 기술에 대한 정리

수업 내용들을 들으면서 메모 했던 것을 정리한다. 스프링이라는 프레임워크는 하나의 함수이고 도구라고 생각한다. 왜 도구인가? 개발자들이 귀찮은 작업들을 하지 않고 개발에만 신경쓸 수 있도록 도와주기 때문이다. 왜 함수인가? 우리가 원하는 값을 요청하면 스스로 뚝딱뚝딱 원하는 값을 주는 모양새이기 때문이다. 먼저  발전이 어떻게 이루어졌는지 이해하는 과정을 적어보려고한다. 스프링으로의 발전 역사를 탐구하면서 이해해보도록 하자. 미리 알아야 할것은 다음 시간적 흐름에 등장하는 개발자들은 굉장히 귀차니즘이 팽배한 인간들임을 알리고 시작한다. 버전 1.1 처음 개발자들이 개발할때에는 의존이라는 개념이 없었다. 다형성 조차도 생각을 못했을 때이다. 의존이고 뭐고 다 내려놓고 생각해보자. 어떤 객체가 다른 객체를 쓰려고 한다 그러려면 사용하고자 하는 대상을 new 연산자을 통해 만들어야 했다. 예를 들어 Car 라는 객체가 있고, 이 객체는 타이어라는 객체를 의존하고 있다고 생각해보자. 버전 1에서는 Car 객체가 타이어 객체를 직접 new를 통해 생성해서 끼워주어야 했다. ex) class Car {  HankookTire tire= new HankookTire();  roll(HankookTire tire){}; // 차의 메소드, 한국 타이어를 매개변수로 한다     } 버전 1.2 그렇게 개발을 하다보니 타이어라는 객체가 한국타이어도 있고, 금호 타이어도 있는데 매번 다른 타이어를 끼우려고 하니 문제가 생겼다. 매번 직접 Car 객체로 가서 타이어에 대한 부분을 죄다 수정해주어야 했다. 이는 인터페이스를 통한 다형성 개념을 통해 해결되었다. ex) class Car {  //HankookTire tire= new HankookTire(); 매번 주석처리 하기도 불편하니.... GumhoTire tire = new GumhoTi...