kasei_sanのブログ

かせいさんのIT系のおぼえがきです。胡乱の方はnoteとtwitterへ

2015-01-01から1年間の記事一覧

Amazon Route 53 ってなんぞ? 特徴と料金をメモ

特徴 DNSのSaaS AWS意外のリソースにもルーティングできる 従量課金 高可用性 : 世界中にサーバがある SLAとして、100%の使用可能時間に満たない場合割引が発生する Amazon Route 53 サービスレベルアグリーメント(SLA) | アマゾン ウェブ サービス(AWS …

yumリポジトリにEPELを追加する手順

ダウンロード ここから対象バージョンのepelをダウンロードする http://ftp.riken.jp/Linux/fedora/epel/ 最新のCentOSならば wget http://ftp.riken.jp/Linux/fedora/epel/epel-release-latest-7.noarch.rpm インストール sudo rpm -ivh epel-release-lates…

yumについて理解が進んでいないのでメモ

CentOSでのパッケージ管理についてのお話 用語 RHEL : Red Hat Enterprise Linux yum yum : Yellowdog Updater Modified RPM Package Managerのパッケージを管理するメタパッケージ管理システム RPM? RPM : RPM Package Manager RedHat系OSが使うパッケージ…

AWS Elastic Beanstalkの環境のSWAPをやってみる

環境の作成 dev-env は環境名 eb create dev-env 環境変数 設定 eb setenv SECRET_KEY_BASE=****** -e dev-env 確認 eb printenv dev-env Environment Variables: RACK_ENV = production SECRET_KEY_BASE = ****** RAILS_SKIP_MIGRATIONS = false RAILS_SKIP…

iptables について理解する

iptablesってなんぞ? Linuxに実装されたパケットフィルタ兼NAT NAT? NAT(Network Address Translation) ネットワークアドレス変換 ローカルIPと、グローバルIPの変換を行う ローカルから外部に出るときに、グローバルIPの割当を行う 外部からローカル内の…

AWS Elastic Beanstalk まずは動かしてみる

AWS CLIツールのインストール $ pip install awsebcli Rails環境の用意 $ rails g controller hello index Rails環境上で、EBS初期化 $ eb init リージョンどこにするか聞かれる Select a default region 1) us-east-1 : US East (N. Virginia) 2) us-west-1…

Railsスタイルガイドななめ読み

ruby読んだついでにこっちも読んどく 原文: bbatsov/rails-style-guide 日本語訳: moneyforward/rails-style-guide Routing RESTfulなresourceにアクションを追加する場合、member と collection を利用する #config/routes.rb resources :subscriptions do …

rubyスタイルガイドななめ読み

rubocopを使うに当たって把握しておく 知らなかったこと/よさ気なところをメモ ソース 原文: bbatsov/ruby-style-guide 日本語訳: ruby-style-guide/README.ja.md at japanese レイアウト {の前後、}の前にはスペース [1, 2, 3].each { |e| puts e } メソッ…

bundler を使っているプロジェクトに自分だけが使いたいgemを入れる方法

自分は便利だから使いたいけど、他の人にまで強制するのはなんだなーって思うgemを開発時に使いたい時どうするかメモ 概要 環境変数BUNDLE_GEMFILEで使用するGemfileを設定できるので、個人用のGemfileを用意する 前提 direnv/direnvを使ってること やりかた…

Rails newした後Rubocopでやること色々

Rubocopって何? bbatsov/rubocop Rubyの静的コード解析器 ruby-style-guideを遵守させる 問題点について自動的に修正してくれる Rubocop入れると何が良いの? ruby-style-guideという標準的なコーディングスタイルガイドにコードが準拠する 可読性up 不穏なコ…

CircleCIをRailsで使う

CircleCIってなに? SaaSのCIツール SasS Software as a Service 必要な機能だけサービスとして切り出したソフトウェア インターネット経由でサービスを提供するのが一般的 CI Continuous Integration 継続的インテグレーション ビルドやテストを継続的に実行…

MVCのおさらいと、RailsのMVCについて説明する

先にまとめ RailsのMVCと原義のMVCは異なる ビジネスロジックはModelに実装する Skinny Controller, Fat Model RailsにはFat Modelをリファクタリングする仕組みが色々あるよ MVCの目的 コードの再利用性と関心事の分離 コードの再利用性 : ビジネスロジック…

Rails の development 環境で使えそうなgemをまとめる

ざっくりとした覚え書き ログ関係 rails-flog ログのParametersやSQLを整形してくれる quiet_assets 動的なアセットパイプラインの生成時に出力されるログを消してくれる pry関係 こっちでも解説してる → pryとそのプラグイン色々メモ - kasei_sanのブログ p…

パーフェクトRails 9章 より実践的なモデルの使い方(9-1〜9-2)

パーフェクト Ruby on Rails作者: すがわらまさのり,前島真一,近藤宇智朗,橋立友宏出版社/メーカー: 技術評論社発売日: 2014/06/06メディア: 大型本この商品を含むブログ (8件) を見る Rails環境について 本の環境 : Rails4.1.1 本記事執筆時の環境 : Rails4…

ActiveRecored の change_column_default と、change_column_null を覚えたのでメモ

Rails4.2の話 それぞれマイグレーションで使う change_column_default カラムのデフォルト値を設定 change_column_default :table_name, :column_name, default_value 不可逆 これを使う場合は、def up と、def down を定義する必要がある change_column_nul…

Turbolinksについて調べてみた

先にまとめ TurbolinksWay(後述)にそって作ればすごい機能 独自実装でリッチなサイトを既に作っている場合、競合地獄がまってるよ!! よくこんなの標準機能にのっけたな Turbolinksって何? Rails4.0から採用された、レンダリング高速化のためのgem ActionPack…

Aseets Pipeline についてまとめた

Aseets Pipeline ってなに? Rails3.1から実装 Rails4から別gemに sprockets-rails sprockets(および、sprockets-rails)を使って、以下の処理を行う CoffeeScriptや、SCSS等の高級言語を変換 マニフェスト(後述)に従って、js, css を1ファイルにまとめる ファ…

Rails4.1 から入ったSpringって何よ?

概要 rails c 等を叩く時に、毎回Railsの初期化を行わなくなるので、開発速度が向上するよ!! Springサーバが起動して、変更を監視して必要に応じて再ロードする Rails4.1以降は標準で入っていて、勝手に起動したり終了したりしてる http://railsguides.jp/4_…

ざっくりRailsの各バージョンの流れ

Rubyの推奨/必須バージョンの推移 Rails 3 : 1.8.7以降必須 Rails 3.2 : 1.8.7最終ブランチ Rails 4 : 1.9.3以上必須。2.0推奨 Rails 5 : 2.2.1以上必須 シンボルのガーベージコレクトを宛てにしているらしい 今更ながらだけど、4系は2.0推奨なのね Railsガ…

Railsの各コンポーネントについてざっくり理解する

はじめに Rails4.2系の話です いろいろある Railtie ActionMailer ActionPack ActionView ActiveJob ActiveModel ActiveRecord ActiveSupport Railtie Railsの中核部分 Railtieに基づいたプラグインの組み合わせで、Rails機能を拡張できる ActionController…

Railsのライフサイクルがよくわかってなかったので調べた

今度はRailsについて バージョニング Rubyと同じく、セマンティックバージョニング → Ruby on Rails のメンテナンスポリシー | Rails ガイド メジャー : 重大性が高い変更 マイナー : 新機能を追加。API変更もありえる 大きな変更を行う場合、非推奨通知を出…

Rubyのライフサイクルがよくわかってなかったので調べた

各バージョンの寿命ってどんなもんなの? 先に結論 現在更新されているのは、2.1 と 2.2 2.0はセキュリティFixのみ(メンテナンスモード) メンテナンスモードは1年間(2.0 は 2016/02/24 に終了予定) 1年に1回、クリスマスにマイナーバージョンが上がる 2015/12…

validates acceptance を設定した属性は、テーブルにない場合は自動的にVirtual Attributesになる

Virtual Attributes ActiveRecordの機能 文字通り仮想的な属性 テーブルの実カラムには無いけど、エントリフォーム等に入れたい値を格納する場所 Virtual Attributes の作り方 モデルに属性をattr_accessorで追加する 簡単。 Virtual Attributes の使い方 DB…

rubyで、Amazon Product Advertising APIを使ってAmazon商品検索をしてみる

それ用のgemがある jugend/amazon-ecs Amazon ECS is a generic Ruby wrapper to access Amazon Product Advertising API. APIキーを用意 本当はIAMを使ってProduct Advertising APIだけ使えるキーを作るべき ただし現在、IAMの中にProduct Advertising API…

Railsガイド Rails のコマンドラインツール 2.10 カスタムRakeタスク

Rails のコマンドラインツール | Rails ガイド ジェネレータ rails generate task で生成 $ rails generate task sample_task create lib/tasks/sample_task.rake namespace :sample_task do end Rakeタスクの基本形 namespace :sample_task do desc 'あいさ…

pryとそのプラグイン色々メモ

pry-rails pryをrailsで使うためのgem pryと、pry-railsの使いそうなコマンド help : 使い方が出てくるから読め cd 、ls : オブジェクトを行き来できる tab補完してくれるよ! ls -m : メソッドだけ表示 ls --grep : 絞りこみ #{command}; : 戻り値をechoしな…

Rails ガイド Active Record バリデーション

Active Record バリデーション | Rails ガイド クライアント側でのバリデーションは扱いやすく便利ですが、一般に単独では信頼性が不足します。JavaScriptを使用してバリデーションを実装する場合、ユーザーがJavaScriptをオフにしてしまえばバイパスされて…

Railsガイド Active Record の関連付け(1.関連付けを使用する理由〜2.関連付けの種類)

Active Record の関連付け (アソシエーション) | Rails ガイド 関連付けのメリット Railsがテーブル間の関連を知ることで、必要な作業を勝手にやってくれる 例えば、顧客と注文が関連していたら、顧客の情報を消した時に、顧客に紐付いた注文を全部消してく…

Yosemite で nokogiri のインストールに失敗する場合対策

色んな所に書かれているけど、よく忘れるので自分のblogに書く 対策 以下の設定をしてから bundle install する bundle config build.nokogiri --with-xml2-include=/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/M…

Railsガイド Active Record クエリインターフェイス:2.条件〜11.ロック

Active Record クエリインターフェイス | Rails ガイド 2.条件 # 条件を配列で Client.where('orders_count=? AND locked=?', 2, true) # プレースホルダで書くとわかりやすい Client.where('orders_count=:count AND locked=:locked', count: 2, locked: tr…