반응형

리사 퀘스트 지음 ㅣ 신정길 옮김

호이테 북스 2009.02.10

여성들이여 스스로 커리어를 업그레이드하라!
성공적인 커리어를 쌓고 경쟁력을 강화시킬 수 있는 비즈니스 공식!

 

이번에 도서 이벤트에 당첨이 되었다고 해서 이메일이 왔습니다.

"오바마 이야기" 이후 두번째 도서 이벤트 당첨입니다. ㅎㅎ

아직 책은 받지 못했고 이벤트 당첨됬다는 메일만 받은 상태입니다. 

책 이름은 딱 보고 맘에 들었습니다. 그런데 이게 웬일... ㅎㅎ 여성분들을 위한 책인듯 합니다.

어찌 되었든 받은 뒤에 잘 읽어보고 아는 여성 지인들에게 넘기도록 하던지 해야겠습니다.

현재 저의 독서 스타일은 다독을 추구하는 상태이기 때문에 득템의 기쁨을 만끽중입니다.^^


서평 <2009.05.09>

책은 휴대성이 편하도록 보통 책보다 조금 작은 사이즈에 두께도 얇은 책이다.

출퇴근 시간 틈틈히 들고 다니며 읽어도 금방 읽을수 있다. 하지만 쉽게 읽고 넘어갈 내용이기도 하지만

책에 나오는 내용을 그대로 적용하여 책에 있는 표를 작성한다던가 자신의 계획을 문서로 남기고자 한다면

차분한 시간을 가지고 책을 읽는 것이 필요할것 같다.

  나는 성공의 열쇠가 무엇인지 알지 못한다.
  하지만 실패의 열쇠만큼은 알고 있다. 그건 다른 사람을
  기쁘게 하느라 시간을 허비하는 일이다.
                                                              -빌 코스비

이렇든 책의 내용 틈틈히 문맥에서 나타내는 바를 여느 명언들을 인용하여 간략히 정의 하기도 한다.

 당신의 노력을 고의로 방해하는 사람도 있을 것이다. 당신은 가식적인 말로 하는
 칭찬과 응원을 받아본 경험이 있을 것이다.
 당신이 성공하여 즐거움이 커질수록 그 즐거움을 일부러 파괴하려는 사람도 많아질 것이다.
 힘과 능력을 얻을수록 당신이 자신감을 잃도록 하려는 사람도 만날 것이다.
 그들은 당신이 더욱 성공할 것이며 더 큰 책임을 맡게 될 것이라는 생각에 두려움을 느끼거나
 자신이 손해를 볼 것이라고 여기는 것이다.  그러므로 그들의 행동심리를 탐색할 필요가 있다.
 그러한 방해는 끊임없이 일어날 것이기 때문이다.
 물론 이러한 방해공작은 당신의 행동과는 무관하게 발생할 것이다.

 @항상 자신의 기술과 능력에 자신감을 가져라. 다른 사람이 자신에게 갖고 있는 믿음을 훼손하지 마라.
 @부정적인 상황이 발생했을 때 상대방에게 직접적으로 접근하는 것을 두려워하지 마라.
 @모든 사람을 즐겁게 할 수 없다는 것을 기억하라. 자기 자신에게 진실하라

너무 많은 사람들이 다른 사람을 의식하느라 자신의 전략을 추구하는데 방해받고 있다. 부디 기억하라
가장 좋은 것은 가장 어려운 법이다. 당신은 특별할 뿐 아니라 끈기와 확신 그리고 자신에 대한
믿음을 통해 불가능한 것을 이루어낼 수 있다.

변화가 없음을 허락하는 것은 나쁜 계획이다.  -푸블릴리우스 시리우스

책의 내용을 간략히 하자면 자신의 커리어 향상을 위해서 어떠한 방법들이 있는지를 알려주는 내용 ^^;

여타 다른 자기계발서의 내용과 많은 부분이 유사한 것은 사실이다.

허나 이책은 그 방법에 대해 설명을 하고 예시를 보이며 또 그안에 간단히 작성할수 있는 도표와 같은

템플릿등을 포함하여 책에 직접 글을 써 넣을수 있게 해 놓았다.

어떠한 방법을 설명만 구구절절 늘어 놓고 깨닿게 하는 책 보다는 직접 커리어를 쌓기 위한 목표나 전략을

글로써 남기도록 유도한 면이 이 책의 특징이라 할수 있다.

무엇을 알고 깨달은 것과 그것을 행동으로 실행에 옮기는 것은 별개의 문제이다.

목표에 대한 계획을 세우고 그 진행 방향을 설정하며 그 실천의 시작은 증거를 남기는 것이다.

이에 가장 효과적인 방법은 문서로서 남기는 것이다. 즉 글로써 남기는 것이다.

이에 대한 설명은... 음 잘 생각이 나지 않는다. ㅋㅋ 예전에 설득의 심리학에 나왔던 내용이다. ㅋ

일관성의 법칙 이였던가? ㅋㅋ  공식적인 입장을 표명함으로서 그것에 대한 입장을 변경하기 어려움에 관한

심리학적 효과에 관한 것이였던것 같다.  책의 내용을 다 기억하지 못하고 그 의미만 머릿속에 남은 상태라..^^;

므튼 그런 심리적 효과를 볼수 있도록 한것이 아닌가 한다. 계획하면 글로 남기고 실천하라!! 이런..

책에 보면 떡하니 모든 여성들을 위한 탁월한 지침서!.  라고 되어 있지만 내용은 여성에게만 적용되는건 아니다.

책의 내용을 읽어보고 템플릿대로 작성을 해보고 실천 계획을 세우고 실행에 옮기는 것도 많은 도움이 되리라..

틈틈히 읽으면서 책의 내용대로 하진 못했지만 조금 다른 나만의 방식으로 책의 내용을 적용해 보려한다.

마인드 맵을 통하여 로드맵을 그리고 그에 따른 구체적인 세부사항을 정하고 거기에 필요한 전략을 세우는 등..

반응형

블루투스를 이용하여 휴대폰과 PC를 페어링 하고 그 거리에 따라 자동으로 잠금 기능을 제공

여러모로 쓸모도 있고 재미있는 유틸(Freeze)이기에 포스팅합니다.

보안적 요소와 Green Screen Mode로 모니터 화면을 끄거나 Sleep 상태로 전환하여 절전 효과

일단 블루투스가 되는 휴대폰과 PC가 있어야 되겠습니다.




뭐 PC에만 설치하면 되고 휴대폰에는 별도의 설치 과정이 필요치 않습니다.

Freeze 14일 동안만 무료로 사용 할수 있습니다.  구매시에는 한화로 약 13000원 정도

다운로드 링크 Freeze


Freeze 설명 동영상
 

사용후기..

Freeze를 설치하여 사용해보면서 신기하다는 생각에 자꾸 노트북 앞을 알짱거렸습니다.

잠깐 자리를 비울때마다 멀리서 꺼지나 지켜보고 다른 사람에게 말하며 보여주기도 하면서..ㅋㅋ

헌데 특이한 것은 블루투스가 거리를 측정하면서 설정거리를 벗어난후 작동하는 것인데

설정거리를 벗어나기 이전에 블루투스의 신호가 끊어지면  정상작동이 되지 않는다는 것입니다.ㅎㅎ

그리고 윈도우 작업관리자 및 로그인 부분의 설정이 약간 바뀌게 되는 것도 있습니다.

므튼 잘 사용하면 편하게 사용하리라 생각됩니다.

 
반응형


Dev & Tech Festival 커뮤니티 세미나 일정을 보고 사전등록을 하였습니다.

익히 알고 있는 분들이 세미나 발표를 하시더군요.. 명성이 자자하신 분들이라서 후다닥 신청했습니다.

그리고 OkGosu.Net 을 운영하시는 okgosu님께서 하시는 세션이 있네요.

okgosu님 블로그에서 이러한 소식을 못본것 같은데 말이죠. ㅎㅎ;


기타 다른 세션들도 등록을 하고 okgosu님 세션도 등록을 하였습니다.

블로그를 통해서 인연이 되고 이렇게 오프라인에서 뵐수있게되다니  기대가 됩니다.

okgosu님의 멋진 세미나 기대하고 있겠습니다.

너무 반가운 맘에 급히 포스트를 작성 하였습니다. ^^

개발자 소셜 네트워크의 날 Beer Party!!!

다른 개발자분들과 만나서 여러가지 생각과 이야기들을 나눌수 있는 진정한 축제의 자리@@

더군다나 Beer Party!!!  꼭 참여 하고 싶습니다!! ㅠㅠ

일단 무조건 신청!! 했지만 매일 반복되는 야근에 좌절될지도 모르는 이 안타까운 이내 마음 ㅠㅠ

아직 시간이 많이 남았지만 꼭 갈수 있는 생각을 가지고 기쁜 마음으로 신청하였습니다.^^

문득 작년에 IBM DeveloperWorks 에서 주최한 "개발자들의 수다" 가 생각이 나네요.

거기서 다른 개발자 분들과 많은 이야기를 나누었던 기억이 납니다. 정말 즐거운 수다였는데요..

이번에도 그 못지 않은 시간들이 될꺼 같다는 생각이 드네요.. 이 글을 보시는 분들도 등록하시길..

반응형

목차
  • 설득의 법칙1. 상호성의 법칙
    설득의 법칙2. 일관성의 법칙
    설득의 법칙3. 사회적 증거의 법칙
    설득의 법칙4. 호감의 법칙
    설득의 법칙5. 권위의 법칙
    설득의 법칙6. 희귀성의 법칙
본문중에서
  • 수많은 불로소득자들에 의해 사용되는 다양한 미끼 기법들은 모두 동일한 순서를 따르고 있다. 먼저 고객의 구매 결정을 유도하는 미끼가 제공된다. 그러나 이 미끼는 고객이 구매에 대한 의사결정을 마치고 실제로 구매 행동에 들어서기 직전에 교묘하게 제거된다. 그러나 놀랍게도 미끼가 사라졌음에도 불구하고 고객은 여전히 구매행동을 계속하고 있다. 물론 이 기법이 모든 사람에게 다 효과적인 것은 아니지만, 앞서의 자동차판매 영업사원의 예처럼, 많은 사람들이 그와 같은 상황에서도 여전히 자동차를 구매하고 있는 것은 숨길 수 없는 사실이다. 자동차 판매업자들은 우리의 개인적 개입이 그것을 합리화하는 새로운 지원병을 만들어 낸다는 사실을 명확하게 이해하고 있었다. 그리하여 이 새롭게 만들어진 지원병들만으로도 개입은 충분히 합리화되어 원래 우리를 개입시켰던 이유가 제거된다 하더라도 전혀 문제가 발생하지 않는다.
    (/ p.162-163)

평소에 책을 많이 읽는 편은 아니다. 요즘들어 책을 많이 구매하게 되는데 물론 다 읽은 것은 아니다.

아직 집에 끝까지 다 읽지 못한 책들이 고이 잠들어 있기도 하다.

대부분이 기술서적이란것도 큰 이유이긴 하다. 어릴적부터 책을 가까이 하지 않아서 ㅡㅡ;; 인 이유도 있다.

대학을 졸업하고 사회생활을 한지도 어느새 1년이 넘어갔다. 아직 사회 초년생..^^

지방에서 올라와 서울에 정착하고 매일 지하철과 버스를 갈아타면서 출퇴근을 한다.

평균 출퇴근 시간이 1시간30분씩 하루에 평균 3시간 이상을 이동한다고 보면 된다. 좀 더걸리만..

므튼 신문도 보지 않던 나는 출근 길에 지하철 신문을 꼬박꼬박 읽기 시작하였다.

1년정도 되니 좀 습관이 되는듯하다.. 그리고 퇴근길에는 책을 읽었다. 무식하게 기술서적 읽었다. ㅡㅡ;

그러다 보니 출퇴근 길에는 간단히 읽을수 있는 책을 사서 읽어야 되겠단 생각이 들어서 구입하였다. ^^
<2009.03.25>


--서평

설득의 심리학은 꽤 오랜시간에 걸쳐서 읽은것 같다. 이전에 비하면 꽤 빠른 속도이지만..

현재 다른 프로젝트의 지원으로 인하여 집을 떠나 아는 지인의 집에 민폐를 끼치고 있다.

하여 지원하고 있는 곳과의 지인의 집의 거리가 짧은 관계로 출퇴근시간의 짬이 별로 없다.

그렇다고 시간이 없는 것은 아니다. 그만큼의 시간이 나에게 허용되어 있지만

그 시간들을 잘 활용하지 못하고 그냥 보내고 있는 것이다. 아직 많이 부족한탓이다.

므튼 어찌되었건 주말에 시간을 내어 얼마 남지 않는 부분을 읽었다.

설득의 심리학을 보고 많은 것을 배운듯하지만 정작 활용하기에는 무리가 있다.

책의 내용때문이 아니라 아직 내가 완전히 책의 내용을 습득하지 못한탓이리라.

책의 내용을 일일히 예를 들며 서평을 쓸 정도로 내용을 다 기억하지 못한다.

단 책을 읽으면서 이런 거였구나! 하고 깨달은 바가 많은 것은 사실이다.

책의 이름처럼 설득의 심리학의 내용이 구성면에서 탁월하다는 것은 인정하지 않을 수가 없다.

내용면에서 정확하게 들어맞지 않을 지도 모르지만 이 책을 읽으면서 든 생각은 어찌 되었건..

책의 내용을 읽으면서 그 내용이 모순이 많을지라도 나는 공감을 하였고 이 책의 저자는

책의 내용으로 나를 설득하는데는 성공하였다는 생각이 들었다.

그 말인즉 책 자체는 나를 설득할만한 충분한 내용이였고 그것만으로도 설득의 심리학은 읽을 가치가 있다.

책을 읽으면서 내가 이러한 설득에 넘어갔었구나 생각도 하고 그 이후의 설득을 당하는 상황에서

나는 내 의견을 확실히 피력하고 그 설득의 의도를 낱낱이 파헤치려는 나를 볼수가 있었다.

하지만 한국사회에서 그냥 둥글게 사는 것도 알면서 넘어가 주는것도 중요하다는 것을 배우게 되었다.

너무 사람의 말이나 행동의 진의를 파악하려다가는 인간미가 떨어진다는 소리를 들을수도 있다.

분명 이책의 후반부에서도 명시하고 있듯이  설득의 진의를 파악하고 타파하는 것은 그런 설득의 기술을

이용하여 불합리한 이득을 취하려는 자들에 대한 저항을 위한 방안이라고 하였다.

므튼 책의 내용은 한번 훑어 보고 이해하며 적용하기에는 나에게는 무리가 있을듯 하다.

조금 시간이 흐른 후에 다시 한번 읽어보고 곰곰히 생각하며 내것으로 만들도록 해야겠다.

그리고 지인중에 영업직을 하고 있는 지인에게 이 책을 선물해야겠다는 생각이 들었다.

좀더 효율적인 영업을 하는데 많은 도움이 되리라 생각이 든다..^^

서평이라고 하기에는 좀 무리인듯한 내가 읽은 책의 감상평 정도이면 적절할듯하다.
<2009.04.26>   <-- 책을 다 읽은 날짜.

후에 다시 읽었을때 다시 서평을 쓰기 위해 위와 같이 작성일을 표시해야겠다.

이 다음 책은 "생각하는 프로그래밍"  ㅋㅋ 집에 아직도 손도 대지 못한 책이 너무 많다.

그중 대다수가 전공서적이지만.. 틈틈히 읽어 보도록 해야겠다.
반응형


유후~!  개발자여 미쳐라!   라고 하네요 ㅋㅋ

개발자와 IT종사자를 위한 축제의 장이 열린다고 하네요. 시간을 내서 꼭 가봐야 겠네요.

그리고 협찬사에 이번에 큰 사건을 일으킨 ORACLE 과 SUN 의 이름이 나란히 있네요..ㅎㅎ

그리고 바로 그 밑에 IBM의 이름도 보이고... 사건의 세 주인공이 나란히 있는 모습이네요.

갠적으로 SUN의 로고에 열광하고 IBM을 지지하는 편입니다.

IBM DeveloperWorks 의 위자드로 활동을 한 적이 있기때문에 초큼 좋아하는 편입니다.^^

내친김에 DeveloperWorks 홍보도 할겸 링크 걸어 봅니다. 좋은 자료들이 많이 있는 곳입니다.ㅋ

그리고 지난 날의 위자드때의 모습도 링크..   DW 1기들의 모습..   <--  제가 누군지는 아시는 분들만.

이런 포스트를 올리는 이유는 이런 정보를 공유해서 많은 사람들이 함께 하였으면 하는 바램입니다.

그리고 일에 지쳐가는 한국 개발자들에게 열정을 불어넣는 계기가 되었으면 하는 바램입니다.

Fire up your passion Again!!!

반응형
MySQL을 위한 최적의 썬 시스템

'MySQL을 위한 최적의 썬 시스템' 온라인 세미나에
참여해 주신 감사선물로 영화예매권을 보내 드립니다!

아래 인터파크 영화예매권 등록 번호를 전달하여 드리오니,
인터파크 영화예매권 등록 웹사이트로 이동하셔서 등록 후
사용하시기 바랍니다.


    예매권 등록번호 :   F7***36298****

img

위 예매권 등록번호는 2매까지 예매가 가능한 번호입니다.
각기 1매씩 예약은 불가하며, 한번에 2매를 동시에 예매/이용하셔야 합니다.
 
* 영화예매권 등록 웹사이트 : movie.interpark.com/Movie/Voucher/IMGift_Sel.asp
* 영화예매권 등록 문의 : 1544 - 1555
 
 
* 노트북 가방 경품 당첨자 : jeongy***.lee@han*****.com
ttkd83@***omms.co.kr
lsk79@**.com
   (선정되신 3분께는 개별적으로 연락 후 선물을 보내드립니다.)
 
 
다시보기 다운로드 자세히보기
 


저번주 수요일 오후 3시에 MySQL 온라인 세미나가 있었습니다.

온라인 세미나는 처음들어보는 것이었는데 시간이나 거리적인 문제가 걸리지 않으니 

편하게 들을수 있는 장점이 있었습니다. 하지만 오프라인 세미나의 매력을 앞서지는 못할듯합니다.

물론 채팅을 통한 커뮤니케이션이 가능하긴 하지만 저는 오프라인 세미나가 좀 더 낫다고 생각합니다.

오프라인 세미나에서 다른 분들과의 커뮤니케이션이나 인맥 형성등의 여러가지 기타 장점이 존재하기 때문이죠.

무엇보다 득템~!! 을 향한 저의 열정을 불사를수 있기 때문입니다. +_+ ㅋ

이번에 온라인 세미나 참가자에게 영화상품권을 주었네요. >> ㅑ~~오~~호~~~

하지만 노트북 가방은 역시나 쉽게 얻을수 없는 희귀템이였습니다. ㅠㅠ

오늘 오전에 도서이벤트 당첨 포스트를 올렸는데 이렇게 영화예매권 득템 포스트를 올리게되었습니다.

너무 득템 득템하다보니 진짜 저도 모르게 물욕에 집착하게 되는거 같습니다.

어떠한 세미나, 컨퍼런스에서 진짜 득템은 따로 있습니다. 말하지 않아도 다들 잘 아시리라 믿습니다.

단지 경품등은 거기에 따라서 오는 뽀나리와 같다고 보면 됩니다.

진정한 득템을 하도록 잘 보고 듣는게 중요하겠죠.^^   진짜 목적을 간과해서는 안되겠죠..

오늘 저의 운수는 대통인가 봅니다.^^  (참고로 저기 등록번호는 정상적인게 아니니 오해마시길^^)

반응형

IBM과 M&A 협상을 진행해 왔으나 인수가격 협상에서 갈등을 빚어오면서 협상이 결렬되었는데

오라클이 썬을 인수하는 결과가 나왔습니다.

IBM과의 인수 협상가에서 주당 10센트 가격차이로 인수되었다고 하네요. 오라클과 썬의 결합이라.

업계내에서 큰 파장을 몰고올 세기의 빅딜이 아닌가 생각됩니다.

오라클이 썬마이크로시스템즈를 74억불에 공식 인수(한화 약 9조8000억원)

썬의 공식 사이트에 올라온 글을 링크 걸어봅니다.  그리고 약간의 설명을 덧붙여 보자면

 주당 인수가격은 9.5달러이며, 이는 지난 주말 종가의 42%의 프리미엄이 얹어진 가격이다. 오라클은 썬마이크로 인수로 첫 해 영업이익이 약 15억달러가 증가할 것으로 전망했다.

갠적으로 여기서 궁금해 지는 것은 MySQL의 행보에 관한 것인데요..

MySQL이 전에 썬에 인수된바가 있고 이제 데이타베이스 부문에서 오라클과 겹치는 부분이 있는데요.

이미 MySQL은 인수 후에도 자신의 입지를 굳힌 상태고 지속적인 성장세를 보이기때문에

현 상태 유지로 별 변화는 없으리라 예측하는 것 같습니다. 

같은 부문의 겹치는 부분으로서 오라클의 정책이 현 MySQL에 어떤 영향을 미칠지가 궁금해지네요.

개인적으로 IBM 과 SUN의 인수협상을 보고서 내심 기대를 했었는데

오라클에 인수 결정이라는 소식을 듣고 놀라지 않을 수가 없었습니다.

그만큼 업계에 많은 영향을 미치던 거인의 행보에 관한 이야기이기 때문에

현재 JAVA 관련 일을 하고 있고 SUN 에 대한 개인적인 애착 또한 강했는데 좀 아쉽기도 합니다.

무엇보다도 SUN 로고가 달린 기타 물품들에 대한 애착이 강한것이지만 말입니다. ^^;

아직도 SUN로고가 달린 노트북 가방의 득템을 노리고 있는 저입니다.^^;; (조금 쨍피한 이야기네요.)
반응형
<출처: http://www.idg.co.kr/newscenter/common/newCommonView.do?newsId=51617 >

임철우님의 행복한 개발자 칼럼입니다. 조금 날짜가 지난 글이긴 합니다만 읽다가 퍼왔습니다.

기타 다른 주옥같은 글들이 많이 있네요. 그리고 이번 글은 요즘 제가 많이 느끼고 있는 부분이기도 합니다.

참고로 '아키텍트 이야기'란 책에 이글과 비슷한 맥락의 글이 기억에 납니다.

프로그래머로서 개발자로서의 자만에 대한 질책(?)이 될수도 있을것 같습니다.

기술과 업무.. 많은 개발자들이 이것들 중에서 업무에 대해 좌시하는 경향이 있는지도 모르겠습니다.

므튼 시간날때 임철우님의 행복한 개발자 칼럼을 쭉 읽어 봐야 겠습니다.

행복한 개발자를 꿈꾸며~~ 오늘도 야근입니다.. 개발자의 결혼 적령기에 관한 글도 좋은것 같습니다.^^
  AP7E92.JPGTV에서 이런 광고를 본 기억이 난다. 모두가 “아니오”할 때 “네”라고 대답을 하고, 모두가 “네”라고 대답을 할 때 “아니오”라고 했던. 자신의 생각을 확실하게 정하고 주변에서 뭐라고 하든지 자신의 생각을 펼치라는 내용으로 기억된다. 개발자로 일을 하는 것도 다름이 없다.

 

개발자로 일을 하려면 ‘십 분의 일이 되는 것’을 염두에 두어야 한다. 여기서 십 분의 일이란, 십을 이루는 기초를 이야기 한다. 기초를 먼저 탄탄히 하라는 의미다. 왜 그런지 살펴보자. 먼저, 같이 일을 했던 신입 개발자들에 대해서 잠시 얘기를 해보는 것이 좋을 것 같다.

 

어느 날인가 신입으로 들어왔던 B라는 개발자가 같이 들어왔던 신입 사원들보다 자신이 뒤떨어지는 것 같아서 계속 개발자로 일하는 것에 대해서 고민을 하게 된다는 이야기를 꺼냈던 일이 있다. 이런 얘기는 신입이면 누구나 한번쯤은 경험하게 되는 일련의 과정이라는 생각이 든다. 혼자서 열심히 짜는 프로그램과 다른 사람들과 같이 만드는 프로그램의 차이에서 오는 고민일 것이다.

 

처음에 개발자로 입문한 사람들은 프로그램에 대한 자신감이 있기에 개발자로서의 사회생활을 시작하게 되었을 것이다. 하지만 그 자신감은 어디까지나 혼자만의 생각일 뿐. 자신의 지식은 전체를 파악하지 못하고 일부분이 전체인 것처럼 보는 장님이 코끼리 다리를 만져 보고 이것은 무엇이다 하는 격이다.

 

다시 B의 고민으로 돌아가보면, 필자는 한 프로젝트에서 A와 B 두 개발자에게 같은 일을 지시하고 결과를 기다리고 있었다. A는 빠르게 처리를 했고 일 처리 속도가 떨어지는 B는 A에게 새로운 일이 주어질 때까지 끝내지 못하고 혼자 남아서 늦게까지 일을 하게 됐다. 결국 둘은 점점 차이가 벌어져 A에게 B가 처리해야 할 일까지 하나 둘씩 넘어가게 되었다.

 

이런 업무상의 차이에 대한 고민을 호소하는 B에게 필자는 이런 얘기를 해 주었다.

 

“개발자에게 있어서 가장 중요하다고 생각하는 것은 업무에 대한 이해다. 업무 프로세스에 대한 이해도가 가장 중요하며 그것을 구현하는 기술력은 그 다음이다.”

 

지금은 비록 기술력이 부족해서 쉽게 일 처리를 못하더라도, 그건 시간이 지나면서 자신이 조금만 더 노력한다면 극복 가능한 문제다. 하지만 업무 프로세스의 이해 없이 단지 기술로만 승부하려 한다면 최소 이중삼중으로 수정 해야 하고, 이는 점점 불어나 결국에는 일이 재미가 없어지고, 현업들로부터 일을 잘한다는 소리를 듣지 못하게 된다.

 

“그럼 어떻게 하는 것이 올바른 방법일까?”하고 머뭇거리며 질문하는 B에게 이렇게 대답해 주었다.

 

“프로그램으로 어떻게 구현할 것인가 보다는 왜 이런 업무가 필요한지를 먼저 생각해야 한다.”

 

프로그램으로 모든 것이 구현 가능하다고 생각할지 모르지만 실제적으로 업무란 것은 A나 B선에서 끝나지 못하는 경우가 태반이며, 어느 정도 확장을 고려해 두어야 한다.

 

개발이 끝났다고 생각한 시점 이후에 어쩌면 A부터 Z까지의 경우의 수로 일이 커질지 모르는 상황에서 자기가 맡은 부분만 보려고 하면 안 된다. 업무에 대한 이해도가 높다면 얼마든지 말로도 충분히 해결할 수가 있다. 그러면 일 잘 한다는 얘기를 듣게 될 것이다.

 

프로그램 100라인을 들여서 코딩을 해야 되는 것을 단지 업무에 대한 이해도 덕분에 10라인의 코딩으로 마무리하는 것도 가능하며, 같은 100라인이라고 해도 요건에서 생각지도 못했던 에러에 대응해 처리도 가능하게 된다.

 

시간이 흘러 B는 다른 프로젝트를 하게 됐는데, 우연히 B와 같이 일하는 현업으로부터 B가 일을 잘한다는 소리를 듣고는 왠지 기분이 좋았다. 아직도 프로그램 코딩 실력은 부족하다고 하지만 계속 자기 개발을 해나가면 실력이 좋은 개발자가 될 것이다.

 

십 분의 일이란 앞서 언급했던 CF처럼 남들이 다 “아니오”라고 말할 때 “네”라고 말하기 위해서 갖추어야 할 최소한의 조건이라고 생각한다. 어떤 상황에 처했을 때 자신에게 필요한 것이 무엇이며 핵심과 전후 상황을 파악하는 능력이 말이다. 이런 능력은 태어날 때부터 선택 받아서 얻게 되는 것이 아니며, 경험과 훈련에 의해서 이루어진다. 어쩌면 이런 습관이 몸에 밴 개발자를 보게 된다면 사람들은 고집이 세며 아는 체(잔머리 굴리는 사람)를 많이 하는 사람으로 오해 할지도 모르겠다.

 

이렇게 되기 위해서는 무슨 말을 했을 때 그게 왜 그럴까? 그럼 어떻게 될까? 자신도 모르게 습관적으로 생각해야 된다. 자신의 생각이 맞으면 모든 것이 즐거워진다. 이게 극단적으로 발전하면 전혀 경험이 없는 일도 알고 있는 척하는 것이 가능하다. 주의할 점은 모르는 사실에 대해 답을 했을 때는 반드시 자신이 했던 말이 올바른 대답인지 찾아봐야 하고 틀린 답이었다면 다음에 반드시 그게 아니었네요 하고 솔직하게 대답하는 습관을 들여야 한다. 아니면 거짓말쟁이로 전락하게 되어 아무도 믿어주는 사람이 없게 될지도 모른다.

 

십 분의 일, 간단한 습관이지만 행복한 개발자가 되어가는 하나의 팁이다.



반응형


오랫만에 글을 올리는거 같네요.. 컨퍼런스 정보와 함께 포스트를 쉽게 하나 올립니다.

별다른 작업없이 그냥 긁어서 올리네요.. ^^;;

요즘은 다른 프로젝트에 지원을 나와서 머얼리~~ 있어서 집에도 못가고 지인의 집에서 민폐를...

주말에 시간이 날지 모르지만 컨퍼런스 참가하고 싶군요..ㅋㅋ

득템~! 득템~! +_+   무엇보다 득템에 강한 의지를 불태우는 저입니다. ㅋ

전에 컨퍼런스에서 디자인패턴 책을 득템한 친구와 협상에 성공 하였습니다.

썬에서 테크블로거에게 주는 노트북 받침대와 교환하였습니다.

저에게는 잘만 놋북 받침대가 2개나 있어서 썬로고가 새겨진 받침대와 눈물의 결별을..

비닐조차 뜯어주지 못한 이 주인을 야속하게 생각하지마라!! 라는 외침과 협상 극적 타결!! ^^

나중에 어떤 책인지 책 서평과 함께 올리도록 하겠습니다. 지금 집이 아닌곳에 한달여간 머물게 되서..
반응형

ABSTRACT

Constructing a dynamic SQL statement with user input could allow an attacker to modify the statement's meaning or to execute arbitrary SQL commands.

EXPLANATION

SQL injection errors occur when:

1. Data enters a program from an untrusted source.

2. The data is used to dynamically construct a SQL query.



iBatis Data Maps allow you to specify dynamic parameters in SQL statements and are typically defined by using the # characters, like this:


<select id="getItems" parameterClass="MyClass" resultClass="items">
SELECT * FROM items WHERE owner = #userName#
</select>


The # characters around the variable name indicate that iBatis will create a parameterized query with the userName variable. However, iBatis also allows you to concatentate variables directly to SQL statements using $ characters, opening the door for SQL injection.

Example 1: The following code dynamically constructs and executes a SQL query that searches for items matching a specified name. The query restricts the items displayed to those where the owner matches the user name of the currently-authenticated user.


<select id="getItems" parameterClass="MyClass" resultClass="items">
SELECT * FROM items WHERE owner = #userName# AND itemname = '$itemName$'
</select>


However, because the query is constructed dynamically by concatenating a constant base query string and a user input string, the query only behaves correctly if itemName does not contain a single-quote character. If an attacker with the user name wiley enters the string "name' OR 'a'='a" for itemName, then the query becomes the following:


SELECT * FROM items
WHERE owner = 'wiley'
AND itemname = 'name' OR 'a'='a';


The addition of the OR 'a'='a' condition causes the where clause to always evaluate to true, so the query becomes logically equivalent to the much simpler query:


SELECT * FROM items;


This simplification of the query allows the attacker to bypass the requirement that the query only return items owned by the authenticated user; the query now returns all entries stored in the items table, regardless of their specified owner.

Example 2: This example examines the effects of a different malicious value passed to the query constructed and executed in Example 1. If an attacker with the user name wiley enters the string "name'; DELETE FROM items; --" for itemName, then the query becomes the following two queries:


SELECT * FROM items
WHERE owner = 'wiley'
AND itemname = 'name';

DELETE FROM items;

--'


Many database servers, including Microsoft(R) SQL Server 2000, allow multiple SQL statements separated by semicolons to be executed at once. While this attack string results in an error on Oracle and other database servers that do not allow the batch-execution of statements separated by semicolons, on databases that do allow batch execution, this type of attack allows the attacker to execute arbitrary commands against the database.

Notice the trailing pair of hyphens (--), which specifies to most database servers that the remainder of the statement is to be treated as a comment and not executed [4]. In this case the comment character serves to remove the trailing single-quote left over from the modified query. On a database where comments are not allowed to be used in this way, the general attack could still be made effective using a trick similar to the one shown in Example 1. If an attacker enters the string "name'); DELETE FROM items; SELECT * FROM items WHERE 'a'='a", the following three valid statements will be created:


SELECT * FROM items
WHERE owner = 'wiley'
AND itemname = 'name';

DELETE FROM items;

SELECT * FROM items WHERE 'a'='a';


One traditional approach to preventing SQL injection attacks is to handle them as an input validation problem and either accept only characters from a whitelist of safe values or identify and escape a blacklist of potentially malicious values. Whitelisting can be a very effective means of enforcing strict input validation rules, but parameterized SQL statements require less maintenance and can offer more guarantees with respect to security. As is almost always the case, blacklisting is riddled with loopholes that make it ineffective at preventing SQL injection attacks. For example, attackers can:

- Target fields that are not quoted

- Find ways to bypass the need for certain escaped meta-characters

- Use stored procedures to hide the injected meta-characters

Manually escaping characters in input to SQL queries can help, but it will not make your application secure from SQL injection attacks.

Another solution commonly proposed for dealing with SQL injection attacks is to use stored procedures. Although stored procedures prevent some types of SQL injection attacks, they fail to protect against many others. Stored procedures typically help prevent SQL injection attacks by limiting the types of statements that can be passed to their parameters. However, there are many ways around the limitations and many interesting statements that can still be passed to stored procedures. Again, stored procedures can prevent some exploits, but they will not make your application secure against SQL injection attacks.

< 출처: http://www.fortify.com/vulncat/en/vulncat/java/sql_injection_ibatis_data_map.html >

현재 참여하고 있는 프로젝트에서 IBATIS 프레임워크를 사용하고 있습니다.

우연히 IBATIS SQL Injection에 대한 자료가 있길래 흥미롭게 읽다가 이렇게 블로그에 옮겨 봅니다.

참고로 영문 자료로 되어있지만 어렵지 않게 이해할수 있기때문에 기타 설명은 달지 않겠습니다.

짧은 영어실력이고 ㅡㅡ; 정리해서 올릴 시간적 여건이 안되기에..(핑계입니다. ㅠㅠ)

담에 시간날때 다시 보고 정리해야 겠습니다.

+ Recent posts