« 2014年を振り返る | Main | 「きのこの山」を判別して「たけのこの里」を発射する装置 »

2015.01.31

自作してみて勉強になったプログラム3選

プログラムをしていると、車輪の再発明は避けるだべきと言われることも多い。一方で他人の発明をトレースすることは技術者としての成長につながるとも思う。

ただ、なんでもかんでも自作する時間があるわけでもないので、自作してみてよかったと思うものをピックアップしてみる。

認証ライブラリ

当初、PEARというPHPのライブラリを使っていたが、ソルトに対応していないなど古さを感じたので互換ライブラリを書いてみた。

http://qiita.com/usopyon/items/b954d84ffef015b7e5a7

勉強になったこと

  • 不正ログイン対策、なりすまし対策
  • 正統派なライブラリの作法
その他、よかったこと
  • Facebookなど他の認証系と連携できるよう改造できる
  • セキュリティの最新トレンドを自在に試せる
これを作った時の知識が仕事で役に立ってるのも、このエントリを書いてみようと思ったキッカケだったりする。

MVC風フレームワーク

自分だけで使ってるものをフレームワークと呼んでいいのか微妙だが、重厚長大なフレームワークを学んだり、アップデートに追随するもの大変そうなので、メンテ性を最優先に自作した。非公開だが、部品とか考え方は、こんな感じで書き散らかしている。

http://qiita.com/usopyon/items/6a19ee911682dc95a591

http://qiita.com/usopyon/items/2d46045f7f5d751e6e98

勉強になったこと

  • いわゆるMVCの考え方
  • メンテ性をよくするとはどういうことかということ

その他、よかったこと

  • セキュリティ的なことなど、どこに組み込めばいいか自分で判断できる
  • 自分で設計したので、テスト設計もしやすいと思う

冒頭の認証ライブラリが既存のライブラリの代替になるように書いたのに対し、これはフレームワークをそんなに知らない自分がフレームワークとはどうあるべきか考えながら実装したので、はたして正しい方向性なのかすらわからないという。

シフトレジスタによるLED駆動

毛色が変わって電子工作系から。いわゆる7セグと呼ばれるLEDで時計を作るのだがデジタル文字の数字を1文字あらわすのにLEDが7つ必要で、時計だから6桁。でもArduinoは13ピンしかないし、センサも幾つか付けたかったので、シフトレジスタに手を出してみた。

http://goodsite.cocolog-nifty.com/uessay/2010/04/dog-toilet-cloc.html

勉強になったこと

  • シフトレジスタなど、デジタル回路の基本的なこと。
  • 大量のはんだ付け。あれは人間のやる仕事ではない。

その他、よかったこと

  • ディスプレイに凝ると作品全体の見栄えにも気を使うようになり、考えてみるとアクリル加工を外注したのも、あの作品がはじめてだった気がする
  • 世の中の様々なディスプレイに畏敬の念が湧いた

|

« 2014年を振り返る | Main | 「きのこの山」を判別して「たけのこの里」を発射する装置 »