2013년 1월 1일 화요일

나의이야기 2009.03 한전 AMR 프로젝트 (계량기 센서 서버)

2009.03 한전 AMR 프로젝트 (계량기 센서 서버)
- 전력량검침 테스트 서버 개발
- 전력량 검침기 개발지원용 SW개발
- 기술: ORACLE, JAVA
- 장비: AMR 검침장비 DTU
실제 이프로젝트 목적은 (주)세진 의 요구사항에 DTU 장비를 개발하기 위한 Interface 를 제공해 주는 것입니다.
이상윤 부장님으로 부터 프로젝트 설명을 듣고 1주일만에 자리를 세진으로 옮기고 프로젝트를 사직했습니다. 상황은 매우 안좋아서 이미 납기 요그사상을 넘긴 상태였습니다.
들어가서 제일먼저 한일은 욕을 바가지로 얻어 먹는 일이었습니다.
다음에 업무 분석에 들어가면서 알게된 사실은 세진에 DTU 개발기술자들이 러시아 사람들이 었습니다.
언어장벽이야 콩글리쉬와 러글리시로 해결을 하고 그분들이 원하는 테스트환경모듈을 완성하고 즐겁게 기념사진을 한장찍고 프로젝트를 마무리 하였습니다.
프로젝트 목적은 각 가정의 계량기에서 검침값을 자동으로 가져오는 장비를 개발하는 것이 였고 제역활은 한전에 설치되어 있는 AMR서버를 가상으로 구현해서 그장비와의 연동을 한전과 접속해서 처리하는것처럼 구현해주는 것이 었습니다.
업체 및 장비 기술자와 회사가 해결하지 못한 부문이므로 모두 안타까워 하고 있던것이 이부분이였죠.. 원인은 메뉴얼에 적인 CRC값 적용부분이 실제와 다르게 적용이 되어 있어서 였습니다.
이부분을 해결하고 나자 한전 DTU 장비로 부터 제대로 된 결과를 테스트할수 있었고 세진의 관련 러시아 기술자에게 교욱을 시켜주고 프로젝트를 마무리 할수 있었습니다.

나의이야기 2009.03 SONY Ericssion XPERIA 스마트폰 지원 지원툴개발

2009.03 SONY Ericssion XPERIA 스마트폰 지원 지원툴개발
- 개발장비: SONY Ericssion XPERIA,
- 기 술: VC++8.0, C#, ActiveX
- 개발내용: 모바일 단발기용 APP 프로그램 자동 변환 및 설치프로그램 개발
SONY Ericssion XPERIA 단말기에 응용프로그램을 탑재하는 기술이 국내에 없을때였고 알려진 정보는 일본에 만들어 온 Sample 뿐이었습니다.
어째된 영문인지 일본에선 기술 지원을 안하더군요.
난처한 업체가 후배 사업가를 통해 의뢰한 아르바이트 건입니다.
XPERIA 모바일 단말기 개발내용은 다음과 같습니다.
- 단말기에는 Html,Xml 문서를 실행할수 있는 기능을 탑재하고 있으며 외부에서 cab 형태로 지원가능한 웹APP를 작성하여 탑재한다.

- 이프로그램은 지원가능한 Web문서를 XPERIA 모바일 단말기에서 실행가능한 APP형태의 Cab을 만들어준다. 생성된 cab파일은 XPERIA 모바일 단말기에서 설치 및 실행할수 있게된다.
- cab을 만들어주는 *.inf 의 구성이 핵심이다.
작업한 결과물은 DLL, OCX, C# 실행모듈 3가지 형태로 만들어 배포했습니다.
프로그램을 받아 적용시키려 하는 업체 직원의 원하는 요구사항이 많았던 것도 이유죠
최신의 스마트폰 작업을 수행한 일이었습니다.


이 폰을 샘풀로 받아서 작업했습니다.
USB 연결잭과 탑재할Sample소스만 받아서 고민하면서 완료한 프로젝트 입니다. ^^
어떻게 풀었는지는 힌트에 있고 구체적 내용은 공개 불가 버젼입니다.
일을 맡겨준 김종욱 사장님꼐 감사

나의이야기 2008.9 통합OSS와-연동을위한 D-P NMS 개발

2008.9 통합OSS와-연동을위한 D-P NMS 개발
기술: 오라클, JAVA, C/C++
장비: UNIX
기간: 9개월
내용
- LGCNS 개발방법론 에 의한 진행
- 파워콤이 데이콤과 통합함으로 인한 프로젝트
- DB 연동 프로그램 분석,설계 개발
- APTNMS 연동시스템 개발
- APTNMS DB 연동 및 관리 (DBA 겸)
- POWERNMS 연동시스템 개발
- POWERNMS DB 연동 및 관리 (DBA 겸)
- 장애정보 실시간 수집,전송 개발
UNIX 소켓 데몬 시스템 개발


내용
- 2달동안의 분석설계
- 1달동안의 데이터베이스 분석 및 관련문서 작성
- 2개월의 개발기간
- 4개월의 시스템 테스트 및 DB 테스트
기타
- 시스템 개발기간 내내 DB 테이블 명 및 필드의 변경이 발생 종료시점에서도 발생하였으므로
- 끊임없는 프로그램 수정 및 데이터 베이스 연동 및 표준화 안정화 작업 진행
*) 이 프로젝트는 제게 기억에 오래남는 프로젝트가 될것 같습니다.
1. 같은 팀의 차장님은 30개의 DB를 수행하고 있었지만 다른팀의 팀원 3명은 20개 DB 관리 작업
수행하였기때문에 차장님의 불만은 프로젝트 내내 귀에 아른 거렸지요.
-> 근데 저는 200개가 넘은 DB를 관리 해야 했습니다.
2. 저는 대략 30개의 데몬 프로세서를 프로젝트 내내 수정하고 관리를 차장님은 10여개
상대팀 3명은 10개를 제목만 바꾸어 30개로 늘려서 관리를...
가장어려운것은 비교대상이 있고 불만의 소리가 들려오면 견디기 힘들어 지는 것입니다.
프로젝트를 마무리 짓기 전에 저는 하나님의 음성을 들었습니다. '이 마음을 지키라~'
그 음성이 없었더라면 프로젝트를 견딜수 없었을겁니다.
그리고 아무리 일을 잘한다고 뻐겨도 감당할수 없는 일이오면 쓰러지더군요..
(어느새 불평불만과 프로젝트의 고통에 몸부림치는 자신을 발견한것입니다.)
자신의 교만과 무지를 되새기며 앞으로의 일의 설계에 교훈을 삼으려 합니다.
겨우 수십개의 서버모듈을 9개월 내내 수정하고 테스트 한것으로 유명한 프로젝트 이니까요

나의이야기 2008.07 유비쿼터스 미디어콘텐츠 연합 홈페이지 리뉴얼

2008.07 유비쿼터스 미디어콘텐츠 연합 홈페이지 리뉴얼
- 유비쿼터스 교육내용 향상에 의한 리뉴얼
- 기술: html,php,mysql,등
- 장비: 웹서버, PC
대우정보시스템에서 알게된 김명준 사장님과의 인연으로 잠시 웹쪽으로 외도를 하고 진행한 프로젝트 입니다.
내용은 기존 PHP 로 만들어진 웹사이트의 내용을 새롭게 시작하는 유비쿼터스 교육내용에 맞게 재 수정하는 것입니다. PHP는 전혀 모르지만 인연이 인연이므로 한달동안 다른 프로젝트를 진행하면서 틈틈히 손보고 완성한 홈페이지 리뉴얼 작업이었습니다.
김명준 사장님과, 그래픽으로 수고한 기은아 님께도 감사합니다.
관련 사이트: www.ubicon.or.kr
 



나의이야기 2008.06 한전 실장도 편집 프로젝트

2008.06 한전 실장도 편집 프로젝트
- 웹적용 ActiveX 개발 및 적용
- ICON 기반 기술 적용
- 자체편집 기능 구현
- 웹을 이용한 원격편집 기능 구현
- 그래픽 표현 및 기능적용
기술: VC++6.0, ActiveX, GDI
장비: SUN서버, PC
웹상에서 PC 또는 서버랙 등에 들어있는 카드, 카드 위의 포트 구성 등을 편집하는 편집 툴입니다.
초기 제작시에는 편집기를 제공하여 누구나 쉽게 편집할 목적으로 시작되었지만 나중에는 웹상 스크립트 편집으로 실장도를 구성하게 변경하였습니다.
실장도 는 랙, 쉘프, 보드 등의 그룹이 있고 포트,램프 등의 구성요소가 있어서 이것들을 적적하게 편집하여 구성하도록 하는 시스템입니다.
다음은 Sample 이미지와 스크립트를 보여줍니다.
1. 실장도 화면


2. 실장도 화면 구성용 스크립트
// Register Shelf Model
items += "type=RACK;id=10;rack_no=2;rack_nm=;&&";
items += "type=SHELF;x=40;y=44;pid=10;id=101;name=쉘프1;img_id=1;&&";
items += "type=BOARD;BOARD= 1;;pid=101;id=209;name=일번;img_id=2;&&"; // 1 x=43;y=50
items += "type=BOARD;BOARD= 2;;pid=101;id=210;name=2;img_id=2;&&"; // 2 x=81;y=49
items += "type=BOARD;BOARD= 3;;pid=101;id=211;name= 3;img_id=3;&&";// 3 x=117;y=49
items += "type=BOARD;BOARD= 4;;pid=101;id=212;name= 4;img_id=3;&&";// 4 x=155;y=49
items += "type=BOARD;BOARD= 5;;pid=101;id=213;name= 5;img_id=3;&&";// 5 x=191;y=50
...
// [CARD 등록]
items += "type=CARD;BOARD=1;sub=PORT;x=10;y=10;pid=;id=;name=temp;img_id=1;&&";
items += "type=CARD;BOARD=1;sub=PORT;x=10;y=40;pid=;id=;name=temp;img_id=2;&&";
items += "type=CARD;BOARD=2;sub=PORT;x=10;y=10;pid=;id=;name=temp;img_id=1;&&";
items += "type=CARD;BOARD=2;sub=PORT;x=10;y=40;pid=;id=;name=temp;img_id=2;&&";
...
items += "type=CARD;BOARD=37;sub=RAMP;x=10;y=70;pid=;id=;name=temp;img_id=1;&&";
(*) 실장도를 팔기위해 방문한 업체가 있었습니다.
- 모두들 감탄하는 척하지만 실제로는 그 기술을 훔쳐보기에 급급한것을 보왔습니다.
- 하지만 그뿐입니다.
- SW를 만들고 판매하는 업체에게 파이팅을 보냅니다.
- 정말 힘들고 어려운 일입니다.

나의이야기 2008.04 한전 회선 및 계통도 맵편집기 프로젝트

2008.04 한전 회선 및 계통도 맵편집기 프로젝트
- 웹적용 ActiveX 개발 및 적용
- ICON 기반 기술 적용
- 자체편집 기능 구현
- 웹을 이용한 원격편집 기능 구현
- 그래픽 표현 및 기능적용
기술: VC++6.0, ActiveX, GDI
장비: SUN서버, PC
윈도우의 바탕화면과 같은 기능을 웹상에서 구현한 것이라 보면 됩니다.
단지 연결선 등 기타 추가되는 내용이 있는것이 특징입니다.
화면 기능은 다음의 세가지 기능을 가지도록 프로그램 하였습니다.
1. 편집기능
2. 수정기능
3. Viewer 출력기능
전체적 개발기간은 1달정도 였으므로 이상적인 패키지 형태로의 개발을 하지 못한것 이 아쉬운 프로젝트 였습니다.
다음그림은 데모화면을 캡쳐한 것입니다.




위의 그림은 웹상에서 보여주는 화면입니다.
// [Example] ITEM // img_id종류=> 현제 1~8가지의 종류가 있음
items += "type=COLOR;sub=LINE;rgb=199/64/0;&&";
items += "type=ICON;x=100;y=100;id=101;name=장1;img_id=1;help=메세지01;&&";
items += "type=ICON;x=200;y=100;id=102;name=장2;img_id=5;help=메세지02;&&";
items += "type=ICON;x=300;y=100;id=103;name=111;img_id=2;help=메세지03;&&";
items += "type=ICON;x=300;y=200;id=104;name=222;img_id=2;help=메세지04;&&";
items += "type=ICON;x=200;y=200;id=105;name=333;img_id=2;help=메세지05;&&";
items += "type=ICON;x=100;y=200;id=106;name=114;img_id=2;help=메세지06;&&";
items += "type=ICON;x=100;y=300;id=107;name=225;img_id=2;help=메세지07;&&";
items += "type=ICON;x=200;y=300;id=108;name=336;img_id=2;help=메세지08;&&";
items += "type=ICON;x=300;y=300;id=109;name=447;img_id=2;help=메세지09;&&";
items += "type=ICON;x=100;y=400;id=110;name=558;img_id=2;help=메세지10;&&";
items += "type=ICON;x=200;y=400;id=111;name=669;img_id=2;help=메세지11;&&";
items += "type=ICON;x=300;y=400;id=112;name=770;img_id=2;help=메세지12;&&";
...
위와 같은 스크립트로 그림을 그립니다. 물론 스크립트문장은 자작이므로 다른 툴을 찾으면 안됍니다.
이것을 가지고 할수 사업이 많다고 누군가는 그러더군요 ^^

나의 이야기 2008.02 한전 개인장비(PC) 와 한전서버간의 성능측정

2008.02 한전 개인장비(PC) 와 한전서버간의 성능측정
- Upload 및 Download 성능 측정
- Ping 성능 측정
- 경로추적 및 성능 측정
- Upload 및 Download 성능측정 서버 개발
- 웹적용 ActiveX 개발 및 적용
- 그래픽 표현 및 기능적용
기술: VC++6.0, ActiveX, GDI, TCP/IP, UDP/IP
장비: SUN서버, PC
한전 웹사이트에 접속된 개인 PC의 성능 및 한전 서버와의 트래픽 성능을 분석해주는 컨텐츠입니다.
대부분의 사이트에서 제공되는 인터넷성능측정 컨텐츠와 기능은 같습니다.
단지 개발할때 인터넷성능측정 을 개발하세요 란 말만주고는 더 이상의 자료없이 시작한게 문제였지요
심시해서 화면만 캡쳐해서 등록해봅니다.



이 콘텐츠의 개발기간은 한달정도 였으므로 더이상의 기능을 개발하기는 어려웠지만 , 그래도 자부심을 갖게 만든것중의 하나가 된것이죠. 주문한 PM은 이 프로젝트 자체만으로도 회사를 차릴수 있고 말했지요 ^^
하지만 개발해서 보여주자 마자 말을 바꾸는 pm님
이 시스템은 그리 쉽게 개발할수 있는것은 아닙니다. 혼자서 돌아가지만 서버쪽에 올라가는 서버 응용 프로그램에 의존해서 결과를 생성해주는 프로젝트 입니다.
서버 CLient의 패킷을 주고받고, 주고받는 패킷의 걸린시간을 기억해서 통계를 만들어 그결과를 화면에 보여줍니다.
물론 화면에 보여줄때는 그래픽 챠트 OCX를 이용합니다, 물론 그래픽 챠트 OCX도 만들었지만(생략)
but thank you for everybody and my load.

나의이야기 2007.11 통합TPS인증시스템 인증로그 수집 분석 관리

2007.11 통합TPS인증시스템 인증로그 수집 분석 관리
- 로그파일 실시간 감시 기능
- 최근 로그수집 및 실시간 전송기능
- 실시간 로그 수신기능 및 분석
- 로그분석 및 DB? 저장 기능
기술: C/C++, TCP/IP, String Parser
장비: SUN서버,HP 서버
이 프로젝트는 분산되어 있는 같은 목적의 서버가 무작위로 생성하여 관리되지 않은 로그파일을 관리할 목적으로 진행한 프로젝트 입니다.
즉 여러개의 서버에 로그를 수집하고 전송하는 클라이언트를 개발하고 설치합니다.
중앙의 메인서버에 수집할수 있는 기능을 가진 서버를 만들어 설치하여 여러곳에서 날아오는 패킷을 수집하여 관리할수 있는 형태로 편집하여 DB 에 실시간 Update 하는 시스템입니다.
이프로젝트에서 어려운 점은 무작위로 생성되는 로그 데이터가 생성규칙을 가지지않은 것입니다.
처음부터 관리할 생각을 하지 않고 프로그래머가 디버그 용도로 생성한 로그파일을 관리하려고 하다보니 생긴 문제였습니다.
따라서 적용시 생성되는 로그파일 파싱하여 관리할수 있는 형태의 데이터파일 만들어서 적용 하였습니다.
짧은 기간에 만든 프로젝트 였지만 최종 개발시점에 설치장소와 수집대상 로그파일이 달라져 15일을 연장해서 완성하였습니다. ( 개발완료시점에 요구사항이 변경되는 것이 프로그래머 한테는 가장 어려운 점이 될것 같습니다. )

나의이야기 2007.10 NET-MAS 장애데이터 연동

2007.10 NET-MAS 장애데이터 연동

기술: C/C++, TCP/IP
장비: SUN서버,HP 서버
- 장애데이터 수집 및 분석 서버
- 장애데이터 중계 서버
- 장애데이터 SKT 및 LGT 분산 전송 시스템
파워콤에서 갑작스럽게 받음 프로젝트 입니다.
원래는 3개월정도의 여유가 있었던 프로젝트 였는데 기존에 진행하던 협력업체 직원이 작업도중 개인사정으로 중단함에 따라 한달을 남겨 두고 이어서 작업하게 되었습니다.
이 프로젝트의 시작시 문제는 선행진행하였던 개발자의 작업진행 결과물이 아무것도 남아 있지 않아서 개발기간이 1달남겨둔 상태에서 회사가 그책임을 그대로 안고 진행해야 하는 것입니다.
선행개발자가 새로 개발해야한다고 그래서 아무것도 오픈하지 않은것도 큰문제 였습니다.
그래서 이프로젝트는 기존의 시스템의 기능에다 연동하는 대상을 추가하는 프로젝트 였으므로 기존 개발시스템에 응용하는것이 맞기때문에 고객을 설득해서 작업을 진행 하였습니다.
물론 작업을 진행할떄 설득할것이 많아서 여러모로 기간과 내용에 애를 먹은 프로젝트 였지만, 약속한 한달후 프로젝트를 마무리하였습니다.
물론 기존 프로그램에다 새로운 연동 프로그램을 추가하고 공유메모리를 이용해서 데이터를 공유하였습니다.
이왕 공유하는 김에 사이트 하나를 더 늘리는것으로 마무리 지웠죠
그러고 마무리하면서 기존에 발생하던 장애의 원인도 찾아주어던 프로젝트 였습니다.
이랗게 프로젝트를 정리하다보니 지금 제가 가야할길이 무엇인지 힌트가 되는것 같습니다.


나의이야기 2007.08 070 인터넷 전화기 및 인터넷 IP-TV 장애정보 관리

2007.08 070 인터넷 전화기 및 인터넷 IP-TV 장애정보 관리
- Snmp 장애정보 수집 및 관리
- 장애로그 작성 및 로그분석 정보 DB 관리
- Trap 정보 수집 및 모니터링
- 장비 제어 모듈 작성 및 기타
개발툴: Oracle DB, html,Snmp, java, ejb
시스템: SUN서버
기존에 이미 개발된 파워콤 인터넷전화기 기능에 추가적으로 IP-TV의 셋톱박스에 장애 처리기능까지 추가해서 작업한 프로젝트 입니다.
이 프로젝트수행시 의외로 어려운점은 별로 없었지만 파워콤의 IP-TV협력업체가 대만이라는 점이 특이하게 다가옵니다. 즉 일을 하게되자 바로 대만사람과 업무를 수행하였고 영어능력이 필요했던 겁니다.
그런데 의외로 콩글리쉬가 잘통해서 업무하는데는 전혀 지장이 없더군요... 못하는 영어로 농담도 하고.. 프로젝트를 재미있게 만든 요소중 하나가 된것 같습니다.
업무는 셋톱박스에 SNMP를 이용해서 접근을 하고 응답은 Trap을 이용해서 수신 받습니다. 제어는 명령어를 날려서 처리하고 처리한 결과는 Trap Event를 통해서 날아오므로 이것을 수집해서 결과에 따라서 처리해주면 됩니다.
물론 업무내용은 많이 있지만 그것을 일일이 설명하는 것은 프로젝트에 참여한 경우에 하는것이 옳지 않겠습니까 ^^
파워콤고객인 오용재 차장님과 기타 팀원들 등등 감사