본문 바로가기

분류 전체보기

똑똑한 인재만 모아놓은 프로젝트 팀, 결국 산으로 가는 이유 학교에서나 회사에서나 피할 수 없는 것 중 하나가 ‘팀 프로젝트’입니다. 그런데 왜죠? 왜 꼭 자신이 속한 팀원들은 완벽하게 ‘열성’ 인자로 구성된 것일까요. 업무 능력이 안 좋은 사람, 비협조적인 사람, 협조는 잘하나 일 처리 속도가 느린 사람, 실체 없는 말만 많이 늘어놓는 사람 등 매번 이런 동료들과 팀 프로젝트를 진행하려니 억울하기도 합니다. 이럴 땐, 누구나 한 번쯤 두뇌 명석한 ‘인재’만 모아놓은 드림팀을 꿈꿉니다. 그런데 과연, ‘우성’ 인자로 구성된 똑똑한 인재만 모아놓은 팀이 성과 측면에서도 우월할까요? 살다 보면, 옛말 틀린 거 하나 없다고 느낄 때가 많습니다. 사공이 많으면 배가 산으로 가듯이, 자신만의 인사이트로 꽉 찬 명석한 두뇌들이 모이면 의견이 좁혀지기 쉽지 않습니다. 산으로 ..
조직, 프로젝트 구성원의 역할 조직, 프로젝트 구성원의 역할■CTO (Chief Technical Officer) 기술자의 경력의 최고봉, 기술의 달인, 관리X, 장기기술전략, 실행전략, 아키텍처, 구현, 인프라 구조 정립, 프로세스 등 기술적인 모든것에 책임. 미래 기술 동향을 잘 알고 있어야 함. 왕년에 코딩을 하는 것은 중요하지 않고 현재도 코딩을 할 수 있어야 함. 평가하고 결정하는 것은 엔지니어링 관리자의 일. 스스로 스펙문서도 작성할 수 있어야 함. ■프로젝트관리자, PM( Project Manager) 프로젝트의 모든 관리 업무를 책임. 외부 팀과 인터페이스를 담당하고 의견을 조율. - 프로젝트 성공에 대한 책임 - 프로젝트 팀 구성에 대한 권리와 책임 - 프로젝트의 업무 정의 - 프로젝트 리스크관리 - 프로젝트 일정관리..
데이터 전송 Ajax는 Asynchronous JavaScript And XML의 약어로 언어나 프레임 워크가 아닌 구현하는 방식을 의미합니다. 데이터를 이동하고 화면을 구성하는데 있어서 웹 화면을 갱신하지 않고 필요한 데이터를 서버로 보내고 가져오는 방법입니다. 화면 갱신이 없어서 사용자 입장에서는 매우 편리하고 빠르게 작업을 처리하는 것처럼 느끼게 합니다. 하지만, 동적으로 화면을 구성하는 만큼 개발자의 구현은 복잡해 집니다. 데이터 전송 Ajax는 앞서 말했 듯 서버와 클라이언트(사용자)간에 데이터를 이동하고 화면을 구성하는 구현 방식입니다. Ajax의 구현에 들어가기 앞서 Ajax에서의 데이터 전송은 어떤식으로 진행 되는 가에 대해서 살짝 살펴보고 가겠습니다. 그림 1 : 동기식 데이터 전송 위 그림1은 동기..
[ 개발자 업무 파악 ] SI와 SM의 차이와 하루일과 SM System Management(시스템 운영, 또는 유지보수)의 약자다. 예전에는 SM 이라고만 했는데 요새는 ITIL의 영향때문인지 해외에서 Information Technology Service Management(ITSM)과 일반 Service Management를 구분하여 사용한다. SI System Integration(시스템 구축)의 약자. 전산시스템을 필요로 하는 곳으로부터 하청을 받아, 시스템의 기획, 개발, 유지보수, 운영 등을 대신 해주는 업종이다. 아무래도 개인보다는 기업이나 관공서가 주된 고객이다. 고객의 요청에 따라 제안서를 작성하고, PM과 개발자를 투입하여 프로젝트를 수행한 뒤, 소요된 인건비와 솔루션의 단가 등을 수임료로 벌어들이는 형태의 산업이다. 따라서 도급 시스템과..
[ 개발자 업무 파악 ] Front-end 개발자와 Back-end 개발자 Front-end & Back-end 일반적으로 프런트엔드(front-end)와 백엔드(back-end)라는 용어는 프로세스의 처음과 마지막 단계를 가리킨다. ‘프런트엔드’는 사용자로부터 다양한 형태의 입력을 받아 ‘백엔드’가 사용할 수 있는 규격을 따라 처리할 책임을 진다. ‘프런트엔드’를 ‘백엔드’로 연결하는 것은 인터페이스의 일종이다. Front-end 개발자와 Back-end 개발자 Web developer 분류 Front-end : 사이트 이용자의 눈에 보이는 부분(HTML/CSS/JAVASCRIPT)을 개발 Back-end : 사이트 이용자의 눈에 보이지 않는 부분(서버코딩, 서버상에서 DB활용, API제작 등)을 개발 Full-stack : Front-end와 Ba..
디자인 패턴 MVC MVC( Model - View - Controller ) View : 화면단을 그려주는 Object를 말한다. 예를들어, JSP처럼 Runtime에 고객이 입력한 결과를 동적으로 표시해 주는 Presentation 을 담당하는 놈이다. Controller : View가 Model(Data공급원)을 직접호출 하게 되면 Model은 화면에 종속되는 형태로 개발되게 된다. 이것을 우리는 강한연결( Strong Coupling) 이라 한다. 이렇게 개발된 Model 개체는 다른곳에서 사용하기가 힘들다. 이를 해결하기 위해( 프로그램의 재활용성을 높이기 위해 ) 약한연결( Loose Coupling) 로 프로그램을 구성할 때 우리는 이 Controller를 만들어 구성하게 된다. => 화면단에서 사용자가 입력한..
디자인 패턴 : FACTORY METHOD Factory Method OOP 프로그램에서 Object의 생성/소멸을 어떻게 관리할지에 대해서 일반화 해놓은 패턴 중 하나이다. 특히, 객체생성을 직접하는 것이 아니라, 타 클래스에 위임을 통해 약한연결( Loose Coupling ) 을 구현 코드의 의존성을 줄인다. Sample 코드의 변환과정. 가정조건. 1) 10개의 Business Logic이 담겨있는 클래스가 있다고 가정하자. 2) 이 10개의 Class에서는 모두 Oracle DB와 DB Connection 문구가 들어있다. 3) 이 Oracle DB가 너무 비싸서 현재 위탁을 할지 MySQL로 전환될지 확실치 못하다. 4) 만약 MySQL로 전환된거나, 다른 DB로 전환 될 때 어떻게 해야 할까? 가) 절차적방식의 코딩. [HardCod..
List,Set,Map 어떤것을 사용해야 할까? List,Set,Map의 Class중 어떤것을 쓸것인지 판단할수 있도록 표로 정리해 보았다. 용어 List : 중복을 허용하고, index를 통한 접근을 한다. index가 부족하게 되면 메모리를 새로 할당하여 복사하여 구성하게 된다. Set : 집합(수학), 집합은 중복을 허용하지 않고 교집합/합집합/차집합등을 지원한다.(And(교집합), OR(합집합), XOR (Not Or)등을 지원함) Hash : Hash Function을 말하며 고유한 Key값(Unique Key)을 주면 고유한 값을 Return한다(중복안됨). Hash연산은 다방면으로 사용되어지고 있다. Linked : Array의 전/후의 값이 서로 Link[양방향연결고리]되어 있어 계속늘어날 수 있으나, 중간검색이 되지 않아 검색속도가 느..