Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Probot で学ぶ TypeScript / Learn with Probot TypeScript

bake0937
August 23, 2021

Probot で学ぶ TypeScript / Learn with Probot TypeScript

Fukuoka.ts #3 Online での登壇資料です.
https://fukuokats.connpass.com/event/218556/
発表中にデモをした GitHub App の ソースコードはこちら(label-police/src/index.ts)
https://github.com/bake0937/label-police

bake0937

August 23, 2021
Tweet

More Decks by bake0937

Other Decks in Technology

Transcript

  1. 私の TypeScript の勉強歴(2018〜2020)①
 • 一人で React.js + TypeScript でなんかWebアプリ作ろう
 ◦

    仕様どうしよ...そもそも React.js がわからない... 挫折 orz
 
 • 何人か集めて React.js + TypeScript でなんかWebアプリ作ろう
 ◦ みんなの時間が取れない... 挫折 orz
 
 • 一人で Vue.js + TypeScript でなんかWebアプリ作ろう
 ◦ 仕様どうしよ...そもそも Vue.js がわからない... 挫折 orz

  2. 私の TypeScript の勉強歴(2018〜2020)②
 • 何人か集めて React.js + TypeScript でなんかWebアプリ作ろう
 ◦

    みんなの時間が取れない... 挫折 orz
 
 • 一人で TypeScript でなんかWebアプリ作ろう
 ◦ あともうちょっとだった... 挫折 orz
 
 • とりあえず、TypeScript の本を一冊終わらせよう
 ◦ 最後に読んだページどこだっけ?... 挫折 orz

  3. なぜ挫折するのか?🤔
 • TypeScript 以外の技術が沢山あり、勉強するものが多い
 ◦ Vue.js, React.js など
 
 •

    自分のペースで勉強できなかった
 
 • 壮大な仕様やデザインを考えてしまい、本末転倒気味だった
 ◦ 途中から何の勉強をしているのか忘れる
 
 • 本当に作りたいアプリがわからず、モチベーションが低下した

  4. つまり...
 • 使用技術はなるべく広げすぎない
 ◦ 可能であれば Node.js + TypeScript ぐらい 


    
 • 自分のペースで勉強する
 
 • 仕様やデザインはシンプルにする
 
 • 普段の業務が便利になるものが作れたらモチベーションが上が る!!!

  5. Probot とは?
 • GitHub App を作るためのフレームワーク(Node.js製)
 ◦ https://probot.github.io/
 
 •

    GitHub から WebHook を受け取り、Probot が GitHub API を実行する
 ◦ Octokit が内包されている
 
 • JavaScript または TypeScript で開発できる
 
 • コマンド一発で環境構築がほぼできる
 ◦ 要: yarn or npm

  6. 選定理由
 • 実装がシンプル
 ◦ 例: issue を open にしたら ◯◯

    する
 
 • 元々 GitHub API を使うのが好きだった
 
 • 環境構築が楽
 
 • 前々から業務で便利にしたいことがあった

  7. 作ってみた結果
 • とにかく楽しい!!
 ◦ 面倒だったことが便利になっていく感覚を得られる
 
 • 業務で普通に使えそう
 
 •

    便利にするために TypeScript の文法を覚えたいモチベーションが生 まれた
 ◦ コードを書く ⇔ 本を読む のサイクルがやっと動き出した
 
 • 処理がシンプル過ぎる

  8. まとめ
 • 去年まで何度か TypeScript の勉強に挑戦したが挫折していた
 
 • やっぱり業務で経験するのが一番ではある
 
 •

    使用技術は少なく,仕様やデザインがシンプルで自分が作りたい ものを作る
 
 • 「label-police」という GitHub App を作ってみた
 ◦ TypeScript の力を引き出すのはこれからだ!!