Ruby 1.9の話です。Rubyは、Tempfileクラスを使うと、tempfileを簡単につくれて便利です。今回、大人の事情で、tempfileをascii-8bitで作る必要がありました。結論だけ書くと、下のように指定すればOKです。 Tempfile.new("foo", encoding: "ascii-8bit") 暫定的な仕様なんでしょうか、将来は変わるのかもしれませんが。とりあえず、これで。あと、Herokuは基本的にファイルのアップロードに対応していませんが、tmpディレクトリには一時的にファイルを保存できるので、活用するといいですね。
Kindleでsampleをいろいろダウンロードして読んでいます。そうすると、自分の英語力のどこが弱いのかが見えてきました。奥さん、見えてきました。どうも単語がわからないわけじゃない。知ってる単語ばかりの文でも理解できないときがあります。 これは、文法を復習したほうがよさそうだ。と思って家にあった「総合英語Forest」を引っ張り出してきたものの、1冊まるごと読むのはしんどいですね。いい参考書はないかと探してみました。一生懸命探しました。見つかりましたよ。「英文読解最短ROUTE」です。 これは、おすすめ。Amazonだと、在庫切れ?になっていて、中古が倍以上の値段で売られています。ふつうに書店に売ってましたので、リアル書店に行ってみてください。帯に、「今まで、英文を『カン』で読んでいませんでしたか?」と書かれています。先生、その通りです! 最初の例文がこれで、おいおい馬鹿にしてるのかよ、
Ruby1時間でツイッターサービスを作ろう!という記事が人気ですね。面白そうなのでBotだけど作ってみました。カスペルスキーが発表しているレベル1〜4までのウィルス活動警告をスクレイピングで取得してきて、ツイートし続けるBotです。http://twitter.com/kaspersky_bot目的Oauthを使ってみたいRubyを書きたい気分転換カスペルスキーを最近買った(`・ω・)使うものRuby本体Ruby Gems - OauthRuby Gems - TwitterRuby Gems - Mechanize $ sudo gem install oauth $ sudo gem install twitter $ sudo gem install mechanize Rubyとgemは既に入っているものとします。Oauthを使ったツイートは、Ruby Twitter Gemのみで
4つの数字を1回ずつ使って、四則演算で10にするというゲームがあります。Wikipediaによると、「テンパズル」という名前だそうです。ナンバープレートの数字が4つなので、車に乗っているときに妻と勝負したりしています。 テンパズル - Wikipedia ここに、11個の問題が出題されています。東大生の正解率付き。 4つの数字を1回ずつ使用して「10」を作れ! : 2chコピペ保存道場 1問目。これはかんたん。 1,2,3,4 中級。このへんはどうですか? 9,9,9,9 上級。東大生の半数も正解していませんね。 1,9,1,9 超上級。途中の計算過程が整数じゃないのは明らかですね。 1,1,5,8 神。 4,4,5,9 難しすぎです。こうなったら、答えを探すプログラムを書きます。 凰蜥 tech.in-action.net 辣 轢髓韲纃 轢 驟鞨辮? こんな感じ。 おお。どんな問題でも解
home_runというライブラリ。RubyのDate/DateTimをC言語で実装したものです。標準ライブラリと比べて、20〜200倍パフォーマンスが良いそうです。標準ライブラリと、「ほぼ」互換性があります。 no title README.rdocに載っているベンチマーク。 i386i386i386i386amd64 WindowsLinuxLinuxLinuxOpenBSD 1.8.61.8.71.9.11.9.21.9.2 Date.civil82x66x27x21x14x Date.parse56x56x33x30x25x Date.today17x6x2x2x2x Date.strptime43x62x63x37x23x DateTime.civil252x146x52x41x17x DateTime.parse52x54x32x27x20x DateTime.now78x35x
このブログでもチョコチョコ登場している「DUO 3.0」ですが、別売りのCDがちょうど60分で再生できるようになっています。60分で1冊分の復習ができるので便利なのですが、1日に60分を確保するのが難しかったりします。ファイルの拡張子を変えたりすると、2倍速再生できるようになるのですが、ファイル数が多くなってくるとなかなか面倒ではありませんか。 そこで、ライブラリ内の音声ファイルを2倍速で再生できるiPhoneアプリを作ろうかと企画していました。でも、標準のAPIでそこまでできるのか微妙だなあと考えていたり。ところが、数日前に、2倍速再生できるアプリを発見しました。「おてがる倍速」というアプリです。現在、230円。 no title おてがる倍速(iTunesが開くかも) ライブラリから曲を読み込んで、それを2倍速で再生できます。もちろん、複数曲を読み込み可能で、連続再生もできます。 「D
アキレスと亀。有名なパラドックスですね。ゼノンのパラドックスのひとつです。 ゼノンのパラドックス - Wikipedia アキレスと亀が競争をするのですが、亀がハンデをもらって、アキレスの前方からスタートします。アキレスが亀がいた地点まで到達したとき、亀はさらに先に進んでいます。アキレスがさらにその地点まで到達したとき、亀はさらに先に進んでいます。その結果、アキレスはいつまでたっても亀に追いつくことができません。 これには、数学的な解釈やら哲学的な解釈やらがあるのですが、今回は物理学的な解決法です。私は物理学はほとんどやったことがないので、ド素人の理解です。 上の追いかけっこを繰り返していくと、アキレスと亀の間の長さは確実に短くなっていきます。無限に繰り返すと、永久に追いつけないという話になるわけです。ですが、そもそも無限に繰り返すことができるのか?ということなんです。ここで、「プランク長
データ構造を適宜したクラスを作りたい時があります。メソッドは必要ありません。C系統の言語で言えば、構造体でしょうか。Rubyでは、構造体を超簡単に作ることができます。 まずは、普通にクラスを書いてみましょう。 class Person def initialize(name, age) @name = name @age = age end attr_accessor :name, :age end eita = Person.new("瑛太", 27) juri = Person.new("上野樹里", 23) 非常に冗長な感じを醸し出していますね。そんなのRubyじゃない。。。 そこで、Structを使います。 person = Struct.new("Person", :name, :age) eita = person.new("瑛太", 27) juri = person.new
Rubyでは、すべてがオブジェクト。と説明される場合があります。確かに、「1」も「+」もクラス自体もすべてオブジェクトです。ですが、「ほぼ」すべてがオブジェクトであって、すべてではないんです。 修正(2010-04-30): Rubyでは、メソッドはオブジェクトではありません。トラックバックで教えていただきました。また、まつもとさんも「メソッドはオブジェクトではない」と発言しています。メソッドを「オブジェクト化」することは可能です。ちなみに、Pythonの場合は、メソッドもオブジェクトだそうです。 例をひとつ。ブロックはオブジェクトではありません。 ary.each {|x| puts x} と書けますが、 block = {|x| puts x} とは書けません。 以前、このような記事を書きました。 Rubyのblock、Proc、lambdaを理解する - このブログは証明できない。
エヴァンゲリオンが話題なので、HTML5というかcanvasとJavaScriptで使徒を描いてみました。5時間かかりました。 勝間和代 エヴァンゲリオン コスプレ - Google 検索 まずは、コード。 <html> <head> <title>RAMIEL</title> </head> <body> <canvas id="canvas" width="300" height="300" style="border:1px solid black;"></canvas> <script type="text/javascript"> (function() { var canvas = document.getElementById("canvas"); var ctx = canvas.getContext("2d"); ctx.lineWidth = 10; ctx.strok
前回の記事「Vistaでコマンドプロンプトを任意の場所で開く - 適宜覚書はてな異本」では、VISTAの基本機能にCommand Prompt Hereが取り込まれていること、そしてそれが少々使い難いことを説明した。 今回のハックで、その難点を解決することが出来る。表題にある通り、常時VISTAで「コマンドウィンドウをここで開く(Command Prompt Here)」を表示させるのだ。 以下の手順を進めて欲しい。 1.[スタート]ボタンをクリックし、「検索の開始」欄に「regedit」と入力し、「Enter」キー。 2.ユーザアカウント制御のダイアログが表示されたら「続行」ボタンをクリックする。 3.レジストリエディタが起動する。 4.HKEY_CLASSES_ROOT\Drive\shell\cmdにあるExtendedの名前をExtended_orgと変更する。(Extendedを
1940年、アメリカ最大の広告代理店・トンプソン社の常任最高顧問ジェームス・W・ヤングによって書かれた「アイデアの作り方」が、めちゃくちゃ洗練されていたので紹介します。この本の主文のページ数は、たったの62ページで、さらに、非常に大きな字で書かれています。これだけ短いページで、しかも現代にも十分すぎるほど通用する内容が書かれており、はっきりいって驚きでした。 アイデアのつくり方posted with ヨメレバジェームス W.ヤング 阪急コミュニケーションズ 1988-04-08 Amazon楽天ブックス7netブックオフ 基本的スタンス 良いアイデアと言うものは、一見、偶然の産物、一握りの才能ある者だけが作り出せる物のように見えます。しかし、もし、アイデアの形成される過程が、一定の明確な心理的なプロセスであるなら、アイデアを生みだす技術を習得し効果的に使いこなせるのではないか?これが本書の
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く