主夫ときどきプログラマ

データベース、Webエンジニアリング、コミュニティ、etc

ruby

ワーシャルフロイド法でABC 208 D - Shortest Path Queries 2を解く

はんなりプロコン AtCoder部 #14 - connpass で取り組んだ問題。理解するのに時間はかかったけど、わかってしまえば簡単だった。 D - Shortest Path Queries 2 解説は公式よりもユーザー解説の方がわかりやすかった。 blog.hamayanhamayan.com わかりにくか…

久しぶりにAtCoder参加したらふつうにだめだった

AtCoder Beginner Contest 209 に参加しました atcoder.jp 結果C問題以降が解けず、ランクが下がりました。悲しい。後日、解説を見て勉強しました。 masayuki14 - AtCoder C - Not Equal atcoder.jp 全探索しようものなら日が暮れても終わらなさそうなので、…

じぶん Release Notes (ver 0.38.8)

masayuki14(ver 0.38.8)がリリースされました。更新内容は下記のとおりです。 1月は環境になれたり仕事をこなすので結構たいへんだった。2つの案件を並行してやるのは大変だしどっちも慣れてないっていうストレスがある。成果も思ったように出せているか疑問…

幅優先探索をマスターした

最近はあまりAtCoderできてなかったけど、勉強会で幅優先探索をやった。勉強会やっておけば強制的に時間をつくれるので、ゆるく長く続けるにはオススメ。 幅優先探索はQueueを使う 幅優先探索にはQueueを使う。Rubyでは配列を使えばよい。Queueに入れるとき…

じぶん Release Notes (ver 0.38.7)

masayuki14(ver 0.38.7)がリリースされました。更新内容は下記のとおりです。 12月中旬から新しいチームにジョインしました。仕事が再開しました。引き続きRailsでの開発です。 登録セキスペも中小企業の情報セキュリティマネジメント指導業務で中小企業に指…

2次元累積和をまなぶ

AtCoderの勉強でかねてより累積和の勉強をすすめていた。一段落したので記録しておく。 参考にした記事はこちらです。 qiita.com 1次元累積和はけっこう簡単で、この記事を読めばだいたい理解できる。コードも1次元の配列を使うだけなのでわりとすんなりかけ…

じぶん Release Notes (ver 0.38.4)

masayuki14 (ver 0.38.4)がリリースされました。更新内容は下記のとおりです 夏も終わり過ごしやすい日が増えたおかげで、仕事に対する姿勢が良くなった。 とはいえ気温的には夏日が多い1ヶ月だった。ここ10年くらいで確実に夏認知システムがバグってしまっ…

Ruby教材 Release Note for 0.4.1

公開中のRuby学習用の教材のバージョンが 0.4.1 となりました。 Release Note 細かい修正を行いました。 文言の統一 表記ゆれの統一 リンク先のページが誤っている箇所の訂正 fix typo 動画の埋め込み 4-2 optparse標準ライブラリを使うに解説動画を埋め込み…

深さ優先探索をマスターした。

蟻本の序盤で出てくる深さ優先探索を練習すべくこの問題をやっていた。 atcoder.jp 最終的にこんな感じに落ち着いて、まぁ解説通りだろっていう感じです。 ENV[Z='RUBY_THREAD_VM_STACK_SIZE']||exec({Z=>'100000000'},'ruby',$0) (N, M) = gets.chomp.split…

Ruby教材を Version 0.4.0 にアップデートしました

公開中のRuby学習用の教材のバージョンが 0.4.0 となりました。 Release Note 4章が追加されております。 4章 コマンドライン設計 - 4-1 オプションによる挙動の制御 - 4-2 optparse標準ライブラリを使う - 4-3 オプションの実装 4章はOptrionParserクラスを…

Rubyのプログラミング教材をリリースしました

昨年の11月くらいから書き始めていたRubyのプログラミング教材がリリースされました。 わっしょーい。 TechPitという教材のマーケットプレイスに出品した形です。 誰でも自由に出品できるわけではなくて、担当の編集者さんやレビュアーさんと一緒に作ってき…

RubyKaigi2016 に行ってきました。

RubyKaigi2016が京都で開催されました。 RubyKaigiが地元で開催されるのなら行くっきゃない、ということで申し込みました。 早い段階で申し込みをしたこともあり、HelperStaff募集にも応募することができ、 HelperStaffでの初参加と相成りました。 今年はHel…

Rubyでメタプログラミング

勉強会でRubyについて話す機会があったのでその資料を公開します。 勉強会についてのエントリはこちら。 スプーキーズの勉強会イベント一般公開します。 - スプーキーズの中の人。 メタプログラミングとは? コードを記述するコードを記述すること メタプロ…

ruby プログラムから ActiveRecord を使う

ruby から activerecord をつかう。 1 require "rubygems" 2 require "active_record" 3 require "logger" 4 5 ActiveRecord::Base.logger = Logger.new("debug.log") 6 ActiveRecord::Base.establish_connection( 7 :adapter => "mysql", 8 :host => "local…

rails インストールメモ

FedoraにRailsをインストールしたのでメモ。 ほとんど yum でできるので簡単です。 $ sudo yum install ruby # ruby.i686 1.8.6 $ sudo yum install sqlite # sqlite.i686 3.6.20 $ sudo yum install mysql-server # mysql.i686 5.1.47 $ # DBはsqliteの仕様…

ハッシュ関数で暗号化

データをサーバーに保管する際、データによっては暗号化した状態で保存し利用する、という要求は往々にして発生します。 この場合、 ・逆変換されないこと(現実的にむり) ・変換が一意であること が大事になります。 要はハッシュ関数使ってハッシュ化しよ…