SDK ์—ฐ๋™

๐Ÿ‘

@hackler/hackle-sdk๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ๊ณ„์‹œ๋‹ค๋ฉด, @hackler/javascript-sdk๋กœ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜ ํ•ด์•ผํ•ฉ๋‹ˆ๋‹ค.


SDK ์˜์กด์„ฑ ์ถ”๊ฐ€

npm install --save @hackler/javascript-sdk
yarn add @hackler/javascript-sdk


SDK ์ดˆ๊ธฐํ™”

hackleClient๋Š” SDK ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•œ ๋ฉ”์†Œ๋“œ๋“ค์„ ์ œ๊ณตํ•˜๋Š” ํด๋ž˜์Šค์ž…๋‹ˆ๋‹ค.

SDK ๋ฅผ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” hackleClient ์ดˆ๊ธฐํ™”๊ฐ€ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.

์ธ์Šคํ„ด์Šคํ™”

SDK ํ‚ค๋ฅผ ์ „๋‹ฌํ•˜์—ฌ hackleClient๋ฅผ ์ธ์Šคํ„ด์Šคํ™” ํ•ฉ๋‹ˆ๋‹ค.
hackleClient๋Š” ํ•„์š”ํ•œ ์ •๋ณด๋“ค์„ ์–ป๊ธฐ ์œ„ํ•ด ๋ฐฑ๊ทธ๋ผ์šด๋“œ ์ž‘์—…์œผ๋กœ ํ•ตํด ์„œ๋ฒ„์™€ ์ฃผ๊ธฐ์ ์œผ๋กœ ๋™๊ธฐํ™”ํ•ฉ๋‹ˆ๋‹ค.

  • SDK ํ‚ค๋Š” ํ•ตํด ์„œ๋น„์Šค์˜ ๋Œ€์‹œ๋ณด๋“œ ์•ˆ์— ์œ„์น˜ํ•œ SDK ์—ฐ๋™ ์ •๋ณด์—์„œ ํ™•์ธํ•˜์‹ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
const Hackle = require("@hackler/javascript-sdk");

// YOUR_SERVER_SDK_KEY ์ž๋ฆฌ์— SDK ํ‚ค๋ฅผ ๋„ฃ์Šต๋‹ˆ๋‹ค.
const hackleClient = Hackle.createInstance("YOUR_SERVER_SDK_KEY");

์ดˆ๊ธฐํ™” ์™„๋ฃŒ

SDK ์ดˆ๊ธฐํ™” ์‹œ ํ•ตํด ์„œ๋ฒ„๋กœ๋ถ€ํ„ฐ ํ•„์š”ํ•œ ์ •๋ณด๋“ค์„ ๊ฐ€์ ธ์˜ต๋‹ˆ๋‹ค.

์ดˆ๊ธฐํ™”๋Š” ๋น„๋™๊ธฐ๋กœ ์ง„ํ–‰๋˜๋ฉฐ onReady๋กœ ์ดˆ๊ธฐํ™” ์™„๋ฃŒ ์ฝœ๋ฐฑ์„ ๋ฐ›์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๐Ÿšง

SDK๊ฐ€ ์ค€๋น„๋˜๊ธฐ ์ „ ์‚ฌ์šฉ์ž ์š”์ฒญ์ด ๋“ค์–ด์˜ค๋ฉด ๋ฐ์ดํ„ฐ๊ฐ€ ๋ˆ„๋ฝ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

hackleClient.onReady(() => {
  // SDK ready to use
  http.createServer((req, res) => {
  	
  }).listen(3000)
});


์ข…๋ฃŒ

์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜์ด ์ข…๋ฃŒ๋  ๋•Œ close() ๋ฉ”์†Œ๋“œ๋ฅผ ํ˜ธ์ถœํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
์ด ๊ณผ์ •์„ ํ†ตํ•ด ์‚ฌ์šฉ ์ค‘์ธ ๋ฆฌ์†Œ์Šค๋ฅผ ๋ฐ˜๋‚ฉํ•˜๊ณ  ๋‚จ์•„์žˆ๋Š” ์ด๋ฒคํŠธ๋ฅผ ์ „์†กํ•ฉ๋‹ˆ๋‹ค.

โ—๏ธ

close() ํ˜ธ์ถœ ์—†์ด ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜์ด ์ข…๋ฃŒ๋˜๋ฉด ์ด๋ฒคํŠธ๊ฐ€ ๋ˆ„๋ฝ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

process.on('SIGINT', function() {
  // kill signal
  hackleClient.close();
});