2014. 2. 3. 15:02

툴의 중요성에 관해서..

336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.

안녕하세요.


최근 이런저런 생각들을 많이 하고 있습니다.


항상 프로젝트에 투입되면 제일 먼저 하는일이 그 사이트에서 툴을 제작하여서 사용하는 고급 개발자가 있나 없나 입니다.


실력좋은 목수는 연장 탓을 하지 않는다고 하지만, 소프트웨어 제작시에는 연장 탓 역시 필요 하다고 봅니다.

그리고 그때 그때 필요한 간단한 연장을 만들지 않는 목수는 게으르다고 봅니다.


SQL은 크게 이렇게 나눠집니다.


선언문 , 변경문 , 제어문


http://en.wikipedia.org/wiki/Data_definition_language


C# 및 프로그램은 이렇게 구분되어 집니다.


선언문, 제어문, 분기문. 


그리고 제 경우 가장 많은 실수가 발생되는 부분은 제어문에 들어가는 로직 판단 구문입니다.


솔류션의 경우 DATA가 크게 필요하지 않아서 간단히 INI, TXT, XML 형태로 저장이 되어서 직접 수정이 이뤄지는데요. 반면, SI에서는 Database를 활용하기에 SQL을 이용하여 데이터를 갖고 온 후 판단하는 구문을 주로 많이 사용하게 됩니다.


위의 두경우는 포멧은 다르지만, 그 패턴과 추상화를 거치면 비슷한 모양새의 형태가 그려집니다.


즉, 비슷한 패턴을 해결하는 몇가지 프로그램을 만들게 되면 많은 부분에서 발생되는 품질 측면에서 발생될수 있는 문제점을 조기에 해결이 가능합니다.


또 많은 분들과 제 생각과 다르다고 느끼는것중 하나는 프로그래머는 메모장으로도 프로그램을 짤수 있어야 한다 입니다. 사람마다 정의가 다르긴 하겠지만, 저는 노동의 댓가 지불의 이유를 찾다 보니 얻은 결론이 정보 처리에 있다 였습니다.


기계는 사고(Thinking)을 할수 없는 대신 주어진 업무 조각을 전기가 제공되는 조건이라면 동일한 품질의 작업을 반복적으로 할수 있습니다. 사람은 기계와 다르게 변수도 많고, 동일한 품질의 작업이 보장되고, 돌발적인 일을 할 가능성이 있습니다.


현 문명에서 사람과 기계와 가장 큰 차이점은 판단과 사고 능력, 즉 정보처리(Information Processing)라고 봅니다. 


그러면 정보 처리를 함에 있어서 기계와 같이 정확한 기억을 기반으로 한 프로그래밍이 필요 할까요, 아니면 보다 무언가를 처리 할 수 있는 방식을 추상적으로 생각 할수 있는 프로그래밍이 필요 할까요.


답은 나와 있습니다.


다 하고 싶지만, 내가 못하니까 남들도 못한다란 생각 입니다. 


주력으로 개발하는것들은 CASE 툴은 주로 간단하지만 반복적인 작업들의 시간을 산술적인 시간으로 낮춰 버리는데 있습니다.


최근 프로제트를 예를 들면,


PDF안에 있는 모든 컨트롤의 이름들을 눈으로 직접 찾아내서 DB에 입력하는 겁니다.

이럴때 양이 많아지면, 언제 끝낼수 있다란 보장을 할수 없으며 작업 시간 및 공수 산정이 불가해집니다.

왜냐면 문제의 범위가 어느정도 인지 알수가 없기 때문입니다.

그래서 Parsing 프로그램을 작성 한 후 , 필요한 타겟 데이터만 추립니다. 그 후 그 핵심 데이터에 여러가지 템플릿을 적용하여 사람이 작업했던것과 같은 형태의 소스를 생성 시킵니다. 


위와 같은 작업은 항상 제가 했던 작업들이며 그 핵심 이유가 사람과 기계의 차이에 있다고 믿기 떄문입니다.


반발도 많았고, 100% 되지 않는것들은 하기 싫다란 이유를 대는 분도 많았는데,

곰곰히 생각해보면 70%만 되도 100시간 걸리는 작업에서 50% 이상은 향상이 이줘집니다.


왜 50% 이냐면, 파싱 프로그램 작성 시간도 배려해야 되기 때문입니다.


이러한 자업을 쭈우하다 보니, 점점 많은 모듈 및 노하우가 붙게 되는건 이치이며 더더욱 많은 부분을 해결하게 되는것 같습니다. 이제 단순한 화면 개발보다는 팀원들에게 단순한 작업을 제거 시킴으로써 공수 단축을 하는 방법에 관해서 점점 공부해야 될듯 합니다.


마지막으로 대학과정에서 배우는 OS, Compiler, Database 어느것하나 쓸모 없는게 없습니다.


저는 개인사정으로 못배운것들이지만 꾸준히 보는 것중 하나 입니다.


긴글 읽어주셔셔 감사 합니다.