読者です 読者をやめる 読者になる 読者になる

まりぱらおーぐ

主にコンピューター周辺の話を中心に、気ままに書いていきます。

新年あけましておめでとうございます

新年のご挨拶

新年あけましておめでとうございます。今年もよろしくお願いします。

昨年の反省と抱負

なんだかこれを読んだので、超緩くやってみようかと。

qiita.com

列挙する

仕事のことは深く書かないことにしているので、そこはあまり触れないですが。

  • 社内ハッカソンに参加した。
  • Swift愛好会の合宿に参加した。
  • サークル活動いろいろした。
  • S/4HANA とかと戯れた。
  • AWS とかなり友達になれた。
  • Bluemix とお近づきになれた。
  • ハード工作も再開。
  • Blog/Qiita も書いた。
  • 英語学習

分類する

外部活動

  • 社内ハッカソンに参加した。
  • Swift愛好会の合宿に参加した。
  • サークル活動いろいろした。

仕事

  • S/4HANA とかと戯れた。

半分仕事、半分趣味

  • AWS とかなり友達になれた。
  • Bluemix とお近づきになれた。

趣味

  • ハード工作も再開。
  • Blog/Qiita も書いた。
  • 英語学習

かな。

カテゴリ毎の振り返り

外部活動

今年、一番頑張った部分かも。今年は、もうちょっとアウトプットを増やすとか、成果物にこだわりたい。

仕事

新しいパッケージやデータベースを少し触れて勉強になったし、もっと知識を深めたいと思ったのが一つ。 指名でいただいた仕事があったり、いろいろやったかなと。もっと、仕事の幅を広げて、フルスタックを目指していきたいところ。

保有資格ももうすこし増やせるようにしたい。(既にたくさんありますが)

半分仕事、半分趣味

クラウドについては、資格を取ったりすることで、もっとスキルを上げたいところ。もっと頑張る。

趣味

ハードのところは他とも関わるのでちょっと深めにやる。英語学習は、もっと密度あげる。 Blogとかの更新頻度もすこしは上げたいところ。

マイルストーン

ここは別途考える。

総括

昨年は、プライベートは特に忙しかったし、たくさんやって出来ていないことも多いけど、でも、よかったことも多かったかな。プライベートでは、台湾やオーストリアに行ったのは良かったし、語学の習得のモチベーションにもなったので。

あと、新しい友達や知り合いもできて、自分的には楽しかったかなと。

今年は、もっといろんなことを取り組んで、アウトプットにすこしこだわってやってみたいと思うこの頃です。 仕事は、いろいろ思うところがあって悩んでいるのが現状。幅と深さが難しい。

スキル的には、フルスタックになれるように頑張るというのが結論ですかね。

響け!ユーフォニアム2最終回上映会

f:id:o_chicchi:20161229172917p:plain

響け!ユーフォニアム2最終回上映会

2016年12月25日18:00から、新宿ピカデリーで、TVアニメ『響け!ユーフォニアム2』最終回先行上映会があると、友人からおもむろに送られてきたメールに反応して申し込みました。

2015年10月から、第1期シリーズが始まり、劇場版を経て第2期の締めくくりを劇場で観ることができるのは、幸せな作品だなと思って観ていました。いや、観ることができて本当に良かったです。

イベント内容

イベントは、前半が最終回の上映会、後半が、黒沢ともよさん(黄前久美子役)、寿美菜子さん(田中あすか役)によるトークショーでした。1時間という短い時間のイベントでした。

イベントの感想

前半のアニメーションについては、本当に京都アニメーションらしく、素晴らしい出来だなと実感させられました。第1期、劇場版からのカットも挿入された回送シーンもなかなかの圧巻で、伏線として貼られた話を全て回収していくそのこだわりは、さすがだなと。

サウンドについても、アニメーションにあうような構成での音作りも相変わらず凄いなと。 作品が進むにつれて全ての回の出来が良すぎて、どれだけ手をかけているのかと。

商業用アニメーションである以上、収益を上げることも大事な訳で、どうやってバランスを取っているのかといつも不思議に思います。

後半は、役者中心のトークでした。最終回のともよさんの演技に心奪われる感じでしたが、役者陣としては、キャラクターをどう作るかというそのこだわりについて、熱弁しているところが印象的でした。

作品全般の感想

京都アニメーションが「響け!ユーフォニアム」という小説をアニメーションにするという話を最初、聞いたときに、「けいおん!」で大成功を収めてるとはいえ、楽器はたくさんあるから描くのもそう簡単ではないし、のんびりお茶会ばかりではないし(笑)、経験者の多い吹奏楽を描いて、京都アニメーションの評価を下げることがなければいいなと思っていたんですが、それは、杞憂でしたね。

楽器をヤマハさんから借りて、一つ一つ絵を起こすところから初めて、演奏法もそれぞれ違うのに、アニメーションとしてここまで作り上げるとか凄いです。自分もちらっと楽器をやっていたので、音と指使いは今でも少し分かりますが、正確に描かれていて凄いです。

第1期シリーズでは、地区大会までの取り組みを描いていましたが、この手の話らしく緩い胸の話をしてみたり、その一方で熱い吹奏楽部の細かな練習を描いていたのは印象的でした。「水色の悪魔」は、死ぬほど笑いました。チューニング音やバックの練習音に至るまで、どれだけこだわるのかと思いながら、最終回の演奏シーンまで描いて、これは凄いなと。 それと、「愛を見つけた場所}を使ったエンディング、あれは素晴らしかった。

劇場版は、ひとえにマーチングシーンに目を奪われて複数回見ましたね。録り直しした役者の演技は、最初は、違和感があって思うところがあったのですが、観るにつれて録り直した方が正解だったのかなと思っています。

第2期では、たくさんあるんですが、あえてあげるなら、吹奏楽をやったことのある人ならよく知られている「宝島」とか2016年4月に亡くなられた真島俊夫さんアレンジの曲も登場して、リアルな京都駅でのコンサートも感激しながら観ていました。よく見ると、ちゃんと譜面も宝島の譜面だったり(そこは省略でもいいと思うのですが)、見返すと毎回発見がありすぎて驚かされます。実際の関西大会は、強豪校(有名校)があまりに多く、簡単には突破できなくて有名ですが、さらっと突破してましたね。 原作には、他校の失敗で関西大会を突破できたことになっていますが、これをあえて描かなかったのかなと解釈しています。実際にはそうかもしれませんが、実際、部活で取り組んでいる人たちのことを尊重しているのかなと。

全体を通して、キャスティングも考えているなと思って見ていました。ちゃんとチームになるように、後輩、先輩の関係ができやすいように。メディアミックス展開可能なように、考えているなと。個人的には、久川綾さんが出ているのがたまらなく良かったです。

まとめ

とりあえず、BDを全巻、それ以上に、待ちに待ったサウンドトラックの発売を予約して届くのを楽しみにしているこの頃です。いったんテレビ放映は終わりですが、もうちょっと展開は続くので、もう少し見守っていきたいです。

BDの映像特典とかも楽しみです。第1期の吹奏楽部の日常のその3の男子の日常は非常に笑ったので。パート関係なく仲良いのはその通りですね。

参考

anime-eupho.com

news.ponycanyon.co.jp

アイコン

公式から配布されているアイコンを見ていて、この小笠原晴香の一言に尽きると思ったので貼っておきます。

f:id:o_chicchi:20161229172753p:plain

オブジェクト指向初心者が、Swiftでアプリを開発するまで

本記事について

Qiitaに掲載した以下の記事を、一部修正の上、こちらにも掲載しています。記事作成者自身による投稿です。

qiita.com

はじめに

Swiftアドベントカレンダー18日目を書きます。

昨日のTaji-tajiさんのような高度な話ではありません。 本記事には、技術要素はあまりありません。ポエムです。ゼロではないけど…。

Swift愛好会に参加するようになって、けっこうな時間が経ちますが、Qiitaに書いたことも無ければ、談義をしたこともないので、知らない人は多いのではないかと思います。なので、アドベントカレンダーの空きを利用して、自己紹介も兼ねて、最近のアプリ製作の紹介、合宿でやったことを書きます。

どんな奴

都内の中堅SI会社に勤務するSAPテクニカルコンサルタントという怪しい肩書きの持ち主です。 たまに開発もしますが、メインはインフラ寄りのエンジニアです。スキルの振れ幅大きいので、要は何でも屋とも言います。

経歴は、ハードウエアエンジニア、制御系SE、社内SE、ネットワークエンジニアを経て、現職です。その昔、NEC PC-8001 に出会い、PC-8801mk2SR に運命変えられました。今は、ハード製作といった下のレイヤーから、けっこう大きめなサーバの上に乗っかるアプリケーションまで、趣味や仕事で扱っています。

あと、資格コレクターなので、最近世間で有名な逃げ恥の平匡さんが持っているデータベーススペシャリストも保持してます。高度情報処理者資格もずいぶん集めました。

そのほか、昔、アマチュア無線でパケット通信やっていたり(MO-RBBSもやっていました)、パソコン通信(Nifty-Serve、PC-VAN)なんかもよくやっていました。なので、無線とか通信など、その辺も若干詳しいです。

経緯

Objective-C もやっていたんですが、なかなかリリースできるまでの経験まで至らず、Swift になっちゃったねということで、書籍を買い直しました。言わずもがな、世界一本ですね。諸般の事情で、2冊あります。

IMG_0009.jpg

この本が縁で、RainbowApps のプログラミングスクールにも行きまして、著者の高橋さんに教わり、そこで知りあった人たちの縁で、Swift愛好会といったコミュニティの勉強会に参加するようになりました。

スクール云々より、この出会いはとても大きかったです。

iPhoneアプリについて

その RainbowApp に行った中で、アプリを作りました。

[AppStore] Simoncats https://itunes.apple.com/jp/app/simoncats/id1078064315?mt=8

IMG_0008.jpg

SimonCats と言います。サイモンゲーム)というのがあるのですが、その昔、PC-8001上の N-BASIC で作って楽しくてハマったので、なんとなく移植してみようと。

移植のサンプルプログラムを作る過程で、親友がイラストを描いてくれまして、それを組み込んで、少しルールを変えてリリースしました。ほとんど、この絵に支えられていると言ってもいいですね。友人に感謝です。

ちなみに、何度かバージョンアップしているので、リリースしたときとは、もう、ずいぶん違っています。

技術要素

このアプリのウリですが、

  • 可愛らしいイラスト
  • エクステンションを使って枠線付きボタンを StoryBoard で描く
  • 多言語対応(英語、日本語)
  • Admobの広告処理をSwiftで記述
  • サウンド処理

再活用できそうなTipsは、別記事にまとめました。 こちらを参照してください。

[iOS][Swift]iOSでボタンやラベルの枠線を Storyboard で簡単に描く方法 http://qiita.com/o_chicchi/items/c4469e956c2118226a2d

[iOS][Swift]Admobの広告をSwiftで表示する http://qiita.com/o_chicchi/items/da8ebfd1d4536f29398b

合宿

アドベントカレンダーにもありますが、今年、プログラミング合宿に行きたい思っていたので、Swift愛好会の合宿に参加できて、しかも、土善旅館とかテンション上がりました。事務局をやってくれる方々に感謝です。

その中で作業していたのは、Swift3.0 への移行でした。

問題になっていたのは、Admob の広告のライブラリで、もともと、Pods を使わずにプロジェクトを作成していたので、Admob のライブラリを削除した上で、Pods 使用に切り替えて、最新版を再導入したんですが、Xcode のリンク時のエラーを解消できず、プロジェクトを作り直しました。StoryBoardが壊れたりしたのを直し、細かい辻褄があわないところを修正して、リンクが通ることを確認し、Swift3.0へのアップデートは完了しました。本来は、コードの置き換え中心になるはずなんですが、すごく苦労しました。

あと、AVPlayerLayer あたりが使い方が変わっていて、ゲームのチュートリアルの処理を大幅に修正しました。

いまさら参考: Swift3でAVplayerLayerをUIViewのレイヤーとする時 http://qiita.com/noppefoxwolf/items/8c503923b3da23484f30

リリースに向けて

仕事もそれなりに忙しく、いろいろな活動をしている影響で、進捗は芳しくないのですが、書きかけの GameCenter の処理を頑張って組み込んで、リリースに向けた準備をしていきたいと思います。 次期バージョンでは、イラストの追加も予定していまして、既に素材はあるので、加工して組み込みたいと思います。

課題

いくつか課題があります。

  • ゲームのメインの処理のプログラムコードの書き方が決していいとは言えないです。状態管理を変数で管理していますが、Swiftには、enum といういい命令があるのですが、活用できてないです。

  • 全体的なコード量が多くなっていて、冗長なところも目立つようになってきました。昔、記述したところを見直して、よりスマートにきれいにしたいです。

そもそもは、力業で、ごりごり書いて、リリース優先した遺産ですね。

まとめ

Swift愛好会は、普段の仕事の中でコードを書かない私にとって、自分のモチベーションを保つ上で非常に重要な会です。今後も続けて下さい。@es_kumagaiさんのSwiftチャチャチャのような高度な談義や、いろいろな人のコードの書き方を知って、頑張ってついてこう、頑張ろうと思っています。

そのほか、私自身は、iPhoneのアプリ開発はもちろんのこと、AWS、Bluemix、IoT周辺(RaspberryPi、Arudinoなど)でも遊んでいるので、興味ある方は是非一緒にやりましょう。

それと、初心者の皆さんへ、アプリのリリースはしてみるものです。世界が変わります。ホントに。

明日は、かの有名な dotstudioのびすけさんの投稿です。MashupAward2016IoTLT の優勝おめでとうございます。

最後まで読んでいただきありがとうございました。

以上

実践SERVERLESS

勉強会に参加してきました

  • Cognito を見たくて行ってきました。

classmethod.connpass.com

感想

  • デモが、うまくいかないところもあったけど、準備して見せていただけたことは素晴らしい。
  • awslabは、後でやってみよう。
  • 参考になったので、自分のアプリでやりたい。
  • でも、競合製品もたくさんあるよね。
  • 求人イベントなのか、PRイベントなのかよくわからなかったな。

公式のレポート

  • コレ見れば解決。でも、まぁ、メモ書いたから公開はしておこうかなと。

dev.classmethod.jp

ごあいさつ

  • スピーカー
    • クラスメソッド 深澤 豪さん
  • ハッシュタグ
    • "#cmdevio"
  • 今回の勉強会について
    • 公開して50分で枠が埋まった。
    • サーバーレスに関心が高いと感じた。
  • 求人イベントを、2016/8/5 にやります。

Introducing Serverless Computing

  • スピーカー

    • アマゾンウェブサービスジャパン 西谷圭介さん @Keisuke69
  • 資料

  • Computing の区別
    • EC2
      • インスタンス
      • ハードウエア
    • ECS
      • アプリケーション
      • OS
    • Lambda ← Serveless と呼んでいる
      • ファンクション
      • ランタイム
  • Real-time File Processing
    • with S3
  • Real-time Stream Processing
    • with kinesis
      • クライアントのアクテビティトラッキング等
  • Extract, Transform and Load
    • with Dynamo DB
  • Serverless Web and Mobile Applications
  • Alexaアプリ + Slack = serveless bot!
  • Audit AWS Cloud Trail Activity
  • Amazon CloudWatch Alarm
  • 事例紹介
    • VidRoll
    • PlayOnSports
    • easy ten
    • Canon
    • 岡三証券
    • RECRUIT jobs
    • 公開されているものも多数
  • オフィスアワーやります
    • 2016/8/19(金)
    • 登録は別途

Lambda と API Gateway の管理

  • スピーカー

    • クラスメソッド 諏訪 悠紀さん
  • 資料

  • 本日のゴール
    • サーバーレスアーキテクチャの管理方法を創るモノに合わせて適切に選定できるようにする
  • サーバーレスの役割
    • どこでも活用できる
      • モバイルアプリやWebアプリと通信し、データの取得や登録を行う
      • ユーザーに見えないところで動く
      • 他にもいろいろ
  • 管理方法の選定のコツ

    • たくさんある
      • 管理の観点、目指す目的が違うことで様々なツールがある
      • 迷うよね
    • 私が思う4つの選定ポイント
      • APIGatewayとの併用
        • API Gateway + Lambda と Lambda のパターンがある
        • API Gateway + Lambda は、フレームワーク意識が多い
        • Lambda のみを対象にしているツールは、導入しやすい
      • ほかのリソースの管理
        • SNS や S3 など、他のもと併用するのでその管理も必要
        • 規模による
      • ロールバック
        • デプロイするものは、戻せる仕組みを考える必要もある
        • 対応しているものと対応していないものがある
        • 手作業でよければ別途検討
      • 使い回し
        • 他のサービス等で使い回すか
        • 汎用的にするか
        • 設定値は実効値パラメータ? ステージングがいる?
        • 環境変数は必要か?
  • 管理ツール6種使い比べ(デモ付き)

    • AWS Cloud Formation
      • JSON で記述
      • 依存関係を書ける
      • 実行時パラメータ定義できる
      • ソースコードをインラインで記述できる
    • SERVER★LESS
      • フレームワーク
      • プロジェクト管理のファイル多い
    • APEX
      • lambda に特化した管理ツール
      • Go言語も使える
      • API Gateway やないのは面倒かも
    • Gulp
      • node.js で動くタスクランナー
      • Invokeは用意されてない
    • SWAGGERHub
      • クラウドサービス
      • SWAGGERHubをブラウザで記述
      • ドキュメントも同時に作成できる
    • Chalice (Beta)
      • まだβ
      • Python限定
      • API Gateway も同時にデプロイ
      • そのAPIのアクションが必要なIAMを作ってくれる
    • Flourish (Comming Soon?)
      • SWAGGERHub ライク
      • まだ発表されたばかり
  • まとめ
    • 何を重視するか
    • 触ってみましょう
  • 質問コーナー
    • ツールを使っても、WebConsole での API Gateway の設定を必要だったりする
      • CloudFormation が一番オススメです。

実際に使う Cognito UserPools

  • スピーカー

    • クラスメソッド 丹内 優紀さん
  • 資料

  • Serverless と Cognito

    • サーバーレスとは?
      • 非常駐型プロセスをイベントによってトリガーするインフラストラクチャ
        • たぶん、この記事からの引用かな。 qiita.com
      • Lambda以外のアプローチもある
    • Amazon Cognito
      • アプリケーションの認証、認可をするサービス
      • User Pools が最近リリースされた
    • Cognito Identity 名寄せ
      • 外部で認証されたユーザーに対して機能を提供する
      • 匿名ユーザーとしての認証もできる
      • 複数の認証プロバイダの設定をできる
    • STS
      • AWSのアクセスキーを安全に発行できる
        • 短期間に有効なS3のアクセスキーを発行するとかできる
    • Cognito Sync
      • ユーザー同期機能
        • データストアが与えられるので、SDK経由と連携できる
    • Cognito Streams
      • kinesis Stream に遅れる
    • Cognito Events
      • Lambda を実行できる
    • Cognito UserPools
      • Identity Provider
      • パスワードとか、MFA とかできる
      • GA して、東京リージョンでも使える
  • Cognito User Pools

    • デモ

      • lab の awslabs/aws-cognito-angular2-quickstart
        • たぶん、ブログ記事はこれかな

        dev.classmethod.jp

    • UserPools の機能

      • ユーザー登録でユニークなユーザー名を指定可能
      • パスワードポリシー、MFA もできる
    • アトリビュート
      • よくあるものは設定可能
      • 独自もできる
    • メール/SMS の確認とMFA
    • メールのテンプレートを編集可能
    • デバイストラッキング
      • 同一ユーザーがログイン状態を維持できる端末数の設定
      • 番号が発行される
        • REST API からデバイスリストを取得できる(SDKからは不可)
    • App
      • 非認証ユーザーの為の機能
    • Trigger
      • イベントをトリガーにして、Lambda を呼べる
    • Cognito Identity 連携
      • 権限発行できる
    • API Gateway連携
  • 実際に使うために

    • ポリシー変数
      • IAM の Condition節で指定する
    • OIDC Provider
    • Trust Relation Ship はハマった。
  • まとめ

    • 認証を AWS に移管できます
  • 質問コーナー

    • メールのメッセージは、日本語は未サポートでは?
      • 保存しようとして、保存中のまま進まない。対応待ち?

IBM Cloud Community 勉強会 - クラウドとAPI -

勉強会に参加してきました

softlayer.connpass.com

  • たぶん、公式にもあがるんだろうけど、個人的メモ

感想

  • Bluemix を使って見たいと思っている中で参考になった。
  • イベント行こうか悩んでます。
  • 特に、iOS の話は面白かった。

分会設立の挨拶

  • 資料

  • 発表者
    • 日本情報通信 常田さん
    • 9月にイベントをやります。

softlayer.connpass.com

【Watson】Tradeoff Analyticsの概要

  • 資料

  • 発表者

    • 日本情報通信 小沢さん
    • IBM と NTT の合資会社
  • Tradeoff Analyticsの概要

    • 一方を追求すれば他方を犠牲に
    • お勧め提案API
      • パレートのフィルタリング技法を使用
    • 分析条件とデータをJSONで渡すと最良候補を出す
    • 特徴
      • Bluemix Watson API
      • ユーザーが求める条件を複数提示
      • 少しの妥協で良いと考えられる候補を提示
    • 基準
      • 複数の比較項目があるときに1つ以上の条件で優れているものが最良の候補
    • 面白いところ
      • 通常はホテルの検索で指定エリア以外の候補は出さないが、それが出せる
  • Tradeoff Analyticsの使い方

    • 使い方
      • JSON の分析データを用意する
      • REST API呼ぶ
      • レスポンスを確認
    • JSONの分析データ
      • カラムとオプションがある
      • カラムは分析の条件を入れていく
        • type
          • categorical numeric text datetime が指定できる
        • is_objective
          • カラムを検索条件にするか
        • range
          • low と high でレンジ指定
        • goal
          • max or min
      • オプション
        • 分析に使用するデータ
          • 1000件あるなら、100件必要
    • RESTする
      • curl で呼び出す
      • Java Node.js python はライブラリがある
    • レスポンスを確認
      • ReSolution -> Solution に結果がある
        • front が最良
        • shadow/shadow_me
          • 少しの妥協でよりよい候補
          • ただし何故推薦したかは不明
    • 制限
      • JSONのみ
      • 条件10個まで
      • 条件を選択したカラムにデータが入っていないモノは除外される
  • Tradeoff Analytics demo

    • なし
  • まとめ

    • 分析WastonAPI
    • 学習させなくてOK

【IoT】IQP on Bluemix のご紹介 〜データの可視化からデバイス制御まで〜

  • 発表者

    • 日本IQP株式会社 石井将太さん
  • Bluemix にインストールして使う

  • IQP

    • プログラミングなしでアプリ開発を可能にするプラットフォーム
    • センサー対応
    • ヒューマンセントリック対応
  • Platform

    • Businessデータ、センサーデーターの両方を入れられる
  • 将来

    • 画像API等にも対応予定
  • デモ

    • 簡単に、IoTデーターを可視化できる
    • コードを書かずに簡単に
  • 感想

    • すごい
    • 高そう

【SoftLayerAPI&OpenWhisk】SoftLayer APIの使い方

  • 資料

  • 発表者

    • 株式会社MNU 雪本さん
    • 電通大学の認定ベンチャーで代取
  • SoftLayerAPI

    • API -直接操作することができる
      • ポータルから作成して、使用する
    • SoftlayerのWeb
      • 最近、日本語
      • 言語ガイドがある
    • APIリファレンス
      • サービスとメソッド
      • ローカルプロパティ、リレーショナルプロパティ
      • 日本語化はされてない、でもわかるよね
    • オブジェクトマスク
      • 重要
      • 必要な機能のみをフィルターできる
      • mask.networkComponents
    • RESTでの実装
      • https://[username]:[apikey]@api.[service.]softlayer.com/rest/ve/[ServiceName]〜のように指定
    • slackと連携して答えるbotを作ろう
      • サーバーレスは、Bluemix では、OpenWhisk でできる
  • OpenWhisk

    • 実装の話は、9月のサミットでします。

Watson APIを使って元気付けてくれるアプリを作ってみた

  • 資料
  • 発表者

    • 株式会社 アイソルート 葛さん
    • iOSアプリエンジニア
  • WatsonAPI

    • 日本語で使えるAPI
    • 今回は、自然言語分類を使用
  • アプリ概要

    • ネガティブな文章だったら、励ます文章を表示する
  • SDK

    • 今回は、iOS SDK を使用
  • デモ

    • そんなこと言わずにかんばろ!

Twilio AddOnsなら5分で watson と仲良くなれるよ

  • 資料
  • 発表者

    • KDDIウェブコミュニケーションズTwilio事業部 高橋さん
    • Twilio事業部ソリューションアーキテクト
  • SIGNAL2016の3大発表

    • PROGRAMABLE WIRELESS
      • 日本はたぶん来年 soracom 対抗?
    • ADD-ON
    • NOTIFY
  • DO MORE LESS CODE

  • NUMBER ADD-ONS

    • 日本では少ない
    • 電話番号でいろんな情報が分かる、それをアドオンで提供する
  • MESSAGE ADD-ONS

    • テキストになっているものを使う
    • Message Sentiment をデモ
  • RECORDING ADD-ONS

    • Speech to Text とかできる
  • ネガティブ、ポジティブ判定

    • 先ほどのとまるかぶりです(笑)
  • Twillio アドオン

    • IBM Watson でも、Twillio に払う
    • 動作を規定する
  • デモ

    • 日本語非対応
    • Node.js でちょっとだけ Webhook する
    • Im so happy で、positive で帰ってくる
  • IPOしました

    • Twilio は、加速します

絵で見てわかるクラウドインフラとAPIの仕組みの著書が語るWatson IoT BlockchainのAPI設計思想

  • 資料

  • 発表者

    • IBM 元AWS 平山毅さん
    • 2月入社
  • クラウドAPIのUML化

    • 図示
  • IBM Watson IoT

    • 昔から名称が変わっている
  • IBM Watson IoT Blockchain

    • Whether と Blockchain がある
  • IBM Blockchain

    • Bitcoin 分散共有台帳を共有でP2Pを効率化
  • IBM Watson IoT Blockchain

    • IoT のデータを、Blockchain に流す
  • 感想

    • 言いたいことは分かるんだけど、用途が思いつかなかった。

【U-NEXT ☓ Oisix 】データ分析と機械学習 事例発表

勉強会に参加してきました

oi-study.connpass.com

この手のログが手元にたくさんたまってきたので、書けたものは公開します。

勉強会の背景

  • U-NEXT さんと、Oisix で共通の悩みがある。
  • 勉強会を開催して知見を共有したり意見も聞きたい。

私の感想

  • まず私の感想
    • 非常にいい勉強会にだった。
    • 機械学習には正解がないということを改めて思い知った。
    • 自分はまだまだ勉強不足。

Oisix事例発表-「顧客属性推定とレコメンド」

  • 資料

  • 発表者

    • Oisix 鈴木さん(Nickname:MAX)
    • 2016年4月入社。銀行員を過去はやっていたが、ITをやりたくて入社した。
    • 昔は、システムトレードをやっていた。
  • オイシックス

    • 豊かな食生活をできるだけ多くの人に
    • 高付加価値食品ECサイト
    • 社是は浸透していると思う
    • 社員は200名。急成長中
  • 顧客属性推定とレコメンド

    • パーソナライズプロジェクトの一環
      • お客様に寄り添う = 理解する
        • 家族構成、ライフスタイルなどで分類
      • 購買されたあとは、定期ボックスを作ってそれがECの起点になる
      • 売り場をパーソナライズする -商品提案
      • 顧客をクラスタ分析し、商品をバスケット分析する組み合わせ。
      • クラスタ分析は、子供がいる家庭の購入商品を学習させて、同様商品を提案することが目的。
      • バスケット分析は、ポテト買った人は、クラッカーも買うよねというようなこと。
    • システム構成
      • OracleDBがメイン、顧客情報、受注情報など
      • MySQLは、履歴など
      • TERASURE に集めて分析している
    • 分析ステップ
      • データの整備
        • DBが更新されていなかったことがあった。データ更新は重要。
      • アンケートの収集
        • データを元に教師データを作成
        • アンケートデータを元にセグメントに分けた
          • 料理すると回答したなかに、実際にしてない人がいたようだ。
          • アンケートの質問項目を検討する
      • 外れ値の除外
        • 殆ど買われていない商品などを除外
        • ノイズを除外した
      • 分類モデルの作成
        • ロジステック回帰
        • 回帰係数を決める
        • 毎回制度は高かったが、5000個の重みを求めるのに1200人
        • 説明変数に対して適切なデータセットを用意する。定石どおり、5倍程度のデータを用意する
      • 分類モデルの適応
        • 標準偏差を求めている。パラメータを保管しておく。
      • バスケット分析
        • 購買がない人には提案できない。似たカテゴリになってしまう。
        • できること/できないことを理解する -> 他の方法も使う
      • 商品の提示
        • 購入後に表示する
        • AB実験を実施集計
          • 売り場ごとに差が出た。
      • まとめ

        • 具体事例の紹介をした。
        • パーソナライズプロジェクトの一環
        • 自分のことを知ってくれている感を出す。
        • 季節性とか、嗜好、分類がある
        • 顧客DNA 商品DNA
        • 嫌いな商品のフィルタリングなどなどしている
      • 質問

        • ヤフービッグデーターを活用している
        • マーケティングと常にやりとりしている
        • 1〜2名で、1〜2ヶ月で実装
        • 機械学習をやっているところにコンサルティングを依頼している
        • クラスタリングの知見 -> 子供がいるいない、年齢、子供以内場合は、料理するしないを分類しているが、そこにたどり着くまではいろいろやってみた。
        • クラスタ分析の分類数とかは、そこまで考えていなかった。
        • 評価は、やってみている。CVR値の向上は見られた
        • レコメンドの集計処理は、購買サイクルと連携して週1回行っている。
        • 季節性までまチューニングはしていない。
        • 子供という仮説は、もともと課題としてはあったことでそれを機械学習で検証できた。

U-NEXT事例「U-NEXT事例発表-パーソナライズのこれまでとこれから」

  • 発表者

    • U-NEXT カキモトさん
      • コンテンツプラットフォーム事業部
      • エンジニアになり損ねた
    • U-NEXT 田中さん
      • 大学院まで行っていたからなんかできるんじゃない?
  • U-NEXT

    • オンラインレンタル
    • 12万のビデオ、20万の書籍

    • キュレーションする

      • 棚組をする
      • 特定クラスタ、特定ジャンルを楽しめるように専門家の人に作成してもらっている
      • 2,300 特集
      • 全部見れないからレコメンド
  • レコメンドシステム

    • 推薦システム
    • より好きそうな特集、より好きそうな作品を左上に寄せている
  • U-NEXT のレコメンドシステム

    • ビジネス要求
      • 毎月2,000円貰っていて、動画の視聴を継続させることが大事。
      • 100人いたら100通りの画面が欲しい
      • 1日に1回更新して欲しい
      • パフォーマンスは損なわない(100ms以内)
      • でも準備期間はない
    • 考えたこと
      • データを置く場所を確保
      • 小さく初めて試行錯誤
      • 評価できるようにする
    • 構成
      • TREASURE DATA を使っている
      • 行動ログを元にしている
      • レコメンドエンジンは自分たちで
    • 結果
      • 27.5%視聴時間がアップ
      • 60.8%がレコメンドされた作品
  • U-NEXTのレコメンドシステムの作り方

    • 作った人がいなかった。

      • どういう人が作れるのか
      • 結局、勉強して試行錯誤
        • 資料は、「推薦システムのアルゴリズム」が参考になった
    • レコメンドの方法

      • 嗜好性の近さ
        • ユーザーベース、アイテムベース
      • 内容の近さ
    • やってみた
      • 動画の評価を使ってみた
        • データの絶対量が少なかった
      • 動画再生ログを使った
        • ユーザーの近さではできなかった
        • アイテムの近さを選んだ
    • 内容ベースのレコメンド
      • コールドスタート問題
      • レコメンドとしては、まだまだ。
      • 分析
        • Apache Spark を活用
        • Kuromoji で形態要素分析
      • atilika さんに強力を得ている
        • 3Dで見せるモノを作って非エンジニアにみてもらっている
        • デモ
  • 評価

    • 評価として、A/Bテストはやらないと
    • 非エンジニアの為にGUIを開発
  • Q&A

    • 内容については、社内でフォーマットが統一されているのでそのまま活用
    • キーワード抽出をしている
      • 例えば、品詞を省くとか
    • 初期の機械学習の協業はうまくいかなかった
    • システム開発は、行きあたらばったりで進めているところがある
    • ユーザー属性
      • 視聴だけのログを使っている。登録時のデータは、そのアカウントが家族で使われていたりして分類が意味をなさないで使っていない。
    • ユーザー講堂
      • 新規作品に重みをつけている
      • シャッフルをしている 更新感の演出をしている
    • 今は曜日について考慮していない、今後の課題

イベントの今後

  • 開催を継続したいとのこと

SimonCatsをリリースしました

こんなアプリを作りました

SimonCats

SimonCats

  • SATORU OGUCHI
  • 教育
  • 無料

アプリを作るまでの経緯

ここ数年、Macを購入し少しずつ学習してきたんですが、昨年、どんな理由があっても、1本、2016年3月までにリリースするという目標を立てて、極秘裏(笑)にプロジェクトを進めてきました。 いろいろな経緯があり、たくさんの方にご支援頂き、無事リリースに至りました。 仕事では、過去にもアプリケーションを作っていない訳ではないですが、公開するアプリケーションは、以前、NEC PC-9801用に作成したものが、雑誌に載って以来なので、10数年ぶりです。

Swift2.1との格闘

今回は、Swiftを利用してコーディングを行っています。オブジェクト指向プログラミングにあまり縁がなく、真剣にやってこなかったので、ツケがいろいろとあり、理解に苦しみました。 でも、なんとか理解が進み、ほどほどの難易度であれば作れるように。 最近は、ヘルプとかドキュメントを見ても理解はできるようになったので、ここからはいかに使うかですね。

作成した動機

なんとなくというのもありますが、一番は、プログラムを書きたかったというのが大きいです。 仕事は、SE とか、コンサルタントとかいう肩書きも一応持ってますし、情報処理技術者試験もずいぶん取りましたけど、それだけでは、何か物足りないかなと。 会社が守ってくれる時代は、既に終わっていると思っているので、攻めようというのもあります。

あとは、ネタになりますよね。こんなことも出来る人なんだと。

リリースはしたものの

リリースしてみましたが、きちんとゲームはできるので致命的なものは少ないものの、問題は多発しております。 最近、英語モードへの翻訳を進めているのですが、その過程で、Saimon ではなく、Simon が正しいことが判明とか、もうダメダメですね(笑) これは、影響範囲が大きくて苦しんでますが、絶対直します。

今後の対応

指摘いただいている点は、今後も Issue に挙げて修正していきます。 一応予定としては、ユニバーサルアプリ化と、繰り返し遊んでくれている人へのインセンティブ機能を搭載しようと思っています。 また、新作もリリースできるように頑張ります。

もし面白かったら

ダウンロードしてみて楽しかったら、是非、AppStoreへのレビュー投稿をお願いします。また、バグなど見つけたら、公式Twitterか、ブログにでもコメントください。 できるだけ修正対応します。また、まわりに勧めてくれたら、とても嬉しいです。 遊び方ガイドもここにも記載したので、是非読んでください。

Copyright © 2002-2015 まりぱらおーぐ All Rights Reserved.