변화하는기술과개발자의경쟁력 유상용 IT Advisor/ 부장 한국마이크로소프트
개발자고충상담.. 2007 년 11 월 5 일 현재.. 2년정도되는개발자입니다... 개발자여러분들.. 개발자의미래는어떻게될런지요!! 지금저는젂홖점에놓여있습니다. 계속개발쪽으로밀고나가야할지.. 아님.. 다른직종으로이직을해야할지.. 큰고민 입니다 ;; 다른분들생각은어떠신지요?? http://www.devpia.com/maeul/contents/detail.aspx?boardid=69&maeulno=28&no=10002 &page=1
댓글들 저는개발자가좋습니다 ~-_ -;; 개발하면행복하니깐 ~.( 중략 ) 어둡다에한표.. but 분야가그어디든.. 목표를향한끊임없는도젂과열정이있다면... 성공하겠죵... 꼭개발자라는분야가문제겠습니까? 앞으로우수한인재들이개발쪽으로맋이와줬으면하는바램입니다. 똑똑하거나노력하는사람들이이쪽을오지않는다면,.. 앞으로한국의개발자는.. 열악한개발홖경속의단순반복노동일지도모르겠다는생각을해봅니다.
댓글들 ( 계속 ) 밀고나가십시오.. 뜻을품고한우물맊파다보면 언젞가빛을볼날이오겠지요... 막연하게개발자의미래는어둡죠. ( 중략 ) 미래의성장가능성... 자바개발자맊몇맊이라던데.. 본인의노력이가장중요합니다. 이정도숫자가가능하다는건.. 열정이없는개발자라면 1년이건 10년젂문직이아니란뜻입니다. 이건단순한사무직업종과다를바없을것입니다.
개발자들의꿈?
개발자 (Developer)
개발자 (Developer)
변화에대한경험 Beginning PC, MS-DOS GUI, Windows Internet,.NET, XML, Web Services
요소기술의변화 C/C++, Assembler MS-DOS VB, Delphi, PowerBuilder Database HTML ASP, JSP WAS MTS/COM+ XML Web Services Embedded
UX(User Experiences) 의변화 윈도우 3.0 윈도우 95 윈도우비스타 오피스 2007
짂화하는웹 더욱더풍부한기능의 UI 고화질의미디어서비스 새로욲비즈니스모델과연결
데스크탑애플리케이션의변화.NET Framework 3.0
개발자의경쟁력 (UX 기술 )
XAML 을통한 UX 디자인 XAML = Extensible Application Markup Language 도구를통해쉽게접귺 코드와컨텐츠의구분 클라이언트애플리케이션과브라우저에서랜더링 XAML <Button Width="100"> OK <Button.Background> LightBlue </Button.Background> </Button> C# Button b1 = new Button(); b1.content = "OK"; b1.background = new SolidColorBrush(Colors.LightBlue); b1.width = 100; VB.NET Dim b1 As New Button b1.content = "OK" b1.background = New _ SolidColorBrush(Colors.LightBlue) b1.width = 100
디자이너와개발자갂의생산성 디자이너가화면설계 XAML을이용하여디자이너와개발자는자연스러운협업이가능하다 디자이너와개발자를위한마이크로소프트의도구들 XAML을통한선언적인프로그래밍 협력업체의도구들 ( 예, Aurora by Mobiform, ZAM 3D by Electric Rain) 개발자가비즈니스로직을추가
변화의시대 - 개발자의경쟁력은? 기본스킬 웹.NET 3.0,.NET 3.5 LINQ(Language Integrated Query) ASP.NET 2.0, ASP.NET AJAX Silverlight 1.0/1.1 클라이언트애플리케이션 WPF(Windows Presentation Foundation)
기술요소들 웹웹 + Silverlight 윈도우 플랫폼 ASP.net 2.0 ASP.net 3.5* Silverlight 1.0 Silverlight 1.1* WPF 3.0 WPF 3.5* 실행위치 Web Server + Browser Web Browser as Plugin Web Browser as Plugin in IE or on desktop in IE/FF or on desktop Client.Net None None Silverlight.Net 3.0.Net 3.5* 운영체제 Any Win/Mac Win/Mac Win XP 이상 Win XP 이상 Client Enablers HTML + AJAX + Media, Vector s, Animations + UI Controls, P anels,.net code + 3D, GPU, Co ntrols, Panels, Documents + NetFx 3.5 Markup 모델.aspx.xaml.xaml.xaml 프로그래밍모델.aspx.vb/.cs.js.xaml.vb/.cs.xaml.rb/.py 개발도구 VS 2005 VS 2005 VS 2008* VS 2005 + VS 2008* +* VS 2005+ VS 2008* +*.xaml.vb/.cs VS2005 +* VS2008* VS2008* 디자이너도구 Frontpage ExpWeb 1.0 ExpDesign 1.0 ExpBlend 2.0* ExpMedia 2.0* ExpDesign 1 ExpBlend 2* ExpMedia 2* ExpDesign 1 ExpBlend 1 ExpDesign 1 ExpBlend 1
Object 에서서비스로 1980년대 1990년대 2000년대 Object-Oriented 상속다형성캡슐화서브클래싱 Component-Oriented 위치투명성 Tightly-Coupled 런타임메타데이터 Service-Oriented 메시지기반 Schema+Contract+Policy 폭넓른상호연동요구
분산컴퓨팅요소기술에대한이해 분산컴포넌트인프라 DCOM, RMI MTS, COM+ EJB, J2EE 메세징 MSMQ JMS 웹서비스 SOAP, WSDL, UDDI WS-*
서비스기반의연결
SOA 를위한통합프로그래밍모델 ASMX 다른플랫폼과의연동.NET Remoting 확장된 위치투명성 어트리뷰트기반의프로그래밍 Enterprise Services WS-* 프로토콜지원 WSE 메시지 - 기반 프로그래밍 System.Messaging
WCF a,b,c
개발생산성 Visual Studio.NET 2003 사용시 class HelloService { } [WebMethod] public String Hello(String Greeting) { } X509CertificateCollection collection = new X509Certifi catecollection(); IntPtr blob = Marshal.AllocHGlobal(Marshal.SizeOf( typeof(cryptoapi_blob))); IntPtr data = (IntPtr)((int)blob + Marshal.SizeOf(typeof(CRYPTOAPI_BLOB))); SeqAckRange range = new SeqAcknRange(id, low, high ); SeqAckRange[] ranges = { range }; ReliableQueue.ProcessAcks( ranges ); BeginTransaction (NULL, ISOLATIONLEVEL_SERIALIZABLE, 0, pitxoptions, &pitransaction); return Greeting; 20,379 lines security 5,988 lines reliable messaging 25,507 lines transactions 4,442 lines infrastructure Total lines 56,296
개발생산성 Visual Studio.NET 2003 과 WSE 사용시 class HelloService { [WebMethod] public String Hello(String Greeting) { foreach ( SecurityToken tok in requestcontext.security.tokens { X509SecurityToken token = tok as X509SecToken } SeqAckRange range = new SeqAcknRange(id,low,high ); SeqAckRange[] ranges = { range }; ReliableQueue.ProcessAcks( ranges ); BeginTransaction (NULL, ISOLATIONLEVEL_SERIALIZABLE, 0, pitxoptions, &pitransaction); 10 lines security 1,804 lines reliable messaging 25,507 lines transactions Total lines 27,321 } } return Greeting;
개발생산성 Visual Studio.NET 2005 와 WCF 사용시 [ServiceContract] class HelloService { [OperationContract] [PrincipalPermission(SecurityAction.Demand, Role = Adminstrators")] [TransactionFlow(TransactionFlowOption.Mandatory)] [OperationBehavior(TransactionScopeRequired = true, TransactionAutoComplete = true)] String Hello(String Greeting) {return Greeting;} } <bindings> <wshttpbinding> <binding name="binding1 transactionflow="true"> <security mode="message"> <message clientcredentialtype="windows /> </security> <reliablesession enabled="true" /> </binding> </wshttpbinding> </bindings> 1 code + 2 config (elem.) security 0 code + 1 config (elem.) reliable messaging 2 code + 1 config (attr.) transactions Total lines: 3 code (what) + 4 config (how)
개발자의경쟁력 플랫폼에대한이해 새로욲아키텍처 / 요소기술에대한이해및적용능력 WCF(Windows Communication Foundation) SOA Web Services WS-* 방법론및프레임워크적용능력 Software Factory Enterprise Library Application Blocks
아키텍처를설계할수있는능력 Application Architecture for.net
개발프로세스, 생산성, 품질 개발자에서아키텍트로가는과정 개발자한사람, 한사람의능력을극대화시키려는노력. 좀더적은개발기갂앆에규격화된품질을유지하려는노력.
VSTS 와 TFS(Team Foundation Server) 설계부터개발, 배포까지 하나의도구로해결! 개발팀포탈 변경관리 프로젝트관리 버젂제어 보고서
개발자에서아키텍트로 개발자.NET 개발능력 OOP 이해 SQL Server 구조이해 개발도구사용능력 중급개발자 프레임워크이해 방법론이해 분산홖경 웹서비스이해 데이터모델링이해 디자인패턴적용 고급개발자 프레임워크 / 방법론적용능력 SOA, 모델링의이해.NET 플랫폼이해 ALM 홖경구성 아키텍트 SW 아키텍처젂략수립능력 이기종홖경의이해 / 적용능력 프로세스 /App./ 데이터통합능력
강성재과장 Developer Evangelist 김대우과장 Web Developer Evangelist
정리하며 평범한개발자로살것인가 or 젂문가, 아키텍트로성장할것인가 지속적인자기계발 도젂과경험 열정과신념
감사합니다 ~