Webディレクションの新・標準ルール 現場の効率をアップする最新ワークフローとマネジメント

直近でプロダクトマネージャーというロールをやる予定があり、システム開発やプロジェクトマネージャーの経験はあるんですが、UI/UXというかデザイン周りの経験がまったくないので、まずはディレクションから学んだ方がいいかと思い読んでみました。入門者向けで非常に読みやすい本だったと思います。

内容としてはディレクションの目的や役割から始まり、企画、設計、制作・進行管理、運用・改善と全行程について書かれていて、よくある入門者向けの1トピックを見開き2ページで説明する感じでした。結局Webシステムの企画から開発・運用までを扱っているという意味でシステム開発でも共通する部分が多く、7割ぐらいは既知の内容でしたがシステム会社視点ではなくてWebディレクター視点で書かれており参考になりました。

それにしても、最近書かれた本だからなのか、それともWebディレクター向けの本だからなのかわかりませんが、SlackやChatWork、Backlogなども普通に紹介されていることに驚きました。もしかしたら、最近ならシステム開発者向けの書籍でも普通に利用するものとして紹介されているのかもですが。

全体像について書かれている本であるため情報設計やワイヤーフレーム、デザインガイドラインの詳細については触れられていなかったので、その辺りは別途学んでいければと考えています。

AWS事業部合宿2017に行ってきた

自社の合宿に行ってきました。

控えめに言っても最高でした!宿の食事もおいしかったですし、フットサルやそば打ち、雨の中のBBQ、LT大会、ロープウェイとトレッキングとどれも楽しかったです。なにより、普段交流できないメンバーとたくさん話せたと思います。

LT大会は前半3時間+後半2時間の合計5時間やったのですが、最初から最後までどのLTもおもしろくて、30名以上いたのにネタ被りもなく、みんなさすがだなーと思いました。

私は読書会について話しました。

LTのテーマが非技術ということで、1ヶ月ぐらいネタがみつからず悩んでいたのですが、そういえば読書会はそれなりにやってることに気付いてテーマにしました。なお、ネタは思いついたものの読書会の履歴サマリを作成していなかったので、EvernoteFacebookGoogleカレンダー、Studyplusのログを漁って何とか作成できました。履歴を漁るだけで4時間以上使ったと思います(^_^;)

参加者のみなさん、特に合宿幹事メンバーはほんとお疲れ様&ありがとうございました!

Twitterのブックマークレットを更新した

本エントリーの内容は正常に動作しなくなっています。修正版は以下を参照してください。

n3104.hatenablog.com

普段からTwitterのリンクのシェアは確か公式の以下をブックマークレットを利用していたんですが、先程書いたWEB+DB PRESS Vol.100 - n3104のブログをシェアしようとしたらタイトル部分が表示されない状態になってました。

javascript:(function(){window.twttr=window.twttr||{};var D=550,A=450,C=screen.height,B=screen.width,H=Math.round((B/2)-(D/2)),G=0,F=document,E;if(C>A){G=Math.round((C/2)-(A/2))}window.twttr.shareWin=window.open('//twitter.com/share','','left='+H+',top='+G+',width='+D+',height='+A+',personalbar=0,toolbar=0,scrollbars=1,resizable=1');E=F.createElement('script');E.src='//platform.twitter.com/bookmarklets/share.js?v=1';F.getElementsByTagName('head')[0].appendChild(E)}());

調べてみたところ、どうもTwitterの公式サイトからブックマークレットに関するページ自体が削除されており、前述のブックマークレットで利用している//platform.twitter.com/bookmarklets/share.js?v=1にアクセスできない状態になっていました。

ブックマークレットは利用したいので検索したらツイートボタンがないページでもツイート画面を開くブックマークレット - Qiitaが見つかりました。そのまま利用でもよかったんですが、「What’s happening?」よりは元々の「Share a link with your followers」の画面の方が自然かなと思ってTweet Button Parameter Reference — Twitter Developersを見つつ、若干いじりました。

ということで、以下のブックマークレットになりました。今後はこちらを使っていくつもりです。

javascript:(function(){var w=550,h=420;window.open("https://twitter.com/share?text="+encodeURIComponent(document.title),"_blank","width="+w+",height="+h+",left="+(window.innerWidth-w)/2+",top="+(window.innerHeight-h)/2+",scrollbars=yes,resizable=yes,toolbar=no,location=yes")})()

WEB+DB PRESS Vol.100

WEB+DB PRESS Vol.100

WEB+DB PRESS Vol.100

同僚の以下のツイートを見かけて、確かに最近読まなくなったので久しぶりに読みました。

久しぶりに読んだんですが、とてもよかったです。特集は以下の3つでしたがどれも読み応えがありました。

  1. 作って学ぶ人工知能 ── 自然言語処理機械学習、深層学習がまるわかり!
  2. 対応必須! 完全HTTPS化 ── 移行手順からつまずくポイントまで
  3. メルカリ開発ノウハウ大公開 ── ぜんぶ見せます! 1日100万出品のフリマアプリの舞台裏

また、100号記念選書と100号記念エッセイもおもしろかったです。

作って学ぶ人工知能 ── 自然言語処理機械学習、深層学習がまるわかり!

レトリバの方が4章に分けて人工知能の概要、自然言語処理(前処理)、SVM(教師あり学習)とトピックモデル(教師なし学習)によるWikipediaデータの分類、word2vecとGloVeによる単語のベクトル化について説明しています。

機械学習関係の記事は以前読んだ際は「なんとなくわかるような、わからないような。。」みたいな感じでした。ですが、この2年ぐらい勉強を続けたことで「あー、そうそう。おー、ここはこんな感じかー。」みたいな感じで実感を持って読めるようになっていて、自分自身の成長を実感できてよかったです。

対応必須! 完全HTTPS化 ── 移行手順からつまずくポイントまで

クックパッドで既存サイトを完全HTTPS化した際のノウハウの共有記事でした。なぜ完全HTTPS化するかから始まり、HTTPSの実装方法や留意点、リリース手順、完全HTTPS化の影響について説明しています。

CSPやHSTSについて知らなかったのでとても勉強になりました。また、クックパッドさんぐらいの規模になるとどうしても移行漏れが出てきちゃうというのも参考になりました。

メルカリ開発ノウハウ大公開 ── ぜんぶ見せます! 1日100万出品のフリマアプリの舞台裏

メルカリの社内の開発組織や開発環境、言語やテスト、レビュー、リリース、インフラアーキテクチャなどについて説明しています。アプリからサーバーサイド、インフラ、QA、データ分析と一通り紹介されています。

現在私も小規模ながら自社サービスを担当しているので、とても参考になりました。

最後に

AMPは詳細を把握できてよかったですし、SelenideもWebDriverを利用しようか考えていたのでタイムリーでした。全体的に勉強になることばかりでしたし、今後は購読を再開するつもりです。一番の懸念点は読む時間を取れるかでしたが、1ヶ月ぐらいかけて読み切ることができたので隔月なら大丈夫かなと思ってます。

誰がアパレルを殺すのか

誰がアパレルを殺すのか

誰がアパレルを殺すのか

日経ビジネスに広告が出ていておもしろそうだったので読みました。アパレル業界大手の販売が思わしくないとのことで、その理由について業界の歴史や商習慣なども含めて説明しています。また、アパレル業界の常識を打ち破る形で成長している新興勢力についても説明されています。記者の方が書かれていることもあり、文章はとても読みやすかったです。産業としてアパレル業界について学びたい人であれば最初に読んでみるといいと思いました。

日経ビジネスのアパレル業界や百貨店に関する特集記事とも一部内容が重複していたため、半分ぐらいは読んだことがある内容でした。とはいえ、書き下ろしの内容もありますし、一冊の本としてまとまっているので、知識が整理できてよかったです。2章の戦前からのアパレル業界の歴史も俯瞰できてよかったですし、3章のエバーレーンやゾゾタウン、4章のジャパンブルー、メチャカリの事例もおもしろかったです。例えばジャパンブルーの欧米の販路開拓の中で「例えば欧州では小売店間のつながりが強く、オーナー同士が国をまたいで知り合いという場合が非常に多い」みたいな話はおもしろかったです。私自身は服にはあまりお金をかけないというか、ブランドなども全くわからないので、知らないことが多くてそういう意味でも楽しめました。

前々から夏に暑くてTシャツを買いに行ったら長袖が売っていて、冬に寒くて長袖や防寒着を買いに行ったら薄手の春物しか売ってないのが疑問で仕方がなかったのですが、その背景が多少なりとも理解できました。あと、常にセールしてて、定価ってなんだろうという気持ちになってたので、その辺りの問題が解消されるといいなと思います。それと、この本の家電業界版があったら読んでみたいなと思いました。やはり比較することで物事は相対的に捉えられますし、アパレル業界の現状はアパレル業界固有の問題なのかもう少し一般化できる問題なのか知りたいと思いました。

ゼロから作るDeep Learning

読書会の対象書籍となったので読みました。Pythonのコードを実際に動かしながらディープラーニングの基本的な理論について学ぶことができます。具体的にはディープラーニングの理論を理解するために必要なパーセプトロン、活性化関数、損失関数、勾配などの構成要素についてPythonのコード付きで説明しています。そのため、機械学習の前提知識が多少あり、ディープラーニングに興味がある人であれば知識を整理しながら読めるのでおすすめです。

読書会をやっていたこともあり、章ごとに読書メモを作成していました。そのため、詳細については以下のエントリーをご参照ください。なお、1章のエントリーは存在しません。

一通り読み終えてみて、ディープラーニングに対するイメージが具体的になって良かったです。バックプロパゲーションやCNNのちょっとした紹介記事とかをネットで見かけても、よくわからなかったのが本書を読むことで具体的にイメージできるようになりました。また、ディープラーニング自体は他の機械学習の手法と異なり、ディープラーニングという固定的な手法が存在するのではなくてどちらかというとフレームワークと呼ぶのが適切で、具体的な実装として例えばCNNが存在することも理解できました。基本的なことは押さえられたと思うので、今後はもう少し理論面と実践の両方について学んでいくつもりです。

ゼロから作るDeep Learning 8章 畳み込みニューラルネットワーク

前回はゼロから作るDeep Learning 7章 畳み込みニューラルネットワーク - n3104のブログです。

8章はこれまでの章のように理論の詳細について説明するのではなく、ディープラーニング歴史や実用例についての紹介でした。

  • 8.1.1 よりディープなネットワークへ
    • "ディープなネットワークの学習には多くの時間(おそ らく半日以上)が必要になります。"
      • 半日!!!いや、まぁ機械学習の世界ではそれでも短いのかもだけど。。
  • 8.1.2 さらに認識精度を高めるには
    • Data Augmentation(データ拡張)は便利そう。データ集まらないケースもあるからなー。。ただ、画像は分かるんだけど、回帰のように数値を予測するケースだとデータ拡張は適用できるのかなー。。。
  • 8.1.3 層を深くすることのモチベーション
    • "「層を深くすること」の重要性については、理論的にはそれほど多くのことが分かっ ていないのが現状です。"
      • 理論的に説明できないってことであって、応用として精度向上はできてるってことだろうな。
    • "層を深くすることの利点のひ とつは、ネットワークのパラメータ数を少なくできることです。より詳しく言えば、 層を深くしたネットワークは、層を深くしなかった場合に比べて、より少ないパラ メータで同レベル(もしくはそれ以上)の表現力を達成できるのです。"
      • なるほど。パラメータの探索作業を減らせる代わりに学習時間がかかるってことか。
    • "学習の効率性も、層を深くすることの利点のひとつです。これは、層を深くしな かった場合に比べて、層を深くすることで、学習データを少なくでき、高速に学習が 行えることを意味します。"
      • おっと、学習効率も上がるのか。。なら単に層を深くすればいいだけな気がするんだけど。。。問題に対して層を深くしすぎると過学習が起きるリスクはありそうだけど。。
  • 8.2.4 ResNet
    • "しかし、ディープラーニングの学習においては、層を深くしすぎると、学習が うまくいかず、最終的な性能が劣ることも多々ありました。"
      • 層を深くしすぎるトレードオフは学習できないことか。結局、パラメータの探索をやらない代わりにネットワークの深さの探索をやるだけな気もするんだけど。。それとも汎用化出来るものなのかなー。
    • "ここでのポイントは、上流からの勾 配に対して何の手も加えずに、“そのまま”流すということです。そのため、ス キップ構造によって、勾配が小さくなったり(または大きくなりすぎたり)す る心配がなく、前層のレイヤに「意味のある勾配」が伝わっていくことが期待 できます。これまであった、層を深くすることで勾配が小さくなる勾配消失問 題は、このスキップ構造で軽減することが期待できます。"
      • 発想は単純だけど、これで精度向上するんだーw
    • "これは転移学習と言って、学習済みの 重み(の一部)を別のニューラルネットワークにコピーして、再学習を行いま す。たとえば、VGG と同じ構成のネットワークを用意し、学習済みの重みを 初期値とし、新しいデータセットを対象に、再学習(fine tuning)を行います。 転移学習は、手元にあるデータセットが少ない場合において、特に有効な手法 です。"
      • 転移学習なんてのもあるんだ。頭いいなー。。
  • 8.5.4 Deep Q-Network(強化学習)
    • "これは DQN の特筆すべ き点であり、DQN の応用性を格段に高めていると言えます。なぜなら、ゲームごと に設定を変える必要がなく、DQN には単にゲームの画像を与えればよいからです。 実際 DQN は、『パックマン』や『Atari』など多くのゲームを同じ構成で学習するこ とができ、さらに多くのゲームで人を上回る成績を叩き出したのです。"
      • これは凄いよなー。一度モデルを作れば同じ分野の問題にはそのまま流用できてるってことだものなー。

DQNは凄いなーと思いました。ゲームごとに設定を変える必要がないということは、要は同じように業務内容をゲーム画面として表現できる業務があれば、DQNで学習させられるということでしょうから。あとは歴史や実用例を知れておもしろかったです。今後もいろいろと実用化されていくんだろうなーと思いました。