고급 COM 기술의 활용 (II)

Size: px
Start display at page:

Download "고급 COM 기술의 활용 (II)"

Transcription

1 고급 COM 기술의활용 (II) (Using Advanced COM Techniques II.) 이번장에서는액티브 X 를이용하여여러가지객체나어플리케이션을개발할때부딪힐수있는문제점들과이들에대한해결책을제시할것이다. 그렇게방대한내용은아니지만, 소프트웨어를개발하다보면실제로아주간단한문제로골머리를싸맬때가매우많다. 이번장에서는이런문제들에대해서알아본다. 여기에서소개하는많은팁들은 Inprise 의뉴스그룹에서참고하였음을미리밝혀둔다. 참고로델파이로액티브 X 기술을구현할때의여러가지팁과 FAQ 에대한정보는 Conrad Herrman 이제공하는홈페이지에서많이얻을수있으므로이를참고하기바란다. 이홈페이지의 URL 은 Inprise 홈페이지의개발자정보에서찾을수있을것이다. Out of Process 논비주얼 COM 서버 여러가지 COM 서버를작성하면서지금까지작성한방법을곰곰히생각해보면, 결국에는 in-proc DLL 형태의액티브 X 라이브러리로만들거나현재의어플리케이션에 OLE 자동화객체를추가하는형태로만들었다. 이런식으로어플리케이션프로젝트에자동화객체위저드를이용해서추가한경우에는어떤방식으로든어플리케이션의윈도우가생성되고, 메시지루프가윈도우에의해사용된다. 예를들어, out-of-process COM 서버를만들면언제나좋든싫든폼이하나생성되어버린다. 이럴때에물론 OnCreate 이벤트핸들러에서폼을숨겨버리면그만이지만, 불필요한낭비임에는틀림이없다. 이런경우에윈도우가생성되지않고, in-proc 서버가아닌 out-of-process 서버를작성해서사용하고싶은경우에는어떻게해야할까? 이런경우에는 Forms 유닛의 Application 객체를변경해서사용하되비주얼인터페이스를사용하지않게하는방법이있다. 이를위해서는다음의유닛을사용하면되는데, 이유닛은 Inprise 의뉴스그룹에서공개된유닛인데, 작성자에대한정보를기록해두지않은탓에밝히지못했음을미리말해둔다. 이유닛으로교체한다음에프로젝트파일의 Application.Initialize 와 Application.Run 구문을 ServerApp.Initialize 와 ServerApp.Run 으로대치하면된다. 또한, 어플리케이션에서 Application.ProcessMessage 루틴이사용되는부분이있다면 ServerApp 에대한내용으로변경해야하는것은물론이다. unit ServApp;

2 interface type TServerApp = class(tobject ) protected procedure DoTerminate(var Shutdown: Boolean); public function ProcessMessages: Boolean; procedure Initialize; procedure Run; var ServerApp: TServerApp; implementation uses ComServ; function TServerApp.ProcessMessages: Boolean; var Msg: TMsg; Result := true; while PeekMessage(Msg, 0, 0, 0, PM_REMOVE) do if (Msg.Message = WM_QUIT) then Result := false else TranslateMessage(Msg); DispatchMessage(Msg);

3 procedure TServerApp.DoTerminate(var Shutdown: Boolean); if Shutdown and not CallTerminateProcs then Shutdown := False; CallTerminateProcs 루틴은델파이의 COM 시스템을종료하는역할을한다. procedure TServerApp.Initialize; if (ComServer.StartMode = smstandalone) then Halt; if (InitProc <> nil) then TProcedure(InitProc); ComServer.OnLastRelease := ServerApp.DoTerminate; InitProc 은 COM 서버시스템을초기화하기위해서필요하다. 즉, 이부분이핵심이라고할수있는데, COM 서버가 stand-alone 으로시작하지못하도록하고마지막 OnLastRelease 이벤트에 DoTerminate 메소드를실행하도록대입하여 COM 서버가종료할때실행되도록한다. procedure TServerApp.Run; while ProcessMessages do; Run 메소드는간단히 ProcessMessage 루틴을반복하도록하면폼이필요없이 out-ofprocess COM 서버를쉽게구현할수있다. initialization ServerApp := TServerApp.Create; finalization ServerApp.Free; end.

4 구현한내용을보면무척간단하다는것을알수있을것이다. 별거아닌것같지만, 필요에의해서이런유닛을찾아다녀보면막상쓸만한것이없는경우가많고, 그렇다고직접작성하려하면막막한경우가많다. 이주제역시해결방법을보면별것아니지만, 막상만들어보려고하면쉽지않은것이다. 의외로많이사용할가능성이있는해결방법이므로꼭기억했다가사용하기바란다. 가변형변수와스트림간통신 액티브 X 기술을이용하여클라이언트 / 서버어플리케이션을제작하다보면, 간혹스트림을통해바이너리파일을전송할필요가있을때가있다. 이럴때에는 DCOM 에서지원하는데이터형에 TStream 클래스가호환되지않기때문에가변형변수를사용하여전송을해야한다. 즉, 다시말하면서버측에서는파일을메모리스트림에읽어오고, 이를가변형변수로형변환을한뒤에클라이언트로전송하고, 클라이언트에서는이렇게넘어온가변형변수를메모리스트림으로변경하면된다. 다음에스트림과가변형간의형변환을담당하는루틴을소개한다. function StreamToVariant(Stream:TMemoryStream): Variant; var Data: Pointer; Result := VarArrayCreate([0, Stream.Size - 1], varbyte); Data := VarArrayLock(Result); try Move(Stream.Memory^, Data^, Stream.Size); finally VarArrayUnlock(Result); function VariantToStream(V: Variant): TMemoryStream; var Data: Pointer; Result := TMemoryStream.Create; Data := VarArrayLock(V);

5 try Result.WriteBuffer(Data^, VarArrayHighBound(V, 1) + 1); finally VarArrayUnlock(V); Result.Seek(0, sofrombeginning); IOleClientSite 인터페이스의활용 IOleClientSite 인터페이스를이용하면컨테이너에임베드된객체의정보를얻을수있다. 이인터페이스를얻기위한함수를다음과같이구현할수있다. function ClientSite(obj: IUnknown): IOleClientSite; var Site: IOleClientSite; OleObj: IOleObject; if (obj.queryinterface(ioleobject, OleObj) = S_OK) and (OleObj.GetClientSite(Site) = S_OK) then Result := Site else Result := nil; obj 파라미터는액티브 X 컨트롤을지정한다. 예를들어, 다음과같이사용할수있다. type TButtonX = class(tactivexcontrol) ( 중략 ) procedure TButtonX.Click; var

6 Site: IOleClientSite; Site := ClientSite(Self); 액티브 X 컨트롤을개발한뒤에이를실제로사용하게되면, 실행되는모드가런타임인지아니면디자인타임인지를구별할필요가있을때가있다. 이를파악하기위해서는컨트롤의컨테이너의 UserMode 앰비언트프로퍼티를이용해야한다. 이때에도앞의 ClientSite 함수를이용하면컨테이너의모드를쉽게알수있다. 다음함수는컨테이너가디자인모드이면 True 를반환한다. function IsControlInDesignMode(obj: IUnknown): Boolean; var Mode: Boolean; try Mode := not ((ClientSite(obj) as IAmbientDispatch).UserMode); except Mode := False; Result := Mode; Safe for scripting/safe for initializing 의지원 safe for scripting 과 safe for initializing 이란코드사인을통한기본적인보안과함께사용될수있는 Object Safety 라는 2 차보안을나타내는용어이다. 컨트롤을 HTML 페이지에서다운로드하면페이지가자바스크립트나 VB 스크립트등을이용할수도있고, 컨트롤에대한프로퍼티값들이포함된다. 이때제작한컨트롤의일부메소드나프로퍼티를잘못사용할때클라이언트컴퓨터에나쁜영향을미칠수있다면이러한메소드나프로퍼티가잘못사용되지않도록해야할것이다. 컨트롤이 safe for scripting 으로표시된다는의미는객체가 OLE 자동화를통해안전하게자동화될수있다는의미이다. 즉, 객체를자동화하는각종스크립트에대해서클라이언트컴퓨터에나쁜영향을주지않는다는의미이다. 그리고, safe for initializing 으로표시된다는의미는객체의프로퍼티나데이터가어떤지속성저장소 (persistent storage) 에서도저장되었다가복원될수있다는의미이다. 이들자체에대한보다자세한사항은마이크로소프

7 트에서제공하는자료들을참고하기바란다. 그렇다면컨트롤에 safe for scripting/initializing 을표시하는방법에대해서알아보도록하자. 여기에는크게 2 가지방법이존재하는데첫번째방법은컨트롤이언제나스크립팅과초기화에안전하다고표시하는것이고, 다른하나는컨트롤이 safe mode 와 unsafe 모드를전환할수있도록표시하는방법이다. 1. 컨트롤에대한적절한레지스트리키를설치한다. 컨트롤이설치될때레지스트리를변경하는방법에대해서는클래스팩토리를오버라이드하여구현한다는것을이미앞에서설명한바있다. 그러므로, 해당되는액티브 X 컨트롤의클래스팩토리클래스를오버라이드하여 safe for scripting/safe for initialization 을표시하도록구현하면된다. 다음의유닛에서이들클래스팩토리를상속하여구현하였다. 이유닛은 Conrad Herrman 이 DAX FAQ 를통해서공개한유닛임을미리밝혀두며, 소스코드에대한설명은이미 29 장에서 UpdateRegistry 메소드를오버라이드하여구현하는방법에대해설명한바있기때문에생략하겠다. unit SafeFactory; interface uses ComObj, ActiveX, AXCtrls; const CATID_SafeForScripting: TGUID = '{7DD CF-9FA9-00AA006C42C4}'; CATID_SafeForInitializing: TGUID = '{7DD CF-9FA9-00AA006C42C4}'; type TSafeActiveFormFactory = class(tactiveformfactory) procedure UpdateRegistry(Register: Boolean); override; TSafeActiveXControlFactory = class(tactivexcontrolfactory) procedure UpdateRegistry(Register: Boolean); override; implementation

8 procedure AddSafetyKeys(const ClassID: TGUID); var ClassKey: string; ClassKey := 'CLSID\' + GUIDToString(ClassID); CreateRegKey(ClassKey + '\Implemented Categories', '', ''); CreateRegKey(ClassKey + '\Implemented Categories\' + GUIDToString( CATID_SafeForScripting), '', ''); CreateRegKey(ClassKey + '\Implemented Categories\' + GUIDToString( CATID_SafeForInitializing), '', ''); procedure RemoveSafetyKeys(const ClassID: TGUID); var ClassKey: string; ClassKey := 'CLSID\' + GUIDToString(ClassID); DeleteRegKey(ClassKey + '\Implemented Categories\' + GUIDToString( CATID_SafeForInitializing)); DeleteRegKey(ClassKey + '\Implemented Categories\' + GUIDToString( CATID_SafeForScripting)); DeleteRegKey(ClassKey + '\Implemented Categories'); {TSafeActiveFormFactory} procedure TSafeActiveFormFactory.UpdateRegistry(Register: Boolean); if Register then AddSafetyKeys(ClassID); inherited UpdateRegistry(Register); end else RemoveSafetyKeys(ClassID); inherited UpdateRegistry(Register);

9 {TSafeActiveXControlFactory} procedure TSafeActiveXControlFactory.UpdateRegistry(Register: Boolean); if Register then AddSafetyKeys(ClassID); inherited UpdateRegistry(Register); end else RemoveSafetyKeys(ClassID); inherited UpdateRegistry(Register); end. 이클래스팩토리를이용하기위해서는액티브 X 라이브러리의유닛의 uses 절에 SafeFactory.pas 유닛을추가하고, initialization 섹션을다음과같이클래스의이름만변경해주면된다. initialization TSafeActiveXControlFactory.Create(ComServer, TSampleActiveX, TSampleControl, Class_SampleActiveX, 1, '', 0, tmapartment); end. 2. 컨트롤에서 IObjectSafety 인터페이스를구현하는방법 IObjectSafety 인터페이스를구현하면컨트롤이 safety 를요구하지않는컨테이너에서동작할때에는 unsafe 메소드나프로퍼티를사용할수있게할수있다. 그렇지만, IE 와같이보안을요구하는컨테이너에서는 IObjectSafety 인터페이스를이용하여컨트롤이 safe mode 로전환하도록요구하고, 모든 unsafe 메소드와프로퍼티를사용불가능하게만들수있다.

10 델파이폼을액티브폼으로전환하기 델파이폼을액티브폼으로변경하는요령에대해서설명하고자한다. 많은경우에있어서처음부터액티브폼으로개발하는경우도있겠지만, 이미완성된어플리케이션을액티브폼으로변경하는작업을하고자하는경우도많을것이다. 이럴때에는다음과같은방법을이용하여액티브폼으로변경할수있다. 폼에있는모든컴포넌트를선택하고이를복사했다가액티브폼에붙여넣는방법 이방법은컴포넌트를폼에옮기는데에는큰문제가없지만, 컨트롤과연결된코드는복사 되지않기때문에이들을적절하게설정하는것이가장중요한작업이된다. 컴포넌트템플릿을활용하는방법 폼에있는모든컴포넌트를메뉴를선택하고 Component Create Component Template 메뉴를선택하여템플릿을생성하면 VCL 컴포넌트팔레트에 Template 탭이생성되면서컴포넌트로등록될것이다. 액티브폼을열고이컴포넌트를폼에떨어뜨리면된다. 이방법의장점은컨트롤과함께연결된코드가같이복사된다는점이다. 직접 TForm 클래스를액티브폼으로변경시키는방법 앞서설명한방법과같이컨트롤을복사하지않고, 코드를수정함으로써액티브폼으로변경하는방법이다. 이방법의장점은표준델파이어플리케이션으로일단개발과테스트를마치고간단히액티브폼버전으로변경하여사용할수있다는점이다. 변경원칙은다음과같다. 이방법은 Conrad Herrman 이공개한것으로꽤유용하게적용할수있다. 1. 표준폼어플리케이션을디렉토리에저장한다. 2. 액티브폼을저장할서브디렉토리를생성하고, 새로운액티브폼프로젝트를생성하여저장한다. 3. 액티브폼프로젝트에서프로젝트관리자를선택하고표준폼어플리케이션프로젝트가저장된디렉토리에서모든폼과데이터모듈을프로젝트에추가하도록한다. 4. 액티브폼의 OnCreate 이벤트핸들러를다음과같이작성한다. procedure TActiveForm1.FormCreate(Sender: TObject);

11 // 이코드는정상적인델파이 TForm 인자식폼을생성한다. ChildForm := TForm1.Create(Self); ChildForm.Parent := Self; ChildForm.Align := alclient; ChildForm.BorderStyle := bsnone; ChildForm.Visible := True; 5. uses 절에서폼의유닛파일을추가하고, 자식폼을 public 섹션에추가한다. type TActiveForm1 = class public ChildForm: TForm1;... 폼을컴파일하고테스트한다. 액티브폼과 IE 4.0 델파이의액티브폼은일종의액티브 X 컨트롤이지만, 의외로 IE 4.0 과충돌하는경우가많다. 이문제는델파이의액티브폼위저드에도약간의문제가있지만 IE 4.0 자체가표준과는벗어난여러가지문제점을많이안고있기때문이기도하다. 그러므로, 이문제를완전히해결할수는없지만몇가지고려할점들에대해서논의하고자한다. 먼저델파이 3 에서문제가되었던것중에서델파이 4 에서해결된것들에대해서알아보고, 계속해서고려해야할점을알아보도록하자. 1. 쓰레딩모델 델파이 3 는기본적으로단일쓰레드모델만을지원했기때문에, IE 4.0 의여러인스턴스를메모리에띄울때충돌이일어나는경우이다. 이문제는델파이 4 에서쓰레딩모델로 apartment 쓰레딩모델을선택할수있게되면서많이해결되었다. 보통디폴트로이모드를사용하게되지만, IE 4.0 과의충돌이있다면먼저쓰레딩모델을검토하기바란다.

12 2. 액티브폼내부컨트롤의포커스설정문제 여러개의컨트롤을가지고있는액티브폼에서하나의컨트롤을클릭하여포커스를주고, 다른어플리케이션을활성화시켰다가다시 IE 4.0 을활성화하면이전에포커스를가졌던컨트롤이포커스를잃게된다. 이문제는액티브폼자체가 UI-active 컨트롤이기때문이다. 그러므로, 프레임이활성화되면컨트롤이 IInPlaceActiveObject.OnFrameWindowActivate 메소드가호출되는데델파이 3 의위저드에서는이메소드가단지 InPlaceActivate(True) 메소드만을호출하기때문에, 컨트롤이이미 UI-active 한경우에는아무런영향을미치지못한다. 그러므로앞서설명한문제를해결하기위해서는폼의활성화된자식컨트롤에포커스를설정해야하는데델파이 4 에서이점이수정되었다. 3. 탭 / 백스페이스키가제대로동작하지않을때 IE 4.0 에서액티브폼을띄운뒤에탭 / 백스페이스키를이용할때제대로동작하지않는문제가발생하는경우가있다. 이문제를해결하기위해서는액티브폼의타입라이브러리를동작시키고 TabsOn 이라는새로운메소드를인터페이스에추가한다. 이메소드의선언은 procedure TabsOn 으로특별한파라미터나반환값은지정할필요가없다. 그리고, 이메소드에대한 ID 를부여한다. 그리고나서액티브폼을구현한유닛의 protected 섹션에선언되어있는 TabsOn 선언부를다음과같이 public 섹션으로옮긴다. public procedure TabsOn; safecall; 그리고, TabsOn 프로시저의구현부분을다음과같이수정한다. procedure TActiveFormX.TabsOn; (ComObject As IOleInPlaceActiveObject).OnFrameWindowActivate(True); 그리고, 다소귀찮기는하지만폼에있는모든컨트롤의 OnClick 이벤트에 TabsOn 을호출하도록추가하여액티브폼을클릭할때마다 UI 를활성화시키도록한다. 다른해결방법으로는 Conrad Herrman 이제시한방법이있는데, 그의해결책은폼에 WM_MOUSEACTIVATE 메시지에대한핸들러를설치해서, 이메시지가발생할때마다 UI

13 를활성화하는것이다. 이렇게하면, 핸들러가설치된자식컨트롤들이클릭될때마다활성화되어제대로포커스를가지게된다. 메시지핸들러는다음과같이구현한다. 먼저다음과같이핸들러를선언하고이를구현하면된다. procedure WMMouseActivate(var msg: TWMMouseActivate); message WM_MOUSEACTIVATE; ( 중략 ) procedure TActiveFormX.WMMouseActivate(var msg: TWMMouseActivate); inherited; if (msg.result = MA_ACTIVATE) or (msg.result = MA_ACTIVATEANDEAT) then DoUIActivate; procedure TActiveFormX.DoUIActivate; if (ComObject <> nil) then (ComObject as IOleObject).DoVerb( OLEIVERB_UIACTIVATE, nil, nil, 0, 0, PRect(nil)^); 이방법은대부분의경우에적용되지만 RichEdit 컨트롤에서는사용할수없다. 이경우에는 OnClick 메소드를이용한방법을사용해야한다. 액티브폼에서탭키를누르면실제로컨트롤에서이동은일어나지만, 이를실제로는제대로보여주지못하기때문이다. 또한, UI 가활성화되어도자신컨트롤에포커스를제대로설정하지못하기때문에이런현상이나타나는것이므로앞서와같은방법으로이문제를해결해야한다. 액티브 X 서버배포에관한문제 몇가지인터페이스를구현한액티브 X 서버를배포할때에는배포할때염두에두어야할

14 몇가지사항이있다. IStrings, IProvider, IDataBroker 인터페이스를사용하거나델파이폰트, 색상, 문자열, 그림프로퍼티페이지를사용한경우에는볼랜드의표준 VCL 타입라이브러리를같이배포해야한다. 이라이브러리는 STDVCL32.DLL 라이브러리와 STDVCL32.TLB 라고하는타입라이브러리로존재한다. 이들은모두윈도우의시스템디렉토리에위치하며, 모두시스템레지스트리에등록되어야한다. 액티브 X 컨트롤의코드다운로드문제 29 장에서도설명했듯이액티브 X 컨트롤을배포할때 Web Deployment options 대화상자에서적절한정보를설정하고, Web Deploy 명령을선택하면되는데, 막상홈페이지에올려놓고이홈페이지를클라이언트에가서브라우저를띄우고접근하면커다란붉은 X 자만볼수있는경우가많다. 제작한액티브 X 컨트롤을웹브라우저에띄우기위해서 Web Deploy 명령을선택하면 HTML 문장에 <OBJECT> 태그가추가되면서다음과같이액티브 X 컨트롤에대한정보가추가된다. <OBJECT classid="clsid:29d37f03-f02f-11d0-acb2-0080c7316f20" codebase=" width=350 height=250 align=center hspace=0 vspace=0 > </OBJECT> 이태그에서 #version 부분은옵션인데, 이내용이빠지면버전에상관이없다는의미이다. 실제액티브 X 컨트롤을지칭하는것이 ClassID 이다. 그러므로, IE 가지정된 ClassID 의컨트롤이클라이언트에설치되어있으면, 지정된버전과일치하는것인지알아보고로컬버전이일치하면컨트롤을생성하기위해로컬복사본을이용하게된다. 만약 HTML 페이지에서요구하는버전이현재설치된것보다새버전이거나 ClassID 에지정된컨트롤이아직설치되지않은경우에는 IE 가컨트롤을생성하기전에컨트롤을다운로드하고이를설치하게된다. 이때코드베이스는로컬기계의 Windows/OCCache 디렉토리나서브디렉토리에복사하

15 는데이때 URI 가 HTTP( 디폴트 ) 를이용하거나, FTP, FILE URI 등을이용할수있다. 여기서원격서버를찾을수없거나, 로컬디스크의디스크공간이보족한경우, 그리고 codebase 의이름이잘못설정된경우 ( 서버가대소문자를가리는경우에흔함 ) 에이과정이실패할수있다.. 액티브 X 컨트롤을다운로드하기전에 IE 가코드 signature 를확인하게된다. 여기에서꽤많은브라우저의설정이잘못된경우에액티브 X 컨트롤을볼수없다. 보안레벨을 High 로설정한경우에는 IE 가컨트롤이코드사인되지않았으면설치를하지않는다. 보안레벨이 Medium 으로설정되면설치할것인지물어보는대화상자를보여주고, 컨트롤을다운로드하게된다. 보안레벨이 Low 로설정되면코드사인되지않은컨트롤도바로설치된다. 이런과정을거쳐다운로드된 codebase 는 Windows/OCCache 디렉토리에설치된다. 설최되는 codebase 는 Object 택그의 CODEBASE 태그에의해그종류가결정된다. 만약파일이 DLL 인경우 ( 보통확장자.OCX) 파일하나를가리키며, 파일이.CAB 인경우에는여러파일이포함되어있다. 그리고, codebase 가.INF 파일인경우에는 codebase 를구성하는파일의리스트를설명한다. DLL 인경우에는설치과정에서 DLL 파일을로드한뒤에 DllRegisterServer 함수를호출하여컨트롤을생성하게된다. 이과정에서 DLL 파일이 LoadLibrary 함수에의해로드되지않을수가있는데이것은 DLL 이라이브러리 DLL 이나델파이패키지, 시스템 DLL 과같은다른파일에의존적인데이파일들에접근할수없는경우이다. DLL 이로드되지만초기화에실패하는경우도있는데, 이것은환경설정에도문제가있을수있지만유닛의초기화섹션에서예외가발생하기때문일수도있다. 또다른문제로는컨트롤이제대로등록되지않는경우에발생할수있다. DLL 이등록되지않는원인으로가장흔한것은 NT 클라이언트를사용할경우에사용자권한이레지스트리를변경할수있는권한이없는경우이다. 컨트롤이이런과정을거쳐서설치되고생성되면 IE 는컨트롤의인스턴스를생성하려고시도한다. 이과정에서문제가발생하는이유로는 HTML 파일에서지정된 ClassID 가잘못지정된경우와메모리나리소스가부족한것이원인일수있다. DCOM 환경설정 COM 객체와액티브 X 컨트롤과액티브폼객체를훌륭하게생성하고, 이를이용하여인트라넷이나인터넷을통해서사용하려고할때문제가되는이유중에서가장커다란비중을차지하는것은뜻밖에도 DCOM 의환경설정을제대로하지못했기때문인경우가많다. 그러면, DCOM 클라이언트 / 서버의환경설정에대해서중요한사항을알아보도록하자. 서버의환경설정

16 DCOM 의서버는사용자레벨 (user level) 과공유레벨 (share level) 접근이가능하도록환 경설정을할수있다. 이설정을변경하기위해서는제어판의네트워크애플릿을실행하고, 다음과같이엑세스제어페이지에서설정을변경할수있다. 만약윈도우 NT 서버를이용한사용자인증이가능하다면, 사용자엑세스제어를선택하고, 적절한 NT 서버를지정하여사용자와그룹을이용하도록하면된다. NT 서버와관계없이 DCOM 을이용하기위해서는공유엑세스제어를선택하도록한다. 윈도우 95 에서 DCOM 을사용하기위해서는반드시 DCOM for Win95 를설치해야하는데이설치파일은 에서구할수있다. 그렇지만필자의생각으로 DCOM 을사용하기위해서는윈도우 NT 4.0 SP 3, 윈도우 98 이상에서사용하기를권하고싶다. 사용자엑세스제어를선택한경우에는 DcomCnfg.exe 유틸리티를실행하고, 이유틸리티의기본보안 (Default Security) 페이지를선택하고, 기본값편집 (Edit Default) 버튼을클릭하면다음과같이액세스권한 (Access Permissions) 대화상자가나타날것이다.

17 이대화상자에서 추가 버튼을클릭하면다음과같이서버에서관리하고있는모든사용 자목록이나타나는데, 서버어플리케이션에접근해야하는모든사용자들에게접근을허 용하도록설정한다. 여기에서 세계 를선택하면모든사용자에게모두사용가능하도록설정하는것이다. 윈도우 NT 의경우에는다소화면이다르게나타날수있는데 세계 에해당되는것은 Everyone 이다. 참고로필자는윈도우 NT 5.0 영문베타를사용하고있는관계로한글 NT 의해당이름을알지못하므로한글 NT 를사용하고있는독자들은한글로해당되는이름을찾아보기바란다. 이런방법을사용하지않고, 서버어플리케이션을설치하고각어플리케이션마다접근허용을다르게설정하는방법도있다.

18 이럴경우에는 DCOM 구성등록정보윈도우의응용프로그램탭에서어플리케이션을선 택하고 등록정보 버튼을클릭하면다음과같이이어플리케이션에대한정보를변경할수 있는대화상자가나타날것이다. 여기에서 보안 탭을선택하면앞에서전체적으로엑세스권한을설정했던것과동일한대화상자들이나타날것이다. 이를이용하여각어플리케이션별로접근레벨을다르게설정할수있다. 그리고, 이예에서는나타나지않았지만 응용프로그램실행 탭이있는경우에는이탭에서선택할수있는체크박스가 데이터가있는컴퓨터, 현재컴퓨터, 컴퓨터선택 의 3 가지가나타나는데, 여기서 현재컴퓨터 박스는선택하면안된다. 이를선택하면현재컴퓨터에있는서버만실행이가능하므로 DCOM 으로설정한의미가없다. 그리고, 현재컴퓨터 와 컴퓨터선택 이모두선택된경우에는현재컴퓨터가우선한다. 그러므로, DCOM 서버로작성한서버프로그램이서버에서원격으로실행되게하려면 컴퓨터선택 탭을선택하고서버의 DNS 주소, IP 주소, 호스트이름등을지정하면된다. 참고로윈도우 NT 에서 DComConfg.exe 유틸리티를사용할경우에는 Identity, Endpoints, HTTP 탭이더있는데이중에서 Identity 탭을선택하고 The interactive user 로설정하는것이좋다.

19 기본적인설정이끝났으면 NT 에서사용자관리자 (User Manager) 를실행하여, Guest 계정을선택하고이계정의정보에서 Accound Disabled 체크박스가선택되어있으면이를제거해야한다. 공유엑세스제어를선택한경우에는레지스트리값을변경할필요가있다. HKLM\Software\Microsoft\OLE 키의내용중에서 EnableRemoteConnect = "Y", LegacyAuthenticationLevel = 1 로설정하도록한다. 이작업은사용자엑세스제어를사용할때에는 DcomCnfg.exe 유틸리티를통해서수정이가능하기때문에매뉴얼로키를변경할필요가없다. DcomCnfg.exe 유틸리티에서는기본등록정보탭에서인증수준을 없음 으로선택하고, 기본보안탭에서 원격연결사용 체크박스를선택하면된다 ( 디폴트로선택되어있다 ). 그리고, 델파이를이용하여작성한어플리케이션중에서 MIDAS 와같이필요한파일이더있는경우에는해당파일을 System 또는 System32 디렉토리에복사하도록한다. 대표적인파일로는 DBCLIENT.DLL, STDVCL32.DLL 파일등이있다. 이제서버어플리케이션을적당한로컬드라이브에복사하고, 필요에따라서 BDE 나 SQL Link 등을설치하고필요한앨리어스등을생성한다. 서버어플리케이션을한번실행하면레지스트리에등록되므로쉽게사용할수있고, inprocess 서버는 DCOM 에서사용되지않는다. 만약 DCOM 버전을이용하고있다면, RPCSS.EXE 의단축아이콘을시작폴더에위치시키는것이좋다. 이런환경설정의변경이효력을발생하려면시스템의재시작이필수적이다. 이제서버어플리케이션을실행하면클라이언트와의연결이가능하다. 클라이언트의환경설정 서버에비해클라이언트의환경설정은더간단하다. 먼저, 윈도우 95 를사용하는독자라면앞서소개한사이트에서 DCOM95 를다운로드받아설치하기바란다. 기본적인설정방법은서버와동일하므로앞의내용을참고하기바란다. 공유방법으로공유엑세스제어를사용하는클라이언트인경우에는서버에서와마찬가지로레지스트리의내용을편집할필요가있다. HKLM\Software\Microsoft\OLE 키에서 LegacyAuthenticationLevel = 1 로설정한다. 설정이끝났으면, 클라이언트어플리케이션을설치하고실행하면된다. 델파이로작성한어플리케이션을사용하는경우에는경우에따라서 DBCLIENT.DLL, STDVCL.DLL 파일을윈도우시스템디렉토리에복사하거나, BDE 나 SQL Link 를설치할필요가있다. 인터넷이용을위한 DCOM 설정

20 DCOM 을인터넷과방화벽 (firewall) 을넘어서사용할수있도록설정하기위해서는다음과 같은사항을고려해야한다. 1. 서버와클라이언트에서모두 DcomCnfg.exe 유틸리티를실행하여인증수준을 없음 으로설정한다. 2. 레지스트리의내용을다음과같이수정한다. HKLM/Software/Microsoft/Rpc/Internet PortsInternetAvailable="Y" UseInternetPorts="Y" Ports=" " 번포트를열고방화벽을넘도록한다. 4. IP 주소번역을 Disable 한다. DCOM 에대한 HTTP 터널링 (tunneling) 은 NT SP4 에서부터사용할수있게되었다. 보다자세한내용은마이크로소프트에서제공하는정보를참고하기바란다. 에러메시지정리 에러메시지 원인 DCOM not installed DCOM 이설치되지않았다. 1) 레지스트리의 EnableRemoteConnect 값이 N 으로설정된경우 2) 서버어플리케이션이실행되지않은경우 Server execution failed 3) 서버가로컬드라이브에존재하지않는다. 4) 서버객체에접근하는사용자의권한이미달된경우 5) 레지스트리의서버패스가지나치게긴경우 6) DCOMCNFG.exe 에서의어플리케이션위치설정이틀린경우 Class not registered 서버어플리케이션이아직등록되지않음 1) RPCSS 가서버에서실행되지않음 RPC server is unavailable 2) 레지스트리의 EnableRemoteConnect 값이 N 으로설정된경우 3) 잘못된 RemoteServer, ComputerName 4) TCP/IP 설정이잘못된경우 1) 사용자접근레벨로설정되지않은경우 Interface not supported 2) Permission 이 Everyone 에게허용되지않은경우 3) 레지스트리의 LegacyAuthenticationLevel 값이설정되지않은경우

21 4) Guest 계정이 disable 된경우 5) 클라이언트가클라이언트기계에인터페이스를등록하지않고 vtable 바인딩을시도하는경우 Access is denied 1) DCOM 보안설정이적절치못한경우 2) 서버어플리케이션이로컬드라이브에없는경우 정리 (Summary) 이번장에서는액티브 X 기술을이용하여어플리케이션이나객체를개발하면서만날수있는여러가지문제점과그해결책에대해서알아보았다. 여기에나열한여러가지팁들보다실제로구현과정에들어가면예상외로많은난관에부딪히게된다. MS 에서는나름대로분산환경을지원하기위한표준화방안으로 DCOM 을제시한것이지만, 실제로이를활용하여분산환경을구축하는데에는아직도많은어려움이있으며, 개선해야할부분이많은것으로생각된다. 그렇지만, 앞서나가는개발자가되기위해서는이러한문제점들을파악하고나름대로의해결책을찾으려고노력하는자세가필요할것이다.

Microsoft Word - ntasFrameBuilderInstallGuide2.5.doc

Microsoft Word - ntasFrameBuilderInstallGuide2.5.doc NTAS and FRAME BUILDER Install Guide NTAS and FRAME BUILDER Version 2.5 Copyright 2003 Ari System, Inc. All Rights reserved. NTAS and FRAME BUILDER are trademarks or registered trademarks of Ari System,

More information

Windows 8에서 BioStar 1 설치하기

Windows 8에서 BioStar 1 설치하기 / 콘텐츠 테이블... PC에 BioStar 1 설치 방법... Microsoft SQL Server 2012 Express 설치하기... Running SQL 2012 Express Studio... DBSetup.exe 설정하기... BioStar 서버와 클라이언트 시작하기... 1 1 2 2 6 7 1/11 BioStar 1, Windows 8 BioStar

More information

Microsoft Word - src.doc

Microsoft Word - src.doc IPTV 서비스탐색및콘텐츠가이드 RI 시스템운용매뉴얼 목차 1. 서버설정방법... 5 1.1. 서비스탐색서버설정... 5 1.2. 컨텐츠가이드서버설정... 6 2. 서버운용방법... 7 2.1. 서비스탐색서버운용... 7 2.1.1. 서비스가이드서버실행... 7 2.1.2. 서비스가이드정보확인... 8 2.1.3. 서비스가이드정보추가... 9 2.1.4. 서비스가이드정보삭제...

More information

. 스레드 (Thread) 란? 스레드를설명하기전에이글에서언급되는용어들에대하여알아보도록하겠습니다. - 응용프로그램 ( Application ) 사용자에게특정서비스를제공할목적으로구현된응용프로그램을말합니다. - 컴포넌트 ( component ) 어플리케이션을구성하는기능별요

. 스레드 (Thread) 란? 스레드를설명하기전에이글에서언급되는용어들에대하여알아보도록하겠습니다. - 응용프로그램 ( Application ) 사용자에게특정서비스를제공할목적으로구현된응용프로그램을말합니다. - 컴포넌트 ( component ) 어플리케이션을구성하는기능별요 . 스레드 (Thread) 란? 스레드를설명하기전에이글에서언급되는용어들에대하여알아보도록하겠습니다. - 응용프로그램 ( Application ) 사용자에게특정서비스를제공할목적으로구현된응용프로그램을말합니다. - 컴포넌트 ( component ) 어플리케이션을구성하는기능별요소로써안드로이드시스템에서는 Activities, Services, Content Providers,

More information

PowerPoint Template

PowerPoint Template JavaScript 회원정보 입력양식만들기 HTML & JavaScript Contents 1. Form 객체 2. 일반적인입력양식 3. 선택입력양식 4. 회원정보입력양식만들기 2 Form 객체 Form 객체 입력양식의틀이되는 태그에접근할수있도록지원 Document 객체의하위에위치 속성들은모두 태그의속성들의정보에관련된것

More information

제이쿼리 (JQuery) 정의 자바스크립트함수를쉽게사용하기위해만든자바스크립트라이브러리. 웹페이지를즉석에서변경하는기능에특화된자바스크립트라이브러리. 사용법 $( 제이쿼리객체 ) 혹은 $( 엘리먼트 ) 참고 ) $() 이기호를제이쿼리래퍼라고한다. 즉, 제이쿼리를호출하는기호

제이쿼리 (JQuery) 정의 자바스크립트함수를쉽게사용하기위해만든자바스크립트라이브러리. 웹페이지를즉석에서변경하는기능에특화된자바스크립트라이브러리. 사용법 $( 제이쿼리객체 ) 혹은 $( 엘리먼트 ) 참고 ) $() 이기호를제이쿼리래퍼라고한다. 즉, 제이쿼리를호출하는기호 제이쿼리 () 정의 자바스크립트함수를쉽게사용하기위해만든자바스크립트라이브러리. 웹페이지를즉석에서변경하는기능에특화된자바스크립트라이브러리. 사용법 $( 제이쿼리객체 ) 혹은 $( 엘리먼트 ) 참고 ) $() 이기호를제이쿼리래퍼라고한다. 즉, 제이쿼리를호출하는기호 CSS와마찬가지로, 문서에존재하는여러엘리먼트를접근할수있다. 엘리먼트접근방법 $( 엘리먼트 ) : 일반적인접근방법

More information

COM의 기초 개념

COM의 기초 개념 COM 의기초개념 (Basic Concepts of Component Object Model) COM (Component Object Model) 은 OLE 와액티브 X 기술의기초가되는개념으로인터페이스라는미리정의된루틴의세트를통해각객체들간의상호운용을가능하게해주는객체기반의프로그래밍 specification 이다. COM 은기본적으로소스코드수준의표준이아니라바이너리표준이다.

More information

액티브X 컨트롤의 사용과 제작

액티브X 컨트롤의 사용과 제작 액티브 X 컨트롤, 액티브폼의제작 (Creating ActiveX Controls, ActiveForms) 델파이의 VCL 컴포넌트와액티브 X 컴포넌트는사실의미상으로많은부분이통하지만, 실제구현방법은많은차이가있기때문에 VCL 컨트롤을액티브 X 컨트롤로전환개발하려면사실많은단순작업을해주어야한다. 델파이 4 에서는이런작업을단순화시키는레이어를제공하는데이것이바로액티브

More information

Network Programming

Network Programming Part 5 확장된 Network Programming 기술 1. Remote Procedure Call 2. Remote Method Invocation 3. Object Request Broker 2. Java RMI

More information

델파이 4 프로그래밍의 이해 (Understandings of Delphi 4 Programming)

델파이 4 프로그래밍의 이해 (Understandings of Delphi 4 Programming) 델파이 4 프로그래밍의이해 (Understandings of Delphi 4 Programming) 오브젝트파스칼과심도있는델파이프로그래밍의세계로들어가기전에, 이번장에서는델파이를사용하여첫번째윈도우어플리케이션을제작하고전반적인델파이의환경에대해서알아볼것이다. 내용의수준이높지는않겠지만, 흔히알고있었던내용이라고하더라도별생각없이넘어갔던것들도많을것이다. 그러면, 델파이 4

More information

gnu-lee-oop-kor-lec06-3-chap7

gnu-lee-oop-kor-lec06-3-chap7 어서와 Java 는처음이지! 제 7 장상속 Super 키워드 상속과생성자 상속과다형성 서브클래스의객체가생성될때, 서브클래스의생성자만호출될까? 아니면수퍼클래스의생성자도호출되는가? class Base{ public Base(String msg) { System.out.println("Base() 생성자 "); ; class Derived extends Base

More information

슬라이드 1

슬라이드 1 전자정부개발프레임워크 1 일차실습 LAB 개발환경 - 1 - 실습목차 LAB 1-1 프로젝트생성실습 LAB 1-2 Code Generation 실습 LAB 1-3 DBIO 실습 ( 별첨 ) LAB 1-4 공통컴포넌트생성및조립도구실습 LAB 1-5 템플릿프로젝트생성실습 - 2 - LAB 1-1 프로젝트생성실습 (1/2) Step 1-1-01. 구현도구에서 egovframe>start>new

More information

다른 JSP 페이지호출 forward() 메서드 - 하나의 JSP 페이지실행이끝나고다른 JSP 페이지를호출할때사용한다. 예 ) <% RequestDispatcher dispatcher = request.getrequestdispatcher(" 실행할페이지.jsp");

다른 JSP 페이지호출 forward() 메서드 - 하나의 JSP 페이지실행이끝나고다른 JSP 페이지를호출할때사용한다. 예 ) <% RequestDispatcher dispatcher = request.getrequestdispatcher( 실행할페이지.jsp); 다른 JSP 페이지호출 forward() 메서드 - 하나의 JSP 페이지실행이끝나고다른 JSP 페이지를호출할때사용한다. 예 ) RequestDispatcher dispatcher = request.getrequestdispatcher(" 실행할페이지.jsp"); dispatcher.forward(request, response); - 위의예에서와같이 RequestDispatcher

More information

var answer = confirm(" 확인이나취소를누르세요."); // 확인창은사용자의의사를묻는데사용합니다. if(answer == true){ document.write(" 확인을눌렀습니다."); else { document.write(" 취소를눌렀습니다.");

var answer = confirm( 확인이나취소를누르세요.); // 확인창은사용자의의사를묻는데사용합니다. if(answer == true){ document.write( 확인을눌렀습니다.); else { document.write( 취소를눌렀습니다.); 자바스크립트 (JavaScript) - HTML 은사용자에게인터페이스 (interface) 를제공하는언어 - 자바스크립트는서버로데이터를전송하지않고서할수있는데이터처리를수행한다. - 자바스크립트는 HTML 나 JSP 에서작성할수있고 ( 내부스크립트 ), 별도의파일로도작성이가능하다 ( 외 부스크립트 ). - 내부스크립트 - 외부스크립트

More information

서비스) 와서버( 관리대상서버) 간에자격증명을사용하여서로의 ID 를확인하고서로주고받는데이터를검사하고암호화하는프로세스 이다. 높은인증수준은일반적으로성능의저하를가져올수있지만높은 수준의보안과데이터무결성을제공한다. 기본값 - 관리대상서버에설정되어있는 DCOM 인증수준기본 값을

서비스) 와서버( 관리대상서버) 간에자격증명을사용하여서로의 ID 를확인하고서로주고받는데이터를검사하고암호화하는프로세스 이다. 높은인증수준은일반적으로성능의저하를가져올수있지만높은 수준의보안과데이터무결성을제공한다. 기본값 - 관리대상서버에설정되어있는 DCOM 인증수준기본 값을 설정매뉴얼 연결설정 연결을하기위해서는클라이언트와서버에 Windows Management Instrumentation, Remote Procedure Call(RPC) 서비스 가설치및실행되고있어야한다. Windows Management Instrumentation 서비스는 굳이실행시킬필요는없다. 요청이들어올경우자동실행되므로 연결및쿼리는 DCOM 을사용한다. DCOM은

More information

제11장 프로세스와 쓰레드

제11장 프로세스와 쓰레드 제9장자바쓰레드 9.1 Thread 기초 (1/5) 프로그램 명령어들의연속 (a sequence of instruction) 프로세스 / Thread 실행중인프로그램 (program in execution) 프로세스생성과실행을위한함수들 자바 Thread 2 9.1 Thread 기초 (2/5) 프로세스단위작업의문제점 프로세스생성시오버헤드 컨텍스트스위치오버헤드

More information

歯MDI.PDF

歯MDI.PDF E08 MDI SDI(Single Document Interface) MDI(Multiple Document Interface) MDI (Client Window) (Child) MDI 1 MDI MDI MDI - File New Other Projects MDI Application - MDI - OK [ 1] MDI MDI MDI MDI Child MDI

More information

슬라이드 1

슬라이드 1 - 1 - 전자정부모바일표준프레임워크실습 LAB 개발환경 실습목차 LAB 1-1 모바일프로젝트생성실습 LAB 1-2 모바일사이트템플릿프로젝트생성실습 LAB 1-3 모바일공통컴포넌트생성및조립도구실습 - 2 - LAB 1-1 모바일프로젝트생성실습 (1/2) Step 1-1-01. 구현도구에서 egovframe>start>new Mobile Project 메뉴를선택한다.

More information

Microsoft PowerPoint Android-SDK설치.HelloAndroid(1.0h).pptx

Microsoft PowerPoint Android-SDK설치.HelloAndroid(1.0h).pptx To be an Android Expert 문양세강원대학교 IT 대학컴퓨터학부 Eclipse (IDE) JDK Android SDK with ADT IDE: Integrated Development Environment JDK: Java Development Kit (Java SDK) ADT: Android Development Tools 2 JDK 설치 Eclipse

More information

Dialog Box 실행파일을 Web에 포함시키는 방법

Dialog Box 실행파일을 Web에 포함시키는 방법 DialogBox Web 1 Dialog Box Web 1 MFC ActiveX ControlWizard workspace 2 insert, ID 3 class 4 CDialogCtrl Class 5 classwizard OnCreate Create 6 ActiveX OCX 7 html 1 MFC ActiveX ControlWizard workspace New

More information

API - Notification 메크로를통하여어느특정상황이되었을때 SolidWorks 및보낸경로를통하여알림메시지를보낼수있습니다. 이번기술자료에서는메크로에서이벤트처리기를통하여진행할예정이며, 메크로에서작업을수행하는데유용할것입니다. 알림이벤트핸들러는응용프로그램구현하는데있어

API - Notification 메크로를통하여어느특정상황이되었을때 SolidWorks 및보낸경로를통하여알림메시지를보낼수있습니다. 이번기술자료에서는메크로에서이벤트처리기를통하여진행할예정이며, 메크로에서작업을수행하는데유용할것입니다. 알림이벤트핸들러는응용프로그램구현하는데있어 메크로를통하여어느특정상황이되었을때 SolidWorks 및보낸경로를통하여알림메시지를보낼수있습니다. 이번기술자료에서는메크로에서이벤트처리기를통하여진행할예정이며, 메크로에서작업을수행하는데유용할것입니다. 알림이벤트핸들러는응용프로그램구현하는데있어서가장중요한부분이라고도할수있기때문입니다. 1. 새로운메크로생성 새메크로만들기버튺을클릭하여파일을생성합니다. 2. 메크로저장 -

More information

SOFTBASE XFRAME DEVELOPMENT GUIDE SERIES ActiveX 컴포넌트가이드 서울특별시구로구구로 3 동한신 IT 타워 1215 호 Phone Fax

SOFTBASE XFRAME DEVELOPMENT GUIDE SERIES ActiveX 컴포넌트가이드 서울특별시구로구구로 3 동한신 IT 타워 1215 호 Phone Fax SOFTBASE XFRAME DEVELOPMENT GUIDE SERIES 2012.02.18 서울특별시구로구구로 3 동한신 IT 타워 1215 호 Phone 02-2108-8030 Fax 02-2108-8031 www.softbase.co.kr Copyright 2010 SOFTBase Inc. All rights reserved 목차 1 장 : ActiveX

More information

목차 윈도우드라이버 1. 매뉴얼안내 운영체제 (OS) 환경 윈도우드라이버준비 윈도우드라이버설치 Windows XP/Server 2003 에서설치 Serial 또는 Parallel 포트의경우.

목차 윈도우드라이버 1. 매뉴얼안내 운영체제 (OS) 환경 윈도우드라이버준비 윈도우드라이버설치 Windows XP/Server 2003 에서설치 Serial 또는 Parallel 포트의경우. 소프트웨어매뉴얼 윈도우드라이버 Rev. 3.03 SLP-TX220 / TX223 SLP-TX420 / TX423 SLP-TX400 / TX403 SLP-DX220 / DX223 SLP-DX420 / DX423 SLP-DL410 / DL413 SLP-T400 / T403 SLP-T400R / T403R SLP-D220 / D223 SLP-D420 / D423

More information

vRealize Automation용 VMware Remote Console - VMware

vRealize Automation용 VMware Remote Console - VMware vrealize Automation 용 VMware Remote Console VMware Remote Console 9.0 이문서는새버전으로교체되기전까지나열된각제품버전및모든이후버전을지원합니다. 이문서에대한최신버전을확인하려면 http://www.vmware.com/kr/support/pubs 를참조하십시오. KO-002230-00 vrealize Automation

More information

ISP and CodeVisionAVR C Compiler.hwp

ISP and CodeVisionAVR C Compiler.hwp USBISP V3.0 & P-AVRISP V1.0 with CodeVisionAVR C Compiler http://www.avrmall.com/ November 12, 2007 Copyright (c) 2003-2008 All Rights Reserved. USBISP V3.0 & P-AVRISP V1.0 with CodeVisionAVR C Compiler

More information

PowerPoint Presentation

PowerPoint Presentation Class - Property Jo, Heeseung 목차 section 1 클래스의일반구조 section 2 클래스선언 section 3 객체의생성 section 4 멤버변수 4-1 객체변수 4-2 클래스변수 4-3 종단 (final) 변수 4-4 멤버변수접근방법 section 5 멤버변수접근한정자 5-1 public 5-2 private 5-3 한정자없음

More information

Microsoft PowerPoint - chap01-C언어개요.pptx

Microsoft PowerPoint - chap01-C언어개요.pptx #include int main(void) { int num; printf( Please enter an integer: "); scanf("%d", &num); if ( num < 0 ) printf("is negative.\n"); printf("num = %d\n", num); return 0; } 1 학습목표 프로그래밍의 기본 개념을

More information

Microsoft PowerPoint - chap02-C프로그램시작하기.pptx

Microsoft PowerPoint - chap02-C프로그램시작하기.pptx #include int main(void) { int num; printf( Please enter an integer "); scanf("%d", &num); if ( num < 0 ) printf("is negative.\n"); printf("num = %d\n", num); return 0; } 1 학습목표 을 작성하면서 C 프로그램의

More information

DLL(Dynamic Linked Library)

DLL(Dynamic Linked Library) 제 11 장동적연결라이브러리 11.1 DLL 의링크 11.2 DLL 의종류 실습 11-1 Implicit 링킹을통한정규 DLL 달력만들기 실습 11-2 Explicit 링킹을통한정규 DLL 달력만들기 실습 11-3 확장 DLL 을통한주민등록번호조회 프로그램만들기 DLL(Dynamic Linked Library) DLL 이란? 동적연결라이브러리 프로그램내부에라이브러리가있는것이아니라따로독립적으로실행가능한파일

More information

Flex Builder 2 & 차트

Flex Builder 2 & 차트 FLEX Builder 2 를이용한 FLEX 어플리케이션제작 홍성원 한국어도비시스템즈기술영업부차장 FLEX 어플리케이션을제작하기위해서는먼저 FLEX의컴포넌트기반개발방법을이해해야한다. FLEX는컴포넌트기반개발방법을지원하므로개발자는제공되는 FLEX 컴포넌트를사용하여어플리케이션을개발하거나컴포넌트를조합하여새로운컴포넌트를제작할수있다. FLEX 어플리케이션을제작할때가장먼저하는작업은컨테이너라는컴포넌트를사용하여사용자인터페이스를정의하는것이다.

More information

PowerPoint Presentation

PowerPoint Presentation 객체지향프로그래밍 클래스, 객체, 메소드 ( 실습 ) 손시운 ssw5176@kangwon.ac.kr 예제 1. 필드만있는클래스 텔레비젼 2 예제 1. 필드만있는클래스 3 예제 2. 여러개의객체생성하기 4 5 예제 3. 메소드가추가된클래스 public class Television { int channel; // 채널번호 int volume; // 볼륨 boolean

More information

C# Programming Guide - Types

C# Programming Guide - Types C# Programming Guide - Types 최도경 lifeisforu@wemade.com 이문서는 MSDN 의 Types 를요약하고보충한것입니다. http://msdn.microsoft.com/enus/library/ms173104(v=vs.100).aspx Types, Variables, and Values C# 은 type 에민감한언어이다. 모든

More information

JUNIT 실습및발표

JUNIT 실습및발표 JUNIT 실습및발표 JUNIT 접속 www.junit.org DownLoad JUnit JavaDoc API Document 를참조 JUNIT 4.8.1 다운로드 설치파일 (jar 파일 ) 을다운로드 CLASSPATH 를설정 환경변수에서설정 실행할클래스에서 import JUnit 설치하기 테스트실행주석 @Test Test 를실행할 method 앞에붙임 expected

More information

ThinkVantage Fingerprint Software

ThinkVantage Fingerprint Software ThinkVantage 지문 인식 소프트웨어 First Edition (August 2005) Copyright Lenovo 2005. Portions Copyright International Business Machines Corporation 2005. All rights reserved. U.S. GOVERNMENT USERS RESTRICTED RIGHTS:

More information

PowerPoint Presentation

PowerPoint Presentation Package Class 1 Heeseung Jo 목차 section 1 패키지개요와패키지의사용 section 2 java.lang 패키지의개요 section 3 Object 클래스 section 4 포장 (Wrapper) 클래스 section 5 문자열의개요 section 6 String 클래스 section 7 StringBuffer 클래스 section

More information

Microsoft Word - windows server 2003 수동설치_non pro support_.doc

Microsoft Word - windows server 2003 수동설치_non pro support_.doc Windows Server 2003 수동 설치 가이드 INDEX 운영체제 설치 준비과정 1 드라이버를 위한 플로피 디스크 작성 2 드라이버를 위한 USB 메모리 작성 7 운영체제 설치 과정 14 Boot Sequence 변경 14 컨트롤러 드라이버 수동 설치 15 운영체제 설치 17 운영체제 설치 준비 과정 Windows Server 2003 에는 기본적으로

More information

View Licenses and Services (customer)

View Licenses and Services (customer) 빠른 빠른 시작: 시작: 라이선스, 라이선스, 서비스 서비스 및 주문 주문 이력 이력 보기 보기 고객 가이드 Microsoft 비즈니스 센터의 라이선스, 서비스 및 혜택 섹션을 통해 라이선스, 온라인 서비스, 구매 기록 (주문 기록)을 볼 수 있습니다. 시작하려면, 비즈니스 센터에 로그인하여 상단 메뉴에서 재고를 선택한 후 내 재고 관리를 선택하십시오. 목차

More information

아이콘의 정의 본 사용자 설명서에서는 다음 아이콘을 사용합니다. 참고 참고는 발생할 수 있는 상황에 대처하는 방법을 알려 주거나 다른 기능과 함께 작동하는 방법에 대한 요령을 제공합니다. 상표 Brother 로고는 Brother Industries, Ltd.의 등록 상

아이콘의 정의 본 사용자 설명서에서는 다음 아이콘을 사용합니다. 참고 참고는 발생할 수 있는 상황에 대처하는 방법을 알려 주거나 다른 기능과 함께 작동하는 방법에 대한 요령을 제공합니다. 상표 Brother 로고는 Brother Industries, Ltd.의 등록 상 Android 용 Brother Image Viewer 설명서 버전 0 KOR 아이콘의 정의 본 사용자 설명서에서는 다음 아이콘을 사용합니다. 참고 참고는 발생할 수 있는 상황에 대처하는 방법을 알려 주거나 다른 기능과 함께 작동하는 방법에 대한 요령을 제공합니다. 상표 Brother 로고는 Brother Industries, Ltd.의 등록 상표입니다. Android는

More information

행자부 G4C

행자부 G4C 인증서발급관리모듈 Ver 1.0 개정이력 버전변경일변경사유변경내용작성자승인 1.0 2012-12-22 제정이경희 Copyright 2006. All rights reserved DreamSecurity. 2 목차 1. 인증시스템 ACTIVEX 설치절차... 4 1.1 설치... 4 2. 인증시스템 ACTIVEX 사용... 7 2.1 인증서발급... 7 2.2

More information

슬라이드 1

슬라이드 1 핚국산업기술대학교 제 14 강 GUI (III) 이대현교수 학습안내 학습목표 CEGUI 라이브러리를이용하여, 게임메뉴 UI 를구현해본다. 학습내용 CEGUI 레이아웃의로딩및렌더링. OIS 와 CEGUI 의연결. CEGUI 위젯과이벤트의연동. UI 구현 : 하드코딩방식 C++ 코드를이용하여, 코드내에서직접위젯들을생성및설정 CEGUI::PushButton* resumebutton

More information

쉽게 풀어쓴 C 프로그래밍

쉽게 풀어쓴 C 프로그래밍 Power Java 제 20 장패키지 이번장에서학습할내용 패키지의개념 패키지로묶는방법 패키지사용 기본패키지 유틸리티패키지 패키지는연관된클래스들을묶는기법입니다. 패키지란? 패키지 (package) : 클래스들을묶은것 자바라이브러리도패키지로구성 ( 예 ) java.net 패키지 네트워크관련라이브러리 그림 20-1. 패키지의개념 예제 패키지생성하기 Q: 만약패키지문을사용하지않은경우에는어떻게되는가?

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 인터페이스 배효철 th1g@nate.com 1 목차 인터페이스의역할 인터페이스선언 인터페이스구현 인터페이스사용 타입변환과다형성 인터페이스상속 디폴트메소드와인터페이스확장 2 인터페이스의역할 인터페이스란? 개발코드와객체가서로통신하는접점 개발코드는인터페이스의메소드만알고있으면 OK 인터페이스의역할 개발코드가객체에종속되지않게 -> 객체교체할수있도록하는역할 개발코드변경없이리턴값또는실행내용이다양해질수있음

More information

<4D F736F F F696E74202D20C1A63236C0E520BED6C7C3B8B428B0ADC0C729205BC8A3C8AF20B8F0B5E55D>

<4D F736F F F696E74202D20C1A63236C0E520BED6C7C3B8B428B0ADC0C729205BC8A3C8AF20B8F0B5E55D> Power Java 제 26 장애플릿 이번장에서학습할내용 애플릿소개 애플릿작성및소개 애플릿의생명주기 애플릿에서의그래픽컴포넌트의소개 Applet API의이용 웹브라우저상에서실행되는작은프로그램인애플릿에대하여학습합니다. 애플릿이란? 애플릿은웹페이지같은 HTML 문서안에내장되어실행되는자바프로그램이다. 애플릿을실행시키는두가지방법 1. 웹브라우저를이용하는방법 2. Appletviewer를이용하는방법

More information

<4D F736F F F696E74202D20C1A63038C0E520C5ACB7A1BDBABFCD20B0B4C3BC4928B0ADC0C729205BC8A3C8AF20B8F0B5E55D>

<4D F736F F F696E74202D20C1A63038C0E520C5ACB7A1BDBABFCD20B0B4C3BC4928B0ADC0C729205BC8A3C8AF20B8F0B5E55D> Power Java 제 8 장클래스와객체 I 이번장에서학습할내용 클래스와객체 객체의일생직접 메소드클래스를 필드작성해 UML 봅시다. QUIZ 1. 객체는 속성과 동작을가지고있다. 2. 자동차가객체라면클래스는 설계도이다. 먼저앞장에서학습한클래스와객체의개념을복습해봅시다. 클래스의구성 클래스 (class) 는객체의설계도라할수있다. 클래스는필드와메소드로이루어진다.

More information

이도경, 최덕재 Dokyeong Lee, Deokjai Choi 1. 서론

이도경, 최덕재 Dokyeong Lee, Deokjai Choi 1. 서론 이도경, 최덕재 Dokyeong Lee, Deokjai Choi 1. 서론 2. 관련연구 2.1 MQTT 프로토콜 Fig. 1. Topic-based Publish/Subscribe Communication Model. Table 1. Delivery and Guarantee by MQTT QoS Level 2.1 MQTT-SN 프로토콜 Fig. 2. MQTT-SN

More information

Microsoft PowerPoint SDK설치.HelloAndroid(1.5h).pptx

Microsoft PowerPoint SDK설치.HelloAndroid(1.5h).pptx To be an Android Expert 문양세강원대학교 IT 대학컴퓨터학부 개발환경구조및설치순서 JDK 설치 Eclipse 설치 안드로이드 SDK 설치 ADT(Androd Development Tools) 설치 AVD(Android Virtual Device) 생성 Hello Android! 2 Eclipse (IDE) JDK Android SDK with

More information

BEA_WebLogic.hwp

BEA_WebLogic.hwp BEA WebLogic Server SSL 설정방법 - Ver 1.0-2008. 6 개정이력 버전개정일개정내용 Ver 1.0 2008 년 6 월 BEA WebLogic Server SSL 설명서최초작성 본문서는정보통신부 한국정보보호진흥원의 보안서버구축가이드 를참고하여작성되었습니다. 본문서내용의무단도용및사용을금합니다. < 목차 > 1. 개인키및 CSR 생성방법

More information

학습목표 함수프로시저, 서브프로시저의의미를안다. 매개변수전달방식을학습한다. 함수를이용한프로그래밍한다. 2

학습목표 함수프로시저, 서브프로시저의의미를안다. 매개변수전달방식을학습한다. 함수를이용한프로그래밍한다. 2 학습목표 함수프로시저, 서브프로시저의의미를안다. 매개변수전달방식을학습한다. 함수를이용한프로그래밍한다. 2 6.1 함수프로시저 6.2 서브프로시저 6.3 매개변수의전달방식 6.4 함수를이용한프로그래밍 3 프로시저 (Procedure) 프로시저 (Procedure) 란무엇인가? 논리적으로묶여있는하나의처리단위 내장프로시저 이벤트프로시저, 속성프로시저, 메서드, 비주얼베이직내장함수등

More information

Visual Basic Visual Basic 소개

Visual Basic Visual Basic 소개 1. Visual Basic 소개 학습목표 MS 비주얼베이직 6.0과 2010의차이 비주얼베이직 2010 express 설치 비주얼베이직 2010의통합개발환경 프로그램의시작과실행 2 1. 소개 1.1 MS 비주얼베이직 6.0과 2010의차이 1.2 비주얼베이직 2010 express 설치 1.3 비주얼베이직 2010의통합개발환경 1.4 프로그램의시작과실행 3

More information

- JPA를사용하는경우의스프링설정파일에다음을기술한다. <bean id="entitymanagerfactory" class="org.springframework.orm.jpa.localentitymanagerfactorybean" p:persistenceunitname=

- JPA를사용하는경우의스프링설정파일에다음을기술한다. <bean id=entitymanagerfactory class=org.springframework.orm.jpa.localentitymanagerfactorybean p:persistenceunitname= JPA 와 Hibernate - 스프링의 JDBC 대신에 JPA를이용한 DB 데이터검색작업 - JPA(Java Persistence API) 는자바의 O/R 매핑에대한표준지침이며, 이지침에따라설계된소프트웨어를 O/R 매핑프레임워크 라고한다. - O/R 매핑 : 객체지향개념인자바와관계개념인 DB 테이블간에상호대응을시켜준다. 즉, 객체지향언어의인스턴스와관계데이터베이스의레코드를상호대응시킨다.

More information

q 이장에서다룰내용 1 객체지향프로그래밍의이해 2 객체지향언어 : 자바 2

q 이장에서다룰내용 1 객체지향프로그래밍의이해 2 객체지향언어 : 자바 2 객체지향프로그래밍 IT CookBook, 자바로배우는쉬운자료구조 q 이장에서다룰내용 1 객체지향프로그래밍의이해 2 객체지향언어 : 자바 2 q 객체지향프로그래밍의이해 v 프로그래밍기법의발달 A 군의사업발전 1 단계 구조적프로그래밍방식 3 q 객체지향프로그래밍의이해 A 군의사업발전 2 단계 객체지향프로그래밍방식 4 q 객체지향프로그래밍의이해 v 객체란무엇인가

More information

A SQL Server 2012 설치 A.1 소개 Relational DataBase Management System SQL Server 2012는마이크로소프트사에서제공하는 RDBMS 다. 마이크로소프트사는스탠다드 standard 버전이상의상업용에디션과익스프레스 exp

A SQL Server 2012 설치 A.1 소개 Relational DataBase Management System SQL Server 2012는마이크로소프트사에서제공하는 RDBMS 다. 마이크로소프트사는스탠다드 standard 버전이상의상업용에디션과익스프레스 exp A SQL Server 0 설치 A. 소개 Relational DataBase Management System SQL Server 0는마이크로소프트사에서제공하는 RDBMS 다. 마이크로소프트사는스탠다드 standard 버전이상의상업용에디션과익스프레스 express 버전 의무료에디션을제공하는데, 이책에서는실습을위해 SQL Server 0 익스프레스에디 션 SP

More information

PowerPoint Presentation

PowerPoint Presentation 객체지향프로그래밍 인터페이스, 람다식, 패키지 ( 실습 ) 손시운 ssw5176@kangwon.ac.kr 예제 1. 홈네트워킹 public interface RemoteControl { public void turnon(); // 가전제품을켠다. public void turnoff(); // 가전제품을끈다. 인터페이스를구현 public class Television

More information

ThisJava ..

ThisJava .. 자바언어에정확한타입을추가한 ThisJava 소개 나현익, 류석영 프로그래밍언어연구실 KAIST 2014 년 1 월 14 일 나현익, 류석영 자바언어에정확한타입을추가한 ThisJava 소개 1/29 APLAS 2013 나현익, 류석영 자바 언어에 정확한 타입을 추가한 ThisJava 소개 2/29 실제로부딪힌문제 자바스크립트프로그램분석을위한요약도메인 나현익,

More information

<4D F736F F F696E74202D20B5A5C0CCC5CDBAA3C0CCBDBA5F3130C1D6C2F75F32C2F7BDC32E >

<4D F736F F F696E74202D20B5A5C0CCC5CDBAA3C0CCBDBA5F3130C1D6C2F75F32C2F7BDC32E > 6. ASP.NET ASP.NET 소개 ASP.NET 페이지및응용프로그램구조 Server Controls 데이터베이스와연동 8 장. 데이터베이스응용개발 (Page 20) 6.1 ASP.NET 소개 ASP.NET 동적웹응용프로그램을개발하기위한 MS 의웹기술 현재 ASP.NET 4.5까지출시.Net Framework 4.5 에포함 Visual Studio 2012

More information

Microsoft PowerPoint - additional01.ppt [호환 모드]

Microsoft PowerPoint - additional01.ppt [호환 모드] 1.C 기반의 C++ part 1 함수 오버로딩 (overloading) 디폴트매개변수 (default parameter) 인-라인함수 (in-line function) 이름공간 (namespace) Jong Hyuk Park 함수 Jong Hyuk Park 함수오버로딩 (overloading) 함수오버로딩 (function overloading) C++ 언어에서는같은이름을가진여러개의함수를정의가능

More information

JDK이클립스

JDK이클립스 JDK 와이클립스설치 A. JDK 다운로드, 설치및환경설정 지금부터 JDK를다운로드받아설치하고 JDK를윈도우에서활용할수있도록환경을설정하는전과정을소개한다. 다운로드 www.oracle.com 사이트에접속하여 Downloads 메뉴를선택한후 [ 그림 1] 과같이 "Java for Developers" 를클릭한다. [ 그림 1] www.oracle.com 사이트

More information

이것이 델파이 4

이것이 델파이 4 이것이델파이 4! (This Is Delphi 4!) 델파이 4 는현재사용할수있는가장유연하면서도강력한개발도구이다. 델파이 4 는비주얼인터페이스디자인과강력한객체지향언어로서의특징을가지고있는오브젝트파스칼언어를통합하고있다. 개발자는이를이용하여빠르면서도직관적이고, 견고한 Win32 어플리케이션을쉽게개발할수있다. 이번장에서는델파이 4 에서새롭게선보이는여러가지기능과특징들을소개한다.

More information

Windows Server 2012

Windows Server  2012 Windows Server 2012 Shared Nothing Live Migration Shared Nothing Live Migration 은 SMB Live Migration 방식과다른점은 VM 데이터파일의위치입니다. Shared Nothing Live Migration 방식은 Hyper-V 호스트의로컬디스크에 VM 데이터파일이위치합니다. 반면에, SMB

More information

1. 자바프로그램기초 및개발환경 2 장 & 3 장. 자바개발도구 충남대학교 컴퓨터공학과

1. 자바프로그램기초 및개발환경 2 장 & 3 장. 자바개발도구 충남대학교 컴퓨터공학과 1. 자바프로그램기초 및개발환경 2 장 & 3 장. 자바개발도구 충남대학교 컴퓨터공학과 학습내용 1. Java Development Kit(JDK) 2. Java API 3. 자바프로그래밍개발도구 (Eclipse) 4. 자바프로그래밍기초 2 자바를사용하려면무엇이필요한가? 자바프로그래밍개발도구 JDK (Java Development Kit) 다운로드위치 : http://www.oracle.com/technetwork/java/javas

More information

쉽게 풀어쓴 C 프로그래밍

쉽게 풀어쓴 C 프로그래밍 제 5 장생성자와접근제어 1. 객체지향기법을이해한다. 2. 클래스를작성할수있다. 3. 클래스에서객체를생성할수있다. 4. 생성자를이용하여객체를초기화할수 있다. 5. 접근자와설정자를사용할수있다. 이번장에서만들어볼프로그램 생성자 생성자 (constructor) 는초기화를담당하는함수 생성자가필요한이유 #include using namespace

More information

01장

01장 뇌를자극하는 Windows Server 2012 R2 부록 NAS4Free 의설치와환경설정 네트워크상에서저장공간이제공되는 NAS(Network Attached Storage) 환경을 VMware에서구성해야한다. 이책에서는그중 Unix 계열의운영체제이며무료로사용할수있는 NAS4Free 운영체제를설치하고사용할것이다. 결국지금설치하는 NAS4Free는쿼럼디스크와클러스터디스크를제공하는것이목적이다.

More information

< 목차 > Ⅰ. 개요 3 Ⅱ. 실시간스팸차단리스트 (RBL) ( 간편설정 ) 4 1. 메일서버 (Exchange Server 2007) 설정변경 4 2. 스팸차단테스트 10

< 목차 > Ⅰ. 개요 3 Ⅱ. 실시간스팸차단리스트 (RBL) ( 간편설정 ) 4 1. 메일서버 (Exchange Server 2007) 설정변경 4 2. 스팸차단테스트 10 (https://www.kisarbl.or.kr) < 목차 > Ⅰ. 개요 3 Ⅱ. 실시간스팸차단리스트 (RBL) ( 간편설정 ) 4 1. 메일서버 (Exchange Server 2007) 설정변경 4 2. 스팸차단테스트 10 Ⅰ. 개요 실시간스팸차단리스트 (RBL) 는메일서버를운영하는누구나손쉽게효과적으로스팸수신을차단하는데이용할수있도록한국인터넷진흥원 (KISA)

More information

17장 클래스와 메소드

17장 클래스와 메소드 17 장클래스와메소드 박창이 서울시립대학교통계학과 박창이 ( 서울시립대학교통계학과 ) 17 장클래스와메소드 1 / 18 학습내용 객체지향특징들객체출력 init 메소드 str 메소드연산자재정의타입기반의버전다형성 (polymorphism) 박창이 ( 서울시립대학교통계학과 ) 17 장클래스와메소드 2 / 18 객체지향특징들 객체지향프로그래밍의특징 프로그램은객체와함수정의로구성되며대부분의계산은객체에대한연산으로표현됨객체의정의는

More information

JAVA PROGRAMMING 실습 08.다형성

JAVA PROGRAMMING 실습 08.다형성 2015 학년도 2 학기 1. 추상메소드 선언은되어있으나코드구현되어있지않은메소드 abstract 키워드사용 메소드타입, 이름, 매개변수리스트만선언 public abstract String getname(); public abstract void setname(string s); 2. 추상클래스 abstract 키워드로선언한클래스 종류 추상메소드를포함하는클래스

More information

SBR-100S User Manual

SBR-100S User Manual ( 1 / 13 ) SBR-100S 모델에 대한 사용자 펌웨어 업그레이드 방법을 안내해 드립니다. SBR-100S 는 신규 펌웨어가 있을시 FOTA(자동업데이트) 기능을 통하여 자동 업그레이드가 되며, 필요시 사용자가 신규 펌웨어를 다운받아 수동으로 업그레이드 할 수 있습니다. 1. 준비하기 1.1 연결 장치 준비 펌웨어 업그레이드를 위해서는 SBR-100S

More information

Microsoft PowerPoint - Supplement-03-TCP Programming.ppt [호환 모드]

Microsoft PowerPoint - Supplement-03-TCP Programming.ppt [호환 모드] - Socket Programming in Java - 목차 소켓소개 자바에서의 TCP 프로그램작성방법 주요클래스와메소드 HTTP 프로토콜을이용한예제 에코프로그램 Q/A 에코프로그램 - EchoServer 에코프로그램 - EchoClient TCP Programming 1 소켓소개 IP, Port, and Socket 포트 (Port): 전송계층에서통신을수행하는응용프로그램을찾기위한주소

More information

4장기본프로그래밍2

4장기본프로그래밍2 4-2 마우스 (Mouse) 마우스이벤트 Click 이벤트 마우스버튼이눌렸다가떼어질때발생 DblClick 이벤트 마우스버튼이두번눌렸다가떼어질때발생 MouseDown 이벤트 마우스버튼이눌렸을때발생 MouseUp 이벤트 마우스버튼이떼어질때발생 MouseMove 이벤트 마우스가움직일때발생 DragOver 이벤트 마우스버튼을누른상태에서끌기를했을때발생 DragDrop

More information

PowerPoint Presentation

PowerPoint Presentation public class SumTest { public static void main(string a1[]) { int a, b, sum; a = Integer.parseInt(a1[0]); b = Integer.parseInt(a1[1]); sum = a + b ; // 두수를더하는부분입니다 System.out.println(" 두수의합은 " + sum +

More information

*2008년1월호진짜

*2008년1월호진짜 3. USB 이동식저장장치를이용하여전파되는악성코드분석 1. 개 요 최근 USB 이동식 저장장치를 통하여 전파되는 악성코드에 대한 감염피해가 증가하고 있어 주의가 필요하다. 이번에 확인된 ntion.exe 악성코드는 감염 시, 특정 사이트에 접속하여 추가 악성코드를 다운로드하는 Dropper 기능을 수행한다. 또한, 웹 서버가 감염될 경우는 웹 서버내의 웹 페이지가

More information

11장 포인터

11장 포인터 누구나즐기는 C 언어콘서트 제 9 장포인터 이번장에서학습할내용 포인터이란? 변수의주소 포인터의선언 간접참조연산자 포인터연산 포인터와배열 포인터와함수 이번장에서는포인터의기초적인지식을학습한다. 포인터란? 포인터 (pointer): 주소를가지고있는변수 메모리의구조 변수는메모리에저장된다. 메모리는바이트단위로액세스된다. 첫번째바이트의주소는 0, 두번째바이트는 1, 변수와메모리

More information

2 PX-8000과 RM-8000/LM-8000등의 관련 제품은 시스템의 간편한 설치와 쉬운 운영에 대한 고급 기술을 제공합니다. 또한 뛰어난 확장성으로 사용자가 요구하는 시스템을 손쉽게 구현할 수 있습니다. 메인컨트롤러인 PX-8000의 BGM입력소스를 8개의 로컬지

2 PX-8000과 RM-8000/LM-8000등의 관련 제품은 시스템의 간편한 설치와 쉬운 운영에 대한 고급 기술을 제공합니다. 또한 뛰어난 확장성으로 사용자가 요구하는 시스템을 손쉽게 구현할 수 있습니다. 메인컨트롤러인 PX-8000의 BGM입력소스를 8개의 로컬지 PX-8000 SYSTEM 8 x 8 Audio Matrix with Local Control 2 PX-8000과 RM-8000/LM-8000등의 관련 제품은 시스템의 간편한 설치와 쉬운 운영에 대한 고급 기술을 제공합니다. 또한 뛰어난 확장성으로 사용자가 요구하는 시스템을 손쉽게 구현할 수 있습니다. 메인컨트롤러인 PX-8000의 BGM입력소스를 8개의 로컬지역에

More information

[ 그림 8-1] XML 을이용한옵션메뉴설정방법 <menu> <item 항목ID" android:title=" 항목제목 "/> </menu> public boolean oncreateoptionsmenu(menu menu) { getme

[ 그림 8-1] XML 을이용한옵션메뉴설정방법 <menu> <item 항목ID android:title= 항목제목 /> </menu> public boolean oncreateoptionsmenu(menu menu) { getme 8 차시메뉴와대화상자 1 학습목표 안드로이드에서메뉴를작성하고사용하는방법을배운다. 안드로이드에서대화상자를만들고사용하는방법을배운다. 2 확인해볼까? 3 메뉴 1) 학습하기 [ 그림 8-1] XML 을이용한옵션메뉴설정방법 public boolean

More information

혼자서일을다하는 JSP. 이젠일을 Servlet 과나눠서한다. JSP와서블릿의표현적인차이 - JSP는 <html> 내에서자바를사용할수있는수단을제공한다. - 서블릿은자바내에서 <html> 을작성할수있는수단을제공한다. - JSP나서블릿으로만웹페이지를작성하면자바와다양한코드가

혼자서일을다하는 JSP. 이젠일을 Servlet 과나눠서한다. JSP와서블릿의표현적인차이 - JSP는 <html> 내에서자바를사용할수있는수단을제공한다. - 서블릿은자바내에서 <html> 을작성할수있는수단을제공한다. - JSP나서블릿으로만웹페이지를작성하면자바와다양한코드가 혼자서일을다하는 JSP. 이젠일을 Servlet 과나눠서한다. JSP와서블릿의표현적인차이 - JSP는 내에서자바를사용할수있는수단을제공한다. - 서블릿은자바내에서 을작성할수있는수단을제공한다. - JSP나서블릿으로만웹페이지를작성하면자바와다양한코드가웹페이지내에뒤섞여있어서웹페이지의화면설계가점점어려워진다. - 서블릿이먼저등장하였으나, 자바내에

More information

The Pocket Guide to TCP/IP Sockets: C Version

The Pocket Guide to  TCP/IP Sockets: C Version 인터넷프로토콜 5 장 데이터송수신 (3) 1 파일전송메시지구성예제 ( 고정크기메시지 ) 전송방식 : 고정크기 ( 바이너리전송 ) 필요한전송정보 파일이름 ( 최대 255 자 => 255byte 의메모리공간필요 ) 파일크기 (4byte 의경우최대 4GB 크기의파일처리가능 ) 파일내용 ( 가변길이, 0~4GB 크기 ) 메시지구성 FileName (255bytes)

More information

Keil Flexlm 라이선스 설명서

Keil Flexlm 라이선스 설명서 Copyright 2013 EMThink. All rights reserved. Date: 13 年 8 月 14 日 목차 라이선스서버의 HOSTID 찾기...3 라이선스파일만들기...5 라이선스서버프로그램다운로드하기...5 라이선스서버프로그램설치하기...6 라이선스파일수정하기...6 라이선스서버프로그램시작하기...7 라이선스서버프로그램종료하기...9 Page

More information

메일서버등록제(SPF) 인증기능적용안내서 (Exchange Windows 2000) OS Mail Server SPF 적용모듈 작성기준 Windows Server 2000 Exchange Server 2003 GFI MailEssentials 14 for

메일서버등록제(SPF) 인증기능적용안내서 (Exchange Windows 2000) OS Mail Server SPF 적용모듈 작성기준 Windows Server 2000 Exchange Server 2003 GFI MailEssentials 14 for 메일서버등록제(SPF) 인증기능적용안내서 (Exchange 2003 - Windows 2000) OS Mail Server SPF 적용모듈 작성기준 Windows Server 2000 Exchange Server 2003 GFI MailEssentials 14 for Exchange 2016 년 6 월 - 1 - 목 차 I. 개요 1 1. SPF( 메일서버등록제)

More information

델파이 4 IDE의 내부 (Internals of Delphi 4’s IDE)

델파이 4 IDE의 내부 (Internals of Delphi 4’s IDE) 델파이 4 IDE 의내부 (Internals of Delphi 4 s IDE) 이번장에서는델파이의통합개발환경에대하여알아보도록한다. IDE(Integrated Development Environment) 는어플리케이션을설계하고, 실행시키고, 테스트할수있도록해주는환경을말하는것으로, 프로그램을쉽게개발할수있도록도와주는기능을한다. 과거에는개발자가통합개발환경이없이텍스트에디터로소스를편집해서,

More information

목차 1. 시스템요구사항 암호및힌트설정 ( 윈도우 ) JetFlash Vault 시작하기 ( 윈도우 ) JetFlash Vault 옵션 ( 윈도우 )... 9 JetFlash Vault 설정... 9 JetFlash Vault

목차 1. 시스템요구사항 암호및힌트설정 ( 윈도우 ) JetFlash Vault 시작하기 ( 윈도우 ) JetFlash Vault 옵션 ( 윈도우 )... 9 JetFlash Vault 설정... 9 JetFlash Vault 사용자매뉴얼 JetFlash Vault 100 ( 버전 1.0) 1 목차 1. 시스템요구사항... 3 2. 암호및힌트설정 ( 윈도우 )... 3 3. JetFlash Vault 시작하기 ( 윈도우 )... 7 4. JetFlash Vault 옵션 ( 윈도우 )... 9 JetFlash Vault 설정... 9 JetFlash Vault 찾아보기... 10 JetFlash

More information

목차 데모 홖경 및 개요... 3 테스트 서버 설정... 4 DC (Domain Controller) 서버 설정... 4 RDSH (Remote Desktop Session Host) 서버 설정... 9 W7CLIENT (Windows 7 Client) 클라이얶트 설정

목차 데모 홖경 및 개요... 3 테스트 서버 설정... 4 DC (Domain Controller) 서버 설정... 4 RDSH (Remote Desktop Session Host) 서버 설정... 9 W7CLIENT (Windows 7 Client) 클라이얶트 설정 W2K8 R2 RemoteApp 및 Web Access 설치 및 구성 Step-By-Step 가이드 Microsoft Korea 이 동 철 부장 2009. 10 페이지 1 / 60 목차 데모 홖경 및 개요... 3 테스트 서버 설정... 4 DC (Domain Controller) 서버 설정... 4 RDSH (Remote Desktop Session Host)

More information

CODESYS 런타임 설치과정

CODESYS 런타임 설치과정 CODESYS 런타임설치과정 CODESYS Control RTE / SoftMotion RTE Setup Web: www.altsoft.kr E-mail: altsoft@altsoft.kr Tel: 02-547-2344 목 차 CODESYS 런타임 - Control RTE, SoftMotion RTE... 2 다운로드및설치과정... 2 CODESYS EtherCAT

More information

목 차 1. 드라이버 설치...3 1.1 설치환경...3 1.2 드라이버 설치 시 주의사항...3 1.3 USB 드라이버 파일...3 1.4 Windows XP에서 설치...4 1.5 Windows Vista / Windows 7에서 설치...7 1.6 Windows

목 차 1. 드라이버 설치...3 1.1 설치환경...3 1.2 드라이버 설치 시 주의사항...3 1.3 USB 드라이버 파일...3 1.4 Windows XP에서 설치...4 1.5 Windows Vista / Windows 7에서 설치...7 1.6 Windows 삼성SDS 하이패스 USB 드라이버 설치 매뉴얼 삼성SDS(주) 목 차 1. 드라이버 설치...3 1.1 설치환경...3 1.2 드라이버 설치 시 주의사항...3 1.3 USB 드라이버 파일...3 1.4 Windows XP에서 설치...4 1.5 Windows Vista / Windows 7에서 설치...7 1.6 Windows 8에서 설치...9 2. 드라이버

More information

Windows 10 General Announcement v1.0-KO

Windows 10 General Announcement v1.0-KO Windows 10 Fuji Xerox 장비와의호환성 v1.0 7 July, 2015 머리말 Microsoft 는 Windows 10 이 Windows 자동업데이트기능을통해예약되어질수있다고 6 월 1 일발표했다. 고객들은 윈도우 10 공지알림을받기 를표시하는새로운아이콘을알아차릴수있습니다. Fuji Xerox 는 Microsoft 에서가장최신운영시스템인 Windows

More information

RHEV 2.2 인증서 만료 확인 및 갱신

RHEV 2.2 인증서 만료 확인 및 갱신 2018/09/28 03:56 1/2 목차... 1 인증서 확인... 1 인증서 종류와 확인... 4 RHEVM CA... 5 FQDN 개인 인증서... 5 레드햇 인증서 - 코드 서명 인증서... 6 호스트 인증... 7 참고사항... 8 관련링크... 8 AllThatLinux! - http://allthatlinux.com/dokuwiki/ rhev_2.2_

More information

Chapter #01 Subject

Chapter #01  Subject Device Driver March 24, 2004 Kim, ki-hyeon 목차 1. 인터럽트처리복습 1. 인터럽트복습 입력검출방법 인터럽트방식, 폴링 (polling) 방식 인터럽트서비스등록함수 ( 커널에등록 ) int request_irq(unsigned int irq, void(*handler)(int,void*,struct pt_regs*), unsigned

More information

Studuino소프트웨어 설치

Studuino소프트웨어 설치 Studuino 프로그래밍환경 Studuino 소프트웨어설치 본자료는 Studuino 프로그래밍환경설치안내서입니다. Studuino 프로그래밍 환경의갱신에따라추가 / 수정될수있습니다. 목차 1. 소개... 1 2. Windows... 2 2.1. 프로그래밍환경설치... 2 2.1.1. 웹설치버전설치방법... 2 2.2. Studuino 프로그래밍환경실행...

More information

Microsoft PowerPoint - CSharp-10-예외처리

Microsoft PowerPoint - CSharp-10-예외처리 10 장. 예외처리 예외처리개념 예외처리구문 사용자정의예외클래스와예외전파 순천향대학교컴퓨터학부이상정 1 예외처리개념 순천향대학교컴퓨터학부이상정 2 예외처리 오류 컴파일타임오류 (Compile-Time Error) 구문오류이기때문에컴파일러의구문오류메시지에의해쉽게교정 런타임오류 (Run-Time Error) 디버깅의절차를거치지않으면잡기어려운심각한오류 시스템에심각한문제를줄수도있다.

More information

Microsoft PowerPoint - web-part03-ch20-XMLHttpRequest기본.pptx

Microsoft PowerPoint - web-part03-ch20-XMLHttpRequest기본.pptx 과목명 : 웹프로그래밍응용교재 : 모던웹을위한 JavaScript Jquery 입문, 한빛미디어 Part3. Ajax Ch20. XMLHttpRequest 2014년 1학기 Professor Seung-Hoon Choi 20 XMLHttpRequest XMLHttpRequest 객체 자바스크립트로 Ajax를이용할때사용하는객체 간단하게 xhr 이라고도부름 서버

More information

Microsoft PowerPoint App Fundamentals[Part1](1.0h).pptx

Microsoft PowerPoint App Fundamentals[Part1](1.0h).pptx To be an Android Expert 문양세강원대학교 IT 대학컴퓨터학부 애플리케이션기초 애플리케이션컴포넌트 액티비티와태스크 Part 1 프로세스와쓰레드 컴포넌트생명주기 Part 2 2 Library Java (classes) aapk.apk (android package) identifiers Resource & Configuration aapk: android

More information

슬라이드 1

슬라이드 1 UNIT 16 예외처리 로봇 SW 교육원 3 기 최상훈 학습목표 2 예외처리구문 try-catch-finally 문을사용핛수있다. 프로그램오류 3 프로그램오류의종류 컴파일에러 (compile-time error) : 컴파일실행시발생 럮타임에러 (runtime error) : 프로그램실행시발생 에러 (error) 프로그램코드에의해서해결될수없는심각핚오류 ex)

More information

설치 순서 Windows 98 SE/Me/2000/XP 1 PC를 켜고 Windows를 시작합니다. 아직 컴퓨터에 프린터를 연결하지 마십시오. 2 PC에 P-S100 CD-ROM(프 린터 드라이버)을 삽입합니다. 3 설치 프로그램을 시작합니다. q CD-ROM의 PS1

설치 순서 Windows 98 SE/Me/2000/XP 1 PC를 켜고 Windows를 시작합니다. 아직 컴퓨터에 프린터를 연결하지 마십시오. 2 PC에 P-S100 CD-ROM(프 린터 드라이버)을 삽입합니다. 3 설치 프로그램을 시작합니다. q CD-ROM의 PS1 디지털 사진 프린터 P-S100 프린터 드라이버 설치 가이드 사용하는 컴퓨터에 따라 제공된 프린터 드라이버를 설치합니다. 설치 절차 에 대한 자세한 내용은 CD-ROM의 Readme 파일을 참조하십시오. 작동 환경 Windows 호환 모델: IBM PC/AT 및 호환품 운영 체제: Windows 98 SE/Me/2000/XP (Windows 98 SE/Me/2000/XP

More information

Microsoft PowerPoint 자바-기본문법(Ch2).pptx

Microsoft PowerPoint 자바-기본문법(Ch2).pptx 자바기본문법 1. 기본사항 2. 자료형 3. 변수와상수 4. 연산자 1 주석 (Comments) 이해를돕기위한설명문 종류 // /* */ /** */ 활용예 javadoc HelloApplication.java 2 주석 (Comments) /* File name: HelloApplication.java Created by: Jung Created on: March

More information

Microsoft PowerPoint - java1-lab5-ImageProcessorTestOOP.pptx

Microsoft PowerPoint - java1-lab5-ImageProcessorTestOOP.pptx 2018 학년도 1 학기 JAVA 프로그래밍 II 514760-1 2018 년봄학기 5/10/2018 박경신 Lab#1 (ImageTest) Lab#1 은영상파일 (Image) 을읽어서정보를출력 Java Tutorials Lesson: Working with Images https://docs.oracle.com/javase/tutorial/2d/images/index.html

More information

Network Security - Wired Sniffing 실습 ICNS Lab. Kyung Hee University

Network Security - Wired Sniffing 실습 ICNS Lab. Kyung Hee University Network Security - Wired Sniffing 실습 ICNS Lab. Kyung Hee University Outline Network Network 구조 Source-to-Destination 간 packet 전달과정 Packet Capturing Packet Capture 의원리 Data Link Layer 의동작 Wired LAN Environment

More information

Microsoft PowerPoint - 03-TCP Programming.ppt

Microsoft PowerPoint - 03-TCP Programming.ppt Chapter 3. - Socket in Java - 목차 소켓소개 자바에서의 프로그램작성방법 주요클래스와메소드 HTTP 프로토콜을이용한예제 에코프로그램 에코프로그램 - EchoServer 에코프로그램 - EchoClient Q/A 1 1 소켓소개 IP,, and Socket 포트 (): 전송계층에서통신을수행하는응용프로그램을찾기위한주소 소켓 (Socket):

More information

PowerPoint Template

PowerPoint Template 16-1. 보조자료템플릿 (Template) 함수템플릿 클래스템플릿 Jong Hyuk Park 함수템플릿 Jong Hyuk Park 함수템플릿소개 함수템플릿 한번의함수정의로서로다른자료형에대해적용하는함수 예 int abs(int n) return n < 0? -n : n; double abs(double n) 함수 return n < 0? -n : n; //

More information

4S 1차년도 평가 발표자료

4S 1차년도 평가 발표자료 모바일 S/W 프로그래밍 안드로이드개발환경설치 2012.09.05. 오병우 모바일공학과 JDK (Java Development Kit) SE (Standard Edition) 설치순서 Eclipse ADT (Android Development Tool) Plug-in Android SDK (Software Development Kit) SDK Components

More information

Microsoft PowerPoint - 11주차_Android_GoogleMap.ppt [호환 모드]

Microsoft PowerPoint - 11주차_Android_GoogleMap.ppt [호환 모드] Google Map View 구현 학습목표 교육목표 Google Map View 구현 Google Map 지원 Emulator 생성 Google Map API Key 위도 / 경도구하기 위도 / 경도에따른 Google Map View 구현 Zoom Controller 구현 Google Map View (1) () Google g Map View 기능 Google

More information

C++ Programming

C++ Programming C++ Programming 예외처리 Seo, Doo-okok clickseo@gmail.com http://www.clickseo.com 목 차 예외처리 2 예외처리 예외처리 C++ 의예외처리 예외클래스와객체 3 예외처리 예외를처리하지않는프로그램 int main() int a, b; cout > a >> b; cout

More information

Microsoft Word - Armjtag_문서1.doc

Microsoft Word - Armjtag_문서1.doc ARM JTAG (wiggler 호환 ) 사용방법 ( IAR EWARM 에서 ARM-JTAG 로 Debugging 하기 ) Test Board : AT91SAM7S256 IAR EWARM : Kickstart for ARM ARM-JTAG : ver 1.0 ( 씨링크테크 ) 1. IAR EWARM (Kickstart for ARM) 설치 2. Macraigor

More information