40歳からのキャリアチェンジ

20代はエンジニア・PM、30代はWeb系エンジニア向けのキャリアアドバイザー。40代の今はフリーランスで開発含めて色々やってます。技術ネタとしてはRuby/RailsとJavaScript関連あたり

オープンソースなソフトウェアで町おこし





今朝は本来ならばデッサンの勉強しなければいけないけど、Rubyの勉強にはまっているために今日はデッサンの勉強はお休み

やっと初めてのRubyも半分近くまで読み進めて、現在は文字列の所やっているけど、今まで自分がもってない概念の「シンボル」が新鮮だったので自分なりの理解をちょっとまとめ。

シンボルっていうのは、文字列と性質が似ているらしいけど、文字列の場合には内容が同じでもオブジェクトは同一にならないのに対して、シンボルは、内容が同じであれば必ず同一のオブジェクトになるそうです。

例として、文字列だと
str1 = "ruby"
str2 = "ruby"
となっている場合に、以下は内容は同じなので、true
p str1 == str2
ただ、オブジェクトの比較をした場合には、これはfalseになる
p str1.equal? str2

一方、シンボルの場合には
symbol1 = :ruby
symbol2 = :ruby
となっている場合に、以下は内容は同じなので、true
p symbol1 == symbol2
オブジェクトの比較をした場合に文字列での結果とことなりこれはtrueになる
p symbol1.equal? symbol2

こんな性質があるようで、シンボル同士は文字列同士に比べて高速に同値性を判定できるそうで、さらにハッシュのキーの利用に適してるそうで、実際にRuby on Railsに代表される現在のRubyコードでは多用されているとのこと。

言われてみると、symbol1 = :ruby のような記法は見たことがあるような気もするけどその時はあんまり意味がわかんなかったので、ちょっとわかったような気がする。

で、こんなコードばっかり書いていて、肝心のタイトルについて触れると、昨日の日経新聞で三鷹にある株式会社まちづくりで、三鷹の地方自治体向けIT事業の特集記事が出ており、Rubyを使って自治体向けに図書館管理システムの受注が出来るように各自治体めぐりをしてるという内容を読みました。

10万から20万人規模の自治体向けの図書館管理のシステムだと従来数千万の予算がかかっていたそうだけど、Ruby(正確にはRuby on Railsを使った)開発だとそこまでの予算投資しなくても済むという見積もりのもとこれから営業かけるそうですが、従来は大手が独占していた所に風穴をあけるという意気込みらしい。

Rubyを使っているかどうかという以前に、単純に大手以外の選択肢が増えることで、従来通りに大手に発注するという自治体もあれば、他の選択肢があるならば、そちらを選ぶ自治体も登場したりと何らかの変化が生じるのかなぁーと思っています。

「自治体なんてどこも横並びだろうから、そんな虫のよい話は無理でしょ」

という意見もありそうですが、自分が知っている限り、意外と進んでいる自治体もあって、たしか福島県会津若松市の方では公的な文書フォーマットとして、ODF というものを使うというリリースが出ていますが、これはどこかの会社(マイクロソフトとか)に依存してしまうと、その会社の都合で今後長期的にその文書フォーマットが利用できる保証がなく、ここのお偉いさんはその点がきちんとわかっているらしく、このODFというフォーマットの採用を決めたそうで、オープンソースを活用した町おこしっていうのが生じるかもしれませんね。
Tags: