최근 우리나라도 아직은 아주 활발하지는 않지만 html5 라는 기술이 주목을 받으면서 개발자들이 점차 너도 나도 하는 "앱" 에서 조금씩 웹을 바라보는 것 같다. html5라 하면 웹도 그냥 웹이 아니다. "웹앱" 이지.


웹앱이라는 것은 아직은 생소하지만 앱은 앱이다. 아이폰, 안드로이드 앱처럼 이제 웹 기술도 서서히 발전하면서 네이티브 앱(안드로이드, 아이폰 등 특정 플랫폼에서 동작하는 어플리케이션)의 기능들을 따라잡으려고 하고 있다. 이중 가장 활발한 것은 Sencha Touch 나 jQuery Mobile 같은 모바일 UI 부분이다.

그럼 과연 우리가 네이티브 앱을 대처해서 html5로 완전히 방향을 돌리기에는 적합하는가?

글쎄, 내 개인적인 생각이지만 답은 "현재는 아니다." 이다. 왜 센차 터치나 제이쿼리 모바일 등 웹앱의 세계에서 아직까지 UI , UX적인 부분만 발전을 하는지, 그것을 잘 생각해 보면 사실상 웹앱이라 해도 기능적인 부분은 기존의 웹 서비스를 개발하던 것과 별반 다를게 없기 때문이다. 오히려 기존의 네이티브 앱들 보다 서버측과 데이터 베이스 개발에 신경을 더 써야 할 것이다. 결국 일반적인 웹 개발밖에 더 되지 않는다. 앱 개발자들이 웹앱 개발로 돌아선다? 그러면 서버단 개발을 하지 않는 한 그건 단순 퍼블리셔 정도의 의미밖에 되지 않는다.

앱은 앱 자체가 동작하는 기능이 있다. 네이티브 앱의 기능적인 부분을 웹에서 구현하려면, 자바스크립트 기술을 써야 하겠지만 솔직히 말해 자바스크립트는 오픈되어 있기 때문에 보안적인 것을 고려하면 그닥 구미가 땡기지 않는다. 스크립트, 웹 스토리지 정도의 기능을 쓰면 될까? 웹캐시? 그런것들은 단지 앱이 쓸 수 있는 기본적인 데이터를 가지고 있을 수 있는 수단밖에 되지 않는다.

웹이 앱을 지향한다면, 가장 크게 고려해야 할 것이 "오프라인" 일 것이다. 사람들이 왜 웹앱에 크게 관심이 없는가, 그것을 잘 생각해 본다면 개인적인 생각으론 첫째는 느려서(아마도 3G를 통해 서비스 받을 터이니) 둘째는 인터넷이 안되면 안되니깐. 아마 이 두가지가 가장 클 것이다.

그럼 이 한계를 극복하려면 어떻게 해야 하는가? 결국 오프라인인데, 아직 html5는 데이터적인 측면을 제외하고는 뭐 자바스크립트 함수가 확장되었다고 치지만 결국 오픈이다. 아무리 자바스크립트를 인라인으로 짠다고 해도 그것도 당연 소스를 볼 수 있다. Ajax를 통해 서버사이드 통신을 한다고? 그럼 인터넷이 들어가는데, 그럼 오프라인이 아니다. 그런다고 모바일 웹에서 XecureWeb이 돌아갈리도 없고..

결국, 아무리 개발을 열심히 스크립트로 캔버스 써다가 아주 훌륭한 2D든 3D든 뭔가 앱을 만들었다 쳐도 데이터는 다 빼올 수 있다. 웹앱의 해킹 가능성이 가장 높고, 그럼 너도 나도 똑같은 앱을 만들 수 있다.아이폰의 앱이 그렇게 많은 이유가 무엇인가? 제조사의 철저한 소스코드 보안과(물론 탈옥하면 뚫리긴 하지만) 안정적인 앱스토어? 예를들어 아이폰으로는 패킷 스니핑을 할 수 없으니 서버와 통신하는 URL은 알아내기 힘들것이다. 부가적으로 앱스토어 수익과iOS플랫폼의 수요 등등이 있겠지만 개발적인 입장에서는 내가 만든 저작물을 지키는게 가장 우선이다.

즉, 보안, 최소한의 자바스크립트 보안책에 대해서 html5에서 나오지 않는다면 단일 오프라인 앱으로는 사실 서비스하기 힘들다는 것이다. 이 얘기는 즉 아직 "웹앱" 을 만들 시기는 아니라는 것이다. 현재까지는 HTML5로 우리가 바랄 수 있는 것은 "모바일 웹" 혹은 "크로스 웹" 일 것이다. 결국 서버사이드를 껴야 한다. 거기에 사용자를 배려한 UI/UX(예를 들어 finger touch나 애니메이션 기능)를 통해 "컨텐츠" 로 승부를 걸어야 한다.


기존에 웹도 마찬가지이다. 비록 쓸때없이 Active X나 플래시 등 비표준 플러그인이 좀 껴서 지저분해지긴 했어도 HTML5가 이제 이 비표준 플러그인을 꼭 써야하는 부분, 기존까지 RIA(Rich Internet Application)이라 불려온 리치한 부분들을 커버해 줄 것이다.

그래서 생각건데 아직까지는 웹앱으로 가려는 사람들은 웹앱(클라이언트) 측면에서는 서버사이드와의 안정적인 TR송수신, 데이터 싱크 등 그런 부분에 집중하고 그 전에 아주 안정적인 서버를 구축하려는 노력을 먼저 하는 것이 더 낫다고 생각한다. 왜냐면 우선 "웹앱" 으로 간다고 생각하는 사람들은 자신이 가지고 있는 기술은 웹 관련 기술인데 "앱"을 생각하면 아이폰 앱처럼 뭔가 개인 혹은 소규모에서 만든 앱의 성공적인 모습을 떠올릴 것이다. (필자 또한 그렇다.) 그런데 아직 스크립트 보안이 강화가 되지 않았으니 html5는 웹의 크로스 뷰어로써 역할밖에 되지 않는다. 모든 화면에서 최적화되게 보이는 웹이 가장 중요시 되는 것이다.

그런데 서버단까지 해야 하냐? 웹앱은 일반 웹처럼 큰 규모로 만들어야 하는 것도 아니고, 통일된 템플릿 내에서의 정보 제공이 가장 중요하다. 클라이언트로 정보를 전달해 주는 "표준" 만 잘 설계한다면 아주 빠른 개발이 가능하다. 그래서 서버단을 알고 C/S를 빠르게 개발할 수 있는 능력이 필요하다는 것이다.

그리고 좀 더 여건이 된다면 최근 나오는 모바일 UI프레임워크를 접하여 최소한의 UI정도는 만들 수 있도록 하고 modernizr나 미디어 쿼리 등을 배워서 어떤 화면 규격에도 컨텐츠를 보여줄 수 있도록 하는 능력이 필요하다. 뭐 물론 요즘 드림위버 CS 5.5에서는 jQuery Mobile 통합과 미디어 쿼리 제공으로 보다 쉽게 만들 수 있지만, 이런 툴은 지속적으로 나오겠지만 정작 이런 기능들은 생각보다 이해하기 쉽다.


정리해보면 이렇다. 우선 안정적으로 스크립트 보안 혹은 대처 수단이 나오기 전까지 오프라인 저장소 등에 의존하지 않고 당장은 나올 웹앱들은 다 Ajax와 URL을 기반으로 하는 서버와의 통신, 즉 html5가 크로스 브라우저/디바이스 가 가능한 뷰어의 역할을 할 테이니 " 빠른 개발과 안정적인 C/S통신을 위해 서버군과 모바일 UI프레임워크, 크로스 브라우징에 대하여 공부한다. 그리고 향후 스크립트 보안 등이 강구가 되었을때를 대비하여 jquery, prototype등 자바스크립트 라이브러리를 공부한다. "

이렇게 적어놓고 보니 사실 모바일 UI나 크로스 브라우징/디바이스 를 제외하고는 웹 개발을 위한 공부밖에 더는 없다. 결국 html5, 웹앱도 "웹" 아니겠는가. 앞으로 우리의 디바이스는 갈수록 빨라지고 계속적으로 온라인 상태를 유지하게 될 것이다. 보이는 곳이 어떻게 됬던 간에 웹에서 변하지 않는 부분은 컨텐츠를 저장하거나 제공하는 서버군과 데이터 베이스군은 분명 존재한다는 것이다. 

결론은, 아직은 HTML5가 네이티브 앱을 따라가려고 열심히 노력중이니 그 전에 웹의 기본에 충실하자. 그리고 슈퍼 웹 개발자가 되자.
크리에이티브 커먼즈 라이선스
Creative Commons License
Posted by 아이지

트랙백 주소 http://izect.kr/trackback/675 관련글 쓰기

댓글을 달아 주세요

  1. 나의별 2011/12/02 09:22  댓글주소  수정/삭제  댓글쓰기

    좋은글 감사합니다. Web gl에 관심히 있어서 html5를 고민했었는데 선수과목이 잘정리되어 있네요^^


회사에서 작업하는 자바 웹 프로젝트 기반은 Spring 2.5 + ibatis + velocity + resin3.0.27 + oracle 이다. 뭐 아직 작업에 본격 투입된 지는 얼마 되지 않았지만, 뭐랄까.. 요즘 SI쪽의 대세가 자바라고 했던가? 마찬가지로 웹 쪽도 대부분의 대규모 서비스는 자바를 많이 사용하는 추세인 것 같다. (물론, 닷넷도 무시할 수는 없지만..)


10여 명의 중급 경력자들이 참여한 프로젝트에 잠시나마 파트타임으로 참여했었고, 지금은 그 프로젝트의 프로그래밍 유지보수 부분을 전부 담당하고 있다. 어차피 자바라는 게 객체기반이고, 초기 설정은 기존 개발자들이 추가해 놓아서 크게 내가 건드릴 설정 부분은 없고 벌써 3개월째 작업을 하다 보니 대부분이 익숙하다.

물론, 핵심 부분은 아직 건드리기에는 내가 미숙한 점이 많아서 부담스러운 부분이 많다. 그래서 우선 내가 일전에 파트타임으로 참여했던 부분부터 조금씩 역할을 크게 하는 방향으로 하고 있다. 유지보수이다 보니 우선 완제품이 나온 상태인지라, 초반에는 자잘한 업무가 많았는데, 갈수록 조금씩 기능 추가적인 부분이 많아지면서 이때부터 나의 스킬 향상을 위한 분석에 들어간 것이다. 왜 신입이 유지보수부터 하는 것이 최적인지 알 것만 같다.

지금 유지보수 작업이 들어간 3개월 동안 "내가 이것은 꼭 주의하고 명심해야 겠다" 라고 생각한 부분을 정리해 본다.



1. 백업의 생활화 혹은 앤츠를 통한 자동 빌드/백업 설정
우선, 웹 유지보수의 가장 중요한 것이 바로 백업이 아닌가 싶다. 나같은 경우 작업PC->테스트 서버->실 서버 의 3단계를 걸쳐 최종 작업물을 업로드 한다. 그래서 항상 백업 파일이 2개씩 생기는 편이다. 테스트 서버와 실제 서버에 파일명_날짜.vm 이런 형식으로 파일을 우선 백업하고, 업로드 하는 편이다. .class , .xml , .vm 등.. 그리고, 혹여나 신규 작업으로 말미암아 발생할 수 있는 에러상황이 발생할 때는 우선 바로 백업을 원복하고 다시 검토해 보는 게 최선인 것 같다.
앤츠의 설정 및 빌드 :  http://guni.textcube.com/144

2. 작업 내용에 대한 기록 혹은 혼자 작업하더라도 SVN/CVS의 사용
최종 버전에 대한 기록. 이것 역시 백업과 같이 중요한 작업 중 하나이다. 왜냐면 유지보수를 하면서 변경되는 소스코드와 서비스 뷰, sql문, properties등이 있을 것이다. 그런 것들에 대한 히스토리가 없다면 일단은 추후에 인수인계가 제대로 안된다. 그리고 혼자서 소스파일 관리를 하다 보면 아무리 잘한들 소스코드가 꼬일 수 있다는 것이다.
혼자 작업하는데 SVN,CVS의 사용? 사실 상당히 귀찮은 작업이 될 수 있겠지만, 엑셀에 작업 히스토리를 기록하거나 주석으로 설명하는 것보단 훨씬 나은 듯 하다. 귀찮은 일이 많이 줄 수 있으니깐..
간단한 SVN 사용법 : http://www.hybrid.pe.kr/tt/246
간단한 CVS 사용법 : http://www.javajigi.net/pages/viewpage.action?pageId=174

3. 아무리 자신 있는 수정이라도 정책적인 부분은 상사의 승인을 받고 진행
이건 예전부터 느끼고 있었는데, 아무리 잘한다고 섯불리 나서다 보면 큰 책임을 감수해야 할 수도 있다. 내가 관리하는 사이트는 공공기관의 사이트인데, 최근에 아이핀 관련해서 도입해 달라고 요청이 왔다. 솔직히 주민번호 체크하는 방식이 아주 간단해서 아이핀 또한 그리 어렵지 않을 거다 생각했는데, "책임"이라는 것이 딱 떠오르다 보니 이 작업을 내가 책임지기는 어려울 것 같았다. 그래서 실장에게 작업이 힘들 것 같다고 이야기했다. 위에서는 외주를 준다고 하고는 내 책임을 벗어났다.
이처럼 책임 문제는 개발하면서 항상 염두해 놓아야 할 문제이다. 너무 당연한가? 자신이 기회를 잡았다고 좋아라 작업에 아무런 보고도 없이 들어갔다간 피박을 볼 수 있기 때문에, 업무에는 항상 책임이 따른다는 것을 잊으면 안 되겠다.

4. 9시~6시 중 서버 restart는 NO, 리부팅/리스타트는 7시 이후에.
윈도우 서버이다 보니 업데이트 등으로 리부팅을 할 수도 있고, WAS를 리스타트 해야만 적용되는 것들이 있다. 이런 것들은 빠른 작업반영을 위해서라면 필요한 과정이긴 하지만, 서비스되는 사이트가 5분만 접속이 안돼도 사람들은 서비스 회사에 전화를 하기 마련이다. 특히나, 그 과정에서 어떤 사람이 서비스를 사용하며 글을 작성하고 있을지 모르기 때문에 함부로 업무시간 내에 서버를 리스타트 하는 것은 위험한 행동이다. 고로, 회사에서 관리하는 사이트라면 리부팅은 최소한 저녁 6시 이후에 진행하는 것이 안전할 것이다.


이 정도가 내가 그간 느낀 핵심 포인트라 할 수 있겠다. 무엇보다, 유지보수는 개발과 비슷한 면이 있지만 "관리"에 있어서 이를 기록하고, 보고하고 하는 것이 가장 중요하다. 그리고, 끝없이 사이트를 체킹하면서 에러 사항을 찾아두고 전체 소스코드 및 사이트 구조, 프레임워크 구조, DB구조 등을 시간 날 때마다 분석해 두는 것 또한 다음번 추가작업에 있어서 작업 시간을 줄여주는 중요한 요인 중 하나이다.

이런 것들을 명심하며 나와 같이 초짜 웹사이트 유지보수 개발자 분들이 실수하지 않기를 바란다.
크리에이티브 커먼즈 라이선스
Creative Commons License
Posted by 아이지

트랙백 주소 http://izect.kr/trackback/418 관련글 쓰기

  1.  삭제

    Subject: 자바 애플릿을 이용한 이진 트리 그래픽 구현

    2009/11/06 19:34 | Tracked from 세상속

    자바 애플릿을 이용하여 이진트리를 그래픽으로 구현한 소스파일입니다. 삽입, 삭제, 검색 사용가능하며 전위,후위,중위 순회를 구현하였습니다. 다음은 본문에 사용된 애플릿 초기화 소스입니다. public void init(){ T = new BinarySearchTree(); setLayout(new BorderLayout()); setBackground(Color.lightGray); p1=new Panel(); p1.setBounds(0,0,600,..

  2.  삭제

    Subject: 자바 swing 으로 구현한 윈도우 메모장

    2009/11/06 19:36 | Tracked from 세상속

    자바 swing 으로 구현한 윈도우 메모장입니다. 윈도우 메모장가 거의 흡사하게 제작 했습니다. swing, awt 공부하시는 분들에게 큰 도움이 될거라 생각합니다. 어렵지 않게 짜여있고, 윈도우 메모장 기능을 가지고 있습니다. 자바 swing으로 구현한 윈도우 메모장

  3.  삭제

    Subject: 스프링(SPRING) 2.5 어노테이션을 활용한 iBatis 연동 분석 활용정리 자..

    2009/11/06 19:37 | Tracked from 세상속

    1. 톰캣과 JDK1.5 이상 버전을 설치한다.(테스트 – JDK 1.6 톰캣 5.5) http://tomcat.apache.org http://java.sun.com 2. 이클립스 WTP를 다운 받는다. www.eclipse.org 참조 http://www.eclipse.org/downloads/download.php?file=/webtools/downloads/drops/R2.0/R-2.0.1-20070926042742/wtp-all-in-one..

댓글을 달아 주세요


하루종일 고민한 것 같다. 어제, 자바개발자로서 완전히 길을 잡은 이상 내가 향후에 주 수입원이 될 것에 대해서 자바에 대해 그 방대한 프레임워크나 기술들에 대해.

JSR도 뒤져보고, 자바 웹 개발자로서 로드맵도 검색해보고, 관심있어하는 RIA기술도 계속적으로 알아보고 모바일 개발에 대해 과장님께 이것저것 이야기도 들어보고.

결론은 그거다. "내가 좋아하는 것을 하자." 아무리 봐도 내가 지금 이 Spring 2.5를 활용한 웹 프로그램을 유지보수 하고 있다지만 그것이 과연 내가 좋아서 하는 일인가? 라는 생각이다.

물론, 웹 서비스 제작에는 나도 동의를 하지만 너무나도 편한 Spring과 이것 저것 기술의 연동.. 모 자바 관련 로드맵을 보니, 이미 절반 이상의 기술은 습득한 상태였던 것이다. 그리고, 이러한 기술은 앞으로 내가 이 회사를 다니면서 계속적으로 배울 기술은 분명하다.

돈벌이 수단이라, 내 일을 돈과 연계시키는 것은 그렇게 즐거운 일은 아니지만 삶을 현실적으로 바라보면서 신경쓰이지 않을래야 않을 수가 없는 부분이다. 그러면 자바 개발, 특히 모바일 개발로 어느정도 대우를 받으려면? 시스템 단의 개발과 동시에 경력 10년은 되야 한다고 한다... 엥이, 내 마음속엔 이미 30 이후에는 개발자보다는 다른 길(Consulting or Architecture, 둘다 개발자를 뛰어넘은 과정이다.)을 생각하고 있는데 말이지..

가볍게 접근했던 내 마인드도 참 문제다. 오늘, 심심해서 Adobe Flex Builder를 설치하고 보니깐 참 RIA개발 하나 하기가 쉽더라..; 플래쉬를 프로그래밍 하듯이 다루는 걸 보니 감회가 새로웠다. 거기다 이클립스로 개발 안되는 게 뭐있으랴.. 그리고 무언가를 만들고 싶으면 Application단에서는 자바 Swing이나 SWT로, 웹쪽은 귀찮으면 php, 요즘엔 asp도 아주 쉬워졌다. 이렇게 만들면 된다는 생각에, 세상 참 무서울 것이 없어진 것이다.

하지만 여기서 내가 간과하고 있던 것은 아주아주아주아주 단순하다. 이렇게 알고 있으면 뭐하느냐, 귀찮아서 프로그램 하나도 제대로 못만들고 있다는 것언어단에서 알고 있는 것은 나의 진정한 능력이 아니라는 것이다.

하악, J2EE 패턴만 해도 공부할 것이 많다..

패턴과 리팩토링.. 그리고 진정한 OOP의 사용.. 결국 내가 자바를 Based로 하고 개발을 한다 해도 디자인 패턴과 리팩토링, 배포, 디버깅, 알고리즘 등의 기본기가 되어 있지 않으면 어떤 개발을 하건 간에 나는 초보 수준으로 머물 수 밖에 없다는 것이다. 그리고 특히 자바는 JSR문서만 봐도 공부할 것이 정말 엄청나게 많다....

그리고 한가지. 웹이든 소프트웨어 개발자이든지 간에 뭔가 개발을 하고 좀 말을 하던지 말던지 해야할 것 아닌가!?!? 그간 내가 개발한 것? 하아, 한숨만 나온다. 회사에서 진행한 일 빼곤 개인적으로 만든 것이 뭐가 있는지 원..

어쨌든 내가 추구하는건 UI, UX다. 난 프로그래밍도 하지만 나름대로(?) 디자인도 꾸준히 하고 있기 때문에.. 아니 그건 이유라기보단 그냥 자랑인가; 그래도 디자인이 부여되지 않은 프로그램은 나는 프로그램이라 인식하기 싫다~~ 그래서 내가 웹을 좋아하는 것 같다..

RIA플랫폼이나 안드로이드 폰에 대해 계속 공부하고 개발하고 싶다. RIA로는 Adobe Air도, JavaFX도, Flex도 전부 고민된다. 근데 고민보다는 내가 무엇을 만들 것인가부터 정해야지 않겠싸용~? 어차피 개인적으로 공부하는 것들인데 말이다.

이야기가 샜는데, 어쨌든 웹과 모바일이 주축이 되서 나 자신이 포장되길 바라고 있을 뿐이다. 자바에 대해서도 말이다. 계속적으로 신기술을 접해 보고 나아가고 싶다. 그렇게 개발자로 포장되고, 개발보다는 Management를 하고..(이걸 하려면 대졸은 필수.. T.T) 컨설팅을 하고싶다규~~ 라지만 아직 한참 멀었다~!

아, 그리고 한가지 큰 목표가 생겼는데. 나의 30대 초반의 직장 생활은 외국계 회사에서 보내고 싶다는 것이다. 무엇보다 해외 이직이 자유로운(-_-;;) 하아, 이건 생각만 해도 너무나도 큰 목표인 듯 싶지만 그럴만한 이유도 있다.(정말이지, 내가 추구하는 인생의 목적과 맞먹는..)

그리고 지금 나는 계속 방황한다는 생각을 하고 있지만, 나의 20대는 정말 수 많은 시행착오와 판단으로 뒤덮인 시절 같다. 20살 초반에 회사일도 하면서 이것저것 노느라고 바뻤지만, 그러다 보니 선택과 집중에 대해 알고 난 지금은 정해지지 않은 것에 대해서는 살펴보려고 하지도 않는다. 하지만 그렇다고 일을 쉬지도 않는다. 20세가 되고 나서 내가 회사를 쉰 날은 공휴일을 제외하면 채 10일이 되지 않는다.

그런 것이다. 일이라는 것과 나 자신을 떼어놓기는 힘든 것이다. 지금은 그 일을 자의든 타의든 내 한계까지 끌어내려는 것이고, 사회를 배우려는 것이다. 그리고, 다시 대학에 들어가면 멋진 삶을 추구해 갈 수 있도록. 프리랜서를 하면서 20대 중반에 학교를 다니면서 이것 저것 능력을 키우고 싶다. 나는 내가 한 만큼의 우대를 바랄 뿐이다. 그리고, 나이가 들어서는 그런 개발자들을 우대해 줄 수 있는 platform을 만드는 것이 목표. 그리고 더 나이가 들면은 아마 내가 욕심이 있다면 정치적(?)으로도 나가지 않을까.. 물론 우리가 소위 말하는 정치라기보다는 정부 정책면에서 이것 저것 정말 옳바른 길을 만들기 위해 나아간다는 것이다.

하하, 그래도 이렇게 글을 쓰니 조금은 정리가 되는 듯 하다. 이제 내 선택이 이 앞으로의 미래에 비전이 있는가에 대한 고찰과, 그것이 확실히 정해졌다면 한우물을 파고 드는 것만이 남았다.

선택과 집중, 인생에서 그것 만큼 멋진 것이 없다. 이것 저것 잡다하게 다 아는 사람보다는 나의 인생에 비춰볼 때 집중할 수 있는 것에 온 정신을 쏟는 것, 그것이 나는 사람답게/멋지게 살아가는 것이라 생각한다. 비단 그것이 일적인 부분이 아니더라도 말이다. (사랑도 마찬가지)
크리에이티브 커먼즈 라이선스
Creative Commons License
Posted by 아이지

트랙백 주소 http://izect.kr/trackback/384 관련글 쓰기

댓글을 달아 주세요


수많은 라이브러리들..

최근 내가 인수인계 받은 프로젝트에는 위와 같이 수 많은 라이브러리가 쌓여 있었다.

그런데 이건 뭐 제대로 잡히는 경로가 없어서.. 그리고 인수인계 받을 때 전부 받지를 않아서 찾는데 조금 고생한 기억이 난다.

이중에 스프링 프렘웍은 빠진 라이브러린데, 뭐 이리 많다냐... ㅎㄷㄷ

 

참, 요즘엔 라이브러리의 매력에 빠진 듯 하다. 스프링 프렘워크를 사용하다보니 프로퍼티만 설정해 주면 왠만한 웹 프로그램은 그 속에 끼워 맞춰진다. 하아~ 그것도 MVC모델로..

 

특히나 스프링의 경우에는 정말로 SERVICE+CONTROLLER+DAO 의 구조가 그렇게 매력적이지 않을 수가 없다. 이 구조만 알고 있으면 스프링 내부 구조도 몰라도 된다. 내가 처음 이를 접할 때 스프링의 구조를 알고 들어왔던가? 개략적인 구조만 알 뿐이지 말이다.

 

ibatis와 서비스 페이지에서는 velocity의 사용 또한 스프링과 궁합이 잘 맞는 것 같다. 사실 velocity가 문법이 어렵지는 않은데 조금 허접한 면이 없지않아 있긴 하지만.. 그래도 서비스 페이지에서 사용되는 왠만한 기능들은 다 제공하니 그것으로 만족한다.

 

내게 부족한 것은 환경세팅 부분, 사실 이 프로젝트는 resin으로 구동되는데 tomcat과 비슷하다는 것은 알고 있지만서도 막상 세팅하라고 하면 두려운게 사실이다. tomcat을 서비스로 등록하는 데만 해도 몇달이 걸렸기 때문..

 

그래도 이번 프로젝트를 맡아서 좋다. 다른 것은 재껴둬도 사실 위에 라이브러리가 많은 것은 내게 불만이 아니라 기회라고 생각하기 때문이다.

 

하하~ 그래서 블로그도 그러한 내용으로 이제 도배를 해야지... ㅎㅎ 어쨋든 열심히나 해야겠다~ ㅎㅎ

크리에이티브 커먼즈 라이선스
Creative Commons License
Posted by 아이지

트랙백 주소 http://izect.kr/trackback/375 관련글 쓰기

댓글을 달아 주세요


별로 뭐 대단한 것은 아닙니다.

하지만, 제 입장에서는 제가 한 걸음 더 나아갈 수 있는 길이 생긴 것 같습니다.

 

지난 포스팅에서도 밝혔듯이, 이제 ASP프로젝트가 거의 마감되었습니다. 파견 생활에서 다시 본사로 복귀 했구요.

 

복귀하자마자 슬픈 소식이 여기 저기서 들립니다. 우선, 다른 팀의 한 팀장분이 돌아가셨다는 소식입니다.. 안타깝게도 일본뇌염에 걸리고 항체를 갖고 있지 않아서 오늘 돌아가셨다고 하네요.. 고인의 명복을 빕니다. 저와는 많이 친하지 않은 분이였지만, 제가 입사할 때 면접 봐주셨던 분이라서 슬픔이 더한 것 같습니다.

 

그리고 팀장분 중 한분이 오늘부로 퇴사하십니다. 더군다나 저희 실장도 지금 고민중에 있는 것 같구요. 분위기가 않좋지만.. 저는 조용히 있는 편입니다.

 


java_starting.jpg

흑흑.. 자바! 너만을 기다렸다규!

이런 좋지않은 소식들은 뒷전으로 하고, 본사에 복귀해서 밝은 모습으로 직원들에게 인사를 하고 새로운 프로젝트를 받았습니다. 바로 자바 프로젝트 입니다.

 

물론, "프로젝트" 가 아니라 "유지보수" 업무입니다. 하지만, 개발의 시작은 생판 처음부터가 아닌 유지보수가 아니겠습니까? 유지보수에서 배울 수 있는 것들이 얼마나 많이 있습니까.

 

그토록 배우고 싶고 하고 싶던 자바 프로젝트가 오늘, 처음 인수인계를 통해 시작됩니다.



- resin 서버 기반에 자바 MVC 웹 모델의 최강(?)이라는 스프링 3.0(물론 최신은 아니지만..) 프레임 워크 사용!

- 그토록이나 사용하고 싶던 툴인 이클립스 사용(지긋지긋한 에디트 플러스와 닷넷 2003은 가라!),

- 거기에 새로운 기술인 velocity와 ibatis기술 및 각종 라이브러리를 통합!

- 더군다나 이번 프로젝트에 작게나마 Flex가 사용!

- 전 페이지에 걸쳐 JQuery를 사용하고, 부분부분 Ajax 사용!

- 자바(based on web)와 관련된 기술이 총 집계된 이번 프로젝트에서, 가장 기대 되는건 OOP적 사고능력을 높힐 수 있다는 것과 "자바" 프로그래머로써 나아갈 수 있는 능력의 상승 효과.


 

spring25.png

Welcome Spring! 스프링아, 어서와라!

logo_asp2.gif
10살 넘은 ASP님하는 저리가주세염

그리고 무엇보다 아주아주 구 기술인 ASP와 ASP.NET 1.1 에서 조금 벗어날 수 있다는 것이 너무나도 좋습니다. 자바, 자바.. 자바를 그렇게 좋아했는데 말이죠, 정작 실무에서는 단 2개월밖에 투입되어본 적이 없습니다.


물론, 당분간은 혼자서 진행할 듯 합니다. 힘든 일도 분명 있을 터입니다. 그래도, 재밌게 하렵니다! 한개의 사이트에 저토록 많은 기술들이 함축되어 있는 것이 어디 흔하겠습니까? 적어도, 7~8년차 이상의 분들이 6개월 정도 매달려서 만들어 놓은 것인데 말이죠. 이를 전부 나의 지식으로 습득한다면.. 생각만 해도 가슴이 벅차 오릅니다!





제가 이렇게 자바를 고집하는 이유는 두가지가 있습니다. 한가지는 제가 개발자를 다시 시작할 때, 알고 있는 수

php-asp-300x300.jpg

웹에는 언어가 너무 많습니다..
그래서 선택도 힘듭니다.


많은 잡다한 기술보다는 한가지를 잡자! 는 것입니다. 사실, 신입들이야 이것 저것 언어들을 접해보면서 몇년정도는 하다가 한 가지 언어로 들어가는 것이 맞는 편인데, 저는 어차피 개발자로 인생을 올인하려 하는 생각이 아니기 때문에 처음부터 한가지 언어를 파고 들고 싶어 했습니다. 하지만, 신입때 그게 쉽게 되나요, ASP나 PHP 4, ASP.NET 1.1같은 옛 기술을 사용하였지요. 그래도, 이 과정에서 웹 프로그램을 어떻게 만들어야 하는지는 확실히 익혔답니다! 컴파일 방식이든 인터프리터 방식이든 말이지요!


개인적으로는 인터프리터 방식은 너무나도 안땡기더라구요. 어디서 어떤 버그가 터질지 모르는 것 아니겠습니까? C++을 베이스로 머리 속이 채워지다 보니 그런 지는 몰라도, 역시 하나의 프로젝트가 점 점 거대해져 가고, 모든 것이 클래스 등의 객체로 채워져 있는 자바가 너무나도 마음에 든 것이 사실입니다!


consultant.jpg

난 일케 멋진 컨설턴트가 꿈입니다.  


그리고 자바를 고집하는 이유 두번째는.. 바로 미래를 생각해서 입니다. 올해 초 몇개월을 고민해서 미래의 희망 직업을 "컨설턴트"로 잡았습니다. 이유인 즉, 지금까지 다양한 경험을 해 왔고 IT에서 어느 한 곳에만 올인하지 않고 다방면으로 쌓은 지식들을 당최 어떻게 활용할 것인가? 라는 고민에서 나온 결과입니다.


또한, 오라클 및 IBM등 거대 IT컨설팅 회사들이 오라클의 경우 엄청난 M&A를 통해 수 많은 솔루션 업체들을 흡수하고 이를 기반으로 미들웨어부터 수 많은 솔루션을 제공.. 어차피 아이디어가 없는 한 앞으로는 인프라 시대가 아니겠습니까? 직업적으로는 사람들의 삶을 편리하게 해줄 수 있는 컨설팅을 한번쯤 해보고 싶다는 것입니다. 물론, 개인적으론 끝없이 아이디어를 개발하구요 :)

ibm-oracle-logo.jpg

둘중 하나만 와주면 안되겠니 ~!



게다가, 컨설팅이 장난도 아니고 배워야 할 것이 수 없이 많다는 점도 저를 이끌었습니다. 한 가지 언어만 배우는 것이 아니라 수 많은 언어를 알고, 이의 장점을 알고, 이로 개발한 소프트웨어의 장점을 알고, 고객의 니즈를 알고, 이를 맞추고 수익을 낼 수 있는.. 그야말로 컨설턴트는 다방면의 지식이 없으면 안됩니다. 컨설팅은 그러한 면에서 끝없이 공부해야 하는 직업이 맞습니다! 그래서 공부를 갈망하는(이제와서 말입니다...;) 제게는 상당히 욕심나는 직업이 되었습니다. 규정보다는 성과를 위주로 보상하는 컨설팅 회사들의 체계도 너무나도 마음에 들구요.


뭐 여튼 그래서일까요, 알다시피 이클립스를 보면 수 많은 라이브러리가 있습니다. 욕심같지만, 이를 다 내것으로 만들고 싶습니다. 그리고 이를 통해 안되는 것이 어디있겠습니까? 사실 더 욕심나는 것은, Sun이 오픈하고 있는 기술들을 배우는 것이고, 향후에 실력이 되면 어떤 분야로든 IBM의 Developer Works에 참여하거나 에반젤리스트를 꿈꾸고 있습니다.


자바의 세계는 오픈되어 있으며, 그 길은 무한가지나 마찬가지 같습니다. 닷넷도 물론 수없이 발전하고 있지만 저는 자바를 믿습니다. 그리고 이를 통해 더 깊고 쉬운 프로그래밍 세계로 나아갈 수 있었으면 좋겠습니다 :)


또한, 저 아이지는 컨설턴트를 꿈꾸고 있고 열린 마음으로 제 생각이 맞는지를 선배님들께 진심어리게 묻습니다. 혹시 이 글을 보고 계신 선배님들! 혹은 조언을 해줄 수 있는 분들은 언제나 환영입니다 :) 아직 작고 열정만 있는 저 아이지에게 많은 조언 부탁드리겠습니다 ^.^

크리에이티브 커먼즈 라이선스
Creative Commons License
Posted by 아이지

트랙백 주소 http://izect.kr/trackback/368 관련글 쓰기

댓글을 달아 주세요




회사에서 제가 자바를 사용하는 프로젝트로 투입된지 벌써 4주가 흘렀네요.
처음엔 진짜 이걸 내가 할수 있을까.. 라는 두려움이 앞섰지만, 신기술을 배운다는 마음에 몇번의 야근과 철야 끝에 이젠 어느정도 감도 잡고 정말 말단 직원이긴 하지만 제게 그 프로젝트 팀에서도 신뢰를 주고 있습니다.

스프링 프레임워크라.. 솔직히 제가 프로퍼티는 잘 설정할줄 몰라요.(기본적인 서비스 연결만..) 하지만, 디자인패턴이 나오고, 저도 그걸 조금 공부했고 그런 경험들을 통합해서 MVC 모델(아니, model2인가..)을 잘 설계해둔 것이 스프링 프레임워크가 아닌가.. (예전처럼 pool manager같은 건 신경쓸 필요도 없더군요;)

저희 사이트 개발은 이렇게 하더랍니다.


WAS : Resin 3.0.27
Coding Language :
  Velocity(후덜덜입니다. jsp랑 비교하면 너무 편합니다.. ㅜㅜ)
+ ibatis(sql과 xml을 통해 맵핑시키는.. 이것도 참 편하죠.)
+ Spring Framework 3.0
Database : Oracle 10g
DBMS : Toad For Oracle
Version Manager : CVS


뭐 아이핀이니 기타 잡다한 솔루션 라이브러리는 빼겠습니다..;

대충 보아하니 요즘 자바 웹 솔루션을 저렇게 개발하는 듯 합니다. 저야 물론 PL님께서 환경세팅을 다 해둔 eclipse와 각종 어플들은 통째로 압축해서 주셔서;; 완전 환경설정 부분은 그야말로 손도 안되고 시작하고 말았네요..

제가 어떤 사이트를 작업하는지는 밝히기 힘들지만..;(힌트) 초반에 제게 주어진 업무는
- 마이페이지 - 1:1 온라인 상담 내역(개별 list만)
- 마이페이지 - 프로젝트 문의 내역(write, process, list 까지)
이런 간단한 게시판 기능 정도와..
- 마이페이지 - 개인정보수정
이런 또한 중요한 부분이었습니다.

여튼, 사실 설정 부분은 제가 잘 몰랐지만 ibatis를 통해 xml과 쿼리를 맵핑 시키고, controller-service-dao 의 3단 구분으로 이루어진 스프링 프렘워크를 보며 와 참으로 편리하구나;; 정말로 그런 생각뿐이 들지 않더군요.. 왜 작년에 제가 jsp나 JSTL을 공부할 때만 해도 솔직히 느끼지 못한 것이거든요. model1과 model2를 배우면서, MVC모델이 원래 MFC를 공부할 때도 편리하다 느꼇지만, 실제로 웹 서비스를 위한 이런 스프링이 나오고(물론 좀 지났지만;) 이를 사용하다 보니.. 와 참 정말 편리하다는 말밖에 안나옵니다... ^^

 

단점은 아무래도 MVC모델이 웹 서비스 모델에 따라 직접 만든 프레임워크보다는 무겁겠지요. 다만, 스프링은 범용으로 사용하기 좋으며 생각보다 무거워 보이지도 않았습니다.. :)

 

그리고 레진 서버.. 생전 톰캣만 써오던 제게 올해부터 갑자기 WebLogic이니.. Resin이니 이런 WAS들이 들려오기 시작하니 솔직히 좀 난감하더랍니다....;

허나 초보들이 물론 이런 서버들을 구축하고 설정하는 기술이 있다면야 그건 최고의 루트이지만, 어디 쉽겠습니까.. 그러나 회사에선 사수가 서버 세팅해서 줍니다.. 급하지 않은 개발이야 서버 세팅부터 시켜보겠지만 말입니다. 스프링도 처음에 엄청 겁먹고 마구마구 공부했었는데(사실 이해도 잘 안갔어요.. ㅜㅜ) 결국 velocity코딩과 기존에 알고 있던 자바 코딩과 별반 다른게 없었지요.. mvc모델만 잘 알고 있다면야;; 하악하악~!

 

여튼 여러가지 의미로.. 앞으로 6월까지는 신규개발, 그리고 7월부터는 이 작업을 한 반년은 유지보수 해야 할 듯 싶은데 말입니다.

 

자바는 즐겁지만.. 온리 코더는 싫은데 말입니다.. 디자인을 접목시킨 프로그래밍, 그런거 어디서 안떨어 질까요.. ㅜㅜ ㅎㅎ

크리에이티브 커먼즈 라이선스
Creative Commons License
Posted by 아이지

트랙백 주소 http://izect.kr/trackback/303 관련글 쓰기

댓글을 달아 주세요

  1. Favicon of http://blog.jidolstar.com BlogIcon 지돌스타 2009/07/22 15:17  댓글주소  수정/삭제  댓글쓰기

    경험담이 솔솔 배어 있네요.
    여기 블로그 글이 넘 잼있었요 인간미도 보이고 ㅎㅎ

  2. Favicon of http://blog.jidolstar.com BlogIcon 지돌스타 2009/07/22 15:17  댓글주소  수정/삭제  댓글쓰기

    경험담이 솔솔 배어 있네요.
    여기 블로그 글이 넘 잼있었요 인간미도 보이고 ㅎㅎ

이전버튼 1 이전버튼



블로그 이미지
html5,모바일웹,웹앱,자기브랜드,시간관리 등을 다룹니다.
아이지

Yesterday159
Today149
Total478,903

달력

 « |  » 2012.02
      1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29