Ruby
bundle installしたgemのソース見るのに、今まで普通にインストールされたパスのディレクトリ探してエディタで開いて見てたのだけど、環境変数BUNDLER_EDITORでエディタを指定して、bundle openでそのgemのソースがあるディレクトリがエディタで一発で開ける…
rubyで1引数関数をmapに渡す場合は、こんなかんじでメソッドのシンボルをProcオブジェクトとして渡せて関数プログラミングっぽい書き方ができるんだけど、 irb > ('a'..'c').map &:upcase => ["A", "B", "C"] 2引数になるとどう書けばよいんやろうと思ってた…
werckerでインフラCIしようと思って、aws-sdkからEC2インスタンス起動して、knife-soloでsshしようとしたらconnection refusedで弾かれて若干ハマったのでメモ。werckerのビルドこけてもwercker自体にはログイン出来ないので状態確認と切り分け苦労した。 ポ…
awscliはちょっと作業するのには簡単でよいのだけど、自動化したり何かに組み込んだりするにはjqとbashでがんばるのは辛みあるのでaws-sdkからAPI叩いてみるの試した。APIはRuby用ので、バージョンはaws-sdk 2.0.28です。 $ gem install aws-sdkec2-run-inst…
カピバラさんでテストが通らないんですけど、テスト中のナマのHTML見たいんだけどどうなってんのという時の技。準備としてpry-byebugというgemを使うのでGemfileに書いてbundle installとかして下さい。 gem 'pry-byebug' あとはデバッグで止めたい場所にこ…
経緯 個人的にgit commit -m " うっ、英語でなんて書けばよいんだろう。。。。ってなることが多くて、GitHubの公式の検索ってソースコードは検索できても、コミットメッセージをリポジトリ横断的に検索したいなんてことはできないんですよねぇ。まぁネイティ…
vagrant上で開発するのに/vagrant共有してそこをプロジェクトのルートにして手元のエディタでコード書いたりしてて、その流れでbundle install --path vendor/bundleとかして/vagrant上にgemもインストールしちゃってたのだけど、なんとなくvagrant上でbundle…
前回guardでいい感じに自動テスト環境セットアップしたけど、あれ?terminal-notifierもvagrantから通知できなくね?ということで、またしてもググってみたところ、おぉ神よ。 vagrant-notify+terminal-notifierでvagrantからローカルに通知をする - Qiitate…
Railsでvagrant上にrspec+guard+sporkな環境作ってたのだけど、guardの検知ってvagrant側からできなくね?っと思って調べたメモ。 rspec+guard+sporkの組み合わせは基本的にRailsチュートリアルと同じ構成だけど、現時点での最新版使ってるので設定方法に若…
検索フォームpostよりgetの方がURLがわかりやすくなってよいなぁとか思ってgetにしたらURLにutf8=✓とかbutton=とか勝手にパラメータついてなんなんこれってかんじ。 結論から言うと同じことしてた人がいるみたいでこの方法で消せた。 Ruby on Rails - submit…
大量のテキストをDBに突っ込んでたら4バイト絵文字を混ぜてくるの試されてるとしか思えない。 ActiveRecord::StatementInvalid: Mysql2::Error: Incorrect string value: '\xF0\x9F\x92\x85 f...' for column 'message' at row 1えーっと、このコードはどう…
以前こんなの書きましたが、、、 csvで残りを全部最後の列に入れる - 城陽人の本棚 split関数にlimit引数渡したら要素数調整できるやん。ちゃんとリファレンス見ようぜ。 open('test.csv') do |file| file.each do |line| a, b, c = line.split(', ',3) Hoge…
全文検索する方法として、データが少量であればただのLIKE検索で、大規模になるとSolrとかElasticsearchとか専用の全文検索エンジン使うというかんじになるかと思うのだけど、ビックデータというほどでもないけどLIKE検索だとちょっと遅いという場合に、MySQ…
RailsのデフォルトのデータベースはSQLiteですが、後からMySQLに変更するためのメモ。 Railsは4.2.0で、MySQLは5.6です。 MySQLのインストール まずMySQLインストールして下さい。インストール方法は各自環境に合わせてググってください。(投げやり) MySQL…
Railsで簡単に検索機能つけるのに、ransackというgemがあるようなので使ってみた。 Railsは4.2.0、ransackは1.6.3を使いました。まず、Gemfileに追加。 gem "ransack", '~> 1.6.3' bundleでインストールする。 $ bundle install --path vendor/bundle直接的…
Railsでbootstrapとfontawesome使うためのメモ。Railsは4.2.0です。まず、Gemfileに追加。 gem 'sprockets', '~> 2.12.3' gem 'bootstrap-sass', '~> 3.3.3' gem 'font-awesome-sass', '~> 4.3.0' paginateもしたいのでついでに以下も足しました。 gem 'will…
標準のcsvパーサーでcsv読み込むのに、例えばこんなかんじで書いてると require 'csv' CSV.foreach('test.csv') do |row| Hoge.create(:a => row[0], :b => row[1], :c => row[2]) end 例えば以下のようなデータ自体にカンマを含むレコードがあると、レコー…
GitHub初心者でコミットメッセージ英語力が貧弱なので、参考のために有名ドコロのリポジトリからコミットメッセージ一覧を引っこ抜くクローラーを書いてみた。感覚ではなくファクト大事。書いたコードは以下に置いといた。 https://github.com/minamijoyo/co…
ここ最近Rails入門で有名なRailsチュートリアルをやってたのだけど、今日やっと終わった。超絶ボリュームだったけど、楽しかったのでやってよかった。Railsチュートリアルとはこれ↓ http://railstutorial.jp/静的な画面から初めて徐々に機能を増やしていって…
Railsチュートリアルで3.6.2のGuardのところやってるとMacの場合なぜかGrowlという有償のソフトの導入を薦められる。Growl400円なんだかそれぐらいケチ臭いとか思う人もいるかもしれんけど、開発ツールの類って自分が使ってるのを人に紹介する時に有償だと人…
- (2015/1/9追記) 本件、twitterで呟いたらRailsチュートリアルの中の人(@yaslubさん)が気づいて早速チュートリアル側の記載を修正して下さいましたので、現時点でチュートリアルどおりにやれば本事象は発生しません。仕事が早い。 - Railsチュートリアルや…
フルパスを簡単にコピペするよい方法ないかなぁと考えていたのだけど、SendToで渡せば引数で渡してくれることがわかったので、クリップボードにコピーするだけのスクリプトへのショートカットをSendToフォルダに忍ばせてみた。1.win32-clipboardが入ってなけ…
ftpコマンドをぐるぐるループで回すようなスクリプトを書きたくなったのでちょっと調べたら、標準ライブラリについてた。 #!/usr/bin/ruby -Ks require 'net/ftp' host, user, pass, count, = *ARGV count.to_i.times { |i| begin ftp = Net::FTP.new(host, …
会社は認証プロキシ経由でしかネットに出れないのでgemが使えなくて調べたのでメモ。 http_proxyという環境変数にプロキシサーバとポート番号を設定しておくと、そっち経由で見に行ってくれる。 set http_proxy = http://hogehoge.com:8080/認証プロキシの場…
rubyはプラットフォーム非依存なスクリプト言語だけれども、普段使いがWindowsだとクリップボードの文字列をあれこれしたいとか、何かとWin32APIが叩きたくなることがあります。そんな邪道な使い方をするためにwin32ライブラリなんて素敵なものが既にありま…
絶え間なく降り注ぐ雑用をこなすのに、IEを自動操縦したり、クリップボードの文字列をごにょごにょしたりと、しょうもない補助マクロを書いたりするときは、なんだかんだで基本誰でも使えるようにVBSとかVBAで書いてしまう羽目になるんだけれども、Exerbとい…