LoginSignup
0
0

More than 5 years have passed since last update.

OSSの採用活動用適性検査をGoで作ってみて学んだこと

Posted at

GoでESEPIという適性検査OSSを作りました。

詳細は以下に書いたので、この記事では技術的な話しかしません。

github
紹介記事

技術的側面

  • Goによるシングルバイナリ
  • 試験内容と称しブラウザでアクセスさせるタイプのサーバー
  • Goのhtml/templateとbootstrapでつくられた適当なフロント
  • グローバル変数を直接書き換える雑な作り

学びリスト

  • 試作品をきれいに作るのは高い技術力がいる
  • Goはシングルバイナリだから配布が容易だろうと思ったが、クライアントOSから何度も実行を止められる
  • ユーザビリティ難しい
  • Mac持ってないとMacの動作確認できない

試作品をきれいに作るのは高い技術力がいる

漠然としたアイデアをメモするようにコードを書いたので、非常に雑な作りになっています。プロトタイプは保守するものでもないかな、と思うので雑は雑で良いのですが、きれいなコードを書く難しさを学びました。

グローバル変数をhttpリクエストが来るたびに排他ロックなしに書き換えるとかいうなかなかに危ない作りをしています。

(プロダクションコードでこれやったらダメだけどね)

Goはシングルバイナリだから配布が容易だろうと思ったが、クライアントOSから何度も実行を止められる

シングルバイナリがいいよね、って理由でGoを選んだのですが、Windowsで試したところ「危ないから実行するな」と幾度となくお達しをいただきました

実際、GitHubのリリースって、実行可能ファイルを直接アップロードできるのでそれは本当にソースコードと同じものなのか?という疑問はつねにつきまとうかと思います。

ユーザビリティ難しい

「ブラウザでlocalhost:8880を開いてください」みたいな指示を試験と称して混ぜました。
実際のところ試験として導入するためには様々なハードルがあります。
詳しい人がいないと試験できないんじゃないかな……

Mac持ってないとMacの動作確認できない

当たり前だけど鬱陶しいですね、Macの制約。
Flutterアプリを作ったときにiOS用のビルドできなかった思い出が先行している気もします。

まとめ

アプリケーションを公開するのは学びが多くて楽しいですね。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0