Ruby
この記事はRubyアドベントカレンダーの14日目の記事です。 最近Rackにさわることがあったのでこの記事では Rackの概要 RackミドルウェアとRackアプリケーションの違い についてまとめます。 Rack概要 RackはWebサーバとRuby及びRubyのフレームワークとの間で…
mysql2のgemのインストール時にchecking for mysql_query() in -lmysqlclient... no が出ていたらC言語版のMySQLのクライアントライブラリがない
mysql2のgemをインストールするときに、 checking for mysql_query() in -lmysqlclient... no ... のエラーが出て失敗する場合、C言語版のMySQLのクライアントライブラリがないです。 なので、たとえばMac OS X(10.11.6)の場合、 $ brew mysql でC言語版のMy…
この記事はRuby Advent Calendar 2017の23日目の記事です。 はじめに Webアプリケーションフレームワーク(WAF)といえば、 薄いアプリケーションをサクッと書くのに適しているsinatra なんでもあり気味なRuby on Rails など、rubyで有名なものだけでもぱっと…
最近シェルの勉強をしたいんですが、以前SQLを勉強した時のように基本的なシェルを反復して書くのが一番では? と思って、ドリルのようなものが欲しくなりました。 そこで、CSVにお題とお題の答えを書き連ねたらアコーディオンで答えを出したり隠したりしてく…
いまさらですが、こないだ会社でRailsに携わるもののたしなみとしてnokogiriのインストールにはまったときに先輩に教えていただいたときのメモ。 rbenvでRubyのバージョンを管理している場合、local*1やglobal*2を管理している際、systemと表記されているの…
最近しばしば行う作業のログが、おそらく人間の目には確認できないほど長く、また件数的におそらくログから確認を行うことはしない*1ということもあり、じゃあ使わないログはある程度短くしたいですね、ということで調べました。 具体的には、属性がたくさん…
ちょっとある程度の量の短文から単語の出現頻度を抽出する必要があり、さわったのでメモ。 Mac OSにHomebrewでmecabをインストールする Homebrewを通して入れます*1。 /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/m…
DSLっぽいrubyを使ってcrontabの内容を管理するgem whenever の使い方を復習しました。 本家GitHub https://github.com/javan/whenever # Gemfile gem 'whenever', '= 0.9.4', :require => false $ wheneverize . # [add] writing `./config/schedule.rb' [d…
会社の上の方の人から読んだ方が良いとお勧めされたので、4月中ちょこちょこ読んでました。 いわゆるRailserなので、なかなか難しくて山のように付箋が消費されてしまいました。 各章ごとの感想をメモしておきます。 第一章 Railserなので、 Array#compactで…
7 Reasons I'm Sticking With Minitest and Fixtures in Rails | Brandon Hilkert この辺の記事にFactoryGirlよりfixturesの方が早くない? と書いてあったので、ちょっと単純なテストを200個くらい用意して、 どれくらい速くなるものかテストしてみました。…
なんかいまいちだけど、置いとこう。。 まとめ has_manyメソッドを書くと、has_manyメソッドに与えたパラメータを元に、 has_manyのアソシエーションのメソッドのマクロ名などが登録されたクラスのインスタンスをFactoryPatternっぽい感じで作り、 そのイン…
Bundlerの動作を少し詳しく調べてみようと思ったのですが、その前にGemfileの内容について 少し調べました。 内容 Gemfileとは Gemfileに書いてあるgemのコードはどこから取得しているのか global source lines sourceオプション pathオプション gitオプショ…
書いても書いても終わらないから、もう終わらないかと若干思いましたが、無事終わりました。 とりあえず、勉強してみようという意図もあって、さくらVPSを借りてRailsが動く環境を設定してみた作業の記録をまとめました。 完結に手順をまとめた良記事は既に…
見返していて思ったんですが、Passengerを入れるにはrubyを入れておかないと行けないので、ここの作業はPhusion Passengerの作業より先にやる必要がありますね(おい)。半月前は(今よりもっと)、エラーメッセージが出るたびに、CentOSに言われた通りに作業し…
もう、収集つかなかったし失踪したいな、と思っていました。(あと、「サーバ構築の実際が分かるApache実践 運用/管理」にVirtualHostについてほとんど記述が無かったのでおこ。 キャッシュとかパフォーマンスのチューニングとかネットに載ってなさそうなこと…
Apache+Phusion PassengerでRailsがすでに動いているのに、ポート番号3000でWEBrickをわざわざ起動させてしまいassetsが取得できなくて焦った時の小話。そのときは、assetsが部分的に読み込めたり読み込めなかったりしたもので意味が分からなかったです。 ま…
具体的にはsinatraとか. APIの説明見てたら、さくっとsinatra使えますよね、設定ファイル、うちのサービスから見えるようにherokuとかのサーバーに上げといてね、という感じに書いてあったところ、案の定、詰みかけたので、メモ。 そーいえばsinatra爆速、と…
背景 静的なhtmlはそもそもテストにかけるものではない気がするのですが、 お客様からかなーり細かくレギュレーションや誤字脱字のチェックを言われているので、 この確認作業いっそ自動化しちゃいたい。 しちゃってください、という感じのお仕事をしていま…
正規表現についてじっくりぐだぐだ煮込んで書きました。 初心者向けで、言語はRubyです。 お品書き 今日からはじめよう、正規表現 in Ruby(基本のき〜文字クラス編) http://woshidan.hatenablog.com/entry/2014/04/20/101439 今日からはじめよう、正規表現 i…
論理式とオプション 今日は最後に論理式とオプションについてまとめて終わりにしましょう。 初心者:え、文字コードは扱わないのですか? 正規表現の文字コードはRubyの場合、オプションで指定が出来るけど、 大変申し訳ない話、日本語の正規表現のエンコー…
正規表現の中の() ()はキャプチャとグループ化に使用することができます。 先にキャプチャについてやりましょう。 キャプチャ さて、キャプチャについてなんですが…… 丸括弧 ( ) によってキャプチャをすることができます。 括弧に囲まれた部分正規表現にマッ…
量指定子で○○〜○○まで、の〜〜を取得する 今日は量指定子についてやります。 たとえば英数字が何文字か続いた後 (英数字以外も来るけれど)に @マークが来るというのを正規表現で表すときとかに、量指定子を使います。 初心者:えーと.+,.*とかでしょう。 .は…
アンカーで文字列の先頭や末尾を指定する 初心者:アンカーってそんなのありましたっけ? いま、はじめて聞いたんですけど。 君、いつも使ってますよ。 ほら、ここの「^」とか。これは行頭って意味のアンカーです。 /^\d+/.match("12: 1234") => #<MatchData "12"> 初心者:</matchdata>…
コンソールで正規表現を試す 初心者:うーん、irbで、ほにゃほにゃ、する。いや、返り値を取得してpとか。 えーと……、ほにゃほにゃ、しないでください。 あなた、プログラマの卵でしょう。 とりあえず、 /正規表現/.match("マッチングさせたい文字列") を入…
昨日、 テスト用データを用意するのに疲れた。rakeファイル使ったり、rakeファイルに入れるデータを用意したりしてたら少し手間だったのでそれでやや満足して作業を中断したり とか書いてましたが、 htmlファイルからデータを取得して登録用のrakeファイルを…