KT AI MAKERS KIT 사용설명서 (Node JS 편).indd

Size: px
Start display at page:

Download "KT AI MAKERS KIT 사용설명서 (Node JS 편).indd"

Transcription

1 KT AI MAKERS KIT

2

3 3

4 4

5 5

6 6

7 7

8 8

9

10

11

12 12 01

13 13 02

14 03

15 15 04

16 16 05

17 17 06

18 18 07

19 19 08

20 20

21 21

22 22

23 23

24 24

25 25

26 26

27 27

28 28

29 29

30 30

31 31

32 32

33 33

34 34

35 35

36 36

37 37

38 38

39 39

40 40

41 41

42 42

43 43

44 44

45 45

46 46

47 47

48 48

49 49

50 50

51

52 52

53 53

54 54

55 55

56 56

57 57

58 58

59 59

60 60

61 61

62 62

63 63

64 64 const record=require('node-record-lpcm16'); const kwstext=['','','','']; const Speaker=require('speaker'); const fs=require('fs'); //node version check const nodeversion=process.version.split('.')[0]; let ktkws=null; if(nodeversion==='v6') ktkws=require('./ktkws'); else if(nodeversion==='v8') ktkws=require('./ktkws_v8'); //for play sample sound const soundbuffer=fs.readfilesync('../data/sample_sound.wav'); const pcmplay=new Speaker({ channels:1, bitdepth:16, samplerate:16000 //for setting kws type const kwsflag=parseint(process.argv[2]); let res=ktkws.initialize('../data/kwsmodel.pack'); console.log('initialize KWS:'+res); res=ktkws.startkws(kwsflag); console.log('start KWS:'+res); //for getting microphone input function initmic(){ return record.start({ sampleratehertz: 16000, threshold: 0, verbose: false, recordprogram: 'arecord', }) }; let mic=initmic(); mic.on('data',(data)=>{ //push pcm data to ktkws library result=ktkws.pushbuffer(data); if(result===1) { console.log("kws Detected"); //play sample sound pcmplay.write(soundbuffer); } console.log('say :'+kwstext[kwsflag]);

65 65 const record=require('node-record-lpcm16'); const kwstext=['','','','']; const Speaker=require('speaker'); const fs=require('fs'); //node version check const nodeversion=process.version.split('.')[0]; let ktkws=null; if(nodeversion==='v6') ktkws=require('./ktkws'); else if(nodeversion==='v8') ktkws=require('./ktkws_v8'); //for play sample sound const soundbuffer=fs.readfilesync('../data/sample_sound.wav'); const pcmplay=new Speaker({ channels:1, bitdepth:16, samplerate:16000

66 66 //for setting kws type const kwsflag=parseint(process.argv[2]); let res=ktkws.initialize('../data/kwsmodel.pack'); console.log('initialize KWS:'+res); res=ktkws.startkws(kwsflag); console.log('start KWS:'+res); //for getting microphone input function initmic(){ return record.start({ sampleratehertz: 16000, threshold: 0, verbose: false, recordprogram: 'arecord', }) };

67 67 let mic=initmic(); mic.on('data',(data)=>{ //push pcm data to ktkws library result=ktkws.pushbuffer(data); if(result===1) { console.log("kws Detected"); //play sample sound pcmplay.write(soundbuffer); } console.log('say :'+kwstext[kwsflag]);

68 68

69 69

70 70

71 71

72 72

73 73 const record=require('node-record-lpcm16'); const aikit=require('./aimakerskitutil'); const client_id=''; const client_key=''; const client_secret=''; const json_path=''; const cert_path='../data/ca-bundle.pem'; const proto_path='../data/gigagenierpc.proto'; function initmic(){ return record.start({ sampleratehertz: 16000, threshold: 0, verbose: false, recordprogram: 'arecord', silence: '10.0', }) }; let writeflag=0; //aikit.initialize(client_id,client_key,client_secret,cert_path,proto_path); aikit.initializejson(json_path,cert_path,proto_path); const ktstt=aikit.getvoice2text(); ktstt.on('error',(error)=>{ console.log('error:'+error); ktstt.on('data',(data)=>{ console.log('data:'+json.stringify(data)); ktstt.on('end',()=>{ console.log('pcm end'); record.stop(); writeflag=0; ktstt.end(); ktstt.write({reqoptions:{mode:0,lang:0} writeflag=1; const mic=initmic(); mic.on('data',(data)=>{ if(writeflag===1) ktstt.write({audiocontent:data console.log('say something');

74 74 const record=require('node-record-lpcm16'); const aikit=require('./aimakerskitutil'); const client_id=''; const client_key=''; const client_secret=''; const json_path=''; const cert_path='../data/ca-bundle.pem'; const proto_path='../data/gigagenierpc.proto'; function initmic(){ return record.start({ sampleratehertz: 16000, threshold: 0, verbose: false, recordprogram: 'arecord', silence: '10.0', }; })

75 75 let writeflag=0; //aikit.initialize(client_id,client_key,client_secret,cert_path,proto_path); aikit.initializejson(json_path,cert_path,proto_path); const ktstt=aikit.getvoice2text(); ktstt.on('error',(error)=>{ console.log('error:'+error); ktstt.on('data',(data)=>{ console.log('data:'+json.stringify(data)); ktstt.on('end',()=>{ console.log('pcm end'); record.stop(); writeflag=0; ktstt.end();

76 76 ktstt.write({reqoptions:{mode:0,lang:0} writeflag=1; const mic=initmic(); mic.on('data',(data)=>{ if(writeflag===1) ktstt.write({audiocontent:data console.log('say something');

77 77

78 78

79 79

80 80 const aikit=require('./aimakerskitutil'); const client_id=''; const client_key=''; const client_secret=''; const json_path=''; const cert_path='../data/ca-bundle.pem'; const proto_path='../data/gigagenierpc.proto'; //aikit.initialize(client_id,client_key,client_secret,cert_path,proto_path); aikit.initializejson(json_path,cert_path,proto_path); aikit.gettext2voiceurl({lang:0,text:'..'},(err,msg)=>{ console.log('err:'+json.stringify(err)+' msg:'+json.stringify(msg)); })

81 81

82 82

83 83

84 84

85 85

86 86

87 87 const Speaker=require('speaker'); const pcmplay=new Speaker({ channels:1, bitdepth:16, samplerate:16000 const aikit=require('./aimakerskitutil'); const client_id=''; const client_key=''; const client_secret=''; const json_path=''; const cert_path='../data/ca-bundle.pem'; const proto_path='../data/gigagenierpc.proto'; //aikit.initialize(client_id,client_key,client_secret,cert_path,proto_path); aikit.initializejson(json_path,cert_path,proto_path); kttts=aikit.gettext2voicestream({text:'',lang:0,mode:0 kttts.on('error',(error)=>{ console.log('error:'+error); kttts.on('data',(data)=>{ if(data.streamingresponse==='resoptions' && data.resoptions. resultcd===200) console.log('stream send. format:'+data.resoptions.format); if(data.streamingresponse==='audiocontent') { pcmplay.write(data.audiocontent); } else console.log('msg received:'+json.stringify(data)); kttts.on('end',()=>{ console.log('pcm end'); function finish(){ console.log('tts played'); }; settimeout(finish,5000);

88 88 const Speaker=require('speaker'); const pcmplay=new Speaker({ channels:1, bitdepth:16, samplerate:16000 const aikit=require('./aimakerskitutil'); const client_id=''; const client_key=''; const client_secret=''; const json_path=''; const cert_path='../data/ca-bundle.pem'; const proto_path='../data/gigagenierpc.proto';

89 89 //aikit.initialize(client_id,client_key,client_secret,cert_path,proto_path); aikit.initializejson(json_path,cert_path,proto_path); kttts=aikit.gettext2voicestream({text:'..',lang:0,mode:0 kttts.on('error',(error)=>{ console.log('error:'+error); kttts.on('data',(data)=>{ if(data.streamingresponse==='resoptions' && data.resoptions.resultcd===200) console.log('stream send. format:'+data.resoptions.format); if(data.streamingresponse==='audiocontent') { pcmplay.write(data.audiocontent); } else console.log('msg received:'+json.stringify(data));

90 90 kttts.on('end',()=>{ console.log('pcm end'); function finish(){ console.log('tts played'); }; settimeout(finish,5000);

91 91

92 92

93 93

94 94

95 95

96 96 const aikit=require('./aimakerskitutil'); const client_id=''; const client_key=''; const client_secret=''; const json_path=''; const cert_path='../data/ca-bundle.pem'; const proto_path='../data/gigagenierpc.proto'; //aikit.initialize(client_id,client_key,client_secret,cert_path,proto_path); aikit.initializejson(json_path,cert_path,proto_path); aikit.querybytext({querytext:'',usersession:'12345',deviceid:'hellodevie'},(err,msg)=>{ if(err){ console.log(json.stringify(err)); } else { console.log('msg:'+json.stringify(msg)); } })

97 97

98 98

99 99

100 100

101 101

102 102

103 103 const record=require('node-record-lpcm16'); const aikit=require('./aimakerskitutil'); const client_id=''; const client_key=''; const client_secret=''; const json_path=''; const cert_path='../data/ca-bundle.pem'; const proto_path='../data/gigagenierpc.proto'; //aikit.initialize(client_id,client_key,client_secret,cert_path,proto_path); aikit.initializejson(json_path,cert_path,proto_path); function initmic(){ return record.start({ sampleratehertz: 16000, threshold: 0, verbose: false, recordprogram: 'arecord', silence: '10.0', }) }; const query=aikit.querybyvoice((err,msg)=>{ if(err){ console.log(json.stringify(err)); } else { console.log('msg:'+json.stringify(msg)); } record.stop(); }) query.write({reqoptions:{lang:0,usersession:'12345',deviceid:'d tp808iqktzq'} const mic=initmic(); mic.on('data',(data)=>{ query.write({audiocontent:data console.log('say something');

104 104 const query=aikit.querybyvoice((err,msg)=>{ if(err){ console.log(json.stringify(err)); } else { console.log('msg:'+json.stringify(msg)); } record.stop(); }) query.write({reqoptions:{lang:0,usersession:'12345',deviceid:'d tp808iqktzq'} const mic=initmic(); mic.on('data',(data)=>{ query.write({audiocontent:data console.log('say something');

105 105

106 106

107 107

108 108

109 109

110 110 const record=require('node-record-lpcm16'); const aikit=require('./aimakerskitutil'); //node version check const nodeversion=process.version.split('.')[0]; let ktkws=null; if(nodeversion==='v6') ktkws=require('./ktkws'); else if(nodeversion==='v8') ktkws=require('./ktkws_v8'); //for playing pcm sound const Speaker=require('speaker'); const fs=require('fs'); const soundbuffer=fs.readfilesync('../data/sample_sound.wav'); const pcmplay=new Speaker({ channels:1, bitdepth:16, samplerate:16000 const client_id=''; const client_key=''; const client_secret=''; const json_path=''; const cert_path='../data/ca-bundle.pem'; const proto_path='../data/gigagenierpc.proto'; const kwstext=['','','','']; const kwsflag=parseint(process.argv[2]); function initmic(){ return record.start({ sampleratehertz: 16000, threshold: 0, verbose: false, recordprogram: 'arecord', }) };

111 111 ktkws.initialize('../data/kwsmodel.pack'); ktkws.startkws(kwsflag); let mic=initmic(); //aikit.initialize(client_id,client_key,client_secret,cert_path,proto_path); aikit.initializejson(json_path,cert_path,proto_path); let mode=0;//0:kws, 1:stt let ktstt=null; mic.on('data',(data)=>{ if(mode===0){ result=ktkws.pushbuffer(data); if(result===1) { console.log("kws Detected"); pcmplay.write(soundbuffer); settimeout(startstt,1000); } } else { ktstt.write({audiocontent:data } console.log('say :'+kwstext[kwsflag]); function startstt(){ ktstt=aikit.getvoice2text(); ktstt.on('error',(error)=>{ console.log('error:'+error); ktstt.on('data',(data)=>{ console.log('stt result:'+json.stringify(data)); if(data.resultcd!==200) mode=0; ktstt.on('end',()=>{ console.log('stt text stream end'); mode=0; ktstt.write({reqoptions:{mode:0,lang:0} mode=1; };

112 112 //aikit.initialize(client_id,client_key,client_secret,cert_path,proto_path); aikit.initializejson(json_path,cert_path,proto_path); let mode=0;//0:kws, 1:stt let ktstt=null; mic.on('data',(data)=>{ if(mode===0){ result=ktkws.pushbuffer(data); if(result===1) { console.log("kws Detected"); pcmplay.write(soundbuffer); settimeout(startstt,1000); } } else { ktstt.write({audiocontent:data }

113 113 console.log('say :'+kwstext[kwsflag]); function startstt(){ ktstt=aikit.getvoice2text(); ktstt.on('error',(error)=>{ console.log('error:'+error); ktstt.on('data',(data)=>{ console.log('stt result:'+json.stringify(data)); if(data.resultcd!==200) mode=0; ktstt.on('end',()=>{ console.log('stt text stream end'); mode=0; ktstt.write({reqoptions:{mode:0,lang:0} mode=1; };

114 114

115 115

116 116

117 117 const record=require('node-record-lpcm16'); const aikit=require('./aimakerskitutil'); const Speaker=require('speaker'); const fs=require('fs'); //for playing pcm sound const soundbuffer=fs.readfilesync('../data/sample_sound.wav'); const pcmplay=new Speaker({ channels:1, bitdepth:16, samplerate:16000 //node version check const nodeversion=process.version.split('.')[0]; let ktkws=null; if(nodeversion==='v6') ktkws=require('./ktkws'); else if(nodeversion==='v8') ktkws=require('./ktkws_v8'); const client_id=''; const client_key=''; const client_secret=''; const json_path='./clientkey.json'; const cert_path='../data/ca-bundle.pem'; const proto_path='../data/gigagenierpc.proto'; const kwstext=['','','','']; const kwsflag=parseint(process.argv[2]); let pcm=null; function initmic(){ return record.start({ sampleratehertz: 16000, threshold: 0, verbose: false, recordprogram: 'arecord', }) };

118 118 ktkws.initialize('../data/kwsmodel.pack'); ktkws.startkws(kwsflag); let mic=initmic(); //aikit.initialize(client_id,client_key,client_secret,cert_path,proto_path); aikit.initializejson(json_path,cert_path,proto_path); let mode=0;//0:kws, 1:queryByVoice let ktstt=null; mic.on('data',(data)=>{ if(mode===0){ //1) result=ktkws.pushbuffer(data); if(result===1) { //2) console.log("kws Detected"); pcmplay.write(soundbuffer); settimeout(startqueryvoice,1000); // 3) } } else { ktstt.write({audiocontent:data //4) } console.log('say :'+kwstext[kwsflag]); function startqueryvoice(){ ktstt=aikit.querybyvoice((err,msg)=>{ if(err){ console.log(json.stringify(err)); mode=0; } else { console.log('msg:'+json.stringify(msg)); const action=msg.action[0]; if(action){ const acttype=action.acttype; let mesg=action.mesg; console.log('acttype:'+acttype+' mesg:'+mesg);

119 119 //5) if(acttype==='99' acttype==='601' acttype==='631' acttype==='607' acttype==='608' acttype==='606' acttype==='9999'){ if(acttype==='9999'){ let textprocess=action.serviceid.split('systemmsg') [1].split(',')[0].substring(3,); mesg=textprocess.substring(0,textprocess.length-1); } //6) let kttts=aikit.gettext2voicestream({text:mesg,lang:0,mode:0 kttts.on('error',(error)=>{ console.log('error:'+error); //7) kttts.on('data',(data)=>{ if(data.streamingresponse==='resoptions' && data.resoptions. resultcd===200) console.log('stream send. format:'+data.resoptions.format); if(data.streamingresponse==='audiocontent') { pcmplay.write(data.audiocontent); } else console.log('msg received:'+json.stringify(data)); kttts.on('end',()=>{ console.log('pcm end'); mode=0;//9) } else mode=0//9) } else mode=0;//9) } ktstt.write({reqoptions:{lang:0,usersession:'12345',deviceid:'d tp808iqktzq'} mode=1;//8) };

120 120 let mode=0;//0:kws, 1:queryByVoice let ktstt=null; mic.on('data',(data)=>{ if(mode===0){ //1) result=ktkws.pushbuffer(data); if(result===1) { //2) console.log("kws Detected"); pcmplay.write(soundbuffer); settimeout(startqueryvoice,1000); // 3) } } else { ktstt.write({audiocontent:data //4) } console.log('say :'+kwstext[kwsflag]);

121 121 function startqueryvoice(){ ktstt=aikit.querybyvoice((err,msg)=>{ if(err){ console.log(json.stringify(err)); mode=0; } else { console.log('msg:'+json.stringify(msg)); const action=msg.action[0]; if(action){ const acttype=action.acttype; let mesg=action.mesg; console.log('acttype:'+acttype+' mesg:'+mesg);

122 122 //5) if(acttype==='99' acttype==='601' acttype==='631' acttype==='607' acttype==='608' acttype==='606' acttype==='9999'){ if(acttype==='9999'){ let textprocess=action.serviceid.split('systemmsg') [1].split(',')[0].substring(3,); mesg=textprocess.substring(0,textprocess.length-1); } //6) let kttts=aikit.gettext2voicestream({text:mesg,lang:0,mode:0 kttts.on('error',(error)=>{ console.log('error:'+error);

123 123 }; //7) kttts.on('data',(data)=>{ if(data.streamingresponse==='resoptions' && data.resoptions. resultcd===200) console.log('stream send. format:'+data.resoptions.format); if(data.streamingresponse==='audiocontent') { pcmplay.write(data.audiocontent); } else console.log('msg received:'+json.stringify(data)); kttts.on('end',()=>{ console.log('pcm end'); mode=0;//9) } else mode=0//9) } else mode=0;//9) } ktstt.write({reqoptions:{lang:0,usersession:'12345',deviceid:'d tp808iqktzq'} mode=1;//8)

124 124

125 125

126 126

127 127 const gpio=require('rpi-gpio'); const record=require('node-record-lpcm16'); const aikit=require('./aimakerskitutil'); const Speaker=require('speaker'); const fs=require('fs'); const soundbuffer=fs.readfilesync('../data/sample_sound.wav'); const pcmplay=new Speaker({ channels:1, bitdepth:16, samplerate:16000 gpio.setup(29,gpio.dir_in,gpio.edge_both); gpio.setup(31,gpio.dir_low,write); function write(err){ if(err) console.log('write Error:'+err); }; const client_id=''; const client_key=''; const client_secret=''; const json_path=''; const cert_path='../data/ca-bundle.pem'; const proto_path='../data/gigagenierpc.proto'; let pcm=null; function initmic(){ return record.start({ sampleratehertz: 16000, threshold: 0, verbose: false, recordprogram: 'arecord', }) };

128 128 aikit.initializejson(json_path,cert_path,proto_path); let sysstat=0; gpio.on('change',(channel,value)=>{ if(channel===29){ console.log('channel:'+channel+' value is '+value); if(value===false){ if(sysstat===0) { sysstat=1; console.log('button Pressed. Start Service'); gpio.write(31,true); pcmplay.write(soundbuffer); settimeout(startqueryvoice,1000); } } } function startqueryvoice(){ let ktstt=aikit.querybyvoice((err,msg)=>{ if(err){ console.log(json.stringify(err)); record.stop(); } else { console.log('msg:'+json.stringify(msg)); const action=msg.action[0]; if(action){ const acttype=action.acttype; const mesg=action.mesg; console.log('acttype:'+acttype+' mesg:'+mesg); if(acttype==='99' acttype==='601' acttype==='631' acttype==='607' acttype==='608' acttype==='606'){ let kttts=aikit.gettext2voicestream({text:mesg,lang:0,mode:0 kttts.on('error',(error)=>{

129 129 console.log('error:'+error); kttts.on('data',(data)=>{ if(data.streamingresponse==='resoptions'&& data.resoptions.resultcd===200) console.log('stream send. format:'+data.resoptions.format); if(data.streamingresponse==='audiocontent') { pcmplay.write(data.audiocontent); } else console.log('msg received:'+json.stringify(data)); kttts.on('end',()=>{ console.log('pcm end'); record.stop(); } else record.stop(); } else record.stop(); }; gpio.write(31,false); sysstat=0; } ktstt.write({reqoptions:{lang:0,usersession:'12345',deviceid:'d tp808iqktzq'} let mic=initmic(); mic.on('data',(data)=>{ ktstt.write({audiocontent:data

130 130 const gpio=require('rpi-gpio'); const record=require('node-record-lpcm16'); const aikit=require('./aimakerskitutil'); const Speaker=require('speaker'); const fs=require('fs'); const soundbuffer=fs.readfilesync('../data/sample_sound.wav'); const pcmplay=new Speaker({ channels:1, bitdepth:16, samplerate:16000 gpio.setup(29,gpio.dir_in,gpio.edge_both); gpio.setup(31,gpio.dir_low,write);

131 131 let sysstat=0; gpio.on('change',(channel,value)=>{ if(channel===29){ console.log('channel:'+channel+' value is '+value); if(value===false){ if(sysstat===0) { sysstat=1; console.log('button Pressed. Start Service'); gpio.write(31,true); pcmplay.write(soundbuffer); settimeout(startqueryvoice,1000); } } }

132 132 }; gpio.write(31,false); sysstat=0; } ktstt.write({reqoptions:{lang:0,usersession:'12345',deviceid:'d tp808iqktzq'} let mic=initmic(); mic.on('data',(data)=>{ ktstt.write({audiocontent:data

133 $ git clone example.git

134 134

135 135 Alternate Function Alternate Function 12C1 SDA 12C1 SCL SPIO MOSI SPIO MISO SPIO SCLK SPI1 MISO 3.3V PWR GPIO 2 GPIO 3 GPIO 4 GND GPIO 17 GPIO 27 GPIO V PWR GPIO 10 GPIO 9 GPIO 11 GND Reserved GPIO 5 GPIO 6 GPIO 13 GPIO 19 GPIO 26 GND V PWR 5V PWR GND UARTO TX UARTO TX GPIO 18 GND GPIO 23 GPIO 24 GND GPIO 25 GPIO 8 GPIO 7 Reserved GND GPIO 12 GND GPIO 16 GPIO 20 GPIO 21 SPIO CS0 SPIO CS1 SPI1 CS0 SPI1 MOSI SOI1 SCLK

136 136

137 137 const gpio = require('rpi-gpio'); const record = require('node-record-lpcm16'); const aikit = require('./aimakerskitutil'); const Speaker = require('speaker'); const fs = require('fs'); const soundbuffer = fs.readfilesync('../data/sample_sound.wav'); const pcmplay = new Speaker({ channels: 1, bitdepth: 16, samplerate: function initmic() { return record.start({ sampleratehertz: 16000, threshold: 0, verbose: false, recordprogram: 'arecord', }) }; const nodeversion = process.version.split('.')[0]; let ktkws=null; if(nodeversion === 'v6') ktkws = require('./ktkws'); else if(nodeversion === 'v8') ktkws = require('./ktkws_v8'); gpio.setup(31, gpio.dir_low, write); function write(err) { if(err) console.log('write Error:'+err); };

138 138 const json_path = '/home/pi/downloads/clientkey.json'; const cert_path = '../data/ca-bundle.pem'; const proto_path = '../data/gigagenierpc.proto'; const kwstext = ['','','','']; const kwsflag = parseint(process.argv[2]); ktkws.initialize('../data/kwsmodel.pack'); ktkws.startkws(kwsflag); let mic = initmic(); aikit.initializejson(json_path, cert_path, proto_path); let mode = 0; let ktstt = null; mic.on('data', (data) => { if(mode === 0) { result = ktkws.pushbuffer(data); if(result === 1) { console.log("kws Detected"); pcmplay.write(soundbuffer); settimeout(startstt, 1000); } } else { ktstt.write({audiocontent: data } console.log('say :' + kwstext[kwsflag]); function startstt() { ktstt = aikit.getvoice2text(); ktstt.on('error',(error) => { console.log('error:'+error);

139 139 ktstt.on('data', (data) => { console.log('stt result:' + JSON.stringify(data)); if (data.resultcd === 201) { controlled(data, function(result) { let responsestring = ""; if (result === 1) { responsestring = '.'; } else if (result === 2) { responsestring = '.'; } else { responsestring = '.'; } } playtts(responsestring, () => { mode = 0; if(data.resultcd!== 200 && data.resultcd!== 201) mode = 0; ktstt.on('end',() => { console.log('stt text stream end');

140 140 }; ktstt.write({reqoptions: {mode: 0, lang: 0} mode=1; function controlled (data, callback){ resulttext = data.recognizedtext; if (resulttext.search("") >= 0){ gpio.write(31, true); callback(1); } else if(resulttext.search("") >= 0){ gpio.write(31, false); callback(2); } } else { callback(0); }

141 141 function playtts (returnvoice, callback) { } kttts = aikit.gettext2voicestream({text: returnvoice, lang: 0, mode: 0 kttts.on('error', (error) => { console.log('error:'+error); kttts.on('data', (data) => { if (data.streamingresponse === 'resoptions' && data.resoptions.resultcd === 200){ console.log('stream send. format:'+data.resoptions.format); } if (data.streamingresponse ==='audiocontent') { pcmplay.write(data.audiocontent); } else { console.log('msg received:'+json.stringify(data)); } kttts.on('end', () => { console.log('pcm end'); settimeout(() => { console.log('tts played'); callback(); }, 800);

142 142

143 143

144 144 $ wget $ tar zxvf bcm tar.gz $ cd bcm $./configure $ make $ sudo make check $ sudo make install $ npm i node-dht-sensor

145 145 const record = require('node-record-lpcm16'); const aikit = require('./aimakerskitutil'); const Speaker = require('speaker'); var sensor = require('node-dht-sensor'); const fs = require('fs'); const soundbuffer = fs.readfilesync('../data/sample_sound.wav'); const pcmplay = new Speaker({ channels: 1, bitdepth: 16, samplerate: function initmic() { return record.start({ sampleratehertz: 16000, threshold: 0, verbose: false, recordprogram: 'arecord', }) }; const nodeversion = process.version.split('.')[0]; let ktkws=null; if(nodeversion === 'v6') ktkws = require('./ktkws'); else if(nodeversion === 'v8') ktkws = require('./ktkws_v8'); const json_path = '/home/pi/downloads/clientkey.json';

146 146 const cert_path = '../data/ca-bundle.pem'; const proto_path = '../data/gigagenierpc.proto'; const kwstext = ['','','','']; const kwsflag = parseint(process.argv[2]); ktkws.initialize('../data/kwsmodel.pack'); ktkws.startkws(kwsflag); let mic = initmic(); aikit.initializejson(json_path, cert_path, proto_path); let mode = 0; let ktstt = null; mic.on('data', (data) => { if(mode === 0) { result = ktkws.pushbuffer(data); if(result === 1) { console.log("kws Detected"); pcmplay.write(soundbuffer); settimeout(startstt, 1000); } } else { ktstt.write({audiocontent: data } console.log('say :' + kwstext[kwsflag]); function startstt() { ktstt = aikit.getvoice2text();

147 147 ktstt.on('error',(error) => { console.log('error:'+error); ktstt.on('data', (data) => { console.log('stt result:' + JSON.stringify(data)); if (data.resultcd === 201) { checkcommand(data, function(result) { let responsestring = ""; readsensor(11, 3, (err, temperature, humidity) => { } if(!err){ if (result === 1) { responsestring = '' + temperature + '.'; } else if (result === 2) { responsestring = '' + humidity + '.'; } else { responsestring = '.'; } playtts(responsestring, () => { mode = 0; } else{ console.log("") } if(data.resultcd!== 200 && data.resultcd!== 201) mode = 0;

148 148 }; ktstt.on('end',() => { console.log('stt text stream end'); ktstt.write({reqoptions: {mode: 0, lang: 0} mode=1; function checkcommand (data, callback){ resulttext = data.recognizedtext; if (resulttext.search("") >= 0){ callback(1); } else if(resulttext.search("") >= 0){ callback(2); } else { callback(0); } } function playtts (returnvoice, callback) { kttts = aikit.gettext2voicestream({text: returnvoice, lang: 0, mode: 0 kttts.on('error', (error) => { console.log('error:'+error); kttts.on('data', (data) => { if (data.streamingresponse === 'resoptions' && data.resoptions.resultcd === 200){ console.log('stream send. format:'+data.resoptions.format); }

149 149 if (data.streamingresponse ==='audiocontent') { pcmplay.write(data.audiocontent); } else { console.log('msg received:'+json.stringify(data)); } kttts.on('end', () => { console.log('pcm end'); settimeout(() => { console.log('tts played'); callback(); }, 800); } function readsensor(dht_ver, DHT_GPIO, callback) { sensor.read(dht_ver, DHT_GPIO, function(err, temperature, humidity) { if (!err) { console.log('temp: ' + temperature.tofixed(1) + ' C, ' + 'humidity: ' + humidity.tofixed(1) + '%' ); callback(err, temperature, humidity); } }

150 150 $ npm i youtube-audio-stream $ npm i fluent-ffmpeg $ sudo apt-get install ffmpeg

151 151 const record = require('node-record-lpcm16'); const aikit = require('./aimakerskitutil'); const fs = require('fs'); const Speaker = require('speaker'); let ktkws = null; const nodeversion = process.version.split('.')[0]; if(nodeversion === 'v6') ktkws = require('./ktkws'); else if(nodeversion === 'v8') ktkws = require('./ktkws_v8'); const request = require('request'); const json_path = '/home/pi/downloads/clientkey.json'; const cert_path = '../data/ca-bundle.pem'; const proto_path = '../data/gigagenierpc.proto'; const kwstext = ['', '', '', '']; const kwsflag = parseint(process.argv[2]); const soundbuffer = fs.readfilesync('../data/sample_sound.wav'); const pcmplay = new Speaker({ channels: 1, bitdepth: 16, samplerate: function initmic() { return record.start({ sampleratehertz: 16000, threshold: 0, verbose: false, recordprogram: 'arecord' };

152 152 ktkws.initialize('../data/kwsmodel.pack'); ktkws.startkws(kwsflag); let mic = initmic(); aikit.initializejson(json_path, cert_path, proto_path); let mode = 0; // 0 : kws, 1 : stt let ktstt = null; let player = null; mic.on('data', (data) => { if(mode === 0) { result = ktkws.pushbuffer(data); if(result === 1) { console.log("kws Detected"); pcmplay.write(soundbuffer); settimeout(startstt, 1000); } } else { ktstt.write({audiocontent: data if(player!= null) { player.stop(); } } function starttts(text, speaker) { let kttts = aikit.gettext2voicestream({text: text, lang: 0, mode: 0 kttts.on('error', (error) => console.log('error:' + error)); kttts.on('data', (data) => { if (data.streamingresponse === 'resoptions' && data.resoptions.resultcd === 200) { console.log('stream send. format:' + data.resoptions.format); }

153 153 } if (data.streamingresponse === 'audiocontent') { speaker.write(data.audiocontent); } else { console.log('msg received:' + JSON.stringify(data)); } kttts.on('end', () => console.log('pcm end')); console.log('say :' + kwstext[kwsflag]); function startstt() { ktstt = aikit.getvoice2text(); ktstt.on('error', (error) => console.log('error:' + error)); ktstt.on('data', async (data) => { console.log('stt result:' + JSON.stringify(data)); if (data.resultcd === 201) { const recognizedtext = data.recognizedtext; if (recognizedtext.includes('') && (recognizedtext.includes('') recognizedtext.includes(''))) { let target = recognizedtext.split('')[0]; console.log('play Target:' + target); const ttscomment = ' ' + target + ' '; starttts(ttscomment, pcmplay); player = new YoutubePlayer(await getyoutubeurl(target), pcmplay); player.play();

154 154 } else if(recognizedtext.includes('')) { if (player!= null) { player.stop(); player = null; const ttscomment = '.'; starttts(ttscomment, pcmplay); } } else { if (player!= null) { player.play(); } } mode = 0; } ktstt.on('end', () => { console.log('stt text stream end'); mode = 0; ktstt.write({reqoptions: {mode: 0, lang: 0} mode = 1; };

155 155 async function getyoutubeurl(keyword) { const youtubeplaybaseurl = ' let urls = await getyoutubesearchlist(keyword); let targeturl = youtubeplaybaseurl + urls[0]; console.log('yt url:' + targeturl); } return targeturl; function getyoutubesearchlist(target) { const querytext = target; } return new Promise((resolve, reject) => { console.log('querytext: ' + querytext); const searchurl = ' const queryurl = encodeuri(searchurl + querytext); request(queryurl, (err, res, body) => { let splitbywatch = body.split('href=\"\/watch?'); let isfirst = true; let urllist = []; splitbywatch.foreach((splittext) => { if (isfirst === true) { isfirst = false; } else { let splitbyquot = splittext.split('"'); urllist.push(splitbyquot[0]); } resolve(urllist);

156 156 const getyoutubestream = require('youtube-audio-stream'); const ffmpeg = require('fluent-ffmpeg'); class YoutubePlayer { constructor(url, speaker) { this.url = url; this.status = 'stop'; this.stream = this._initstream(); this.speaker = speaker; } _initstream() { var ffstream = ffmpeg({source: getyoutubestream(this.url)}).inputformat('mp3').format('wav').outputoptions([ '-b:a 332k', '-ar 16000', '-ab 64', '-ac 1', ]).pipe(); } return ffstream;

157 157 } play () { if(this.status === 'stop') { this.stream.pipe(this.speaker); this.status = 'play'; } } stop () { if(this.status === 'play') { this.stream.unpipe(); this.status = 'stop'; } }

158 (sleep 10 && cd ~/ai-makers-kit/nodejs && node ex9_btnsttdss.js)& $ nano.profile

GiGA Genie AI API 서비스가이드 <GiGA Genie AI 음성인식 API> 1 / 21

GiGA Genie AI API 서비스가이드 <GiGA Genie AI 음성인식 API> 1 / 21 GiGA Genie AI API 서비스가이드 1 / 21 GiGA Genie AI API 신청방법 회원가입방법 1. ucloud biz 포탈메인페이지에서회원가입이가능합니다 2. 자세한방법은고객센터 > 매뉴얼 > Server > 사용자가이드중첫걸음떼기의 내용을참조하시기바랍니다 사전준비사항 1. 상품 > 컴퓨팅 > Server

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

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

Polly_with_Serverless_HOL_hyouk

Polly_with_Serverless_HOL_hyouk { } "Version":"2012-10-17", "Statement":[ { "Effect":"Allow", "Action":[ "polly:synthesizespeech", "dynamodb:query", "dynamodb:scan", "dynamodb:putitem", "dynamodb:updateitem", "sns:publish", "s3:putobject",

More information

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

C H A P T E R 2

C H A P T E R 2 C H A P T E R 2 Foundations of Ajax Chapter 2 1 32 var xmlhttp; function createxmlhttprequest() { if(window.activexobject) { xmlhttp = new ActiveXObject( Micr else if(window.xmlhttprequest) { xmlhttp =

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

Todo list Universal app

Todo list Universal app Microsoft MVP MunChan Park kaki104@daum.net Windows Platform Development MVP www.facebook.com/groups/w10app 유튜브채널 Using OneDrive in a Bot Framework 환경및준비 가능하면모두영문버전사용을추천 Windows 10 version 1709 (16299.x)

More information

구로구민체육센터 여성전용 기구필라테스 강좌 신설 구로구시설관리공단은 신도림생활체육관에서 2014년도부터 시행하여 주민의 큰 호응을 얻고있는 기구필라 테스 강좌를 2015.12.01일자로 구로구민체육센터에 확대 시행하게 되었습니다. 구로구 관내 고객들의 니즈를 반영한 기

구로구민체육센터 여성전용 기구필라테스 강좌 신설 구로구시설관리공단은 신도림생활체육관에서 2014년도부터 시행하여 주민의 큰 호응을 얻고있는 기구필라 테스 강좌를 2015.12.01일자로 구로구민체육센터에 확대 시행하게 되었습니다. 구로구 관내 고객들의 니즈를 반영한 기 01 2015년도 공단의 이모저모 소식을 전해드려요~ 구로구시설관리공단 구로구시설관리공단 제5대 김완호이사장 취임 구로구시설관리공단 제5대 김완호 신임 이사장이 2015.11.02(월) 취임하였습니다. 취임식에서 소통, 배려, 화합의 구정 방침과 공기업의 경영목표인 공익성과 기업성 양면의 조화로운 경영을 위해 모든 분야의 3% 업그레이드, 3% 절약, 경영환경의

More information

BEef 사용법.pages

BEef 사용법.pages 1.... 3 2.... 3 (1)... 3 (2)... 5 3. BeEF... 7 (1) BeEF... 7 (2)... 8 (3) (Google Phishing)... 10 4. ( )... 13 (1)... 14 (2) Social Engineering... 17 (3)... 19 (4)... 21 5.... 22 (1)... 22 (2)... 27 (3)

More information

28 THE ASIAN JOURNAL OF TEX [2] ko.tex [5]

28 THE ASIAN JOURNAL OF TEX [2] ko.tex [5] The Asian Journal of TEX, Volume 3, No. 1, June 2009 Article revision 2009/5/7 KTS THE KOREAN TEX SOCIETY SINCE 2007 2008 ko.tex Installing TEX Live 2008 and ko.tex under Ubuntu Linux Kihwang Lee * kihwang.lee@ktug.or.kr

More information

OCaml

OCaml OCaml 2009.. (khheo@ropas.snu.ac.kr) 1 ML 2 ML OCaml INRIA, France SML Bell lab. & Princeton, USA nml SNU/KAIST, KOREA 3 4 (let) (* ex1.ml *) let a = 10 let add x y = x + y (* ex2.ml *) let sumofsquare

More information

SRC PLUS 제어기 MANUAL

SRC PLUS 제어기 MANUAL ,,,, DE FIN E I N T R E A L L O C E N D SU B E N D S U B M O TIO

More information

airDACManualOnline_Kor.key

airDACManualOnline_Kor.key 5F InnoValley E Bldg., 255 Pangyo-ro, Bundang-gu, Seongnam-si, Gyeonggi-do, Korea (Zip 463-400) T 031 8018 7333 F 031 8018 7330 airdac AD200 F1/F2/F3 141x141x35 mm (xx) 350 g LED LED1/LED2/LED3 USB RCA

More information

untitled

untitled 5V 1 2 - + LM7805 1 3 IN OUT GND POWER SW 1 2 CON 330 2 220uF 0.1 220uF LED 330 330 330 330 330 330 330 330 LED0 LED1 LED2 LED3 LED4 LED5 LED6 LED7 5V 10K 10K 10K 10K 10K 10K 10K 10K SW0 SW1 SW2 SW3 SW4

More information

T100MD+

T100MD+ User s Manual 100% ) ( x b a a + 1 RX+ TX+ DTR GND TX+ RX+ DTR GND RX+ TX+ DTR GND DSR RX+ TX+ DTR GND DSR [ DCE TYPE ] [ DCE TYPE ] RS232 Format Baud 1 T100MD+

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

Microsoft PowerPoint - web-part03-ch19-node.js기본.pptx

Microsoft PowerPoint - web-part03-ch19-node.js기본.pptx 과목명: 웹프로그래밍응용 교재: 모던웹을 위한 JavaScript Jquery 입문, 한빛미디어 Part3. Ajax Ch19. node.js 기본 2014년 1학기 Professor Seung-Hoon Choi 19 node.js 기본 이 책에서는 서버 구현 시 node.js 를 사용함 자바스크립트로 서버를 개발 다른서버구현기술 ASP.NET, ASP.NET

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

( )부록

( )부록 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

CONTENTS 1. Approval Revision Record Scope Numbering of product Product Part No Lot. No Absolu

CONTENTS 1. Approval Revision Record Scope Numbering of product Product Part No Lot. No Absolu WISOL / SFM11R2D P/N: DATA SHEET Rev.01 WISOL 531-7, Gajang-ro,Osan-si,Gyeonggi-do Rep. of Korea http://www.wisol.co.kr CONTENTS 1. Approval Revision Record... 3 2. Scope... 4 3. Numbering of product...

More information

Microsoft PowerPoint - User Manual-100 - 20150521.pptx

Microsoft PowerPoint - User Manual-100 - 20150521.pptx CIC-100 사용 설명서 (User Manual) 나의 커뮤니티, 보는 이야기 TocView [모델명 : CIC-100] 주의사항 매뉴얼의 내용은 서비스 향상을 위하여 개별 사용자의 사전 동의 또는 별도의 공지 없이 변경될 수 있습니다. 사용자의 인터넷 환경에 따라 제품 성능 및 기능의 제작 또는 사용이 불가능할 수 있습니다. 본 제품의 이용 중 장애에 의하여

More information

목차 후면 패널 연결... 3 전면 패널 컨트롤... 3 리모트 컨트롤... 4 연결하기... 5 네트워크 연결... 5 문자 입력... 5 조작 설명... 6 입력... 6 설정... 6 중요! CXN은 주로 소프트웨어 기반의 제품으로 새로운 기능과 업데이트는 수시로

목차 후면 패널 연결... 3 전면 패널 컨트롤... 3 리모트 컨트롤... 4 연결하기... 5 네트워크 연결... 5 문자 입력... 5 조작 설명... 6 입력... 6 설정... 6 중요! CXN은 주로 소프트웨어 기반의 제품으로 새로운 기능과 업데이트는 수시로 CXN NETWORK PLAYER 목차 후면 패널 연결... 3 전면 패널 컨트롤... 3 리모트 컨트롤... 4 연결하기... 5 네트워크 연결... 5 문자 입력... 5 조작 설명... 6 입력... 6 설정... 6 중요! CXN은 주로 소프트웨어 기반의 제품으로 새로운 기능과 업데이트는 수시로 이용할 수 있습니다. 업데이트 확인 방법에 대해서는 이

More information

untitled

untitled 200 180 ( ) () 1,060 1,040 160 140 120 / () 1,020 1,000 980 100 960 80 940 60 920 2005.1 2005.2 2005.3 2005.4 2006.1 2006.2 2006.3 2006.4 2007.1 2007.2 2007.3 150000 () (% ) 5.5 100000 CD () 5.4 50000

More information

<30352D30312D3120BFB5B9AEB0E8BEE0C0C720C0CCC7D82E687770>

<30352D30312D3120BFB5B9AEB0E8BEE0C0C720C0CCC7D82E687770> IT법률컨설팅 강의교안 (상) 영문계약의 이해 소프트웨어 자산관리기법 영문계약의 이해 - 1 - - 2 - - 3 - - 4 - - 5 - - 6 - - 7 - - 8 - - 9 - - 10 - - 11 - - 12 - - 13 - - 14 - - 15 - - 16 - - 17 - - 18 - - 19 - - 20 - - 21 - - 22 - - 23 -

More information

Mobile Service > IAP > Android SDK [ ] IAP SDK TOAST SDK. IAP SDK. Android Studio IDE Android SDK Version (API Level 10). Name Reference V

Mobile Service > IAP > Android SDK [ ] IAP SDK TOAST SDK. IAP SDK. Android Studio IDE Android SDK Version (API Level 10). Name Reference V Mobile Service > IAP > Android SDK IAP SDK TOAST SDK. IAP SDK. Android Studio IDE 2.3.3 Android SDK Version 2.3.3 (API Level 10). Name Reference Version License okhttp http://square.github.io/okhttp/ 1.5.4

More information

고급 프로그래밍 설계

고급 프로그래밍 설계 UNIT 13 라즈베리파이블루투스 광운대학교로봇 SW 교육원 최상훈 Bluetooth Module 2 Bluetooth Slave UART Board UART 인터페이스용블루투스모듈 slave/device mode 라즈베리파이 GPIO 3 < 라즈베리파이 B+ 의 P1 헤더핀 GPIO 배치도 > wiringpi 라이브러리 4 라즈베리파이 GPIO 라이브러리

More information

03장.스택.key

03장.스택.key ---------------- DATA STRUCTURES USING C ---------------- 03CHAPTER 1 ? (stack): (LIFO:Last-In First-Out) 2 : top : ( index -1 ),,, 3 : ( ) ( ) -> ->. ->.... 4 Stack ADT : (LIFO) : init():. is_empty():

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 Deep Learning 작업환경조성 & 사용법 ISL 안재원 Ubuntu 설치 작업환경조성 접속방법 사용예시 2 - ISO file Download www.ubuntu.com Ubuntu 설치 3 - Make Booting USB Ubuntu 설치 http://www.pendrivelinux.com/universal-usb-installer-easy-as-1-2-3/

More information

<30302DB8E9C1F62DB8F1C2F72830363139292E687770>

<30302DB8E9C1F62DB8F1C2F72830363139292E687770> 목 차 제1장 공현황 1. 일반행정 체 3 1-1 청 연혁 3 1-2 기구 및 정원 6 1-3 기 능 7 1-4 예산현황 9 1-5 법령 및 행정규칙 11 2. 난행정 체 13 2-1 인명피해(자연, 인적, 화) 현황 13 2-2 난관리 체 14 2-3 난관련 법령 현황 28 제2장 예안전 분야 1. 2011년도 국가난대응 안전한국 종합훈련 33 1-1 훈련

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 Bacardi Project: Node.js 네이티브모듈을위한 오픈소스바인딩제네레이터 방진호 (zino@chromium.org) 2017.10.26 Bacardi Project 란? Bacardi Project 란.. Node.js 에서 Native Module 을바인딩하는방법에대한오픈소스이다. 그런데이미기존 Node.js 에는바인딩을위한방법들이제공되고있다.

More information

chap01_time_complexity.key

chap01_time_complexity.key 1 : (resource),,, 2 (time complexity),,, (worst-case analysis) (average-case analysis) 3 (Asymptotic) n growth rate Θ-, Ο- ( ) 4 : n data, n/2. int sample( int data[], int n ) { int k = n/2 ; return data[k]

More information

int main(void) int a; int b; a=3; b=a+5; printf("a : %d \n", a); printf("b : %d \n", b); a b 3 a a+5 b &a(12ff60) &b(12ff54) 3 a 8 b printf(" a : %x \

int main(void) int a; int b; a=3; b=a+5; printf(a : %d \n, a); printf(b : %d \n, b); a b 3 a a+5 b &a(12ff60) &b(12ff54) 3 a 8 b printf( a : %x \ ? 1 int main(void) int a; int b; a=3; b=a+5; printf("a : %d \n", a); printf("b : %d \n", b); a b 3 a a+5 b &a(12ff60) &b(12ff54) 3 a 8 b printf(" a : %x \n", &a); printf(" b : %x \n", &b); * : 12ff60,

More information

12-file.key

12-file.key 11 (String).. java.lang.stringbuffer. s String s = "abcd"; s = s + "e"; a b c d e a b c d e ,., "910359,, " "910359" " " " " (token) (token),, (delimiter). java.util.stringtokenizer String s = "910359,,

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

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

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

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

API STORE 키발급및 API 사용가이드 Document Information 문서명 : API STORE 언어별 Client 사용가이드작성자 : 작성일 : 업무영역 : 버전 : 1 st Draft. 서브시스템 : 문서번호 : 단계 : Docum

API STORE 키발급및 API 사용가이드 Document Information 문서명 : API STORE 언어별 Client 사용가이드작성자 : 작성일 : 업무영역 : 버전 : 1 st Draft. 서브시스템 : 문서번호 : 단계 : Docum API STORE 키발급및 API 사용가이드 Document Information 문서명 : API STORE 언어별 Client 사용가이드작성자 : 작성일 : 2012.11.23 업무영역 : 버전 : 1 st Draft. 서브시스템 : 문서번호 : 단계 : Document Distribution Copy Number Name(Role, Title) Date

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

H3050(aap)

H3050(aap) USB Windows 7/ Vista 2 Windows XP English 1 2 3 4 Installation A. Headset B. Transmitter C. USB charging cable D. 3.5mm to USB audio cable - Before using the headset needs to be fully charged. -Connect

More information

본책- 부속물

본책- 부속물 PROGRAMMING RUBY PROGRAMMING RUBY : THE PRAGMATIC PROGRAMMER S GUIDE, 2nd Ed. Copyright c 2005 Published in the original in the English language by The Pragmatic Programmers, LLC, Lewisville. All rights

More information

LXR 설치 및 사용법.doc

LXR 설치 및 사용법.doc Installation of LXR (Linux Cross-Reference) for Source Code Reference Code Reference LXR : 2002512( ), : 1/1 1 3 2 LXR 3 21 LXR 3 22 LXR 221 LXR 3 222 LXR 3 3 23 LXR lxrconf 4 24 241 httpdconf 6 242 htaccess

More information

EMBARCADERO TECHNOLOGIES (Humphery Kim) RAD Studio : h=p://tech.devgear.co.kr/ : h=p://blog.hjf.pe.kr/ Facebook : h=p://d.com/hjfactory :

EMBARCADERO TECHNOLOGIES (Humphery Kim) RAD Studio : h=p://tech.devgear.co.kr/ : h=p://blog.hjf.pe.kr/ Facebook : h=p://d.com/hjfactory : #3 (RAD STUDIO) In www.devgear.co.kr 2016.05.23 EMBARCADERO TECHNOLOGIES (Humphery Kim) RAD Studio : h=p://tech.devgear.co.kr/ : h=p://blog.hjf.pe.kr/ Facebook : h=p://d.com/hjfactory : hskim@embarcadero.kr

More information

3주차_Core Audio_ key

3주차_Core Audio_ key iphone OS Sound Programming 5 Core Audio For iphone OS 2010-2 Dept. of Multimedia Science, Sookmyung Women's University JongWoo Lee 1 Index 1. Introduction 2. What is Core Audio? 3. Core Audio Essentials

More information

목차 본 취급설명서의 사용법 본 사용설명서에서는 제품상에 표시된 채널명 및 버튼명, 소프트웨어의 메뉴명 등이 대괄호 ([ ]) 안에 표시됩니 (예: [MASTER] 채널, [ON/ OFF], [File] 메뉴) 시작하시기 전에 특징...3 부속품...4 시작하시기 전에

목차 본 취급설명서의 사용법 본 사용설명서에서는 제품상에 표시된 채널명 및 버튼명, 소프트웨어의 메뉴명 등이 대괄호 ([ ]) 안에 표시됩니 (예: [MASTER] 채널, [ON/ OFF], [File] 메뉴) 시작하시기 전에 특징...3 부속품...4 시작하시기 전에 XDJAERO http://pioneerdj.com/support/ http://rekordbox.com/ 목차 본 취급설명서의 사용법 본 사용설명서에서는 제품상에 표시된 채널명 및 버튼명, 소프트웨어의 메뉴명 등이 대괄호 ([ ]) 안에 표시됩니 (예: [MASTER] 채널, [ON/ OFF], [File] 메뉴) 시작하시기 전에 특징...3 부속품...4

More information

2

2 2 3 4 5 6 7 8 9 10 11 60.27(2.37) 490.50(19.31) 256.00 (10.07) 165.00 111.38 (4.38) 9.00 (0.35) 688.00(27.08) 753.00(29.64) 51.94 (2.04) CONSOLE 24CH 32CH 40CH 48CH OVERALL WIDTH mm (inches) 1271.45(50.1)

More information

Microsoft PowerPoint - RPino-GOGO_datasheet.pptx

Microsoft PowerPoint - RPino-GOGO_datasheet.pptx RPino GOGO 사용자설명서 v1.0 Copyright c NulSom Inc. All Rights Reserved. 제품특징및사양 라즈베리파이 (RaspiberryPi) 에장착하여 PC 없이사용하는확장보드 Atmel사의 ATmega328P / 아두이노 (Arduino) 부트로더내장 라즈베리파이를통한아두이노스케치업로드가능 ( 스케치프로그램사용가능 ) 전용스케치로더

More information

BH의 아이폰 추천 어플

BH의 아이폰 추천 어플 BH의 아이폰 추천 어플 정병훈 소개글 목차 1 [BH의 아이폰 필수 앱] Pulse - 뉴스/웹사이트/RSS 모아주는 앱 4 2 [BH의 아이폰 필수 앱] Dropbox - n스크린 파일 공유 앱 (문서, 사진, 동영상 등) 12 3 [BH의 아이폰 필수 앱] 파노라마 사진찍기 Photosynth 17 4 [BH의 아이폰 필수 앱] 연락처 동기화 네이버 주소록

More information

(Asynchronous Mode) ( 1, 5~8, 1~2) & (Parity) 1 ; * S erial Port (BIOS INT 14H) - 1 -

(Asynchronous Mode) ( 1, 5~8, 1~2) & (Parity) 1 ; * S erial Port (BIOS INT 14H) - 1 - (Asynchronous Mode) - - - ( 1, 5~8, 1~2) & (Parity) 1 ; * S erial Port (BIOS INT 14H) - 1 - UART (Univ ers al As y nchronous Receiver / T rans mitter) 8250A 8250A { COM1(3F8H). - Line Control Register

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

TEL: 042-863-8301~3 FAX: 042-863-8304 5 6 6 6 6 7 7 8 8 9 9 10 10 10 10 10 11 12 12 12 13 14 15 14 16 17 17 18 1 8 9 15 1 8 9 15 9. REMOTE 9.1 Remote Mode 1) CH Remote Flow Set 0 2) GMate2000A

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

untitled

untitled CAN BUS RS232 Line Ethernet CAN H/W FIFO RS232 FIFO IP ARP CAN S/W FIFO TERMINAL Emulator COMMAND Interpreter ICMP TCP UDP PROTOCOL Converter TELNET DHCP C2E SW1 CAN RS232 RJ45 Power

More information

chapter1,2.doc

chapter1,2.doc JavaServer Pages Version 08-alpha copyright2001 B l u e N o t e all rights reserved http://jspboolpaecom vesion08-alpha, UML (?) part1part2 Part1 part2 part1 JSP Chapter2 ( ) Part 1 chapter 1 JavaServer

More information

01KRCOV-KR

01KRCOV-KR 4-234-236-71(1) Mini Hi-Fi Component System MHC-RG60 MHC-DX30/RG40 MHC-DX20/RG30 2001 Sony Corporation 1 1 (CLASS 1 LASER), 1 (CLASS 1 LASER PRODUCT MARKING) 2 4 5 CD 6 R6 (AA ) 8 8 8 CD 9 CD / / 9 CD

More information

3장

3장 C H A P T E R 03 CHAPTER 03 03-01 03-01-01 Win m1 f1 e4 e5 e6 o8 Mac m1 f1 s1.2 o8 Linux m1 f1 k3 o8 AJAX

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

고객 카드 현대모비스 제품을 구입해 주셔서 대단히 감사합니다. A/S 마크란? 공업 진흥청이 애프터 서비스가 우수한 업체를 선정, 지정하는 마크로 애프터 서비스 센터 운영관리 등 8개 분야 45개 항목의 까다로운 심사로 결정됩니다. 주의 : 본 제품의 디자인 및 규격은

고객 카드 현대모비스 제품을 구입해 주셔서 대단히 감사합니다. A/S 마크란? 공업 진흥청이 애프터 서비스가 우수한 업체를 선정, 지정하는 마크로 애프터 서비스 센터 운영관리 등 8개 분야 45개 항목의 까다로운 심사로 결정됩니다. 주의 : 본 제품의 디자인 및 규격은 CAR AUDIO SYSTEM 3XKRC07 AM100MDDG 사용설명서 ATYPE 고객 카드 현대모비스 제품을 구입해 주셔서 대단히 감사합니다. A/S 마크란? 공업 진흥청이 애프터 서비스가 우수한 업체를 선정, 지정하는 마크로 애프터 서비스 센터 운영관리 등 8개 분야 45개 항목의 까다로운 심사로 결정됩니다. 주의 : 본 제품의 디자인 및 규격은 제품의

More information

1

1 - - - Data Sheet Copyright2002, SystemBase Co, Ltd - 1 - A0 A1 A2 CS0#, CS1# CS2#, CS3# CTS0#, CTS1# CTS2, CTS3# D7~D3, D2~D0 DCD0#, DCD1# DCD2#, DCD3# DSR0#, DSR1# DSR2#, DSR3# DTR0#, DTR1# DTR2#, DTR3#

More information

HW5 Exercise 1 (60pts) M interpreter with a simple type system M. M. M.., M (simple type system). M, M. M., M.

HW5 Exercise 1 (60pts) M interpreter with a simple type system M. M. M.., M (simple type system). M, M. M., M. 오늘할것 5 6 HW5 Exercise 1 (60pts) M interpreter with a simple type system M. M. M.., M (simple type system). M, M. M., M. Review: 5-2 7 7 17 5 4 3 4 OR 0 2 1 2 ~20 ~40 ~60 ~80 ~100 M 언어 e ::= const constant

More information

106 107, ( ),, ( ), 3, int kor[5]; int eng[5]; int Microsoft Windows 4 (ANSI C2 ) int kor[5] 20 # define #define SIZE 20 int a[10]; char c[10]; float

106 107, ( ),, ( ), 3, int kor[5]; int eng[5]; int Microsoft Windows 4 (ANSI C2 ) int kor[5] 20 # define #define SIZE 20 int a[10]; char c[10]; float Part 2 31 32 33 106 107, ( ),, ( ), 3, int kor[5]; int eng[5]; int Microsoft Windows 4 (ANSI C2 ) int kor[5] 20 # define #define SIZE 20 int a[10]; char c[10]; float f[size]; /* 10 /* c 10 /* f 20 3 1

More information

[ 융합과학 ] 과학고 R&E 결과보고서 뇌파를이용한곤충제어 연구기간 : ~ 연구책임자 : 최홍수 ( 대구경북과학기술원 ) 지도교사 : 박경희 ( 부산일과학고 ) 참여학생 : 김남호 ( 부산일과학고 ) 안진웅 ( 부산일과학고 )

[ 융합과학 ] 과학고 R&E 결과보고서 뇌파를이용한곤충제어 연구기간 : ~ 연구책임자 : 최홍수 ( 대구경북과학기술원 ) 지도교사 : 박경희 ( 부산일과학고 ) 참여학생 : 김남호 ( 부산일과학고 ) 안진웅 ( 부산일과학고 ) [ 융합과학 ] 과학고 R&E 결과보고서 뇌파를이용한곤충제어 연구기간 : 2013. 3. 1 ~ 2014. 2. 28 연구책임자 : 최홍수 ( 대구경북과학기술원 ) 지도교사 : 박경희 ( 부산일과학고 ) 참여학생 : 김남호 ( 부산일과학고 ) 안진웅 ( 부산일과학고 ) 장은영 ( 부산일과학고 ) 정우현 ( 부산일과학고 ) 조아현 ( 부산일과학고 ) 1 -

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

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

행당중학교 감사 7급 12000001 ~ 12000616 성동구 왕십리로 189-2호선 한양대역 4번출구에서 도보로 3-4분 6721 윤중중학교 감사 7급 12000617 ~ 12000619 영등포구 여의동로 3길3 용강중학교 일반행정 9급 13000001 ~ 1300

행당중학교 감사 7급 12000001 ~ 12000616 성동구 왕십리로 189-2호선 한양대역 4번출구에서 도보로 3-4분 6721 윤중중학교 감사 7급 12000617 ~ 12000619 영등포구 여의동로 3길3 용강중학교 일반행정 9급 13000001 ~ 1300 2016년도 서울특별시 지방공무원 임용 필기시험 장소 시험장 교통편, 소요시간 등은 반드시 응시자 본인이 해당학교 인터넷 홈페이지 등을 통해 미리 꼭 확인 하시기 바랍니다 장애편의지원 대상자는 별도로 첨부된 엑셀파일에서 본인의 최종 편의지원 내역을 반드시 확인하시기 바랍니다. (장애편의지원 시험장 : 윤중중학교, 서울맹학교) 경신중학교 일반행정 7급 10001741

More information

Microsoft Word - FunctionCall

Microsoft Word - FunctionCall Function all Mechanism /* Simple Program */ #define get_int() IN KEYOARD #define put_int(val) LD A val \ OUT MONITOR int add_two(int a, int b) { int tmp; tmp = a+b; return tmp; } local auto variable stack

More information

chap7.key

chap7.key 1 7 C 2 7.1 C (System Calls) Unix UNIX man Section 2 C. C (Library Functions) C 1975 Dennis Ritchie ANSI C Standard Library 3 (system call). 4 C?... 5 C (text file), C. (binary file). 6 C 1. : fopen( )

More information

B _02_M_Ko.indd

B _02_M_Ko.indd DNX SERIES DNX560 DNX560M DDX SERIES DDX506 DDX506M B64-467-00/0 (MW) DNX560/DNX560M/DDX506/DDX506M 4 DNX560/DNX560M/DDX506/DDX506M NAV TEL AV OUT % % % % CD () : Folder : Audio fi 5 6 DNX560/DNX560M/DDX506/DDX506M

More information

λx.x (λz.λx.x z) (λx.x)(λz.(λx.x)z) (λz.(λx.x) z) Call-by Name. Normal Order. (λz.z)

λx.x (λz.λx.x z) (λx.x)(λz.(λx.x)z) (λz.(λx.x) z) Call-by Name. Normal Order. (λz.z) λx.x (λz.λx.x z) (λx.x)(λz.(λx.x)z) (λz.(λx.x) z) Call-by Name. Normal Order. (λz.z) Simple Type System - - 1+malloc(), {x:=1,y:=2}+2,... (stuck) { } { } ADD σ,m e 1 n 1,M σ,m e 1 σ,m e 2 n 2,M + e 2 n

More information

DRB1598A

DRB1598A DDJ-S1 http://www.prodjnet.com/support/ 본 파이오니어 제품을 구입해 주셔서 감사드립 본 취급설명서를 주의깊게 읽으시고, 갖고 계신 모델의 올바른 조작법을 익히십시오. 본 취급설 명서를 읽으신 후, 안전한 곳에 보관하셔서 나중에 참고하십시오. 일부 국가 또는 지역의 경우, 전원 플러그 및 콘센트의 형태가 설명의 그림에 보여지는

More information

GT-001_j

GT-001_j 취급설명서 주요 특징 새로워진 COSM 앰프 지금까지 축적해 온 톤 워크의 노하우를 담아 리모델링 했습니다. 기존의 빈티지 앰프 모델링을 넘는 더욱 진화한 COSM 앰프입니다. 투명한 클린 사운드로부터, 익스트림 하이 게인 사운드까지 앰프의 다이내믹스와 세세한 뉘앙스까지 피킹 하나로 마음대로 조정할 수 있습니다. 테이블탑용 소형 사이즈 USB 오디오 인터페이스

More information

슬라이드 제목 없음

슬라이드 제목 없음 < > Target cross compiler Target code Target Software Development Kit (SDK) T-Appl T-Appl T-VM Cross downloader Cross debugger Case 1) Serial line Case 2) LAN line LAN line T-OS Target debugger Host System

More information

hwp

hwp 100% Concentration rate (%) 95% 90% 85% 80% 0.5 1.5 2.5 3.5 4.5 5.5 6.5 7.5 Time (min) Control box of RS485 Driving part Control trigger Control box of driving car Diaphragm Lens of camera Illumination

More information

CANTUS Evaluation Board Ap. Note

CANTUS Evaluation Board Ap. Note Preliminary CANTUS - UART - 32bits EISC Microprocessor CANTUS Ver 1. October 8, 29 Advanced Digital Chips Inc. Ver 1. PRELIMINARY CANTUS Application Note( EVM B d ) History 29-1-8 Created Preliminary Specification

More information

Microsoft PowerPoint - PL_03-04.pptx

Microsoft PowerPoint - PL_03-04.pptx Copyright, 2011 H. Y. Kwak, Jeju National University. Kwak, Ho-Young http://cybertec.cheju.ac.kr Contents 1 프로그래밍 언어 소개 2 언어의 변천 3 프로그래밍 언어 설계 4 프로그래밍 언어의 구문과 구현 기법 5 6 7 컴파일러 개요 변수, 바인딩, 식 및 제어문 자료형 8

More information

140307(00)(1~5).indd

140307(00)(1~5).indd 대한민국정부 제18218호 2014. 3. 7.(금) 부 령 보건복지부령제233호(영유아보육법 시행규칙 일부개정령) 6 고 시 미래창조과학부고시제2014-21호(학생인건비 통합관리지침 일부개정) 9 교육부고시제2014-70호(검 인정도서 가격 조정 명령을 위한 항목별 세부사항) 11 법무부고시제2014-66호(국적상실) 15 법무부고시제2014-67호(국적상실)

More information

Copyright 2004 Sun Microsystems, Inc Network Circle, Santa Clara, CA U.S.A..,,. Sun. Sun. Berkeley BSD. UNIX X/Open Company, Ltd.. Sun, Su

Copyright 2004 Sun Microsystems, Inc Network Circle, Santa Clara, CA U.S.A..,,. Sun. Sun. Berkeley BSD. UNIX X/Open Company, Ltd.. Sun, Su Java Desktop System 2 Sun Microsystems, Inc. 4150 Network Circle Santa Clara, CA 95054 U.S.A. : 817 7757 10 2004 9 Copyright 2004 Sun Microsystems, Inc. 4150 Network Circle, Santa Clara, CA 95054 U.S.A..,,.

More information

2011년 10월 초판 c 2011 Sony Corporation. All rights reserved. 서면 허가 없이 전체 또는 일부를 복제하는 것을 금합니다. 기능 및 규격은 통보 없이 변경될 수 있습니다. Sony와 Sony 로고는 Sony의 상표입니다. G L

2011년 10월 초판 c 2011 Sony Corporation. All rights reserved. 서면 허가 없이 전체 또는 일부를 복제하는 것을 금합니다. 기능 및 규격은 통보 없이 변경될 수 있습니다. Sony와 Sony 로고는 Sony의 상표입니다. G L HXR-NX3D1용 3D 워크플로 가이드북 2011년 10월 초판 c 2011 Sony Corporation. All rights reserved. 서면 허가 없이 전체 또는 일부를 복제하는 것을 금합니다. 기능 및 규격은 통보 없이 변경될 수 있습니다. Sony와 Sony 로고는 Sony의 상표입니다. G Lens, Exmor, InfoLITHIUM, Memory

More information

IM-20 4 5 6 7 8 9 10 11 12 Power On Power Off 13 1 4 15 16 17 18 19 20 21 22 23 24 25 26 2 7 28 29 30 31 3 2 Music Voice Settings Delete EQ Repeat LCD Contrast Auto OFF Rec Sample BackLight Return Normal

More information

歯Enet_목차_.PDF

歯Enet_목차_.PDF GLOFA-GM - TCP ( ) 1) IEC(International Electrotechnical Commission : ), 2), 2,.,. RUN CPU I/F RUN FB-SERVICE HS-SERVICE GMWIN-SERV GLOFA-SERV FTP-SERVICE H/W ERROR 10B5 enable 10B2 enable 10BT

More information

라즈베리파이 프로그래밍_130912(최종).indd

라즈베리파이 프로그래밍_130912(최종).indd 파이썬으로 시작하는 라즈베리 파이 프로그래밍 Programming the Raspberry Pi Getting Started with Python Programming the Raspberry Pi: Getting Started with Python, 1st Edition. Korean Language Edition Copyright 2013 by McGraw-Hill

More information

. "" "",.... :...,,....,.. :..,,,..,,...,.... 2

.  ,.... :...,,....,.. :..,,,..,,...,.... 2 RD-5405 /.. . "" "",.... :...,,....,.. :..,,,..,,...,.... 2 ..,,..,.. (,,,, )......,...,., ( ),,,,.,. (, )..,...... BD/DVD CD TV, VCR,........ (+, -).,,..... 3 ... 2... 3....3... 5... 9... 10...11...11...

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

PowerPoint Template

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

More information

본문서는 초급자들을 대상으로 최대한 쉽게 작성하였습니다. 본문서에서는 설치방법만 기술했으며 자세한 설정방법은 검색을 통하시기 바랍니다. 1. 설치개요 워드프레스는 블로그 형태의 홈페이지를 빠르게 만들수 있게 해 주는 프로그램입니다. 다양한 기능을 하는 플러그인과 디자인

본문서는 초급자들을 대상으로 최대한 쉽게 작성하였습니다. 본문서에서는 설치방법만 기술했으며 자세한 설정방법은 검색을 통하시기 바랍니다. 1. 설치개요 워드프레스는 블로그 형태의 홈페이지를 빠르게 만들수 있게 해 주는 프로그램입니다. 다양한 기능을 하는 플러그인과 디자인 스마일서브 CLOUD_Virtual 워드프레스 설치 (WORDPRESS INSTALL) 스마일서브 가상화사업본부 Update. 2012. 09. 04. 본문서는 초급자들을 대상으로 최대한 쉽게 작성하였습니다. 본문서에서는 설치방법만 기술했으며 자세한 설정방법은 검색을 통하시기 바랍니다. 1. 설치개요 워드프레스는 블로그 형태의 홈페이지를 빠르게 만들수 있게

More information

<C0CCBCBCBFB52DC1A4B4EBBFF82DBCAEBBE7B3EDB9AE2D313939392D382E687770>

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

More information

1. SNS Topic 생성여기를클릭하여펼치기... Create Topic 실행 Topic Name, Display name 입력후 Create topic * Topic name : 특수문자는 hyphens( - ), underscores( _ ) 만허용한다. Topi

1. SNS Topic 생성여기를클릭하여펼치기... Create Topic 실행 Topic Name, Display name 입력후 Create topic * Topic name : 특수문자는 hyphens( - ), underscores( _ ) 만허용한다. Topi 5 주차 - AWS 실습 - SNS 시나리오 1. SNS Topic 생성 2. 3. 4. 5. Subscriptions 생성및 Confirm [ Email Test ] Message 발송 코드로보기 번외 ) SMS 발송하기 실습준비 HTML 파일, AWS 계정및 secretaccesskey, accesskeyid 간단설명 1. 2. 3. 4. SNS : 이메일,

More information

11강-힙정렬.ppt

11강-힙정렬.ppt 11 (Heap ort) leejaku@shinbiro.com Topics? Heap Heap Opeations UpHeap/Insert, DownHeap/Extract Binary Tree / Index Heap ort Heap ort 11.1 (Priority Queue) Operations ? Priority Queue? Priority Queue tack

More information

메모 Page 2

메모 Page 2 dx-usb Rev 1.2 Operating Instructions 메모 Page 2 주의 사항 및 A/S정보 사용자 주의 사항 반드시 본 사용설명서를 모두 읽은 후 제품을 사용하십시오. 제품의 분해, 개조등을 하지 마십시오. 제품에 진동, 충격을 가하지 마십시오. 손상 되거나 피복이 벗겨진 cable은 사용하지 마십시오. USB cable은 반드시 USB

More information

5.스택(강의자료).key

5.스택(강의자료).key CHP 5: https://www.youtube.com/watch?v=ns-r91557ds ? (stack): (LIFO:Last-In First-Out):. D C B C B C B C B (element) C (top) B (bottom) (DT) : n element : create() ::=. is_empty(s) ::=. is_full(s) ::=.

More information

10X56_NWG_KOR.indd

10X56_NWG_KOR.indd 디지털 프로젝터 X56 네트워크 가이드 이 제품을 구입해 주셔서 감사합니다. 본 설명서는 네트워크 기능 만을 설명하기 위한 것입니다. 본 제품을 올바르게 사 용하려면 이 취급절명저와 본 제품의 다른 취급절명저를 참조하시기 바랍니다. 중요한 주의사항 이 제품을 사용하기 전에 먼저 이 제품에 대한 모든 설명서를 잘 읽어 보십시오. 읽은 뒤에는 나중에 필요할 때

More information

슬라이드 1

슬라이드 1 QR 코드를통한간편로그인 2018. 11. 7 지도교수 : 이병천교수님 4 조 Security-M 지승우이승용박종범백진이 목 차 조원편성 주제선정 비밀번호가뭐였지? 이런일없이조금더쉽게로그인할수있는방법은없을까? 주제선정 ID와패스워드에의한로그인방식의획기적인변화필요 문자형 ID와패스워드 QR Code 등활용 간편한타겟인식및암기식보안체계의불편극복 인증방식의간소화로다양한분야에서활용가능

More information

s SINUMERIK 840C Service and User Manual DATA SAVING & LOADING & & /

s SINUMERIK 840C Service and User Manual DATA SAVING & LOADING & & / SINUMERIK 840C Service and Uer Manual DATA SAVING & LOADING & & / / NC, RS232C /. NC NC / Computer link () Device ( )/PC / / Print erial Data input RS232C () Data output Data management FLOPPY DRIVE, FLOPPY

More information

ITVX-A-C1

ITVX-A-C1 5.0MPa New RoHS 5.0 5.0MPa 5.0MPa 0.01 3.0 0.01 3.0MPa 3000 3000L/min ANR 5.0MPa3.0MPa Ar N2 N2O2ArO2 O2 P.2. 3W ITVX Series CAT.KS60-21A 5.0MPa ITVX2000 Series RoHS ITVX2 030 0 1 3 S 2 ITVX2000 0 ) )

More information

Microsoft PowerPoint - 기계공학실험1-1MATLAB_개요2D.pptx

Microsoft PowerPoint - 기계공학실험1-1MATLAB_개요2D.pptx 1. MATLAB 개요와 활용 기계공학실험 I 2013년 2학기 MATLAB 시작하기 이장의내용 MATLAB의여러창(window)들의 특성과 목적 기술 스칼라의 산술연산 및 기본 수학함수의 사용. 스칼라 변수들(할당 연산자)의 정의 및 변수들의 사용 방법 스크립트(script) 파일에 대한 소개와 간단한 MATLAB 프로그램의 작성, 저장 및 실행 MATLAB의특징

More information