0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Python + Flask + OpenCVでQR勤怠管理システムを作ってみた【失敗編】

0
Posted at

https://qiita.com/0903osa/items/46fa59470afb1bc0b3fc
前回の記事

はじめに

前回の記事ではシステム構成や設計について紹介しました。

しかし実際の開発では、設計よりも「なぜ動かないのか」と格闘していた時間の方が長かった気がします。

今回は実際にハマったポイントを紹介します。

失敗その1 仮想環境が理解できない

最初は仮想環境の意味がわかりませんでした。

ライブラリをインストールしても認識されなかったり、別プロジェクトの環境が壊れたりしました。

結果として、venvとrequirements.txtの重要性を痛感しました。(仮想環境を導入する理由はあとで話します)

ちなみに、ここでAIに仮想環境の説明しないと、勝手に最新バージョンにしてしまう

失敗その2 顔認証を試した

(仮想環境を入れた理由。最新のPythonにはこのAPIは対応していなかった)

実は最初はQRではなく顔認証をやりたかったです。

OpenCVで実装を試しました。

しかし、

  • エラーが発生する
  • 認識まで時間がかかる
  • 照明条件で結果が変わる

などの問題がありました。
(あとそもそも動かなかったあとプライバシー的にも無理だったかも?)

最終的に勤怠システムとしてはQRコードの方が速く、安定していました。

そのため顔認証は採用しませんでした。

失敗その3  1画面で全部やろうとした

最初は入場も退場も同じ画面で処理していました。

しかし状態管理が複雑になり、コードも読みにくくなりました。

そこでv2では入場・退場・管理画面の3つに分割しました。

まとめ

今回の開発で学んだのは、

「コードを書くこと」よりも、

「問題を見つけて修正すること」の方が重要だということです。

完成したシステム以上に、失敗した経験の方が多くの学びを与えてくれました。

次回は、このシステムを実運用レベルに近づけるために考えていること
(セキュリティ、クラウド化、データベースの見直しなど)
について書こうと思います。

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

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?