/etc/shadow の password field

/etc/shadow の password field に出現する "!" や "*" についてのメモ。 MAN USERMOD(8) OPTIONS The options which apply to the usermod command are: -L, --lock Lock a user's password. This puts a '!' in front of the encrypted password, effectiv…

deploy:assets:backup_manifest が失敗する

Rails を 4.2.0 から 4.2.4 にアップグレードしようと capistrano でデプロイしたらエラーが発生した。 INFO [e43c382f] Running /usr/bin/env cp /home/myapp/myapp/releases/20150916085015/public/assets/manifest* /home/myapp/myapp/releases/201509160…

thorでサブコマンドを指定しない方法

thorは CLI を作成するのによく使われる gem (らしい)ですが、サブコマンドを指定せずに実行する方法が Github Wiki や 公式サイト に見当たらず、小一時間悩んだのでメモっておく。 例えば こんなことがやりたい。 $ bin/cli.rb -l ja world こんにちは w…

Rails で発生した Error を NewRelicに通知する

Rails アプリでは newrelic_rpm を Gemfile に書いておけば、よしなにエラーを NewRelic のダッシュボードに通知してくれます。 が、 rescue_from Exception, with: :render_500 def render_500(e = nil) logger.error e render file: 'public/500', status:…

XMLにおいて アンパサンド(&)はエスケープが必要

xml

基本的すぎる話かもしれないが... sitemap_generator で XML を生成していて気付いた。 サイトマップ ファイルは UTF-8 エンコードで作成する必要があります (ファイルを保存すると、通常は UTF-8 エンコードで保存されます)。 他の XML ファイルと同じよう…

sitemap_generator + whenever + S3 で サイトマップを配信する

Rails - sitemap_generator + whenever + S3 で サイトマップを配信する - Qiitaqiita.com

ActiveRecordのestablish_connectionを読む

ActiveRecord における DB との接続確立方法をきちんと理解できてなかったので、pry-byebug を使いながらコードを読み解いてみる。 Railsのversion は 4.2.0 という前提で。 establish_connection [Ruby] 例えば、ActiveRecord の connection_pool を止める …

ブロードキャストなICMP Echo Requestを無視する

OSはUbuntu 14.04。 結論から書くと、 echo "net.ipv4.icmp_echo_ignore_broadcasts=1" > /etc/sysctl.d/60-icmp-echo.conf service procps start でOK(のはず)。 設定前 $ ping 192.168.33.255 PING 192.168.33.255 (192.168.33.255): 56 data bytes 64 b…

White Paper : いまさら聞けない、SSL サーバ証明書とルート証明書の関係 - Symantec

分かりやすくまとまってるので、ふと忘れてしまった時に。 https://www.jp.websecurity.symantec.com/welcome/pdf/wp_sslandroot-certificate.pdf ついでに CSR についてもメモっておく。 CSRとは、お客様が生成し、認証局に提出する署名リクエスト(Certifi…

Ubuntuにおけるinitと起動方法

sysvinit, upstart, systemd, update-rc.d, insserv の関係性・歴史的背景がよくわからなくていろいろ調べたので、メモしておく。 基礎知識 sysvinit とは? sysvinitはSystemV initの略で,UNIX SystemV(システムファイブ)と呼ばれるAT&T社謹製の古典的な…

Active Record のvalidation と error message 対応表

とりあえず memo。 対応表 Rails Internationalization (I18n) API — Ruby on Rails Guides

Mac + VirtualBox + Vagrant で MySQLのレプリケーション環境構築

MySQLのレプリケーションを手軽に試す環境が欲しいなぁと思い、Vagrant を使って複数のGuest OSを立ち上げてみることにした。 Environments Host OS: 10.10.3(Yosemite) VirtualBox: 4.3.26 Vagrant: 1.7.2 Guest マスター・スレーブ 1台ずつで。 OS: Ubuntu…

railsのルーティングエラーを捕捉する

特に何も設定せずとも routes.rb にマッチしなかったリクエストは rails がエラーにしてくれますが、ログに書き出す等の特別な処理を差し込みたい時にはルーティングエラーを捕捉する必要があります。 少々苦戦したので、忘れないようにメモしておきます。 …

memo: Railsで、とあるRSSを生成した際のbuilder

「:」付き要素を生成したり、キャッシュを使ったり、アレコレ調べて苦労したので、自分用メモとして残しておく。 # feed.rss.builder xml.instruct! xml.rss version: "2.0", "xmlns:dc" => "http://purl.org/dc/elements/1.1/" do xml.channel do xml.title…

utf8_unicode_ci から utf8_general_ci に一括ALTERする

だいぶ前ですが、Rails の config/database.yml で collation を指定し忘れて、全てのテーブルが utf8_unicode_ci になってしまいアタマを抱えるという事件がありました。 なぜこれで困るのかについては、 Rails - ActiveRecordでデフォルトの照合順序を変更…

loadイベントについて調べてみた

理解が十分でなかったので、loadイベントについてきちんと調べてみた。 DOMContentLoaded と load の違い まずはここから。 The DOMContentLoaded event is fired when the document has been completely loaded and parsed, without waiting for stylesheet…

Railsのautoload_paths

autoload_paths について、きちんと調べてみました。 とは言うものの、Autoloading and Reloading Constants — Ruby on Rails Guides にほぼ知りたいことは書かれていたので、重要なポイントを抜粋しておきます。訳は適当です。 autoload_paths の デフォル…

Railsというかactive_supportのhtml_safe仕様

memo。 Active Support Core Extensions — Ruby on Rails Guides

APIを一覧から探せるサービス・記事

個人用memoですが。。 Mashape - Free API Management Platform & Marketplace ProgrammableWeb 国内向けだとちょっと古いけど... 日本の全エンジニアに捧ぐ!現在公開されているAPI一覧【2013年版】 | Find Job ! Startup

Rails 悲観ロック

Memo. ActiveRecord::Locking::Pessimistic

daemontools + start_server + unicornでhot deploy

「Server::Starterに対応するとはどういうことか」の補足 : sonots:blog daemontools + start_server + unicorn でのハマりどころと対策がまとまってて、とても助かった。 sonot++

submit_tag

memo. submit_tag(value = "Save changes", options = {}) confirm と disable_with は 3.2.3 までは options に定義していたが、3.2.5からは data属性に定義が必要になった模様。。 submit_tag (ActionView::Helpers::FormTagHelper) - APIdock

Bundler.setupとrequire

Bundlerの仕組みを十分に理解しているとは言い難かったので、深堀りしてみたい。 Bundler.setup http://bundler.io/bundler_setup.html Configure the load path so all dependencies in your Gemfile can be required まず最初にやるべきは依存関係にある全…

Programmable Web

api

ProgrammableWeb こんなサイトがあるのか。便利。

Rails4で廃止になった findメソッド群

オレオレメモ。 正式には Dynamic finder methods と呼ぶらしい。 Rails3 から Rails4 にアップグレードすると NoMethodError: undefined method `find_or_initialize_by_*****' というエラーが出ることがある。 こういう時は Ruby on Rails 4.0 Release Not…

Rubyにおけるライブラリロード

Ruby のライブラリロード周辺を理解してなかったので、調査&実験メモです。*1 環境 OSX Mavericks rbenv 0.4.0 + ruby 2.1.2 ロードパス を調べる $: でも $LOAD_PATHでも同じ。 $ ruby -e 'puts $:' /usr/local/Cellar/rbenv-gem-rehash/1.0.0 /Users/kota…

MySQL autocommit

MySQL の autocommit / start transaction についてちょっと調べる機会があったので、メモ。 以下、 MySQL :: MySQL 5.1 リファレンスマニュアル :: 12.4.1 START TRANSACTION、COMMIT、そして ROLLBACK 構文 より引用。 AUTOCOMMIT デフォルトにより、MySQL…

Mac OS X でのrbenvによるruby環境構築

「初心者なんで、rbenvで構築した環境にgemをそのままinstallでいいよねー」と思ってたけど、gemのversion違いとかで、そのうち涙目になりそうな気がしてきたので、真っ当な方法を模索してみました。 いくつ記事を漁ったところ、bundlerを使うのはもはや当然…

続:Learning JavaScript Design Patterns

Abstract Factory VehicleFactory をそのままではちょっと芸がないので、Ballにしてみた。 Decorator Crepeをデコレーションしてみた。 Flyweight イミュータブルな巨大配列の作成に Flyweight を適用してみた。

Learning JavaScript Design Patterns

JavaScriptデザインパターン作者: Addy Osmani,豊福剛,サイフォン合同会社出版社/メーカー: オライリージャパン発売日: 2013/05/25メディア: 大型本この商品を含むブログ (7件) を見る 原著である Learning JavaScript Design Patterns がオンラインで公開さ…