やってみる

アウトプットすべく己を導くためのブログ。その試行錯誤すらたれ流す。

GitHubアップローダの現状についてまとめ2017-11-18

これまででできたこと。

できたこと

A. GitHubを操作する(簡単なCUI対話のみで)

  • リポジトリ操作
    • アップロードする
    • 削除する
    • 変更する(名前、説明文、Homepage)
  • 集計を表示する
  • アカウント登録
    • ユーザ名とパスワードを入力する
      • AccessTokenを生成する
      • SSH鍵を生成する
      • ~/.ssh/configを設定する
      • GitHubSSH公開鍵を登録する

価値

  • gitコマンドを知らずとも、以下を入力すればGitHubにアップロードできる
  • SSHコマンドを知らずともSSH鍵を生成し、GitHubに登録し、pushできる
    • `GitHubUserRegister insert -u user1 -p password

用途

  • gitを学習せずとも、GitHubにサクっとアップロードしたい
  • 簡単な集計を見たい

問題

  • 必要なツールやライブラリのインストールが自動化できない
  • 単体テストをしていない。バグだらけかもしれない
  • 勝手にAccessTokenを作る(repo,delete_repo,user,admin:public_key)
  • SSH鍵の暗号化強度やファイルパスなど細かい指示ができない
    • 勝手に~/.ssh/configファイルを編集する(バグがないとは言えない。ファイル破壊しかねない)
  • デバッグ表示多数。テストをして削除するかON/OFF切替できるようにしたい
  • ソースコードに重複がある。共通化したい
  • ソースコードが密結合である。疎結合にしたい
  • privateにすべき変数があるかもしれない

解決案

地道にやるしか無い。

PythonをやめてC#による実装もありうる?せめてPythonをもっと書けるようになってからが望ましいか。

B. 公開

問題

表示するたびにGitHubAPIを発行する。

  • 応答速度が遅い
  • サーバ負荷大
  • 閲覧者のGitHubAPIリクエスト上限消費

解決案

  • 集計TSVファイルをアップロードし、JavaScriptで整形して表示ししたい

所感

完成度が低すぎる。なんとかしたい。