タグ

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

  • Launchableでエンジニアを募集します! - ninjinkun's diary

    kohsuke.hatenadiary.com yoshiori.hatenablog.com Launchableで新たにサーバーサイドエンジニアを募集します。詳しくは募集要項を見ていただきたいのですが、自分なりにざっくり説明すると、必要な経歴・マインドは以下の通りになるかと思います。 情報科学に関連した分野の学士以上 スタートアップを楽しめること 顧客への共感が持てること サーバーサイドの開発経験 英語 情報科学の学士は読んでそのままなので、他の部分をもう少し解説します。 スタートアップを楽しめること 我々はシードラウンドのスタートアップです。製品はまだ一般リリース前で、プロダクトアドバイザー(最初に試していただくお客さん)への組み込みをがんばっているところです。 例えば、自分は元々フロントエンドエンジニアとして入社しましたが、今は組み込みが最優先のフェーズなのでCLIを作っています。

    Launchableでエンジニアを募集します! - ninjinkun's diary
  • 結婚退職無職 - ninjinkun's diary

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

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

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

    「ボトムアップの見かけはとても重要」 - ninjinkun's diary
  • 【翻訳】プロダクトマネジメントトライアングル - 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
  • Inspired: 顧客の心を捉える製品の創り方を読んだ - ninjinkun's diary

    プロダクトマネージャーの職能+ユーザー体験設計のです(と解釈しています)。 最近Rebuild: 98: Superhumans Wanted (Naoya Ito)やエンジニアからみた良いプロダクトマネージャとは? - サンフランシスコではたらくソフトウェアエンジニア - Higepon’s blogで話題のプロダクトマネージャーに興味があって、関連しそうなを読みたいと言っていたら、知人がこのを紹介してくれました。 Netscapeなどでプログラマーをしていたバックグラウンドを持ち、eBayなど複数の会社でプロダクトマネージャをしていた経験を持つ著者がプロダクトマネージャーの職能について語るで、以下のような内用が含まれています。 プロダクトマネージャーとは何か どうやって他の職種と連携して働くか どうやって製品を見つけ出すか どうやってユーザー体験を作っていくか 自分にとっては、

    Inspired: 顧客の心を捉える製品の創り方を読んだ - ninjinkun's diary
  • 誰のためのデザイン?増補・改訂版を読んだ - ninjinkun's diary

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

    誰のためのデザイン?増補・改訂版を読んだ - ninjinkun's diary
  • スマートフォンアプリでリアクティブプログラミングをしているが、Promiseとデータバインディングとして使っている - ninjinkun's diary

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

    スマートフォンアプリでリアクティブプログラミングをしているが、Promiseとデータバインディングとして使っている - ninjinkun's diary
  • 【翻訳】あなたが求めていたリアクティブプログラミング入門 - 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
    lepton9
    lepton9 2014/08/13
    ちょうどrx調べてたところだったからすごい勉強になった
  • git-pr-releaseのすすめ - ninjinkun's diary

    Github (含むEnterprise) で開発をしているなら、Github Kaigiでも紹介されていた git-pr-release が便利です。自分の会社ではアプリのリリース前にQAを実施しているのですが、QAを始める前にどの機能がリリースされるのかをリストアップし、それをGoogleスプレッドシートに入力する作業が繁雑でした。 git-pr-release を使うと、これをリリースPull Requestに集約して自動化することができます。リリースPull Requestとは以下のようなものです (スクショはこのツールのPR用に作ったダミー)。 具体的なリリースまでの作業手順は以下のようになります。 開発ブランチにリリースする機能のPull Requestをmergeしていく git-pr-release を実行 merge済みのPull Requestの情報を集めてチェックリス

    git-pr-releaseのすすめ - ninjinkun's diary
  • iOSアプリケーション開発のコードレビューで気をつけていること - ninjinkun's diary

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

    iOSアプリケーション開発のコードレビューで気をつけていること - ninjinkun's diary
  • 未読数バッジの実装 - ninjinkun's diary

    アプリの未読数バッジを実装していてこんがらかってきたので、自分の方針をメモしておきます。バッジを消してるつもりなのに消えないとか、また復活していたりするとイライラしますよね。 いつ消すか 通知欄を見た瞬間に消える タイムラインの投稿、自分へのいいね等 大抵のものはこちらでOK 未読の部分まで読んだら消える チャット等のメッセージ 重要なお知らせ アイコンのバッジは種類に関わらず起動時には消す その後新しい通知が来るまで復活しないように Pushのみで数字を更新する場合は起動時に0にするだけ Push以外でアイコンバッジを更新することがあれば、最後にバッジを消した際の通知オブジェクトIDもしくは未読数を記録するという面倒な方法で実現する 複数クライアントがある場合は他のクライアントにもPushを送って0クリアしてあげると良さそう。あまりやってるのは見ないけど どこまで読んだかを記憶する 最後

    未読数バッジの実装 - ninjinkun's diary
  • はてなを退職しました - ninjinkun's diary

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

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

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

    初めてgithubでOSSモジュールを公開した感想 - ninjinkun's diary
  • 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
  • AppStoreレビューを促すイラッとするダイアログを出すライブラリiRateの使い方 - ninjinkun's diary

    アプリを起動した直後に「AppStoreにレビューを書いてくれませんか」という感じのダイアログが出て、若干イラッとしたことはありませんか?iRateはそのイラッとするダイアログを出すためのライブラリです。 https://github.com/nicklockwood/iRate しかしイライラとした人をレビュー欄に誘導しても、あまり良い評価をつけてくれそうにはありません。このためには、アプリを気に入ってくれた人にイラッとさせないタイミングでレビューをお願いする必要があります。 iRateは、アクティブ率が高いユーザーにのみダイアログを出すことで、良い評価をつけてくれそうな人にできるだけ穏便にレビューをお願いするという、かなり空気を読んだ設計になっています。 使い方 呼び出す際は以下のメソッドを呼んで、AppStore IDを入れるだけです。これで初期化が完了されます。 [iRate sh

    AppStoreレビューを促すイラッとするダイアログを出すライブラリiRateの使い方 - ninjinkun's diary
  • はてブiPhone・Androidアプリの開発プロセス - ninjinkun's diary

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

    はてブiPhone・Androidアプリの開発プロセス - ninjinkun's diary
  • Google 工藤拓さん講演「大規模ソフトウェア開発を支えるGoogleのテクノロジー」

    NAISTにてMeCabの作者としても有名な工藤拓さんの講演が行われました。Googleの開発体制とそれを支えるツールのお話です。 学校と拓さんの双方からブログへの掲載許可が得られたので、まとめを公開します。この講義はNAISTのソフトウェア開発管理講義の一環です。 iPhoneカメラしかなかったので、画像が荒くて済みません・・・。 会場は大入り! 工藤拓さん NAIST自然言語処理学講座出身 Googleに入社してから大規模開発やインフラを経験 MeCabを開発 NTTコミュニケーション科学基礎研究所に所属 その後Googleへ 研究より開発寄り Googleでの仕事語のウェブ検索 「もしかして」機能 ダジャレサーチ エイプリルフールネタを1ヶ月かけて実装 何千人もの開発者が単一のソースコードリポジトリの上で開発を行っている 大規模開発をサポートするインフラが不可欠 Mondria

    Google 工藤拓さん講演「大規模ソフトウェア開発を支えるGoogleのテクノロジー」
  • 1