自転車買った

はじめに

 友人が自転車を買った。一緒に見に行って後ろでやんややんや言う役やってたんだけど、次の週ぐらいには自分も買っていた。ロードバイクってやつだ。新宿のワイズロード初心者館で買った。

買いに行った

 店頭には型落ち(前年モデル)の完成車が並んでいた。新モデルもいろいろと飾ってあったが、評価の基準が価格と見た目しかない初心者には手を出すのに躊躇する値段だった。型落ちの中で一際目を引くものがあった。白い車体に青でメーカーの名前が書いてあり、差し色でオレンジが入っていた。同じデザインで白い車体に黒のものもあり、そちらの方が落ち着いていていいかなと思ったが、サイズが体格に合わなかった。スポーツバイクってやつは体格に合わせて最適な調整が必要らしく、自分の身長に合っていた派手な方にした。ハンドル位置やサドルの高さの調節のため、股下や上での長さなどを測った。計測料金は1000円だったが、この店で自転車を買えば戻ってくるとのことだった。謎の機械で股間を押されながら俺は「やっぱりあの緑色の新モデルもよかったな」とぼんやりと考えていた。

納車の日

 翌週末、約束の時間より早く着いてしまったので、近くの喫茶店に入った。この店の名物であるモンブランアイスをコーヒー付きで頼んだ。冷房の効いた店内でアイスをつつきながら自転車のことを考えていた。やはり派手すぎるだろうか。買ってすぐに盗まれたりしないだろうか。自転車に乗って痔は悪化しないだろうか。そんなことを考えていたらアイスは溶けた。時間になったので勘定を払い、自転車屋へと向かった。出来上がった自転車を見て、やはり間違ってはいなかったと思った。店員から簡単なレクチャーを受け、自分のものになった自転車に乗って家に帰った。

乗れば欲が出てくる

 本体の予算は10万ぐらいだった。結果諸々含めて11万ぐらいはかかった。それは予想の範囲内ではあった。それ以外の話だ。速度やなんやらを計るサイクルコンピュータが欲しくなる。これはスマホのアプリでよしとした。600円ぐらいだ。そうなるとスマホを自転車につけたくなる。急な雨などで濡らしたくないので、フレームに着けられる小型のバッグを買う。これが4000円ぐらいだ。初心者は乗り方がわからないのですぐに手が痛くなる。手袋を買う。2000円ぐらい。忘れてはいけないメットだ。これは1万ぐらい。ロングライドがしたくなるので輪行バッグとパンク修理セットと……。とにかく一揃いするまでにはもう少しお金がかかりそうだった。

楽しさ

 お金がかかりそうなのは、自転車に乗るのが楽しいからだ。楽しくなかったら、こんな部屋に入れなければならないものは捨てたらいい。邪魔だし。ゴム臭いし。なんかチェーンのところはベタベタしてるし。捨てないのはひとえに乗ると楽しいからだ。電車に乗らないといけないところへ行ってみようかという気にはなるし、高低差を考えながら地図を見るのもまた楽しい。徒歩より遠距離に行けるので、風景が変わるのもいい。変なレバーでギアをカチャカチャチェンジするのも楽しい。早く乗りたい。

さいごに

 買ってから一ヶ月ぐらいなので、買ったときの思い出を残しておくために書いた。今はそんなに長距離を走れないが、100km200kmと走れるようになりたい。あと高尾山まで走って山登って自転車で帰るみたいなこともしたい。
 とっとと痩せて総重量を減らしたい。

ザバス ウェイトダウン ヨーグルト風味【50食分】 1,050g

ザバス ウェイトダウン ヨーグルト風味【50食分】 1,050g

GDP WINのために買った周辺機器(USBメモリ+USBハブ)

GDP WIN

コントローラとキーボード付き5.5inch画面のwin10マシン。
steamが捗るぞ!
FF14もギャザクラぐらいはなんとかできるぐらいは動くぞ!

USBメモリ

Cドライブなどが極小なのでそのままゲームをインストールすると死ぬ。
USBメモリをDドライブとして運用している。
www.amazon.co.jp
超小型なので挿しっぱなしでも違和感なく扱える。
上記は現在品切れ。

下記のやつはクソぼったくっているので買ってはいけない

米アマで自分で仕入れたほうがマシ
amzn.to

USBハブ

とはいえ、USB3.0のポートは1個しかないのと、充電ポートを兼ねたUSB Type-Cポートは外部デバイス用に使うに不安な感じな記事をちらほら見ていたので、USB3.0のハブを買った。

一時的に上のUSBメモリをこっちに差し替えて、さらにiPhoneをつなげてバックアップを取ったり、USBコントローラをつなげてゲームをオフラインマルチで操作することができた。

小型とはいえwin10マシンなのでiTunesをいれればiPhoneのバックアップがとれるのはわりと有用であった。(バッテリー問題で修理に出すときに役に立った)

cookie(クッキー)、session(セッション)、あとついでにDB

どうした

Webエンジニアとしてクソなのでcookieとsessionの使い分け方がよくわかんない
調べた

概念としての(webでいうところの)session

WWWサービスで使用されるHTTPでは、request(リクエスト)単位で処理が行われる。
sessionは、ユーザがwebサービスの利用を開始してから終了するまで(これは初回アクセスからブラウザを閉じるまでであったり、ログインしてからログアウトするまでであったり)の複数のrequestをまとめた単位であるように見える。
見えると書いたのは、ブラウザやwebサービスによってsessionの定義は異なるようだから。
sessionの管理(同一session単位内のrequestであることの特定・データの持ち越し)は、cookieを用いたクライアント側に保存する方法と、cookieではsession名とsession識別子を扱いサーバ側のsession管理機能を使用する方法がある。(その他にもやり方はある)
このサーバ側でsessionのデータを管理する方を単に「session」と呼んだりするときもあるので、私にはよくわからなかった。

cookie(クッキー)

クライアント側(ブラウザなど)に保存されるデータ。
基本的にrequest headerにのせてサーバへ送信され。response headerにのせてクライアント側に送信される。
その有効期限の指定の有無によって、取扱いを変えるブラウザがある。IEはPersistent cookiesとPer-session cookiesの二種類で扱う。
有効期限が指定されているPersistent cookiesはファイルで保存し、指定のないPer-session cookiesはメモリ上で管理しブラウザを閉じると消えてしまう。
この有効期限の指定のないcookieを、セッションクッキーと呼ぶ人もたまにいる。IEでのCookie設定のところや、firebugでもこのクッキーをセッションクッキーと呼ぶ箇所がある。
ただ、Cookie関係のRFCでは特にそういう呼び方はしていないことや、PHPではsession idを保持しているクッキーをセッションクッキーと呼ぶので、文脈に注意すること。

性質

cookieを使用することで、requestに以前のrequestで得られたデータをのせることができるため、requestとsession単位を紐付けることができる。
ブラウザ側ではブラウザを閉じるまで、サーバ側ではsession idが破棄されるまでなど、クライアント側でいうsession単位と、サーバ側でいうsession単位の考え方が異なることに注意。
最終アクセス日時を表示したり、掲示板のユーザ名を保存しておく軽い感じの使い方(消えてもいいし、ユーザで改変してもサービス側に不利益がない)
後述するサーバ側の機能としてのsessionは、クライアント側からsession idを貰う必要があるため、session idの保存は主にこのcookieで行われる。(サービス内のリンクのURLのパラメータなどにも入れることも可能だが、さらに容易に改変できる上URLが長くなるのでcookie使わない縛りでもない限りやらない)(WebStorageで保存している例はあるのだろうか)

session(セッション)

ここではサーバのsession管理機能について書く。
概念としてのsessionを取り扱うために、cookieを使用
サーバ側に保存されるデータであり、メモリ上に置かれたりmemcacheやredisなどに置かれたりする。
基本的には発行したsession idをクライアント側のcookieにのせ、以降はrequest headerにのっているsession idからクライアントを判別し、そのrequestとsession単位を紐付けることができる。

使い分け

cookies

何度も入力する必要はあるが、サーバ側の機能には大して影響のないもの(掲示板のユーザ名など)
ログインなどの機能のあるサービスのsession id

session

最悪失っても許容できるが、普段はサーバ側のsession単位で保持しておきたいデータを保存する
ログイン状態など、改変が容易であるとセキュリティ対策コストが跳ね上がるもの
cookieの最大長を超えるもの(Amazonのカートはsessionで管理しているように見えるが、)

DB

不意のサーバダウンなどが起きても、永続的に利用したいデータを保存する
ユーザ情報、商品情報など

気になったこと

third party cookie

session id の保管場所(歴史がありそう)

webstorageの使い所

Smartyのregex_replaceで一致した部分を取り出す

どうした

何故か今Smartyを触っている謎はおいといて、正規表現でヒットした部分を取り出したいなーと思った。

問題

www.smarty.net
公式のドキュメントには特に書いてない。

d.hatena.ne.jp
ありがたい先人。

解決策

PHP: preg_replace - Manual
つまりpreg_replaceのreplacementの仕様と同じく$nで指定すれば良い。
一部を切り抜きたい場合は、前後もマッチングしてやれば良い。

{assign var="origin_text" value="this is origin text."}
{$origin_text}<br>
{$origin_text|regex_replace:'/^(.*)(o.*t)(.*)$/':'$2'}<br>
 this is origin text.
<br>
origin text
<br>

ゲームマーケット2015秋で手に入れたもの

どうした

ゲームマーケットいってきた。
国内外のアナログゲーム(ボードゲームとかカードゲームとか)の即売会っすね。gamemarket.jp
企業の出してるものから同人のものまでいろいろある。

この時に手に入れたもので遊んだり出来たので感想を書いておく。

ひらがなセンテンス

yyyacooo.com
お題(「てんごく」とか「にんげん」とか)を決めてから、
山札からひらがな一文字のカードを引いていき、5x5のマス目に配置して埋めていく。
25文字で埋め終わったら、一筆書きでお題に沿った文章を完成させるゲーム。
山札から引くひらがなの運要素と、ひらがなを配置する場所による戦略性と、最後の大喜利要素が絡みあう良ゲーム。
どんなにひどくても大喜利で挽回出来たりするので好き。

四コマ妖精DX

4コマ妖精 - 豚小屋
お題を決めて、1コマ目をみんなで描き、投票制で決定し、2コマ目・3コマ目とつづけて4コマ漫画を完成させるゲーム。
人数が多ければ多いほど楽しい。
三人よれば文殊の知恵というが、意外とネタが被らないもので、個々人の個性が光る。
徹夜でやるとよい。

アソxベxシャリ

goccogames.com
ゲームじゃなくて本。
ボードゲーム界隈の人たちにインタビューした感じの本。
ひらがなセンテンスの作者の人のインタビューもある。
こんなゲームおもしろかったわ!みたいな話が載っているので、これで気になったゲームをこんど探してみようと思う。
固有名詞がバンバンでてくるが、用語解説がページ下についているので読みやすい。

Aコードでいこう

Saashi & Saashi — Aコードで行こう
パッケージがかわいかったので購入。
ジャズセッションをモチーフとしたカードゲーム。
残念ながら未だプレイ出来ていない。

最後に

やろうアナログゲーム

マーズ・アタック!

1996年 アメリカ
監督 ティム・バートン
主演 ジャック・ニコルソン

マーズ・アタック! [Blu-ray]

マーズ・アタック! [Blu-ray]

マーズ・アタック! [DVD]

マーズ・アタック! [DVD]

 火星人が来たのでアメリカがわいわいする話。もちろん戦争になる。
 宇宙人が来て戦争になる映画は同年に(日本公開は年をまたぐけど)インデペンデンス・デイがあるんだけど、あっちがアメリカンジャスティスを喰らえ!アメリカ万歳!大統領万歳!に比べてこっちは偉そうな奴は大体「バーカ!死ね!」って感じで死んでいく。最高。
 ポワワ銃で政府のおっさんや陸軍が緑や赤の骨(彩色した骨格模型)になっていくし、この未曾有の事態中にスケベ心だしてる奴ら(専門家のイケメン(ピアース・ブロズナン 007ゴールデンアイのボンド)と頭のゆるい美人キャスター、あとマイケル・J・フォックス)はもちろんひどい目にあう。クソだなって思うやつは大体死ぬ。安心できる。
 全体的にB級映画のノリが漂うので、メリハリみたいなものはなくて全体を通すとダルさがあって(このシーンこんな長くいるか?みたいなのが多い)、真面目に見るものではなくけだるい休日の午後とかにだらだら見て欲しい。体調が悪い時に見る夢みたいな感じが得られる。
 最高に褒められる点は出てくる女性がみんなエロいところ。明らかに頭の大きい「一体何星人の変装なんだ……」みたいな女とか、大統領の娘(ナタリー・ポートマンとかいう天使)とか、エジプト風の衣装着てるカジノの店員とか良かった。
 あとトム・ジョーンズ役のトム・ジョーンズが良かった。また見たい。

RailsでDalliが使うmemcacheのポート番号を指定する

memcachedrailsから使いやすくしてくれるgem Dalli

mperham/dalli · GitHub
ありがたい。でもmemcachedのポート番号を変更したとき、どうやって設定するんだろう。

手順

  • config/environments/development.rb内のconfig.cache_storeを変更する
$ vim config/environments/development.rb 
  # memcached / dalli
  config.cache_store = :dalli_store, 'localhost:11212'

単純にサーバ指定してあげるところにポート番号も書いてあげれば良かった。