タグ

ブックマーク / ninjinkun.hatenablog.com (6)

  • 【翻訳】プロダクトマネジメントトライアングル - ninjinkun's diary

    original: The Product Management Triangle (by Dan Schmidt) (translated by ninjinkun, reviewed by Kosuke) はじめに プロダクトマネジメントは多くのソフトウェア企業が重要だと認識している役割だ。それにもかかわらず、「プロダクトマネジメント」を正確な言葉で定義することは驚くほど難しい。自らを「プロダクトマネージャー」と呼ぶ人々は、企業ごとに全く違うことをやっている。彼らは異なるタイプのプロダクト、異なるタイプのチーム、異なる組織構造の中で働いている。このプロダクトマネジメントの立場の違いは、とても不毛だ。外の立場から見ていると、同じ肩書きの仕事を参照する際に、誤解を引き起こしているように見える。全てのプロダクトマネジメントの仕事を統合して、共通の話題を抽出しようとすると、価値を説明しようとし

    【翻訳】プロダクトマネジメントトライアングル - ninjinkun's diary
  • アプリ開発と状態遷移の管理 - ninjinkun's diary

    このエントリーは読者としてスマートフォンアプリ開発者とWebフロントエンドエンジニアを想定して書いています。 CROSS2016に出るので、最近の自分の考えを整理しておく。 最近ReduxSwift実装であるReSwiftを使って開発している。使った感想なども最後の部分に書いたけれど、このエントリーの題はアプリの状態管理の話。 アプリは大きなシングルトン iOS、Android共にアプリを実装しようと思うと大抵シングルトンが必要になる。各ViewController内をまたがってデータを共有したいというユースケースが多いからだ。例えば ユーザーのログイン情報を集約するUserManager コンテンツへのいいね情報を集めるLikesManager ブックマーク情報を集めるBookmarkManager などなど。もちろんアプリの内容によってこれらの顔ぶれは違ってくると思うけれど、大抵U

    アプリ開発と状態遷移の管理 - ninjinkun's diary
    d_animal141
    d_animal141 2016/02/03
    アプリ開発と状態遷移の管理
  • スマートフォンアプリでリアクティブプログラミングをしているが、Promiseとデータバインディングとして使っている - ninjinkun's diary

    このところ、複数の人からリアクティブプログラミング(RP)ってつまり何なんですかと聞かれることがあった。そのたびに非同期データストリームが…みたいな説明をしていたのだが、たいてい双方納得した感じにはならなくて、まあ難しいっすね…という感じで終わってしまっていた。 iOSとAndroidでの用途 自分は理論より実践からしか考えられないタイプなので、もっと現場寄りの説明ができないか常々考えていた。そこで自分がiOSとAndroidアプリを実装する際に使っているReactiveCocoaとRxJavaの用途を考えてみたところ Promise(の高機能版) 複数のAPIコールを連鎖させたい場合にコールバックヘルを避けたい データバインディング(の高機能版) Modelの変更とViewの変更を同期したい の2つがメインだった。 この2つはRPライブラリを入れなくても実装できる。JavaScript

    スマートフォンアプリでリアクティブプログラミングをしているが、Promiseとデータバインディングとして使っている - ninjinkun's diary
    d_animal141
    d_animal141 2015/09/26
    スマートフォンアプリでリアクティブプログラミングをしているが、Promiseとデータバインディングとして使っている
  • Facebook iOSアプリのようにスクロール時にフルスクリーン表示を行うiOSライブラリを作りました - ninjinkun's diary

    明けましておめでとうございます。神トラ2クリアしました。 Facebook iOS Appのように、一覧をスクロールした際にUINavigationBarやUIToolbarを隠してフルスクリーン表示をするためのライブラリを作りました。 https://github.com/ninjinkun/NJKScrollFullScreen スクロールをフックしてフルスクリーン化をdelegateで通知する部分と、フルスクリーン時の動きを定義する部分を分離した設計になっています。 同じようにフルスクリーン化を行うYIFullScreenScrollというライブラリがあったのですが、UINavigationBarの移動などフルスクリーンの動きの部分が一体になっており、Facebook appぽい挙動にカスタマイズし辛かったので、動きを分離した設計のライブラリを別に作ることにしました。all-in-o

    Facebook iOSアプリのようにスクロール時にフルスクリーン表示を行うiOSライブラリを作りました - ninjinkun's diary
    d_animal141
    d_animal141 2015/08/21
    Facebook iOSアプリのようにスクロール時にフルスクリーン表示を行うiOSライブラリ
  • iPhoneアプリの通信エラー処理を考える - iOS Advent Calendar 2011 - ninjinkun's diary

    こんにちは。お仕事iPhoneアプリを開発しているid:ninjinkunです。このエントリはiOS Advent Calendar 2011 23日目の記事です。今回はあまり注目されることがなさそうなiPhoneアプリのエラー処理を取り上げてみようと思います。 エラー処理と言うとプログラマが粛々とやるものというイメージで、主に内部のエラーハンドリングのことが中心になりがちです。しかしエラー処理はそれをユーザーに通知するところまで考えて初めて完結します。この記事ではユーザー体験の面と内部処理と両方に言及してみようと思います。自分の今までのアプリでもあまり実践できていなかったので、自戒の念も込めて…。 エラーは様々な状況で発生しますが、ここでは主にHTTP通信のエラーを想定します。HTTP通信はiPhoneのようなモバイル端末では高い確率で失敗します。移動中、地下鉄、山の中の中など通信が不

    iPhoneアプリの通信エラー処理を考える - iOS Advent Calendar 2011 - ninjinkun's diary
    d_animal141
    d_animal141 2015/06/22
    iPhoneアプリの通信エラー処理を考える
  • 【翻訳】あなたが求めていたリアクティブプログラミング入門 - ninjinkun's diary

    original: The introduction to Reactive Programming you've been missing (by @andrestaltz) (translated by @ninjinkun, reviewed by @ma0e) あなたはリアクティブプログラミングと呼ばれる新しい方法が気になっている。 勉強するのは大変で、良い教材がないのでさらに難しい。私が勉強を始めたときは、まずチュートリアルを探した。見つけたのは一握りの実践的なガイドだけ、しかもそれらは表面をなぞっているだけで、リアクティブプログラミングのアーキテクチャ全体像を構築しようとしてはいなかった。ある関数を理解するのに、ライブラリのドキュメントは役に立たないことがある。 これを見て欲しい。 Rx.Observable.prototype.flatMapLatest(selector,

    【翻訳】あなたが求めていたリアクティブプログラミング入門 - ninjinkun's diary
    d_animal141
    d_animal141 2015/06/01
    あなたが求めていたリアクティブプログラミング入門
  • 1