목록IT (227)
잡동사니
이번 하이마트 G-CRM 서비스(Spring기반)를 개발하면서 가장 아쉬운 부분이 유지보수의 용이성입니다. 그 동안 개발을 하면서 느낀거지만 DB중심의 서비스 구조를 가져다면 개발이 직관적이라 편해서 초기 구축의 생산성이 높아지는 장점이 있는 반면 실제 서비스단의 설계는 고려되지 않아 서비스의 규모가 커지거나 유지보수시 생산성이 떨어지는 단점이 있습니다. 물론 서비스단의 설계를 하면 되지만 프로젝트의 비용과 시간과 스스로의 능력 부족으로 설계하여 수행하기가 버겁다는것을 느낍니다. 이번에 문득 유지보수가 용이한 웹 어플리케이션의 설계는 어떤식으로 하면 좋을지에 대해 생각하면서 공통코드를 관리방법에 대해 정리한 부분을 남깁니다. 유지보수가 용이한 웹 어플이케이션의 가장 중요한 항목은 종속성의 제거라고 ..
개발 방법론 애자일 (Agile) 스크럼 (Scrum) 짧을 주기를 반복적으로 수행하면서 프로토타입을 진화시키는 방식 수립된 일정은 지키되 작업량은 언제든 변경 될 수 있다고 가정팀원들이 전력을 다하는 상황에서도 목표를 달성하지 못할때는 우선순위가 낮은 작업을 일정에서 과감하게 제외역할 제품 책임자 : 제품 백로그 관리 스크럼 마스터 : 스크럼 팀의 업무를 방해하는 요소를 제거 스크럼 팀 : 스트린트 기간 동안 구현해야할 기능을 사용자 스토리로 도출 및 구현 미팅 일일 스크럼 : 매일 진행하는 15분간의 프로젝트 진행 상황을 공유하는 회의하면서 각자 , , 에 대해서 이야기스프린트 계획 : 각 스프린트에 대한 목표를 세우고 제품 백로그로부터 스프린트에서 진행할 항목을 선택하고 각 항목에 대한 담당자를 배..
웹 서비스를 만들다보면 현재 내 문서에 다른 문서들을 삽입하고 싶은 경우가 있을 것입니다.가령 다른 서비스 페이지를 호출한다든가, 유투브 영상을 삽입한는것들 입니다. 이럴 경우 사용할 수 있는 HTML 태그가 iframe 입니다. iframe은 하나의 독립적인 Document를 생성하게 되므로 iframe을 호출한 Document와는 완전 별개의 서비스로 동작하게 됩니다.따라서 개발시 페이지를 구성할때 iframe상에 컨텐츠를 올려서 구성하게 될 경우에 유지보수측면에서 상당한 비용이 들것라고 예상됩니다.예를들어 각 iframe 페이지마다 리소스를 다시 로드해야하는데 운영중 발생한 문제를 해결하고 이를 페이지에 반영하기 위해선다시 각 iframe 페이지에 적용을 해줘야하기 때문입니다. 따라서 개인적으로 많..
AngularJS에서 Directive와 Controller를 활용하여 객체화하며 사용하던 중동일한 성격의 태그인데 동작이 조금씩 다른 태그가 필요한 문제가 발생했습니다. 이럴경우라면 공통 함수를 Root단으로 묶고 함수를 오버라이드해서 사용할 수 있도록상속이라는 개념을 이용하면 유용할거 같아서 구글링을 하던 중 유익한 자료를 발견하여 공유하려고 합니다. 기본적으로 Angular에서는 scope라는 개념을 사용합니다.scope란 컨트롤러가 영향을 주는 영역을 의미하는데컨트롤러를 등록한 돔을 기준으로 모든 자식 Element들은 해당 scope의 영역내에 존재하게 됩니다.따라서 1번 컨트롤러 하위에 1-1번 컨트롤러를 등록하면 1-1번 컨트롤러는 1번 컨트롤러의 scope에 있는 변수나 함수를 사용할 수 ..
1. 포트 및 PID 확인 (80포트를 예로 함)netstat -ano | find "LISTENING" | find "80"(의미 :: 네트워트에서 열린 포트중에 80이 포함된 것들을 찾는다.)[결과 화면] 2. PID를 가진 프로세스 확인tasklist /FI "PID eq 3792"(의미 :: PID가 3792인 프로세스를 확인한다.)[결과 화면] 3. PID를 가진 프로세스 죽이기taskkill /F /PID 3792(의미 :: PID가 3792인 프로세스를 죽인다.)[결과 화면] 1-1.해당 포트를 사용하는 프로세스를 직접 확인하는 방법C:\> for /f "tokens=5" %p in (' netstat -ano ^| find "LISTENING" ^| find "80" ') do taskli..
내가 경험했던바에 따르면 한 프로젝트에 다수의 개발자가 특정한 개발 규칙없이 개발을 하면개발자마다 코딩 스타일이 다르다보니 유지보수시 소스 분석시간이 길어지고기능간 종속성을 알 수없어 잠재적인 버그의 위험성이 커지고개발자마다 동일한 혹은 비슷한 기능 개발을 위해 매 프로젝트마다 반복 코딩해야하는 비효율성이 있다고 생각됩니다. 이를 해결하고자 스크립트 프레임워크를 조사한 결과 최근 JS단에서 AngularJS의 반응이 좋은것 같아 이를 소개하고자 합니다. AngularJS란?MIT 라이센스에 기반한 오픈소스 프로젝트로웹 서비스를 SPAs(Single Page Applications)이라는 개념으로 접근하여기존 개발 방법중에서 HTML의 변경을 위해 돔을 직접 컨트롤하는 방법에서 벗어나HTML을 확장하여 사..
통일부에서 제공하는 북한정보포털의 지도 페이지입니다. 국가에서 보유하고 있는 북한에 대한 자료를 민간인에서 제공하고자 만든 서비스로써딱딱한 보고서 형식의 자료 제공에서 벋어나서 현황이나 시설물, 지명과 같은 정보를 지도상에 표출하여일반인들의 자료 접근성을 높이고 시설물의 분포도나 지명의 위치 그리고 현황을 쉽게 파악할 수 있도록지도를 기반으로 서비스를 제공하고 있습니다. [메인 화면] 본 서비스에서 제공하는 모든 정보는 지도를 기반으로 표현되고 있습니다.주제도조회 서비스를 통하여 시설의 분포도 및 현황을 제공하고시설물/지명 검색을 통하여 원하는 시설물 및 지명 정보를 제공하고공간검색능 통하여 특정 구역을 대상으로 시설물을 검색할 수 있도록 서비스를 제공하고 있습니다. 또한 2D/3D 전환기능을 제공하여 ..