i'T news2010.08.08 22:39



Daum 에서 하반기 신입/경력 직원을 모집 합니다. 모집 부분은 다음과 같습니다.




모집직군 상세 분야 입사지원 바로가기
개발 웹 프로그래밍
어플리케이션 개발
멀티미디어개발
검색엔진개발
데이터모델링
Front - End 개발
모바일개발
RIA
정보보호
시스템엔지니어
입사지원하기
서비스기획 웹 서비스 기획
검색 기획
입사지원하기
비즈니스 영업 / 영업지원
광고 상품 기획
광고 시스템 기획
입사지원하기
디자인 사용성 테스트
웹 UX 디자인
입사지원하기




더 자세한 사항은 채용 블로그채용공고 바로가기에서 확인 가능 합니다. 자세한 직군별 채용인원 및 업무 내용 지원 자격도 채용 공고 바로 가기에서 확인 가능 합니다. 






다양한 직군에서 대규모 채용을 진행중이니 많은 지원 바랍니다. 

Posted by Flash 동강
Review2008.12.16 01:49
 

 Naver가 새로운 얼굴을 보여 주기 시작하였다. 개방형 웹을 추구 하겠다는 선전포고가 있은지 2~3달 정도 지난것 같다. 지금 까지 여러가지 이유로 폐쇄적인 웹을 부추기고 있다는 비난을 받았던 Naver가 이번에 개방이라는 카드를 어떻게 잘 요리를 할지 기대가 된다. 

 내가 느낀 새로운 네이버의 얼굴은, 나름 만족 스럽다. 원래 심플한 스타일을 좋아하는 터라 지금 까지 포털의 복잡함은 인터넷을 자주 사용하는 나 조차도 어지럽게 만들기 충분하였다. 
 각각의 구역 부분은 크게 나눠서 복잡함을 줄인것에 한표, 그리고 오픈 케스트에 한표를 주고 싶다. 뉴스 캐스트는 지금까지의 뉴스와는 다르지 않다는 느낌이 든다. 이것 때문에 언론사 줄세우기다 뭐다, 말들이 많았지만.. 메인창에 자신의 오픈 캐스트를 바로 볼 수 있게 해 준것이 가장 잘한 일이라는 느낌이다. 



 오픈캐스트와 비교 되는 것이 다음의 블로그 뉴스이다. 예전부터 언론사 뿐만 아니라, 블로거들의 뉴스도 메인화면에서 보여주는 전략으로 많은 블로거들의 사랑을 받고 있는 다음, 나도 최근에 티스토리로 옮겨 오면서 다음블로그 뉴스의 재미남을 톡톡히 보고 있다. 오픈 캐스트를 처음 봤을때, 지금까지 존재 하고 있던 다음 블로거 뉴스나, 올블로그랑 뭐가 다를까 라는 생각을 했다. 우선 Flash UI를 이용하여 좀 더 Rich 한 User Interface 를 제공해 주므로서 사용자들의 시선을 집중시킨 것은 성공한거 같다. 하지만, 그렇게 효율적인 UI는 아니라는 생각이 든다.
차라리 공간을 더 활용하는게 좋지 않았나 하는 아쉬움이 남는다. Opencast 의 주체를 네이버 블로그로 고정해 놓지 않은 것이 천만 다행이지만, 많은 파워 블로그들의 양질의 정보를 네이버에서 보여 주겠다. 라는 카드를 내세우기에는 아직 불편한 점들이 많이 존재 한다. 아직 베터테스트 기간이라, 많은 부분이 바뀌어가겠지만, 기존에 메타 블로그에 익숙해진 유져들을 끌고 올수 있을지 관심이 간다.


결론 인 즉, 새로워진 네이버 메인 좋다. 하지만 Opencast 는 두고 봐야 겠다.

'Review' 카테고리의 다른 글

Javascript Vs Actionscript  (4) 2009.09.09
OpenCast 와 블로거 뉴스  (4) 2008.12.16
대한 민국 플래시 人의 밤  (0) 2008.12.11
구글 오픈 소셜 서밋을 다녀오다.  (0) 2008.12.11
Posted by Flash 동강
Mashup.OpenAPI2008.12.11 16:34

NHN-Daum, ‘2009 대한민국 매쉬업 경진대회’ 공동 개최  

올해 겨울에도 어김없이 매쉬업 경진대회가 시작 되었습니다. 더욱 풍성해진 행사 더 많아진 OpenAPI 그리고 이번에는 12월에 비발디에서 매쉬업 스키캠프 까지 예정으로 있다고 합니다.  

 

작년에 2회째 대회에 나가서, 여러 행사에 참여 하며 정말 많은 사람들을 만나며, 배운것 같습니다. 오픈 API 를 다루는게 처음이신 분들도 비교적 쉽게 접근할수 있고, 기존에 데이터가 없는 상태에서 멋진 컨텐츠를 만들수 있다는 것이 매쉬업에 가장 큰 매력이라 생각 합니다.  

금년에도, 많은 사람들과, 생각을 공유하고 좀 더 기발하고 멋진 작품들이 나왔으면 합니다.  

공식 홈 페이지 : http://mashupkorea.org/  

동강의 작년과 재작년 매쉬업 대회 리뷰
이태호님의 2009 매쉬업 경진대회가 열립니다. 
동강의 2008 대한민국 매쉬업 경진대회 출품작 : Yahweh Mini bible

 

Posted by Flash 동강
Review2008.12.11 13:11

(박상길님의 5회 Devday 소개) 

지난 3회 Devday 에 이어 이번에도 참여를 하게 되었습니다. 역시나 기대를 져버리지 않은 푸짐한 먹거리와 야참, 음식은 남아 있는데 너무 배가 불러서 안타까웠습니다. 모인 사람들과 간단한 Wii 테니스 게임을 즐기며, 같이 온 사람들이 CGV 영화 상품권을 쓸어 버리는 바람에 저도 그 덕좀 보게 되었습니다.

처음엔 예전에 하던 프로젝트를 이어서 할 생각이었지만, 코드의 복잡함과 버그 잡다가 시간 다 지나갈 것 같다는 생각이 들어서 급 변경, Papervision 을 이용한 이미지 검색을 만들었습니다.  

이번 Devday 를 참가에 의의를 두면서 즐기는 자리가 되었던것 같습니다. 아직 끝나지 않고 발표가 계속 되고 있지만, 다음 Devday in Jeju 때에도 참가하여 텐트를 치고 코딩을 하고 싶다는 바램입니다.

 아쉽게도 Wii 는 오창훈님에게로 갔지만, 축하드려요.ㅎ


'Review' 카테고리의 다른 글

Flash , Flex , Actionscript 관련 책 추천목록  (0) 2008.12.11
Daum devday 4th  (0) 2008.12.11
당신은 웹2.0 개발자 입니까?  (0) 2008.12.11
정신병원에서 뛰쳐 나온 디자인  (0) 2008.12.11
Posted by Flash 동강
Mashup.OpenAPI2008.12.11 12:04

매쉬업 경진 대회에 이어 다음 Dev Day 를 갔다 왔습니다. 구현의 목적이 아니라, 여러 사람이 자신의 생각을 공유 할수 있는 장이 된거 같아서 좋았습니다. 푸짐한 아웃백 점심식사와, 푸짐한 경품들,, 코딩하는 동안 삽질만 한거 같지만 즐거운 토요일 이었습니다. 6월에 있을 Dev day 가 또 기다려 지네요.ㅎ  

오늘 다음 Dev Day 2008 에 가서 팀들과 함께 만든 다음 블로그 어플리케이션 입니다. 기존의 다음 블로그를 사용하시는 분이 브라우져를 거치지 않고 자신의 블로그의 정보를 메신져 형태로 알수 있게 해 주는 프로그램입니다. 싸이를 하시는 분이라면 네이트온 메신져의 "새글 알림이" 라고 생각하시면 되겠네요. 아직 구현 단계라 스샷과 메인 소스만 첨부 합니다.ㅎ
Flex ㅋㅋ 하면 할수록 매력 적인데, 쉽지 않네요;;; Flash 하던데로 하면 되겠지 하면서 진행했는데 곳곳에서 삽질 ...

5시간 동안 삽질만 한거 같습니다;; 

 

자신의 블로그 정보를 알려 줍니다. 댓글이 달렷을 경우 위와 같은 창으로 표시해 줍니다.

자신의 블로그에 Posting 하는 창 


 글을 읽어 보는 부분 

 
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <mx:WindowedApplication xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" creationComplete="init()" width="420" height="541" xmlns:component="component.*" borderColor="#FBFBFB" themeColor="#F7F9FB" horizontalScrollPolicy="off" verticalScrollPolicy="off">
  3.         <mx:Script>
  4.                 <![CDATA[
  5.                 import mx.controls.List;
  6.                 import mx.events.FlexEvent;
  7.                 import mx.collections.ArrayCollection;
  8.                 import mx.containers.VBox;
  9.                 import mx.controls.Text;
  10.                 import mx.core.Container;       
  11.                 import flash.display.Sprite;
  12.                 import flash.events.Event;
  13.                 import data.db.SettingManager
  14.                 import blog.read.ReadList;
  15.                 import blog.read.ReadContents;
  16.                 import blog.read.ReadComment;
  17.                
  18.                 import mx.controls.Alert;
  19.                 import component.LoginPanel;
  20.                 import blog.write.WriteContents;
  21.                 import component.CompleteButton;
  22.                 import blog.login.BlogLogin;
  23.                 import com.adobe.air.notification.NotificationClickedEvent;
  24.                 import com.adobe.air.notification.Purr;
  25.                 import com.adobe.air.notification.AbstractNotification;
  26.                 import com.adobe.air.notification.Notification;
  27.                        
  28.                 public var resultList:XML;
  29.                 public var resultContents:XML;
  30.                 public var resultComments:XML;
  31.                        
  32.                 private var Postwrite:WriteContents = new WriteContents();
  33.                 private var settingManager:SettingManager;
  34.                
  35.                 public var tmpObj:Object;
  36.                 private const iconURL: String = "128_128.png";
  37.                 private var bmp: Bitmap = null;
  38.                 private var count:uint;
  39.                 private var timer:Timer;
  40.                 private var purr:Purr = new Purr(1);
  41.  
  42.                
  43.                 private function init():void
  44.                 {
  45.                         settingManager = new SettingManager();
  46.                        
  47.                         tmpObj = new Object();
  48.                        
  49.                                
  50.                         login_mc.addEventListener(MouseEvent.CLICK, onLoginhandler);
  51.                        
  52.                        
  53.        
  54.                
  55.                        
  56.                 }
  57.                 private function completeHandler(evt:Event):void{
  58.                                
  59.                                 bmp = Bitmap(Loader(evt.target.loader).content);
  60.                                 purr.setIcons([bmp.bitmapData], "This is tooltip");
  61.                                 var m: NativeMenu = new NativeMenu();
  62.                                 m.addItem(new NativeMenuItem('Show'));
  63.                                 m.addItem(new NativeMenuItem('Close'));
  64.                                 purr.setMenu(m);
  65.                                 showNoti("새글이 올라왔습니다.");
  66.                         }
  67.                        
  68.                         private function ioErrorHandler(evt:Event):void{
  69.                                
  70.                         }
  71.  
  72.                
  73.                         private function showNoti(str:String):void{
  74.                                 var icon:Bitmap = bmp;
  75.                                 purr.addTextNotificationByParams("DaumDesktop for DevDay", str, AbstractNotification.BOTTOM_RIGHT, 5, icon);
  76.                                
  77.                         }
  78.                
  79.                 private function onSendhandler(evt:MouseEvent):void
  80.                 {
  81.                         Postwrite.contentsWrite(post_mc.title_txt.text,post_mc.contents_txt.text,"tag");
  82.                
  83.                 }
  84.                 private function onLoginhandler(evt:MouseEvent):void
  85.                 {
  86.                         var popLogin:LoginPanel = new LoginPanel();
  87.                         popLogin.x = 90;
  88.                         popLogin.y = 100;
  89.                         addChild(popLogin);
  90.                        
  91.                 }
  92.                 public function onCompleteHandler(event : Event) : void {
  93.                                 var loader:Loader = new Loader();
  94.                                 loader.load(new URLRequest(iconURL));
  95.                                 loader.contentLoaderInfo.addEventListener(Event.COMPLETE, completeHandler);
  96.                         loader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, ioErrorHandler);
  97.                            
  98.                         timer = new Timer(3000, 1);
  99.                                 timer.addEventListener(TimerEvent.TIMER,
  100.                                         function(e:TimerEvent):void{
  101.                                         purr.alert(NotificationType.INFORMATIONAL, NativeApplication.nativeApplication.activeWindow);
  102.                                         });
  103.                                
  104.                                
  105.                                 resultList = event.target.respond_list;
  106.                                 drawList();
  107.                                 event.target.removeEventListener(Event.COMPLETE, onCompleteHandler);
  108.                         }
  109.                        
  110.                         private function drawList():void{
  111.                                 var kItem:XML = new XML();
  112.                                 for(var i:int = 0;i < resultList.item.length();i++){                                   
  113.                                         var kVBox:VBox = new VBox();
  114.                                         kItem = resultList.item[i];
  115.                                         kVBox.label = kItem.date + " : " + kItem.title + " [" + kItem.commentCnt + "]";
  116.                                         kVBox.width = 400;
  117.                                         kVBox.name = kItem.link;
  118.                                         kVBox.addEventListener(FlexEvent.SHOW,viewPostHandler);                                        
  119.                                         listAccordion.addChild(kVBox);
  120.                                        
  121.                                         if(i == 0){
  122.                                                 getPost(kItem.link);
  123.                                         }                                      
  124.                                 }                                                              
  125.                         }
  126.                        
  127.                         private function viewPostHandler(evt:FlexEvent):void{                          
  128.                                 getPost(evt.target.name);                              
  129.                         }
  130.                        
  131.                         private function getPost(_link:String):void{
  132.                                 if(tmpObj[_link]) return;
  133.                                
  134.                                 var rc:ReadContents = new ReadContents();
  135.                                 settingManager.loadData();     
  136.                                 rc.contentsread(settingManager.name, _link.split("/")[4]);
  137.                                 rc.addEventListener(Event.COMPLETE, onCompleteGetPostHandler);
  138.                                 //trace(_link);
  139.                                 tmpObj[_link] = true;                          
  140.                         }
  141.  
  142.                         private function onCompleteGetPostHandler(event : Event):void {
  143.                                 //trace(event.target.respond_contents);
  144.                                 resultContents = event.target.respond_contents;
  145.                                 var kText:Text = new Text();
  146.                                 kText.text = resultContents.elements('description');
  147.                                 listAccordion.selectedChild.addChild(kText);
  148.                                 event.target.removeEventListener(Event.COMPLETE, onCompleteGetPostHandler);
  149.                                 showNoti(kText.text);
  150.                         }
  151.                
  152.                        
  153.                 ]]>
  154.         </mx:Script>
  155.         <mx:TabNavigator id="tab_mc" x="10" y="34" width="400" height="500">
  156.                 <mx:Canvas id="read_mc" label="Post" width="100%" height="100%">
  157.                         <mx:Accordion id="listAccordion" x="10" y="10" width="379" height="446">
  158.                                
  159.                         </mx:Accordion>
  160.                
  161.                 </mx:Canvas>
  162.                
  163.                 <mx:Canvas id="write_mc" label="Write" width="100%" height="100%">
  164.                         <component:PostEditor id="post_mc"  x="10" y="9"/>
  165.                 </mx:Canvas>
  166.         </mx:TabNavigator>
  167.         <mx:Button id="login_mc" x="354" y="29" label="Login"/>
  168.         <mx:Label x="10" y="8" text="Daum bloger assistence on AIR" fontWeight="bold"/>
  169.        
  170. </mx:WindowedApplication>

 여러 사람이 단시간에 코딩한거라 지져분 하네요.ㅎ 우선은 메인 mxml 만 올림니다.ㅎ
코딩 뿐만 아니라, 여러 가지로 정말 도움이 되는 말씀을 해 주신 GS eshop 의 "오창훈" 님께 감사 인사 드리고 싶습니다. 꾸벅 



Posted by Flash 동강