サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
2024年ランキング
kouji0625.hatenadiary.org
DXRuby (http://dxruby.sourceforge.jp/) を利用して作られたゲームをMacでもLinuxでも動くようにするためのソフトウェアdxruby_sdl (https://github.com/takaokouji/dxruby_sdl) を作りました。ソースコードやインストール方法はGitHubで公開しています。MITライセンスのオープンソースソフトウェアです。 dxruby_sdl それでは、dxruby_sdlの紹介です。 dxruby_sdlはDXRubyと完全な互換(を目指した)ライブラリです。提供するライブラリのファイル名、クラス、メソッド、定数などをDXRubyと全く同じにしています。DXRubyを利用したゲーム、例えば島根県が開催されたRuby合宿で作ったものや、同県の松江市で開催した中学生Ruby教室で作ったものが、MacやLinuxでも動作し
Rubyのdef式って、nilを返すんですね。知らなかった... で、以下のチケットにあるように、次のバージョンである Ruby 2.1ではsymbolを返すことになるようです。 https://bugs.ruby-lang.org/issues/3753 We accept this change for 2.1 in the developers' meeting on 2013-07-27. We also think define_method() should return symbols as well. Matz.で、def式でnilではなく、symbolを返すようになると以下のように書けるようになります。おぉ、Javaっぽい(って、うれしいのかなwww)。 class Foo private def foo() # ... end end いいね! --- 参考URL ht
RSpec Mock 2.14にはexpectっぽい記述が追加されましたね。http://teaisaweso.me/blog/2013/05/27/rspecs-new-message-expectation-syntax/ # Old foo.should_receive(:bar) foo.should_receive(:bar).with(:buzz) foo.should_receive(:bar).exactly(3).times # New expect(foo).to receive(:bar) expect(foo).to receive(:bar).with(:buzz) expect(foo).to receive(:bar).exactly(3).times それだけかと思っていたら、DoubleパターンのTest Spyが実装されています。(Test Spyについ
簡単にいうと「Jenkins on Ubuntu の文字化けを直す(http://shunirr.hatenablog.jp/entry/2013/01/10/175426)」 の Mac OS X 版で、Rakeなどの結果に日本語が含まれている場合に文字化けしてしまうのですが、それを解消する手順ですね。なお、この手順はインストーラ(jenkins.pkg)でJenkinsをインストールした場合を想定しています。 それでは、今日もはりきっていってみましょう♪ - 「/Library/Application Support/Jenkins/jenkins-runner.sh」を以下のように修正します。 (修正前) javaArgs="" (修正後) javaArgs="-Dfile.encoding=UTF-8 -Dsun.jnu.encoding=UTF-8"その後、Jenkinsを再起動
昨日、これからやりたいことを書いたのですが (http://d.hatena.ne.jp/kouji0625/20130605/p1) 、それをある程度実現しているスクリプトがあるとのことなので調べてみました。 A Test Code Generator for RSpec Users: https://speakerdeck.com/seratch/a-test-code-generator-for-rspec-users 既存のクラスから、メソッド定義を抽出して、それを呼び出すspecを自動生成するというものです。 詳しくは上記のスライドか、GitHub から: https://github.com/seratch/rspec-kickstarter これはすばらしい。特に、Rubyスクリプトの解析をするためにRDocを使っていることがすばらしい。目の付けどころが、シ(ry rspec
はじめに Railsのアプリケーションを作成していると、同じようなモデル(STIを使っているとよくありますよね)、同じようなコントローラ(RESTfulにすればするほど、コントローラは似てきますよね)が増えてきます。新しいモデルやコントローラを作るときに、コピー&ペーストしたあと、エディタでクラス名を置換し始めたら、カスタムgeneratorを作成するチャンスです。 カスタムgeneratorはめっちゃ簡単に作成できます。しかも、特定のアプリケーションの開発ノウハウ(アクションの作り方やRSpecの記述内容)を動作するプログラムとして記述することができます。 というわけで、カスタムgeneratorの作成方法を説明します...とおもいきや、Rails Guide (http://guides.rubyonrails.org/generators.html) に詳細な説明がありますので、細か
今年の中学生Ruby教室 (http://www1.city.matsue.shimane.jp/sangyoushinkou/ruby/rubycity/junior-ruby/junior_ruby.html) のプラットフォームが Windows から Mac に変わることを受け、Mac でも使える Ruby の 2 次元描画ライブラリを調べていました。いまのところ、 R2D が API もプロジェクトの目的 (http://www.learnru.by/) もよさそうなので採用しようと思っています。同じようなライブラリでは GreenShoes(http://ashbb.github.io/green_shoes/jp/) がありますが、こちらは Mac では正しく動作しないのであきらめました。 R2D - https://github.com/blacktm/r2d それで、中学
Ruby + RSpecでのTDD(BDD)において、shared_examplesやshared_examples_forは最高の武器ですね。 ご存知のようにtest-unitではRubyの言語仕様を駆使してテストコードの共有資産(assert_XXXXなど)を用意することになりますが、RSpecではshared_examplesやshared_examples_forといった語彙が用意されており、それらを使ってテストコードの共有資産を用意することができます。例えば、以下のような感じね。 shared_examples_for "SomeClass#finalize" do describe "#finalize" do it "メモリを開放する" do ... end it "objectプロパティがnilになる" do ... end end end describe "Class1
開発はMac OS X、でも運用はLinuxという環境だと、Mac(開発環境)だけで必要な処理が出てきますよね。例えば、/path/to/libxx.soを/path/to/libxx.dylibに変えたりとかね。 それをなんとかしながら、運用で回避していくのがMacユーザですよね〜(BK!!) 今回は、その方法のひとつを紹介します。 ソースコードは、Gitで管理しているとして、現在はローカルのmasterブランチだとしますね。 まずは開発環境用の修正を入れるブランチを作成します。 $ git co -b patches/dev (aliasを設定していて、coはcheckoutですよ〜)このブランチで開発用のいろいろな修正をして次のようなログでコミットします。 開発用の修正です。マージのときに必ずrevertしてください。 以下の修正を含みます。 * 修正1 * 修正2 ... reve
Cucumberって、仕様設計者の意図をプログラムによる自動テストにできる魔法です。 仕様設計者っていうのは、Rubyでのプログラミングが難しいけど、お客さまのニーズを理解して、それをドキュメントにできるハイパーな人です。プログラマにとっては神様です。 (でも、それがプログラマの徹夜の源なのだったりしますよね。実現が困難で意図が不明な仕様を必死で実装する感じですよね。だから、それをなんとかしなければ徹夜は解消できないと考えてみました。) Cucumberではプログラマ以外の人でも分かりやすい記述ができます。 でもね、どうせそのドキュメントを見るのはプログラマだけです。なので、生のCapybara APIで十分なのかもしれませんね。なので、ここではRSpecのfeature specを考察します。 from Feature spec on Relick : https://www.relis
みなさんは全国高等専門学校プログラミングコンテスト(以下、高専プロコン)をご存じでしょうか? 簡単に言うと ロボコンの姉妹イベント ですね(ぉ なかなか良いイベントなんですよね、これが。私は松江高専の5年生のときにはじめて参加しました。そのときの私は松江高専では先生も含めてプログラミングについては右に出る者はいないと思っているくらい調子にのっていましたが、それは井の中の蛙だってもんでした。高専プロコンで私よりもできる人が何人かいて、とても大きな刺激を受けました。 そのときにすごいなと思った人がコーラをちびちび飲んでいてそれから私はコーラを好きになりました。 コーラを飲めばその人みたいにコードが書けるかもしれないじゃん(キリッ - 先日、その高専プロコンに向けた松江高専の校内審査会に審査員として参加させていただきました(私というかNaClを呼んでいただいた関係者のみなさまに感謝いたします)。
ついにこの日がきました。そう、iPhone・iPadアプリ(iOSアプリ)をRubyで開発できるようになったのです。 さっそく、いっしょにやってみましょう。 [STEP1] RubyMotionのインストール iOSアプリをRubyで開発するには RubyMotion が必要です。 Write cross-platform native apps in Ruby | RubyMotion から購入します。(実は無料ではないのですよね〜) RubyMotionはあのMacRubyの開発者の Laurent Sansonetti がフルタイムで開発しているソフトウェアです。彼はすでにApple社から離れてヨーロッパでこんなことをしていたのですね。 今なら25%オフのセールをしていて日本円で12,348円です。(最後の8が5だったらよかったのにね) iOSデベロッパープログラムと合わせると約2万
RubyでRubyGemsを作るときにどのような方法を使っていますか?(えっ、Railsしか使ってないって!?まぁ、そういわずに便利なコマンドライン用のツールとかを作るのも楽しいよ〜) 最近では、 Bundlerを使ってRubyGemsを作るのが簡単 ですよね。 作りたいプログラムの名前を決めたら次のコマンドを実行します。これだけで一通りの開発環境とリリース準備ができてしまいます。 $ bundle gem very_nice_tool --bin --verbose でもちょっと待ってよ。これを仕事で使うならば注意しないといけない点があります。 これが非公開のプログラムだったらRakefileを次のように修正したほうがいい。 修正前のRakefile。 require "bundler/gem_tasks" 修正後のRakefile。 # releaseタスク以外のbuildタスクとin
国内ソフトウェア開発者の実態調査結果を発表: http://www.idcjapan.co.jp/Press/Current/20120206Apr.html より ソフトウェア開発者がスキルを有する言語と、その中で最も使用している言語を尋ねた結果を見ると、多くの回答を集めた言語はC言語、Visual Basic、Java、C++、COBOLと、上位5位まで共通する結果となりました。 我らがRubyは、というと0.1%でPascalを0.1ポイントも引き離す結果となりました。(パンパカパーン♪) 入社した当時は、 「Rubyは我々の秘密兵器だ!」 と言われたものでした。 それが2004年にRailsというRubyで作られたフレームワークが大流行してからは、なんかRubyはメジャーな言語だ、という気持ちになっていました。 しかしながら、IDCが出した調査結果が現実ですよ。 え〜と、Rubyは
(2012/02/10追記:まぎらわしいのでタイトルに「?」を追加しました。) ここ数日、MySQLのライセンスに悩んでいました。きっかけは知り合いがFacebookに書き込んだ以下のコメントです。 MySQLのライセンスの話から、GPLについて調べてた。受託開発でGPLライセンスのプロダクトを利用する場合の、納品についてのライセンス形態について、まだ理解できていない。 「えっ、MySQLのライセンスはGPLだよね、それなら簡単でしょ。」って思い、コメントしたのですが...少し気になって調べると驚くべき記事がありました。 MySQL ライセンスで頭が痛い: http://d.hatena.ne.jp/kurosaka/20071214/p1 より 企業ユーザは100% MySQL AB社にライセンス費用を支払わなければならない感じ。 また上記のブログには以下のように追記されている。 GPL
はじめに MacRubyを普及させたい。その思いは日に日に高まっている。ではどうすればよ いのか。Mac上でRubyを使っている人がMacRubyに移行するにはどうすればよい のか。うん、それはRaiis。これが答え。 ということでMacRuby上でRailsが動くようにする。Railsには一切手を加えずに、 問題があればMacRubyを修正する。目標は7月。(当然、本業優先で) 高いハードルを乗り越えてこそハッカーへの道が開けるというもの。 Railsのインストール方法(cRuby編) さて、ひさしくRailsをさわっていないため、まずはcRubyでのRailsのインストール方法 の確認から。アジャレイルズ本の第四版を参考に作業する。 ※cRubyはtrunkを「19trunk」サフィックス付きでインストールしている。 $ sudo port upgrade sqlite3 $ ruby
11/6-7は関西Ruby会議02に出席していました。いままでのギークなイベントの中では最大級(つまりセミプロ級)に人との会話ができました。とても楽しかったです。そして、まつもとさんクラスの人にお会いしたことが私の一番のツボでした。これからもよろしくお願いします。 - さて、私の発表ですが、RHC本の宣伝とMac OS X 10.6のGCDについてお話をさせていただきました。立ち見が出るお客さんに入っていただけたようでしてありがたい限りです。そのあとのサイン会で書籍を購入いただいた方、ありがとうございました。RHC本の内容で分からないことがあればTwitterでもブログでも直接でも結構ですので、ご連絡ください。精一杯の対応をさせていただきます。 RubyによるMac OS Xデスクトップアプリケーション開発入門--Snow Leopard対応版View more documents fro
今日はNaClから一人で乗り込みました。平日だというのにRuby関西のコミュニティの人が多くてびっくりしました。また、終始okkezさんにお世話になり、無事にホテルまで帰ることができました。この場をお借りしてあらためてお礼を申し上げます。 次の方に今日お会いすることができました。今日は積極的にお話しすることができたので、私としてはとても満足しています。 Ruby関西 ひがきさん okkezさん no6vさん ランゲート 松本さん sixeightさん ujihisaさん その他にもいっぱい。コミュニティの層が厚くてうらやましいです。(とくに女性?) KOFスタッフ 柴田さん 吉井さん Cocoa勉強会関西 北村さん オオモリさん もうひとりの方(帰りの電車でもお話ししていたのに名前が思い出せません。申し訳ありません。) 中村うさん その他にもいっぱい。日中は酔い止めが効きすぎていて名前を失
拙著『RubyによるMac OS Xデスクトップアプリケーション開発入門』が9月25日に発売されます。無料プレゼント企画を開催中です。ふるってご応募ください。 - この記事の情報は古いです。id:kimurawさんがXcode用のRubyCocoaのテンプレートのインストーラを公開されています。詳しくは『Snow Leopard用のプロジェクトテンプレートを配布開始 - きりかノート 3冊め』を参照してください。以下の手順ではなく、インストーラを使うことをオススメします。(追記:2009/09/24) はじめに Mac OS X 10.6(Snow Leopard)のXcode 3.2では、RubyやRubyCocoaに関するテンプレートが削除されています。このため、テンプレートをインストールしなければXcode 3.2ではRubyCocoaでアプリケーションを開発することはできません。
待ちに待ったMacRubyのオフィシャルGitレポジトリが公開されました。 MacRuby-devel MLに投稿されたメールより Subject: [MacRuby-devel] Git Mirrors より Hi, We now have git mirrors of our SVN repositories: git://git.macruby.org/macruby/MacRuby.git git://git.macruby.org/macruby/MacRubyWebsite.git They mirror during post-commit, so the mirror should never be more than a few seconds behind subversion. Feel free to use them. The following page inc
MacRuby 0.5までのロードマップを翻訳してみました。3回に分けて投稿します。これを読むとMacRuby 0.5が待ち遠しくてわくわくします。それでは、第1回目をどうぞ。 - 順調に作業が進んでいます。でも、バージョン0.5のリリースという目標を達成するまでにたくさんやるべきことが残っています。ここに、(リリースまでの)ロードマップを作成しました。何かフィードバック(または漏れ)があれば私に教えてください。 まずは、(Subversion)のexperimentalブランチをtrunkにマージする必要があります。そのためには、次に挙げる3つの重要な作業を行う必要があります。 1. irbが動作するようになること。Bindingクラスまわりの細かいバグがある。 2. rakeが動作するようになること。上記と同様に、細かいバグがある。 3. hotococoaが動作するようになること。h
はじめに 先日の日記 で書いたように、現在、RubyCocoaとHotCocoa(MacRuby)に関する書籍を執筆中です。監修は、なんとRubyCocoaの id:kimuraw さんと、LimeChatの id:Psychs さんです。RubyCocoaでは有名なお二人に監修していただき、とても感謝しています。 さて、今回は私の執筆環境について少しお話ししたいと思います。執筆をやりはじめたときはなかなか環境が整わず、「締め切りもあるのに−。あぁ、どうしよう。」なんてことになったりしました。しかし、今ではそれなりの環境を整えることができました。この文章が、これから執筆する人の参考になれば幸いです。 ハードウェア まずは執筆に使用しているハードウェアを紹介します。 MacBook Apple。2007年10月発売、ホワイト。メモリとHDDをそれぞれ4GB、250GBに換装しています。 家族
最近忙しくて、日記の更新をさぼっています。 いまは、書籍の執筆活動をしています。なんとか出版がRuby会議2009に間に合うように努力していますが、どうなることやら。レビューアさんや監修者さんにいろいろお願いしたりと大忙しです。 以下に簡単に書籍を紹介しておきます。 Rubyは知っているがRubyCocoaやCocoaは知らない(もちろん知っていてもよいです)という方を対象に、Mac OS X上で動作するRubyによるデスクトップアプリケーションの開発方法を説明します。本書は第1部から第4部+付録で構成されます。これからがんばって5 月末までに原稿を仕上げ、7月中旬の出版を目指しています。 いまのところRubyCocoaに関する書籍はpragprogの Programming Cocoa with Ruby: Create Compelling Mac Apps Using RubyCoc
本日、バス通勤になってから初めてバスに忘れ物をしてしまいました。忘れたのはお弁当袋に入ったお弁当です。それをバス会社へ取りに行ったときの一コマです。 私「今日、バスで忘れ物をしたものですが」 バス会社の人(以下、バ)「これですよね」 私「あ、それです」 バ「それではこちらの紙に名前と住所を書いてください」 私「はい」 そして、私が紙に名前と住所を書いていると、バス会社の人が、私のお弁当袋を指でさしながら恥ずかしそうと、 バ「あのー、これ雑誌とかにでている…、あの人(まつもとさん)なのですか?」 私「いやいや、全然違いますよ。その人と私は同じ会社でして、サインをもらっただけです」 バ「あ、そうなのですか」 なんと、バス会社の人は私を「まつもとさん」と間違えてしまったのです。まつもとさんと私は全然違います。それなのに、なぜ間違えたかというと、私がこんなお弁当袋をバスに忘れてしまったからです。
capistrano_colors とは Capistrano の実行結果を見やすいように色付けします。 例えば、以下のようになります。 インストール capistrano_colors は RubyGems を使ってインストールできます。 $ gem install capistrano_colors (環境によっては以下のコマンドになるでしょう) $ sudo gem install capistrano_colors $ gem1.8 install capistrano_colors $ gem187 install capistrano_colorsインストールしただけでは、capistrano_colors は有効になります。なりません。(2009/02/20追記) 有効にするには、 ~/.caprc に以下を追記します。 require "capistrano_colors"
はじめに ruby 1.8.7-p72 より後の変更点を、パッチレベルごとに次の内容を解説しています。 ChangeLog ソースコードの修正内容(diff) 不具合の内容(私が独自に調査した結果) 影響範囲(私が独自に調査した結果) この情報が、アプリケーションの開発者には新しい版を使うための勇気を与え、サーバ管理者にはいつかリリースされるであろう新しい版を導入するときに安心感を与えることができれば幸いです。 公式タグ(なんていうのもおこがましいのですが)は Ruby187ChangeLog でお願いします。ブログやブックマークはこのタグを使用していただければ助かります。 変更点の一覧 ruby-1.8.7-p73 ruby-1.8.7-p74 ruby-1.8.7-p75 ruby-1.8.7-p76 ruby-1.8.7-p77 ruby-1.8.7-p78
はじめに 本文書は、ruby 1.9 に導入された M17N 対応について、調査した結果や調査に関する作業ログである。 調査の目的は、私がメンテナンスしている Ruby の Readline モジュールを最近 (2008 年 10 月 25 日現在 ) 導入された Encode.default_internal に対応するための知識をつけることである。 用語 本文書で使用する用語を定義する。 Ruby スクリプト プログラミング言語 Ruby で記述したプログラム。また、そのプログラムを含むファイル。 スクリプトエンコーディング Ruby スクリプトを記述している文字列のエンコーディング。UTF-8 の文字列リテラルや正規表現を記述している Ruby スクリプトのスクリプトエンコーディングは、UTF-8 である必要がある。スクリプトエンコーディングが不正な場合、コンパイルエラーが発生する。
今日、まつもとさんから次のメールがruby-devに投稿された。 まつもと ゆきひろです 次回のリリース前に解決しておかなければならない用件って一覧になっていましたっけ。redmineだと [ruby-core:17472] [Ruby 1.8 - Bug #206] BigDecimal precision in divmod [ruby-core:17500] [Ruby 1.8 - Bug #211] "wrong argument type" "expected Proc" [ruby-core:17479] [Ruby 1.8 - Bug #212] Issues with Readline in Mac OS X [ruby-core:17518] [Ruby 1.8 - Bug #216] Memory leaks in 1.8.6p230 and p238 [ruby-co
今年はなんとかデスマーチを回避し、Ruby会議2008に参加できた。参加できたことはよかった。しかし、実際のところ、私はRuby自体に興味があり、Railsはちょっと、という人なので、思ったよりも成果が少なかった。来年は動画のライブでいいやと思った。 6/21の記録。 05:25: 起床。 06:05: 移動開始。 07:10: 羽田へ向けてフライト。 10:50: 筑波 国際会議場に到着。 -12:15: JRuby、Rubiniusのセッションに参加。ささださんの話は聞けなかった。 -13:30: 昼食。 -18:00: ほとんどメインセッション。 「6/22の記録」は、ほとんどない。どんな話を聞いたんだっけ。というのも、武者さんとご一緒に夕食できて、武者さんとの時間を楽しみ、気持ち良くなって、飲み過ぎて、忘れてしまった。 武者さんから、(ruby-1.8.6 or 1.8.7)ではな
次のページ
このページを最初にブックマークしてみませんか?
『高尾宏治日記 on はてな』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く