2015-02-01から1ヶ月間の記事一覧
ハイカラシティー渋谷…それもNHKの近くにある桑沢デザイン研究所。 業界では、ここの卒業生という肩書きで仕事が降ってくると噂の実力校です。 色々あって、ここの卒業制作展に行ってきました。 実は、参加まえは「凡人の完成で理解できないアヴァンギャルド…
条件付きコメントは、IEのバージョンによって挙動を変更したい場合に使えます。ただ、IE10からやや挙動が変わったらしく、IE9以前で動いていたものが意図通りに動かなくなった可能性があるそうです。 というわけで、公式に従って以下のようにしてみます。 he…
Google Driveで新規アプリを検索していると…なにやら奇妙なものが… ルービック…キューブ…? 遊んでみるだけ 遊ぶだけなら、公式提供の試用版が出てます Realtime Cube Google Drive導入編 試しに導入してみると、たしかにアプリが追加されています。 起動す…
Gmailで過去三日以内に送ったメールを調べたい場合、「newer_than」が使える。検索窓に in:sent newer_than:3d とやると、出てきます。逆に、 2015年2月10日から三日前までの間に送ったメールを調べたい場合 in:sent older_than:3d after:2015/02/10 …
yieldなど、HTMLエスケープをしたくない場合は「==」で出力すればOKです - def hoge; '&!hoge'; end = hoge br == hoge これが、 &!hoge<br />&!hoge と出力されます。 参考もと slim-template/slim · GitHub
Slimでタグを切り替えたい場合はDynamic Tagが便利です。 これを使うと… たとえば特定のユーザにだけ表示したいinputタグ…なんてケースを実装するのが楽です。 実際のところ ruby: def nyu @flag ? {tag: 'p'} : {tag: 'b'} end - @flag = true *nyu NYU wit…
Slimでタグにクラスをくっつける場合、配列やハッシュで渡す事ができます。 a.menu class="highlight" href="http://slim-lang.com/" Slim-lang.comとやれば、 <a class="menu highlight" href="http://slim-lang.com/">Slim-lang.com</a> と、よろしくコンバートしてくれます。ここで、Splat attributesという機能をつか…
次のようなslim形式のテキストデータがあったとします。 $ cat hoge.txt ul li.first: a[href="/a"] A link - 10.times do |i| li: a[href="/#{i}"] #{i} link li.last: a[href="/B"] B linkこれをSlimのコンバータにかけると、 のように最初の要素だけA、数…
slimrbは公式が提供しているslimのパーサコマンドです。 ただ、別途redcarpetというマークダウンパーサのgemが必要なので 先に導入します。 $ gem install redcarpet つかいかた $ echo 'markdown: 123 456 * a * b ' | slimrb なんてことをやれば、 <p>123 456</p> <ul></ul>…
terminal-notifierはRuby製OSX用通知ツールです。 導入 $ brew install terminal-notifierRubyの環境が入っている場合は $ gem install terminal-notifierでもいけます。 使い方 $ terminal-notifier -message 'Pop!'とやると、 のように右上に画面がポップ…
Kernel.#__method__はメソッド名自身を返す変数です。 Kernelクラスにくっついたもので、組み込み変数ではないので注意。 def testMethod "This is " + __method__.to_s end testMethod #=> "This is testMethod" エイリアスを貼った場合、呼び出し先が優先…
…あたりまえと言えば、あたりまえなのですが… 以前記事を書いたshow-sourceはメソッド以外にも、クラスを見にくこともできます。pry上で次のようなクラスを定義したとします。 class Hoge def initialize(val) val.to_s end def method_missing(name, *args,…
%wリテラルは、文字列で構成された配列を作る際に便利です。 たとえばこんな具合。 %w(a b c) #=> ["a", "b", "c"] 内部的には、要素をそれぞれ文字列化=>配列に格納 という手順を踏んでいるそうです。(現在実装元を捜索中) 比較 というわけで、比較して…
class Hoge def initialize(val) val.to_s end def method_missing(name, *args, &blk) 42 end end などというクラスがあった場合、何もつけずにpublic_methodsをやると 198個(awesome_printのモンキーパッチを含む)のメソッドが出てきます。 Hoge.new(…
既存のhashの要素を追加したり、Hash同士をくっつけたりする場合はHash#updateがあれば大抵は事足ります。 見ての通り、破壊的メソッドなので使用には注意が必要です。 非破壊なものを望む場合は、Hash#mergeが使えます。 中身の更新 {a: 1, b:2}.update(b: …
coderayはシンタックスハイライトをやってくれるgemです。 はてなブログでもRubyコードを貼り付けると色分けしてくれますが…ああいった感じの事をやってくれます。対応言語は幅広く… C, C++ Clojure (new) CSS Delphi diff ERB Go Groovy HAML (new) HTML Ja…
dfコマンドは、ディスクの使用量や残り容量を確認できるコマンドです。 $ df ~/ Filesystem 1K-ブロック 使用 使用可 使用% マウント位置 /dev/sda6 102226264 6255524 90777884 7% /"h"オプション(human-readable)をくっつけると、人が読みやすい形に成型…
Shoes4はSWTベースのRuby用GUIライブラリです。 以前にも、 shoes4をmac osXで動作確認 - Bye Bye Moore shoes4をgem化したりして使い易く - Bye Bye Moore RubyでGUIアプリを遣う際の選択肢 - Bye Bye Moore といった記事で取り上げています。 久々に公式を…
Rubyにおいては、メソッドはMedhodクラスという入れ物で管理されています。 こいつをつかうと、 buff = String.new.method(:upcase) #String#upcase() Awesome_printのapメソッドのようなカーネルにくっついているメソッドもこの通り。 buff = AwesomePrint.…
Effective_Rubyによれば… 「Rubyは型判断システムの関係でnilが入り込むのだから、最初っから対策をねじ込んでおけ(意訳)」との事。 実際のところ nilが含まれている配列を"-"で繋げて一つの文にする事を考えます。 ["Shuzo", nil, "Kino", nil].join('-')…
あまり使う局面はないかもしれませんが、Rubyでも定数を使うことができます。 FOO = "yeah!" puts FOO #=> yeah! 一応、上書きすることもできますがエラーがおきます。 FOO = 12 #(pry):22: warning: already initialized constant FOO #(pry):19: warning: …
Rubyにも多重代入があります。 a, b = [1, 2] ap a #=> 1 ap b #=> 2 コーディング規則では大抵推奨されてない方法です。ところがドッコイ、awesome_printのようなスゴイヤバイ級Rubyistが集うgemだとそうでもないようです。 たとえば、次のような記法が… va…
LSIの個体差から「指紋」を生成し「IoT暗号」実現、三菱電機が新技術 - クラウド Watch 知人から、こんなニュースを紹介してもらいました。ここで言われている技術はPUFという技術です。 日本語で「物理的複製困難関数」とも訳されています。 以前記事にした…
プログラミング言語AWK作者: Alfred V.Aho,Brian W.Kernighan,Peter J.Weinberger出版社/メーカー: シイエム・シイ発売日: 2001/03/01メディア: ?購入: 1人 クリック: 22回この商品を含むブログ (9件) を見る旧い型ですが、その筋の方に大人気の魔道書「プロ…
Twilight struggle …ゲームボードだけ見てもヤバさがありますイベントカードは更にヤバめです。 …印パ戦争(震え声 実際ゲームやるとこんな感じで両陣営のマーカーが… 謎の仮想戦記展開があり得ます 解放された朝鮮半島と ドイツ
awesome_printには色を指定するオプションがあるのですが… その関係なのかなんなのか、色をつけるメソッドが付加されます。 "hoge".red #"\e[1;31mhoge\e[0m" "hoge".redish #"\e[0;31mhoge\e[0m" 公式によると、サポートしている色は次の通り :gray, :red, …
awesome_printはrails consoleでも活用できます。 下準備 Gemfileのdevelopmentグループに、pry-railsとawesome_printを記述 group :development, :test do # Call 'byebug' anywhere in the code to stop execution and get a debugger console gem 'byebug…
awesome_printはObject#methodsの使い勝手もグレードアップします。例えばpでやった場合 "".methods #=> [:<=>, :==, :===, :eql?, ..., :__send__, :__id__] ppでやっても pp "".methods #[:<=>, # :==, # :===, #..., # :__send__, # :__id__] と、大して…