เดธเตเดฑเตเดฑเต‹เตผเด•เตเด•เดฟเตพ - เดตเดฟเด•เต‡เดจเตเดฆเตเดฐเต€เด•เตƒเดค เดซเดฏเตฝ เดธเด‚เดญเดฐเดฃเด‚

เดธเตเดฑเตเดฑเต‹เตผเด•เตเด•เดฟเตพ - เดตเดฟเด•เต‡เดจเตเดฆเตเดฐเต€เด•เตƒเดค เดซเดฏเตฝ เดธเด‚เดญเดฐเดฃเด‚

เดžเดพเตป เด†เดฐเด‚เดญเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดจเต เดฎเตเดฎเตเดชเต, เดŽเดจเดฟเด•เตเด•เต เดชเต‹เด•เดฃเด‚ เดฎเตเตป เดฒเต‡เด–เดจเดคเตเดคเดฟเดฒเต‡เด•เตเด•เตเดณเตเดณ เดฒเดฟเด™เตเด•เตเด…เดคเดฟเดจเดพเตฝ เดจเดฎเตเดฎเตพ เด•เตƒเดคเตเดฏเดฎเดพเดฏเดฟ เดŽเดจเตเดคเดพเดฃเต เดธเด‚เดธเดพเดฐเดฟเด•เตเด•เตเดจเตเดจเดคเต†เดจเตเดจเต เดตเตเดฏเด•เตเดคเดฎเดพเด•เตเด‚.

เดˆ เดฒเต‡เด–เดจเดคเตเดคเดฟเตฝ, เดซเดฏเดฒเตเด•เตพ เดธเด‚เดญเดฐเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดจเต เด‰เดคเตเดคเดฐเดตเดพเดฆเดฟเดคเตเดคเดฎเตเดณเตเดณ เดฒเต†เดฏเตผ เดจเต‹เด•เตเด•เดพเดจเตเด‚ เด…เดคเต เด†เตผเด•เตเด•เตเด‚ เดŽเด™เตเด™เดจเต† เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เดพเดฎเต†เดจเตเดจเตเด‚ เดจเต‹เด•เตเด•เดพเตป เดžเดพเตป เด†เด—เตเดฐเดนเดฟเด•เตเด•เตเดจเตเดจเต. เดธเตโ€Œเดฑเตเดฑเต‹เดฑเดพเด•เตเด•เดฟเตพ เด’เดฐเต เด’เดฑเตเดฑเดชเตเดชเต†เดŸเตเดŸ เดฒเตˆเดฌเตเดฐเดฑเดฟเดฏเดพเดฃเต, เดธเด‚เด—เต€เดคเดตเตเดฎเดพเดฏเดฟ เดจเต‡เดฐเดฟเดŸเตเดŸเต เดฌเดจเตเดงเดฎเดฟเดฒเตเดฒ. เดจเดฟเด™เตเด™เตพเด•เตเด•เต เดเดคเต เดซเดฏเดฒเตเด•เดณเตเดŸเต†เดฏเตเด‚ เดธเด‚เดญเดฐเดฃเด‚ เด•เตเดฐเดฎเต€เด•เดฐเดฟเด•เตเด•เดพเด‚.

เดฎเตเดฎเตเดชเดคเตเดคเต† เดฒเต‡เด–เดจเดคเตเดคเดฟเตฝ, เดžเดพเตป "เดฌเดพเดฐเตฝ เด‰เดฐเตเดŸเตเดŸเดฟ" เด…เดฒเตเดชเด‚ ipfs, เดŽเดจเตเดจเดพเตฝ เด‡เดคเต เดžเดพเตป เดชเดฐเดฟเดนเดฐเดฟเด•เตเด•เตเดจเตเดจ เดชเตเดฐเดถเตเดจเดคเตเดคเดฟเดจเตเดฑเต† เดชเดถเตเดšเดพเดคเตเดคเดฒเดคเตเดคเดฟเตฝ เด•เตƒเดคเตเดฏเดฎเดพเดฏเดฟ เดธเด‚เดญเดตเดฟเดšเตเดšเต. เดฎเตŠเดคเตเดคเดคเตเดคเดฟเตฝ, เดˆ เดชเตเดฐเต‹เดœเด•เตเดฑเตเดฑเต เดฐเดธเด•เดฐเดฎเดพเดฃเต†เดจเตเดจเต เดžเดพเตป เด•เดฐเตเดคเตเดจเตเดจเต. เดตเตเดฏเดคเตเดฏเดธเตเดค เดœเต‹เดฒเดฟเด•เตพเด•เตเด•เดพเดฏเดฟ เดตเตเดฏเดคเตเดฏเดธเตเดค เดจเต†เดฑเตเดฑเตโ€Œเดตเตผเด•เตเด•เตเด•เตพ เดธเตƒเดทเตเดŸเดฟเด•เตเด•เดพเดจเตเดณเตเดณ เด•เดดเดฟเดตเดพเดฃเต เดžเดพเตป เด‡เดทเตเดŸเดชเตเดชเต†เดŸเตเดจเตเดจเดคเต. เด˜เดŸเดจเดฏเต† เดฎเดฟเด•เดšเตเดš เดฐเต€เดคเดฟเดฏเดฟเตฝ เด“เตผเด—เดจเตˆเดธเตเดšเต†เดฏเตเดฏเดพเดจเตเด‚ เดตเตเดฏเด•เตเดคเดฟเด—เดค เดจเต‹เดกเตเด•เดณเดฟเดฒเตเด‚ เดจเต†เดฑเตเดฑเตโ€Œเดตเตผเด•เตเด•เดฟเดฒเตเด‚ เดฎเตŠเดคเตเดคเดคเตเดคเดฟเตฝ เดฒเต‹เดกเต เด•เตเดฑเดฏเตเด•เตเด•เดพเดจเตเด‚ เด‡เดคเต เดจเดฟเด™เตเด™เดณเต† เด…เดจเตเดตเดฆเดฟเด•เตเด•เตเดจเตเดจเต. เด’เดฐเต เดชเตเดฐเต‹เดœเด•เตเดฑเตเดฑเดฟเดจเตเดฑเต† เดšเดŸเตเดŸเด•เตเด•เต‚เดŸเดฟเดจเตเดณเตเดณเดฟเตฝ เดชเต‹เดฒเตเด‚, เด†เดตเดถเตเดฏเดฎเต†เด™เตเด•เดฟเตฝ, เดšเดฟเดฒ เดฎเดพเดจเดฆเดฃเตเดกเด™เตเด™เตพเด•เตเด•เดจเตเดธเตƒเดคเดฎเดพเดฏเดฟ เดจเดฟเด™เตเด™เตพเด•เตเด•เต เดจเต†เดฑเตเดฑเตเดตเตผเด•เตเด•เดฟเดจเต† เด•เดทเดฃเด™เตเด™เดณเดพเดฏเดฟ เดตเดฟเดญเดœเดฟเด•เตเด•เดพเด‚, เดฎเตŠเดคเตเดคเดคเตเดคเดฟเดฒเตเดณเตเดณ เดฒเต‹เดกเต เด•เตเดฑเดฏเตเด•เตเด•เตเด•.

เด…เดคเดฟเดจเดพเตฝ เดธเตเดฑเตเดฑเต‹เตผเด•เตเด•เดฟเตพ เดฎเต†เด•เตเด•เดพเดจเดฟเดธเด‚ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเดจเตเดจเต เดตเตเดฏเดพเดชเดฟเดชเตเดชเดฟเด•เตเด•เดพเดตเตเดจเตเดจ เด’เดฐเต เดจเต†เดฑเตเดฑเตโ€Œเดตเตผเด•เตเด•เต เดธเด‚เด˜เดŸเดฟเดชเตเดชเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดจเต. เดชเตเดฐเดงเดพเดจ เดธเดตเดฟเดถเต‡เดทเดคเด•เตพ:

  • เดเดคเต เดจเต‹เดกเดฟเดฒเต‚เดŸเต†เดฏเตเด‚ เดซเดฏเดฒเตเด•เตพ เดฑเดฟเดชเตเดชเต‹เดธเดฟเดฑเตเดฑเดฑเดฟเดฏเดฟเดฒเต‡เด•เตเด•เต เดšเต‡เตผเด•เตเด•เดพเด‚.
  • เดซเดฏเดฒเตเด•เตพ เดชเต‚เตผเดฃเตเดฃเดฎเดพเดฏเดฟ เดธเด‚เดฐเด•เตเดทเดฟเด•เตเด•เดชเตเดชเต†เดŸเตเดจเตเดจเต, เดฌเตเดฒเต‹เด•เตเด•เตเด•เดณเดฟเดฒเดฒเตเดฒ.
  • เด“เดฐเต‹ เดซเดฏเดฒเดฟเดจเตเด‚ เด…เดคเดฟเดจเตเดฑเต‡เดคเดพเดฏ เดคเดจเดคเดพเดฏ เด‰เดณเตเดณเดŸเด•เตเด• เดนเดพเดทเต เด‰เดฃเตเดŸเต, เด…เดคเตเดฎเดพเดฏเดฟ เด•เต‚เดŸเตเดคเตฝ เดชเตเดฐเดตเตผเดคเตเดคเดฟเด•เตเด•เดพเตป.
  • เด•เต‚เดŸเตเดคเตฝ เดตเดฟเดถเตเดตเดพเดธเตเดฏเดคเดฏเตเด•เตเด•เดพเดฏเดฟ เดซเดฏเดฒเตเด•เตพ เดกเตเดฏเต‚เดชเตเดฒเดฟเด•เตเด•เต‡เดฑเตเดฑเต เดšเต†เดฏเตเดฏเดพเด‚
  • เด’เดฐเต เดจเต‹เดกเดฟเดฒเต† เดซเดฏเดฒเตเด•เดณเตเดŸเต† เดŽเดฃเตเดฃเด‚ เดซเดฏเตฝ เดธเดฟเดธเตเดฑเตเดฑเด‚ เดฎเดพเดคเตเดฐเด‚ เดชเดฐเดฟเดฎเดฟเดคเดชเตเดชเต†เดŸเตเดคเตเดคเดฟเดฏเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเต (เด’เดฐเต เด…เดชเดตเดพเดฆเด‚ เด‰เดฃเตเดŸเต, เด…เดคเดฟเตฝ เด•เต‚เดŸเตเดคเตฝ เดคเดพเดดเต†)
  • เดจเต†เดฑเตเดฑเตโ€Œเดตเตผเด•เตเด•เดฟเดฒเต† เดธเดพเดงเตเดตเดพเดฏ เดจเต‹เดกเตเด•เดณเตเดŸเต† เดŽเดฃเตเดฃเด‚ เด…เดจเตเดธเดฐเดฟเดšเตเดšเต เดจเต†เดฑเตเดฑเตโ€Œเดตเตผเด•เตเด•เดฟเดฒเต† เดซเดฏเดฒเตเด•เดณเตเดŸเต† เดŽเดฃเตเดฃเด‚ เดชเดฐเดฟเดฎเดฟเดคเดชเตเดชเต†เดŸเตเดคเตเดคเดฟเดฏเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเต, เดฐเดฃเตเดŸเดพเดฎเดคเตเดคเต† เดชเดคเดฟเดชเตเดชเดฟเตฝ เด…เดจเดจเตเดคเดฎเดพเดฏ เดจเต‹เดกเตเด•เดณเดฟเตฝ เดชเตเดฐเดตเตผเดคเตเดคเดฟเด•เตเด•เดพเตป เด•เดดเดฟเดฏเตเด‚ (เด‡เดคเดฟเดจเต†เด•เตเด•เตเดฑเดฟเดšเตเดšเต เด•เต‚เดŸเตเดคเตฝ เดฎเดฑเตเดฑเตŠเดฐเต เดฒเต‡เด–เดจเดคเตเดคเดฟเตฝ)

เดชเตเดฐเต‹เด—เตเดฐเดพเดฎเดฟเตฝ เดจเดฟเดจเตเดจเต เด‡เดคเต เดธเดพเดงเดพเดฐเดฃเดฏเดพเดฏเดฟ เดŽเด™เตเด™เดจเต† เดชเตเดฐเดตเตผเดคเตเดคเดฟเด•เตเด•เตเดจเตเดจเต เดŽเดจเตเดจเดคเดฟเดจเตเดฑเต† เด’เดฐเต เดฒเดณเดฟเดคเดฎเดพเดฏ เด‰เดฆเดพเดนเดฐเดฃเด‚:

เดธเต†เตผเดตเตผ:

const  Node = require('storacle').Node;

(async () => {
  try {
    const node = new Node({
      port: 4000,
      hostname: 'localhost'
    });
    await node.init();
  }
  catch(err) {
    console.error(err.stack);
    process.exit(1);
  }
})();

เด‰เดชเดญเต‹เด•เตเดคเดพเดตเต:

const  Client = require('storacle').Client;

(async () => {
  try {
    const client = new  Client({
      address: 'localhost:4000'
    });
    await client.init();
    const hash = await client.storeFile('./my-file');
    const link = await client.getFileLink(hash); 
    await client.removeFile(hash);
  }
  catch(err) {
    console.error(err.stack);
    process.exit(1);
  }
})();

เด‰เดณเตเดณเดฟเดฒเต† เด•เดพเดดเตเดš

เด•เดŸเตเดŸเดฟเดฒเดฟเดจเดŸเดฟเดฏเดฟเตฝ เดฎเดจเต‹เดนเดฐเดฎเดพเดฏเดฟ เด’เดจเตเดจเตเดฎเดฟเดฒเตเดฒ. เดซเดฏเดฒเตเด•เดณเตเดŸเต† เดŽเดฃเตเดฃเด‚, เด…เดตเดฏเตเดŸเต† เด†เด•เต† เดตเดฒเตเดชเตเดชเด‚, เดฎเดฑเตเดฑเต เดชเต‹เดฏเดฟเดจเตเดฑเตเด•เตพ เดŽเดจเตเดจเดฟเดตเดฏเต† เด•เตเดฑเดฟเดšเตเดšเตเดณเตเดณ เดตเดฟเดตเดฐเด™เตเด™เตพ เด‡เตป-เดฎเต†เดฎเตเดฎเดฑเดฟ เดกเดพเดฑเตเดฑเดพเดฌเต‡เดธเดฟเตฝ เดธเด‚เดญเดฐเดฟเด•เตเด•เตเด•เดฏเตเด‚ เดซเดฏเดฒเตเด•เตพ เด‡เดฒเตเดฒเดพเดคเดพเด•เตเด•เตเด•เดฏเตเด‚ เดšเต‡เตผเด•เตเด•เตเด•เดฏเตเด‚ เดšเต†เดฏเตเดฏเตเดฎเตเดชเต‹เตพ เด…เดชเตเดกเต‡เดฑเตเดฑเต เดšเต†เดฏเตเดฏเตเด•เดฏเตเด‚ เดšเต†เดฏเตเดฏเตเดจเตเดจเต, เด…เดคเดฟเดจเดพเตฝ เดซเดฏเตฝ เดธเดฟเดธเตเดฑเตเดฑเดคเตเดคเดฟเดฒเต‡เด•เตเด•เต เด‡เดŸเดฏเตเด•เตเด•เดฟเดŸเต† เด†เด•เตเดธเดธเต เดšเต†เดฏเตเดฏเต‡เดฃเตเดŸ เด†เดตเดถเตเดฏเดฎเดฟเดฒเตเดฒ. เด’เดฐเต เดจเดฟเดถเตเดšเดฟเดค เดธเตโ€Œเดฑเตเดฑเต‹เดฑเต‡เดœเต เดตเดฒเตเดชเตเดชเดคเตเดคเดฟเตฝ เดŽเดคเตเดคเตเดฎเตเดชเต‹เตพ เดซเดฏเดฒเตเด•เตพ เดชเตเดฐเดšเดฐเดฟเดชเตเดชเดฟเด•เตเด•เต‡เดฃเตเดŸเดฟเดตเดฐเตเดฎเตเดชเต‹เตพ เดฎเดพเดฒเดฟเดจเตเดฏ เดถเต‡เด–เดฐเดฃเดคเตเดคเต† เดชเตเดฐเดตเตผเดคเตเดคเดจเด•เตเดทเดฎเดฎเดพเด•เตเด•เตเดจเตเดจเดคเดพเดฃเต เด’เดฐเต เด…เดชเดตเดพเดฆเด‚, เดชเตเดคเดฟเดฏเดต เดšเต‡เตผเด•เตเด•เตเดจเตเดจเดคเต เดจเดฟเดฐเต‹เดงเดฟเด•เตเด•เดฐเตเดคเต. เดˆ เดธเดพเดนเดšเดฐเตเดฏเดคเตเดคเดฟเตฝ, เดจเดฟเด™เตเด™เตพ เดธเด‚เดญเดฐเดฃเดคเตเดคเต† เดฎเดฑเดฟเด•เดŸเด•เตเด•เต‡เดฃเตเดŸเดคเตเดฃเตเดŸเต, เด•เต‚เดŸเดพเดคเต† เดงเดพเดฐเดพเดณเด‚ เดซเดฏเดฒเตเด•เตพ (> เด’เดฐเต เดฆเดถเดฒเด•เตเดทเด‚ เดŽเดจเตเดจเต เดชเดฑเดฏเตเด•) เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต เดชเตเดฐเดตเตผเดคเตเดคเดฟเด•เตเด•เตเดจเตเดจเดคเต เด•เดพเดฐเตเดฏเดฎเดพเดฏ เดฒเต‹เดกเตเด•เดณเดฟเดฒเต‡เด•เตเด•เต เดจเดฏเดฟเดšเตเดšเต‡เด•เตเด•เดพเด‚. เด•เตเดฑเดšเตเดšเต เดซเดฏเดฒเตเด•เตพ เดธเด‚เดญเดฐเดฟเด•เตเด•เตเด•เดฏเตเด‚ เด•เต‚เดŸเตเดคเตฝ เดจเต‹เดกเตเด•เตพ เดชเตเดฐเดตเตผเดคเตเดคเดฟเดชเตเดชเดฟเด•เตเด•เตเด•เดฏเตเด‚ เดšเต†เดฏเตเดฏเตเดจเตเดจเดคเดพเดฃเต เดจเดฒเตเดฒเดคเต. "เด•เตเดฒเต€เดจเตผ" เด…เดชเตเดฐเดพเดชเตเดคเดฎเดพเด•เตเด•เดฟเดฏเดพเตฝ, เด…เดคเตเดคเดฐเดฎเตŠเดฐเต เดชเตเดฐเดถเตเดจเดฎเดฟเดฒเตเดฒ.

เดซเดฏเตฝ เดธเด‚เดญเดฐเดฃเดคเตเดคเดฟเตฝ 256 เดซเต‹เตพเดกเดฑเตเด•เดณเตเด‚ 2 เดฒเต†เดตเตฝ เดจเต†เดธเตเดฑเตเดฑเดฟเด‚เด—เตเด‚ เด…เดŸเด™เตเด™เดฟเดฏเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเต. เดซเดฏเดฒเตเด•เตพ เดฐเดฃเตเดŸเดพเด‚ เดฒเต†เดตเตฝ เดซเต‹เตพเดกเดฑเตเด•เดณเดฟเตฝ เดธเต‚เด•เตเดทเดฟเด•เตเด•เตเดจเตเดจเต. เด…เดคเดพเดฏเดคเต, 1 เดฆเดถเดฒเด•เตเดทเด‚ เด‰เดฃเตเดŸเต†เด™เตเด•เดฟเตฝ. เด…เดคเตเดคเดฐเด‚ เด“เดฐเต‹ เดซเต‹เตพเดกเดฑเดฟเดฒเตเด‚ เดเด•เดฆเต‡เดถเด‚ 62500 เดซเดฏเดฒเตเด•เตพ เด‰เดฃเตเดŸเดพเด•เตเด‚ (1000000 / sqrt(256)).

เดซเดฏเตฝ เดนเดพเดทเดฟเตฝ เดจเดฟเดจเตเดจเดพเดฃเต เดซเต‹เตพเดกเตผ เดจเดพเดฎเด™เตเด™เตพ เดฐเต‚เดชเต€เด•เดฐเดฟเดšเตเดšเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเดคเต, เด…เดคเดฟเดจเดพเตฝ เดจเดฟเด™เตเด™เตพเด•เตเด•เต เดนเดพเดทเต เด…เดฑเดฟเดฏเดพเดฎเต†เด™เตเด•เดฟเตฝ เด…เดคเต เดตเต‡เด—เดคเตเดคเดฟเตฝ เด†เด•เตเดธเดธเต เดšเต†เดฏเตเดฏเดพเตป เด•เดดเดฟเดฏเตเด‚.

เดตเตเดฏเดคเตเดฏเดธเตเดค เดธเด‚เดญเดฐเดฃ โ€‹โ€‹โ€‹โ€‹เด†เดตเดถเตเดฏเด™เตเด™เดณเตเดŸเต† เด’เดฐเต เดตเดฒเดฟเดฏ เดธเด‚เด–เตเดฏเดฏเต† เด…เดŸเดฟเดธเตเดฅเดพเดจเดฎเดพเด•เตเด•เดฟเดฏเดพเดฃเต เดˆ เด˜เดŸเดจ เดคเดฟเดฐเดžเตเดžเต†เดŸเตเดคเตเดคเดคเต: เดฆเตเตผเดฌเดฒเดฎเดพเดฏ เดซเดฏเตฝ เดธเดฟเดธเตเดฑเตเดฑเด™เตเด™เตพเด•เตเด•เตเดณเตเดณ เดชเดฟเดจเตเดคเตเดฃ, เด’เดฐเต เดซเต‹เตพเดกเดฑเดฟเตฝ เดจเดฟเดฐเดตเดงเดฟ เดซเดฏเดฒเตเด•เตพ เด‰เดณเตเดณเดคเต เด…เดญเดฟเด•เดพเดฎเตเดฏเดฎเดฒเตเดฒ, เด†เดตเดถเตเดฏเดฎเต†เด™เตเด•เดฟเตฝ เดŽเดฒเตเดฒเดพ เดซเต‹เตพเดกเดฑเตเด•เดณเดฟเดฒเต‡เด•เตเด•เตเด‚ เดตเต‡เด—เดคเตเดคเดฟเตฝ เดธเดžเตเดšเดฐเดฟเด•เตเด•เตเด• เดคเตเดŸเด™เตเด™เดฟเดฏเดต. เดšเดฟเดฒเดคเดฐเด‚ เดธเตเดตเตผเดฃเตเดฃ เด…เตผเดคเตเดฅเด‚.

เด•เดพเดทเดฟเด‚เด—เต

เดซเดฏเดฒเตเด•เตพ เดšเต‡เตผเด•เตเด•เตเดฎเตเดชเต‹เตพ, เด…เดคเตเดชเต‹เดฒเต† เด…เดต เดธเตเดตเต€เด•เดฐเดฟเด•เตเด•เตเดฎเตเดชเต‹เตพ, เดซเดฏเดฒเตเด•เดณเดฟเดฒเต‡เด•เตเด•เตเดณเตเดณ เดฒเดฟเด™เตเด•เตเด•เตพ เด•เดพเดทเต†เดฏเดฟเตฝ เดŽเดดเตเดคเตเดจเตเดจเต.
เด‡เดคเดฟเดจเต เดจเดจเตเดฆเดฟ, เดฎเดฟเด•เตเด•เดชเตเดชเต‹เดดเตเด‚ เด’เดฐเต เดซเดฏเตฝ เดคเดฟเดฐเดฏเตเดจเตเดจเดคเดฟเดจเดพเดฏเดฟ เดฎเตเดดเตเดตเตป เดจเต†เดฑเตเดฑเตโ€Œเดตเตผเด•เตเด•เดฟเดฒเตเด‚ เดธเดžเตเดšเดฐเดฟเด•เตเด•เต‡เดฃเตเดŸ เด†เดตเดถเตเดฏเดฎเดฟเดฒเตเดฒ. เด‡เดคเต เดฒเดฟเด™เตเด•เตเด•เดณเตเดŸเต† เดฐเดธเต€เดคเต เดตเต‡เด—เดคเตเดคเดฟเดฒเดพเด•เตเด•เตเด•เดฏเตเด‚ เดจเต†เดฑเตเดฑเตเดตเตผเด•เตเด•เดฟเดฒเต† เดฒเต‹เดกเต เด•เตเดฑเดฏเตเด•เตเด•เตเด•เดฏเตเด‚ เดšเต†เดฏเตเดฏเตเดจเตเดจเต. http เดคเดฒเด•เตเด•เต†เดŸเตเดŸเตเด•เตพ เดตเดดเดฟเดฏเตเด‚ เด•เดพเดทเดฟเด‚เด—เต เดธเด‚เดญเดตเดฟเด•เตเด•เตเดจเตเดจเต.

เดเดธเต‹เดฎเต‹เตผเดซเดฟ

เด•เตเดฒเดฏเดจเตเดฑเต เดœเดพเดตเดพเดธเตเด•เตเดฐเดฟเดชเตเดฑเตเดฑเดฟเตฝ เดŽเดดเตเดคเดฟเดฏเดคเดพเดฃเต, เดเดธเต‹เดฎเต‹เดซเดฟเด•เต เด†เดฃเต, เด‡เดคเต เดฌเตเดฐเต—เดธเดฑเดฟเตฝ เดจเดฟเดจเตเดจเต เดจเต‡เดฐเดฟเดŸเตเดŸเต เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เดพเด‚. 
เดจเดฟเด™เตเด™เตพเด•เตเด•เต เดซเดฏเตฝ เด…เดชเตโ€Œเดฒเต‹เดกเต เดšเต†เดฏเตเดฏเดพเด‚ https://github.com/ortexx/storacle/blob/master/dist/storacle.client.js เด’เดฐเต เดธเตเด•เตเดฐเดฟเดชเตเดฑเตเดฑเตเด‚ เด†เด•เตเดธเดธเต เดŽเดจเตเดจ เดจเดฟเดฒเดฏเดฟเดฒเตเด‚ window.ClientStoracle เด…เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ เดฌเดฟเตฝเดกเต เดธเดฟเดธเตเดฑเตเดฑเด‚ เดตเดดเดฟ เด‡เดฑเด•เตเด•เตเดฎเดคเดฟ เดšเต†เดฏเตเดฏเตเด•.

เดฎเดพเดฑเตเดฑเดฟเดตเต†เดšเตเดš เดฒเดฟเด™เตเด•เตเด•เตพ

เดฐเดธเด•เดฐเดฎเดพเดฏ เด’เดฐเต เดธเดตเดฟเดถเต‡เดทเดคเดฏเตเด‚ "เดฎเดพเดฑเตเดฑเดฟเดตเดšเตเดš เดฑเดซเดฑเตปเดธเต" เด†เดฃเต. เด‡เดตเดฟเดŸเต†เดฏเตเด‚ เด‡เดชเตเดชเต‹เดณเตเด‚ เดธเดฟเตปเด•เตเดฐเดฃเดธเต เด†เดฏเดฟ เดฒเดญเดฟเด•เตเด•เดพเดตเตเดจเตเดจ เด’เดฐเต เดซเดฏเดฒเดฟเดฒเต‡เด•เตเด•เตเดณเตเดณ เดฒเดฟเด™เตเด•เดพเดฃเดฟเดคเต, เดธเตเดฑเตเดฑเต‹เดฑเต‡เดœเดฟเตฝ เด…เดคเต เด•เดฃเตเดŸเต†เดคเตเดคเตเดฎเตเดชเต‹เตพ เดซเดฏเตฝ เดฎเตเด•เดณเดฟเดฒเต‡เด•เตเด•เต เดตเดฒเดฟเด•เตเด•เตเด‚. เด‰เดฆเดพเดนเดฐเดฃเดคเตเดคเดฟเดจเต, เดจเดฟเด™เตเด™เตพ เดธเตˆเดฑเตเดฑเดฟเตฝ เดšเดฟเดฒ เดšเดฟเดคเตเดฐเด™เตเด™เตพ เด•เดพเดฃเดฟเด•เตเด•เต‡เดฃเตเดŸเดฟเดตเดฐเตเดฎเตเดชเต‹เตพ เด‡เดคเต เดตเดณเดฐเต† เดธเต—เด•เดฐเตเดฏเดชเตเดฐเดฆเดฎเดพเดฃเต. เดžเด™เตเด™เตพ src-เดฏเดฟเตฝ เด’เดฐเต เดฎเดพเดฑเตเดฑเดฟเดตเต†เดšเตเดš เดฒเดฟเด™เตเด•เต เด‡เดŸเตเดŸเต, เด…เดคเตเดฐเดฎเดพเดคเตเดฐเด‚. เดจเดฟเด™เตเด™เตพเด•เตเด•เต เดจเดฟเดฐเดตเดงเดฟ เด•เต‡เดธเตเด•เตพ เดตเดฐเดพเด‚.

เด•เตเดฒเดฏเดจเตเดฑเต API

  • เด…เดธเดฟเด™เตเด•เต Client.prototype.storeFile() - เดซเดฏเตฝ เดธเด‚เดฐเด•เตเดทเดฟเด•เตเด•เตเดจเตเดจเต
  • เด…เดธเดฟเด™เตเด•เต Client.prototype.getFileLink() โ€” เดซเดฏเดฒเดฟเดฒเต‡เด•เตเด•เต เดจเต‡เดฐเดฟเดŸเตเดŸเตเดณเตเดณ เดฒเดฟเด™เตเด•เต เดฒเดญเดฟเด•เตเด•เตเดจเตเดจเต
  • เด…เดธเดฟเด™เตเด•เต Client.prototype.getFileLinks() โ€” เด’เดฐเต เดซเดฏเตฝ เดจเดฟเดฒเดตเดฟเดฒเตเดณเตเดณ เดŽเดฒเตเดฒเดพ เดจเต‹เดกเตเด•เดณเดฟเตฝ เดจเดฟเดจเตเดจเตเด‚ เดจเต‡เดฐเดฟเดŸเตเดŸเตเดณเตเดณ เดฒเดฟเด™เตเด•เตเด•เดณเตเดŸเต† เด’เดฐเต เดฒเดฟเดธเตเดฑเตเดฑเต เดฒเดญเดฟเด•เตเด•เตเดจเตเดจเต
  • เด…เดธเดฟเด™เตเด•เต Client.prototype.getFileToBuffer() โ€” เดซเดฏเตฝ เดฌเดซเดฑเดฟเตฝ เดŽเดคเตเดคเดฟเด•เตเด•เตเด•
  • เด…เดธเดฟเด™เตเด•เต Client.prototype.getFileToPath() โ€” เดซเดฏเตฝ เดธเดฟเดธเตเดฑเตเดฑเดคเตเดคเดฟเดฒเต‡เด•เตเด•เต เด’เดฐเต เดซเดฏเตฝ เดฒเดญเตเดฏเดฎเดพเด•เตเด•เตเด•
  • เด…เดธเดฟเด™เตเด•เต Client.prototype.getFileToBlob() โ€” เดฌเตเดฒเต‹เดฌเดฟเตฝ เดซเดฏเตฝ เดจเต‡เดŸเตเด• (เดฌเตเดฐเต—เดธเตผ เดชเดคเดฟเดชเตเดชเดฟเดจเดพเดฏเดฟ)
  • เด…เดธเดฟเด™เตเด•เต Client.prototype.removeFile() - เด’เดฐเต เดซเดฏเตฝ เด‡เดฒเตเดฒเดพเดคเดพเด•เตเด•เตเด•
  • Client.prototype.createRequestedFileLink() - เด’เดฐเต เดฎเดพเดฑเตเดฑเดฟเดตเต†เดšเตเดš เดฒเดฟเด™เตเด•เต เดธเตƒเดทเตเดŸเดฟเด•เตเด•เตเด•

เดฎเดฑเตเดฑเตŠเดฐเต เดธเต†เตผเดตเดฑเดฟเดฒเต‡เด•เตเด•เต เดซเดฏเดฒเตเด•เตพ เด•เดฏเดฑเตเดฑเตเดฎเดคเดฟ เดšเต†เดฏเตเดฏเตเด•

เดฎเดฑเตเดฑเตŠเดฐเต เดจเต‹เดกเดฟเดฒเต‡เด•เตเด•เต เดซเดฏเดฒเตเด•เตพ เด•เตˆเดฎเดพเดฑเตเดจเตเดจเดคเดฟเดจเต, เดจเดฟเด™เตเด™เตพเด•เตเด•เต เด‡เดต เดšเต†เดฏเตเดฏเดพเดจเดพเด•เตเด‚:

  • เด•เตเดฐเดฎเต€เด•เดฐเดฃเด™เตเด™เตพเด•เตเด•เตŠเดชเตเดชเด‚ เดฎเตเดดเตเดตเตป เดธเตเดฑเตเดฑเต‹เดฑเต‡เดœเต เดซเต‹เตพเดกเดฑเตเด‚ เดชเด•เตผเดคเตเดคเตเด•. (เด‡เดคเต เดญเดพเดตเดฟเดฏเดฟเตฝ เดชเตเดฐเดตเตผเดคเตเดคเดฟเดšเตเดšเต‡เด•เตเด•เดฟเดฒเตเดฒ)
  • เดซเดฏเดฒเตเด•เดณเตเดณเตเดณ เดซเต‹เตพเดกเตผ เดฎเดพเดคเตเดฐเด‚ เดชเด•เตผเดคเตเดคเตเด•. เดชเด•เตเดทเต‡, เดˆ เดธเดพเดนเดšเดฐเตเดฏเดคเตเดคเดฟเตฝ, เดจเดฟเด™เตเด™เตพ เด’เดฐเดฟเด•เตเด•เตฝ เดซเด‚เด—เตเดทเตป เดชเตเดฐเดตเตผเดคเตเดคเดฟเดชเตเดชเดฟเด•เตเด•เต‡เดฃเตเดŸเดคเตเดฃเตเดŸเต node.normalizeFilesInfo()เดŽเดฒเตเดฒเดพ เดกเดพเดฑเตเดฑเดฏเตเด‚ เดตเต€เดฃเตเดŸเตเด‚ เด•เดฃเด•เตเด•เดพเด•เตเด•เดพเดจเตเด‚ เดกเดพเดฑเตเดฑเดพเดฌเต‡เดธเดฟเดฒเต‡เด•เตเด•เต เดจเตฝเด•เดพเดจเตเด‚.
  • เดซเด‚เด—เตเดทเตป เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเด• node.exportFiles()เด…เดคเต เดซเดฏเดฒเตเด•เตพ เดชเด•เตผเดคเตเดคเดพเตป เดคเตเดŸเด™เตเด™เตเด‚.

เด…เดŸเดฟเดธเตเดฅเดพเดจ เดจเต‹เดกเต เด•เตเดฐเดฎเต€เด•เดฐเดฃเด™เตเด™เตพ
เดธเตเดฑเตเดฑเต‹เดฑเต‡เดœเต เดจเต‹เดกเต เด†เดฐเด‚เดญเดฟเด•เตเด•เตเดฎเตเดชเต‹เตพ, เด†เดตเดถเตเดฏเดฎเดพเดฏ เดŽเดฒเตเดฒเดพ เด•เตเดฐเดฎเต€เด•เดฐเดฃเด™เตเด™เดณเตเด‚ เดจเดฟเด™เตเด™เตพเด•เตเด•เต เดตเตเดฏเด•เตเดคเดฎเดพเด•เตเด•เดพเด‚.
เดเดฑเตเดฑเดตเตเด‚ เด…เดŸเดฟเดธเตเดฅเดพเดจเดชเดฐเดฎเดพเดฏเดต เดžเดพเตป เดตเดฟเดตเดฐเดฟเด•เตเด•เตเด‚, เดฌเดพเด•เตเด•เดฟเดฏเตเดณเตเดณเดต Github-เตฝ เด•เดพเดฃเดพเด‚.

  • storage.dataSize - เดซเดฏเดฒเตเด•เดณเตเดณเตเดณ เดซเต‹เตพเดกเดฑเดฟเดจเตเดฑเต† เดตเดฒเตเดชเตเดชเด‚
  • storage.tempSize โ€” เดคเดพเตฝเด•เตเด•เดพเดฒเดฟเด• เดซเต‹เตพเดกเตผ เดตเดฒเตเดชเตเดชเด‚
  • storage.autoCleanSize - เดธเต‚เด•เตเดทเดฟเด•เตเด•เต‡เดฃเตเดŸ เดเดฑเตเดฑเดตเตเด‚ เด•เตเดฑเดžเตเดž เดธเด‚เดญเดฐเดฃ โ€‹โ€‹เดตเดฒเตเดชเตเดชเด‚. เดจเดฟเด™เตเด™เตพ เดˆ เดชเดฐเดพเดฎเต€เดฑเตเดฑเตผ เดตเตเดฏเด•เตเดคเดฎเดพเด•เตเด•เตเด•เดฏเดพเดฃเต†เด™เตเด•เดฟเตฝ, เดธเตเดฅเดฒเด‚ เดคเต€เตผเดจเตเดจเตเดชเต‹เด•เดพเตป เดคเตเดŸเด™เตเด™เดฟเดฏเดพเตฝ, เดเดฑเตเดฑเดตเตเด‚ เด•เตเดฑเดตเต เด‰เดชเดฏเต‹เด—เดฟเดšเตเดš เดซเดฏเดฒเตเด•เตพ เด‡เดฒเตเดฒเดพเดคเดพเด•เตเด•เดชเตเดชเต†เดŸเตเด‚.
  • file.maxSize โ€” เดชเดฐเดฎเดพเดตเดงเดฟ เดซเดฏเตฝ เดตเดฒเดฟเดชเตเดชเด‚
  • file.minSize - เด•เตเดฑเดžเตเดž เดซเดฏเตฝ เดตเดฒเตเดชเตเดชเด‚
  • file.preferredDuplicates โ€” เดจเต†เดฑเตเดฑเตโ€Œเดตเตผเด•เตเด•เดฟเตฝ เด‡เดทเตเดŸเดชเตเดชเต†เดŸเตเดŸ เดซเดฏเตฝ เดกเตเดฏเต‚เดชเตเดฒเดฟเด•เตเด•เต‡เดฑเตเดฑเตเด•เดณเตเดŸเต† เดŽเดฃเตเดฃเด‚
  • file.mimeWhitelist - เดธเดพเดงเตเดตเดพเดฏ เดซเดฏเตฝ เดคเดฐเด™เตเด™เตพ
  • file.mimeBlacklist - เด…เดธเดพเดงเตเดตเดพเดฏ เดซเดฏเตฝ เดคเดฐเด™เตเด™เตพ
  • file.extWhitelist - เดธเดพเดงเตเดตเดพเดฏ เดซเดฏเตฝ เดตเดฟเดชเตเดฒเต€เด•เดฐเดฃเด™เตเด™เตพ
  • file.extBlacklist - เด…เดธเดพเดงเตเดตเดพเดฏ เดซเดฏเตฝ เดตเดฟเดชเตเดฒเต€เด•เดฐเดฃเด™เตเด™เตพ
  • file.linkCache - เดตเดฟเดตเดฟเดง เดฒเดฟเด™เตเด•เต เด•เดพเดทเดฟเด‚เด—เต เด•เตเดฐเดฎเต€เด•เดฐเดฃเด™เตเด™เตพ

เด…เดณเดตเตเด•เดณเตเดฎเดพเดฏเดฟ เดฌเดจเตเดงเดชเตเดชเต†เดŸเตเดŸ เดฎเดฟเด•เตเด•เดตเดพเดฑเตเด‚ เดŽเดฒเตเดฒเดพ เดชเดพเดฐเดพเดฎเต€เดฑเตเดฑเดฑเตเด•เดณเตเด‚ เด•เต‡เดตเดฒเดตเตเด‚ เด†เดชเต‡เด•เตเดทเดฟเด•เดตเตเดฎเดพเดฏ เดฎเต‚เดฒเตเดฏเด™เตเด™เดณเดฟเตฝ เดจเตฝเด•เดพเด‚.

เด•เดฎเดพเตปเดกเต เดฒเตˆเตป เดตเดดเดฟ เดชเตเดฐเดตเตผเดคเตเดคเดฟเด•เตเด•เตเดจเตเดจเต
เด•เดฎเดพเตปเดกเต เดฒเตˆเตป เดตเดดเดฟ เดฒเตˆเดฌเตเดฐเดฑเดฟ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เดพเด‚. เด‡เดคเต เดšเต†เดฏเตเดฏเตเดจเตเดจเดคเดฟเดจเต, เดจเดฟเด™เตเด™เตพ เด‡เดคเต เด†เด—เต‹เดณเดคเดฒเดคเตเดคเดฟเตฝ เด‡เตปเดธเตเดฑเตเดฑเดพเตพ เดšเต†เดฏเตเดฏเต‡เดฃเตเดŸเดคเตเดฃเตเดŸเต: npm i -g เดธเตเดฑเตเดฑเต‹เตผเด•เตเด•เดฟเตพ. เด‡เดคเดฟเดจเตเดถเต‡เดทเด‚, เดจเต‹เดกเต เด‰เดณเตเดณ เดชเตเดฐเต‹เดœเด•เตเดฑเตเดฑเต เดกเดฏเดฑเด•เตเดŸเดฑเดฟเดฏเดฟเตฝ เดจเดฟเดจเตเดจเต เดจเดฟเด™เตเด™เตพเด•เตเด•เต เด†เดตเดถเตเดฏเดฎเดพเดฏ เดชเตเดฐเดตเตผเดคเตเดคเดจเด™เตเด™เตพ เดธเดฎเดพเดฐเด‚เดญเดฟเด•เตเด•เดพเด‚. เด‰เดฆเดพเดนเดฐเดฃเดคเตเดคเดฟเดจเต, เดธเตเดฑเตเดฑเต‹เตผเด•เตเด•เดฟเตพ -เดŽ เดธเตเดฑเตเดฑเต‹เตผเดซเดฏเตฝ -เดŽเดซเต ./file.txt -c ./config.jsเดซเดฏเตฝ เดšเต‡เตผเด•เตเด•เดพเตป. เดŽเดฒเตเดฒเดพ เดชเตเดฐเดตเตผเดคเตเดคเดจเด™เตเด™เดณเตเด‚ เด‡เดคเดฟเตฝ เด•เดพเดฃเดพเด‚ https://github.com/ortexx/storacle/blob/master/bin/actions.js

เดจเดฟเด™เตเด™เตพเด•เตเด•เต เด‡เดคเต เด†เดตเดถเตเดฏเดฎเดพเดฏเดฟ เดตเดจเตเดจเต‡เด•เตเด•เดพเด‚?

  • เดจเดฟเด™เตเด™เตพเด•เตเด•เต เดธเต—เด•เดฐเตเดฏเดชเตเดฐเดฆเดฎเดพเดฏ เดฐเต€เดคเดฟเด•เตพ เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต เดซเดฏเดฒเตเด•เตพ เดธเด‚เดญเดฐเดฟเด•เตเด•เดพเดจเตเด‚ เดชเตเดฐเดตเตผเดคเตเดคเดฟเด•เตเด•เดพเดจเตเด‚ เดชเดฆเตเดงเดคเดฟเดฏเดฟเดŸเตเดจเตเดจ เดเดคเต†เด™เตเด•เดฟเดฒเตเด‚ เดคเดฐเดคเตเดคเดฟเดฒเตเดณเตเดณ เดตเดฟเด•เต‡เดจเตเดฆเตเดฐเต€เด•เตƒเดค เดชเตเดฐเต‹เดœเด•เตเดฑเตเดฑเต เดธเตƒเดทเตเดŸเดฟเด•เตเด•เดพเตป เดจเดฟเด™เตเด™เตพ เด†เด—เตเดฐเดนเดฟเด•เตเด•เตเดจเตเดจเตเดตเต†เด™เตเด•เดฟเตฝ. เด‰เดฆเดพเดนเดฐเดฃเดคเตเดคเดฟเดจเต, เดฒเต‡เด–เดจเดคเตเดคเดฟเดจเตเดฑเต† เดคเตเดŸเด•เตเด•เดคเตเดคเดฟเตฝ เดฒเดฟเด™เตเด•เดฟเตฝ เดตเดฟเดตเดฐเดฟเดšเตเดšเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจ เดธเด‚เด—เต€เดค เดชเดฆเตเดงเดคเดฟ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเดจเตเดจเต เดธเตเดฑเตเดฑเต‹เตผเด•เตเด•เดฟเตพ.
  • เดจเดฟเด™เตเด™เตพ เดฎเดฑเตเดฑเต‡เดคเต†เด™เตเด•เดฟเดฒเตเด‚ เดชเตเดฐเต‹เดœเด•เตเดฑเตเดฑเตเด•เดณเดฟเตฝ เดชเตเดฐเดตเตผเดคเตเดคเดฟเด•เตเด•เตเด•เดฏเดพเดฃเต†เด™เตเด•เดฟเตฝ, เดตเดฟเดคเดฐเดฃเด‚ เดšเต†เดฏเตเดค เดฐเต€เดคเดฟเดฏเดฟเตฝ เดซเดฏเดฒเตเด•เตพ เดธเด‚เดญเดฐเดฟเด•เตเด•เต‡เดฃเตเดŸเดคเตเดฃเตเดŸเต. เดจเดฟเด™เตเด™เตพเด•เตเด•เต เดŽเดณเตเดชเตเดชเดคเตเดคเดฟเตฝ เด…เดŸเดšเตเดš เดจเต†เดฑเตเดฑเตโ€Œเดตเตผเด•เตเด•เต เดจเดฟเตผเดฎเตเดฎเดฟเด•เตเด•เดพเดจเตเด‚ เดจเต‹เดกเตเด•เตพ เด•เตเดฐเดฎเต€เด•เดฐเดฟเด•เตเด•เดพเดจเตเด‚ เด†เดตเดถเตเดฏเดฎเตเดณเตเดณเดชเตเดชเต‹เตพ เดชเตเดคเดฟเดฏเดต เดšเต‡เตผเด•เตเด•เดพเดจเตเด‚ เด•เดดเดฟเดฏเตเด‚.
  • เดจเดฟเด™เตเด™เดณเตเดŸเต† เดตเต†เดฌเตโ€Œเดธเตˆเดฑเตเดฑเต เดซเดฏเดฒเตเด•เตพ เดŽเดตเดฟเดŸเต†เดฏเต†เด™เตเด•เดฟเดฒเตเด‚ เดธเต‚เด•เตเดทเดฟเด•เตเด•เดฃเดฎเต†เด™เตเด•เดฟเตฝ, เดŽเดฒเตเดฒเดพเด‚ เดธเตเดตเดฏเด‚ เดŽเดดเตเดคเตเดจเตเดจเดคเต เดจเดฟเด™เตเด™เตพเด•เตเด•เต เดตเดณเดฐเต† เด•เต‚เดŸเตเดคเดฒเดพเดฃเต. เด’เดฐเตเดชเด•เตเดทเต‡ เดˆ เดฒเตˆเดฌเตเดฐเดฑเดฟ เดจเดฟเด™เตเด™เดณเตเดŸเต† เด•เดพเดฐเตเดฏเดคเตเดคเดฟเตฝ เดฎเดฑเตเดฑเตเดณเตเดณเดตเดฏเต‡เด•เตเด•เดพเตพ เด…เดจเตเดฏเต‹เดœเตเดฏเดฎเดพเดฃเต.
  • เดจเดฟเด™เตเด™เตพเด•เตเด•เต เดซเดฏเดฒเตเด•เตพ เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต เดชเตเดฐเดตเตผเดคเตเดคเดฟเด•เตเด•เตเดจเตเดจ เด’เดฐเต เดชเตเดฐเต‹เดœเด•เตเดฑเตเดฑเต เด‰เดฃเตเดŸเต†เด™เตเด•เดฟเตฝ, เดŽเดจเตเดจเดพเตฝ เดฌเตเดฐเต—เดธเดฑเดฟเตฝ เดจเดฟเดจเตเดจเต เดŽเดฒเตเดฒเดพ เด•เตƒเดคเตเดฐเดฟเดฎเดคเตเดตเด™เตเด™เดณเตเด‚ เดจเดŸเดคเตเดคเดพเตป เด†เด—เตเดฐเดนเดฟเด•เตเด•เตเดจเตเดจเตเดตเต†เด™เตเด•เดฟเตฝ. เดจเดฟเด™เตเด™เตพเด•เตเด•เต เดธเต†เตผเดตเตผ เด•เต‹เดกเต เดŽเดดเตเดคเตเดจเตเดจเดคเต เด’เดดเดฟเดตเดพเด•เตเด•เดพเด‚.

เดŽเดจเตเดฑเต† เด•เต‹เตบเดŸเดพเด•เตเดฑเตเดฑเตเด•เตพ:

เด…เดตเดฒเด‚เดฌเด‚: www.habr.com

เด’เดฐเต เด…เดญเดฟเดชเตเดฐเดพเดฏเด‚ เดšเต‡เตผเด•เตเด•เตเด•