サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
衆院選
takkaw.hatenadiary.org
RubyからWebとかにアクセスする事とか、よくある事だと思いますが 物騒な世の中なので生パスワードをファイルに保存するのは危険だし、 毎回入力するのも面倒だなーって感じです。 MacだとsecurityコマンドでKeychainにパスワードを預けたり取り出したりできるようです。 http://blog.netswitch.jp/articles/2009/12/19/use-keychain-for-termtter-on-mac http://blog.netswitch.jp/articles/2009/12/19/use-keychain-for-termtter-on-mac 家の環境はUbuntuなのでKeychainは使えません。 なので、GNOMEのKeyringにパスワードを預けたり取り出したりする Rubyの拡張ライブラリを作りました。 まず、libgnome-keyr
個人的にバージョン管理は git でウッボーな気がしていますが ソースコード以外だと日本語ファイルとかもよくある話で そういうのも扱いたくなる訳ですよ。 で、git で add したファイル名が日本語だと diff した時とcommit した時の表示ファイル名が文字コードになります。 具体的には以下のようになります。 (本当のファイル名は"日本語ファイル.txt"で git diff --cached を実行した結果) diff --git "a/\346\227\245\346\234\254\350\252\236\343\203\225\343\202\241\343\202\244\343\203\253.txt" "b/\346\227\245\346\234\254\350\252\236 index a03c641..b438621 100644 --- "a/\346\22
(8/18 8:57 一部間違いがありましたので修正しました。下の方。) (8/18:18:00 エントリ自体がネタなんですよと明記しました。下の方) StringやらArrayやらHashやらのインスタンスに lengthメソッドとsizeメソッドがありますが全く同じ動作をするので 個々人が好みで使い分けていました。 私は文字数が短いので、なんとなくsizeを使っていました。 この度、私はlength派に寝返りました。 と言うのは Ruby1.9系では組み込みクラス、Array、String、Hashにおいて lengthの方がsizeより、ものすごくわずかに速いためです。 いまのところですけど。 あと、lengthメソッドをオーバーライドしてない事も条件です。 lengthとsizeの実効時間を測定してみました。 適当なArrayとStringとHashのオブジェクトを作って leng
今日、vimの勉強をしなくては。と思い立って vim.orgをのぞいてみたら(勉強法としては間違っている) snipMate.vimというTextMateのような補間をしてくれる vimプラギンを見つけました。 snipMate - TextMate-style snippets for Vim : vim online http://www.vim.org/scripts/script.php?script_id=2540 mainと打つだけで、mainの引数が補間されたりします。 Railsのデモが流行った時のTextMateのような動作という事なんだろうと思います。 実際の動作については、以下の動画を見てみてください。 snipMate.vim Introductory Screencast from Michael Sanders on Vimeo. これは便利なんだろうか、慣れる
RubyのioctlはCのioctlの考えをそのまま持ってきているので ioctlとしては普通だけど、Rubyのメソッドとして奇妙。 ret = "" fd = open("/dev/dsp","r") fd.ioctl(SoundCard::Param[:SOUND_PCM_READ_RATE],ret) 結果を返す専用の変数を渡しておくと(上記で言うとret) 変数が指しているオブジェクトが書き換わっているので ret.unpack("s")[0] とすると所望の値が得られる。 C言語では基本、戻り値が1つなのでこのようなインタフェースが多いけど Rubyでこういうメソッドは珍しい。 っていうかメソッドチェーンできないので面倒くさいよ。 参考 instance method IO#ioctl http://doc.loveruby.net/refm/api/view/method/IO
いや、荒れていないのかもしれないけど、 正直、荒れているようにしか見えないです。。 うごメモはてな http://ugomemo.hatena.ne.jp/ 子供さんが多いからかネタが練れていなかったり あからさまにスターをください。とか要求があったり スターをくれたら続きを書きますとかが目についてゲンナリです。 しかも、けっこうスターついてたりします。なんでや。 "うごくメモはてなはDSiがあれば作品を作れてUPまでできる" というハードルが低さが売りのはずですが逆にデメリットに働いてはいないでしょうか。 同じCGM動画サイトであるニコニコ動画は、 動画を作る技術力やアカウント作成、ある程度のPC知識や労力が 適度なハードルとして働いて良い方向に作用しているのかもしれない。 このまま子供向けの遊び場として成長していくのか 一般ユーザ公開する前のようにアイデアと画力が詰まったメモが増えてい
自分が、みんなが、音いじりを気軽にできるよう、 beeptoysというライブラリ/環境をRubyで作っています。 ターゲットユーザはズバリRubyistです。 beeptoysをダウンロードして(詳細は下に書きます) beeptoysディレクトリに移動して準備は完了です。 さて、beeptoysを使って、今日はいくつか音を作ってみましょう。 突然ですが、Rubyistならirbは触った事がありますよね? 以下のようにして、触り慣れたirbからbeeptoysを読み込んで 起動してみましょう。 $ irb -r beeptoys.rb おなじみのirbが起動しました。 beeptoysでは、Wavクラスをご用意いたしました。 これは、Wavファイルの読み書きが簡単にできるクラスで、 以下のようにして使います。 w = Wav.new w.save :the_header waveディレクトリ
Rubyではメソッドの引数にハッシュを使う場合があります。 例えば、以下はwebrickでHTTPサーバを作る場合です。 s = HTTPServer.new( :Port => 2000, :DocumentRoot => Dir::pwd + "/htdocs" ) 引数にハッシュを使うメリットとして 引数の順番が関係なくなり(順番を覚えなくて良い)、 見た目にも用途が明らかとなるため メソッドを使う場合やコードを読み返す場合に有利っちゅう訳ですね。 用途限定ですが、それをもう少し改善できる ネタを思いついたので作ってみました。 具体的にどういうものかって言いますと 現在、作っているWavクラス(Wavファイルを読み書きする)を 使って説明します。 # 単位クラスを仕込む class Freq def initialize( freq ) ; @freq = freq ; end de
自分が愛用しているx61というノートPCには HDDに傾きセンサーがついている。 このセンサーはx61を落下させた時などに衝撃をソフトで検知して、 HDDの動作を変えてHDDの破損を防ぐのに利用される。 この傾きセンサーの情報を別の目的のために 利用するアプリケーションとか結構あって、 自分もやってみた。 まず、以下を試した。 $ sudo apt-get install hdaps-utils $ sudo modprobe hdaps FATAL: Error inserting hdaps (/lib/modules/2.6.22-14-generic/kernel/drivers/hwmon/hdaps.ko): No such device だめか。 Ubuntu hdaps で検索してみると同様にNGの人が多い。 その中で、tp-smapi というソフトでいけるよーとか書いてあ
197Xsには勢いでトゥギャザーしたものの、特に活動はできていなかったんですが 今回、オフがあるというので準備してLTに参戦してきました。 内容は197X年生まれの主にプログラマな人が集まって皆でムスススする。 という趣旨だったのだと思います。 197Xsをご存知無い方は以下から http://wiki.fdiary.net/197Xs/?%C2%E81%B2%F3+197X%27s+%A5%AA%A5%D5%A5%D1%A1%BC%A5%C6%A5%A3%A1%BC お題無しのライトニングトーク大会だったので 多種多様なプレゼンが次々飛び出し、あっという間に時間が経ちました。 ひっくるめた感想で申し訳ありませんが、本当に全部面白かったです。 これは、リアルタイムで参加できて良かったー 個人的にはJavaとSQLが弱いのでそっち系の内容ではフラフラでした。 おもしろかった発言を列挙していっ
眼力を鍛えているとRakeファイルに記述した依存関係くらいは 図として見えてくるのです。嘘です。 まず以下を見たいRakefileのあるところに vizrake.rbなどとして保存する。 require 'graphviz_r' module VizRake def self.init_graphviz @gvr = GraphvizR.new 'vizrake' unless @gvr @gvr.graph[:label=>"Generated by VizRake"] end def self.output @gvr.output end def self.file(arg) self.controller(:file,arg) end def self.task(arg) self.controller(:task,arg) end def self.desc(mes) @mes =
irb上でふと配列とかをplotしたくなることってあると思います。 と言う訳でRubyからGnuplotにplotしてくれるRuby Gnuplotを触ってみました。 以下スクリプト(ほとんどサンプルのまま)を.irbrcでrequireされるように書いとく。 def plot(ary) require "gnuplot" Gnuplot.open do |gp| Gnuplot::Plot.new( gp ) do |plot| =begin plot.title 'title' plot.ylabel 'ylabel' plot.xlabel 'xlabel' =end x = (0..ary.length-1).collect { |v| v.to_f } y = ary plot.data << Gnuplot::DataSet.new( [x, y] ) do |ds| ds.w
(後で書く) 値下がりメモ。 止まったメモ。 MacBookAirを買ったら次の日に新型が出ました。 107 retweet... 店員さん、色々相談に乗ってくれるから信じていたのに... 次機種がすぐに出たりする事は無いですよね、って確認したのに... Appleストアで買った場合は2weekくらいだったら新機種に交換してくれるらしいのですが、 大型電気量販店で購入した私の場合は 買ったお店に聞いてもAppleストアに聞いても交換は無理との事でした。 ヤラレタネ。 誰よりも使い倒す、と決意したのでした。 あと、Lionが微妙という記事を探して読んでみたりとか。 感想。 想像していたよりずっと早い。 すごく薄い。 すごく軽い。 すごくバッテリーが持つ。 結果、コストパフォーマンス高い。 大満足です。 あと、 全裸でMacBookAirの写真を撮ろうとすると液晶が反射して危険。 全裸でMac
このページを最初にブックマークしてみませんか?
『きみのハートを8ビットキャスト』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く