サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
iPhone 16
www.iwazer.com/~iwazawa
irbやpryでRubyの挙動を実験してる時に こんなようなミスをして、あ、継承するの忘れた、と思って続けざまに こんなミスをしてしまい、pryを再起動するかーってなるんですけど、クラスBを忘れさせる方法がこちらに紹介されてました。 how to undefine class in ruby? 定数定義を削除してしまうんですね。この例ではremove_constはprivateなので直接呼び出せないためsendを使っていますが、class_evalで中に入って実行するという方法も良さそうです。 私はしばしばやるので~/.pryrcに と書いておいてrm_constだけで呼び出せるようにしちゃいました。
新しく来た開発マシン(OSX Mountain Lionになった)に開発環境を構築しようとしたらGemfileに指定されているRMagickのバージョン2.13.1に対応するImageMagick 6.7.7-6がなぜかHomebrewでエラーとなり入らなかったので、良い機会だと(これを書いた当時)最新のRMagick 2.13.2、ImageMagick 6.8.6-3に変えてみました。 新開発機ではテストは綺麗に通って問題なく動いたのでステージング環境でも同じバージョンのImageMagickを更新してデプロイしてみたところJenkinsさんが定期実行しているテストがコケまくり( ゚д゚) あろうことかすべてのテストがこけている。RMagickがImageMagickのライブラリが見つけられず起動すらしていない有り様でした。 どうやらOSXの環境では最新の組み合わせで実行可能なようです
MotionCVというOpenCVをRubyMotionから使えるようにするラッパーライブラリを細々と開発してます。 現状 ある程度、枠組みはできてあとはOpenCVのAPI郡をどんどんObjective-Cでラップしていけば良い状況なのですが、APIが山ほどあってこりゃ大変だぞと(笑) そこで、サンプルで実際に動かしながら必要なAPIから少しずつメソッドを追加していってます。上から黙々と単純作業で増やしていくだけだと心が折れる(汗) いつかはやらなきゃいけないのですが... マンガ風フィルタサンプル OpenCVで画像変換と言えばマンガ風カメラですからw実装しながら必要なAPIを拡充していきました。 ネットを探せばOpenCVでマンガ風フィルタを実装している例がいくつか見つかりますが、ほとんどがC APIを使っていてMotionCVでラップするのが些か面倒です。 C APIも@watso
分かりやすいのかどうなのかイマイチ判断しづらいが面白い例えw SHA-1 の衝突を見るにはどうしたらいいのか、ひとつの例をごらんに入れましょう。地球上の人類 65 億人が全員プログラムを書いていたとします。そしてその全員が、Linux カーネルのこれまでの開発履歴 (100 万の Git オブジェクト) と同等のコードを一秒で書き上げ、馬鹿でかい単一の Git リポジトリにプッシュしていくとします。これを五年間続けたとして、SHA-1 オブジェクトの衝突がひとつでも発生する可能性がやっと 50% になります。それよりも「あなたの所属する開発チームの全メンバーが、同じ夜にそれぞれまったく無関係の事件で全員オオカミに殺されてしまう」可能性のほうがよっぽど高いことでしょう。 Pro Git - Pro Git 6.1 Git のさまざまなツール リビジョンの選択より引用
Mac OSXでウィンドウの位置とサイズを復元 MacBookで通常は外部ディスプレイを使っていて、会議の時に外して内蔵ディスプレイを使うシチュエーションがよくあります。 また、勉強会などで発表するときはプロジェクタにつなぎますね。 そういう時に、いつも使うディスプレイでのウィンドウの位置とサイズが変更されていて、もとに戻すのが面倒だと思うことがよくあります。 いつもの状態を覚えておいてくれるツールを探してみました。 Stay 切り替えた後にいつも作業しているディスプレイを再接続すると自動でストアした状態にリストアしてくれます。 内蔵ディスプレイで作業している時にウィンドウのサイズや位置を変更していたとしても、ストアした状態に完全に復元されるのでかなり便利。 ストアは今使っているディスプレイの組み合わせ単位で覚えるため、 外部ディスプレイと内蔵ディスプレイを使っている 内蔵ディスプレイのみ
Mac OS Xファイル選択ダイアログの知ってると捗るTips 知っていると格段に捗るMac OSXのファイル選択ダイアログのTipsを紹介します。 以降でのディレクトリと言っているのはフォルダの事です。私はUnix育ちなのでディレクトリの方がしっくりくるので... 選択しているファイルの確認がスペースでできる ブログを書いていて、アップロードする写真を選択しているときなど、ファイル選択ダイアログから写真自体を確認したときが良くあります。 OSXのFinderやファイル選択ダイアログのアイコン表示はかなり小さいので似ている画像が複数ある場合、分かりにくいです。 そんな場合、確認したいファイルを選択状態にしてスペースキーを押すと画像をポップアップで大きく表示してくれます。 この機能はファイル選択ダイアログだけでなくFinder全般で使えますし、画像意外にもPDFやエクセルを含むスプレッドシー
Mac OSX EvernoteでMarkdownを書いてMarkedでプレビューする Evernoteは思い付いたことをメモしておくインフラとして重宝していますが、標準のマークアップがイケてない上に、プレインテキストでもないためどうにも扱いが難しいです。プレインテキストで全プラットフォーム対応のメモアプリ作ったら結構、需要あるんじゃないかと思うくらい(笑) 今回はその話ではなくて少しでもEvernote.appを使いやすくするためのTipsとなります。 Evernote.appを使った表示・編集がいささかイケてないマークアップなのはもう諦めて、ほぼプレインテキストでも可読性が高いMarkdownで書いておくことにします。 特別な修飾をせずにMarkdownでノートを書き、書きながらプレビューする方法がないか探してみたところ、こちらを発見した次第です。 Marked Bonus Pack
新しいRailsアプリを作りたくてRMagickをインストールしようとしたらImageMagickが見つからないと怒られた。 経験上これは使おうとしたRMagickのバージョン2.13.2に対してインストールされているImageMagickのバージョンが古い時になる。おそらく新しいImageMagickをHomebrewで入れてあげればうまくいくはず。 Install Specific Version of Tool With Home Brew にやり方が載っていました。 まずはHomebrewが認識しているパッケージを最新に更新します。 $ cd$(brew --prefix) $ brew update 現在は6.7.7-6がインストールされているのですがはたして... $ brew versions imagemagick 6.8.0-10 git checkout 45a4978
Railsのコントローラの中ではいろいろなヘルパーメソッドが使えますが、コードを書く際にRailsコンソールを起動してトライアンドエラーで試してみたいことがよくあります。 今まではrails serverを起動してソースコードに一時的にdebuggerやbinding.pryを記述することで停止させていたのですが、一時的でもソースコードにすぐ不要になるコードを書くのは気持ち悪いものですし、うっかりcommit、pushしてしまうとかなりしょんぼりです。 ソースコードを書き換えずにRailコンソールから止める方法を考えてみました。 Rails consoleからdebuggerを起動してブレークポイントを設定する ここまでは簡単です。 $ bundle exec rails c > debugger (rdb:1) b HomeController.index (rdb:1) c > 最後に
iPhoneやAndroid携帯で撮影した写真にはGPSによる位置情報を付けることができます。最近ではGPSに対応したデジタル一眼レフカメラも普通にあるようですしサービスを作る上で利用したいですね。 ImageMagickコマンドで確認 Exifの位置情報はどんな風に格納されているのかImageMagickを使って見てみましょう。 $ identify -verbose ~/Desktop/image.jpg | grep itude exif:GPSAltitude: 9509/501 exif:GPSAltitudeRef: 0 exif:GPSLatitude: 35/1, 3850/100, 0/1 exif:GPSLatitudeRef: N exif:GPSLongitude: 139/1, 4497/100, 0/1 exif:GPSLongitudeRef: E どうやら6
Dropbox++ Dropboxは激しく便利ではあるのですが現在、私の無料で使える容量は7.25GB。十分とはいえ、いつも気にしながら使わないと溢れる容量です。 本来の用途では使ってないのですがCamera Uploadsボーナス早期ベータ テスト期間で増えた容量5GBはありがたかった。現在は最大の追加は3GBみたいです。 Bitcasa(10GB!)など他の選択肢も増えてきましたが、もっと!(欲張り...) それなりのサービスが欲しかったら課金しなさいですよね...ごもっともです(-ω-) Dropboxですと毎月約$10で100GB。いいですね。たしかに高いというほどではない。バックアップもされているでしょうから安いくらいでしょうか。 しかしネットに繋がってさえいれば複数のMacで常に同期された状態のディスクスペースって、技術的にはそれほど難しくないよな〜自分のアカウントのS3を使っ
このページは、iwazerが2011年5月27日 14:56に書いたブログ記事です。 ひとつ前のブログ記事は「Mac OS Xの拡張子とアプリケーション対応付け」です。 次のブログ記事は「ハートのグラフ」です。 最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。
この記事は RubyMotion Advent Calendar 2012 の 16 日目の記事です。 いきなりRubyMotionで書き始めるのはなかなか辛いので、最初は語彙を増やすたObjective-CのサンプルプログラムをRubyMotionで実装するというのを結構やりました。 Objective-Cのコードをコピペして文法をRubyに書き換えていくのは慣れればそれほど難しくないのですが、最初は簡単なことで次々と引っかかって手が止まることが多かったので覚えている限りですがリストアップしていこうと思います。 形式プロトコルの指定は悩まないで省略してよし モジュールのincludeとかそういうのかなー?といろいろやったりしましたが、RubyはObjective-Cよりもっと動的な言語なのでメソッドは実行時に存在すればOKという事(たぶん)で次のような形式プロトコルの採用の指定 は無視し
この記事は RubyMotion Advent Calendar 2012の13日目の記事です。 BubbleWrapやRubyMotion Tutorialでお馴染みのClay Allsoppさんによって書かれたRubyMotion本がリリースされました。 章立て Foreword Ruby on iOS Creating a New App Filling the Screen with Views Organizing Apps with Controllers Representing Data with Models Showing Data with Table Views Testing Your Apps Example: Writing an API-Driven App Uploading to the App Store 序文とRubyMotionの概要 序文はRub
会社ではGitHub、GitHub Enterprise、社内のGitリポジトリの3つ、家でもGitHub、個人Gitリポジトリの2つのGitリポジトリを使っています。 それぞれ違うsshキーを使いたいので、ssh-keygenするときにファイルを分けた場合、ssh-addコマンドで追加しておくと自動的に使ってくれるようです。 ssh-keygen -t rsa -C 'your@address.com' -f ~/.ssh/specified_filename できた公開キーをリポジトリに登録。 ssh-add ~/.ssh/specified_filename こうしておけば自動的に使ってくれます。 テスト。 ssh -vT git@github.com
最近iPhoneで脱獄せずにテザリングできる系の話を連続で目にしました。仕組みは ProxyとなるJavaScriptプログラムやアプリをiPhoneで起動 MacでアドホックWi-Fiネットワークを作成しiPhoneからWi-Fi接続 Macでの通信をiPhoneのSOCKET Proxyを介して行う という事のようです。 もちろんそんなアプリがAppleに承認されるはずはないですし、最近話題になったアプリはこっそりw、JavaScriptプログラムを使用するものは運営会社のサーバを介するので気持ち悪い上にちょっぴり良くない話もあって、ちょっとなーというところです。 仕組みは分かってるのだから開発者たるもの自分で作れば良いじゃないか!普通の人にはテザリングするためだけにApple Developer Connectionの年間$80は高いでしょうが、どうせ既に払ってる訳ですし(笑) よし
この製品のディストリビューションファイルを検証できませんでした。破損しているか、署名されていない可能性があります。 「この製品のディストリビューションファイルを検証できませんでした。破損しているか、署名されていない可能性があります。」と言われてLionのAppStoreでとあるアプリが更新できなくなりました。OSは10.7.4 Lionです。 検索してみると以前から程良く発生しているにもかかわらず、これをやれば直るという解決策も見つかってはいないようです。 これは海外の情報を探すしかあるまいと考え「app store distribution file」とかいう幼稚なキーワードで検索をかけると、それらしいのがありました。 http://support.agilebits.com/discussions/1password-in-mac-app-store/18-1password-wont
git log --graph --decorate --oneline ではコミット日が表示されなくて、でも欲しかったのでカスタマイズしたオプションを考えた。 ただし見てお分かりのとおりフォーマットを指定すると--decorateで付くタグやブランチの色を独立して指定できないのが残念。 %dがタグやブランチ情報を出すフォーマットオプションですが色を指定すると全てその色になってしまうのです。 しかし、概ね目的は達成したのでよしとします。.gitignoreには私はこんなふうにalias設定しています。
iPhoneがiOS5.1にアップデートされて嬉しい(設定無限ループバグには泣かされましたが...)のもつかの間、私の所有しているMacBook AirはSnow Leopardのため対応しているXcodeが4.2でiOS5.1をサポートしていない事が判明(-ω-) 事情があり、まだしばらくLionには上げられないのです。 こまった、こまったといろいろ検索していてこのページを見つけてこれは?!っと思ってやってみたのです。 上記のページに載っている手順ですとiPhone Simulatorが漏れているので、それも加えた手順を紹介します。 起動しているXcodeがあれば終了しておきます。 もし入ってなければApple Developer Connection(以下ADC)からSnow Leopard用の最新Xcodeである4.2を普通にインストールしておきます。 インストールが終わったら、デス
メンズカジュアルならSPUTNICKS スプートニクスがベスト! サイドバーに表示するリンクはコンテンツビューの内容によって変わることが多いはずです。 Railsにはそういう時に使える仕組みがあらかじめ用意されているので簡単です。 新しいRailsプロジェクトを作ってサイドバー上に自由にリンクを設定する方法を説明していきます。 $ rails new sidebar-sample $ cd sidebar-sample レイアウトを自分で書くのもタルいのでBootstrap,from Twitterを使いましょう。 Gemfileに1行追加してbundleを実行します。 $ vi Gemfile #↓これを追加 gem "twitter-bootstrap-rails" $ bundle $ rails g bootstrap:install $ rails g bootstrap:lay
HerokuでRails3アプリケーションを作成するさいストレージにMongoDBを、ORMにMongoMapperを使用する場合の手順です。 #他にも方法があるかも知れませんが... まだ、やってなかったらherokuモジュールを入れたり、Railsを入れたりアップデートしたりしときます。 $ gem install heroku $ gem update rails アプリケーションを生成します。MongoMapperを使うのでデフォルトのactive-recordを切っときます。 $ rails new test-app --skip-active-record $ cd test-app $ git init $ git add . $ git commit -m 'Initial commit.' 必要なモジュールを追加しましょう。 $ vi Gemfile gem "mongo
ローカルのMacBook ProにJenkinsを入れて色々試したくなりました。 サイトに行ったらMac OS X用のインストーラがあったので、これはラクチンだと入れてみたら少しハマったので回避方法を書いておきます。 まず、pkgをダウンロードしてインストールしてpsを見てみると既に起動してます。 コマンドオプションが何も指定されていないので、http://localhost:8080/を叩いてみると404 Not Found orz システム環境設定を見てもJenkinsの設定などなく一旦終了しようとkill -KILLしても自動再起動してしまう... 調べたところLaunchDaemonで起動されているようです。 ここにドキュメントがインストールされてました。 しかしまず起動と停止の方法が知りたいのですが書いてません。LaunchDaemonで調べると下記コマンドで行える事が分かりまし
会社の一部の開発メンバーでプログラミング部をやろうという事になって、その中の一人がProject Eulerが面白いよということで、皆で始めたのがきっかけ。 数学の問題が難易度順に並んでいて、プログラムを書いて解を求めるっていうのが目的です。 ユーザ登録をすると答え合わせができるようになります。 使用するプログラミング言語は一応プロフィールに登録する事になっていますが、おそらく皆さん色々な言語でやっていると思いますね。やはり問題によって解きやすい言語、解きづらい言語がありますからね。 解の値を入力するだけの答え合わせなので、実は解を求められれば方法は何でもありではあります。 私は最初Scalaの勉強のために問題1と2はScalaで解いたのですが、問題3でまずお題の値がIntを超えていて、BigIntと再帰呼び出しで書くのが面倒になり、常に多倍長整数を使えるRubyに切り替えました(弱)Ru
Ruby on RailsでViewに<input type="text"/>タグを出力する際、 text_field() と text_field_tag() があって、どちらを使えばよいのか分らず暫くキョトーンとしていたのですが、やはりライド・オン・Railsは優れています。最後の「付録 Appendix」のリファレンスに一言で分りやすく記載されていました。 ヘルパメソッドリファレンス(P353, 357)より参照。 ■text_field() 達のグループ。 ActionView::Helpers::FormHelper モデルを対象とするヘルパです。 ■text_field_tag() 達のグループ。 ActionView::Helpers::FormTagHelper モデルオブジェクトではなく、値を対象とするヘルパです。 すなわち、 ・前者はテンプレートにアサインされたRail
WindowsのTortoiseSVNの様なSubversionクライアントがないか、ちょくちょく探していたのですが。 SCPlugin The goal of the SCPlugin project is to integrate Subversion into the Mac OS X Finder. The inspiration for this project came from the TortoiseSVN project. 紹介文を読む限り望んでいたもの。ktkr 入れてみた。 まだ実際の使用はこれからだけど良さそうです。 後日また感想を書くかもしれません。
WindowsのPoderosaからsshでFirewall内のサーバに接続していた時は、セッションのタイムアウトで接続が切れてしまうのに対応するため、「オプション設定」の「ターミナル」にある「KeepAliveパケットを送信する」オプションをONにしていた。 最近、Mac OS Xをメインに使用しているが、Terminalから件のサーバにつないだときに、切れてしまうのをどうすれば良いのか、やっと分かりました。 ~/.ssh/config ファイルに下記の行を追加します。
RailsのHelperはController内で include HogeHelper と書くのと、 helper :hoge と書く方法があります。 恥ずかしながらこの違いがよく分らなかったのだが、いろいろ実験してみた結果、やっと分った気がしてきた。 まず前者はRubyの文法のinclude ModuleNameなので、Mixinしているのはすぐ分かる。 つまりHogeModule内に定義されているメソッドはHogeContorollerに定義されているのと同じ意味だ。 従って、views/hoge/*.rhtml内でも使えるし、もちろんHogeController内でも自由に使える。 私は後者について悩んでいたのだが、どうやらView側でだけ使用可能な状態にしてくれるらしい。つまりviews/hoge/hehe.rhtmlでは使用可能だが、HogeController内では未定義な状
せっかく今読んでいる本を今読ミにこまめに登録しているのだし、ブログのサイドバーにも表示させたいなと以前から思っていた。いわゆるブログパーツというやつ。 やはりブログパーツはフラッシュだよなぁと思っていたので、なかなか手を付けなかったが簡単なものならJavaScriptだけでもいけそうなのでちょっとやってみた。 きっかけとしては【PHP TIPS】 81. ブログパーツを作ってみようを読んだから。いや、こういう風にやるというのは知っていたが、Railsでの具体的な例は見たことがなかったので、よしやってみるかと。 仕様はめっちゃシンプルに、自分の最新のn件の書影、書名、著者を表示するというもの。 これはちょっと前に外出先で手帳に描いていたイメージ。 まずURLをエイヤと http://imayomi.jp/ext/recent/iwazer?n=3 に決めます。パラメータnは表示する件数です。
Rails勉強会@東京第32回に参加してきました。 あまりこういった会に参加したことはなかったのですが、今はRubyとRailsに夢中なので自分の知らない楽しい何かを見つけよう、詳しい人に会って話を聞きたい話をしたいと思って参加してきました。 Emacsにだらだらと取ったメモ(話題に取り残されないよう注意しながらざっとですが)を見ながら振り返ってみます。 [Redmine + RESTful] 13:15-14:30 Yuguiさんのセッション。 まずは初めての人のためのRedmineの特徴。Rubyで書ける。複数のプロジェクトを管理できる。プロジェクトの親子関係も持てる。(1階層)Roleに対する権限を一覧で管理できる。プラグインアーキテクチャ。RESTの勉強をかねてRedmineにRESTfulなAPIを作っているところ。 そしてここからRESTfulに関する議論へと突入。 RESTと
次のページ
このページを最初にブックマークしてみませんか?
『www.iwazer.com』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く