Bye Bye Moore

PoCソルジャーな零細事業主が作業メモを残すブログ

2014-03-01から1ヶ月間の記事一覧

Railsで三桁区切りの通貨表示をする

一々Rubyで文字列化するのも結構ですが..ここは楽しましょう。 <p>number_to_currency(fund.expence, :unit => "¥").</p> とやると、 ¥123,456.と出ます。 参考元。 http://railsdoc.com/references/number_to_currency

Findコマンドで特定のタイミング以降に更新されたファイルを探す

newerオプションを使うと 指定したファイルよりあとに 更新されたファイルを探せます。これを応用すると ある特定のタイミング(プレリリース開始時など)以降に更新されたものを容易に探し出せます。 便利ですね $ touch /tmp/timing ... $ find . -newer /tm…

ヒアドキュメントとgsubをくっ付けると先端のスペースに煩わされずにすむ

個人的にヒアドキュメントは大好物です。以前紹介したように終端記号はstringクラスのメソッドが色々と使えます。 さて...この技を少し発展させると、少しばかり綺麗に書く事ができます 挿入にハイフン(-)をくっ付ければ、終端記号のインデントができます…

備忘録でもブログを続ける意義

良かった事 一度やった設定、たまに使うコマンドを再度調べる必要がなくなる これが一番大きいですね。 普段細かい技術ネタは、紙のノートに取ってます。 ところが、これだと必要な時に引っ張りだすのが大変です。 或る程度内容がまとまったら、バックアップ…

CentOS上に組んだRails4とRuby2.0をApacheで動かす件のメモ書き

...実際地獄でした。作業手順は参考もとに書いてある通りなので、 引っ掛かった所を中心にメモします 前提 Ruby 2.0.0p451 rbenv Rails 4.0.1 CentOS release 6.4 (Final) *1 32bit passenger-install-apache2-module済み mod_passenger.soが発狂する 私が受…

現在ログインしているDeviseユーザをViewやControllerで呼び出す

Controller中でDeviseの現在ユーザを表示するには current_user とします。たとえば、rolifyをつかう場合 return error("#{current_user.email} is NOT ADMIN", :funds) unless current_user.has_role? :admin とすると、admin権限をもたないユーザを弾くこ…

試作段階なら、rails g migration add_columnせずに直接createを弄る

rails g migarate ...とすると、db/migrateに20130101_create_hoge.rbといった感じのファイルが生成されます。ここに新規カラムを追加する場合、 $ rails g migration add_column_date_of_birth_to_students dateOfBirth:dateとすると既存のモノにカラムを追…

極力Rangeをつかって範囲を指定するようにする。

特定回数まわす必要がある場合、極力Rangeをつかって範囲を指定するようにします。 ぶんまわすという意味では同じですが、コーディング規則的には最初に内容を明示するのが望ましいです。 5.times {|i| puts (i + 1)} などと書かずに、 (1..5).each {|i| put…

passengerを使うとApache環境下でRailsが動く

passengerというgemをつかうと、Apache環境でもRailsが動きます。 Rackやnginx、UnicornじゃなくてもRailsって動くんですね(今更さて、これには、apacheと連携して使う $ passenger-install-apache2-moduleというコマンドがついています。 実行したら実際礼…

rails4でprecompileが必要なアプリをherokuにアップロードする

rails4でherokuにアップロードしようとすると色々アレなようです。 今後アップデートが進むにつれて、これらの状況は改善される可能性があります。 production.rb herokuはデフォルトでprodoction.rbを設定ファイルとして呼び出します。 というわけで、preco…

magnumCIでherokuアップロードをしてみる

設定項目の中にはaddonとデプロイ支援ツールが入っています。 今回はherokuを使って見ましょう。 情報を入力します。 Heroku toolbeltで以下のようにして、 サンプルアプリを作ります。 $ heroku apps:create sampleapplication $ heroku auth:tokenこれらの…

deviseのbefore_filterで特定のアクションのみ制限をかける

deviseのbefore_filterは特定のアクションのみに限定対応も可能です。例えばscaffoldした子でshowのみをしたい場合、 当該コントローラ (RAILS_ROOT/app/controller/hoge_controller.rb) などで before_filter :authenticate_user!, only: [:new, :edit, :up…

Magnum CIでBitbucketの非公開リポジトリをビルドしてみる

Magnum CIはBitbucketの非公開リポジトリでも無料でビルドできてしまう凄いCIツールです。 (記事執筆現在)サインアップすると、次のような画面がでます。 リポジトリを設定 butbucketの設定 hook ssh githubなら、毎度お馴染みのアレで 新規の鍵を追加して M…

インフルエンザの出席停止処分に関する根拠法

インフルエンザに罹ると出席停止処分が下ります。この根拠法は学校安全法で定めれています。 平成二四年三月三〇日付けでに同法の一部改正があり、 基準は以下のよう設定されました。 学校保健安全法施行規則(昭和三十三年六月十三日文部省令第十八号) ...…

git logで全ブランチの状態を表示するアレコレ

Git

単に全てのブランチを表示したい場合 $ git log --graph --all --decorateallオプションがついているので、リモートのアレも含めて表示してくれます。 prettyオプション $ git log --pretty=format:\"%h %ad | %s%d [%an]\" --graph --date=shortprettyオプ…

Bashスクリプトで変数に初期値をぶっ込む

空の変数に値をセットする場合... -bash$ echo $VAL_A -bash$ echo ${VAL_A:-100} 100こんな感じで指定した初期値が入ります。 -bash$ VAL_A=200 -bash$ echo ${VAL_A:-100} 200すでに値が格納されている場合、 代入されません。おまけ:変数を解法したい場…

%v記法を使うと変換で楽できる

$ cat v.go package main import "fmt" func main() { i := 0 fmt.Printf("%03v\n", i) fmt.Printf("%02v\n" ,0xff) fmt.Printf("%020v\n" ,"hello") } こんな感じです。 実行結果 $ go run v.go 000 255 000000000000000hello 数値なら10進数。

GO言語には標準でコーディング規則矯正ギプスが付属している

マスコットが一々神経を逆撫でするGO言語の話題です。GO言語には標準でコーディング規則矯正ギプスが付属しています。 その名も「fmt」...まんまですね。 実例 たとえば、こんな見るにも無惨なコードも $ cat hello.go package main import "fmt" func main(…

git merge --squashするとブランチの内容を一本化してマージしてくれる

Git

$ git merge --squash branchAてな感じでやると、branchAの内部に数個コミットがあっても一本化してmergeしてくれます。 しかも明示的にcommitしない限りlogに残らない親切仕様。共同作業中のメインブランチに結果をマージする場合にはとっても有効です。 特…

既存のmodelにカラムを追加する

$ rails g migration add_column_#{カラム名アンダーバー区切り}_to_#{テーブル名} カラム名スネークケース:テーブル名という形で追加します。実例を上げると $ rails g migration add_column_business_state_to_companies businessState:integer invoke act…

エンジニャー向け交流ツール、idobataを試してみた

公式では、 21世紀の開発者のためのグループチャット Idobata と謳っているエンジニア向けな傾向の強いグループチャットです。 ログイン まずは公式サイトにアクセスします。 Idobata Idobataサインアップをクリックし、指示に従って情報を入力します。 ログ…

step内で別のstepを呼び出す

step内で別のstepを呼び出す事が可能です。前回の記事も、 step 'トップを表示' do Capybara.app_host = "http://localhost:3000" end step 'ユーザの情報を入力' do visit '/users/sign_in' fill_in 'user_login', with: name fill_in 'user_password', wit…

TurnipやCapybaraのstepでDeviseのログインをする

TurnipやCapybaraでdeviseのログインを試す場合... どうもユーザを毎度毎度生成しないといけないみたいです。 Sign Upなら不要なんですけどね。 step 'ユーザ追加' do user = User.new( :name => "#{name}", :email => "#{email}", :password => "#{password…

elnodeを使えば...EmacsをWEBサーバ化できる

Emacs勢は何でもEmacsでやりたがります。 当然WEBサーバだって作りたがるわけです。 最初の例_単独で駆動させる (defun my-elnode-hello-world-handler (httpcon) (elnode-http-start httpcon 200 '("Content-Type" . "text/html")) (elnode-http-return htt…

AppStoreで何度もインストールに失敗するようなら、 セーフモードで起動してみる

mac

AppStoreで何度もインストールに失敗するようなら、 セーフモードでメモリを綺麗にしてあげると上手く行くケースがあるみたいです。セーフモードで起動するには... お使いの Mac がシステム終了していることを確認します。電源ボタンを押します。起動音が聞…

シェルで同じ文字列を生成したいときはyesを使う

yesというコマンドは、指定文字列(デフォがなければy)を延々と出力するコマンドです。 多分インストールとかで使うコマンドなのでしょうね... $ yes y y y y y y ... "10"を10回表示したい場合はhead(先頭から読み込む)コマンドと合わせて使います。 $ yes …

Brewで困ったらバックアップ取って再インストール。是普遍的。

$ brew update error: Your local changes to the following files would be overwritten by merge: Library/Formula/emacs.rb Please, commit your changes or stash them before you can merge. Aborting Error: Failure while executing: git pull -q ori…

Capybara-webkitの導入中にqmakeがどうこう言われたらQtの導入環境が原因かも?

http://magazine.rubyist.net/?0042-FromCucumberToTurnip を参考にTurnipを導入中、以下のエラーがでました。 Installing capybara-webkit (1.1.1) Gem::Installer::ExtensionBuildError: ERROR: Failed to build gem native extension. /Users/shuzo/.rben…

FSはFile Separatorの略であり、Field Separatorの略でもある

以前のCLI_YAMLパーサ解析の続きです。 local fs=$(echo @|tr @ '\034') sed -ne "s|^\($s\)\($w\)$s:$s\"\(.*\)\"$s\$|\1$fs\2$fs\3|p" \ -e "s|^\($s\)\($w\)$s:$s\(.*\)$s\$|\1$fs\2$fs\3|p" $1 | awk -F$fs '{ .... }色々調べた所、どうもsedは\034... …

文字列クラスでUNIXストリームエディタの可視性を上げる

文字クラス(Character Class) Ruby等々では、正規表現で\dと書くと10進数の文字を拾ってくれます。 これらはShorthand Character Classesと呼ばれます。 この元ネタとなったらしいものが、今回紹介する文字列クラスです。 例 [:alnum:] 英数字 [a-z A-Z …