ç§ã IT ã®äžçã«ã©ã£ã·ããšæµžããå§ããã®ã¯ãããã 10 é±éåã§ãã æ£çŽãªãšãããXNUMX é±éåãç§ã¯ HTML æ§æããçè§£ããŠããŸããã§ãããç§ã®ããã°ã©ãã³ã°èšèªãžã®å ¥éã¯ãXNUMX 幎åã® Pascal ã«é¢ããåŠæ ¡ã«ãªãã¥ã©ã ã§çµãããŸããã ããããåã©ããã¡ã«ããããäœã£ãŠãããã®ã¯è¯ãã ãããšããããšã§ãITãã£ã³ãã«è¡ãããšã«ããŸããã ããã»ã©é£ããããšã§ã¯ãªããšå€æããŸããã
ããã«ãããç§ã¯æ¬¡ã®ãããªé·ãæ ãããããšã«ãªããŸããã
- ã¯ã©ãŠããµãŒããŒããããã€ããŸãã Ubuntu,
- GitHubã«ç»é²ãããŠããã
- åºæ¬ç㪠JavaScript æ§æãåŠç¿ãã
- è±èªãšãã·ã¢èªã®èšäºã倧éã«èªã¿ã
- ã€ãã«ããããäœããŸãã
- ãã£ãšãã®èšäºãæžããŸããã
æçµçãªçµæã¯æ¬¡ã®ããã«ãªããŸãã

ããã«èšã£ãŠãããŸãããããã¯åå¿è
åãã®èšäºã§ãããåºæ¬çãªããšãäžããè¡ãæ¹æ³ãçè§£ããããã®ãã®ã§ãã
ãŸããäžçŽããã°ã©ãã«ãšã£ãŠã¯ãå°ãç¬ãããããã§ããããŸãã
1. JS ã§ã³ãŒããèšè¿°ããã«ã¯ã©ãããã°ããã§ãã?
å°ãªããšããã®èšèªã®æ§æãæåã«çè§£ããããšã¯äŸ¡å€ãããããšãçè§£ããŸããã ç§ã«ãšã£ãŠæ¬¡ã®ã¹ããã㯠ReactNative ã§ã¢ããªã±ãŒã·ã§ã³ãäœæããããšã§ãã£ããããéžæã¯ JavaScript ã«ãªããŸããã ç§ã¯ããå§ããŸãã Codecademy ã«åå ãããšãŠãããããæããŸããã æåã® 7 æ¥éã¯ç¡æã§ãã å®éã®ãããžã§ã¯ãã ãå§ãããŸãã 宿ãŸã§ã«çŽ25æéããããŸããã å®éããã®ãã¹ãŠã圹ã«ç«ã£ãããã§ã¯ãããŸããã ã³ãŒã¹ã®æ§é ãšæåã®ãããã¯ã®è©³çްã¯ãããªæãã§ãã

2. ããããç»é²ããã«ã¯ã©ãããã°ããã§ãã?
ããã¯æåã®ãã¡ã¯ãšãŠã圹ã«ç«ã¡ãŸãã æã¢ã«ã«ã³ãæ°ã®ããã°ããã åœŒã¯æåããåã¿ãŸãã ãã ããããã«ããäž»ãªãã®ã¯ãããããç»é²ããããã®æé ã§ãã ãã以äžããŸãæžãããšã¯ã§ããŸãããããããæãç°¡åãªéšåãªã®ã§ãèŠç¹ã ãæžããŸãã ããããäœæãããã® API ãååŸããå¿ èŠããããŸãã ããã¯å¥ã®ããã @BotFather ãéããŠè¡ãããŸãã é»å ±ã§åœŒãèŠã€ããŠæçŽãæžããç°¡åãªãã¹ã«åŸã£ãŠ API ã㌠(ããã¯æ°åãšæåã®ã»ããã§ã) ãååŸ (ä¿å) ããŠãã ããã åŸã§åœ¹ã«ç«ã¡ãŸããã

3. ãããã®ã³ãŒãã¯ã©ã®ãããªãã®ã§ãã?
é·ãéèšäºãèªãã åŸãTelegram API ãå匷ããŠå€§ããªã³ãŒããæåããäœæããããšãå¿é ããå¿ èŠããªãããã«ãããçš®ã®ã©ã€ãã©ãª (ã¢ãžã¥ãŒã«åœ¢åŒã®ãµãŒãããŒã㣠ã³ãŒã) ã䜿çšãã䟡å€ãããããšã«æ°ã¥ããŸããã æ çµã¿ãèŠã€ãã ãnpmãŸãã¯yarnã䜿çšããŠäœããã®æ¹æ³ã§äœãã«æ¥ç¶ããå¿ èŠããããŸããã ããã¯ããããã®å±éã®æ§æãç§ãçè§£ããããããã®æ¹æ³ã§ãã ããã§ç¬ã£ãŠãã ããã æ°åã害ããããšã¯ãããŸããã ããŒãžã®äžéšã«ããäŸã¯ããã®åŸã®ãããã®äœææã«æã圹ç«ã¡ãŸããã

3. 100ã«ãŒãã«ã§ç¬èªã®ã¯ã©ãŠããµãŒããŒãäœæããæ¹æ³
ãããã調ã¹ãŠã¿ãçµæãäžã®ç»åã«ãããnpmãã³ãã³ãã¯ã³ãã³ãã©ã€ã³ã®ããšã ãšåãããŸãããã³ãã³ãã©ã€ã³ã¯è³ãæã«ãããŸãããå®è¡ããã«ã¯NodePackageManagerãã€ã³ã¹ããŒã«ããå¿ èŠããããŸããåé¡ã¯ãç§ãChromeOSãæèŒããPixelBookã§ããã°ã©ãã³ã°ãããŠããããšã§ãããã©ããã£ãŠãããåŠãã ããšãã詳ãã話ã¯çç¥ããŸãã Linux ã»ãšãã©ã®äººã«ãšã£ãŠããã¯ç©ºèã§äžå¿ èŠãªãã®ã§ãã Windows ãããã¯MacBookãªããæ¢ã«ã²ãŒã æ©ãæã£ãŠããããšã«ãªãã
èŠããã«ãç§ã¯ Linux ã¯ãã¹ãã£ãŒãçµç±ã
ãããããã®éçšã§ããããã (ã³ã³ãã¥ãŒã¿ãŒã®é»æºãå ¥ã£ãŠãããšãã ãã§ãªã) åžžæåäœããã«ã¯ãã¯ã©ãŠã ãµãŒããŒãå¿ èŠã§ããããšã«æ°ä»ããŸããã ç§ãéžãã ç§ã¯100ã«ãŒãã«ãå ¥éããŠãäžçªå®ããµãŒããŒãè³Œå ¥ããŸããã Ubuntu ïŒåçåç §ïŒ

4. ããããå®è¡ããããã®ãµãŒããŒãæºåããæ¹æ³
ãã®åŸããµãŒããŒäžã«ã³ãŒã ããã¹ããå«ããã¡ã€ã«ã眮ãäœããã®ãã©ã«ããŒãäœæããå¿ èŠãããããšã«æ°ä»ããŸããã ãããè¡ãã«ã¯ãã³ã³ãœãŒã« (ãã³ã³ãœãŒã«ãéãããã¿ã³ã䜿çšã㊠Web ãµã€ãäžã§çŽæ¥å®è¡) ã§æ¬¡ã®ããã«å ¥åããŸããã
mkdir botbot - ãããç§ã®ãã©ã«ããŒã®ååã«ãªããŸããã ãã®åŸãnpm ãš Node.js ãã€ã³ã¹ããŒã«ããŸãããããã«ããã*.js è§£å床ã®ãã¡ã€ã«ããã³ãŒããå®è¡ã§ããããã«ãªããŸãã
sudo apt update
sudo apt install nodejs
sudo apt install npmãã®æ®µéã§ã³ã³ãœãŒã«ãä»ããŠãµãŒããŒãžã®æ¥ç¶ãèšå®ããããšã匷ããå§ãããŸãã ãã ããã«ãããã³ã³ãã¥ãŒã¿ã®ã³ã³ãœãŒã«ããçŽæ¥ãµãŒããŒãæäœã§ããããã«ãªããŸãã
5. æåã®ãããã®ã³ãŒãã®æžãæ¹ã
ããããä»ã§ã¯ããã¯ç§ã«ãšã£ãŠåãªãçºèŠã§ãã ã©ã®ããã°ã©ã ãåãªãããã¹ãè¡ã§ãã ã©ãã«ã§ãæ¿å ¥ããå¿ èŠãªæ¡åŒµåãä»ããŠä¿åããã ãã§å®äºã§ãã ããªãã¯çŸããã§ãã ç§ã䜿çšãã , ãããå®éã«ã¯ãæ®éã®ã¡ã¢åž³ã«æžãã ãã§å€§äžå€«ã§ãã äž»ãªããšã¯ãåŸã§ãã¡ã€ã«ãç®çã®æ¡åŒµåã§ä¿åããããšã§ãã Word ã§ããã¹ããæžããŠä¿åãããããªãã®ã§ãã
æ°ãããã¡ã€ã«ãäœæããããã« Telegraf ããŒãžã®äŸã®ã³ãŒããæ¿å ¥ããindex.js ãã¡ã€ã«ã«ä¿åããŸãã (éåžžããã¡ã€ã«ã«ãã®ãããªååãä»ããå¿ èŠã¯ãããŸããããããã¯æ £äŸã§ã)ã éèŠ - BOT_TOKEN ã®ä»£ããã«ãXNUMX çªç®ã®æ®µèœãã API ããŒãæ¿å ¥ããŸãã
const Telegraf = require('telegraf')
const bot = new Telegraf(process.env.BOT_TOKEN)
bot.start((ctx) => ctx.reply('Welcome!'))
bot.help((ctx) => ctx.reply('Send me a sticker'))
bot.on('sticker', (ctx) => ctx.reply(''))
bot.hears('hi', (ctx) => ctx.reply('Hey there'))
bot.launch()6. Githubçµç±ã§ã³ãŒãããµãŒããŒã«ã¢ããããŒãããæ¹æ³
次ã«ãäœããã®æ¹æ³ã§ãã®ã³ãŒãããµãŒããŒã«ã¢ããããŒãããŠå®è¡ããå¿ èŠããããŸãã ããã¯ç§ã«ãšã£ãŠææŠãšãªããŸããã ãã®çµæãèŠåŽã®æ«ãã³ã³ãœãŒã«ã®ã³ãã³ãã䜿çšããŠã³ãŒããæŽæ°ã§ãããã¡ã€ã«ã github äžã«äœæããæ¹ãç°¡åã§ããããšãããããŸããã ã«ã¢ã«ãŠã³ããç»é²ããŸãã ãããŠãã£ã , ããã«ãã¡ã€ã«ãã¢ããããŒãããŸããã ãã®åŸãèªåã®ã¢ã«ãŠã³ã (éããŠããŸã!) ãã bot ãã©ã«ããŒå ã®ãµãŒããŒã«ãã¡ã€ã«ãã¢ããããŒãããèšå®æ¹æ³ãçè§£ããå¿ èŠããããŸãã (çªç¶ããããé¢ããå Žåã¯ãcd bot ãšæžãã ãã§ã)ã
7. Githubçµç±ã§ãµãŒããŒã«ãã¡ã€ã«ãã¢ããããŒãããæ¹æ³ ãã®2
git ãããã¡ã€ã«ãããŠã³ããŒãããããã°ã©ã ããµãŒããŒã«ã€ã³ã¹ããŒã«ããå¿ èŠããããŸããã ã³ã³ãœãŒã«ã«å ¥åããŠãµãŒããŒã« git ãã€ã³ã¹ããŒã«ããŸãã
apt-get install gitãã®åŸããã¡ã€ã«ã®ã¢ããããŒããèšå®ããå¿ èŠããããŸããã ãããè¡ãã«ã¯ãã³ãã³ãã©ã€ã³ã«æ¬¡ã®ããã«å ¥åããŸããã
git clone git://github.com/b0tank/bot.git bot
ãã®çµæããããžã§ã¯ãã®ãã¹ãŠããµãŒããŒã«ã¢ããããŒããããŸããã ãã®æ®µéã§ã®ééãã¯ãåºæ¬çã«æ¢åã®ããã ãã©ã«ããŒå ã« XNUMX çªç®ã®ãã©ã«ããŒãäœæããããšã§ãã ãã¡ã€ã«ã®ã¢ãã¬ã¹ã¯ */bot/bot/index.js ã®ããã«ãªããŸããã
ç§ã¯ãã®åé¡ãç¡èŠããããšã«ããŸããã
ã³ãŒãã®æåã®è¡ã§èŠæ±ãã telegraf ã©ã€ãã©ãªãããŒãããã«ã¯ãã³ã³ãœãŒã«ã«ã³ãã³ããå ¥åããŸãã
npm install telegraf8. ãããã®èµ·åæ¹æ³
ãããè¡ãã«ã¯ããã¡ã€ã«ã®ãããã©ã«ããŒå
ã§ (ã³ã³ãœãŒã«çµç±ã§ãã©ã«ããŒéãç§»åããã«ã¯ãformat ã³ãã³ããå®è¡ããŸã) cd bot å¿
èŠãªå Žæã«ããããšã確èªããã«ã¯ãããã«ãããã¹ãŠã®ãã¡ã€ã«ãšãã©ã«ããŒãã³ã³ãœãŒã«ã«è¡šç€ºããã³ãã³ããå
¥åããŸãã ls -a
ãŸããã³ã³ãœãŒã«ã«å ¥ããŸãã
node index.js
ãšã©ãŒããªããã°ãã¹ãŠåé¡ãªãããããã¯æ©èœããŠããŸãã é»å ±ã§åœŒãæ¢ããŠãã ããã ãšã©ãŒãããå Žåã¯ããã€ã³ã 1 ããã®ç¥èãé©çšããŠãã ããã
9. ããããããã¯ã°ã©ãŠã³ãã§å®è¡ããæ¹æ³
ãããã¯ãããªãèªèº«ãã³ã³ãœãŒã«ã«åº§ã£ãŠãããšãã«ã®ã¿æ©èœããããšãããã«ããããŸãã ãã®åé¡ã解決ããããã«ã次ã®ã³ãã³ãã䜿çšããŸãã
screenãã®åŸãããã¹ãã衚瀺ãããç»é¢ã衚瀺ãããŸãã ããã¯ããã¹ãŠãé 調ã§ããããšãæå³ããŸãã ããªãã¯ã¯ã©ãŠããµãŒããŒäžã®ä»®æ³ãµãŒããŒäžã«ããŸãã ãã¹ãŠãã©ã®ããã«æ©èœããããããããçè§£ããã«ã¯ - ã ãã©ã«ããŒã«ç§»åããã³ãã³ããå ¥åããŠããããèµ·åããã ãã§ã
node index.js10. ãããã®ä»çµã¿ãšãã®æ©èœãæ¡åŒµããæ¹æ³
ãã®äŸã®ãããã§ã¯äœãã§ããã®ã§ãããã? 圌ã¯ã§ãã
bot.start((ctx) => ctx.reply('Welcome!'))ãããããïŒããšèšã£ãŠãã ããã éå§æïŒããã¹ãã倿ŽããŠã¿ãŠãã ããïŒ
bot.help((ctx) => ctx.reply('Send me a sticker'))æšæºã® /help ã³ãã³ãã«å¿çããŠããã¹ããã«ãŒãéã£ãŠãã ããããšããã¡ãã»ãŒãžãéä¿¡ããŸãã
bot.on('sticker', (ctx) => ctx.reply(''))ã¹ããã«ãŒã«å¿çããŠæ¿èªãéä¿¡ãã
bot.hears('hi', (ctx) => ctx.reply('Hey there')) 圌ãã圌ã«ãããã«ã¡ã¯ããšæžãããããããã«ã¡ã¯ããšçãã
bot.launch()

ã³ãŒããèŠããšã ããããã°ãç§ããã®æ©èœããããã»ã©é ãé¢ããŠããªãããšãããã«çè§£ã§ããã§ãããã ç©æ¥µçã«äœ¿ãããŠããæ©èœã¯ã ctx.replyWithPhoto ç¹å®ã®ããã¹ãã«å¿çããŠãæå®ããåçãŸã㯠GIF ãéä¿¡ã§ããŸãã
ã³ãŒãã®éèŠãªéšå㯠11 ïœ 13 æ³ã®åäŸãã¡ã«ãã£ãŠæžãããŠãããç§ã¯åœŒãã«ããããžã®ã¢ã¯ã»ã¹ãèš±å¯ããŸããã 圌ãã¯ãŠãŒã¶ãŒã±ãŒã¹ãå ¥åããŸããã ã©ã®éšåã圌ããäœã£ããã¯ç°¡åã«ããããšæããŸãã
ããšãã°ãã¡ãã»ãŒãžããžã§ã€ã¯ãã¯ã挫ç»ãã¢ããã³ãã£ãŒ ã¿ã€ã ãã®æåãªãã£ã©ã¯ã¿ãŒãå«ã GIF ãåãåããŸãã

ããããããã«éçºããã«ã¯ãããŒããŒããæ¥ç¶ããå¿
èŠããããŸããäŸãåç
§ããŠãã ããã
11. ã³ãŒããæŽæ°ããŠããããåèµ·åããæ¹æ³
Github ã ãã§ãªããµãŒããŒäžã®ã³ãŒããæŽæ°ããå¿ èŠãããããšãå¿ããªãã§ãã ããã ããã¯ç°¡åã§ã - ãããã忢ããŸã (Ctrl+C ãæŒããŸã)ã
- ã¿ãŒã²ãããã©ã«ããŒå
ã§ã³ã³ãœãŒã«ã«å
¥ããŸãã git pull
â æ¬¡ã®ã³ãã³ãã§ããããå床起åããŸã node index.js
çµãã
ãã®ãã¡ã€ã«ã«èšè¿°ãããŠããå 容ã®å€ãã¯ãäžçŽããã°ã©ãã«ãšã£ãŠã¯éåžžã«æçœã§ãã ããããç§èªèº«ããã£ãºã ãè¶ããŠäžæ°ã«ãããã®äžçã«é£ã³èŸŒãããšãããšãããã®ãããªæéãæ¬åœã«èŠéããŠããŸã£ãã®ã§ãã IT ã¹ãã·ã£ãªã¹ãã«ãšã£ãŠåœããåã®ããšãèŠéããªãã¬ã€ãã
å°æ¥çã«ã¯ãåãã¹ã¿ã€ã«ã§ ReactNative äžã§æåã®ã¢ããªã±ãŒã·ã§ã³ãäœæããæ¹æ³ã«ã€ããŠæçš¿ããäºå®ã§ãã賌èªããŠãã ãã!
åºæïŒ habr.com
