五十嵐裕美さんの呼び方についての注意事項
声優 Advent Calendar 2016 13日目の記事です。
五十嵐裕美さん、誕生日おめでとうございます。
五十嵐裕美さんの誕生日は昭和61年12月13日、私の誕生日は昭和61年12月31日。
日の1の位と10の位が入れ替わっただけの五十嵐裕美さんに、親近感を勝手に持っています。
いよいよ三十路に突入ですね。
私は最近、三十路手前にして、腰痛に悩まされることが多くなりました。
日によっては、立ったまま靴下を履くことが困難なこともあります。
もう無理はできないなと、ひしひしと感じる今日この頃。
五十嵐裕美さんにおかれましても、無理せず、身体をいたわって活動を続けていって欲しいと思います。
本題
五十嵐裕美さんの愛称としては「ゆきんこ」が広く知られており、一般声豚の皆様方におかれましても、そのように呼んでいる方が多いのではないかと思います。
しかし、今期放送中の奇異太郎少年の妖怪絵日記にて、ややこしい事態が発生しました。
奇異太郎少年の妖怪絵日記界隈での注意事項
奇異太郎少年の妖怪絵日記とは、2016年秋季に放送されている5分アニメです。
キャストをご覧ください。
主人公である「奇異太郎」を演じるのは五十嵐裕美さん。
そしてヒロインの一人に「雪娘(雪ん娘)」というキャラクターが存在します。
つまり、奇異太郎少年の妖怪絵日記の界隈だと「ゆきんこ」ではそれが五十嵐裕美さんを指すのかはたまた登場キャラクターを指すのか判別できません。
なので、「奇異太郎役の声優のゆきんこ」と修飾をしたり、「五十嵐さん」「五十嵐裕美さん」と呼ぶのが無難です。
デレマス界隈においても注意したい点
結論から言うと、デレマス界隈では「ゆきんこ」と呼ぶのが無難です。
例えば「Cuteの五十嵐さん」と言った場合、五十嵐裕美さんを指すのか、アイドルの「五十嵐響子」を指すのか判別ができません。
ではファーストネームで呼べば大丈夫かというとそうでもなく、例えば「裕美さんの声が好き」と言った場合、五十嵐裕美さんのことなのか、アイドルの「関裕美」のことなのか判別できません。
(「関裕美」に声はない?そんなことはありません。関Pには関裕美の声が聞こえているそうです。)
といった理由で、一般Pの皆様におかれましては、「ゆきんこ」と呼ぶことで誤解の起こりづらいコミュニケーションを行えるかと思います。
一方、中の人たちは「五十嵐さん」だったり「ひろみちゃん」だったりと、呼び方がまちまちなので要注意です。
五十嵐裕美さんと同じマウスプロモーション所属であり諸星きらり役である松崎麗さんは「五十嵐さん」と呼ぶことが多いです。
また、安部菜々役の三宅麻理恵さんは「ひろみちゃん」と呼びますが、それは関裕美ではなく五十嵐裕美さんを指すのだと覚えておいてください。
まとめ
いろいろゴチャゴチャと書きましたが、これからも五十嵐裕美さんを応援し続けます。
来年の11月22日も、桜Trickのイベントで制服を着てほしい。
AWS LambdaでもPHPがしたい!
AWS Lambdaでは基本的に、Node.jsやJava, Pythonを用いて開発をしますが、それらから別の言語の処理系を呼び出して動かすことも可能です。
例えば、PerlのスクリプトであればLambdaのコンテナにインストールされているので、このように動かすことができます。
AWS LambdaにはPHPがインストールされていない
ので、PHPを使いたい場合には、PHPのバイナリをスクリプトと一緒にアップロードする必要があります。
AWS LambdaのAmazonLinuxのバージョンは2015.03のようなので、Amazon Linux(2015.03)のEC2インスタンスからphp-5.5.29のCLI SAPIをコピーして使用しました。
このphpの実行には libedit.so.0 が必要なので、併せてアップロードします。
作成したスクリプト
- Node.jsからscript.shを起動
- アップロードしたphpのバイナリを実行可能にする
- アップロードしたlibedit.so.0のあるディレクトリにライブラリPATHを通す
- phpのスクリプトを実行
アップロードするzipファイルの作成
├── hello.php ├── index.js ├── lib │ └── libedit.so.0 ├── php └── script.sh
ファイル構成はこのようになっています。
zip -r hello-php.zip hello.php index.js script.sh php lib/libedit.so.0
zipコマンドでまとめます
アップロードして実行
アップロード(Lambdaファンクションの作成)
実行
Hello world.
AWS LambdaでPerlのスクリプトを動かす
LambdaファンクションはNode.jsやJava、Pythonで書くことができます。
では、Lambdaで動かしたい処理を、その3つの言語のどれで書かなければならないのかというと、そんなことはありません。
LambdaのインスタンスのOSはAmazon Linuxで、幾つかの言語の処理系がインストールされています。
例えばperl/bash/awk/luaなどを使用することが可能です。(他にも使用できる言語はもっとあると思います)
プログラムを作成する
Perlで書いたHello worldをAWS Lambdaで動かしてみましょう。
perlのスクリプト(hello.pl)と、perlを起動するためのNode.jsのスクリプト(index.js)を用意します。
Lambdaにアップロードするため、zipでまとめる。
$ zip -r hello-pl.zip hello.pl index.js
Lambdaにアップロード
実行結果
まとめ
このように、AWS LambdaではNode.js/Java/Python以外のプログラムを動かすことも可能です。
また、プログラムの処理系以外にも色々なアプリケーションがインストールされているので、それらを活用することで活用の幅が広がりそうです。
git rmやgit mvした状態をgit stash saveするのは避けたほうが良いかもしれない
git mv
したものをgit stash
で保存・復原という操作をして気になったこと
$ git ls-files hoge $ git status On branch master nothing to commit, working directory clean $ git mv hoge fuga $ git status On branch master Changes to be committed: (use "git reset HEAD <file>..." to unstage) renamed: hoge -> fuga $ git stash save Saved working directory and index state WIP on master: f93d032 first commit HEAD is now at f93d032 first commit $ git stash pop Removing hoge On branch master Changes to be committed: (use "git reset HEAD <file>..." to unstage) new file: fuga Changes not staged for commit: (use "git add/rm <file>..." to update what will be committed) (use "git checkout -- <file>..." to discard changes in working directory) deleted: hoge Dropped refs/stash@{0} (96680b45ca302e312299cab38c47802c07642913)
↑git stash save
前とgit stash pop
後で状態が変わっている!
$ git rm --cached hoge rm 'hoge' $ git status On branch master Changes to be committed: (use "git reset HEAD <file>..." to unstage) renamed: hoge -> fuga
↑ファイルhoge
をインデックスから削除すると、git stash save
前と同じ状態に戻る。
$ git commit -m 'rename hoge to fuga' [master 8c198ce] rename hoge to fuga 1 file changed, 0 insertions(+), 0 deletions(-) rename hoge => fuga (100%) $ git rm fuga rm 'fuga' $ git status On branch master Changes to be committed: (use "git reset HEAD <file>..." to unstage) deleted: fuga $ git stash save Saved working directory and index state WIP on master: 8c198ce rename hoge to fuga HEAD is now at 8c198ce rename hoge to fuga $ git stash pop Removing fuga On branch master Changes not staged for commit: (use "git add/rm <file>..." to update what will be committed) (use "git checkout -- <file>..." to discard changes in working directory) deleted: fuga no changes added to commit (use "git add" and/or "git commit -a") Dropped refs/stash@{0} (d0cca5c61ae3f9af7b1c9c09eb012081f87ffcf2)
↑git rm
でファイルとインデックスを削除してgit stash save
、その後git stash pop
すると、ファイルは消えているがインデックスは残っている。
$ git reset --hard HEAD HEAD is now at 8c198ce rename hoge to fuga $ git rm --cached fuga rm 'fuga' $ git status On branch master Changes to be committed: (use "git reset HEAD <file>..." to unstage) deleted: fuga Untracked files: (use "git add <file>..." to include in what will be committed) fuga $ git stash save Saved working directory and index state WIP on master: 8c198ce rename hoge to fuga HEAD is now at 8c198ce rename hoge to fuga $ git stash pop Already up-to-date! On branch master nothing to commit, working directory clean Dropped refs/stash@{0} (b39c66764d2bf85fa2b5409e31a9d322b0e72c95)
↑git rm --cached
でインデックスだけ削除しgit stash save
、その後git stash pop
すると、git rm —cached
する前の状態に戻る。
上記の例ではgit stash save
の直後にgit stash pop
しているので問題は起こらないが、間に捜査を挟むとpop時に衝突が起こる場合もあると思う。
git rm
やgit mv
した状態をstashで保存しておくということは今までしたことが無かったし、今後もすることがそうそう無いとは思うけれど、滅多にしないことだからこそ、気をつけたい。
最近使い方を知ったPHPの文字列関数
ltrim(string $str [, string $charlist])
$str
の左端から連続する$charlist
に含まれる文字を除去する
rtrim(string $str [, string $charlist])
$str
の右端から連続する$charlist
に含まれる文字を除去する
trim()
は知っているけど、左右限定のものがあるとは知らなかった。
そういった処理を書こうとしたら、 preg_replace("/^[ \t\n\r\0\v/]+", '', $str)
って書くと思う。
substr_count(string $haystack, string $needle)
$haystack
に$needle
が何回出現するかを返す
php > echo substr_count('ccccccccc', 'cc'); 4 php > echo substr_count('ccccccccc', 'ccc'); 3
使い方はわかったけど、名前が悪い。なぜsubstr_というprefixなのかわからない。
substr_replace(mixed $string, mixed $replacement, mixed $start [, mixed $length])
$string
の$start
位置から$length
の長さの分の文字を$replacement
に置き換える。$length
を指定しない場合は、$replacement
の長さ分の文字が置き換えられる。
php > $string = array('mutsuki', 'kuma'); php > $replacement = array('fumi', 'ta'); php > $start = array(0, 0); php > $length = array(2, 2); php > var_dump(substr_replace($string, $replacement, $start, $length)); array(2) { [0] => string(7) "fumitsuki" [1] => string(4) "tama" }
strrev(string $str)
$str
の文字列を逆順にして返す
php > echo strrev('yamamotoyama'); amayotomamay
何に使うんだこれ?
str_repeat(string $input, int $multiplier)
$input
を$multiplier
回繰り返した文字列を返す
php > echo str_repeat('!すでのな', 3); !すでのな!すでのな!すでのな
何に使うんだこれ?
strpad(string $input, int $pad_length [, string $pad_string = " "])
長さが$pad_length
になるまで$string
に$pad_string
を繰り返し追加した文字列を返す
php > $ships = array(array('type' => 'HC', 'name' => 'Chokai'), array('type' => 'BC', 'name' => 'Kirishima'), array('type' => 'DD', 'name' => 'Mochizuki')); php > foreach($ships as $ship) echo str_pad($ship['name'], 10) . $ship['type'] . "\n"; Chokai HC Kirishima BC Mochizuki DD
get_meta_tags(string $filename)
指定したHTMLファイル(URL可)のmetaタグ情報を連装配列にして返す
php > var_dump(get_meta_tags('http://www.yahoo.co.jp')); array(1) { 'description' => string(282) "日本最大級のポータルサイト。検索、オークション、ニュース、天気、スポーツ、メール、ショッピングなど多数のサービスを展開。あなたの生活をより豊かにする「課題解決エンジン」を目指していきます。" }
strtok(string $str, string $token)
$str
を$token
で分割し、分割してできた文字列を返す。2回目以降は引数に$token
のみ指定する。
php > $str = '気合い,入れて,いきます'; php > $token = ','; php > echo strtok($str, $token) . "!\n"; while ($tmpToken = strtok($token)) echo "{$tmpToken}!\n"; 気合い! 入れて! いきます!
初回と2度目以降で呼び出しが変わるって・・・誰が使うんだこの関数?
CakePHP3のShell
CakePHP Advent Calendar 2014 16日目
Shellの作成
src/Shell/
に作成。
例えば、 AiuraShell.php
を下記のような内容で作成する。
デフォルトではAppShellクラスが無い点が、CakePHP2と異なる。
必要なら自分で作る。
上記のAiuraを実行すると下記のようになる。
Taskの作成
src/Shell/Task
に作成。
例えば、KanakaTask.php
を下記のような内容で作成する。
Kanakaを実行するために、下記のようにAiuraShell.php
を変更する。
Aiuraを実行すると下記のようになる
コマンドからTaskを実行する
Kanakaタスクのmainメソッドを実行できるようにするため、AiuraShell.php
を下記のように変更する。
CakePHP2と違い、OptionParser::addSubCommand()
でサブコマンドとして登録する必要がある。
また、デフォルトで呼ばれるTaskのメソッド名は execute()
ではなく main()
実行すると下記のようになる。
ShellについてCakePHP2との違いまとめ
- AppShellではなくShellを継承(必要であれば自分でAppShellを作る)
- コマンドからTaskを実行できるようにするには、OptionParser::addSubcommand()でTaskをサブコマンドとして登録する
- デフォルトで実行されるTaskのメソッドは
execute()
ではなくmain()
他にも違いはあるとは思いますが、とりあえず気になったのは上記の3点です。 (Modelの呼び出し方も変わっていますが、それについてはControllerと共通なので特に触れていません。)
日本酒は「生」が一番うまいと思います
日本酒 Advent Calendar 2014
6日目です
やっぱり、新鮮なものは「生」が一番うまい。
野菜も魚も肉も、そして日本酒も、旬な時期に生で食すのがBestなのです。
僕と生酒の出会い
僕が初めて生酒を体験したのは2014年2月23日。
『しぼりたて祭り錦糸町2014』というイベントでした。
ちょうど、隣の駅である亀戸に引っ越したばかりで、なんとなく面白そうだと思い、行ってみたところ、飲む酒の全てがうまいのです。
それまで正直、日本酒は言うほど好きではなかった。
しかし、そのイベントで何種類もの生酒を飲んで衝撃を受けました。
それらはとても芳醇で、こんな素晴らしいお酒を飲める私はきっと特別な存在だと感じました。
今では私がKURAND会員。皆に勧めるのはもちろん生酒。
なぜなら皆さんもまた、特別な存在だからです。
KURANDとは
唐突に出てきた『KURAND』という固有名詞。
さぞかし気になっていることと存じます。
『KURAND』は、日本酒の定期購買サービス。
一月に一回(月末に)日本酒が届きます。
そして、届くお酒のほとんどは生酒です。
全国各地の酒蔵から毎月生酒が届く。
なんて素晴らしいサービスなんでしょう。
KURANDはお酒だけでなく、おつまみや酒粕、酒器などが同時に届きます。
おつまみは、その月に送られてくるお酒の酒蔵の、地元のものであることが多いです。
合わないわけがない。
また、KURANDの会員になると、KURANDが主催する日本酒のイベントに割引で参加できます。
僕が初めて参加した『しぼりたて祭り錦糸町2014』も、KURANDのイベントでした。
ステマでは無いアピール
ここまでKURAND推しだと、関係者だと思われるかもしれません。
関係者では無いことをアピールするために、ひとつ要望を申し上げます。
おつまみもいいけど、酒器をもっとください。
4月に登録してからこれまで、おまけが酒器であったことが一度しかありません。
たまにはカタチに残るものが欲しいのです。
芳醇な生酒を飲むのに適した、ワイングラスであったりすると嬉しいです。
何卒