Skip to content

Instantly share code, notes, and snippets.

@himaratsu
Last active May 24, 2020 06:15
Show Gist options
  • Save himaratsu/8748624 to your computer and use it in GitHub Desktop.
Save himaratsu/8748624 to your computer and use it in GitHub Desktop.
GitHub活動を通して個人のキャリアを詰みつつ仕事の成果を出す方法

GitHub活動を通して個人のキャリアを詰みつつ仕事の成果を出す方法

話す人

  • ninjinkunさん

やってること

GitHub活動

  • 自分のプロジェクト公開、他人のプロジェクトへの貢献
  • iOS界隈で盛り上がってるのはなぜか?
    • AppleのNDA緩和(2008/10)
    • ASIHTTPRequest, AFNetworkingなどの成功事例
    • CocoaPodsの普及(2011~)
  • GitHub活動への道のり
    • PsycsさんのImageStoreでiOSの勉強
    • OSSを使う
    • すごい人を見て自分もOSSモジュール公開を始めた
  • 得られるもの
    • 承認トップ(GitHub☆、有名アプリで採用)
    • 昇級
    • 転職
      • => エンジニアの履歴書となってきている

事例紹介:NJKWebViewProgress

  • UIWebViewのロードプログレスを取得
  • webviewのdelegateとdocument.readyStateの合わせ技で実装
  • 既存のプロジェクトにも組み込みやすいシンプルなモジュール

どうやって作ったか?

  • 1Passwordが実現してた
  • CordoveのJavaScriptを読んでいて閃いた
  • 暇な日になんとなく実装、プロト半日整理に一日
  • .podspecを追加

作った結果

  • Yahoo! JAPAN, Facebook Messangerで採用
  • GitHub★500
  • 自分の仕事でも使える

事例紹介:NJKScrollFullScreen

  • Facebookアプリライクなフルスクリーン表示ができる
  • フルスクリーンのWebViewにも使える
  • scrollviewのdelegateをフックしてバーを隠すタイミング通知
  • NavBar, Toolbarを隠す処理はカテゴリで実装
  • proxyとして動く

どうやって作ったか

  • 実装2日、READMEとブログ書き1日

作った結果

  • GitHub★380
  • Issue, PullRequestぼちぼち来てる
  • 仕事ではまだ未投入

GitHubチャンス

  • こういう時につくる
    • ググっても自分の欲しいライブラリが見つからないとき
    • 気づけば毎回同じ処理をかいているとき
  • こういうものがオススメ
    • UIがないモジュール
      • UIが絡むとOSのアップデート追従が必要になる
    • Web連携アプリに必要
      • URLをいい感じにするもの
      • 決定版NSDateFormatter
    • 他の言語にあってiOSにないもの
      • JLRoutes

モジュールを使ってもらう方法

  • 試しやすくする
    • DemoAppをつける
    • 依存ライブラリはPodfile, submodulesで一発インスコ体制
  • 組み込みやすくする
    • 継承前提ではつくらない(ObjCは多重継承ができない)
    • 疎な設計でハックしやすい設計を工夫
  • 品質を高める
    • テスト充実 / CI導入
  • 表現を工夫する
    • DescriptionとREADME.mdをがんばる
    • UI系ライブラリならGyazo GIFを使う
  • 広報
    • CocoaPodsにPullRequest
    • ウォッチャーがいるので広まる可能性が高い
    • ブログ書く&Twitterで周知

はてなiOS SDK

  • シード開発者を募集してつくった
  • 最初の質の担保が大事
  • 個人の活動でGitHubを知っていたので提案できた

まとめ

  • OSSはたのしくて仕事と私事に役立つ
  • アプリを作るよりも簡単にできる
    • GitHubの方がポジティブなフィードバック多い
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment