ここ数ヶ月Rubyのコードを書きまくったが、スキルは向上したのか?

 

業務上の大きな課題を乗り越え、本日はお休み。

そして・・・本日はkawasaki.rb の日。

 

今の会社に転職し1年くらい。

 

すぐにRuby on Railsを使ったWebサイトをはじめるということはなかったが、ここ数ヶ月はソース解析などでRubylinuxコマンド、シェルスクリプトを多用していた。

 

かつてはこんなことをやっていた

 書いたコードを振り返ると、恥ずかしくなるレベルだった

 

Ruby再起動中 配列、ハッシュの要素数とか - Qiita

これ書いていた頃は、しばらくRuby触ってなかったので、このレベルからリハビリ。

(でもこれ、PHPとかほかの言語でも似たようなことを実施するので、思い出してからははやった)

 

 

(個人的メモ)(ruby) 見出しつきテキストとか読み込んで加工処理するケース - Qiita

Ruby - (個人メモ)引数でファイル名を指定し、有無をチェックするようなケース - Qiita

 

このあたりは、各種プログラムの入門書に書いてありそうなレベルの話。

突っ込みどころ満載のコードを書いてしまった。

 

動くことは動くけど、後々性能不足や保守性。拡張性の問題が発生する原因になるので、とりあえず動くからといってよくないコードを放置することは望ましくない(戒め)*1

 

コーディング以外のところで苦労した

 

Ruby - 東京オリンピックのロゴの 原案の方を再現しようとしたらより簡単だった件 - Qiita

Ruby - macにgem のcairoを入れようと思ったら Homebrewでコケて実はgccでコンパイルすればOKだった件 - Qiita

 

Rubyでエクセルデータを扱うために、spreadsheetを試してみた - Qiita

 

ちょうど一ヶ月くらい前のころの話。コーディングそのものより環境を整える準備段階のほうで苦労した*2

 

ここ最近。少しはスマートになったかな?

 

Ruby - (個人的メモ)YAML使って タグを含む記述を読み込めないかなー - Qiita

 

ここ1ヶ月くらい、HTMLソースなどを読み込んで1行ずつ解析し、特定のパターンを発見したら対応するパターンに置き換えるとかのソースを書きまくっていた。

 

いろいろやってみて・・・。

 

この手の処理内容の指定って、YAMLで読み込んでハッシュリスト(連想配列)として

扱えば処理しやすい。

(そういえばRailsにもdatabase.ymlでDB設定を操作している)

 

加えて、対象とするファイルが多数、検出と処理パターンが一定なんて場合はクラスを作って、インスタンスを生成するときに一定のパラメータを指定。対象ファイルのリストをもとに所定の処理を実施・・・とかいうのを実施。と。

 

(ここから先は、仕事にも関係あるので・・・)

*1:大勢が携わるプロジェクトとかだとそうも言ってられないが、1人~数人レベルでちょっとしたツールを作るとか、修正時の影響が少ない場合はそうすべき。

*2:プログラムが動く環境に起因する問題は、挙げていたらキリがなくなるので多くの書籍やWebページでも主だった部分しか取り上げていないことが多いような