質とスピード 初演: 2019/10/31 @ EOF2019
![質とスピード / Quality and Speed](https://cdn-ak-scissors.b.st-hatena.com/image/square/17dafaf775d3f61ba503a0f3780d7cbf9e65df4d/height=288;version=1;width=512/https%3A%2F%2Ffiles.speakerdeck.com%2Fpresentations%2Fc36aef99fc5d4757b6badaaecc172b02%2Fslide_0.jpg%3F14092603)
これはスライド内で紹介したAndroid版paymoの現在のクラス設計を表した図です。しかし、最初からこのような設計だったわけではなく、様々な議論やリファクタリングの歴史を経て今の設計に落ち着きました。セッションを聴いた方やスライドを見た方の中には、実際の開発現場でどうやってコンセンサスを取り設計のリファクタリングを進めていったのか、という点に興味がある方もいると思うので、そのあたりの経緯を紹介します。 ペイモのAndroidアプリは様々な事情により、実装開始からリリースまではかなりハードなスケジュールで開発されたと聞いています。 ぼくがペイモに携わり始めたのは2017年の2月、ペイモアプリがリリースされて1ヶ月も経っていない頃で、当時フルタイム勤務のAndroidエンジニアはぼくが1人目で、まだまだリリース直後のカオスな実装や不具合が多く残っている状態でした。 ジョイン直後は機能追加の実
iPhone Xが発表されたわけですが、なにこのデザイナー泣かせの変態端末。 iPhoneのUI設計者グレッグ・クリスティが追い出されて、ジョナサン・アイヴがソフトウェア統括となったのが2014年。 iOS7のフラット化あたりから、どんどんとUI設計が置いてけぼりになった感がありましたが・・・ここにきてまたデザイナー泣かせの豪速球が。 ざっくりデザインガイドラインを読んでの、気になったところメモ。 画面サイズ サイズは従来のベースであった4.7インチの375pt x 667ptから、375 x 812ptに。縦方向に145pt追加された。 想定されるインパクト 表示可能な情報量が増える 縦スクロール系コンテンツのコンバージョンが増加 スクロールで隠れるナビゲーションの必要性が低下 画面上部のボタンのコンバージョンが低下 ゲームなどの全画面イラストに、黒枠が出たり、見切れたりする グラフィッ
Web API: The Good Parts 作者: 水野貴明出版社/メーカー: オライリージャパン発売日: 2014/11/21メディア: 大型本この商品を含むブログ (1件) を見る 業務ではiOSアプリとバックエンドの開発を両方担当しているので、APIの設計を何回かやってきた。しかし、自分なりのやり方でやってきた部分が多かったので、最近発売されたWeb API: The Good Partsを読んでちゃんとした設計について学ぶことにした。 得られた学びをメモとして残す。 HATEOAS HATEOAS(Hypermedia As The Engine Of Application State)という設計方法を初めて知った。HATEOASではまず、サーバー側はレスポンスに関連するエンドポイントを含め次にアクセスするAPIを簡単に辿れるようにする。クライアント側は最初のエンドポイント以
昔から「名は体を表す」と言ひます。クラスの名前がクラスの果たす役割と一致してゐるかどうか常に考へ続けませう。 ImageInfo, AccountData, etc. Info って何やねん? Data って何やねん? ImageInfo って Image とはどう違ふねん?? FooInfo や FooData よりも好ましいかもしれない名前の例: FooAttribute, FooProperty, FooMetadata, FooDescription FooConfiguration, FooSetting, FooParameter FooResult, FooStatistics, FooSummary FooBuffer, FooList, FooCollection, ... ProductListItem, TranslationTableEntry, etc. Prod
仕事柄、奇妙なDB構造を目にすることが多い。どういう発想からそんな設計がされるのかを理解したいと思っていたのだが、モデラー仲間の秋里さんが先日うまい指摘をした。「主キーをインデックスみたいなものと勘違いしているからではないでしょうか」。インデックス(キー)というのは、レコードの並び順を規定するキーのことだ。 たしかに思い当たる節がある。「こんな順にレコードが並んでいれば処理上都合がよさそうだ」という考えで主キーが設定される。さらに主キーはユニーク制約でもあるので、重複が起こらないように「多め」に項目を突っ込んでおく。つまり「ユニーク制約をともなう代表的インデックス」程度に主キーが理解された結果として、グダグダなDB構造が出来上がるのではないか。 じっさい、昔こんなことがあった。{a,b,c,d}の複合主キーをもつテーブルXがある。ところが、別のテーブルYからテーブルXの特定レコードにアクセ
iOS/Androidアプリを作る際に理解しておいて欲しい「Model」という役割について説明します。わりと意識していないケースがあるので、チェックしてみてください。Read less
2018年1月10日に開催された DCI Tokyo 1 に続き、2018年3月27日に DCI Tokyo 2 が開催されました。今回も James Coplien @jcoplien さんをお招きしてのトークセッションとなりました。会場は 株式会社ヴァル研究所 様に提供していただきました。 セッションは、前回同様 @remore さんと @ganchiku さんによる同時通訳とともに進められました。 今回のテーマはマルチパラダイムデザイン(Multi-Paradigm Design: MPD)の中核を成し、DCI / リーンアーキテクチャ(Lean Architecture)とも深く関係する 共通性/可変性分析 でした。 レポートは @smori1983 が担当させていただきます。 当日の様子は Coplien さんの許可を得て YouTube の DCI Tokyo 公式アカウントに
ホーム 技術ブログ PHPMatsuri2013で発表した資料を公開しました「ソーシャルゲーム案件におけるDB分割のPHP実装~とにかく分割ですよ。10回じゃ足りない。20回くらい分割。~」 PHPMatsuri2013で発表した資料を公開しました「ソーシャルゲーム案件におけるDB分割のPHP実装~とにかく分割ですよ。10回じゃ足りない。20回くらい分割。~」 記事を書くのは初めてになります。sasakiです。 2013年7月14日から15日にかけて、PHP Matsuri 2013が開催されました。 今回は北海道開催という事で弊社もスポンサーとなり、社員の何名かはスタッフとして開催に協力しました。 また、スポンサー枠でセッション時間を一コマ頂き 「ソーシャルゲーム案件におけるDB分割のPHP実装 ~とにかく分割ですよ。10回じゃ足りない。20回くらい分割。~」 と題した発表を行いましたの
「120分聞けばドヤ顔で語れる Apache Cordova スーパー勉強会」にて発表したCordovaに関する紹介です。 http://atnd.org/events/51539
先日行ったディレクターワークショップについて、ちょいちょいスライドが見たい!とのお声をいただいたので今更ながら公開します。 勢いよく書き上げたものな上、しゃべりまくる前提で書いてしまったのでかなり読みにくいとは思いますが、全画面表示すれば多分何とかなるんじゃないかなーとか思います。 ワークショップ資料01 初日に公開したもの。 ワークショップのそもそもの目的からサイトコンセプトの考え方。コンセプトシートの実際の作り方などについて書いてあります。 今回は課題がコーポレートサイトのリニューアルだったこともあり、そこそこ汎用的な内容になってる・・・といいなぁ。 このスライドを見ながらあれこれしゃべった後、実際に参加者全員でエンドクライアントを囲んでヒアリング大会を行いました。以前あげたレポートでも書きましたが、自分以外の人が何を書くのか?は結構興味深かったですね。 ワークショップ資料02 こちら
1. RESTful Web アプリの 設計レビューの話 和田 卓人 (a.k.a id:t-wada or @t_wada) July 23, 2012 @ sendagaya.rb 3. 自己紹介 名前: 和田 卓人 (わだ たくと) ブログ: http://d.hatena.ne.jp/t-wada メール: takuto.wada@gmail.com Twitter: http://twitter.com/t_wada タワーズ・クエスト株式会社 取締役社長 4. 私と REST (input) • WEB+DB PRESS vol.32「REST アーキテクチャスタイル入門」 • はてぶ設計議論 • DHH の RubyKaigi 2006 Keynote • WEB+DB PRESS vol.38∼「REST レシピ」 • 『RESTful Web Service』
日本最大のゲーム開発者向けカンファレンス「CEDEC2011」でDropwaveの本城氏によって「ネットワークゲーム時代に求められる、ゲームプランナーの基礎知識」と題した講演が行われました。 「まずは自ら課金して廃人になるまでやりこむべし!」ということで、顧客生涯価値(LTV)の最大化を目的としたオンラインゲームの設計、開発および運用法について、本城氏自身の制作経験を踏まえて、講演というレベルを超えて微に入り細に入り赤裸々に経営哲学や制作理念が語られました。 本城: 本公演の趣旨を説明させていただきます。コンシューマゲームの開発者の視点から、オンラインゲームの開発、運営について話したいと思っております。 本公演の対象者ですが、何年も家庭用ゲームソフトを作ってきてゲーム作りには自信があるのに、会社の命令で無料ゲームを作れといきなり言われて非常に困っていて、いやいやながら作らなくてはならない方
3. XPathXML や HTML の任意の位置を取得するための式XPathエンジンがあれば、 XPathを指定して HTML 上の値を簡単に持ってこれる 4. XPath<?php$url = 'http://www.nicovideo.jp/';libxml_use_internal_errors(true);$doc = new DOMDocument();$doc->loadHTML(file_get_contents($url));libxml_clear_errors();$xpath = new DOMXPath($doc);foreach ($xpath->query('//a') as $node) { echo $node->textContent . "";}
概要 開発をすればリリースがあり、リリースが終われば開発があります。継続開発をする以上はリリースと開発の繰り返しです。 開発手法やリリース手段は沢山あるのですが、あまりしっくりくるものが無かったので自分でまとめてみました。 これで完璧というものは残念ながらこの世にないと思うので、これからも臨機応変に良い流れを作って行ければと思います。 この文章は以下のような構成になってます。書き殴りですみません。 バージョンの付け方 ソースコード管理とリリース タスク駆動 環境方針 定義 いくつか事前に定義しておかないと話しが訳わからなくなりそうなので。 バージョン管理には git を採用しています。 開発というのはコードを書く事だけを指してはいません。 ここでいうフレームワークは「自身で開発している」として扱います。そうしないとちょっと難しいので。 ライブラリは自身の開発とそれ以外があると思いますので、
正しく意味を理解している方にとっては、まったく常識レベルの話であり、何をいまさらと思われる方々も多いかと思いますが、大規模案件のレガシーコードなど、私が仕事で見かけるJavaのコードを読むと、「このコードを書いたSEやPGの方々は、はたして継承の意味を正しく理解していないのではないか」と思われる設計のコードに出会うことが少なからずあります。現在では改良されましたが(Javaプログラミング能力認定試験の問題がかなり改善されていました - 達人プログラマーを目指して)、以前のJavaプログラム認定試験の問題は、そうした不適切な設計がされている典型的な例となっていたのですが、実際、SI業界ではあのような品質のコードのシステムが今でも現役で多数稼動しているというだけでなく、現在でも新たに生み出されているというのは残念ながら紛れもない事実のようなのです。 確かに新人研修で「哺乳類を継承して犬クラスと
中小企業がITを活用して売り上げにつなげるにはどうしたらいいか?WEBマーケティングとWEB戦略コンサル実績350社50業種以上の実績とノウハウで、海外の最先端情報を中心に、噛み砕いてご紹介。 作成者:中山陽平 iOS、実質的にはiPhoneのアプリケーションを作る際に参照してくださいと言う事で配布されている「iOSヒューマンインターフェイスガイドライン(以下iOS_HIG)」 弊社のシステムを真剣にスマートフォン対応にするために読み始めたのですが、この内容が、ただのインターフェイスのガイドラインだけではなく、さらに踏み込んだ内容になっていて驚きました。 Appleのサードパーティアプリに対する姿勢、サードパーティアプリケーションがiPhoneの大きな魅力であるという認識が、このガイドラインからはにじみ出ています。 App開発者以外もぜひ見ておくべき これはぜひ、WEBに関わる方は見て頂き
フェイスブックが、同社の最新データセンターで採用しているサーバとデータセンター設備の仕様を公開した。このデータセンターは効率性と経済性が高く、PUEは1.07だという。公開された仕様書から、フェイスブックがどのような工夫をしているかを探ってみた。 米フェイスブックは2011年4月7日、同社が米オレゴン州プラインヴィル(Prineville)に建設したデータセンターにおける、設備やサーバの仕様を詳細に公開した。誰でも自由に利用できるようになっている。 フェイスブックは、4月中に運用を開始するプラインヴィルのデータセンターが、他の最先端データセンターに比べ、効率が38%高く、経済性も24%高いと発表している。この数値の具体的な根拠は必ずしも明らかではない。しかし、同データセンターのPUE(Power Usage Effectiveness:データセンター全体の消費電力をIT機器の消費電力で割っ
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く