BETA

GitHubのリリースを通知するデスクトップアプリをつくった

投稿日:2018-10-17
最終更新:2018-10-24
※この記事は外部サイト(https://qiita.com/justmonika/items/0096a0e...)からのクロス投稿です

ご機嫌麗しゅう 冬海愛衣エバンジェリストの冬海です

先日、九州学生エンジニア連合が主催するもくもく会に参加してきました めちゃくちゃ良いお話もできて大満足なお気持ちです

そのもくもく会中にGitHubのリリースを監視するデスクトップアプリがほしいな~と思ったので、帰宅してからつくってみることにしたという流れです

これいる?

おそらくいらないです けれども、Mastodonの運用をしていた私としては、Mastodonのリリースだけを監視できると自箪笥のアップデート適用などがすばやく出来そうだな~と思っています

つくったもの紹介

アプリ名はKogarashiです 季節的にちょうどいいネーミングですよね でも、春や夏になったらどうするんでしょう。気がつくとHaruichibanとかになっているかもしれませんね

常駐してくれるので、お使いのマシンとKogarashiが起動している限りリリースを監視します また、最新のリリースバージョンも教えてくれます

ソースコードはこちら

使ってみたいよ~って方はこちら (これは罠で、実はWindows x64向けしかリリースされていません)

ちなみにこれはMITライセンスのもと公開されています

技術的なお話

今回は(も)おなじみElectronさんを使っています デスクトップアプリつくろう!ってなるとElectronに頼ってしまう自分がいます (他におすすめなやつがあれば教えてください)

TypeScriptが脚光を浴びる中、僕は浦島太郎なので普通のJavaScriptでカタカタしました 私がTypeScriptを元気に振り回せるのが先か、TypeScriptが衰退するのが先か、楽しみなところです

いちから全部つくってやろう!というよりはどれだけ手を抜いて早く形にできるかみたいなのが焦点になっていたので、依存ありありです 技術的なお話とかなんとか言い出したものの、技術を語る部分がなくちょっと困っています、どうしましょう

詰まったところ

詰まったところを共有し合うとお互い幸せになる理論を信仰しているのでシェアーします

GCされる

とりあえず起動してみようということで起動させていたら一定時間操作しないとタスクトレイから消えてしまう、という状況に出くわしました

調べてみると、どうやらGC(ガベージコレクション)されてしまい消えている様子

こちらの記事を参考にして解決しました

パッケージ化したときに詰まる

よ~しできたぞ~と鼻息荒くパッケージ化したところ、cannot find moduleというエラーさんに出会いました Google先生に詰め寄りましたが、単純にpakcage.jsonの記述をmsっていただけでした ("main"のパスの問題でした)

起動しているとエラー祭りに

これはREADMEにも書いているのですが、設定をうまくしないとKogarashiはしつこくエラー通知を出してきます

しかし設定はちゃんとしているのにエラー通知が大量に押し寄せてきました 問題があったのはAPIの呼び出し頻度で、GitHubのAPIは認証をしていない状態だと1時間に60回までしか叩けないということを知りました (知る前は10秒に1回叩いていました)

そこで修正を行い頻度を下げると無事に動きました、めでたしめでたし

マサカリ & プルリク待っています!

テストも書いてなけりゃマルチプラットフォームの良さを活かせてもいないというのが現状です その他、コードに関しても問題があるだろうとは思います (2日間の空いている時間でつくったので)

もし私の技術力向上の一助となっていただけるのであれば、ぜひマサカリやプルリクなどを飛ばしてください!

もし私に興味があれば

Twitterが生活の中に組み込まれているので、そこを見ていただければと思います

Twitter

技術ブログをはじめよう Qrunch(クランチ)は、プログラマの技術アプトプットに特化したブログサービスです
駆け出しエンジニアからエキスパートまで全ての方々のアウトプットを歓迎しております!
or 外部アカウントで 登録 / ログイン する
クランチについてもっと詳しく

この記事が掲載されているブログ

@JustMonika'の技術ブログ

よく一緒に読まれる記事

0件のコメント

ブログ開設 or ログイン してコメントを送ってみよう
目次をみる
技術ブログをはじめよう Qrunch(クランチ)は、プログラマの技術アプトプットに特化したブログサービスです
or 外部アカウントではじめる
10秒で技術ブログが作れます!