radikoの聴取期限が「合計3時間」になってた。 このエントリーを含むはてなブックマーク はてなブックマーク - radikoの聴取期限が「合計3時間」になってた。

2018 年 2 月 14 日 コメントはありません

タイムフリーがもっと便利に!聴取期限が「合計3時間」に | 番組・イベント情報|radiko.jp

過去1週間以内に放送された番組が聴ける「タイムフリー聴取機能」がアップデート! あるひとつの番組を選んで、その番組を再生し始めてから24時間以内であれば、合計3時間まで、いつでも聴取できるようになりました。

だいぶ前に変わっていたのですね。気が付いてなかった。

カテゴリー: ラジオ タグ:

あけましておめでとうございます。 このエントリーを含むはてなブックマーク はてなブックマーク - あけましておめでとうございます。

2018 年 1 月 2 日 Comments off

今年もどうぞよろしくお願いいたします。戌

カテゴリー: 日記 タグ:

PaSoRiドライバのインストールでハマった。 このエントリーを含むはてなブックマーク はてなブックマーク - PaSoRiドライバのインストールでハマった。

2017 年 12 月 24 日 Comments off

サクッと終わるかと思っていたらちょっと面倒だったのでメモ。「NFC Port Software をインストールしています」と言いつつ「FeliCa Library」から進みませんでした。

インストールとアンインストールを繰り返したりセキュリティソフトを切ってみたりしたのですが、最終的にセーフモードで無事にインストール完了しました。

Sony Japan | FeliCa | 個人のお客様 | お問い合わせ・サポート | ご利用時にうまくいかない場合(トラブルシューティング) | NFCポートソフトウェアのインストール処理が途中で止まります。

セキュリティーソフトウェアの設定をご確認いただくか、パソコンをセーフモードで起動して実行してください。

Windows 10 のセーフ モードで PC を起動する – Windows Help

使用するファイルとドライバーを制限して基本的な状態で Windows を起動するセーフ モードは、PC の問題をトラブルシューティングする場合に便利です。

はー。

カテゴリー: コンピュータ一般 タグ:

Xcode 9.1でProvisioning Profileを更新する。 このエントリーを含むはてなブックマーク はてなブックマーク - Xcode 9.1でProvisioning Profileを更新する。

2017 年 11 月 17 日 Comments off

https://developer.apple.com/ でUDIDを追加したのだけれど、「Automatically manage signing」がONになっている場合に更新する方法が分からなかったのでメモ。

「~/Library/MobileDevice/Provisioning\ Profiles」にあるファイルを消すと、すぐに自動で再作成してくれる。

これで動いたのだけれど、正式な更新方法が分からない、まま。

カテゴリー: iOS タグ:

callbackで止める。filterで止める。 このエントリーを含むはてなブックマーク はてなブックマーク - callbackで止める。filterで止める。

2017 年 10 月 18 日 Comments off

ActiveRecord::Callbacks

If the before_validation callback throws :abort, the process will be aborted and ActiveRecord::Base#save will return false.

ActiveRecordのコールバックでは:abortを投げるように変わっているけれど、ActionControllerのフィルターがどうなっていたのか分からなかったので調べたメモ。

Action Controller Overview — Ruby on Rails Guides

If a “before” filter renders or redirects, the action will not run.

APIリファレンスで見つからなかったので、ガイドの方から見つけてきた。

カテゴリー: Rails タグ:

integerのidをbigintにするやつ。 このエントリーを含むはてなブックマーク はてなブックマーク - integerのidをbigintにするやつ。

2017 年 10 月 17 日 Comments off


使わなかったのですが、せっかく書いたので貼っておきますね。

カテゴリー: Rails タグ:

trueとfalseの話。 このエントリーを含むはてなブックマーク はてなブックマーク - trueとfalseの話。

2017 年 9 月 27 日 Comments off

Rubyのtrueとfalseの話 – Qiitaこの本を作るためにいろいろ質問して理解したことのうち、『真』であることとtrueが違う、『偽』とfalseについても同様、という話が個人的に一番衝撃的だったかもしれません。

おそらく分かってはいたものの明確に意識したことはなくて、「あっ、そうだ。」という気持ちだった。

Rubyのtrueとfalseの話 – Qiitatruthy とか falsy って呼び方をしたりもしますね

`be` matchers – Built in matchers – RSpec Expectations – RSpec – Relish

expect(obj).to be_truthy # passes if obj is truthy (not nil or false)
expect(obj).to be_falsey # passes if obj is falsy (nil or false)

あ、そうだ。

カテゴリー: Ruby タグ:

macOSのインストールメディアを作る。 このエントリーを含むはてなブックマーク はてなブックマーク - macOSのインストールメディアを作る。

2017 年 9 月 27 日 Comments off

Create a bootable installer for macOS – Apple SupportWith macOS High Sierra, Sierra, El Capitan, Yosemite, or Mavericks, you can use a USB flash drive or other storage media as a startup disk from which to install the Mac operating system.

毎回ググって辿り着いている気がするのでメモ。

カテゴリー: Mac タグ:

nginxとRackとX-Accel-Mappingと。その2 このエントリーを含むはてなブックマーク はてなブックマーク - nginxとRackとX-Accel-Mappingと。その2

2017 年 8 月 15 日 Comments off

GitHubからの通知メールがいくつかまとめて来てたため見逃してしまっていたのですが、この前Rackに投げたPRがマージされていました。

手元でパッチを当てていたので、嬉しい。詳細については↓に書いています。

nginxとRackとX-Accel-Mappingと。 » サイキョウライン
まず、課題となっている場所はここで、いまの実装はこんな感じ。

カテゴリー: Rails, Ruby タグ:

nginxとRackとX-Accel-Mappingと。 このエントリーを含むはてなブックマーク はてなブックマーク - nginxとRackとX-Accel-Mappingと。

2017 年 7 月 3 日 Comments off

Rack

https://github.com/rack/rack/blob/master/lib/rack/sendfile.rb#L149
まず、課題となっている場所はここで、いまの実装はこんな感じ。

def map_accel_path(env, path)
  if mapping = @mappings.find { |internal,_| internal =~ path }
    path.sub(*mapping)
  elsif mapping = env['HTTP_X_ACCEL_MAPPING']
    internal, external = mapping.split('=', 2).map(&:strip)
    path.sub(/^#{internal}/i, external)
  end
end

nginx

設定はこう。「X-Accel-Mapping」を複数定義している。

server {
  location ~ /foo/(.+) {
    internal;
    alias /path/to/real/foo/$1;
  }

  location ~ /bar/(.+) {
    internal;
    alias /path/to/real/bar/$1;
  }

  location / {
    proxy_set_header X-Sendfile-Type X-Accel-Redirect;
    proxy_set_header X-Accel-Mapping '/path/to/releases/\d{14}/abc/=/foo/';
    proxy_set_header X-Accel-Mapping '/path/to/releases/\d{14}/def/=/bar/';
  }
}

説明

複数の「X-Accel-Mapping」が定義されていると、Rackの「env[‘HTTP_X_ACCEL_MAPPING’]」に渡ってくる時は「, 」(カンマとスペース)で区切られた状態になる。

/path/to/releases/\d{14}/abc/=/foo/, /path/to/releases/\d{14}/def/=/bar/

こうなると、いまのRackの実装ではいきなり「=」でsplitしている(ひとつしか定義されていない前提)ため、結果として「internal」と「external 」はこんな感じになって、正しいパスを返せなくなる。

internal #=> '/path/to/releases/\d{14}/abc/'
external #=> '/foo/, /path/to/releases/\d{14}/def/=/bar/'

対策

そこで、複数の「X-Accel-Mapping」が定義されることも考慮して、この様にしてみた。

def map_accel_path(env, path)
  if mapping = @mappings.find { |internal,_| internal =~ path }
    path.sub(*mapping)
  elsif mapping = env['HTTP_X_ACCEL_MAPPING']
    mapping.split(',').map(&:strip).each do |m|
      internal, external = m.split('=', 2).map(&:strip)
      new_path = path.sub(/^#{internal}/i, external)
      return new_path unless path == new_path
    end
    path
  end
end

これで「X-Accel-Mapping」の数に関わらず、定義したパスを返せるようになった。

ので、PR出してみた。どうかな。
https://github.com/rack/rack/pull/1187

カテゴリー: Rails タグ: