brly.github.io

09 June 2017 : erlang newbie

Erlang

事情により, C++ 中心の仕事をしていたが, Erlang を書くことになり1週間くらいが経過したので, 今の雑感を書いておく. まだまだ理解は浅い.

最初の印象を書いておいて, 後から見たら何か面白いかも知れない.

変数のシャドーイングが欲しい

これは少し前に Rust で便利だなと思ったから, そのせい.

dialyzer が遅い

大きなコードベースで作業しているので, dailyzer の時間が長く感じる. なんかよくわからないけど CPU 使用率がマルチコアの場合, ときどき最大まで張り付くようになってるけど時間がかかる. もうちょっと早くなってくれ. :pray:

ファイル名が長くなる

名前空間がないせいか.

開発環境の構築が楽

Emacs で erlang-start しているだけ. もう少し設定すると幸せになれるのかも知れないけど, 今はこれで足りている.

13 May 2017 : Moving

まとめておく.

とにかく本がやっかい.

漫画, 技術書, 薄い本, 雑誌. 好きなだけ詰め込んでしまうと自分が持てなくなるし, 入れすぎる事によって底が抜け自分の趣味嗜好を公共の場でぶちまけてしまう危険性もある.

ネットを見ると, 「ダンボール小は 15kg までいける」「ダンボール小は 5kg までにしておくのがおすすめ」とか情報が錯綜している. 結局, 「ぶちまける危険性」と「自分で持ち上げるコスト」などを鑑みて, 9 kg 前後にした.

漫画は密度の低いもの(服, DVD/Blu-ray)と組み合わせて箱を埋めつつ 8~9 kg にするようにした.

まんがタイムきらら系の本は 4 冊だけで 1 kg になっていたのが驚き.

相見積もり

をしなかったので, 相場より 3 万円くらい高い値段となってしまった.

買い物

reference

  • 荷造りのコツ : https://hikkoshizamurai.jp/useful/baggage/

08 May 2017 : Rust week

Rust

GW は引き篭もって Rust で小さなプログラムを書くようにしていたので, その時に感じたことをまとめておく.

環境構築

Atom (linter-rust) とターミナルで.

選ぶモチベーション

Rust を学ぶモチベーションは, 自分の中で C++ の代替を目指したため.

  • C++ を捨てたい. C++ は好きではないけど, 適当に書いても早く動くことが良さ.
    • パッケージ管理システムがない
    • コーダーに求められる必要な知識量が多い

書いてみて

パッケージ管理システム最高

玉石混交だけど.

デバッガがついてくる

rust-lldb, rust-gdb がついてきた.

省略の文化

すごい適当な気分でプログラミングしていると, とにかくコンパイラに怒られる. 最初に面食らったのは, ファイルの読み書きを書こうと思ってサンプルコードをコピーして動かしてみるとコンパイルエラーになる.

https://doc.rust-lang.org/1.1.0/std/fs/struct.File.html

use std::io::prelude::*;
use std::fs::File;

let mut f = try!(File::create("foo.txt"));
try!(f.write_all(b"Hello, world!"));

let mut f = try!(File::open("foo.txt"));
let mut s = String::new();
try!(f.read_to_string(&mut s));
assert_eq!(s, "Hello, world!");

これが example とあるので, これを適当にコピーして貼っつけても動かない.

fn main() {
    use std::io::prelude::*;
    use std::fs::File;

    fn foo() -> std::io::Result<()> {
      let mut f = try!(File::create("foo.txt"));
      try!(f.write_all(b"Hello, world!"));

      let mut f = try!(File::open("foo.txt"));
      let mut s = String::new();
      try!(f.read_to_string(&mut s));
      assert_eq!(s, "Hello, world!");
      Ok(())
    }
}

サンプルコード部分に playground へのリンクがあり, 飛んでみると上の様になり, これだと問題ない.

単純な話で, try! マクロは内部で return 文を展開するので try! マクロが返そうと する戻り値の型と関数の戻り値の型が一致しないとコンパイルエラーになる. 最初はマクロを理解しておらず, 最初の example とにらめっこしたまま無駄に時間を消費した.

提供されているライブラリの多くの関数は値を Option<T> もしくは Result<T,E> で返してくるため, 素直に取り出そうとするとパターンマッチして分岐を記述する必要がある. が, パターンマッチが面倒くさい人のために unwrap メソッドが用意されており Option<T>, Result<T,E> から 内部の値を取り出すことが出来る.

ただし unwrapOption<T>Some(v), Result<T,E>Ok(v) であった場合のみ正常に動作し, NoneErr(err) などであった場合には panic になってしまい, プログラムが不正に停止してしまう.

そこで try! では Result<T,E> 型の変数に対して, unwrap の様に展開を試みて, 失敗するようなら return Err(E) をするというマクロになっている. この動作は, ふら~っとやってきて「ファイル読み書きサンプルコードは?」という心構えの初学者に理解させるのは少し難しめだと感じた.

Option<T> の場合でも Result<T,E> に変換出来るので, 同様に try! で処理出来てしまう. さらに省略記法は進み, 今は try! マクロではなく, Result<T,E> を返す式の末尾に ? をつけることで同じ動作になっている. 更に短く.

省略はそれだけではなく, 型名や lifetime パラメータなど様々あるが, この try! のようなマクロを作れる環境が省略に一番寄与しているように感じる. いくつかパッケージをのぞいて見ても, パッケージ毎に独自のマクロを定義して省略が行われている様子が見て取れる.

引数が move値渡し or 参照渡し

わかりやすい. 引数のコピーコストはない.

Option<T> とか Result<T,E> の内部値を取り出して操作して再び包むような操作を map メソッドで行うが, その際のコピーコストもない(はず).

const と書かなくて良い

最高. mutable な方に対して mut と書かなくてはならない.

文字列・配列の扱い

これも簡単だけど最初に面食らったので. String は公式ドキュメントだと growable string とあり, 可変長の文字列を表す primitive クラス. それとは別に str というクラスもあり, これは固定長の primitive クラス.

growable 配列は Vec<T> で, 固定長なものはスライスと呼ばれて let a = [1,2,3]; みたいに定義する.

エラーハンドリングを強制する

最初の try! マクロについても触れたように, とにかく標準ライブラリでは Option やら Result に包んで返してくれるので ? 構文なりを使わず unwrap で取り出していくと危険なプログラムが出来あがる.

なので, unwrap しているところはエラーハンドリングをおざなりにしていることの証でもあるので, もしあとで綺麗に直すつもりがあるのなら目印になる.

https://doc.rust-lang.org/book/error-handling.html

公式でもエラーハンドリングの章は割りと長め. でもここが読めたら割りと達成感がある.

おわりに

なんだかんだ, まだまだ理解が足りてないので深めていきたい.

今のところ, 簡単なスクリプト用途などでは Ruby を使う方に習熟度として軍配が上がっているので, その代替になるくらい理解していきたい.

lifetime パラメータの使い所がまだ分からない程度には習熟していない.

18 March 2017 : glee

Drama

ここのところ glee という海外ドラマを見ている。これは netflix で見ているのだけれど、なかなかに面白い。海外ドラマによくある複数シーズンものであり、全6シーズンで今4シーズンの後半に差し掛かっているので、だいたい 2/3 くらい見た。

舞台はアメリカの地方高校での glee クラブ(合唱クラブ)を中心にした物語。合唱クラブといっても、踊りもあって大変そう。 こう言ってはなんだけれど、高校生のわりに大人びた見た目だと思っていたら、役者さんは演じている年齢より上の方が多かった。まぁ日本のドラマでもそうだし。

このドラマではとにかく沢山の差別が描かれてい、スクールカーストもひどい。 見ていて嫌な気分になるような展開も多々見受けられるが、それらに立ち向かっていくメンバー達の姿や劇中に沢山流れる素晴らしい歌がそれらを押しのけている。演じている役者さんは例外なく歌がうまくて、恐らくそのようにキャスティングされたのだろう。

本能的に行動する

見ている限りでは、理性的に行動しているよりは本能的に行動しているメンバーが多い。大人ですら。歌うことが何よりも好きな設定であって、良く言えば情熱的というか、そういった人が多い。メインヒロイン(?)が完全にそれで、なんだか見ていて新鮮だった。

本能的だからこそ、こうなったらこうするだろうなと思ってみてたら本当にそうなったりしていて面白かった。

洋楽

日本でも流れるような洋楽が流れると妙に嬉しくなる。「私のお気に入り」などは CM などで有名らしくて、知っていた。

12 February 2017 : 「NEW GAME!」ファン感謝イベント〜Next Level〜 レポート

Anime
Kirara

2/12 に表題のイベントに行ってきました。

イベント参加記は 以前もごちうさのイベントについて書いたこと があり 、文章化しておくと読んだ時にイベントの時の映像・雰囲気が脳内に立ち上ってきて、なんだか面白いので 文章量や品質は別にして、残しておくのは好きなのですが

頼まれてしまったので、気持ち情報量を増やしてレポートにまとめておくことにします。が、全て正しい情報とは限りませんのでご了承下さい。

場所は豊洲PITで、出演者は演者さん達の9人でした。

チケットのもぎり時に配られたチラシ。

オープニング

開始時間になると、照明が落ちると共に青葉役の高田憂希さんのアナウンスが始まりました。 後で語られていましたが、この時、高田さん以外の演者全員からかなり近い距離で見守られていたとのことでした。

そうして、 ラジオ の MC のお二人から入場を開始し、以降キャラクター紹介と共に演者さんが入場しコーナーへ。

得能先生のおもしろかったシーン、感動したシーン

原作者の得能先生がアニメで印象に残ったシーンについて語り合うコーナー。

おもしろかったシーン : 9話 デバッグ中のねねっち

ねねっちがゲームのデバッグ中に、キャラクターのパンツのぞきをするシーン。

ねねっち役の朝比奈丸佳さんは「みんなするよね。ゲーセンのフィギュアとかでよくやる。」

感動したシーン : 1話 頭出し

青葉のセリフのみから構成されているシーン。

高田憂希さんが「今でもそらで言える」と言って、そのまま即興で台詞を披露。会場を沸かせました。

喜多村英梨さん「何度も何度も台本にまっすぐに向かっている高田さんは今でも覚えている。」

得能先生の質問

得能先生から演者さん達への質問。質問内容は「お忙しい中での、気分転換は」というもの。

印象に残った台詞を書き出してみると

うみこ役の森永千才さん「クローゼットに挟まれるのがすき」
日笠陽子さん「暗いw」

喜多村英梨さん「出演作品にかかわらず、好きな作品を見るなど」
日笠陽子さん「急にまじめか」

朝比奈丸佳さん「ホラーゲームしている人を見る。」
日笠陽子さん「おもしろい?」
朝比奈丸佳さん「ちがうよ。なんか全然こわくないのに怖がるのが面白い」
日笠陽子さん「闇が深そうw」

竹尾歩美さん「お紅茶とかお酒とか」
茅野愛衣さん「わかるわ」

戸田めぐみさん「ゲーム。RPG。ゲーム好きなので、この作品に関われてよかった。」
喜多村英梨さん「ゲームの発言が SNS でめっちゃ沢山流れてくるのでミュートしようかと思ったw」

山口愛さん「自宅で飼っているねこ。よく噛まれて引っかかれるけど、好き。」
日笠陽子さん「まめちゃん(山口さんの愛称)の M はドM の M なの?」

高田憂希さん「ジム。日笠さんに体が資本であることを教わって通っています。が、ここ1ヶ月はいけてないので行きたい。」
日笠陽子さん「もっと言って」

MC 陣、特に日笠さんのツッコミが光っていたように思います。喜多村英梨さんへ「真面目か」と突っ込んでいて、とにかく喜多村英梨さんは自由にトークをかき回していた印象でした。

朗読劇

演者さん達が一旦舞台からはけて、台本を持って再びステージへ。朗読劇のお題はイーグルジャンプ社内での節分。 原作のドーナツ会よろしく、みんなで豆を持ち寄り、沢山豆が集まってしまったので豆まきをするお話。

朗読劇中は、スクリーンにイーグルジャンプ社内の絵と台詞を喋っているキャラクターの SD 絵が表示されていました。

劇の最初は「fourfolium」メンバーだけからなるパートで、台本に忠実にこなしていて、見ている・聴いているこちらもなんだか緊張感がありました。 次に「ねねっち、しずく、うみこ」が加わり、最後に「コウ、りん」が加わる形となりました。

途中までは全員が台本に忠実で、かつノーミスでしたが「しずく(喜多村英梨さん)」がアドリブの口火を切りました。 最初はとある単語の言い直しで「〜〜って〜〜って読むんだよね?」くらいのものでしたが、 以降はオーバーに台詞を読むなど、様々なバリエーションのアドリブが加えられていきました。

朗読劇の尺は長く、とかく豪華だった印象でした。

マニアッククイズ

アニメに関するクイズを出題。内容としてはかなり高レベルで、恥ずかしながらほとんど分かりませんでした。 にも関わらず正解していた演者さんたちはすごいと感じました。

ここでは「はじめ・ゆん」チーム、「あおば・ひふみ」チーム、「ねねっち・うみこ・しずく」チームに分かれて対決。 「ねねっち・うみこ・しずく」はおわらいチームと MC に命名されていました。

クイズはマジックで紙に書いて答える方式で、後半は絵で笑いを取るような、大喜利のような展開になっていました。

Q1. 9話 時計のフォルム

9話の青葉のデスクにある時計にモザイクがかけられており、それがどのような形をした時計か答える問題。 おわらいチーム以外正解。10ptずつ獲得。

Q2. Line のスタンプ(ねこ?くま?のヘッドスライディング)

青葉とねねっちの間で交わされていた Line のスタンプにモザイクがかけられており、そのスタンプを答える問題。 おわらいチームだけ正解。お笑いチームは答えだけでなく、日笠陽子さんの似顔絵を描き、それが巨乳だったため 30pt獲得。

Q3. 子供の台詞から、動物「きりん」

青葉が休日出勤したときに、改札前ですれ違う家族連れの子供の台詞で言及されている動物について答える問題。

あおばとひふみチームは「きりん」の絵を描き正解、100pt。

おわらいチームは正解の「きりん」だけでなく「ぞう」も描いていて、喜多村英梨さんが「ぞうも確か言ってたよ!」と言い、 正解映像が再生されると確かに父親が「ぞうさんも好きだぞ」と言っており、拍手が。しかし完璧に正解するも 10pt。

ゆんとはじめは「ぞう」と答えるもポイント無し。

Q4. りんのエプロンの柄

りんが着ているエプロンの柄にモザイクがかけられ、その元の絵を当てる問題。正解はひよこ。こちらの問題は各チームとも正解でした。

終始、喜多村英梨さんがふざけており、日笠陽子さんのツッコミが飛び交っていました。 ふざけながらも、とても上手な絵を書いていました。茅野愛衣さんも珍しく辛辣なツッコミをしていました。

出張版 「先輩に話してみなさい!」

ラジオであったコーナーの出張版として特別に再現。 もともとこのコーナーでは投稿者から相談を受けてその相談に対してアドバイスをするもの。 特別な点として、ただアドバイスするのではなく箱の中からボールを取り出し、ボールには「優しく」「厳しく」などが書いてあり それを加味してアドバイスすることが求められます。

次のコーナーは fourfolium のライブパートになるので、 fourfolium の4人は衣装チェンジのために舞台からはけることに。

投稿者:竹尾歩美(飯島ゆん)

質問内容は「ひふみさんに勝てない。作品を見た同僚、親、友達からもひふみが一番かわいいという意見が。どうしたら勝てるのか。」という内容。

印象的だったアドバイスは

朝比奈丸佳さん(はてんこう)「ゆんはかわいいし、ひふみもかわいいけど、ねねっちもかわいいよ!」

喜多村英梨さん(ざつ)「ごはんと一緒。ごはんばっかりだと飽きる。たまには菓子パンとか別のを食べたい。かやのかやのかやのかやのひがさかやの・・・みたいな。」
日笠陽子さん「ゆんとあたしは菓子パンかい!」

喜多村英梨さん「ゆんの素直に頑張っているシーンはすき。かわいいと思う」

投稿者:戸田めぐみ(篠田はじめ)

内容は質問ではなくお願いでした。次のコーナーの fourfolium のライブ、の振り付けを観客へ教えてほしいというもの。

だったが、何故か「SAKURAスキップ」に謎の「ぞいぞいぞいぞい」というコールアンドレスポンスを喜多村英梨さんが思いつき、次のライブパートでやろうよと提案。

喜多村英梨さん「このコールアンドレスポンスが不満かどうかは、 fourfolium がステージに戻ってきた時の顔で判断しようよ」

ライブ

入場とともに、恐らく演技だと思われますが、 fourfolium 達が若干不満顔で入場。

それを真に受けたのか、あわてて喜多村英梨さんがフォローに入りました。 ぞいの言い方(イントネーション)を変えてみようか、とか、言いたい人だけいうようにしようか、など。

結局のところ、この変わったコールアンドレスポンスは、 「SAKURAスキップ」が始まる前に高田憂希さんが「ぜひやってください!」と言って、会場全体でやることに。

「SAKURAスキップ」では、サイリウムがピンク一色となり、喜多村英梨さん発案の「ぞいぞいぞいぞい」が毎度起きていました。

あとで語られていたことですが、日笠陽子さんは fourfolium を溺愛していて、「SAKURAスキップ」の音楽がかかると パブロフの犬のように泣いてしまう(本人談)ようで、ステージ横で泣いていたとのことでした。

印象的だったのは、どの曲か忘れてしまったのですが、観客の「はい!はい!はい!」という掛け合いの中で、 高田憂希さんが通常通りの踊りを捨てて、それに乗っかって一緒に「はい!はい!はい!」をお客さんと一緒にやっていて、 周りの3人と違う動きになっていたことでした。

トークのみのイベントだと思っていてサイリウムを忘れたことが悔やまれました。

2期発表ムービー

二期発表のムービーが流れました。昼と夜とで二期発表のムービーが違ったようでした。

夜のムービーは、通してドット絵のファミコン時代のドラクエ風味。画面中央にお城があり、fourfolium がお城の前に到着。 すると、しずくが登場し「簡単に二期はやれんぞ」というウィンドウメッセージが。これに合わせ、恐らくアドリブで喜多村英梨さんがウィンドウメッセージの台詞を喋ります。 その後、青葉の台詞も表示され、続いてアドリブで。

fourfolium が「わたしたち fourfolium です!」というメッセージと共に、宝箱を出すしずく。宝箱を開けると二期決定の表示。

拍手と共に明かりが付き、泣いている戸田めぐみさんの姿が。fourfolium 達がフォローしあっていました。

エンディング

最後に一言ずつ。みなさん涙を浮かべながら挨拶していました。

最初に日笠陽子さんから始まったのですが、今までの楽しげな雰囲気とは一変し、とても真面目なコメントをされていました。 続く茅野愛衣さんも「なぜかしらないけど、NEWGAME のイベントだと泣いてしまう。」と涙ぐみながらも挨拶されていました。

喜多村英梨さん「メンバーとの距離感は良い意味でしずくとシンクロしていた。私を引き込んでくれる、日笠と茅野には感謝している。」

続いて朝比奈丸佳さん、森永千才さんも涙ぐみながら、感謝のコメントをされていました。

竹尾歩美さん「声優はキャラクターに魂を吹き込むものだが、私はゆんに魂を吹き込んでもらった。」

戸田めぐみさん「さっきライブしていた時、ステージ脇を見ると朝比奈さんと森永さんも脇で同じ踊りをしていて、泣いてしまった。
6人で走りきったと思っている。
ここに来れた人が全員ではなくて、他にも沢山この作品を好きな人がいることを考えると胸がいっぱいに。」

山口愛さん「人見知りだが、ここの現場ではみな話かけてくれる。ここまで楽しい現場はないです。
あっというまに終わってしまって、また2期が始まるのだけど、また終わってしまうのだとおもうと悲しい。」
高田憂希さん「まだ始まってないよ!」

高田憂希さん「先輩、仲間、そしてお客さんがいたからここまでこれました!」

全員の挨拶が終わり、MC の進行に戻ると二人とも泣いており、日笠陽子さんと茅野愛衣さんが「がんばらなきゃ」と互いを励ましつつ進行へ。

日笠陽子さんが「よくがんばったね」と6人に向けて声をかけていました。

最後に高田憂希さんの「がんばるぞい!」と共にテープが発射され終演。 あとで知ったのですが、このテープには演者さんたちが二期への意気込みを書き込んだものだったようです。 どのようなものかは「NEWGAME イベント テープ」などで検索すると出てきます。

感想

声優さんたちの仲の良さ、作品への愛が伝わってきてとても良かったですね。また機会があれば参加します。

物販で購入したラジオCDとクリアファイル。

参考・あわせて読みたい