READMEに載ってる以下のコマンドを使うと一瞬でインストールされた
$ npm install -g n
$ n stable
READMEに載ってる以下のコマンドを使うと一瞬でインストールされた
$ npm install -g n
$ n stable
https://github.com/nfl/react-helmet
Reactで metaタグ、titleタグ、styleタグなど <head></head>
に入ってるタグを書き換えたい時に便利なnpmモジュール
以下README.mdの現時点でのExample.
Rails4 + RSpec3 のrequests specでredirect後の処理を検証したい時、以下コードのようにheaders部分にIPアドレスを指定しても無視されてしまう。(ちなみにCapybaraだとセッションの検査ができなかったのでできればrspecで検査したいという状況だった)
before do
params = {}
headers = { 'REMOTE_ADDR' => '192.168.0.1' }
get_via_redirect photos_url, params, headers
end
実際にIPアドレスを取得するのに使っているメソッド、例えばActionDispatch::Request#remote_ip
にmockを設定すればよい。
before do
params = {}
allow_any_instance_of(ActionDispatch::Request).to receive(:remote_ip).and_return('192.168.0.1')
get_via_redirect photos_url, params, headers
end
どう考えてもリダイレクト先でヘッダーの指定が無視されているので、コードを追ってみた
bundle install
すると、以下のようなエラーが表示されて、成功しなかった。
Installing mysql2 0.4.3 with native extensions
Gem::Ext::BuildError: ERROR: Failed to build gem native extension.
(以下略)
以下のブログ記事を参考にしたら、一瞬で解決。
macOS Sierra で mysql2 の bundle install に失敗する場合 – ハトネコエ Web がくしゅうちょう http://nekonenene.hatenablog.com/entry/2016/10/31/061350
bundle config build.mysql2 --with-opt-lib=/usr/local/opt/openssl/lib --with-opt-include=-I/usr/local/opt/openssl/include
Mongoidでdependentが無視される時、primary_keyが片方だけ指定されていて検索に失敗している場合がある
以下の擬似コードのような状況で動かないなーって思ったら、
class User
include Mongoid::Document
field :user_id, type: String
has_many :pictures, dependent: :destroy
end
class Picture
include Mongoid::Document
belongs_to :user, primary_key: :user_id
end
has_many側にprimary_keyを付け忘れていた
class User
include Mongoid::Document
field :user_id, type: String
has_many :pictures, primary_key: :user_id, dependent: :destroy
end
class Picture
include Mongoid::Document
belongs_to :user, primary_key: :user_id
end
Objective-Cでconstを使ってNSStringの定数を定義する方法について。#define
は問題を起こすことがあるので使わない方がよい。
React Componentのnpm packagesをつくった。React + react-bootstrapの環境で、window.alertやwindow.confirmを使うとUIが浮いてしまうので、<Modal />
を使うんだけど、毎回細かい定義をするのが面倒なので、メソッドのパラメータでサクッといろいろなダイアログを表示できるようにした。
https://github.com/akiroom/react-bootstrap-dialog/
デモはこちらからどうぞ。
Railsのパス一覧を出す方法は3種類ある。だいぶ今更かなぁと思ってたら意外と知られてなかったりするようなので、ブログに書いてみた。
https://sendgrid.com/docs/API_Reference/SMTP_API/categories.htmlが、https://github.com/sendgrid/sendgrid-rubyというgemライブラリで実際にカテゴリを設定する方法がよく分からなかった。
中のコードを読んだりググったりしてるうちに、以下のやり方で送信できることが確認できたのでメモ
client = SendGrid::Client.new(api_key: '0ACkvN4O3jUPEM8HzUAKdvQ7PT1NlGXlIX1jS0x7Gc1wo2ggx07Pd1tllkzUI4mayeRPP')
template = SendGrid::Template.new('aabbccdd-aaaa-bbbb-cccc-ddddeeeeffff')
recipient = SendGrid::Recipient.new('some-user@example.com')
recipients = [recipient]
# ここでX-SMTPAPIヘッダーに相当するデータを構築する
header = Smtpapi::Header.new
header.add_category('My Category No123')
mail_defaults = {
from: 'noreply@example.com',
from_name: 'Official',
}
mailer = SendGrid::TemplateMailer.new(client, template, recipients)
mailer.mail(mail_defaults)
今更ながら https://t.co/wmYdGM16QH が高解像度時代に対応できていないことに気づいた https://t.co/n5OsAlfm0d pic.twitter.com/3lxGVv1QO5
— Hiroki Akiyama (@akiroom) August 21, 2016
ホントは前々から気づいていたんだけど、 akiroom.com のトップページの背景画像がちぎれていたり、Thunderbolt DisplayやRetina Displayで見ると醜い状態になっていたのがいよいよ気になるようになった。
新しいデザイン置き換えたんだけど、だいたい1時間ぐらいでアップデートできたのでよかった
1時間でそれっぽいものができるのは、本当に良い時代ですね。
サイトのデザインアップデート完了。middlemanのインストールからレスポンシブデザイン対応、レンタルサーバーの再設定などを含めてもだいたい1時間程度。良い時代だ。 https://t.co/Z9Lru2RApY pic.twitter.com/i3s2meMNQ2
— Hiroki Akiyama (@akiroom) August 21, 2016