web広告の配信関係の用語おぼえがき

web広告業界の人間に(数ヶ月前から)なったのに用語を全然理解していないのでメモ 純広告 広告主が広告媒体と直接契約をして掲載する広告 昔、個人のテキストサイトにスポンサーがついてバナー広告貼られたりしたよね アドネットワーク 複数の広告媒体を束ね…

web広告の指標関係の用語おぼえがき

web広告業界の人間に(数ヶ月前から)なったのに用語を全然理解していないのでメモ (そもそも)広告の流れ 広告の表示(impression) → クリック → ページ流入 → 商品購入や会員登録など(Conversion) 上記の流れのボトルネック探しや、費用対効果の確認のための指…

nginx+pumaでRailsで動かす場合コネクションプールの数を増やさないと `ConnectionTimeoutError` が発生するよ

先に結論 pumaは worker * スレッド の数だけコネクションを使う しかし、ActiveRecordのコネクションプールの数はデフォルトで 5 なので大抵不足する コネクションが不足すると、DBへの接続リクエストは待ち状態に 待ち状態のまま一定時間が経過すると、Act…

「カンバン:ソフトウェア開発の変革」の読書メモ

カンバン: ソフトウェア開発の変革作者: David J. Anderson出版社/メーカー: リックテレコム発売日: 2014/10/10メディア: Kindle版この商品を含むブログ (1件) を見る カンバン手法の目的って何? ワークフローの見える化による段階的なカイゼン 仕掛り(WIP)…

Amazon Lambda おぼえがき

いろいろ忘れるのでメモ 環境変数を使いたい コードタブの下の方に入力するカラムがある 環境変数を暗号化したい KMSを使って暗号化する方法がある KMSで認証情報を暗号化しLambda実行時に復号化する | Developers.IO このとき、ロールにKMSへのアクセス…

ElasticBeanstalkでメモリ使用率が一定値を超えたらslackでアラートを出したい

ElasticBeanstalkでメモリ使用率やHDD残量をモニタリングする方法の続き ざっくり解説 ElasticBeanstalkの「アラーム」では、CloudWatchでメトリクスしている項目が設定した閾値を超えた時、AmazonSNSのSNSトピックに通知を渡すことができる AmazonSNSの…

ElasticBeanstalkでメモリ使用率やHDD残量をモニタリングする方法

最初に ここに書いてある 例: カスタム Amazon CloudWatch メトリクスの使用 - AWS Elastic Beanstalk ざっくり解説 ElasticBeanstalkでは、CloudWatchを使って各項目のモニタリングが可能 CloudWatchがEC2でモニタリングしている項目に、メモリ使用量やHDD…

ElasticBeanstalkで独立したRDSに接続する手順(Railsの場合)

解説 ElasticBeanstalkでは、環境にRDSインスタンスを作成することができる しかし、環境内にRDSインスタンスを作成した場合、環境を終了させると、RDSインスタンスも終了してしまう そのため、本番環境ではRDSインスタンスを環境外に作成して、環境に接続し…

クイズで学ぶ初心者がハマりがちなRubyの代入いろいろ

クイズ1 以下のコードを実行した場合、変数 a の値はどうなるでしょう? a=100 b=a b=200 答え 100 解説 a=100では、変数aに数値オブジェクト100を参照させている b=aでは、変数bに変数aと同じオブジェクトを参照させている そして、b=200では、変数bに数値オ…

Rubyの代入では参照値が代入先に格納される

先に結論 rubyの代入はオブジェクトの参照値(ポインタのようなもの)が代入先に格納される もし、格納元が参照値の場合、同一の参照値が代入先に格納される(参照の参照にはならない) イメージとしては、C++のポインタの値の代入に近い 文字列"aaa"を変数aに代…

「アジャイルコーチング 2章 みんなと一緒に働く」の読書メモ

アジャイルコーチング作者: Rachel Davies,Liz Sedley,永瀬美穂,角征典出版社/メーカー: オーム社発売日: 2017/01/21メディア: 単行本(ソフトカバー)この商品を含むブログ (1件) を見る チームで一緒に働くためのスキルの章 2.1 傾聴と、2.3 フィードバ…

2016年を(いまさら)振り返る

1年の約20%が経過しましたが、皆様いかがお過ごしでしょうか? 今年の目標も20%ほど達成しましたか? 私といいますと、これから今年の目標を定めるために2016年を振り返ろうと思います…! 去年の振り返り kasei-san.hatenablog.com Keep 副業はじめました sugi…

Railsを動かしているElasticBeanstalkにpuma_worker_killerを入れる方法

経緯 Railsを動かしているElasticBeanstalkでメモリの消費量が増大している 定期的/一定量のメモリを消費したらアプリをリスタートしたい 注意事項 まずはRailsやpumaなどを最新にして、自アプリ以外が原因のメモリリークをなくしましょう っていうか自アプ…

「入門 考える技術・書く技術」読んだ

入門 考える技術・書く技術作者: 山崎康司 出版社/メーカー: ダイヤモンド社発売日: 2011/04/08メディア: 単行本(ソフトカバー)購入: 15人 クリック: 71回この商品を含むブログ (24件) を見る この本で何を解決したくて読んだの? 「伝わりやすい」文章を書…

かせいさんの開発環境2017

会社で新しいMacBookPro頂いたので、環境構築がてら最近の自分の開発環境を記録してみます あんまり珍しいものは入れてないですね GUIアプリ Vivaldi Chromeベースのwebブラウザ Vimperator に慣れすぎてFireFoxから出れなかった自分を動かしてくれた神ブラ…

Amazon Elastic Beanstalk でデプロイ時に database.yml に database.example.yml をsymlinkする方法

database.yml をgitにcommitしたくないよね... そんな時に 先に方法 files: "/opt/elasticbeanstalk/hooks/appdeploy/pre/01a_symlink_database_yml.sh": mode: "000777" content: | #!/bin/bash cd /var/app/ondeck/config ln -sf database.example.yml dat…

ロードバランシングしている場合、サーバまたいでもRailsのcookie sessionって保持されるか不安になった時に見るページ

いつもはkey-valueストアでやっているので、cookie sessionを使うとなった時に心配になったのでメモ 先に結論 sessionは保持される 理由 cookie sessionは、ブラウザ側でsessionの情報を保持して、サーバ側に情報を持たないから cookieおさらい cookie : web…

Amazon Elastic Beanstalk で t2.micro で Rails をデプロイすると、gem install に失敗する件

先に結論 もう少し良いインスタンスを使う 原因 bundle install 時に メモリが不足が原因で native extension のビルドに失敗している エラーメッセージ An error occurred while installing nokogiri (1.6.8.1), and Bundler cannot continue. Make sure th…

HerokuのDBにAmazon Elastic Beanstalkからアクセスする

これは何? Herokuで運用しているアプリを、ふとAmazon Elastic Beanstalkに移行したくなった けれど、軽く試すためだけのために、DBを移行するの大変 そんな時にお手軽に試す為の方法の記録 Heroku から DB の情報を取得する heroku では、database.yml に接…

slack に書かれた内容を Amazon Polly で読み上げてみた

この記事は feedforce Advent Calendar 2016の6日目です!! www.adventar.org 昨日は、tjinjin の ドラッカー風エクササイズをチームで試してみました でした cross-black777.hatenablog.com 期待マネジメント大事ですね。 ウチのチームも一度やってみたら面…

負荷テストについて思ってることをポエムする

色々知見が溜まってきたのでポエムします 言いたいこと 「なにをもってゴールとするか?」の合意を取ろう まず実測 本番環境にできうる限り近い環境でやろう 実測ツール紹介 中央値も見よう 「なにをもってゴールとするか?」の合意を取ろう やろうと思えばど…

自分の考えるリファクタリング指針

なにこれ? リファクタリングが尿を漏らしそうなくらい好きなのだけれど、気分に任せるままやっている節があるので、自分の中ののリファクタリング指針を明確にしたい— かせいさん#C90(金)東エ04-a (@kasei_san) 2016年7月14日 文書化して明確にしてみよう 目…

Serverspec本どくしょかんそうぶん

Serverspec作者: 宮下剛輔出版社/メーカー: オライリージャパン発売日: 2015/01/17メディア: 単行本(ソフトカバー)この商品を含むブログ (6件) を見る 読書メモ Serverspec本読書メモ 1章〜3.4章まで Serverspec本読書メモ 3.5章〜3.12章まで Serverspec本…

【持ってきてよかったもの】4泊6日のオーストラリア旅行に行って【持っていった方がよかったもの】

家庭の用事で4泊6日のオーストラリア旅行に行ってきました 次回の備忘のために、持ってきてよかったものと、持って行ったほうが良かったものを記します 良かったもの ファーストクラスラウンジのチケット ヤフオクで1枚3500円程度で購入 ラウンジ以外に、ち…

【1日1gem】 rspec3 でも its が使いたい! rspec/rspec-its

1日1gemとは 最近好きなgemってありますか? という質問に自分が答えられるように始めたgemを紹介する記事 rspec/rspec-its https://github.com/rspec/rspec-its 何をするの? rspec3 で core から無くなった、 its を復活させる gem 正確には、 its が別gemに…

ActiveRecordeの関連付けで、class名と異なる関連名を使いたい場合、 class_name オプションを使う

こんな場合 class Item < ActiveRecord::Base has_one :item_detail, dependent: :destroy end class ItemDetail < ActiveRecord::Base belongs_to :item end ItemDetail を参照するとき、記述が冗長になってしまう # item って単語が重複するのがキモい ite…

paperclip の写真の格納先をS3に変更する

やりたいこと paperclip の写真の格納先をS3にしたい 方法 Paperclip に S3 用のオプションがあるので、それを使う aws-sdk のインストール Gemfile gem 'aws-sdk' paperclip のデフォルトの設定を追加 config/application.rb class Application < Rails::Ap…

Paperclip を使って Rails アプリに画像アップロード機能を追加する

やりたいこと Rails アプリに画像アップロード機能を追加したい 方法 thoughtbot/paperclip を使う paperclip のインストール Gemfile # 次のイテレーションで aws-sdk を使うが、その時に ver2 を使いたいので、Paperclipを最新のものにした gem 'paperclip…

cocoon を使って、1フォームで1対多のモデルを動的に編集できるようにする

やりたいこと Railsで1対多のmodelがあるときに、 親modelのformで子modelを動的に追加したり削除したりしたい 方法 nathanvda/cocoon を使う つくりかた Gemfile gem 'cocoon' Item の scaffold を generate rails g scaffold item name:string price:integ…

過去のcommitを修正したい時は、 `git commit --fixup` と `git rebase --autofixup` を使おう!

git

先に結論 過去のcommitを修正したい時は、 git commit --fixup=#{commit番号} してから、git rebase --autofixup --autofixup オプションは、 git commit --fixup した commit を自動的に fixup してくれる git rebase の fixup は、対象の commit を上の co…

git rebase/merge をそろそろキチンと理解する

git

なんなのかと rebase 品質を落とす、品のない振る舞いをする git rebase つかいみち : ブランチにmasterの変更を取り込む 例えば、こんな感じに、 master と、branch_b がある場合... * ac7957d Add 'd' in a.txt | * 9aa15f9 (refs/heads/branch_b) Add 'c'…

DNSを良くわかっていない自分が浸透問題を理解するまでのはなし

そもそもDNSってなんだっけ? Domain Name System IPアドレスと、ドメイン名( www.google.com とか)の紐付けを行うサーバ DNSサーバは2種類 コンテンツサーバ (権威DNSサーバ) IPアドレスと、ドメイン名の紐付けを回答するサーバ キャッシュサーバ コンテンツ…

Rails高速化のためのパフォーマンスチューニングに役立つツール 8個+α

これは何? レスポンスタイムが遅くて辛いけど原因が特定できないときに役立つツールをまとめてみました Rails以外でも使えるものも一緒くたに書いているけど、気にしない! やらないこと それぞれのツール詳細な説明 気が向いたら個別記事を書く 環境 Rails 4…

2015振り返り

本当は2015年にやりたかった... Keep ニンジャ学会! 自分主体で何かをするということに抵抗が無くなった 素晴らしい内容の本ができて、色々な方に喜んで頂けた リーダーシップについての知見を得た 独断で引っ張って良い。むしろそうすべき 会社で小さいチー…

これだけやれば大丈夫!! 合同誌を作るための主催者チェックリストを作った

これはなに? 2015年の冬コミにて、ニンジャスレイヤーの合同誌「ニンジャ学会」を作りました 各メンバーの活躍により素晴らしい内容の本になり、無事完売もしたのですが、 自分自身、合同誌の取りまとめをするのは初めてで、色々と手間取ることが多かったの…

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 } メソッ…

bundleを使っているプロジェクトに自分だけが使いたい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…