Shinjuku.ex #10 行ってきたメモ

shinjukuex.connpass.com

新宿で迷子になっていたので、2つめの途中から参加しています。

パーフェクト"Elixir情報収集" @keithseahus さん

www.slideshare.net

exgettextの話 @k1complete さん

www.slideshare.net

ドキュメントの地域化

gnu gettextとほぼ同じような地域化

ElixirユーザのためのOTP入門 @mururururu さん

shinjuku.ex #10 発表資料

Elixirアプリケーションの設計

  • どう設計するのか、他の言語とは異なる設計になる
    • コード読むしかない
    • よく出てくるパターンを知る
    • 闇雲に読んでもダメ。OTPを勉強するのは大事

OTPとは何か

  • Erlangでシステムを設計するときの原則
  • それに従って実装するためのライブラリ群
  • 木構造の設計をする
    • スーパーバイザ:ワーカの監視などを行う
    • ワーカ:実際に仕事を行う

ビヘイビア

よくあるパターン

  • GenServer
    • クライアント、サーバ
  • Agent
    • 状態を持つ
  • GenEvent
    • イベントハンドリング
  • Task
    • ただ計算を行うなど
  • Supervisior
    • プロセスの監視
  • Application
    • 始点

実際に何が起きているのか、実際にどんな風にできているのか、サンプルアプリ(KVS)を作ってみていくことで学ぶ

samples for shinjuku.ex #10

OTPをよしなに選択して使えるとElixirがかけると言って良いのでは?

Phoenix

使うのに意識することはないが…

まとめ

OTPはパターン

Eilixirを書くということは、スーパーバイザツリーを設計するということ

Ruby on Rails vs Phoenix @ma2ge さん

speakerdeck.com

ここ2、3ヶ月海外でも記事が増えている。流行りだしている

  • Elixir/Phoenixはバックエンド、ミドルウェアだけ?
  • そろそろRails置き換える力があるのでは
    • scaffold
    • eex like erb
    • ドキュメント充実
    • WebSocket
    • Performance Railsアプリのパフォーマンスを改善するにはPhoenixと言いたい

Ruby on Rails

プログラマの幸せと生産性

Phoenix

  • Speedと開発環境を楽しくあろうと作られている
  • Phoenixのスター数はRailsの10分の1
  • 今年中に1.0?

違い

  • ウェブソケット
  • アセットパイプラインがない
    • nodeに頼る
  • SQLite Adapterなかったが開発されている

開発における違い

  • ファイル構造
  • scaffold
    • 同じ
    • named_routeほぼ同じ
  • controller
    • Rails
      • renderを明示的に指定する必要がない
  • View/Template
    • Phoenix
      • templateとViewは独立
        • Viewはプレゼンテーションレイヤのみ
      • form_forが最近実装された
      • ラベル未対応くらい
  • Model
    • Elixir
  • Query
    • ecto
  • Mailer
  • assets
    • brunch.io, gulp, etc..
      • JSはJSに任せる
  • Test
    • Rails
    • Elixir
      • ExUnit
        • アサートがマクロで読みやすい
        • Rspec likeはライブラリもある
  • Ecosystem
    • Rails
      • gems
    • Eilxir
      • hex
        • 数は少ない
        • よく出来ていて作りやすい
        • 他の言語のいいところを吸収していて、可能性がある

PhoenixRails

  • Performance
    • Phoenix > Rails
      • development: 1.7倍
      • production: 3倍
      • 並列: 9倍

まとめ

ミドルウェアだけでなくウェブアプリケーションに使ってもいいのでは

ポテンシャルはある


個人的には、@mururururuさんのOTP入門で、実際にOTPが何をどういう風に抽象化しているのかというところをライブコーディングで学べたのが良かったですね。また機会があれば参加したいです。

コンパイラ読んだ

コンパイラ [コンピュータサイエンス教科書シリーズ] (コンピュータサイエンス教科書シリーズ 8)

コンパイラ [コンピュータサイエンス教科書シリーズ] (コンピュータサイエンス教科書シリーズ 8)

コンパイラという本を読んだ.コンパイラに関する本といえば,

コンパイラ―原理・技法・ツール (Information & Computing)

コンパイラ―原理・技法・ツール (Information & Computing)

最新コンパイラ構成技法

最新コンパイラ構成技法

この辺が定番だと思うのだけれど,まだまだ敷居が高かったのでとりあえずこれを読んでみた. 監修は中田育夫という人です. 中田さんはのRuby仕様書のISO規格に関わっている方で,日本でコンパイラで有名な方です. 学生時代にMatzさんは,中田さんの研究室に所属していて,恩師でもあるそう. ちなみに中田さんのコンパイラ本はこれ.

コンパイラの構成と最適化

コンパイラの構成と最適化

これも日本人が書いたコンパイラ本としては定番らしい.

話は戻って今回の本ですが,大きく「字句解析」「構文解析」「意味解析」「実行時環境」「仮想計算機とコード生成」の章がある. lexとyaccを実際に使いながら簡単な字句解析や構文解析,意味解析などを学び,ミニ言語をつくったりする. 教科書として書かれているので,大学の講義レベルで,それぞれの章のテーマについて基本的な説明から始まり,演習問題とその解答もあって勉強になる. 以下,簡単な章の内容の紹介です.

字句解析

まず字句解析については,lexを使いながら,簡単な字句解析やC言語のソースにたいして,予約語,識別子の認識やクロスリファレンサをつくることが学べる. オートマトンや状態遷移図についても書かれている.

構文解析

いくつかの上向き構文解析,下向き構文解析などについて書かれている.四則演算やミニ言語の開発が学べる.

意味解析

トークンの並びが文法に合っていても,例えばC言語では,宣言された変数でなければ使用することができないなど,コンパイラはそれを発見しなければならない. このようなチェック処理が意味解析と呼ばれる. 例えば,どのような変数が存在するのかなどの管理を行なう入れ子型の静的スコープを扱った記号表の実装が学べる.

実行時環境

実行時のメモリ管理の仕方について書かれている.特に活性レコードと呼ばれる,関数呼び出しに対するメモリ割り当てられるメモリ領域について説明されている.

仮想計算機とコード生成

PL/0言語を用いて仮想計算機のためのコード生成について学べる.

以上です.次は,

言語実装パターン ―コンパイラ技術によるテキスト処理から言語実装まで

言語実装パターン ―コンパイラ技術によるテキスト処理から言語実装まで

理論よりも実践的に書かれているらしい,この辺を読もうかなと思っている.

今おすすめのゲーム実況者を紹介する

ニコニコアドベントカレンダーの13日目です.まあ僕1人しか集まらなかったんですけどね.

任天堂がクリエイター奨励プログラムに対応しましたね.ヤッタ!任天堂のゲームであれば,何も気にすることなくゲーム実況をできるし,楽しめます!これはすごく嬉しい.

ということで,みなさんはどれくらいゲーム実況を見ているのでしょうか?今や,僕の時間の大部分を削っているゲーム実況動画について.最近,よく見ているなかでも,おすすめのゲーム実況者を紹介したいと思います.

牛沢

歌い手の湯毛,ゲーム実況者のtowaco,フルコンが集まってゲーム実況をするチーム湯豆腐!というものがあり,その中の1人.ゲスさと小物臭を漂わせる実況スタイルで,ゲス沢と呼ばれたりする.自分は絶体絶命都市から見ており,主人公につける名前のネーミングセンスには草不可避.

牛沢のゲスさと小物臭が光っていておもしろい.

せんとす

格ゲー歴が長く.実力もある有名な格ゲー実況者.格ゲー以外にもいろいろなゲームを実況している.はじめて見た動画はおそらく,スパⅣの動画で,当時格ゲーには興味がなかった僕が,スパⅣを購入してしまうぐらい,魅力的でおもしろい実況だった.

「動画勢」という格ゲーを実際に全くプレイすることなしに,ただ観るだけの人を表す言葉までできるくらいで,格ゲーの魅力を広めた1人ではないでしょうか.

sin

プレイ動画「○○でたわむれるシリーズ」の投稿者.主に,スマブラとマリカーの実況を見ている.実況もおもしろいのだが,sinさんの魅力は何と言っても,ゲームのうまさ.とにかくうまくて,それだけでもおもしろい.

黒猫道

ゆっくり実況で,チートバグの人.ヒテッマンリスペクトというタグが存在していて,その動画の1つ.ヒテッマンリスペクトとは,ヒテッマンという人が作成したチートによるバグ動画をリスペクトしていることを表している.音バグや動作のバグ,文字のバグなどいろいろあっておもしろい.

僕自身ヒテッマンリスペクトというタグは最近知って,こんなにおもしろいタグがあったのかと衝撃を受けた.見つけたときは,一日で全部イッキ見した.個人的に「晦-つきこもり」のチートバグは最高で,腹筋崩壊待ったなし.ゲーム実況は結構見ているという自負があったのだが,まだまだ知らない世界があるのだろうか…

わいわい

関西弁のゲーム実況者.はじめて見たときは結構衝撃的だった,芸人のような口調で,ゴリゴリの関西弁で実況する割りと異色(?)のゲーム実況者.鋭いツッコミとテンポの良い関西弁がおもしろい.あとたまに宮川大輔など関西弁の芸人に似た声になる.

さいごに

ゲーム実況は本当におもしろい.ゲーム実況は遡ってみると,父親がゲームをやっているのをよく見ていた記憶がある.とくに小学生のころなんかはバイオハザードが怖いし難しいしで僕にはとても遊べなかった.ゲームは昔から見ているだけでも楽しめるものだった.それが,ニコニコ動画などができたことで大きな広がりを見せることになったと思う.

しかし,ゲームのプレイ動画をアップロードすることは,著作権的には違反になるし,ゲーム実況自体は,グレーゾーンであると言われたりする. また,ゲームが実況プレイという形で共有されることで,そのゲームは買われてなくなってしまっているのか?それとも,よりゲームは売れているのか?ということが言われたりしている.これに関しては,やはりゲームによると思う.ネタバレが重要な要素であるゲームにとっては,購買意欲が削がれる可能性があるし,逆に,格ゲーなどは,そういった要素はなく,むしろ宣伝になるのでゲーム実況推奨だと思う.

ゲームはプレイするだけじゃなくて,観ることでも楽しめるような環境になってきた.この流れにうまく対応しようとしているところとして任天堂があると思う.任天堂クリエイター奨励プログラムに自社のゲームソフトを対応させた.

これは,ゲーム実況というものがゲーム会社にとっては,無視しきれない大きな流れになっていることを象徴する出来事だったと思う.ぼくはゲーム実況も任天堂も好きで,すごく嬉しかった.これからはゲームを作って,売って終わってしまうのではなく,その後のプレイしてもらう環境づくりもしていかなくてはならなくなったということだと思う.

また,ニコニコは新たに闘会議というイベントを始めた.リアルイベントでゲームというコンテンツを通して,体験の共有などに価値を置かれるようにもなってきている.eスポーツと呼ばれるものでは,賞金として平気で何億円というお金が動いている.

ゲーム実況の登場によって,今後ゲームコンテンツにどのような影響を与えるのかはわからない.ただ,これからのゲーム業界はもっともっと面白くなっていくと思う.エンターテイメントはおもしろいほうがいいに決まってる!僕はそう信じてる

参考リンク

「キャラ萌え化」の波はここにまで!! JD1年生がゲーム実況動画にハマった理由 | ねとぽよ

【CEDEC2014】ニコニコ動画の「ゲーム実況」はなぜ人気?ゲーム売上への貢献、使いこなすための注意点、人気実況者になるためのコツも…!

ゲームプレイ動画の未来について、これはマックスむらいの話ではない。 - appbankのわくわく日記!

ニコ動の実況プレイでゲーム売上が伸びたという実話 | AUTOMATON

「食ってるだけで年収1,000万円の女」韓国のニコ生と呼ばれるアフリカTVのビジネスモデル「星風船」(ネット版の投げ銭)の裏側にせまる。 | アプリマーケティング研究所