얼마전에 PC깔면서 윈도우 메신저 9.0 깔면서 중복 로그인 기능이 추가된걸 알았다.

오늘 회사에 VPN 연결이 안되서

집 PC로 연결하였더지 중복 로그인으로 처리 되었다는..^^

문듯 어제 지하철에서 옴니아 폰 광고 받던게 생각이 난다..

WinCE가 깔려서 휴대폰에서도 메신저를...


생각해 보니.. 9.0으로 업그레이드 하면서 중복 로그인 기능을 넣을 수 밖에 없는 이유를 알 것 같다.

결국 전 장치를 아울르는 커뮤니케이션 방향으로 잡아가고 있는 것...

구글, 애플 같은 기업들의 실적과 영향력이 커저가는 와중에도

MS가 보여주는 행태를 보면 어쩐지 좀 섬듯한 생각이 든다.

'개발자세상' 카테고리의 다른 글

오랜만에 쳘야  (0) 2009.03.08
초심으로.....  (0) 2009.03.04
네X버 ? 개X버  (0) 2009.02.15
대학원...?  (0) 2009.01.21
NHN DeView 2008 행사를 다녀와서  (2) 2008.11.23
Posted by headiron
,

네X버 ? 개X버

개발자세상 2009. 2. 15. 11:47
이번에 DNA와 NXN 간의 API Integration 관련해서 Support 업무를 맡게 되었다.

그동안의 History를 들어 보니 NXN 쪽에서 좀 그렇게 대처했던것 같다.

처음에는 구글,오버츄어 쪽과 연동을 해왔으니깐 우리에게 많은 것을 가르쳐 달라고 하다가

좀 배우고 나니 너희들이 알아서 하라는 식이란다..

예전에 테라스 있을 때도 비슷한 얘기를 들었는데

( 메일 관련해서 문제가 많으니 메일 솔루션 살테니 

  무료로 컨설팅 비슷하게 해달라고 했다가 

  결국 자기내가 다 처리하고 잎 닦았다는..  )

한쪽 얘기를 들은거라 100% 뭐라 하기는 그렇지만

어느 정도는 NXN의 사업 스타일을 알 수 있을 것 같다.


뭐.. 생각해보면 내가 테크빌 있을 때도 저작도구 시장 뛰어 든다고

영산정보통신 대려다가 그내들 저작도구 시연받고 그랬던거를 생각하면

어디가나 그런 면은 있는 것 같기는 하지만.

매출 1조원을 넘어선 대한민국 대표 인터넷 기업이

그런 식으로 사업을 진행한다는 건 좀 문제가 있어 보인다.

큰 기업 일 수록 사회적인 책임이 있는 건데...

어쨋든 기술적으로 앞서가기 위해 노력하는 NXN 인 만큼

업무 진행이나 사업 부분에서의 진행 방식도 대한민국을 대표하는 기업 답게 처신했으면 한다.

'개발자세상' 카테고리의 다른 글

초심으로.....  (0) 2009.03.04
윈도우 메신저 9.0  (0) 2009.02.22
대학원...?  (0) 2009.01.21
NHN DeView 2008 행사를 다녀와서  (2) 2008.11.23
VMWare server2 설치 후  (0) 2008.11.04
Posted by headiron
,
지난번에 신상철 박사의 온라인강의 시도하다 다 실패하고 이번에 JavaFX 신청해서 Lesson 1을 보았다.

다들 JavaFx에 대해서 호의적인 의견이 많은데...

과연 성공할 수 있을지...

1.우선 지금 JavaFx를 실행할려면 Client Site에서 Jdk(혹은 Jre) 1.6 u 10 이상이 깔려 있어야 한다.

일반 유저들이 Flash는 많이 깔려 있어도 Jre 가 깔려 있기는...

물론 자동 다운 로드 기능이 된다면 좋지만..

Flash 처럼 가볍게 깔리지 않는 이상은 일반 사용자들은 다운로드를 닫아 버리기 쉬울 듯하다.

2. 문법이 난해하다.

사실 프로그램 초심자들에게는 쉬울 수 있다.

하지만 Java Programing에 익숙한 개발자들에게는 Script 형식의 언어 스타일이 어려울 수 있을 듯 하다.

( 하기는 요즘 Ruby 등 script 형태의 언어도 Java에서 지원되는데...-.- )

JavaFx가 Flex나 Silverlight 보다 강점을 가진다고 하는 부분중에 하나가 Java Friendly 함인데

이런 식이라면 Flex가 더 좋을 지도 모르겠다.

3. 개발자 중심이다.

개발자들이 함께 Co-work하는 디자이너들이 쉽게 JavaFx에 접근 할 수 있어야 한다.

PPT를 보니 Sun에서도 이를 인지 했는지 디자이너 Tool에 설치하기 위한 PlugIn을 개발해 놓은 듯 하다.

과연 디자이너들에게 어느정도 어필할 지는 두고 봐야 할 일 일듯하다.

4. One-Source , multi platform?

UI AddOn 개발시 ZK Framework을 쓰면서 겪었던 문제점은

Framework 자체적으로 Web , Mobile을 지원하다가 보니 

Dual Client에 공통적인 기능 제공을 위해

JavaScript나 DHTML의 고급 기능 등을 구현해주기 어려운 것을 보았다.

결국은 어떻게든 방법을 찾아서 그 부분을 구현해 주었지만

그 순간 부터 one-source , multi client platform 원칙은 깨지는다는 느낌이었다.

JavaFx에 대해서도 같은 걱정이 든다.

특히 Dynamic 한것을 좋아 하는 사용자들에게 이 부분을 어떻게 설득할 수 있을 지 모르겠다.


물론 너무 부정적인 부분만 있는 것은 아니다.

특히 봄(여름이었나.. ) 에 나온다는 TV client 부분은 기대가 많이 된다.

아마도 요즘 Issue가 되는 IPTV 도 포함시키지 않을 까 기대가 된다.

( 사실 요즘 IPTV가 개인적인 관심분야이기도 하고... 밥 벌어 먹을라면 이 부분도 Study가 필요하다는 생각이 들기도 하고..-.- )


어쨋든 나의 걱정이 기우였으면 한다.

베스킨라빈스 31 에서 큰 컵에 다양한 아이스크림 선택해 놓고선 제일 위에 하나 맛보고
다 맛없다는 우를 범하는 것이기를 바란다.

'개발자세상 > 자바세상' 카테고리의 다른 글

ZK에서 Spreadsheet 사용기  (0) 2009.04.16
ClassPath에 있는 파일 가져오기.  (0) 2009.03.18
Process class 사용시 주의점  (0) 2008.11.07
JVMPI, JVMTI  (0) 2008.07.30
Java One 2008 방문 후기를 보고  (0) 2008.06.26
Posted by headiron
,
이번에 7.0 과 7.1 소스 비교하여야 할 issue가 발생해서 7.0 과 7.1 svn 정보를 다 checkout하고 비교를 하려니 막막하다...

이주영 차장님에게 도움을 구하니 답이 나온다.

( 흐... 역시 모르는건 물어서 배워야 한다는... )


find ./UI_700 -type f |grep -v .svn |sed -e 's/\.\/UI_700//g' |while read SRC; do echo $SRC; echo; diff ./UI_700$SRC ./UI_710$SRC ; echo "-----"; done > diff.result.txt

1. find ./UI_700 -type f : UI_700 디렉토리의 전체 파일을 리스트업 한다.
2. grep -v .svn : 1번 결과 중 .svn이 들어간 파일은 제거 한다. ( .svn 디렉토리에는 svn을 위한 meta-data가 들어가므로 해당 파일은 비교대상에서 제외한다. )
3. sed 명령을 통해 파일명 중 ./UI_700 부분을 제거한다.
4. 위 결과를 한줄 단위로 fetch 하여 $SRC 변수에 저장한다.
5. diff 수행
6. 결과를 diff.result.txt에 저장

script를 만들려고 했었는데..-.-

이주영 차장님 감사합니다>^^

'개발자세상 > Shell 관련' 카테고리의 다른 글

Shell 에서 FTP uploading check  (0) 2013.03.21
공용키 기반 인증  (0) 2010.01.26
VI 문자열 대치  (0) 2009.01.23
특정 이름의 file이 같은 파일 들인지 비교  (0) 2008.12.08
"join" command  (0) 2008.11.21
Posted by headiron
,
누가 정리해 놓은건지는 몰라도 정말 잘 정리 되어 있는것 같다.



Vi: Search and Replace

Change to normal mode with <ESC>.

Search (Wraped around at end of file):

  Search STRING forward :   / STRING.
  Search STRING backward:   ? STRING.

  Repeat search:   n
  Repeat search in opposite direction:  N  (SHIFT-n)

Replace: Same as with sed, Replace OLD with NEW:
 
 First occurrence on current line:      :s/OLD/NEW
  
 Globally (all) on current line:        :s/OLD/NEW/g 

 Between two lines #,#:                 :#,#s/OLD/NEW/g
  
 Every occurrence in file:              :%s/OLD/NEW/g 
Posted by headiron
,

대학원...?

개발자세상 2009. 1. 21. 21:56
지난 주 부터 박형준 차장님이 출근 하기 시작헀다.

뭐.. 박 차장님한테 예전에 조교하실 때 강의 들었었다고 하니

좀 놀란듯한 눈치시다...

여기저기 다니면서 이런 경우 있었을 텐데..


뭐.. 아직 몇 일 같이 생활 해 보진 못했지만...

어제 오늘 회의 하면서 참 말을 조리있게 잘하고 핵심 적인 부분도 잘 끄집어 낸다는 느낌을 받았다.

물론 그분 원래 성격이 그럴수도 있고... 

박차장님과 나의 관계 때문에 그런 느낌을 강하게 받는 건지도 모르겠지만...


내 느낌은 대학원 생활 하셨던 것도 어느 정도 작용하지 않았을 까 하는 생각도 들었다.

예전에는 대학원에 대해서 마냥 거부감이 들었었는데 ...

박 차장님을 보면... 그때 좀 여유만 있었다면 한 번 다니는 것도 좋지 않았을 까 하는 생각이 든다.





'개발자세상' 카테고리의 다른 글

윈도우 메신저 9.0  (0) 2009.02.22
네X버 ? 개X버  (0) 2009.02.15
NHN DeView 2008 행사를 다녀와서  (2) 2008.11.23
VMWare server2 설치 후  (0) 2008.11.04
CVS Command 창에서 특정 버젼의 파일 가져오기  (0) 2008.10.31
Posted by headiron
,

뭐.... 그냥 개발하면 이런 Case가 없겠지만...

Package 제품이다 보니 사용자쪽에서 Varchar2로 선언된 Field에 Numeric Data를 집어 넣은 Case가 발생하였다.

Mysql에서는 조건절에 일반 numeric data처럼 ''를 사용하지 않으면 잘 실행되었는데..

( 즉.. SELECT ... FROM Campaign WHERE insertionOrder > 6 )

Oracle에서는 위와 같이 하면... "ORA-01722: invalid number" 오류가 발생한다.

예전에는 됐던것 같은데.... 하고 생각해보니 내가 이렇게 썼던 기억은 없는것 같다.^^

물론 ''를 줄 경우에는 character 비교가 되니 10 같은 값은 numeric으로 비교하면 6보다 커도 character로 비교되면 6보다 작아 나오지 않는 다는...-.-

염대리님하고 상의를 해본 결과 아래와 같은 Query가 나왔다.

select insertionOrder from Campaign where decode(length(translate(insertionOrder, 'A1234567890','A')),null, to_number(insertionOrder), 0) > 6

위에 파란색으로 표시된 부분은 Numeric value일 경우 null을 Return해 주는 Query이다.

( translate function(A,B,C) 는 A 문자열내에 있는 B character들을 C character들로 치환 해 주는 function이다. 즉 위의 경우는 A->A , 1 ~ 9 , 0-> 치환 없음 이 되므로 translate 실행 결과 숫자 데이터들은  null(확실하지는 않지만 length 결과가 null이 되는 걸로 봐서는 null이 맞을 듯 싶다.)이 되면서 이를 통해 numeric data 여부를 판단할 수 있는 것이다. 

염대리님이 찾아 낸 또다른 Tip은

select * from ( select * from Campaign where LOWER(insertionOrder) = UPPER(insertionOrder)) where insertionOrder > 6

인데 애석하게도 우리 System은 Character insensitive 환경을 구성하여

일단 Character 값을 LOWER(insertionOrder) = UPPER(insertionOrder) 로는 제거할 수 없다는...-.-


( 그나저나 어떤 설정으로 Character insensitive하게 구성했는지.. 

  아직 까진 그 option을 본적이 없는데...

  그러고 보니 "_" 두개 이상일경우에 like 검색 잘 되지 않던 Issue도 option으로 해결 한것 같은데.. 

  흠.. 언젠가 본사 쪽 사람이랑 얘기할 기회가 생기면 이 부분에 대해 한번 물어 봐야 겠다.^^ )
Posted by headiron
,
RMF Patch Tool을 만들면서 정팀장님이 알려준 command 이다.


shell>> (find <directory name> -name "<file name>" | xargs -i md5sum {}) | cut -d" " -f1 | sort | uniq -c | sort -rn      
   1489 ad4b435cf7bb1510450ac462e5989bd4
    337 d8c24915ea62f9fab3f9b6bc19448bde
     22 d93bc56dca97d6af9d3a764cda23f4e5

이런식으로 결과가 나온다.

즉 <directory name> 폴더에 있는 <file name>의 파일들을 찾아 checksum 값에 따라서 분류 한 후 count를 하면
"ad4b435cf7bb1510450ac462e5989bd4" 값을 checksum 값으로 가지는 파일이 1489개
"d8c24915ea62f9fab3f9b6bc19448bde" 값을 가지는 파일이 337 개
"d93bc56dca97d6af9d3a764cda23f4e5" 값을 가지는 파일이 22개
이런식으로 출력되는 것이다.

위의 결과를 기준으로 특정 checksum 값을 가지는 파일 list를 구하려고 할 경우
shell>> (find <directory name> -name "<file name>" | xargs -i md5sum {}) | grep  <checksum>

<directory name>폴더내에 <file name> 이름을 가지는 파일 들 중 <checksum>값을 checksum 값으로 가지는 file들 list가 출력된다.

흠... 이래저래 요즘 shell 많이 배우게 된다.

참고로 위의 명령 중 xargs 명령은 javascript의 eval 명령문처럼 특정 명령을 만들어 실행 시켜 주는 그런 명령문이다.

'개발자세상 > Shell 관련' 카테고리의 다른 글

Shell 에서 FTP uploading check  (0) 2013.03.21
공용키 기반 인증  (0) 2010.01.26
서로 다른 디렉토리의 전체 파일 diff 실행하는 script  (0) 2009.01.30
VI 문자열 대치  (0) 2009.01.23
"join" command  (0) 2008.11.21
Posted by headiron
,

참 오랜만에 토요일 세미나에 다녀왔다

재현 만난 이후로는 좀처럼 토요일 세미나에 잘 다니지 못했는데 ...

사실 처음에 세미나 신청을 하면서

NHN이 세금으로 돈 내기는 아깝고 해서 돈 지랄을 하려 하는 구나 하는 생각도 했던 건 사실 이다.

그리고 실제로 가보니 돈지랄도 조금 한듯 하다.(^^)

금욜날 퇴근 하면서 어떤 세션을 들을 까 하다가

B세션 위주로 듣기로 했다.

첫번째 세션의 "네이버 검색 2008 그리고" 이세션을 듣고는 사실 그냥 집에 갈까... 하는 생각도 했다.

뭐 그냥 지들 자랑하는 거 아냐... 하는 생각이 좀 들었다.

근데 두번째 세션 부터 그런 생각이 줄어 들기 시작 했다.

두번째 세션인 UX 관련 세미나는 신선했다.

사실 NHN 같은 큰 조직에서 일해 본 경험이 없었으니 UX에 맞추어 화면을 설계해 나가는 그들의 노력이 가상했고 그렇게 할 수 있는 토대가 만들어 져 있는 모습이 부럽기도 했다.

세번째 세션의 "네이버 웹서비스 개발 플랫폼과 도구"

사실 개발자로서 제일 관심이 가는 부분이었고 발표자 분도 그런 생각을 하셨는지

발표 시간을 무료 10분이나 넘겨 가면서 상세하게 잘 설명해 주셨다.

들으면서 우리가 말로만 SOA , ESB를 얘기하지만 그것을 자신들의 실정에 맞게 받아 들이고 구현해 내는 모습을 보면서 달리 그 많은 사람들의 NHN에 있는게 아니구나 하는 생각이 들었다.그리고 그런 용어들에 휘들리면서 조금도 비판하지 못하고 그 시류에만 쫓아 가려는 내 자신이 부끄럽다는 생각이 들었다.

기본적은 개념에 대햇서는 이해를 했는데 ... 플랫폼의 실제 구현 소스를 볼 수 있었으면 하는 아쉬움도 들었다.

그리고 제일 재미있었던 세션은 아마도
마지막 세션 "차세대 인프라 관리 기술 - Green IT - " 였다.

사실 이 부분에 대해서 그닥 땡기지 않아서 A세션으로 옮길려고 했는데 앞 세션이 늦게 끝나 기도 해서 어쩔 수 없이 들었는데 ...

그냥 A 세션 들었다면 엄청 후회 했을 것 같은 좋은 얘기를 많이 들었다.

그리고 충격도 많이 받았다.

1U 서버의 환경 오염이 SUV 한대의 운영 효과랑 동일하다니...

내가 그렇게 환경 오염에 대해서 비판 하면서도 내가 그 선봉장에 있다는 얘기는  충격이었다.

그리고 그런 부분까지도 생각하고 있는 NHN의 규모나 회사 분위기도 부러웠다.



전체적으로 NHN이기 때문에 큰 규모로 남 부럽지 않게 세미나를 준비 할 수 있었겠지만

그 안에 보이는 행사 진행의 세심함이나 ( 중간에 요가 강사 들어오는 세미나는 첨 이었음 ^^ )

자신들의 개발 환경에 대해서 개괄적이나마 공개 해 주는 모습

그리고 우리가 은연중에 생각하지 못하고 간과하던 부분을 짚어 주었던 모습은 좋았다.

사실 우리나라 No.1 포털에 대한 막얀한 질투감으로 싫어 하는 부분도 있었는데

그들안에 내제된 No.1 포털로서의 자부심 그리고 책임감도 느낄 수 있었다.

어쨋든 참 대단한 회사라는 생각이 들었고

No.1 이기 때문에 겪어야 할 많은 문제점을 잘 해결해 나가가 있구나 하는 생각이 들었다.



세미나 갔다 와서 재현이에게 세미나 얘기를 했더니 그럼 왜 NHN 안가냐고 한다.

뭐.. 어제 본 모습으로 벌써 NHN에 가고 싶기도 했는데

그래도 오랫동안 꿈꿔왔던 내 꿈이 있어서 갈수 없다 했더니 수긍한다.^^

어제 보았던 그 모습 그 생각을 잃지 않았으면 하는 바람이다.

'개발자세상' 카테고리의 다른 글

네X버 ? 개X버  (0) 2009.02.15
대학원...?  (0) 2009.01.21
VMWare server2 설치 후  (0) 2008.11.04
CVS Command 창에서 특정 버젼의 파일 가져오기  (0) 2008.10.31
휴... hibernate  (0) 2008.10.09
Posted by headiron
,
RMF Bug Escalation Toool 개발 하면서 7.X 만 지원하도록 개발을 했는데

6.X 도 지원해 달라고 연락이 왔다.

6.X의 경우 API에서 Creative Read시 creative/component file name을 return하지 못하여 지원하지 못했는데

정팀장님이 DB에서 결과 파일을 가져와서 이를 find로 찾은 결과 파일과 "join" command로 처리하자는 얘기를 해주었다.

나는 그냥 자바에서 어떻게 처리 좀 해 볼라 했는데 ( 솔직히 아직도 shell 보다는 java가 훨 익숙하다는 .. )

정팀장님은 역시 자바 보다는 먼저 shell을 생각 한다.

사용해 본 결과 일단 실행 속도는 상당히 괜찮아 보였다.

쓰는 방법도 그다지 어렵지 않고

다만 join을 하기 위한 두개의 파일이 반드시 정렬이 되어 있어야 한다.

특히 정렬이 ascii code값에 의한 정렬이 아닌 LC_COLLASE 설정값에 의해 정렬 되어 있어야 한다고 한다.

( 테스트 중에 ascii code 값으로는 /QA/ 가 /QADE/ 보다 앞서는데 ( "/"가 "D"보다 ascii code 보다 앞선다.) join이 걸리지 않아 해당 파일을 sort 한 후(sort command 이용 ) 다시 실행해 보니 join이 실행되었다.)

그리고 이건 shell 실행시 항상 유의해야 할 일이지만 비교 파일이 dos 포멧일 경우 문제가 발생할 수 있다.
( 비교 필드가 그 줄의 마지막 필드라서 그 문제가 특히 발생한것 같다.

  이 issue는 vi command 모드에서 :set ff=unix 를 실행하여 해당 파일을 unix 모드로

  수정 한 후 사용하면 된다. )

이번에 사용한 형태는

join -1 5 -2 1 -o 1.1,1.2,1.3,1.4 -t ^ a.txt b.txt > result

input과 output 파일은 "^"를 구분자로 필드를 구분하고 ( "-t ^" option 부분 : default는 white space 이다. )

첫번째 파일의 5번째 필드와 두번째 파일의 1번째 필드에 대해서 join을 실행하며

( "-1 5 -2 1" option 부분 )

첫번째 파일의 1, 2, 3, 4  번째 필드를 출력하고

( -o 1.1,2.1,1.3,1.4 option 부분 )

결과는 result 파일에 저장하는 형태이다.

테스트 결과 정렬만 되어 있으면 DB에서 join하는 것과 동일한 효과를 볼 수 있다.
Posted by headiron
,