2014-02-01から1ヶ月間の記事一覧
今回のスクリプトはハッシュ系で構成されたもの限定です。 配列系は対応していません。 本文 次のようなYAMLファイルがあるとします。 ## global definitions global: debug: yes verbose: no debugging: detailed: no header: "debugging started" ## outpu…
かれこれ2年ほど弄っておきながら、実はRailsを十分理解していない僕ですこんばんは。 今日はクリックするとプルダウンして選択肢が出てくるアレ「select」タグを扱います。 例 Model データを突っ込む部分なのですが...よく分かってません(白目 ともかく…
コンプライアンス重視なご時世、パス付きZipファイルを望まれるケースが結構あります。 そこいらのソフトで固めるのも良いですが、ここは折角なので自動化してみませう 例 次のようなコマンドを入力し、お試しファイルを生成します。 ちなみに全部空です。 $…
一度環境が壊れたのでメモいつも通りbrew install。cocoaを引数にする事をお忘れなく。 $ brew install --cocoa emacs終わったらApplicationフォルダへリンクを貼ります。 次の例は24.3版です。後続のものが出来たら適時切り替えます。 $ brew --config | gr…
バッククォートを使えば、いろんなコマンドを内部で実行できます。 $ echo Date:`date +%y%m%d` Date:140224これはsedでも実行可能です $ ruby -e "puts ('a'..'x').map {|i| i*3 + i.next * 3 + i.next.next * 3}" > hoge.txtで生成したデータhoge.txtに対…
Tera Termには独自マクロ言語「Tera Term Language (TTL)」が用意されています。 便利リンク データ型や文法 マクロ言語 "Tera Term Language (TTL)" コマンドリスト 豊富なコマンド群が定義されています。 ログインや送信といった基本的なものから、 「はい…
FileとかSerialPortなんかで採用されてるインタフェイスは綺麗ですよね。 クラスを生成しなくともブロック呼べばスマートに開閉してくれます。 こういうものを実装するにはブロック引数とinstance_evalメソッドを使います。 コード クラス本体 class Test de…
irbのオプションを生かせば、わざわざrequire"yaml"を呼ばなくともYAML出力を得られます。 設定法 最初からYAML出力 $ irb --inspect yaml 実行途中でYAML出力に切り替える > conf.inspect_mode = :yamlちなみに...他の出力は raw p pp marshal*1 独 自 定 …
def noname_class Class.new do |cl| def cl.zero 0 end def cl.now Time.now end end end => nil noname_class #=> #<Class:0x007f9ba3056dd8> noname_class.now #=> 2014-02-20 23:03:58 +0900 noname_class.zero #=> 0 使いどころ 本来あり得ないメソッドチェインを実装可能 わざ</class:0x007f9ba3056dd8>…
rails cはテスト用に一時的な初期値をぶっ込むときに楽です。 cはconsoleの略です irb(main):001:0> Player.find(1).food.update_attribute(:pt, 10_000) {略} => true 実行SQLが実行されます。 小ネタ やめる場合 irbと同様、exitで止められます。 irb(main…
Bashスクリプトを使ってリモートブランチを全部引っ張ってくる方法です。 昨日のものと対になります。 使い方 あらかじめ $ git fetch --all -pしておいた上で、次のスクリプトを実行します。 前回と同様、developとmasterを明示的に排除しています。 $ for …
リモート開発をやっていると、不要ブランチが出て来ます。 こまめに消していれば良いのでしょうが、修羅場ではそうも言っていられません。 と、いうわけで、今回の記事では不要ブランチを綺麗にするbashスクリプトを紹介します。 $ for var in `git branch |…
pandocはmarkdownだろうがtexだろうが問答無用で任意形式に変換する鬼ツールです。 markdownファイルを一個つくれば pdf化 プレゼン資料 忌々しいオフィスソフトを開かずともodtやdocファイルを生成 といった事ができます。 org-modeみたいですが、vimやIDE…
git grepは基本grepと同じ使い方ができます。 独自の機能として git管理ディレクトリのみを捜索 ブランチを跨いだ捜索も可能 本家にはない、ワード条件の特殊構文 があります。 多人数で管理しているプロジェクトでは威力を発揮しそうです。 実例 複雑な条件…
公開鍵を生成するのに使うssh-keygen。 そのまま使っても問題ありませんが、 毎度毎度質問に応える形式だとイマイチですよね。 自動化し難いですし。 オプションを使うと、このあたりはスッキリいきます。 ssh-keygen -t rsa -N {PASSWORD} -C {COMMENT} -f …
paper_trailはActiveRecordの編集差分を取ってくれるgemです。 railsのみならず、sinatraでも活用できます。 使い方 例の如くscaffoldで叩き台を生成します。 $ rails new PaperTrailTest $ rails g scaffold Blog name:string user_id:integerGemfileに追記…
OSSプロジェクトでは良く見かけるifdef 自前のコードだと余り使わない子ですが、使い所はあります。種類によって一行だけ違うコードがある場合、ifdefやif defineを使うと楽にいけます。 パターン1:ifdef 対象コード #include <stdio.h> int main() { printf("yes\n</stdio.h>…
git fetch --allでリモートブランチを引っ張ってくると、 そのうち不要ブランチ群のデススタックで引っ張りたい奴がどれだか分からなくなる愉快な事態が発生します。そこで役立つのが-pオプション。 不要になった奴を消し去ってくれます。 $ git fetch -p x …
以前、ドヤ顔で紹介した文字列に配列で変数を入れ込むテクですが... 目下翻訳中のコーディング規則によるとバッドノウハウらしいです(白目 # bad '%d %d' % [20, 10] # => '20 10' 文字列として出力したい場合はsprintf 出力したい場合はsprintfです。 prin…
桁の多い数値は非常に見辛いという欠点があります。 Rubyは仕様上、数値中にアンダーバーを入れても無視してくれる仕様になっています。 4桁程度なら兎も角、5桁になったら積極的に入れて行くようにすると精神衛生上幸せになれる感じです。 ちなみに、何桁…
読書メモ「強いチームはオフィスを捨てる」 概要 Ruby on Railsやベースキャンプで有名な37signalsの最新刊。 今度はリモートワークのやり方と実践の本です。 カフェでお仕事等々、パッと見ノマド勢も使えそうなネタが散見されますが 本質はチームから見たリ…
$ echo DATE:`date` DATE:2014年 2月 7日 金曜日 23時02分02秒 JSTあるいは $ echo DATE:$(date) DATE:2014年 2月 7日 金曜日 23時02分34秒 JSTで、内部のコマンドを実行できます。これを応用すると...「who」という文字列を格納したhoge.cmdというファイル…
本家の言語リストにマージされていなかっただけで、2014/1/29に既にプルリクが出ていました... github commit log Rubyのコーディング規約確認用ツールとして、RuboCopという奴があります。 これに採用されているコーディング規約は下に示す通りです。 bbats…
規則配列をまとめて作る 規則性のある配列を生成するときはブロックをつけると綺麗 - Bye Bye Mooreからの派生で ary = Array.new(16) {|i| rand(100)} #=> [59, 10, 72, 92, 16, 27, 9, 73, 85, 44, 45, 12, 62, 35, 51, 22] 最大値・最小値、あるいはその…
グラフをプロットしたら、計測点をクリックし... 曲線ダイアログをみて 今回はExponentialを使うと... 曲線ヤッター 参考もと https://help.libreoffice.org/Chart/Trend_Lines/ja
$ git clone https://github.com/zwz/plantuml-mode.git ~/.emacs.d/elisp/plantumlデフォだと~/直下にplantumlを置いている想定らしいので、コピーします。 ...ここは後々修正ですね $ cp ~/path/to/plantuml.jar ~/パスを通します。 ついでに.plantumlと拡…
まずは以下のURLを辿ってplantUMLのjarファイルを入手します。 http://plantuml.com/download.htmlこれを、emacsに標準搭載されているorgモードでコンパイルする事にします。まずはinit.elへ以下の情報を追加し... ;; active Org-babel languages (org-babel…
デザインパターンとは... GoFというタツジン級エンジニア集団が提唱した、イケてる実装スタイル集の事を指します。 類似の問題があれば、これを適用するとスマートに書けるというスグレモノ。 そもそもデザインパターンとは みんな大好き結城先生によるデザ…