安済知佳
声優 Advent Calendar 2016 22日目の記事です。
12月22日は安済知佳さんの誕生日です
25歳の誕生日、おめでとうございます。
安済知佳さんとは
エイベックス・ピクチャーズ所属の声優
代表作には、棺姫のチャイカ(チャイカ・トラバント役)、悪魔のリドル(首藤涼役)、響け!ユーフォニアム(高坂麗奈役)などがあります。
また、福井県出身で、アニメ・映画「ちはやふる」では方言指導を務めています。
オフィシャルサイト
ブログ
https://twitter.com/Anchika_manager
Twitterは本人とマネージャが投稿しています
エイベックス・ピクチャーズについて
エイベックス・ピクチャーズはエイベックスグループ傘下で、主にアニメの映像制作を行っている会社です。
安野希世乃さんといえば
今年の9月3日のアイドルマスターシンデレラガールズ4thライブ神戸公演初日にサプライズで出演したのが記憶に新しいです。
炎陣のメンバーが全員揃っての純情Midnight伝説、その後のRockin' EmotionはまさにRockなEmotionに溢れていて、デレマス4thライブ全日程の中でも特に印象深いひと時でした。
安済知佳さん、安野希世乃さんともにお酒好きですが、安野さんは日本酒好き、安済さんは日本酒は苦手(過去に失敗したことがあるらしい)と、好みは対照的のようです。
最近の安済知佳さんについて
2016年10月ごろから放送されているアニメ「響け!ユーフォニアム2」はいよいよ最終回を迎えようとしています。
麗奈の想いはどのように響くのか、最後まで目が離せません。
また、響け!ユーフォラジオ2 というWebラジオが配信されています。
黒沢ともよさんと安済知佳さんのペア、朝井彩加さんと豊田萌絵さんのペアで交互に配信しており、次回は黒沢安済ペアです。お聴き逃しなく。
http://www.onsen.ag/euphonium/
7月から、シーサイドコミュニケーションズ制作の「安済知佳と朝井彩加のふたりはシンパシー」という番組が、ニコ生・ニコ動で配信されています。
シーサイドコミュニケーションズの番組では珍しく映像付きの番組で、とても見ごたえがあります。
通常の30分の番組は無料で視聴可能です。
また、10分間のシーサイドチャンネル会員限定の配信があります。
会費は毎月540円。
払う価値は十分にあります。
ぜひ入会しましょう。
http://ch.nicovideo.jp/seaside-channel
今後の安済知佳さん
2017年1月より放送の「クズの本懐」、2017年4月より放送の「サクラクエスト」での主演が発表されています。
今後のさらなる活躍に期待です。
【アイマス】ソフトウェア開発におけるCIの活用
アイドルマスター Advent Calendar 2016 14日目の記事です。
CIとは
CIとは、昨今のソフトウェア開発において品質・生産性を改善するための方法論で、Continuous Integration(継続的インテグレーション)の略として知られている。
が
ケイゾクテキインテグレーション?
そんなこと言われてもいまいちティンと来ません。
CI・・・
CI・・・
そうか!CANDY ISLANDだ!
CIの環境を整える
というわけで、CANDY ISLANDのメンバーと楽しく開発できる環境を作ります。
用意するもの
CIの環境構築には下記のようなものが必要です。
それぞれ、下記を使用しました。
- Git + Bitbucket
- CircleCI
- Slack
- Sqale + PHP
動作の概要
- PCにてコーディング
- Bitbucketへ git push
- CircleCIにてビルド
- ビルド結果がSqale上のPHP製アプリケーションにPOSTされる
- Slackへ通知
動作例
この図のように、CANDY ISLANDのメンバーがビルド結果をSlackへ通知してくれます。
まとめ
CIをうまく活用して、楽しく開発しましょう。
五十嵐裕美さんの呼び方についての注意事項
声優 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度目以降で呼び出しが変わるって・・・誰が使うんだこの関数?