2015-03-01から1ヶ月間の記事一覧
Julliaとか聞いたこともない珍しい言語もサポートdocopt/docopt.rb · GitHub と、Rubyも対応はしているのですが docopt has been confirmed to work with 1.8.7p370 and 1.9.3p194. If you have noticed it working (or not working) with an earlier versio…
Pythonのrstripメソッドは末尾の改行を消します。 RubyのString#chompですね。 for i in open('./example.yaml'): print(i.rstrip()) #foo: # bar: # - baz # - 3 一応、非破壊メソッドのようです >>> bar = "string\n\n" >>> bar 'string\n\n' >>> bar.rstr…
view_source_mapはViewにRenderもとのContollerファイル名を記載してくれる便利Gemです 使い方 特になんの工夫もなく、rails sしてあげれば <p>test</p> てな感じで展開されます。 ソースをみると、Railtie自体に細工をする事でこの魔法が実現されているようです……
ちょっと前に、JSONをパースしてくれる便利コマンド「jq」を紹介しました。CLI上でjsonパースをしてくれるjqを使えばワンライナーが不要となる - Bye Bye Moore今日散歩中にフと、あの発想でYAML版つくれないかな……と思い検索をかけたところ…… あ、ありまし…
OSXやUbuntuのような*NIX系には、xmllintというXMLをパースする便利なツールがついてます 実例 $ echo '<foo><bar/></foo>' | xmllint --xpath "//foo" - <foo><bar/></foo> XPath Xpathに対応しているため、局面によっては便利につかえることもあります $ xmllint --xpath '//a/@href' vietna…
ちょっとJavaScriptで遊びたいなーと検索をかけたところ…… オンラインREPL「http://repl.it/」を発見しました 使えるものの一例 JavaScript以外にも、色んな言語が実装されています。 一通り遊んでみた範囲では、軽い動作検証程度であれば十分用は成すようで…
IMPORTHTML関数を使って、WEB上の表やリストからデータをインポートする - Bye Bye Mooreの記事末尾で触れたIMPORTXML関数は、XPathでタグを指定すれば任意の要素を引っ張りだすことができます。 aだのimgだのといったタグは、これを使えばよいです。 実際の…
awkはカラム番号を指定すると、その番号分を出力してくれます。 $ printf "as you like\n" | awk '{ print $(1) }' as 0なら、全部出力。 $ printf "as you like\n" | awk '{ print $(0) }' as you like で、この変数ですが番号を与えればいいだけなので……内…
ありがたい事に、GoogleSpreadSheetにはGoogle翻訳を使うための関数が用意されています。 GOOGLETRANSLATE関数を使えば、一発です。 つかいかた GOOGLETRANSLATE(テキスト, [ソース言語, ターゲット言語])ソース言語とターゲット言語のデフォルトは"auto"な…
Google Docs付属のSPARKLINE関数は、カラムの中にグラフを表示してくれる便利関数です。 つかいかた =SPARKLINE(data, [options]) Google Financeと組み合わせる GoogleFinanceの通過変換を使って、JPY-USDな図を出す場合は、次の式の通り。 =SPARKLINE(Goog…
Google Docsに実装されているIMPORTHTML関数はWEB上の表やリストからデータをインポートする超絶便利関数です 実際の使い方 =IMPORTHTML(URL, クエリ, 番号)です。URLには、プロトコルを含める……とあるので、もしかするとMQTTやらCoAPみたいなものに対応する…
非エンジニアな方に作業内容を報告する際、線表の類を求められることがあります。 やれ一ヶ月毎だ四半期毎だと指示はありますが……こんなもの一個一個入力すると頭がおかしくなります。DATE型だと単純な足し算でも面倒だし……そんな時はedate関数が便利です。 …
「!*」で直前のコマンドで使った引数を呼び出す事ができます。 $ echo "hello\n" hello\nとした場合、 $ printf !* printf "hello\n" helloと、一旦展開された後で、実行されます。 コマンド誤爆でも大活躍 これを活かせば、コマンドを誤爆した場合にもそ…
N個前に実行したコマンドを再度実行する事ができます。 たとえば、次のような状態の場合 $ history 3 594 echo 'fuga' 595 echo 'yeah' 596 history 3「!-戻りたい個数」と入力すると、実行可能です。 $ !-3 echo 'fuga' fuga履歴には、次のように展開した後…
historyコマンドを実行すると、こんな感じで「番号」「コマンド」という順番ででてきます。 $ history 10 558 basename `dirname hoge/huga/ruby.rb` 559 basename `dirname hoge/huga/ruby.rb` 560 history 561 basename `dirname hoge/huga/ruby.rb` 562 e…
basenameは「/」や拡張子を削除し楽にファイル名を取得できるコマンドです 現在いるディレクトリ名を取得 $ basename hoge/huga/ hugaファイル名を含んだパスの場合*1 $ basename `dirname hoge/huga/ruby.rb` huga ファイル名を取得 $ basename hoge/huga/r…
bashでも、caseが使えます。 たまにみかける、 if [ some_rule ]; then #something to do else #something to do fiを置き換えるにはちょうど良いかもしれません。 POSIX的にどうなのかは、調査中ですが…… 実際のところ 記法は以下のとおりです。 case word …
環境省といえば、地球温暖化やら公害やら里山やらを担当する省というイメージが強いですよね。とはいえ、緑と向き合うだけでは話が終わらないのも事実。 そこで、「持続可能な社会」という観点から金融に一言! という動機でブチかました発言がコレです。 私…
現在位置を調べる場合、 $ pwd /Users/shuzo_kino/ruby/sampleという手が使えます。 ただ、これだと人に渡すとき色々アレな事もありますよね。 そんな時はdirsコマンドを使います。 $ dirs ~/ruby/sampleこの通り、ホームディレクトリを示す「~/」にして位置…
Gmailには、atomフィードに未読メールを一覧させる機能があります。 これをつかうと、CLIから楽に未読メールの確認ができます。 curl -u your@gmail.address --silent "https://mail.google.com/mail/feed/atom“ | perl -ne 'print "\t" if /<name>/; print "$2\n"</name>…
標準出力に表示しつつ、結果をファイルに保存したい場合は「tee」コマンドをつかえばよいです。 $ cal | tee cal.log 3月 2015 日 月 火 水 木 金 土 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 保存先のファイ…
一般に、「test」はファイルが存在するか確認する際に使われるコマンドです。 結果は標準出力ではなくコマンドの終了状態に格納されるため、注意が必要です。 $ test -e aasm_sample.rb ; echo $?とまぁ、これ単体だとイマイチありがたみがわかりませんが 設…
Railsのbundle installで突っ込んだgemの配置先をみるには 「bundle show」です。 $ bundle show sass /Users/shuzo_kino/.anyenv/envs/rbenv/versions/2.1.5/lib/ruby/gems/2.1.0/gems/sass-3.4.13また、半端に入力しても $ bundle show sas 1 : sass 2 : s…
農業生産工程管理(GAP)とは、生産者にとっても、消費者にとっても安全安心な農作物をつくるためのガイドラインです。 定量的生産手段に関する取り決めとその実施方法を定める事になっています。 策定には、国連食糧農業機関(FAO)などが関わっている…
現在の状態を表示する場合、current_eventが使えます。例えば、指定のメソッド中で現状のイベント名を提示したい場合 class AASM_Sample include AASM aasm do #中略 event :sence, :after => :comment do transitions :from => :sleep, :to => :transmit en…
event :sence do after { p "sence"} transitions :from => :sleep, :to => :transmit end といった感じで、eventの中に記述します。 あるいは、 assmのブロック外に def comment puts "comment" endとしてあげた上で event :sence, :after => :comment do t…
考えてみれば当たり前なのですが…GithubのWikiページもローカルから更新をかける事ができます。流れは通常のGit cloneと変わりません。 $ git clone https://github.com/YOUR_USERNAME/YOUR_REPOSITORY.wiki.gitリポジトリにアクセス権限があるユーザアカウ…
「水銀に関する水俣条約」は、日本が主導した環境に関する合意です。 名前の通り、水銀の利用を制限する類の条約です。その中で、 電池、スイッチ・リレー、一定含有量以上の一般照明用蛍光ラン プ、石鹸、化粧品、殺虫剤、血圧計、体温計などの水銀含有製品…
展示会が「NIKKEI MESSE」に行ってきた。 写真 構成図は次の通り。 なんと初日だけで4つのイベントが同時開催。二日目はさらに2個追加…豪華ですね。 セキュリティ 建材
AASMにて、定義していない順番で呼び出しをすると例外を返してきます。とはいえ、そのまま動作を止めたくない場合もあるわけで… そういった場合は aasm :whiny_transitions => false do # ... end とすることで、「false」を返すように指定できます。 以前の…