memorandums

日々のメモです。

ruby

台風の影響により終日休講になりました

本日の講義はすべて7月14日(土)に振り返られます。。。orz ちょうど予定がなくてよかった。。。ということで朝から自宅待機で。とはいえ積んでる仕事があるのでボチボチ片付けながら。ちなみにうちの休講条件は以下のようになっています。検索回避のた…

rubyのコード中に全角空白が入った場合の挙動について

rubyの演習課題がわからないと、とある学生から質問があり対応。エラーがなかなかわからない。。。私自身、rubyでの指導経験がないため(自分で起こしたことがないような)エラーメッセージへの対応はまだまだ不足しています。エラーの原因は全角空白でした…

スキャンした画像ファイルのファイル名を固定する方法

タイトルだけではよくわからないですね。。。明日から開催のイベントに向けて、ゲームを少しだけ改造していました。改造のポイントはステージ?を自分で描いて作れるようにする、ということです。来場者に紙を配り、そこにペンで以下のような感じで書き込ん…

exiftoolではmpgファイルのExif情報は変更できません

もういいって感じかと思いますが、作業ログなので。。。昨日、以下を書きました。ファイル名から日付情報を取り出してExif情報を書き換えるrubyスクリプト - memorandumsこれまではmp4が対象ファイルだったのですが、変換対象にmpgファイルがあることがわか…

ファイル名から日付情報を取り出してExif情報を書き換えるrubyスクリプト

少し前に以下のエントリーを書きました。ファイル名から日付情報を取り出してファイル更新日付にセットするrubyスクリプト - memorandumsGoogle Photoに動画(mp4)をアップするときに、意図した日付にならず(撮影した動画ファイルのサイズを小さくするため…

学生・教員はRubyMineを無料で利用させていただけるんです!ありがたやありがたや。

今年度から新カリがスタートし、導入言語をJavaからRubyに変えたため、初心者でも使いやすいIDEを探していました。vimやemacsやatomなどを使われる方が多いようですが、やはりエディタ内でエラーを見たり実行できるようにしたいはずで。以前、Rubyでとある研…

gosuチュートリアルを試してみた(作業ログ)

■背景(お急ぎの方は本題へどうぞ)1年生向けの共通科目に基礎ゼミという科目があります。大学によって呼び名は違うと思いますが、要はこれから大学生として勉強するにあたり、必要なことがらを勉強してもらいましょうという科目です。学科の専門に応じて、…

Rubyで大文字・小文字を区別してファイルを扱う

今日のお話はとても細かいです。作業メモとして記録します。 以前、以下のようなRubyスクリプトを作りました。memorandums.hatenablog.comInstaだのLINEだのという時代に古めかしいと思いますが個人的には重宝していています。で、このスクリプトには重大な…

RVM(gemset)のdefault設定方法

railsでアプリを作ったのは数年前。きれいさっぱり忘れています。少し時間ができたので再勉強。rvmのgemsetでrailsをインストールしたものの、以前もうまくdefault設定ができず困ったことを思い出しました。で、できたのでメモです。rubyとrailsの導入はこち…

サムネイル画像(html)を生成するrubyプログラム

撮影した写真をサムネイル化してhtml表示するのにIrfanViewを利用してきました。特に理由はないのですが、Windowsをメインで使っていた頃からの習慣で。ただMacでは利用するたびに仮想化ソフトを起動しなければならず面倒でした。それでも使用頻度が少ないの…

文字列中にある文字列が含まれる個数をカウントする

プログラムを作っていて表記なようなルーチンが必要になりました。gistを探せばすぐ出てきそうですが作ってみました。Rubyらしいプログラムはなかなかできないもので。。。1文字ずつベタで検索するプログラムを作ったのですが、サーチならinclude?やindexが…

makepath

Windowsとmac(Linux)ではファイルパスの区切り記号が異なりますね。rubyプログラムからファイルにアクセスするときに実行環境を参照してこの区切り記号を切り替えるプログラムを作りました。恐らく、こんなプログラムはどこかの便利ライブラリに入っていると…

欠席者管理用Webシステム(未完)

現在、学科教員間でメーリングリストを介して欠席者の連絡とフォローをしています。科目担当者が講義毎に記録する出席簿から欠席者を抜き出し全員(主は担任)に報告します。特に注目しているのは連続欠席者です。休みが少し続くということは何か問題がある…

csvファイルからfixturesを作成するrubyプログラム

とりあえず自分用に作ったので公開。この手のプログラムは世の中に掃いて捨てるほど公開されていると思いますが、簡単なプログラムなので自分で作ってみました。エラー処理は全くしていませんが。。。もし良ければ使ってください。 #Usage: fixtures_generat…

PStoreのtransactionメソッドのようなもの

メモです。今、rubyのおさらいを兼ねて「作りながら学ぶRuby入門」をざーっとフォローしているのですが、そこで出てきたPstoreの使い方のページ(176P)に以下のコードがあります。 require 'pstore' db = PStore.new('dbfile') db.transaction do db["drink"…

Vim within IRB を試してみた

Rubyでちょっとしたコードを試したいときにirbを使いますが、ブロックなど複数行にわたるプログラムをirbで書くと見にくい書きにくい。その問題を解消してくれるのがinteractive_editorのようです。Link: Running Vim within IRB設定方法は上記のリンクにあ…

Benchmarkの合計を求める

Rubyにコードの範囲を指定して処理時間を計測する便利クラス「Benchmark」があります(今日知りました)。使い方は以下のような感じです。 require 'benchmark' puts Benchmark.measure { for i in 1..1000 puts 'hello' end } puts Benchmark::CAPTION 実行…

Ruby1.9.1のcsv.rbではまる→強制的に解決

企業との共同研究で開発してきた物流シミュレータ「流」。物流規則をDSLっぽくしたかったのでRubyのお力を借りています。Rubyは1.8.7で開発してきました。といってもRubyでまじめにプログラムを書いたのは今回が初めてなので大したことはやっていません。不…

ランダムソート

以下のような問題と選択肢のペアがあったとします(SPI言語問題)。正解をランダムソートして問題を作るプログラムを作ってみました。問題 正解 1 起源 1 発祥 2 揶揄 2 愚弄 3 我慢 3 忍耐↓(ランダムソート;例)問題 選択肢 1 起源 1 愚弄 2 揶揄 2 忍耐 …

Googleカレンダーの過去の予定を一気に削除する簡易スクリプト

仕事が一段落したので、部屋やPCなどの整理をしていました。GmailやGoogle Calendarもいらないものは削除。と思いきや、Google Calendarは予定を全部削除することはできても一部(例えば1年前より過去の予定とか)をまとめて削除する機能がありません。なぜ…

クラスメソッド+演算子式(メモ)

昨年末にクラスメソッドについて少し書きました。ついでなので、演算子式も使えると便利だよなということで試したメモ。Rubyリファレンスの演算子式とクラスメソッドの説明を参考に。 class A @@a = [] def self.[] x @@a[x] end def self.[]= x, v @@a[x] =…

日時文字列からTimeへの変換(メモ)

ごくごく初心者的なメモです。VBで出力した日時文字列をTimeオブジェクトに変換する記述がわからずはまっていました。いろいろとやってみて最終的にわかったのはtimeライブラリを用いる方法です。これは本当に簡単。たった1行です。こんなところに書くまで…

コンプガードコントロールセンターの管理マシンリストを作成するRubyスクリプト

コンプガードコントロールセンターというPC管理ソフトウェアを利用しています(積極的に利用しているというより利用せざるを得ない環境という意味)。管理するPCをGUIで登録してリモートでPCの起動・停止などができます。 ある用事でこのソフトウェ…

mac(SnowLeopard)+netbeans6.8+ruby1.8.7でデバッガが動作しない

実は先日、解決済みだったのですが、なぜ解決できたかわからなかったのでメモしませんでした。。。もう1台のmacで同じ現象が。。。とりあえず試してみたのは以下の通りです。■ruby-debug関係の状況調査 gem list ruby-debug LOCAL GEMS *** ruby-debug-base…

netbeansでの出力ウィンドウの文字化け(メモ)

netbeans6.8を使ってrubyでシミュレータを開発中。netbeansを真面目に使うのは始めてです。なぜか出力ウィンドウに表示される日本語が化けます。対処は以下の通りです。/Applications/NetBeans/NetBeans 6.8.app/Contents/Resources/NetBeans/etc/netbeans.c…

Ruby練習

配列にメソッドを登録して、順次評価するようなプログラムが作りたく。。。書籍やリファレンスマニュアルなど見て試行錯誤しました。どうやら、以下でいけるらしい。これが本式なのかわからないけど、結果的に関数ポインタ的な使い方になりました。 def rule…

「Ruby」じゃ通じない?

Link: プログラム言語「ルビー」使う企業育成 大手ネットと初商談会 県 30日に都内で企画 (西日本新聞)九州で粛々と育てられてきたRuby関連活動がいよいよ全国展開へ!ということです。当初は「Ruby」だけで経済が動くというのは”不思議な感じ”がしたの…

Ruby+SQLiteではまる...

研究用のプログラムでデータベースが必要になり、一番セットアップが簡単そうなRuby+SQLiteでプログラムしてみることに。macなのでRubyもSQLiteも導入済みです。一応、gemで確認。さ、rubyで少しずつプログラムを書こうとしたところ。。。require 'sqlite3'…

Ruby-Processingを少し

時間があったのでprocessing.orgをじっくり眺めていました。。。*1 アレレ?Related InitialitvesにRuby-Processingなるリンクがありました。 以前、jruby+processingで遊んだことがありましたが。。。それと違うんかいな?と。とりあえず試してみることに。…

RubyConf08

twitterで知っただけですが、ruby conference 2008の映像が見れます。こちらです。まつもとさんのkeynote、角谷さんのプレゼンもカッコいいです。オープンなrubyのスーパーエンジニアの活躍を見れば新3Kもどこかに行ってしまいそうです。