センター試験は暖かい恰好で

2017年1月14日(土)、15日(日)は寒気の影響で全国的に寒いようです。
weathernews.jp

高校でどのような指導がされているのかについてわかりませんが、センター試験の受験時の服装はその後の個別試験に一切影響しません。たとえ、試験会場が受験を予定している大学であってもです

ぜひ、最高のパフォーマンスを出せる格好で受験しましょう。

RSpecでのrequire specについてのエントリーリンク

最近のRails開発ではコントローラーのテストをあまりやらないとのこと。

Rails 5 では、 assigns と assert_template が soft deprecated になりました。 コントローラーテスト自身は deprecated にはなっておらず、 :type => controller メタデータを spec に指定するのは未だ完全にサポートされています。 Rails 3 と 4 において、controller spec の assigns は慣用されてきました。 今回の RSpec 3.5 はマイナーリリースであり、私たちは SemVer に準拠する以上、 既存の controller spec を壊さないようにしています。 既存の Rails アプリケーションで assigns を多用しているものについては、 rails-controller-testing gem を Gemfile に追加することで assigns と assert_template を復活させることができます。 RSpec はこの gem とシームレスに連携するため、controller spec は問題なく動作し続けるはずです。


これから新しく作成する Rails アプリケーションについては、 rails-controller-testing gem を追加するのはおすすめしません。 Rails チームや RSpec コアチームとしては、代わりに request spec を書くことを推奨します。 Request spec は一つのコントローラーアクションにフォーカスしますが、 controller spec とは違い、ルーターやミドルウェアスタック、Rack リクエストやレスポンスも関与します。 これによって、より現実に近い環境でテストを実行し、controller spec で発生しがちな多くの問題を避けることができます。 Rails 5 では、request spec が Rails 4までの request spec や controller spec よりもかなり高速になっています。 これは Rails チームの Eileen Uchitelle1 のおかげです。

RSpec 3.5 がリリースされました!より)

リクエストスペックはAPIを作成する場合のテストとして使われていた様子。

コントローラーテスト

Having multiple values in <test> isn't supported and may not work as expectedという警告

現象

Ubuntu 16.04LTSにアップグレードしてからemacsを起動する際などに以下のエラーメッセージがでるようになった。

Fontconfig warning: "/etc/fonts/conf.d/69-language-selector-ja-jp.conf", line 126: Having multiple values in isn't supported and may not work as expected

環境

% more /etc/lsb-release 
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=16.04
DISTRIB_CODENAME=xenial
DISTRIB_DESCRIPTION="Ubuntu 16.04.1 LTS"
% emacs --version
GNU Emacs 24.5.1
Copyright (C) 2015 Free Software Foundation, Inc.
GNU Emacs comes with ABSOLUTELY NO WARRANTY.
You may redistribute copies of Emacs
under the terms of the GNU General Public License.
For more information about these matters, see the file named COPYING.

解決法

/etc/fonts/conf.d/69-language-selector-ja-jp.confの以下の部分がダメらしい。各stringをtestタグで囲む必要があるとのこと(参考:Fontconfig - FreeBSD/footnote

    <match target="font">
        <test name="family" compare="contains">
            <string>IPA Pゴシック</string>
            <string>IPA P明朝</string>
            <string>IPA モナー Pゴシック</string>
            <string>IPA モナー P明朝</string>
            <string>IPA モナー UIゴシック</string>
            <string>IPA モナー ゴシック</string>
            <string>IPA モナー 明朝</string>
            <string>IPAexゴシック</string>
            <string>IPAex明朝</string>
            <string>IPAゴシック</string>
            <string>IPA明朝</string>
            <string>Takao Pゴシック</string>
            <string>Takao P明朝</string>
            <string>TakaoExゴシック</string>
            <string>TakaoEx明朝</string>
            <string>Takaoゴシック</string>
            <string>Takao明朝</string>
            <string>UmePlus Gothic</string>
            <string>UmePlus P Gothic</string>
            <string>VL Pゴシック</string>
            <string>VL ゴシック</string>
            <string>さざなみゴシック</string>
            <string>さざなみ明朝</string>
            <string>東風ゴシック</string>
            <string>東風明朝</string>
            <string>梅Pゴシック</string>
            <string>梅PゴシックC4</string>
            <string>梅PゴシックC5</string>
            <string>梅PゴシックO5</string>
            <string>梅PゴシックS4</string>
            <string>梅PゴシックS5</string>
            <string>梅P明朝</string>
            <string>梅P明朝S3</string>
            <string>梅UIゴシック</string>
            <string>梅UIゴシックO5</string>
            <string>梅ゴシック</string>
            <string>梅ゴシックC4</string>
            <string>梅ゴシックC5</string>
            <string>梅ゴシックO5</string>
            <string>梅ゴシックS4</string>
            <string>梅ゴシックS5</string>
            <string>梅明朝</string>
            <string>梅明朝S3</string>
        </test>
      以下略

以下のように変える。

    <match target="font">
        <test name="family" compare="contains">
            <string>IPA Pゴシック</string>
        </test>
        <test name="family" compare="contains">
            <string>IPA P明朝</string>
        </test>
      以下略

それにしても、こんなに日本語フォントいれたかな?

Wanderlust (wl)で"wrong-type-argument number-or-marker-p nil"

仕事しようと思って休日出勤したら、このエラーで2時間。つらい。

現象

Wanderlustで、inboxフォルダに移動すると「wrong-type-argument number-or-marker-p nil」とミニバッファに表示される。この結果、新着メール(すべてinboxに届く)が読めない。

対応

前回、おなじことあったなぁと思ってGoogleで検索したところ微妙に違うけど似たような事例があった。

まず、エラーメッセージを表示させる。エラーメッセージが前回と違う。

Debugger entered--Lisp error: (wrong-type-argument number-or-marker-p nil)
  <(nil 58521)
  sort((〜省略〜) <)
  elmo-list-diff((〜省略〜) (〜省略〜))
  wl-summary-sync-update(unset-cursor nil nil nil)
  wl-summary-sync-force-update(unset-cursor)
  byte-code(〜省略〜)
  wl-summary-goto-folder-subr(#("+inbox" 0 6 (wl-folder-entity-id 1 wl-folder-is-group nil)) update nil nil t)
  wl-folder-jump-to-current-entity(nil)
  call-interactively(wl-folder-jump-to-current-entity nil nil)
  command-execute(wl-folder-jump-to-current-entity)

現象としては、inboxから別のフォルダに移動させたメール(メールID 58521を含む)がいまだにinboxに表示されている。実際の~/Mail/inboxには当該メールは存在しない。その結果、elmo-list-diffなどで失敗している雰囲気。

いろいろ試行錯誤した結果、「wl-summary-sync-update」で検索して見つかった 公式マニュアルに記載されている wl-summary-sync を実行してmsgdbを作りなおすことでうまくいった。

  • all-entirely 現在の msgdb の内容を破棄し、全情報を取り寄せ直します。killed メッセージも取り寄せ直します。

wl-summary-syncのレンジ一覧より)

今回、不具合があった inboxに移動し、「M-x wl-summary-sync」で、Rangeを「all-entirely」とした。

以上、メモ。

締切前に「アッフゥフン!」

某ニコニコ動画で某シリーズをずっと見ていたら、また、柳の下をまた掘りたくなったので。

本文

「もうすぐ締切なのに全然おわらねぇ。何やっていいのか頭が真っ白になってきて分からねぇ!!」というときは以下の手順で乗り切ります。

  1. 周りに人がいないことを確かめます
  2. 印刷用紙の裏紙(A4サイズ)とボールペン1本を持ち、部屋の入口に立ちます
  3. 「Be My Baby, Be My Baby, ...」と小さく口ずさみリズムにのります
  4. 「デェーッテェー、デデッテー、デェーッテェー、デデッテー、…」とリズムをとりながら、物が置いてなく十分なスペースがある机に向かってゆっくり歩きます
  5. 机の前についても、引き続き口ずさみながら、なかなか座りません。必要に応じて、サイドステップをふみます
  6. 存分に気分が盛り上がったら握手をし、着席します。そして、提出物が最低限の品質を満たしているといえる条件を列挙します
  7. 「Be My Baby, Be My Baby, ...」
  8. 最低限の品質を満たすためにやらなければならないことを思いつくままに列挙します
  9. 「Be My Baby, Be My Baby, ...」
  10. 列挙した作業を残り時間と今いる場所、今使える道具・資源を勘案して、最短時間で効率良く成し遂げられる順番に並べ替えます(できるかぎり頭を使わない作業から始めるのがコツです)
  11. 並べ替えた作業を清書します(これが、作業リストになります)
  12. 「もう、はなさない…」と気分よくサビを歌い上げ、髪を整えます。必要に応じてシンバルキック!
  13. 正拳突きを数回繰り返しつつ「Be My Baby, Be My Baby, ...」と口ずさみ、テンションを上げてから、おもむろに作業リストの一番上から思考を停止して、片付けていきます
  14. 心が折れかかったら「Don't Stop my hand! 手を止めないで…」とひとくさり歌って盛り上げます
  15. それでも、心が折れたら、部屋の入口に戻って「デェーッテェー、デデッッテー、デェーッテェー、デデッッテー、…」と入場からやり直します
  16. 作業が終わったら、「アッフゥフン!」と叫んで、作業リスト上の完了作業を色ペンでぬりつぶしてやります
  17. 作業リストが終わるまで、これを続けます。

最低限の品質なら提出できない?じゃあ、20年後に再結成だな。来年もがんばれ!