Flash Platform의 성능 최적화

Size: px
Start display at page:

Download "Flash Platform의 성능 최적화"

Transcription

1 ADOBE FLASH PLATFORM

2

3 iii 1 : : D : CPU Flash Player 10.1 CPU ENTER_FRAME : ActionScript 3.0 Vector Array API :

4 iv GPU : Flash Remoting : StageVideo : SQL SQL SQL :

5 1 1 : Adobe AIR Adobe Flash Player,,,... CPU ActionScript 3.0 SQL, AIR Flash Player.. Flash Player 10.1 AIR 2.5, AIR Flash Player. Flash Platform. " "..., 30, 1/30.. Adobe Flash Builder Flash Professional.. ActionScript [SWF(frameRate="24"]. MXML framerate WindowedApplication.,, enterframe. ( enterframe ), enterframe.....

6 2 : updateafterevent. updateafterevent..,.... " (elastic racetrack)". ( ).. 1/ Flash Platform. Flash Player Mental Model - The Elastic Racetrack(Ted Patrick ) Asynchronous ActionScript Execution(Trevor McCauley ) Christmann MAX ), Adobe AIR....,..??????????? CPU???.,

7 3....,. Flash Platform.. " " ,, Goldman MAX ) AIR Oliver Goldman Adobe Developer Connection )

8 4 2 :... ActionScript Shape, Sprite, MovieClip... trace(getsize(new Shape())); // output: 236 trace(getsize(new Sprite())); // output: 412 trace(getsize(new MovieClip())); // output: 440 getsize(). MovieClip Shape MovieClip. getsize(). String 4-8..

9 5 // Primitive types var a:number; trace(getsize(a)); // output: 8 var b:int; trace(getsize(b)); // output: 4 var c:uint; trace(getsize(c)); // output: 4 var d:boolean; trace(getsize(d)); // output: 4 var e:string; trace(getsize(e)); // output: 4 64 Number AVM(ActionScript Virtual Machine) // Primitive types var a:number = 8; trace(getsize(a)); // output: 4 a = Number.MAX_VALUE; trace(getsize(a)); // output: 8 String. String. var name:string; trace(getsize(name)); // output: 4 name = ""; trace(getsize(name)); // output: 24 name = "Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularized in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages, and more recently with desktop publishing software like Aldus PageMaker including versions of Lorem Ipsum."; trace(getsize(name)); // output: 1172 getsize()..

10 6.. const MAX_NUM:int = 18; const COLOR:uint = 0xCCCCCC; var area:rectangle; for (var:int = 0; i < MAX_NUM; i++) // Do not use the following code area = new Rectangle(i,0,1,10); mybitmapdata.fillrect(area,color); Rectangle.. const MAX_NUM:int = 18; const COLOR:uint = 0xCCCCCC; // Create the rectangle outside the loop var area:rectangle = new Rectangle(0,0,1,10); for (var:int = 0; i < MAX_NUM; i++) area.x = i; mybitmapdata.fillrect(area,color);. BitmapData.. var myimage:bitmapdata; var mycontainer:bitmap; const MAX_NUM:int = 300; for (var i:int = 0; i< MAX_NUM; i++) // Create a 20 x 20 pixel bitmap, non-transparent myimage = new BitmapData(20,20,false,0xF0D062); // Create a container for each BitmapData instance mycontainer = new Bitmap(myImage); // Add it to the display list addchild(mycontainer); // Place each container mycontainer.x = (mycontainer.width + 8) * Math.round(i % 20); mycontainer.y = (mycontainer.height + 8) * int(i / 20); : int Math.floor()..

11 7 Bitmap BitmapData. // Create a single 20 x 20 pixel bitmap, non-transparent var myimage:bitmapdata = new BitmapData(20,20,false,0xF0D062); var mycontainer:bitmap; const MAX_NUM:int = 300; for (var i:int = 0; i< MAX_NUM; i++) // Create a container referencing the BitmapData instance mycontainer = new Bitmap(myImage); // Add it to the display list addchild(mycontainer); // Place each container mycontainer.x = (mycontainer.width + 8) * Math.round(i % 20); mycontainer.y = (mycontainer.height + 8) * int(i / 20); 700KB,. Bitmap BitmapData.

12 8 // Create a single 20 x 20 pixel bitmap, non-transparent var myimage:bitmapdata = new BitmapData(20,20,false,0xF0D062); var mycontainer:bitmap; const MAX_NUM:int = 300; for (var i:int = 0; i< MAX_NUM; i++) // Create a container referencing the BitmapData instance mycontainer = new Bitmap(myImage); // Add it to the DisplayList addchild(mycontainer); // Place each container mycontainer.x = (mycontainer.width + 8) * Math.round(i % 20); mycontainer.y = (mycontainer.height + 8) * int(i / 20); // Set a specific rotation, alpha, and depth mycontainer.rotation = Math.random()*360; mycontainer.alpha = Math.random(); mycontainer.scalex = mycontainer.scaley = Math.random();. 48

13 9.. Array Vector. CPU. null. null..... package import flash.display.sprite; public final class SpritePool private static var MAX_VALUE:uint; private static var GROWTH_VALUE:uint; private static var counter:uint; private static var pool:vector.<sprite>; private static var currentsprite:sprite; public static function initialize( maxpoolsize:uint, growthvalue:uint ):void MAX_VALUE = maxpoolsize; GROWTH_VALUE = growthvalue; counter = maxpoolsize; var i:uint = maxpoolsize; pool = new Vector.<Sprite>(MAX_VALUE); while( --i > -1 ) pool[i] = new Sprite(); public static function getsprite():sprite if ( counter > 0 ) return currentsprite = pool[--counter]; var i:uint = GROWTH_VALUE; while( --i > -1 ) pool.unshift ( new Sprite() ); counter = GROWTH_VALUE; return getsprite(); public static function disposesprite(disposedsprite:sprite):void pool[counter++] = disposedsprite;

14 10 SpritePool. getsprite() disposesprite() SpritePool. const MAX_SPRITES:uint = 100; const GROWTH_VALUE:uint = MAX_SPRITES >> 1; const MAX_NUM:uint = 10; SpritePool.initialize ( MAX_SPRITES, GROWTH_VALUE ); var currentsprite:sprite; var container:sprite = SpritePool.getSprite(); addchild ( container ); for ( var i:int = 0; i< MAX_NUM; i++ ) for ( var j:int = 0; j< MAX_NUM; j++ ) currentsprite = SpritePool.getSprite(); currentsprite.graphics.beginfill ( 0x ); currentsprite.graphics.drawcircle ( 10, 10, 10 ); currentsprite.x = j * (currentsprite.width + 5); currentsprite.y = i * (currentsprite.width + 5); container.addchild ( currentsprite );. stage.addeventlistener ( MouseEvent.CLICK, removedots ); function removedots ( e:mouseevent ):void while (container.numchildren > 0 ) SpritePool.disposeSprite (container.removechildat(0) as Sprite ); : Sprite. SpritePool dispose().. Flash Player.. ActionScript delete ActionScript 3.0. ActionScript 3.0. : Adobe AIR Flash Player. Sprite null.

15 11 var mysprite:sprite = new Sprite(); // Set the reference to null, so that the garbage collector removes // it from memory mysprite = null; null CPU.. null.. : null. CPU. null. Adobe AIR Flash Player System.gc(). Adobe Flash Builder.. :. null removeeventlistener().. BitmapData dispose(). 1.8MB BitmapData. 1.8MB System.totalMemory. trace(system.totalmemory / 1024); // output: // Create a BitmapData instance var image:bitmapdata = new BitmapData(800, 600); trace(system.totalmemory / 1024); // output: BitmapData,. trace(system.totalmemory / 1024); // output: // Create a BitmapData instance var image:bitmapdata = new BitmapData(800, 600); trace(system.totalmemory / 1024); // output: image.dispose(); image = null; trace(system.totalmemory / 1024); // output: dispose() null. BitmapData dispose() null.

16 12 : Flash Player 10.1 AIR System disposexml(). XML XML. 25. ( ) CPU GPU Flash Player Windows Mobile Flash Player : Flash Player (4 ). 300 x KB (300*300*4/1024). 175KB. 16. (PNG, GIF, JPG) , BitmapData BitmapData. Flash Player 10.1 AIR 2.5 BitmapData. BitmapData BitmapData.. [Embed]. : Flash Player 10.1 AIR Flash Player 10.1 AIR 2.5.

17 13 Flash Player 10.1 AIR 2.5 Flash Player 10.1 AIR 2.5 BitmapData.. Flash Player 10.1 AIR 2.5. Star.

18 14 const MAX_NUM:int = 18; var star:bitmapdata; var bitmap:bitmap; for (var i:int = 0; i<max_num; i++) for (var j:int = 0; j<max_num; j++) star = new Star(0,0); bitmap = new Bitmap(star); bitmap.x = j * star.width; bitmap.y = i * star.height; addchild(bitmap). Flash Player KB Flash Player KB. BitmapData.

19 15 const MAX_NUM:int = 18; var star:bitmapdata; var bitmap:bitmap; for (var i:int = 0; i<max_num; i++) for (var j:int = 0; j<max_num; j++) star = new Star(0,0); bitmap = new Bitmap(star); bitmap.x = j * star.width; bitmap.y = i * star.height; addchild(bitmap) var ref:bitmap = getchildat(0) as Bitmap; ref.bitmapdata.pixeldissolve(ref.bitmapdata, ref.bitmapdata.rect, new Point(0,0),Math.random()*200,Math.random()*200, 0x990000); Star.. BitmapData..

20 16 setpixel(). Flash Player 10.1 AIR 2.5 8KB.. beginbitmapfill(). var container:sprite = new Sprite(); var source:bitmapdata = new Star(0,0); // Fill the surface with the source BitmapData container.graphics.beginbitmapfill(source); container.graphics.drawrect(0,0,stage.stagewidth,stage.stageheight); addchild(container); BitmapData. Star Matrix. Matrix beginbitmapfill().

21 17 var container:sprite = new Sprite(); container.addeventlistener(event.enter_frame, rotate); var source:bitmapdata = new Star(0,0); var matrix:matrix = new Matrix(); addchild(container); var angle:number =.01; function rotate(e:event):void // Rotate the stars matrix.rotate(angle); // Clear the content container.graphics.clear(); // Fill the surface with the source BitmapData container.graphics.beginbitmapfill(source,matrix,true,true); container.graphics.drawrect(0,0,stage.stagewidth,stage.stageheight); ActionScript... BitmapData.. :. Shape.

22 18 Pixel Bender. Pixel Bender..... CPU. Flash Player 10.1 AIR , CPU GPU. ( : Adobe Photoshop ). ActionScript. CPU GPU,....

23 19 Flash Player 10.1 AIR 2.5. Flash Player 9 AIR 1.0. : x x x 256, 512 x 512, 1024 x x x x x 512, 256 x 256, 128 x 128, 64 x 64. Flash Player 10.1 AIR MB(1024 x 1024) 16KB(64 x 64).. 64 x 64 4MB... 1:8 1:4/1:2/1:1. 1:1. JPEG... JPEG. :.,.,.. 3D 3D. Flash Player 10 AIR 1.5 3D. rotationx rotationy Graphics drawtriangles(). z...

24 20. AIR Flash Player AIR AIR 2.5 3D. Flash Player. API 3D. Flash Player 10 AIR 1.5 3D. drawtriangles(). 3D API,. ActionScript. rendermode GPU AIR AIR 2.5 GPU 3D. rendermode CPU CPU 3D (GPU ). Flash Player 10.1 CPU 3D. CPU 3D 3D.. 3D. CPU 3D 3D. Adobe Flash Text Engine TextField. Flash Player 10 AIR 1.5 Adobe Flash Text Engine(FTE). FTE API ActionScript 3.0 flash.text.engine. Flash Text Engine. ActionScript TextField.

25 ActionScript dispatchevent().... dispatchevent( new Event ( Event.COMPLETE ) ); Document. addeventlistener( Event.COMPLETE, onanimationcomplete );,. Event. Event.ENTER_FRAME..

26 22 3 : CPU CPU. CPU,. Flash Player 10.1 CPU Flash Player 10.1 CPU. SWF, Flash Player., :, Adobe AIR. CPU Flash Player SWF CPU. Flash Player.. SWF. SWF.. ActionScript haspriority HTML true. SWF haspriority HTML. SWF. haspriority HTML SWF 2fps 8fps. SWF. Windows Mac Flash Player 11.2 ThrottleEvent. Flash Player, ThrottleEvent. ThrottleEvent., EventDispatcher. DisplayObject. : Adobe AIR. haspriority HTML SWF. Flash Player 10.1 haspriority HTML. <param name="haspriority" value="true" />

27 CPU 23 Flash Player. CPU. SWF. SWF... haspriority false. SWF haspriority true. haspriority SWF. : CPU haspriority true Flash Player. JavaScript haspriority. haspriority 1x1 0x0 SWF. SWF. " (click to play)". haspriority. SWF haspriority false SWF haspriority false SWF haspriority false SWF SWF haspriority

28 CPU 24 SWF haspriority false SWF haspriority false SWF haspriority true SWF SWF haspriority Flash Player 10.1 AIR 2.5 CPU,.. 4 / (fps). AIR. ActionScript. Stage.frameRate 4fps, 4fps. 0 4fps (NetStream, Socket NetConnection) ms(4fps).. : Stage.frameRate 4fps SWF..... A/V 4fps. A/V.

29 CPU 25 SWF. A/V Flash Player A/V Flash Player. A/V 4fps... CPU. : ActionScript. REMOVED_FROM_STAGE ADDED_TO_STAGE... CPU. Event.ENTER_FRAME. Event.REMOVED_FROM_STAGE Event.ADDED_TO_STAGE.. // Listen to keyboard events stage.addeventlistener(keyboardevent.key_down, keyisdown); stage.addeventlistener(keyboardevent.key_up, keyisup); // Create object to store key states var keys:dictionary = new Dictionary(true); function keyisdown(e:keyboardevent):void // Remember that the key was pressed keys[e.keycode] = true; if (e.keycode==keyboard.left e.keycode==keyboard.right) runningboy.play(); function keyisup(e:keyboardevent):void // Remember that the key was released keys[e.keycode] = false; for each (var value:boolean in keys) if ( value ) return; runningboy.stop();

30 CPU 26 runningboy.addeventlistener(event.enter_frame, handlemovement); runningboy.stop(); var currentstate:number = runningboy.scalex; var speed:number = 15; function handlemovement(e:event):void if (keys[keyboard.right]) e.currenttarget.x += speed; e.currenttarget.scalex = currentstate; else if (keys[keyboard.left]) e.currenttarget.x -= speed; e.currenttarget.scalex = -currentstate; [Remove]. // Show or remove running boy showbtn.addeventlistener (MouseEvent.CLICK,showIt); removebtn.addeventlistener (MouseEvent.CLICK,removeIt); function showit (e:mouseevent):void addchild (runningboy); function removeit(e:mouseevent):void if (contains(runningboy)) removechild(runningboy);

31 CPU 27 Event.ENTER_FRAME.. CPU. // Listen to Event.ADDED_TO_STAGE and Event.REMOVED_FROM_STAGE runningboy.addeventlistener(event.added_to_stage,activate); runningboy.addeventlistener(event.removed_from_stage,deactivate); function activate(e:event):void // Restart everything e.currenttarget.addeventlistener(event.enter_frame,handlemovement); function deactivate(e:event):void // Freeze the running boy - consumes fewer CPU resources when not shown e.currenttarget.removeeventlistener(event.enter_frame,handlemovement); e.currenttarget.stop(); [ ], Event.ENTER_FRAME,. : null. CPU. CPU. Flash Player 10 AIR Loader. Flash Player 9 AIR 1.0 Loader LoaderInfo Event.UNLOAD.,. Flash Player 10 AIR 1.5 Loader unloadandstop(). SWF, SWF,. SWF unload(),. var loader:loader = new Loader(); loader.load ( new URLRequest ( "content.swf" ) ); addchild ( loader ); stage.addeventlistener ( MouseEvent.CLICK, unloadswf ); function unloadswf ( e:mouseevent ):void // Unload the SWF file with no automatic object deactivation // All deactivation must be processed manually loader.unload(); unloadandstop().

32 CPU 28 var loader:loader = new Loader(); loader.load ( new URLRequest ( "content.swf" ) ); addchild ( loader ); stage.addeventlistener ( MouseEvent.CLICK, unloadswf ); function unloadswf ( e:mouseevent ):void // Unload the SWF file with automatic object deactivation // All deactivation is handled automatically loader.unloadandstop(); unloadandstop().. SWF.. ( : ).. Event.ENTER_FRAME, Event.FRAME_CONSTRUCTED, Event.EXIT_FRAME, Event.ACTIVATE Event.DEACTIVATE. Event.ACTIVATE Event.DEACTIVATE. (Event.ACTIVATE Event.DEACTIVATE) CPU var originalframerate:uint = stage.framerate; var standbyframerate:uint = 0; stage.addeventlistener ( Event.ACTIVATE, onactivate ); stage.addeventlistener ( Event.DEACTIVATE, ondeactivate ); function onactivate ( e:event ):void // restore original frame rate stage.framerate = originalframerate; function ondeactivate ( e:event ):void // set frame rate to 0 stage.framerate = standbyframerate;

33 CPU 29.,. " " ( : MovieClip Sprite )., CPU.. mouseenabled mousechildren. // Disable any mouse interaction with this InteractiveObject myinteractiveobject.mouseenabled = false; const MAX_NUM:int = 10; // Create a container for the InteractiveObjects var container:sprite = new Sprite(); for ( var i:int = 0; i< MAX_NUM; i++ ) // Add InteractiveObject to the container container.addchild( new Sprite() ); // Disable any mouse interaction on all the children container.mousechildren = false;. CPU,. ENTER_FRAME ENTER_FRAME., Event.ENTER_FRAME. ActionScript 3.0. (DisplayObject) Event.ENTER_FRAME.. ActionScript ENTER_FRAME. ENTER_FRAME

34 CPU 30.. Stage.frameRate. ENTER_FRAME.. ENTER_FRAME.... :.,. 10fps. 1. TimerEvent updateafterevent()... // Use a low frame rate for the application stage.framerate = 10; // Choose one update per second var updateinterval:int = 1000; var mytimer:timer = new Timer(updateInterval,0); mytimer.start(); mytimer.addeventlistener( TimerEvent.TIMER, updatecontrols ); function updatecontrols( e:timerevent ):void // Update controls here // Force the controls to be updated on screen e.updateafterevent(); updateafterevent().. 10fps. ENTER_FRAME. SWF. Timer enterframe. enterframe. enterframe. enterframe.. Timer Timer.. Timer.., Timer 100. Timer Timer Timer delay., 100, 200. delay 100 Timer. timer 200..

35 CPU 31 var timer:timer = new Timer(100); timer.addeventlistener(timerevent.timer, timerhandler); timer.start(); var offcycle:boolean = true; function timerhandler(event:timerevent):void // Do things that happen every 100 ms if (!offcycle) // Do things that happen every 200 ms offcycle =!offcycle; Timer.. Timer timer true Timer stop(). enterframe Timer..,. Flash Player AIR " ".. Writing well-behaved, efficient, AIR applications(arno Gourdol ) 56 CPU. CPU,. Flash...

36 32 4 : ActionScript 3.0 Vector Array Array Vector. Vector Array. Array Vector. Array. var coordinates:array = new Array(); var started:number = gettimer(); for (var i:int = 0; i< ; i++) coordinates[i] = Math.random()*1024; trace(gettimer() - started); // output: 107 Vector. var coordinates:vector.<number> = new Vector.<Number>(); var started:number = gettimer(); for (var i:int = 0; i< ; i++) coordinates[i] = Math.random()*1024; trace(gettimer() - started); // output: 72. // Specify a fixed length and initialize its length var coordinates:vector.<number> = new Vector.<Number>(300000, true); var started:number = gettimer(); for (var i:int = 0; i< ; i++) coordinates[i] = Math.random()*1024; trace(gettimer() - started); // output:

37 ActionScript // Store the reused value to maintain code easily const MAX_NUM:int = ; var coordinates:vector.<number> = new Vector.<Number>(MAX_NUM, true); var started:number = gettimer(); for (var i:int = 0; i< MAX_NUM; i++) coordinates[i] = Math.random()*1024; trace(gettimer() - started); // output: 47 Vector API API. API API. Flash Player 10 AIR 1.5 API. API. ActionScript. API. drawpath() drawgraphicsdata() drawtriangles() : 3D drawtriangles(). ActionScript.. var container:shape = new Shape(); container.graphics.beginfill(0x442299); var coords:vector.<number> = Vector.<Number>([132, 20, 46, 254, 244, 100, 20, 98, 218, 254]); container.graphics.moveto ( coords[0], coords[1] ); container.graphics.lineto ( coords[2], coords[3] ); container.graphics.lineto ( coords[4], coords[5] ); container.graphics.lineto ( coords[6], coords[7] ); container.graphics.lineto ( coords[8], coords[9] ); addchild( container );. drawpath().

38 ActionScript var container:shape = new Shape(); container.graphics.beginfill(0x442299); var commands:vector.<int> = Vector.<int>([1,2,2,2,2]); var coords:vector.<number> = Vector.<Number>([132, 20, 46, 254, 244, 100, 20, 98, 218, 254]); container.graphics.drawpath(commands, coords); addchild( container ); drawgraphicsdata().. ActionScript 3.0. ActionScript.... MouseEvent.CLICK. const MAX_NUM:int = 10; var scenewidth:int = stage.stagewidth; var sceneheight:int = stage.stageheight; var currentapple:interactiveobject; var currentappleclicked:interactiveobject; for ( var i:int = 0; i< MAX_NUM; i++ ) currentapple = new Apple(); currentapple.x = Math.random()*sceneWidth; currentapple.y = Math.random()*sceneHeight; addchild ( currentapple ); // Listen to the MouseEvent.CLICK event currentapple.addeventlistener ( MouseEvent.CLICK, onappleclick ); function onappleclick ( e:mouseevent ):void currentappleclicked = e.currenttarget as InteractiveObject; currentappleclicked.removeeventlistener(mouseevent.click, onappleclick ); removechild ( currentappleclicked ); Apple addeventlistener(). removeeventlistener(). ActionScript 3.0 InteractiveObject. addeventlistener() removeeventlistener()..

39 ActionScript const MAX_NUM:int = 10; var scenewidth:int = stage.stagewidth; var sceneheight:int = stage.stageheight; var currentapple:interactiveobject; var currentappleclicked:interactiveobject; var container:sprite = new Sprite(); addchild ( container ); // Listen to the MouseEvent.CLICK on the apple's parent // Passing true as third parameter catches the event during its capture phase container.addeventlistener ( MouseEvent.CLICK, onappleclick, true ); for ( var i:int = 0; i< MAX_NUM; i++ ) currentapple = new Apple(); currentapple.x = Math.random()*sceneWidth; currentapple.y = Math.random()*sceneHeight; container.addchild ( currentapple ); function onappleclick ( e:mouseevent ):void currentappleclicked = e.target as InteractiveObject; container.removechild ( currentappleclicked ); addeventlistener(). Apple. onappleclick(). function onappleclick ( e:mouseevent ):void e.stoppropagation(); currentappleclicked = e.target as InteractiveObject; container.removechild ( currentappleclicked ); addeventlistener() false. // Listen to the MouseEvent.CLICK on apple's parent // Passing false as third parameter catches the event during its bubbling phase container.addeventlistener ( MouseEvent.CLICK, onappleclick, false ); false. container.addeventlistener ( MouseEvent.CLICK, onappleclick ); setvector(). BitmapData. setvector().

40 ActionScript // Image dimensions var wdth:int = 200; var hght:int = 200; var total:int = wdth*hght; // Pixel colors Vector var pixels:vector.<uint> = new Vector.<uint>(total, true); for ( var i:int = 0; i< total; i++ ) // Store the color of each pixel pixels[i] = Math.random()*0xFFFFFF; // Create a non-transparent BitmapData object var myimage:bitmapdata = new BitmapData ( wdth, hght, false ); var imagecontainer:bitmap = new Bitmap ( myimage ); // Paint the pixels myimage.setvector ( myimage.rect, pixels ); addchild ( imagecontainer ); setpixel() setpixel32() lock() unlock(). lock() unlock(). var buffer:bitmapdata = new BitmapData(200,200,true,0xFFFFFFFF); var bitmapcontainer:bitmap = new Bitmap(buffer); var positionx:int; var positiony:int; // Lock update buffer.lock(); var starting:number=gettimer(); for (var i:int = 0; i< ; i++) // Random positions positionx = Math.random()*200; positiony = Math.random()*200; // 40% transparent pixels buffer.setpixel32( positionx, positiony, 0x ); // Unlock update buffer.unlock(); addchild( bitmapcontainer ); trace( gettimer () - starting ); // output : 670 BitmapData lock() BitmapData. Bitmap BitmapData BitmapData. Bitmap BitmapData. setpixel() setpixel32() unlock(). lock() unlock(). : ( ). lock() unlock(). Flash Player.

41 ActionScript ( : getpixel(), getpixel32(), setpixel() setpixel32()).. getpixels() getvector(). Vector Vector API. indexof(), substr() substring() String. String., String.indexOf(). String. ( (xxxx) ) ( (?:xxxx) ).., "ab". "+". /(ab)+/ " "..... /(?:ab)+/ TextField += appendtext(). TextField text += appendtext(). appendtext(). += 1120ms.

42 ActionScript addchild ( mytextfield ); mytextfield.autosize = TextFieldAutoSize.LEFT; var started:number = gettimer(); for (var i:int = 0; i< 1500; i++ ) mytextfield.text += "ActionScript 3"; trace( gettimer() - started ); // output : = appendtext(). var mytextfield:textfield = new TextField(); addchild ( mytextfield ); mytextfield.autosize = TextFieldAutoSize.LEFT; var started:number = gettimer(); for (var i:int = 0; i< 1500; i++ ) mytextfield.appendtext ( "ActionScript 3" ); trace( gettimer() - started ); // output : ms ms. var mytextfield:textfield = new TextField(); addchild ( mytextfield ); mytextfield.autosize = TextFieldAutoSize.LEFT; var started:number = gettimer(); var content:string = mytextfield.text; for (var i:int = 0; i< 1500; i++ ) content += "ActionScript 3"; mytextfield.text = content; trace( gettimer() - started ); // output : 2 HTML Flash Player Timeout.. : Adobe AIR.

43 ActionScript var mytextfield:textfield = new TextField(); addchild ( mytextfield ); mytextfield.autosize = TextFieldAutoSize.LEFT; var started:number = gettimer(); for (var i:int = 0; i< 1500; i++ ) mytextfield.htmltext += "ActionScript <b>2</b>"; trace( gettimer() - started ); 29ms. var mytextfield:textfield = new TextField(); addchild ( mytextfield ); mytextfield.autosize = TextFieldAutoSize.LEFT; var started:number = gettimer(); var content:string = mytextfield.htmltext; for (var i:int = 0; i< 1500; i++ ) content += "<b>actionscript<b> 3"; mytextfield.htmltext = content; trace ( gettimer() - started ); // output : 29 : Flash Player 10.1 AIR 2.5 String..... var lng:int = 5000; var arraysprite:vector.<sprite> = new Vector.<Sprite>(lng, true); var i:int; for ( i = 0; i< lng; i++ ) arraysprite[i] = new Sprite(); var started:number = gettimer(); for ( i = 0; i< lng; i++ ) arraysprite[i].x = Math.random()*stage.stageWidth; arraysprite[i].y = Math.random()*stage.stageHeight; arraysprite[i].alpha = Math.random(); arraysprite[i].rotation = Math.random()*360; trace( gettimer() - started ); // output : 16.

44 ActionScript var lng:int = 5000; var arraysprite:vector.<sprite> = new Vector.<Sprite>(lng, true); var i:int; for ( i = 0; i< lng; i++ ) arraysprite[i] = new Sprite(); var started:number = gettimer(); var currentsprite:sprite; for ( i = 0; i< lng; i++ ) currentsprite = arraysprite[i]; currentsprite.x = Math.random()*stage.stageWidth; currentsprite.y = Math.random()*stage.stageHeight; currentsprite.alpha = Math.random(); currentsprite.rotation = Math.random()*360; trace( gettimer() - started ); // output : SWF. Math. Math.abs(). const MAX_NUM:int = ; var arrayvalues:vector.<number>=new Vector.<Number>(MAX_NUM,true); var i:int; for (i = 0; i< MAX_NUM; i++) arrayvalues[i] = Math.random()-Math.random(); var started:number = gettimer(); var currentvalue:number; for (i = 0; i< MAX_NUM; i++) currentvalue = arrayvalues[i]; arrayvalues[i] = Math.abs ( currentvalue ); trace( gettimer() - started ); // output : 70 Math.abs().

45 ActionScript const MAX_NUM:int = ; var arrayvalues:vector.<number>=new Vector.<Number>(MAX_NUM,true); var i:int; for (i = 0; i< MAX_NUM; i++) arrayvalues[i] = Math.random()-Math.random(); var started:number = gettimer(); var currentvalue:number; for (i = 0; i< MAX_NUM; i++) currentvalue = arrayvalues[i]; arrayvalues[i] = currentvalue > 0? currentvalue : -currentvalue; trace( gettimer() - started ); // output : :. ActionScript JIT.. Adobe Flex, TLF ActionScript.... for (var i:int = 0; i< myarray.length; i++). var lng:int = myarray.length; for (var i:int = 0; i< lng; i++) while. while. var i:int = myarray.length; while (--i > -1) ActionScript,. ActionScript.

46 42 5 :.. Flash Player. Flash Player [ ]. : [ ] Adobe AIR Flash Player. Adobe AIR, [ ]. MovieClip. flash.profiler.showredrawregions(). // Enable Show Redraw Regions // Blue color is used to show redrawn regions flash.profiler.showredrawregions ( true, 0x0000FF ); Adobe AIR.. CPU.... CPU.

47 43 visible false.. CPU ,....

48

49 45. StageQuality.LOW:. TV Adobe AIR. StageQuality.MEDIUM:. AIR TV AIR. StageQuality.HIGH: ( ). SWF. StageQuality.BEST:.. StageQuality.MEDIUM StageQuality.LOW. Flash Player 8 LOW. : HIGH Flash Player MEDIUM. HIGH. dpi. dpi. MEDIUM....

50 46 ( ). ( ). Flash Player 8. Flash Player 10.1 StageQuality.MEDIUM. alpha. alpha ( : ).... alpha

51 " "... CPU.. Flex " ". " "......,. Stage.frameRate ( Flex WindowedApplication.frameRate )..,..... Flex AIR 2.. visible false.

52 48 Flex spark.components. WindowedApplication. backgroundframerate. 1, Spark 1. backgroundframerate., -1.. Reducing CPU usage in Adobe AIR(Jonnie Hallman Adobe ) Writing well-behaved, efficient, AIR applications(arno Gourdol ) Grant Skinner.. FramerateThrottler Grant Idle CPU Usage in Adobe AIR and Flash Player. SWF. CPU... :.. fps ( : ),.., CPU.. Sprite. x y.,,. : AIR Packager for iphone DisplayObject.cacheAsBitmapMatrix. cacheasbitmapmatrix x 250 1KB 250KB. Sprite..

53 49 package org.bytearray.bitmap import flash.display.sprite; import flash.events.event; public class Apple extends Sprite private var destinationx:number; private var destinationy:number; public function Apple () addeventlistener(event.added_to_stage,activation); addeventlistener(event.removed_from_stage,deactivation); private function activation(e:event):void initpos(); addeventlistener (Event.ENTER_FRAME,handleMovement); private function deactivation(e:event):void removeeventlistener(event.enter_frame,handlemovement); private function initpos():void destinationx = Math.random()*(stage.stageWidth - (width>>1)); destinationy = Math.random()*(stage.stageHeight - (height>>1)); private function handlemovement(e:event):void x -= (x - destinationx)*.5; y -= (y - destinationy)*.5; if (Math.abs(x - destinationx) < 1 && Math.abs(y - destinationy) < 1) initpos(); MovieClip Sprite...

54 50 import org.bytearray.bitmap.apple; stage.addeventlistener(mouseevent.click,createapples); stage.addeventlistener(keyboardevent.key_down,cacheapples); const MAX_NUM:int = 100; var apple:apple; var holder:sprite = new Sprite(); addchild(holder); function createapples(e:mouseevent):void for (var i:int = 0; i< MAX_NUM; i++) apple = new Apple(); holder.addchild(apple); function cacheapples(e:keyboardevent):void if (e.keycode == 67) var lng:int = holder.numchildren; for (var i:int = 0; i < lng; i++) apple = holder.getchildat (i) as Apple; apple.cacheasbitmap = Boolean(!apple.cacheAsBitmap);. C ( 67). CPU... cacheasbitmap = true

55 51 Flash Player 10.1 AIR : opaquebackground, cacheasbitmap 32. 0xFF opaquebackground. cacheasbitmap. 211 x KB KB 6 42KB.

56 52 getchildat() Vector. import org.bytearray.bitmap.apple; stage.addeventlistener(keyboardevent.key_down, cacheapples); const MAX_NUM:int = 200; var apple:apple; var holder:sprite = new Sprite(); addchild(holder); var holdervector:vector.<apple> = new Vector.<Apple>(MAX_NUM, true); for (var i:int = 0; i< MAX_NUM; i++) apple = new Apple(); holder.addchild(apple); holdervector[i] = apple; function cacheapples(e:keyboardevent):void if (e.keycode == 67) var lng:int = holdervector.length for (var i:int = 0; i < lng; i++) apple = holdervector[i]; apple.cacheasbitmap = Boolean(!apple.cacheAsBitmap);,. x y. Flash Player. CPU. AIR Packager for iphone cacheasbitmapmatrix.. private function handlemovement(e:event):void alpha = Math.random(); x -= (x - destinationx)*.5; y -= (y - destinationy)*.5; if (Math.abs(x - destinationx) < 1 && Math.abs(y - destinationy) < 1) initpos();... cacheasbitmap true..

57 53... x y., CPU. Paul Trani Flash Professional ActionScript. ActionScript AIR AIR cacheasbitmapmatrix. AIR cacheasbitmapmatrix Matrix. 2D.. cacheasbitmap true, 3D. cacheasbitmapmatrix visible false. cacheasbitmapmatrix. cacheasbitmapmatrix. 2..

58 54... displayobject.cacheasbitmap = true; displayobject.cacheasbitmapmatrix = new Matrix(); cacheasbitmapmatrix,, transform.colortransform cacheasbitmap true cacheasbitmapmatrix.,. BitmapData. BitmapData. BitmapData. CPU.. BitmapApple. package org.bytearray.bitmap import flash.display.bitmap; import flash.display.bitmapdata; import flash.events.event; public class BitmapApple extends Bitmap private var destinationx:number; private var destinationy:number; public function BitmapApple(buffer:BitmapData) super(buffer); addeventlistener(event.added_to_stage,activation); addeventlistener(event.removed_from_stage,deactivation); private function activation(e:event):void initpos(); addeventlistener(event.enter_frame,handlemovement); private function deactivation(e:event):void removeeventlistener(event.enter_frame,handlemovement);

59 55 private function initpos():void destinationx = Math.random()*(stage.stageWidth - (width>>1)); destinationy = Math.random()*(stage.stageHeight - (height>>1)); private function handlemovement(e:event):void alpha = Math.random(); x -= (x - destinationx)*.5; y -= (y - destinationy)*.5; if ( Math.abs(x - destinationx) < 1 && Math.abs(y - destinationy) < 1) initpos();. BitmapApple. import org.bytearray.bitmap.bitmapapple; const MAX_NUM:int = 100; var holder:sprite = new Sprite(); addchild(holder); var holdervector:vector.<bitmapapple> = new Vector.<BitmapApple>(MAX_NUM, true); var source:applesource = new AppleSource(); var bounds:object = source.getbounds(source); var mat:matrix = new Matrix(); mat.translate(-bounds.x,-bounds.y); var buffer:bitmapdata = new BitmapData(source.width+1, source.height+1, true, 0); buffer.draw(source,mat); var bitmapapple:bitmapapple; for (var i:int = 0; i< MAX_NUM; i++) bitmapapple = new BitmapApple(buffer); holdervector[i] = bitmapapple; holder.addchild(bitmapapple); BitmapApple., BitmapApple.. smoothing true.

60 56 public function BitmapApple(buffer:BitmapData) super (buffer); smoothing = true; addeventlistener(event.added_to_stage, activation); addeventlistener(event.removed_from_stage, deactivation);. HIGH LOW. import org.bytearray.bitmap.bitmapapple; const MAX_NUM:int = 100; var holder:sprite = new Sprite(); addchild ( holder ); var holdervector:vector.<bitmapapple> = new Vector.<BitmapApple>(MAX_NUM, true); var source:applesource = new AppleSource(); var bounds:object = source.getbounds ( source ); var mat:matrix = new Matrix(); mat.translate ( -bounds.x, -bounds.y ); var buffer:bitmapdata = new BitmapData ( source.width+1, source.height+1, true, 0 ); stage.quality = StageQuality.HIGH; buffer.draw ( source, mat ); stage.quality = StageQuality.LOW; var bitmapapple:bitmapapple; for (var i:int = 0; i< MAX_NUM; i++ ) bitmapapple = new BitmapApple( buffer ); holdervector[i] = bitmapapple; holder.addchild ( bitmapapple );.. LOW. cacheasbitmap. LOW,. Event.ENTER_FRAME. Apple Event.ENTER_FRAME. CPU. BitmapApple.

61 57 package org.bytearray.bitmap import flash.display.bitmap; import flash.display.bitmapdata; public class BitmapApple extends Bitmap private var destinationx:number; private var destinationy:number; public function BitmapApple(buffer:BitmapData) super (buffer); smoothing = true;. import org.bytearray.bitmap.bitmapapple; const MAX_NUM:int = 100; var holder:sprite = new Sprite(); addchild(holder); var holdervector:vector.<bitmapapple> = new Vector.<BitmapApple>(MAX_NUM, true); var source:applesource = new AppleSource(); var bounds:object = source.getbounds(source); var mat:matrix = new Matrix(); mat.translate(-bounds.x,-bounds.y); stage.quality = StageQuality.BEST; var buffer:bitmapdata = new BitmapData(source.width+1,source.height+1, true,0); buffer.draw(source,mat); stage.quality = StageQuality.LOW; var bitmapapple:bitmapapple; for (var i:int = 0; i< MAX_NUM; i++) bitmapapple = new BitmapApple(buffer); bitmapapple.destinationx = Math.random()*stage.stageWidth; bitmapapple.destinationy = Math.random()*stage.stageHeight; holdervector[i] = bitmapapple; holder.addchild(bitmapapple); stage.addeventlistener(event.enter_frame,onframe);

62 58 var lng:int = holdervector.length function onframe(e:event):void for (var i:int = 0; i < lng; i++) bitmapapple = holdervector[i]; bitmapapple.alpha = Math.random(); bitmapapple.x -= (bitmapapple.x - bitmapapple.destinationx) *.5; bitmapapple.y -= (bitmapapple.y - bitmapapple.destinationy) *.5; if (Math.abs(bitmapApple.x - bitmapapple.destinationx ) < 1 && Math.abs(bitmapApple.y - bitmapapple.destinationy ) < 1) bitmapapple.destinationx = Math.random()*stage.stageWidth; bitmapapple.destinationy = Math.random()*stage.stageHeight; 200 Event.ENTER_FRAME... stage.addeventlistener(event.enter_frame, updategame); function updategame (e:event):void gameengine.update();. BitmapApple. package org.bytearray.bitmap import flash.display.bitmap; import flash.display.bitmapdata; import flash.display.sprite; public class BitmapApple extends Sprite public var destinationx:number; public var destinationy:number; private var container:sprite; private var containerbitmap:bitmap; public function BitmapApple(buffer:BitmapData) container = new Sprite(); containerbitmap = new Bitmap(buffer); containerbitmap.smoothing = true; container.addchild(containerbitmap); addchild(container); Sprite BitmapApple..

63 59 opaquebackground. Flash Text Engine.. TextLine ActionScript. TextLine... opaquebackground.. TextField..

64 60. preloader. wait_mc.addeventlistener( Event.ENTER_FRAME, moveposition ); var destx:number=stage.stagewidth/2; var desty:number=stage.stageheight/2; var preloader:displayobject; function moveposition( e:event ):void preloader = e.currenttarget as DisplayObject; preloader.x -= ( preloader.x - destx ) *.1; preloader.y -= ( preloader.y - desty ) *.1; if (Math.abs(preloader.y-destY)<1) preloader.removeeventlistener( Event.ENTER_FRAME, moveposition ); Math.abs(). destx desty int. int Math.ceil() Math.round(). int....

65 61 // Do not use this code var destx:number = Math.round ( stage.stagewidth / 2 ); var desty:number = Math.round ( stage.stageheight / 2);. var destx:int = stage.stagewidth / 2; var desty:int = stage.stageheight / 2;. var destx:int = stage.stagewidth >> 1; var desty:int = stage.stageheight >> 1;. TextField. wait_mc.cacheasbitmap = true;.. opaquebackground. opaquebackground opaquebackground.. wait_mc.addeventlistener( Event.ENTER_FRAME, moveposition ); wait_mc.cacheasbitmap = true; // Set the background to the color of the scene background wait_mc.opaquebackground = 0x8AD6FD; var destx:int = stage.stagewidth >> 1; var desty:int = stage.stageheight >> 1; var preloader:displayobject; function moveposition ( e:event ):void preloader = e.currenttarget as DisplayObject; preloader.x -= ( preloader.x - destx ) *.1; preloader.y -= ( preloader.y - desty ) *.1; if ( Math.abs ( preloader.y - desty ) < 1 ) e.currenttarget.removeeventlistener ( Event.ENTER_FRAME, moveposition );. LOW HIGH.

66 62 wait_mc.addeventlistener( Event.ENTER_FRAME, moveposition ); wait_mc.cacheasbitmap = true; wait_mc.opaquebackground = 0x8AD6FD; // Switch to low quality stage.quality = StageQuality.LOW; var destx:int = stage.stagewidth>>1; var desty:int = stage.stageheight>>1; var preloader:displayobject; function moveposition( e:event ):void preloader = e.currenttarget as DisplayObject; preloader.x -= ( preloader.x - destx ) *.1; preloader.y -= ( preloader.y - desty ) *.1; if (Math.abs(e.currentTarget.y-destY)<1) // Switch back to high quality stage.quality = StageQuality.HIGH; preloader.removeeventlistener( Event.ENTER_FRAME, moveposition ); TextField... BitmapData opaquebackground BitmapData.draw(). Flash Player 8( AIR 1.0). CPU..

67 63 wait_mc.addeventlistener( Event.ENTER_FRAME, moveposition ); // Switch to low quality stage.quality = StageQuality.LOW; var destx:int = stage.stagewidth >> 1; var desty:int = stage.stageheight >> 1; var preloader:displayobject; function moveposition ( e:event ):void preloader = e.currenttarget as DisplayObject; preloader.x -= ( preloader.x - destx ) *.1; preloader.y -= ( preloader.y - desty ) *.1; if ( Math.abs ( preloader.y - desty ) < 1 ) // Switch back to high quality stage.quality = StageQuality.HIGH; preloader.removeeventlistener ( Event.ENTER_FRAME, moveposition ); ( ).. LOW. HIGH. GPU Flash Player GPU Flash Player 10.1 GPU. CPU. GPU,,. GPU.. Flash Player 10.1 Pixel Bender.. Flash Player 10 GPU GPU. GPU. Flash Player 10.1 GPU. CPU ( : ). GPU. GPU wmode gpu wmode opaque transparent GPU. : Flash Player CPU... AIR GPU AIR <rendermode>gpu</rendermode>.. rendermode GPU.

68 64 GPU AIR 2.5 GPU. GPU, CPU. layer, alpha, erase, overlay, hardlight, lighten darken.. PixelBender. GPU 1024x1024. ActionScript. AIR GPU. GPU..,. GPU. AIR. GPU GPU... visible false. alpha 0. removechild().. 2 n x 2 m. 2, x x : Graphic.beginBitmapFill() repeat false.....,,... cacheasbitmap cacheasbitmapmatrix. ActionScript API(Graphics )... AIR GPU GPU Packager for iphone AIR. GPU cacheasbitmap,. cacheasbitmap cacheasbitmapmatrix GPU. GPU.

69 65 GPU GPU SWF. GPU. GPU. : SWF. SWF. HTML wmode=transparent wmode=opaque.. -. GPU.,,. GPU. GPU..,.. GPU. ( : ). GPU GPU.,... GPU GPU

70 ,.. Adobe AIR. File FileStream File.,. "Async"., File.deleteFile() File.deleteFileAsync(). FileStream FileStream. FileStream.openAsync()... FileStream. SQL SQL SQLConnection. SQLConnection.open() SQLConnection.openAsync()... SQL 78 SQL. Pixel Bender ShaderJob Pixel Bender. ShaderJob.start().. ShaderJob ( ) true start() Timer... Asynchronous ActionScript Execution(Trevor McCauley, ) Parsing & Rendering Lots of Data in Flash Player(Jesse Warden, "builder pattern green threads )

71 67 Green Threads(Drew Cummins, green threads ) greenthreads(charlie Hubbard, ActionScript green threads. greenthreads Quick Start ) " Alex Harui ) ActionScript 3 AIR. AIR XML. <initialwindow> <transparent>false</transparent> </initialwindow> transparent false( ) NativeWindowInitOptions. NativeWindow NativeWindow. // NativeWindow: flash.display.nativewindow class var initoptions:nativewindowinitoptions = new NativeWindowInitOptions(); initoptions.transparent = false; var win:nativewindow = new NativeWindow(initOptions); Flex Window Window open() false( ). // Flex window component: spark.components.window class var win:window = new Window(); win.transparent = false; win.open();.....,....

72 68 Flash Professional. Adobe Illustrator [ ]. SWF....

73 69 6 : Flash Player 10.1 AIR Flash Player 10.1 AIR 2.5 FLV ( MP4 )......,...., RAM. 4MB RAM 20MB. :. RAM. RAM. MP4. MP4... NetStream.seek() NetStream.Seek.InvalidTime. : Adobe Flash Media Server Flash Player 10.1 AIR (NetStream.bufferTime) buffertime.

74 :. NetStream.inBufferSeek true. SWF.. SWF,. SWF.

75 71 portfolio.swf infos.swf contact.swf 10KB 10KB 10KB main.swf 10KB preload.swf 40KB SWF SWF.. portfolio.swf infos.swf contact.swf main.swf preload.swf library.swf 10KB 10KB SWF. ApplicationDomain getdefinition()... SWF.,, ActionScript.

76 72 // Create a Loader object var loader:loader = new Loader(); // Listen to the Event.COMPLETE event loader.contentloaderinfo.addeventlistener(event.complete, loadingcomplete ); // Load the SWF file loader.load(new URLRequest("library.swf") ); var classdefinition:string = "Logo"; function loadingcomplete(e:event ):void var objectloaderinfo:loaderinfo = LoaderInfo ( e.target ); // Get a reference to the loaded SWF file application domain var appdomain:applicationdomain = objectloaderinfo.applicationdomain; // Check whether the definition is available if ( appdomain.hasdefinition(classdefinition) ) // Extract definition var importlogo:class = Class ( appdomain.getdefinition(classdefinition) ); // Instantiate logo var instancelogo:bitmapdata = new importlogo(0,0); // Add it to the display list addchild ( new Bitmap ( instancelogo ) ); else trace ("The class definition " + classdefinition + " is not available."); SWF. // Create a Loader object var loader:loader = new Loader(); // Listen to the Event.COMPLETE event loader.contentloaderinfo.addeventlistener ( Event.COMPLETE, loadingcomplete ); // Load the SWF file loader.load ( new URLRequest ("rsl.swf"), new LoaderContext ( false, ApplicationDomain.currentDomain) ); var classdefinition:string = "Logo"; function loadingcomplete ( e:event ):void var objectloaderinfo:loaderinfo = LoaderInfo ( e.target ); // Get a reference to the current SWF file application domain var appdomain:applicationdomain = ApplicationDomain.currentDomain; // Check whether the definition is available if (appdomain.hasdefinition( classdefinition ) ) // Extract definition var importlogo:class = Class ( appdomain.getdefinition(classdefinition) ); // Instantiate it var instancelogo:bitmapdata = new importlogo(0,0); // Add it to the display list addchild ( new Bitmap ( instancelogo ) ); else trace ("The class definition " + classdefinition + " is not available.");

77 73 SWF getdefinition(). getdefinitionbyname(). SWF. loader.swf. SWF. IO... IO_ERROR.... IO.. var loader:loader = new Loader(); loader.contentloaderinfo.addeventlistener( Event.COMPLETE, oncomplete ); addchild( loader ); loader.load( new URLRequest ("asset.swf" ) ); function oncomplete( e:event ):void var loader:loader = e.currenttarget.loader; loader.x = ( stage.stagewidth - e.currenttarget.width ) >> 1; loader.y = ( stage.stageheight - e.currenttarget.height ) >> 1;.. var loader:loader = new Loader(); loader.contentloaderinfo.addeventlistener ( Event.COMPLETE, oncomplete ); loader.contentloaderinfo.addeventlistener ( IOErrorEvent.IO_ERROR, onioerror ); addchild ( loader ); loader.load ( new URLRequest ("asset.swf" ) ); function oncomplete ( e:event ):void var loader:loader = e.currenttarget.loader; loader.x = ( stage.stagewidth - e.currenttarget.width ) >> 1; loader.y = ( stage.stageheight - e.currenttarget.height ) >> 1; function onioerror ( e:ioerrorevent ):void // Show a message explaining the situation and try to reload the asset. // If it fails again, ask the user to retry when the connection will be restored. onioerror().

78 74 Flash Remoting - Flash Remoting AMF. XML SWF. XML. Flash Remoting AMF(Action Message Format). AMF. AMF. AMF AMF.. ActionScript... Flash Remoting ZendAMF, FluorineFX, WebORB Adobe Java Flash Remoting BlazeDS. Flash Remoting. HTTP AMF ZendAMF Web ORB RubyAMF FluorineFX BlazeDS (PHP Class, Java, C#...) Flash Remoting NetConnection Flash Remoting. // Create the NetConnection object var connection:netconnection = new NetConnection (); // Connect to a Flash Remoting gateway connection.connect (" // Asynchronous handlers for incoming data and errors function success ( incomingdata:* ):void trace( incomingdata ); function error ( error:* ):void trace( "Error occured" ); // Create an object that handles the mapping to success and error handlers var serverresult:responder = new Responder (success, error); // Call the remote method connection.call ("org.yourserver.helloworld.sayhello", serverresult, "Hello there?");. Adobe Flex SDK RemoteObject Flash Remoting. : Flex SWC Adobe Flash Professional. SWC Flex SDK RemoteObject. Socket.

Analytics > Log & Crash Search > Unity ios SDK [Deprecated] Log & Crash Unity ios SDK. TOAST SDK. Log & Crash Unity SDK Log & Crash Search. Log & Cras

Analytics > Log & Crash Search > Unity ios SDK [Deprecated] Log & Crash Unity ios SDK. TOAST SDK. Log & Crash Unity SDK Log & Crash Search. Log & Cras Analytics > Log & Crash Search > Unity ios SDK [Deprecated] Log & Crash Unity ios SDK. TOAST SDK. Log & Crash Unity SDK Log & Crash Search. Log & Crash Unity SDK... Log & Crash Search. - Unity3D v4.0 ios

More information

MasoJava4_Dongbin.PDF

MasoJava4_Dongbin.PDF JSTORM http://wwwjstormpekr Issued by: < > Revision: Document Information Document title: Document file name: MasoJava4_Dongbindoc Revision number: Issued by: < > SI, dbin@handysoftcokr

More information

DocsPin_Korean.pages

DocsPin_Korean.pages Unity Localize Script Service, Page 1 Unity Localize Script Service Introduction Application Game. Unity. Google Drive Unity.. Application Game. -? ( ) -? -?.. 준비사항 Google Drive. Google Drive.,.. - Google

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 @ Lesson 2... ( ). ( ). @ vs. logic data method variable behavior attribute method field Flow (Type), ( ) member @ () : C program Method A ( ) Method B ( ) Method C () program : Java, C++, C# data @ Program

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 @ Lesson 4 (Object) (Class) (Instance) (Method) (Constructor) Memory 1 UML 1 @ & 1 (Real World) (Software World) @ &.. () () @ & 2 (Real World) (Software World) OOA/ Modeling Abstraction Instantiation

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 Reasons for Poor Performance Programs 60% Design 20% System 2.5% Database 17.5% Source: ORACLE Performance Tuning 1 SMS TOOL DBA Monitoring TOOL Administration TOOL Performance Insight Backup SQL TUNING

More information

Modern Javascript

Modern Javascript ES6 - Arrow Function Class Template String Destructuring Default, Rest, Spread let, const for..of Promises Module System Map, Set * Generator * Symbol * * https://babeljs.io/ Babel is a JavaScript compiler.

More information

Remote UI Guide

Remote UI Guide Remote UI KOR Remote UI Remote UI PDF Adobe Reader/Adobe Acrobat Reader. Adobe Reader/Adobe Acrobat Reader Adobe Systems Incorporated.. Canon. Remote UI GIF Adobe Systems Incorporated Photoshop. ..........................................................

More information

( )부록

( )부록 A ppendix 1 2010 5 21 SDK 2.2. 2.1 SDK. DevGuide SDK. 2.2 Frozen Yoghurt Froyo. Donut, Cupcake, Eclair 1. Froyo (Ginger Bread) 2010. Froyo Eclair 0.1.. 2.2. UI,... 2.2. PC 850 CPU Froyo......... 2. 2.1.

More information

1

1 1 1....6 1.1...6 2. Java Architecture...7 2.1 2SDK(Software Development Kit)...8 2.2 JRE(Java Runtime Environment)...9 2.3 (Java Virtual Machine, JVM)...10 2.4 JVM...11 2.5 (runtime)jvm...12 2.5.1 2.5.2

More information

MAX+plus II Getting Started - 무작정따라하기

MAX+plus II Getting Started - 무작정따라하기 무작정 따라하기 2001 10 4 / Version 20-2 0 MAX+plus II Digital, Schematic Capture MAX+plus II, IC, CPLD FPGA (Logic) ALTERA PLD FLEX10K Series EPF10K10QC208-4 MAX+plus II Project, Schematic, Design Compilation,

More information

,,,,,, (41) ( e f f e c t ), ( c u r r e n t ) ( p o t e n t i a l difference),, ( r e s i s t a n c e ) 2,,,,,,,, (41), (42) (42) ( 41) (Ohm s law),

,,,,,, (41) ( e f f e c t ), ( c u r r e n t ) ( p o t e n t i a l difference),, ( r e s i s t a n c e ) 2,,,,,,,, (41), (42) (42) ( 41) (Ohm s law), 1, 2, 3, 4, 5, 6 7 8 PSpice EWB,, ,,,,,, (41) ( e f f e c t ), ( c u r r e n t ) ( p o t e n t i a l difference),, ( r e s i s t a n c e ) 2,,,,,,,, (41), (42) (42) ( 41) (Ohm s law), ( ),,,, (43) 94 (44)

More information

LCD Display

LCD Display LCD Display SyncMaster 460DRn, 460DR VCR DVD DTV HDMI DVI to HDMI LAN USB (MDC: Multiple Display Control) PC. PC RS-232C. PC (Serial port) (Serial port) RS-232C.. > > Multiple Display

More information

I T C o t e n s P r o v i d e r h t t p : / / w w w. h a n b i t b o o k. c o. k r

I T C o t e n s P r o v i d e r h t t p : / / w w w. h a n b i t b o o k. c o. k r I T C o t e n s P r o v i d e r h t t p : / / w w w. h a n b i t b o o k. c o. k r I T C o t e n s P r o v i d e r h t t p : / / w w w. h a n b i t b o o k. c o. k r Jakarta is a Project of the Apache

More information

No Slide Title

No Slide Title Copyright, 2001 Multimedia Lab., CH 3. COM object (In-process server) Eun-sung Lee twoss@mmlab.net Multimedia Lab. Dept. of Electrical and Computer Eng. University of Seoul Seoul, Korea 0. Contents 1.

More information

01-OOPConcepts(2).PDF

01-OOPConcepts(2).PDF Object-Oriented Programming Concepts Tel: 02-824-5768 E-mail: hhcho@selabsoongsilackr? OOP (Object) (Encapsulation) (Message) (Class) (Inheritance) (Polymorphism) (Abstract Class) (Interface) 2 1 + = (Dependency)

More information

Scene7 Media Portal 사용

Scene7 Media Portal 사용 ADOBE SCENE7 MEDIA PORTAL http://help.adobe.com/ko_kr/legalnotices/index.html. iii 1 : Media Portal..................................................................................................................

More information

자바GUI실전프로그래밍2_장대원.PDF

자바GUI실전프로그래밍2_장대원.PDF JAVA GUI - 2 JSTORM http://wwwjstormpekr JAVA GUI - 2 Issued by: < > Document Information Document title: JAVA GUI - 2 Document file name: Revision number: Issued by: Issue Date:

More information

Jwplayer 요즘 웹에서 동영상 재생을 목적으로 많이 쓰이는 jwplayer의 설치와 사용하기 입니다. jwplayer홈페이지 : http://www.longtailvideo.com 위의 홈페이지에 가시면 JWplayer를 다운 받으실 수 있습니다. 현재 5.1버전

Jwplayer 요즘 웹에서 동영상 재생을 목적으로 많이 쓰이는 jwplayer의 설치와 사용하기 입니다. jwplayer홈페이지 : http://www.longtailvideo.com 위의 홈페이지에 가시면 JWplayer를 다운 받으실 수 있습니다. 현재 5.1버전 Jwplayer Guide Jwplayer 요즘 웹에서 동영상 재생을 목적으로 많이 쓰이는 jwplayer의 설치와 사용하기 입니다. jwplayer홈페이지 : http://www.longtailvideo.com 위의 홈페이지에 가시면 JWplayer를 다운 받으실 수 있습니다. 현재 5.1버전까지 나왔으며 편리함을 위해서 아래를 링크를 걸어둡니다 [다운로드]

More information

04_오픈지엘API.key

04_오픈지엘API.key 4. API. API. API..,.. 1 ,, ISO/IEC JTC1/SC24, Working Group ISO " (Architecture) " (API, Application Program Interface) " (Metafile and Interface) " (Language Binding) " (Validation Testing and Registration)"

More information

슬라이드 1

슬라이드 1 사용 전에 사용자 주의 사항을 반드시 읽고 정확하게 지켜주시기 바랍니다. 사용설명서의 구성품 형상과 색상은 실제와 다를 수 있습니다. 사용설명서의 내용은 제품의 소프트웨어 버전이나 통신 사업자의 사정에 따라 다를 수 있습니다. 본 사용설명서는 저작권법에 의해 보호를 받고 있습니다. 본 사용설명서는 주식회사 블루버드소프트에서 제작한 것으로 편집 오류, 정보 누락

More information

Something that can be seen, touched or otherwise sensed

Something that can be seen, touched or otherwise sensed Something that can be seen, touched or otherwise sensed Things about an object Weight Height Material Things an object does Pen writes Book stores words Water have Fresh water Rivers Oceans have

More information

rmi_박준용_final.PDF

rmi_박준용_final.PDF (RMI) - JSTORM http://wwwjstormpekr (RMI)- Document title: Document file name: Revision number: Issued by: Document Information (RMI)- rmi finaldoc Issue Date: Status:

More information

<C0CCBCBCBFB52DC1A4B4EBBFF82DBCAEBBE7B3EDB9AE2D313939392D382E687770>

<C0CCBCBCBFB52DC1A4B4EBBFF82DBCAEBBE7B3EDB9AE2D313939392D382E687770> i ii iii iv v vi 1 2 3 4 가상대학 시스템의 국내외 현황 조사 가상대학 플랫폼 개발 이상적인 가상대학시스템의 미래상 제안 5 웹-기반 가상대학 시스템 전통적인 교수 방법 시간/공간 제약을 극복한 학습동기 부여 교수의 일방적인 내용전달 교수와 학생간의 상호작용 동료 학생들 간의 상호작용 가상대학 운영 공지사항,강의록 자료실, 메모 질의응답,

More information

Orcad Capture 9.x

Orcad Capture 9.x OrCAD Capture Workbook (Ver 10.xx) 0 Capture 1 2 3 Capture for window 4.opj ( OrCAD Project file) Design file Programe link file..dsn (OrCAD Design file) Design file..olb (OrCAD Library file) file..upd

More information

JMF3_심빈구.PDF

JMF3_심빈구.PDF JMF JSTORM http://wwwjstormpekr Issued by: < > Revision: Document Information Document title: Document file name: Revision number: Issued by: JMF3_ doc Issue Date:

More information

Javascript.pages

Javascript.pages JQuery jquery part1 JavaScript : e-mail:leseraphina@naver.com http://www.webhard.co.kr I.? 2 ......,,. : : html5 ; ; .

More information

TEL:02)861-1175, FAX:02)861-1176 , REAL-TIME,, ( ) CUSTOMER. CUSTOMER REAL TIME CUSTOMER D/B RF HANDY TEMINAL RF, RF (AP-3020) : LAN-S (N-1000) : LAN (TCP/IP) RF (PPT-2740) : RF (,RF ) : (CL-201)

More information

02 C h a p t e r Java

02 C h a p t e r Java 02 C h a p t e r Java Bioinformatics in J a va,, 2 1,,,, C++, Python, (Java),,, (http://wwwbiojavaorg),, 13, 3D GUI,,, (Java programming language) (Sun Microsystems) 1995 1990 (green project) TV 22 CHAPTER

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 @ Lesson 1,..... @ 1 Green Project 1991 Oak Java 1995. 5 December '90 by Patrick Naughton, Mike Sheridan and James Gosling Embedded in various consumer electronic device 1992. 9. 3 Star 7 1993 www portability

More information

VOL.76.2008/2 Technical SmartPlant Materials - Document Management SmartPlant Materials에서 기본적인 Document를 관리하고자 할 때 필요한 세팅, 파일 업로드 방법 그리고 Path Type인 Ph

VOL.76.2008/2 Technical SmartPlant Materials - Document Management SmartPlant Materials에서 기본적인 Document를 관리하고자 할 때 필요한 세팅, 파일 업로드 방법 그리고 Path Type인 Ph 인터그래프코리아(주)뉴스레터 통권 제76회 비매품 News Letters Information Systems for the plant Lifecycle Proccess Power & Marine Intergraph 2008 Contents Intergraph 2008 SmartPlant Materials Customer Status 인터그래프(주) 파트너사

More information

The Self-Managing Database : Automatic Health Monitoring and Alerting

The Self-Managing Database : Automatic Health Monitoring and Alerting The Self-Managing Database : Automatic Health Monitoring and Alerting Agenda Oracle 10g Enterpirse Manager Oracle 10g 3 rd Party PL/SQL API Summary (Self-Managing Database) ? 6% 6% 12% 55% 6% Source: IOUG

More information

07 자바의 다양한 클래스.key

07 자바의 다양한 클래스.key [ 07 ] . java.lang Object, Math, String, StringBuffer Byte, Short, Integer, Long, Float, Double, Boolean, Character. java.util Random, StringTokenizer Calendar, GregorianCalendar, Date. Collection, List,

More information

03장

03장 CHAPTER3 ( ) Gallery 67 68 CHAPTER 3 Intent ACTION_PICK URI android provier MediaStore Images Media EXTERNAL_CONTENT_URI URI SD MediaStore Intent choosepictureintent = new Intent(Intent.ACTION_PICK, ë

More information

2005CG01.PDF

2005CG01.PDF Computer Graphics # 1 Contents CG Design CG Programming 2005-03-10 Computer Graphics 2 CG science, engineering, medicine, business, industry, government, art, entertainment, advertising, education and

More information

Connection 8 22 UniSQLConnection / / 9 3 UniSQL OID SET

Connection 8 22 UniSQLConnection / / 9 3 UniSQL OID SET 135-080 679-4 13 02-3430-1200 1 2 11 2 12 2 2 8 21 Connection 8 22 UniSQLConnection 8 23 8 24 / / 9 3 UniSQL 11 31 OID 11 311 11 312 14 313 16 314 17 32 SET 19 321 20 322 23 323 24 33 GLO 26 331 GLO 26

More information

Windows Embedded Compact 2013 [그림 1]은 Windows CE 로 알려진 Microsoft의 Windows Embedded Compact OS의 history를 보여주고 있다. [표 1] 은 각 Windows CE 버전들의 주요 특징들을 담고

Windows Embedded Compact 2013 [그림 1]은 Windows CE 로 알려진 Microsoft의 Windows Embedded Compact OS의 history를 보여주고 있다. [표 1] 은 각 Windows CE 버전들의 주요 특징들을 담고 OT S / SOFTWARE 임베디드 시스템에 최적화된 Windows Embedded Compact 2013 MDS테크놀로지 / ES사업부 SE팀 김재형 부장 / jaei@mdstec.com 또 다른 산업혁명이 도래한 시점에 아직도 자신을 떳떳이 드러내지 못하고 있는 Windows Embedded Compact를 오랫동안 지켜보면서, 필자는 여기서 그와 관련된

More information

chapter4

chapter4 Basic Netw rk 1. ก ก ก 2. 3. ก ก 4. ก 2 1. 2. 3. 4. ก 5. ก 6. ก ก 7. ก 3 ก ก ก ก (Mainframe) ก ก ก ก (Terminal) ก ก ก ก ก ก ก ก 4 ก (Dumb Terminal) ก ก ก ก Mainframe ก CPU ก ก ก ก 5 ก ก ก ก ก ก ก ก ก ก

More information

ilist.add(new Integer(1))과 같이 사용하지 않고 ilist.add(1)과 같이 사용한 것은 자바 5.0에 추가된 기본 자료형과 해당 객체 자료 형과의 오토박싱/언박싱 기능을 사용한 것으로 오토박싱이란 자바 컴파일러가 객체를 요구하는 곳에 기본 자료형

ilist.add(new Integer(1))과 같이 사용하지 않고 ilist.add(1)과 같이 사용한 것은 자바 5.0에 추가된 기본 자료형과 해당 객체 자료 형과의 오토박싱/언박싱 기능을 사용한 것으로 오토박싱이란 자바 컴파일러가 객체를 요구하는 곳에 기본 자료형 바에 제네릭스(generics)를 도입하기 위한 연구는 이미 8년 전인 1996년부터라고 한다. 실제로 자바에 제네릭스를 도입하 는 몇 가지 방안들이 논문으로 나오기 시작한 것이 1998년 초임을 감 안하면 무려 8년이 지난 후에야 자바 5.0에 전격 채택되었다는 것은 이것이 얼마나 어려운 일이었나 하는 것을 보여준다. 자바의 스펙을 결정하는 표준화 절차인

More information

APOGEE Insight_KR_Base_3P11

APOGEE Insight_KR_Base_3P11 Technical Specification Sheet Document No. 149-332P25 September, 2010 Insight 3.11 Base Workstation 그림 1. Insight Base 메인메뉴 Insight Base Insight Insight Base, Insight Base Insight Base Insight Windows

More information

untitled

untitled Push... 2 Push... 4 Push... 5 Push... 13 Push... 15 1 FORCS Co., LTD A Leader of Enterprise e-business Solution Push (Daemon ), Push Push Observer. Push., Observer. Session. Thread Thread. Observer ID.

More information

FMX M JPG 15MB 320x240 30fps, 160Kbps 11MB View operation,, seek seek Random Access Average Read Sequential Read 12 FMX () 2

FMX M JPG 15MB 320x240 30fps, 160Kbps 11MB View operation,, seek seek Random Access Average Read Sequential Read 12 FMX () 2 FMX FMX 20062 () wwwexellencom sales@exellencom () 1 FMX 1 11 5M JPG 15MB 320x240 30fps, 160Kbps 11MB View operation,, seek seek Random Access Average Read Sequential Read 12 FMX () 2 FMX FMX D E (one

More information

<4D6963726F736F667420576F7264202D205B4354BDC9C3FEB8AEC6F7C6AE5D3131C8A35FC5ACB6F3BFECB5E520C4C4C7BBC6C320B1E2BCFA20B5BFC7E2>

<4D6963726F736F667420576F7264202D205B4354BDC9C3FEB8AEC6F7C6AE5D3131C8A35FC5ACB6F3BFECB5E520C4C4C7BBC6C320B1E2BCFA20B5BFC7E2> 목차(Table of Content) 1. 클라우드 컴퓨팅 서비스 개요... 2 1.1 클라우드 컴퓨팅의 정의... 2 1.2 미래 핵심 IT 서비스로 주목받는 클라우드 컴퓨팅... 3 (1) 기업 내 협업 환경 구축 및 비용 절감 기대... 3 (2) N-스크린 구현에 따른 클라우드 컴퓨팅 기술 기대 증폭... 4 1.3 퍼스널 클라우드와 미디어 콘텐츠 서비스의

More information

ORANGE FOR ORACLE V4.0 INSTALLATION GUIDE (Online Upgrade) ORANGE CONFIGURATION ADMIN O

ORANGE FOR ORACLE V4.0 INSTALLATION GUIDE (Online Upgrade) ORANGE CONFIGURATION ADMIN O Orange for ORACLE V4.0 Installation Guide ORANGE FOR ORACLE V4.0 INSTALLATION GUIDE...1 1....2 1.1...2 1.2...2 1.2.1...2 1.2.2 (Online Upgrade)...11 1.3 ORANGE CONFIGURATION ADMIN...12 1.3.1 Orange Configuration

More information

비긴쿡-자바 00앞부속

비긴쿡-자바 00앞부속 IT COOKBOOK 14 Java P r e f a c e Stay HungryStay Foolish 3D 15 C 3 16 Stay HungryStay Foolish CEO 2005 L e c t u r e S c h e d u l e 1 14 PPT API C A b o u t T h i s B o o k IT CookBook for Beginner Chapter

More information

6주차.key

6주차.key 6, Process concept A program in execution Program code PCB (process control block) Program counter, registers, etc. Stack Heap Data section => global variable Process in memory Process state New Running

More information

K7VT2_QIG_v3

K7VT2_QIG_v3 1......... 2 3..\ 4 5 [R] : Enter Raid setup utility 6 Press[A]keytocreateRAID RAID Type: JBOD RAID 0 RAID 1: 2 7 " RAID 0 Auto Create Manual Create: 2 RAID 0 Block Size: 16K 32K

More information

Mentor_PCB설계입문

Mentor_PCB설계입문 Mentor MCM, PCB 1999, 03, 13 (daedoo@eeinfokaistackr), (kkuumm00@orgionet) KAIST EE Terahertz Media & System Laboratory MCM, PCB (mentor) : da & Summary librarian jakup & package jakup & layout jakup &

More information

JMF2_심빈구.PDF

JMF2_심빈구.PDF JMF JSTORM http://wwwjstormpekr Issued by: < > Document Information Document title: Document file name: Revision number: Issued by: JMF2_ doc Issue Date: Status: < > raica@nownurinet

More information

ch09

ch09 9 Chapter CHAPTER GOALS B I G J A V A 436 CHAPTER CONTENTS 9.1 436 Syntax 9.1 441 Syntax 9.2 442 Common Error 9.1 442 9.2 443 Syntax 9.3 445 Advanced Topic 9.1 445 9.3 446 9.4 448 Syntax 9.4 454 Advanced

More information

05-class.key

05-class.key 5 : 2 (method) (public) (private) (interface) 5.1 (Method), (public method) (private method) (constructor), 3 4 5.2 (client). (receiver)., System.out.println("Hello"); (client object) (receiver object)

More information

Eclipse 와 Firefox 를이용한 Javascript 개발 발표자 : 문경대 11 년 10 월 26 일수요일

Eclipse 와 Firefox 를이용한 Javascript 개발 발표자 : 문경대 11 년 10 월 26 일수요일 Eclipse 와 Firefox 를이용한 Javascript 개발 발표자 : 문경대 Introduce Me!!! Job Jeju National University Student Ubuntu Korean Jeju Community Owner E-Mail: ned3y2k@hanmail.net Blog: http://ned3y2k.wo.tc Facebook: http://www.facebook.com/gyeongdae

More information

untitled

untitled A Leader of Enterprise e-business Solution FORCS Co., LTD 1 OZ Application Getting Started 2 FORCS Co., LTD A Leader of Enterprise e-business Solution FORCS Co., LTD 3 OZ Application Getting Started 'OZ

More information

Interstage5 SOAP서비스 설정 가이드

Interstage5 SOAP서비스 설정 가이드 Interstage 5 Application Server ( Solaris ) SOAP Service Internet Sample Test SOAP Server Application SOAP Client Application CORBA/SOAP Server Gateway CORBA/SOAP Gateway Client INTERSTAGE SOAP Service

More information

untitled

untitled A Leader of Enterprise e-business Solution FORCS Co., LTD 1 OZ Application Getting Started (ver 5.1) 2 FORCS Co., LTD A Leader of Enterprise e-business Solution FORCS Co., LTD 3 OZ Application Getting

More information

Chap12

Chap12 12 12Java RMI 121 RMI 2 121 RMI 3 - RMI, CORBA 121 RMI RMI RMI (remote object) 4 - ( ) UnicastRemoteObject, 121 RMI 5 class A - class B - ( ) class A a() class Bb() 121 RMI 6 RMI / 121 RMI RMI 1 2 ( 7)

More information

untitled

untitled Step Motor Device Driver Embedded System Lab. II Step Motor Step Motor Step Motor source Embedded System Lab. II 2 open loop, : : Pulse, 1 Pulse,, -, 1 +5%, step Step Motor (2),, Embedded System Lab. II

More information

CD-RW_Advanced.PDF

CD-RW_Advanced.PDF HP CD-Writer Program User Guide - - Ver. 2.0 HP CD-RW Adaptec Easy CD Creator Copier, Direct CD. HP CD-RW,. Easy CD Creator 3.5C, Direct CD 3.0., HP. HP CD-RW TEAM ( 02-3270-0803 ) < > 1. CD...3 CD...5

More information

Solaris Express Developer Edition

Solaris Express Developer Edition Solaris Express Developer Edition : 2008 1 Solaris TM Express Developer Edition Solaris OS. Sun / Solaris, Java, Web 2.0,,. Developer Solaris Express Developer Edition System Requirements. 768MB. SPARC

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 @ Lesson 3 if, if else, if else if, switch case for, while, do while break, continue : System.in, args, JOptionPane for (,, ) @ vs. logic data method variable Data Data Flow (Type), ( ) @ Member field

More information

[ReadyToCameral]RUF¹öÆÛ(CSTA02-29).hwp

[ReadyToCameral]RUF¹öÆÛ(CSTA02-29).hwp RUF * (A Simple and Efficient Antialiasing Method with the RUF buffer) (, Byung-Uck Kim) (Yonsei Univ. Depth of Computer Science) (, Woo-Chan Park) (Yonsei Univ. Depth of Computer Science) (, Sung-Bong

More information

MPLAB C18 C

MPLAB C18 C MPLAB C18 C MPLAB C18 MPLAB C18 C MPLAB C18 C #define START, c:\mcc18 errorlevel{0 1} char isascii(char ch); list[list_optioin,list_option] OK, Cancel , MPLAB IDE User s Guide MPLAB C18 C

More information

4. #include <stdio.h> #include <stdlib.h> int main() { functiona(); } void functiona() { printf("hihi\n"); } warning: conflicting types for functiona

4. #include <stdio.h> #include <stdlib.h> int main() { functiona(); } void functiona() { printf(hihi\n); } warning: conflicting types for functiona 이름 : 학번 : A. True or False: 각각항목마다 True 인지 False 인지적으세요. 1. (Python:) randint 함수를사용하려면, random 모듈을 import 해야한다. 2. (Python:) '' (single quote) 는한글자를표현할때, (double quote) 는문자열을표현할때사용한다. B. 다음에러를수정하는방법을적으세요.

More information

<32303132B3E2C1A632C8B8BFF6B5E531B1DE42C7FC2E687770>

<32303132B3E2C1A632C8B8BFF6B5E531B1DE42C7FC2E687770> 국 가 기 술 자 격 검 정 무 단 전 재 금 함 형별 제한 시간 수험번호 성 명 다음 문제를 읽고 가장 알맞은 것을 골라 답안카드의 답란 (1, 2, 3, 4)에 표기하시오 워드프로세싱 용어 및 기능 1. 다음 중 워드프로세서의 입력 기능에 대한 설명으로 옳지 1 행두 금칙 문자로는 (, [,,< 등이 있다. 2 KS X 1001 완성형 한글

More information

hd1300_k_v1r2_Final_.PDF

hd1300_k_v1r2_Final_.PDF Starter's Kit for HelloDevice 1300 Version 11 1 2 1 2 3 31 32 33 34 35 36 4 41 42 43 5 51 52 6 61 62 Appendix A (cross-over) IP 3 Starter's Kit for HelloDevice 1300 1 HelloDevice 1300 Starter's Kit HelloDevice

More information

manual pdfÃÖÁ¾

manual pdfÃÖÁ¾ www.oracom.co.kr 1 2 Plug & Play Windows 98SE Windows, Linux, Mac 3 4 5 6 Quick Guide Windows 2000 / ME / XP USB USB MP3, WMA HOLD Windows 98SE "Windows 98SE device driver 7 8 9 10 EQ FM LCD SCN(SCAN)

More information

uFOCS

uFOCS 1 기 : 기 UF_D_V250_002 기 기 기 품 ufocs 기 v2.5.0 히기기기기기기기기기 기 Manual 기 version 기 3.2 기품 2011.7.29 히기 345-13 1 Tel : 02-857-3051 Fax : 02-3142-0319 : http://www.satu.co.kr 2010 SAT information Co., Ltd. All

More information

Building Mobile AR Web Applications in HTML5 - Google IO 2012

Building Mobile AR Web Applications in HTML5 - Google IO 2012 Building Mobile AR Web Applications in HTML5 HTML5 -, KIST -, UST HCI & Robotics Agenda Insight: AR Web Browser S.M.AR.T: AR CMS HTML5 HTML5 AR - Hello world! - Transform - - AR Events 3/33 - - - (Simplicity)

More information

wp1_120616.hwp

wp1_120616.hwp 1과목 : 워드프로세싱 용어 및 기능 1. 다음 중 문서의 효력 발생에 대한 견해로 우리나라에서 채택하 고 있는 1 표백주의 2 발신주의 3 도달주의 4 요지주의 2. 다음 중 워드프로세서의 표시기능에 대한 설명으로 옳은 1 포인트는 화면을 구성하는 최소 단위로 1포인트는 보통 0.5mm이다. 2 자간이란 문자와 문자 사이의 간격을 의미하며 자간을 조절 하여

More information

AGENDA 01 02 03 모바일 산업의 환경변화 모바일 클라우드 서비스의 등장 모바일 클라우드 서비스 융합사례

AGENDA 01 02 03 모바일 산업의 환경변화 모바일 클라우드 서비스의 등장 모바일 클라우드 서비스 융합사례 모바일 클라우드 서비스 융합사례와 시장 전망 및 신 사업전략 2011. 10 AGENDA 01 02 03 모바일 산업의 환경변화 모바일 클라우드 서비스의 등장 모바일 클라우드 서비스 융합사례 AGENDA 01. 모바일 산업의 환경 변화 가치 사슬의 분화/결합 모바일 업계에서도 PC 산업과 유사한 모듈화/분업화 진행 PC 산업 IBM à WinTel 시대 à

More information

2

2 2 3 . 4 * ** ** 5 2 5 Scan 1 3 Preview Nikon 6 4 6 7 8 9 10 22) 11 12 13 14 15 16 17 18 19 20 21 . 22 23 24 Layout Tools ( 33) Crop ( 36) Analog Gain ( 69) Digital ICE 4 Advanced ( 61) Scan Image Enhancer

More information

김기남_ATDC2016_160620_[키노트].key

김기남_ATDC2016_160620_[키노트].key metatron Enterprise Big Data SKT Metatron/Big Data Big Data Big Data... metatron Ready to Enterprise Big Data Big Data Big Data Big Data?? Data Raw. CRM SCM MES TCO Data & Store & Processing Computational

More information

인켈(국문)pdf.pdf

인켈(국문)pdf.pdf M F - 2 5 0 Portable Digital Music Player FM PRESET STEREOMONO FM FM FM FM EQ PC Install Disc MP3/FM Program U S B P C Firmware Upgrade General Repeat Mode FM Band Sleep Time Power Off Time Resume Load

More information

신림프로그래머_클린코드.key

신림프로그래머_클린코드.key CLEAN CODE 6 11st Front Dev. Team 6 1. 2. 3. checked exception 4. 5. 6. 11 : 2 4 : java (50%), javascript (35%), SQL/PL-SQL (15%) : Spring, ibatis, Oracle, jquery ? , (, ) ( ) 클린코드를 무시한다면 . 6 1. ,,,!

More information

PowerChute Personal Edition v3.1.0 에이전트 사용 설명서

PowerChute Personal Edition v3.1.0 에이전트 사용 설명서 PowerChute Personal Edition v3.1.0 990-3772D-019 4/2019 Schneider Electric IT Corporation Schneider Electric IT Corporation.. Schneider Electric IT Corporation,,,.,. Schneider Electric IT Corporation..

More information

목차 1. 제품 소개... 4 1.1 특징... 4 1.2 개요... 4 1.3 Function table... 5 2. 기능 소개... 6 2.1 Copy... 6 2.2 Compare... 6 2.3 Copy & Compare... 6 2.4 Erase... 6 2

목차 1. 제품 소개... 4 1.1 특징... 4 1.2 개요... 4 1.3 Function table... 5 2. 기능 소개... 6 2.1 Copy... 6 2.2 Compare... 6 2.3 Copy & Compare... 6 2.4 Erase... 6 2 유영테크닉스( 주) 사용자 설명서 HDD014/034 IDE & SATA Hard Drive Duplicator 유 영 테 크 닉 스 ( 주) (032)670-7880 www.yooyoung-tech.com 목차 1. 제품 소개... 4 1.1 특징... 4 1.2 개요... 4 1.3 Function table... 5 2. 기능 소개... 6 2.1 Copy...

More information

Chap7.PDF

Chap7.PDF Chapter 7 The SUN Intranet Data Warehouse: Architecture and Tools All rights reserved 1 Intranet Data Warehouse : Distributed Networking Computing Peer-to-peer Peer-to-peer:,. C/S Microsoft ActiveX DCOM(Distributed

More information

PRO1_04E [읽기 전용]

PRO1_04E [읽기 전용] Siemens AG 1999 All rights reserved File: PRO1_04E1 Information and S7-300 2 S7-400 3 EPROM / 4 5 6 HW Config 7 8 9 CPU 10 CPU : 11 CPU : 12 CPU : 13 CPU : / 14 CPU : 15 CPU : / 16 HW 17 HW PG 18 SIMATIC

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

09-interface.key

09-interface.key 9 Database insert(record r): boolean find(key k): Record 1 Record getkey(): Key * Record Key Database.? Key equals(key y): boolean Database insert(record r): boolean find(key k): Record * Database OK 1

More information

11 템플릿적용 - Java Program Performance Tuning (김명호기술이사)

11 템플릿적용 - Java Program Performance Tuning (김명호기술이사) Java Program Performance Tuning ( ) n (Primes0) static List primes(int n) { List primes = new ArrayList(n); outer: for (int candidate = 2; n > 0; candidate++) { Iterator iter = primes.iterator(); while

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 Web Browser Web Server ( ) MS Explorer 5.0 WEB Server MS-SQL HTML Image Multimedia IIS Application Web Server ASP ASP platform Admin Web Based ASP Platform Manager Any Platform ASP : Application Service

More information

자바 프로그래밍

자바 프로그래밍 5 (kkman@mail.sangji.ac.kr) (Class), (template) (Object) public, final, abstract [modifier] class ClassName { // // (, ) Class Circle { int radius, color ; int x, y ; float getarea() { return 3.14159

More information

untitled

untitled 1 Â: ADOBE CONNECT ENTERPRISE «2006 Adobe Systems Incorporated. All rights reserved. Windows Macintosh Adobe Connect Enterprise. Adobe Systems Incorporated,,.. Adobe Systems Incorporated. Adobe Systems

More information

Domino Designer Portal Development tools Rational Application Developer WebSphere Portlet Factory Workplace Designer Workplace Forms Designer

Domino Designer Portal Development tools Rational Application Developer WebSphere Portlet Factory Workplace Designer Workplace Forms Designer Domino, Portal & Workplace WPLC FTSS Domino Designer Portal Development tools Rational Application Developer WebSphere Portlet Factory Workplace Designer Workplace Forms Designer ? Lotus Notes Clients

More information

Ext JS À¥¾ÖÇø®ÄÉÀ̼ǰ³¹ß-³¹Àå.PDF

Ext JS À¥¾ÖÇø®ÄÉÀ̼ǰ³¹ß-³¹Àå.PDF CHAPTER 2 (interaction) Ext JS., HTML, onready, MessageBox get.. Ext JS HTML CSS Ext JS.1. Ext JS. Ext.Msg: : Ext Ext.get: DOM 22 CHAPTER 2 (config). Ext JS.... var test = new TestFunction( 'three', 'fixed',

More information

1217 WebTrafMon II

1217 WebTrafMon II (1/28) (2/28) (10 Mbps ) Video, Audio. (3/28) 10 ~ 15 ( : telnet, ftp ),, (4/28) UDP/TCP (5/28) centralized environment packet header information analysis network traffic data, capture presentation network

More information

Week3

Week3 2015 Week 03 / _ Assignment 1 Flow Assignment 1 Hello Processing 1. Hello,,,, 2. Shape rect() ellipse() 3. Color stroke() fill() color selector background() 4 Hello Processing 4. Interaction setup() draw()

More information

자바로

자바로 ! from Yongwoo s Park ZIP,,,,,,,??!?, 1, 1 1, 1 (Snow Ball), /,, 5,,,, 3, 3, 5, 7,,,,,,! ,, ZIP, ZIP, images/logojpg : images/imageszip :, backgroundjpg, shadowgif, fallgif, ballgif, sf1gif, sf2gif, sf3gif,

More information

Lab10

Lab10 Lab 10: Map Visualization 2015 Fall human-computer interaction + design lab. Joonhwan Lee Map Visualization Shape Shape (.shp): ESRI shp http://sgis.kostat.go.kr/html/index.html 3 d3.js SVG, GeoJSON, TopoJSON

More information

교육2 ? 그림

교육2 ? 그림 Interstage 5 Apworks EJB Application Internet Revision History Edition Date Author Reviewed by Remarks 1 2002/10/11 2 2003/05/19 3 2003/06/18 EJB 4 2003/09/25 Apworks5.1 [ Stateless Session Bean ] ApworksJava,

More information

1부

1부 PART 1 2 PART 01 _ SECTION 01 API NOTE SECTION 02 3 SECTION 02 GPL Apache2 NOTE 4 PART 01 _ SECTION 03 (Proyo) 2 2 2 1 2 2 : 2 2 Dalvik JIT(Just In Time) CPU 2~5 2~3 : (Adobe Flash) (Air) : SD : : : SECTION

More information

P/N: (Dec. 2003)

P/N: (Dec. 2003) P/N: 5615 1451 0014 (Dec. 2003) iii 1... 1...1...1...2...3...4...4...5...6...6...7...8...8...8...9...11...11...11 2... 13...13...14...14...15...16...17...18 ... 19... 20... 20... 22... 22... 24 3 Pocket

More information

ETL_project_best_practice1.ppt

ETL_project_best_practice1.ppt ETL ETL Data,., Data Warehouse DataData Warehouse ETL tool/system: ETL, ETL Process Data Warehouse Platform Database, Access Method Data Source Data Operational Data Near Real-Time Data Modeling Refresh/Replication

More information

FileMaker 15 WebDirect 설명서

FileMaker 15 WebDirect 설명서 FileMaker 15 WebDirect 2013-2016 FileMaker, Inc.. FileMaker, Inc. 5201 Patrick Henry Drive Santa Clara, California 95054 FileMaker FileMaker Go FileMaker, Inc.. FileMaker WebDirect FileMaker, Inc... FileMaker.

More information

PWR PWR HDD HDD USB USB Quick Network Setup Guide xdsl/cable Modem PC DVR 1~3 1.. DVR DVR IP xdsl Cable xdsl Cable PC PC DDNS (

PWR PWR HDD HDD USB USB Quick Network Setup Guide xdsl/cable Modem PC DVR 1~3 1.. DVR DVR IP xdsl Cable xdsl Cable PC PC DDNS ( PWR PWR HDD HDD USB USB Quick Network Setup Guide xdsl/cable Modem PC DVR 1~3 1.. DVR DVR IP xdsl Cable xdsl Cable PC PC DDNS (http://ddns.hanwha-security.com) Step 1~5. Step, PC, DVR Step 1. Cable Step

More information

5장.key

5장.key JAVA Programming 1 (inheritance) 2!,!! 4 3 4!!!! 5 public class Person {... public class Student extends Person { // Person Student... public class StudentWorker extends Student { // Student StudentWorker...!

More information

PCServerMgmt7

PCServerMgmt7 Web Windows NT/2000 Server DP&NM Lab 1 Contents 2 Windows NT Service Provider Management Application Web UI 3 . PC,, Client/Server Network 4 (1),,, PC Mainframe PC Backbone Server TCP/IP DCS PLC Network

More information

DE1-SoC Board

DE1-SoC Board 실습 1 개발환경 DE1-SoC Board Design Tools - Installation Download & Install Quartus Prime Lite Edition http://www.altera.com/ Quartus Prime (includes Nios II EDS) Nios II Embedded Design Suite (EDS) is automatically

More information

fundamentalOfCommandPattern_calmglow_pattern_jstorm_1.0_f…

fundamentalOfCommandPattern_calmglow_pattern_jstorm_1.0_f… Command JSTORM http://www.jstorm.pe.kr Command Issued by: < > Revision: Document Information Document title: Command Document file name: Revision number: Issued by: Issue

More information