ghkw-webという変数名で迷った時に使えるWebサービスを開発した

概要

サイト

ghkw-web.firebaseapp.com

ソースコード

github.com

モチベーション

コードを書いていると変数名で迷うことがしばしばあります。例えば「除外条件」を表す変数名として exclusion_conditionexclude_conditionexcluded_condition のどれが適切かわからないなどです。そんな時にGitHubソースコードに対してキーワード検索し、そのヒット件数でもっともらしい変数名を選択するというテクが存在します。
今回開発したWebサービスの元ネタである https://github.com/kyoshidajp/ghkwCLIツールとしてこれを実現しています。
CLIツールはプログラマに馴染みの深いツールですが、インストールが不要でサクッとwebから問題を解決できてもいいのでは?と考え、ghkw-webを開発しました。

実際に使ってみる

https://ghkw-web.firebaseapp.com/ にアクセスすることで実際に使うことが出来ます。

アクセスするとGitHubでのログインが求められます。これはGitHub APIを認証なしで使用するとAPIの呼び出し回数に制限があるためです。ユーザー個別のtokenを発行し、そのtokenで検索APIを叩いています。 f:id:odan3240:20190129221638p:plain

調べたいキーワードを空白区切りで入力して検索します。検索結果は表形式で表示されます。 f:id:odan3240:20190129221818p:plain

使用している技術

適当に開発の感想を書きます。

Firebase

サイトのホスティングと、API tokenを得るためのGitHub認証にHostingとAuthenticationを使用しています。今回始めてFirebaseを触ったんですが、認証周りをサクッと実装できて体験が良かったです。

vue cli v3

普段vueを書く時は基本的にnuxtを採用することが多いんですが、一度vue cliを体験したくなったので触ってみました。vue cli v3のplugin(vueのpluginとは別)をgoogle検索で見つけるのが難しかったです。

Tailwind CSS

Tailwind CSSはUtility系のCSSライブラリです。様々なclassが定義されてるため、基本的にcssを書かずにclassを適切に付与してやるだけでレイアウトを構成出来ます。classの順番をlintツールで補正出来ない、結局自分でcssを書く労力と変わらないといった理由から、次使うことはないかなと思いました。 tailwindcss.com

CSS Grid Layout

検索結果の表にCSS Grid Layoutを使用しています。今回は単純な形だったためflexboxで十分ですが、一度経験してみたかったので使用しました。 前述したTailwind CSSCSS Grid Layoutをサポートしておらず、ここだけはstyleタグを使用しました。

GitHub Actions

CI/CDにはGitHub Actionsを使用しました。 画像のようなworkflowを構築しました。

f:id:odan3240:20190129223033p:plain

詳しいことはscrapboxに書いてあります。 scrapbox.io

アイコン

アイコンはGIMPで30秒ぐらいで作成しました。700x700でアイコンを書き出し、以下のサイトで各プラットフォーム向けのアイコンに変換しました。 かっこいいアイコンを作ってくれる人を募集しています。

ao-system.net

終わり

変数名の使用回数をGitHubから取得することで、変数名に迷った時に使えるWebサービスを開発したことを紹介しました。
もしよければ迷った時に使ってみてください!

あと気に入っていただいたらGitHubにスターをいただけると嬉しいです。 GitHub - odanado/ghkw-web