タグ

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

  • 再考: アプリ開発と状態遷移の管理 - ninjinkun's diary

    自分が開発しているLaunchableのWebアプリがローンチされて1年半ほどになる。このWebアプリにはReduxのような状態管理ライブラリを入れないまま開発してきたのだが、今のところ困らずに開発できている。そういえば昔自分は状態管理について何か考えていたような…とブログを掘り起こしてみた。 ninjinkun.hatenablog.com このエントリは2016年にネイティブアプリを対象にして書かれているが、この後自分は2018年ごろにWebフロントエンドに軸足を移し、ネイティブアプリ開発から離れた。なのでこのエントリはWebフロントエンドエンジニア2022年に再考した話になる。 結論としては、当時自分が管理したかった状態のほとんどは現在ApolloClientのキャッシュによって解決されている。 繰り返しになるが、自分が開発しているLaunchableのWebフロントエンドには状態

    再考: アプリ開発と状態遷移の管理 - ninjinkun's diary
    advblog
    advblog 2022/09/20
  • 妻の姓に改姓した - ninjinkun's diary

    僕とは事情により結婚時に僕の姓を選んだのだが、が元の姓を名乗りたいという希望をずっと持っていたため、結婚6年目にして夫婦の姓をの姓に改めることになった。もちろん選択的夫婦別姓が実現されていれば僕の名前は変更する必要はないのだが、今のところは夫婦丸ごと名前を変えるしかない。 まず、日の法の下で婚姻した後に直接改姓する方法は見つからなかった(家庭裁判所の許可があれば可能らしいが、我々向けの用途ではないと思われる)。しかし一旦離婚して元の姓に戻り、再度結婚する際に側の姓を選べば実質的に可能らしい。というわけで、離婚して再婚した。 この手続きにあたっていくつかポイントがあったので、同じことを検討している人のために以下に記しておく。注意点として、我々は夫婦二人だけなので簡単な書類の手続きだけで終ったが、子供が居る場合は事情がだいぶ違ってくると思われる。また当然ながらこの記事は素人が書いてい

    妻の姓に改姓した - ninjinkun's diary
    advblog
    advblog 2022/03/22
  • iOSアプリ開発者がWebアプリ(PWA)をリリースするまでの流れ - ninjinkun's diary

    先日リリースした個人アプリBlogFeedbackを開発した動機と、開発の時系列、開発してみての感想(ネイティブ開発者から見たPWAとか)を書いていきます。リリースエントリにも書きましたが、このアプリはiOSネイティブアプリからWebアプリへの移植です。 TL;DR BlogFeedbackのケースではWebでもネイティブアプリとほぼ同等の体験を作ることができた ネイティブ歴が長くHTML/CSSに明るくなかったので、まずReact Native for WebでUIを組んでいって、自力でHTML/CSSが書けるようになってから脱React Native for Webした React / TypeScript / create-react-app / styled-components / storybook おすすめ ブログを書いている人はBlogFeedbackを使ってみて欲しい!

    iOSアプリ開発者がWebアプリ(PWA)をリリースするまでの流れ - ninjinkun's diary
    advblog
    advblog 2019/01/03
  • 結婚退職無職 - ninjinkun's diary

    昨年11月に結婚し、2月に勤めていたFablicを退職して京都で暮らしている。 結婚 3年前に上京して、京都に住んでいる彼女と遠距離恋愛をしていたのだが、昨年末に結婚した。現在は京都で一緒に暮らしている。毎晩一緒にお酒を飲めるのが楽しい。 退職 会社を辞めた理由としては、会社が昨年夏に買収され、自分の中でスタートアップ欲求が一段落付いたというのが一つ。もう一つは仕事が3月まで忙しいことがわかっていたので、せっかく結婚したのだし、しばらく一緒に居る時間を作ってサポートするのも良いんじゃないかと思い、このタイミングになった。 Fablicにはスタートアップの黎明期から拡大期に移るタイミングで入社し、フリルのiOSネイティブ移行、AndroidのMaterial Design対応、RIDEの開発など、様々な楽しいプロジェクトに関わらせて頂いた*1。また、自分のわがままを聞いてもらって、プロダ

    結婚退職無職 - ninjinkun's diary
    advblog
    advblog 2017/02/24
  • 「ボトムアップの見かけはとても重要」 - ninjinkun's diary

    この記事はProduct Manager Advent Calendar 2日目の記事です。 先日Japan Product Manger Conferenceに参加して、ポケモンGOの開発元であるNianticでPMをされている河合さんのセッションの中で印象的な言葉があったので書き留めておく(セッションの詳細はプロダクトマネージャーに必要な資質って何ですか? 元グーグルPM対談 | HRナビ by リクルートで読める)。 会場からの質問で、「開発者に仕事を任せる際に、上からやることをお願いするトップダウン型と、開発者が自発的にアイデアを出してくるボトムアップ型があると思うが、どちらがいいと思うか」(うろ覚えだけど、だいたいこんなニュアンスだったはず)という質問に対し、河合さんは一呼吸置いてから「ボトムアップの見かけはとても重要」と回答されていた。 これはPMの中では既に実現方法(おそら

    「ボトムアップの見かけはとても重要」 - ninjinkun's diary
    advblog
    advblog 2016/12/02
  • 【翻訳】プロダクトマネジメントトライアングル - ninjinkun's diary

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

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

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

    アプリ開発と状態遷移の管理 - ninjinkun's diary
    advblog
    advblog 2016/02/03
  • 誰のためのデザイン?増補・改訂版を読んだ - ninjinkun's diary

    自分が最初に元の誰のためのデザイン?―認知科学者のデザイン原論 (新曜社認知科学選書)(初版はPOETと呼ばれている*1 )を読んだのは十数年前でした。4月に出たこの改訂版を読み返してみて、改めて感銘を受けました(そして内容をほとんど忘れていたのに気づきました)。 内容としては、エモーショナル・デザイン―微笑を誘うモノたちのために 、複雑さと共に暮らす―デザインの挑戦など後の書籍で検討された内容が盛り込まれて、ノーマン著作の集大成になっています。 自分がこの改訂版で注目しているのは、「6章デザイン思考」の追加です。 6章デザイン思考 正しい問題を発見するのがデザインである として、そのための手段としてデザイン思考が解説されます。 具体的にフレームワークとして取り上げられている人間中心デザインプロセスを見てみると、 観察→アイデア創出→プロトタイピング→テスト→観察… というサイクルになって

    誰のためのデザイン?増補・改訂版を読んだ - ninjinkun's diary
    advblog
    advblog 2015/06/08
  • 【翻訳】Android Fragmentへの反対声明 - ninjinkun's diary

    Original: Advocating Against Android Fragments by @Piwai Translated by @ninjinkun Reviewed by @hotchemi 最近私はDroidcon Parisでテックトーク(フランス語)を行い、SquareがAndroidのFragmentを利用して直面した問題と、Fragmentを避ける方法について説明した。 2011年に我々は以下の理由でFragmentを使う決断をした。 この時点で我々はタブレットをサポートしていなかった。しかしいつかは対応することがわかっていた。FragmentトはレスポンシブなUIを作るのを助けてくれる。 Fragmentはビューコントローラーだ。ビジネスロジックを単位ごとに分離してテスト可能にしてくれる。 FragmentのAPIはバックスタックのマネジメントを提供してくれる(

    【翻訳】Android Fragmentへの反対声明 - ninjinkun's diary
    advblog
    advblog 2014/10/17
  • iOSアプリケーション開発のコードレビューで気をつけていること - ninjinkun's diary

    日常的なコードレビューで気をつけていることリストです。GitHub会議(仮)で発表しようと思っていたのですが、日程の都合で参加できないので、書きためておいたメモを公開します。またどこかで発表するかもしれません。 AutoLayoutにできないか AutoLayout化した方がすっきりしそうならAutoLayout化する AutoLayout化できそうなものでやっていないものは、なぜコードで実装したか質問する 例えばUITableViewCell ちゃんと理由があれば別に良い。コードの方が良いことも多い UIAppearanceで解決できないか 各クラスの中にスタイルの指定が入るより、UIAppearanceでスタイル指定を分離して別クラスに書く方がデザイナーも弄りやすくて良い 3.5インチ端末が考慮されているか レイアウトが決め打ちだとここで問題が出ることが多い 着信ステータスバーが考慮さ

    iOSアプリケーション開発のコードレビューで気をつけていること - ninjinkun's diary
    advblog
    advblog 2014/04/24
  • はてなを退職しました - ninjinkun's diary

    昨年末に株式会社はてな退職しました。2008年の京都移転直後のインターンに参加し、2009年に新卒入社したので、5年くらいはてなに関わっていたことになります。 このエントリでは、自分がはてなでやったことと、エンジニアとしてのロールモデルを持つことができたこと、コミュニティ活動ついて、そして今後について書きます。 はてなでやったこと 最近ではスマートフォン系の仕事が多かったのですが、入社当初は運用を担当していました。たくさんのサービスを担当しているチームで、ここで様々なコードに触れた経験が今振り返ってみるとすごく良かったと思います。とにかくコードをたくさん読みました。 同期入社には既に実績がある人が何人もいて焦る一方、自分はテストを書いているつもりがDBのデータを消していたり、社内のメールを止めたりとひどいミスを連発していて、今思い出しても冷や汗が出ます。 その後 はてなキーワードフィーチ

    はてなを退職しました - ninjinkun's diary
    advblog
    advblog 2014/01/06
  • 初めてgithubでOSSモジュールを公開した感想 - ninjinkun's diary

    昨日公開したNJKWebViewProgressがいきなりgithubで100☆以上になって、だいぶ驚いています。土日で勢いで作ったモジュールがこんなに見られるとは…。 今まで自分のgithubには勉強会用のサンプルしかなく、いまいちだなと思ってたので、なにかOSSにコミットしたり、使ってもらえるモジュールを作りたいという欲求がありました。 twitterでたまに見かける@_ishkawa さんのgithubを見て、便利なモジュールをOSSでいろいろ公開しているのに刺激を受けたのもきっかけです。 NJKWebViewProgressは自分で欲しくて作り始めたのですが、最初はUIViewControllerにべったりで書いていて、途中からOSSにしようと思ってモジュールに分離しました。人に使われることを意識すると、設計もシンプルで使いやすい方へ変わっていくようです。 外国人の方からも言及があ

    初めてgithubでOSSモジュールを公開した感想 - ninjinkun's diary
    advblog
    advblog 2013/04/24
  • UI/UX設計の教科書、About Face 3輪講の資料を公開します - ninjinkun's diary

    一昨年に社内で行ったAbout Face 3輪講の資料を公開します。実は今までずっと公開されていたのですが、存在を知られていなかったので、改めて周知します。 About Face 3はUI/UX設計の教科書で、ユーザーストーリーやペルソナなど、基的な内容が押さえられています。ディレクター、デザイナー、エンジニア、サポート等、プロダクト制作に関わる全員の共通知識として使える内容だと思います。 About Face 3輪講概要 1. ゴールダイレクテッドデザイン 2. 実装モデルと脳内モデル 3. 初心者、上級者、中級者 5. ユーザーのモデリング : ペルソナとゴール 6. デザインの基礎 : シナリオと要求 8. 優れたデザインの総合 : 原則とパターン 10. オーケストレーションとフロー 11. 間接的な操作を取り除く 12. 良き振る舞いのデザイン 13. メタファ、イディオム、ア

    UI/UX設計の教科書、About Face 3輪講の資料を公開します - ninjinkun's diary
    advblog
    advblog 2013/03/12
  • ブログについたTwitterやはてブの反響を可視化するiPhoneアプリ、『Feedback』をリリースしました - ninjinkun's diary

    ブログに付いたTwiter, Facebook, はてブ等、ソーシャルボタンの数を記録し、可視化するiPhoneアプリ、『Feedback』をリリースしました。 Feedback iPhone App - Visualize your blog's impact 渾身のブログエントリーを書いた後、ブクマの数が気になってひたすらページをリロードし続けた経験はないでしょうか。僕自身が毎回そんなことをしているのに気づいて、iPhoneアプリにしてみました。 このアプリに自分のブログを登録しておくと、RSSを読み込んで最新の記事のソーシャルボタンの数を集計してくれます。集計した数値はiPhoneアプリDBに記録されるので、増えていく数をグラフ化したり、前回との差分を表示することができます。 自分でも毎日使っています。時たまブクマがたくさんついたときはもちろん嬉しいですが、何気ないエントリにスター

    ブログについたTwitterやはてブの反響を可視化するiPhoneアプリ、『Feedback』をリリースしました - ninjinkun's diary
    advblog
    advblog 2012/11/21
  • iOS6から使えるアプリの状態復元UIStateRestoration - ninjinkun's diary

    iOSアプリを起動する際、ユーザが最後に開いた画面を表示できると利便性は高まります。しかしバックグラウンドに移ったアプリは、メモリが逼迫してくると強制的に終了させられて、最初からやり直しです。この終了状態から、あたかも直前まで動いていたかのように状態を復元するUIStateRestorationがiOS6から導入されました。 追加の実装は必要ですが、自前でやるよりは楽に状態の保存と復元が可能になります。 以下の内容は最新のiOSアプリケーションプログラミングガイド(既に日語訳出てる!)を参照しながら実装してみたものなので、詳細を知りたければそちらを参照するのがおすすめです。 はじめに この機能で保存、復元されるものは以下の通りです。 ViewControllerとViewController Container UINavigationViewControllerのスタックも復元 Vie

    iOS6から使えるアプリの状態復元UIStateRestoration - ninjinkun's diary
    advblog
    advblog 2012/10/21
  • 関西最速でiPhone5を紛失しました - ninjinkun's diary

    終電の新幹線にiPhone5を置き忘れました。 iPhone5 酔っぱらって新幹線に忘れたぽい— にんじんくん (@ninjinkun) 2012年9月22日 最速伝説— やざ (@yearthesun) 2012年9月22日 iCloundでiPhoneが新幹線基地いるのが見える— にんじんくん (@ninjinkun) 2012年9月22日 京都から来たスマートフォンエキスパートがiPhone5をわざと新幹線に忘れてiCloudiPhoneが新幹線基地に居るのを確認してその優秀性を確認してるのを見て、さすがエキスパートだと感心している。— masato_ka (@masato_ka) 2012年9月22日 @masa138 冗談に見えるでしょ?— にんじんくん (@ninjinkun) 2012年9月22日 @ninjinkun 車庫...— マサユキ (@masa0x80) 201

    関西最速でiPhone5を紛失しました - ninjinkun's diary
    advblog
    advblog 2012/09/24
  • iOS組み込みのキャッシュモジュールNSCacheについて発表しました - ninjinkun's diary

    NSCacheというキャッシュモジュールについて第43回Cocoa関西で発表してきました。 NSCacheの特徴 スレッドセーフ NSDictionaryのように手動でロックする必要がない 格納オブジェクトの上限を決められる 溢れたら自動破棄 iOSのようなメモリ制約の厳しい環境に最適 NSDictionaryに似たインターフェイス Mac OS 10.6 / iOS 4.0以上で使える 具体例としては、ダウンロードした画像をオンメモリにキャッシュする際等にとても有用だと思います。同じような機能を提供してくれるOSSのモジュールは見たことがあるのですが(例えばnimbusに含まれているNIMemoryCache)こちらはOS組み込みなので手軽に使えます。 発表資料 サンプルコード Twitter及びInstagramの画像をロードしてデモするサンプルコードは以下です。それぞれの機能を動かす

    iOS組み込みのキャッシュモジュールNSCacheについて発表しました - ninjinkun's diary
    advblog
    advblog 2012/03/26
  • iPhoneアプリのアクセス解析Google Analytics SDK for iOSについて - ninjinkun's diary

    Cocoa勉強会関西でGoogle Analytics SDK for iOSについて発表してきました。資料を公開します。 Google Analyticsの豊富な機能をiPhoneアプリ内の計測にも利用でき、かなり使いでがあります。目標指標の設定や計測はもちろん、イベントのトラッキングを積極的に活用することで、UI改善の指標にすることもできると思います。 Google Analytics & iPhoneView more presentations from Satoshi Asano. 資料の中で言及している便利マクロもここに貼っておきます。 #define GA_TRACK_PAGE(PAGE) { NSError *error; if (![[GANTracker sharedTracker] trackPageview:[NSString stringWithFormat:@"

    iPhoneアプリのアクセス解析Google Analytics SDK for iOSについて - ninjinkun's diary
    advblog
    advblog 2012/02/21
  • Objective-Cを書く人も書かない人も必読『iPhoneアプリ設計の極意』 - ninjinkun's diary

    @fladdictさんが監訳されたことで話題の、オライリーiPhoneアプリ設計の極意 ―思わずタップしたくなるアプリのデザイン』、早速会社で購入してもらって読みました。読み終わってまず思ったのは、これはiPhone開発に携わるすべての人に必読のになるだろうということです。エンジニア、デザイナー、企画者と分担が分かれている場合は、全員が読むといいのではないでしょうか。このiPhone開発に必要な共通言語を提供してくれます。それも、コードを使わずに。 書から得られる内容としては大きくふたつあると思います。ひとつはiPhone開発のプロセスを解説書としての側面。もうひとつはiPhoneUIカタログとしての側面です。 アプリ開発プロセスの解説書 このに書かれている開発プロセスは、ベストプラクティスと言えるものになっていると思います。ユーザーニーズを探ること、シンプルさを追求するこ

    Objective-Cを書く人も書かない人も必読『iPhoneアプリ設計の極意』 - ninjinkun's diary
    advblog
    advblog 2011/06/28
  • はてブiPhone・Androidアプリの開発プロセス - ninjinkun's diary

    この三ヶ月ではてなブックマークiPhoneアプリの新バージョンとAndroidアプリを開発してきました。 両方共担当はエンジニアid:ninjinkunとデザイナーid:kudakurage、総合ディレクションid:nagayamaです。同じ開発者がiPhoneアプリAndroidアプリ両方を作った事例として、なかなか面白いのではないかと思います。開発期間はちょうどそれぞれ一ヵ月半ずつでした。 自分にとってもブクマチームに移動してから初めての大きな仕事だったので、両方共思い入れがあるプロダクトです。開発話と一緒に、スマートフォンアプリを作る際の流れや、気を付けていることなどをまとめようと思います。(長いです) 開発プロセス iPhoneもAndoirdも開発の流れは基的に一緒で、以下のような流れになります。 機能の検討 UIの検討 実装 ざっくり並べただけではWebサービス開発と変わり

    はてブiPhone・Androidアプリの開発プロセス - ninjinkun's diary