wataメモ

日々のメモをつらつらと書くだけ

Ruby

ブルームフィルタを試してみた

最近、H2Oの開発者であるKazuhoさんのブログでブルームフィルタという単語があったので調べてみた。 Kazuho's Weblog: ソート済の整数列を圧縮する件 以下はKazuhoさんのブログを読んだ前提で書いています。 特徴 Wikipediaより引用。 空間効率の良い確立的…

なるほどUnixプロセス ― Rubyで学ぶUnixの基礎読了

なるほどUnixプロセス ― Rubyで学ぶUnixの基礎を読んだ。 tatsu-zine.com お勧め対象者 基本的にはUNIXのプロセスの話がわかりやすくまとまっている。 なぜRubyが絡んで来るかというと、C言語で理解を進めようとすると色々煩雑なことが多いがRubyなら簡潔に…

メタプログラミングRuby第2版読了

タイトルから面白そうとメタプログラミングRuby第2版を読んだ。 www.amazon.co.jp お勧め対象者 読んでみると非常に丁寧にRubyの言語仕様を解説してくれていた。 なんとなくで理解していた事や、ちゃんと調べていなかった部分が色々と晴れた。 Rubyを勉強し…

rails_best_practicesの指摘を修正してみた

今回はrails_best_practicesの指摘を修正してみる。 survey!に掛けてみたところ23個の警告が出た。 インストール developmentグループのところにgemを追加してbundle install。 Gemfile gem 'rails_best_practices' 実行 今回はhtmlに出力させたいので以下で…

CarrierWaveでSTI(Single Table Inheritance)した時のstore_dirについて

またSTI系のネタになってしまったが、CarrierWaveでmountするモデルをSTIにしていると、generateしたままのstore_dirだとtypeが変わった時にパスが変わってしまう。 def store_dir "uploads/#{model.class.to_s.underscore}/#{mounted_as}/#{model.id}" end …

ActiveRecordでSTI(Single Table Inheritance)時に自動でenum定義されるようにした

Ruby on Railsでサービスを作ってみたのおまけでSTI時にenumを書くとDRYの原則に則さないと書いたが、まあ無いなら作ればいいじゃないかということでactiverecord-sti-enumというrubygemを作ってみた。 (プロダクトレベルで使える物ではないのであしからず…

Code ClimateでGPAを4.0にした

Code ClimateでGPAを表記上4.0にした。 静的解析ツールはリソース監視と同様に常に掛けておいて、コードの質をチェックしていかないと行けない。 前回の「Ruby on Railsでサービスを作ってみた」メモのコードを静的解析を掛けて、いくつかissueがあったので…

Ruby on Railsでサービスを作ってみた おまけ

実装周りで補足した方が良いことを思いついてしまったのでおまけとしてメモ。いつもの様に過去記事はこちらからどうぞ。(part1、part2、part3、part4、part5、part6) active_decorator 今回active_decoratorを使ってFat Modelになるのを防いでいる。active…

Ruby on Railsでサービスを作ってみたpart6

今回で6回目「Ruby on Railsでサービスを作ってみた」記事投稿。過去記事も増えてきましたが読みたい方はこちらからどうぞ。(part1、part2、part3、part4、part5)今回のインフラ周りの話でこのシリーズは一応完結。(挨拶) サーバ構成 AWSをインフラとし…

Ruby on Railsでサービスを作ってみたpart5

今回で5回目の「Ruby on Railsでサービスを作ってみた」記事投稿。いつもの様に過去記事はこちらからどうぞ。(part1、part2、part3、part4)画面や機能周りで終わりではなく、開発環境やらインフラ周りのメモも書いていくので引き続きよろしくお願いしたい…

Ruby on Railsでサービスを作ってみたpart4

さて今回も引き続きRuby on Railsでサービスを作ってみたメモを書いていく。前のpartはこちらからどうぞ。(part1、part2、part3)今回で画面の機能、開発周りとしては最後にしたい。 アンケート結果 画面キャプチャ ヘッダー周り 上部に回答人数や、質問数…

Ruby on Railsでサービスを作ってみたpart3

今回で3回目の「Ruby on Railsでサービスを作ってみた」記事投稿。part1とpart2はこちらからどうぞ。では今回も画面や機能の開発周りの続きを書いていく。詳細なのは書いてもしょうが無いかと思って掻い摘んでいると、逆にブログだけだとわからない感じにな…

Ruby on Railsでサービスを作ってみたpart2

今回は前回の続きということで、画面や機能の開発周りの事を書いていく。画面開発自体は2日ぐらいでがっと作っただけなので、そんなに複雑でもないし画面数が多いわけではない。サイトマップは以下のようにシンプルな構成だ。 アンケート一覧 画面キャプチャ…

Ruby on Railsでサービスを作ってみたpart1

Ruby on Railsでサービスを作ってみようと考えやってみた。いくつかのpartに分けて投稿して行こうと思う。まずは今回作ったサービスはアンケート作成と集計サービスだ。ソースはGithub/wata-gh/surveyに公開してある。画面イメージとしては以下。 画面イメー…

パーフェクト Ruby on Rails読了

良書と言われている「パーフェクト Ruby on Rails」を読んだ。結論としてはRailsで開発をしようと考えている人にはお勧めだ。 www.amazon.co.jp 全体として 全体としてはRailsの概要が記載されていた。詳説というわけではないのでリファレンスとして使えるも…

3. Chanko、Ridgepoleを試してみる

前回の記事でRails周りの環境が出来たので、いよいよChankoとRidgepoleを試してみる。だが、その前に画面を作らなければ行けないの適当にでっち上げる。erbとslimは試していたがhamlは初めて書く事になった。そしてやっぱりhtmlを作成するのが一番時間がかか…

2. Rails周りの環境構築

今まではPadrinoしか触っていなかったが、今回はRails 4.2でChankoとRidgepoleを試してみる。初Railsでハマる部分も有るとは思うがとりあえず環境構築から。前回のitamaeレシピに必要なpackageを追加。sqliteは多分要らないけど。 %w/epel-release sqlite sq…

1. 環境構築

まずは開発環境の構築。CentOS7には行かずCentOS6.6で一旦Vagrantを使ってセットアップ。 Vagrant init shugepad # Vagrantfile修正 vi Vagrantfile # 起動およびssh接続 vagrant up vagrant ssh 必要最小限のツールをインストール。MacBookProで作業してい…