SlideShare uma empresa Scribd logo
1 de 47
Baixar para ler offline
potatotips #21
framework code reading
Profile
釘宮 愼之介 / @kgmyshin
Androidエンジニア
福岡県福岡市南区野多目出身
テックブログ書いてます!
Frameworkのソース読んでますか?
読むとおもしろいところ
読むとおもしろいところ
起動シーケンスあたり
読むとおもしろいところ
起動シーケンスあたり
パスワードロック
読むとおもしろいところ
起動シーケンスあたり
パスワードロック
パターンロック
読むとおもしろいところ
起動シーケンスあたり
パスワードロック
パターンロック
Telephony
読むとおもしろいところ
起動シーケンスあたり
パスワードロック
パターンロック
Telephony
Permission
準備するもの
環境
なるべく割り込みの入ってこない環境が良い
このメソッドで..
このメソッドで..
このクラスで定義…
このメソッドで…
このメソッドで..
このクラスで定義…
このメソッドで…
このメソッドで..
このクラスで..
このinterfaceで..
このメソッドで..
このクラスで定義…
このメソッドで…
このメソッドで..
このクラスで..
このinterfaceで..
このinterfaceで..
このメソッドで..
このクラスで定義…
このメソッドで…
このメソッドで..
このクラスで..
このinterfaceで..
このinterfaceで..
このメソッドで..
このクラスで定義…
このメソッドで…
このメソッドで..
このクラスで..
このinterfaceで..
このinterfaceで..
このときに割り込みが発生して
いままでなにしてたっけ状態
にならないように、、
ツール
検索できる
historyを見れる
commit間のdiffを見れる
ただ、問題もある
OpenGrokのversionが少し古い
オフラインでもみたい
ということで
ローカル入れてみた!
が、
インストールしようと思ったら
macの容量がカツカツだった。
容量が空いたところで
インストール
$ brew install tomcat
$ brew install ctags
$ wget http://java.net/projects/opengrok/downloads/download/
opengrok-0.12.1.tar.gz
$ tar xvf opengrok-0.12.1.tar.gz
$ OPENGROK_INSTANCE_BASE=opengrok-0.12.1 opengrok-0.12.1/bin/
OpenGrok index /path/to/your/source
$ OPENGROK_TOMCAT_BASE=/usr/local/Cellar/tomcat/8.0.22/
libexec opengrok-0.12.1/bin/OpenGrok deploy
$ catalina start
これで
快適コードリーディング
ライフ!
まったり
Android Framework
Code Reading #2
やります!
https://gitter.im/AndroidFrameworkCodeReading/CodeReadingHistory
Join us !

Mais conteúdo relacionado

Destaque (10)

To learn Interpolator
To learn InterpolatorTo learn Interpolator
To learn Interpolator
 
3D touch for iOS
3D touch for iOS3D touch for iOS
3D touch for iOS
 
TestFlightみたいなのを自作する
TestFlightみたいなのを自作するTestFlightみたいなのを自作する
TestFlightみたいなのを自作する
 
バグのことは嫌いになってもXcodeのことは嫌いにならないでください。
バグのことは嫌いになってもXcodeのことは嫌いにならないでください。バグのことは嫌いになってもXcodeのことは嫌いにならないでください。
バグのことは嫌いになってもXcodeのことは嫌いにならないでください。
 
Enhancements with 3D Touch
Enhancements with 3D TouchEnhancements with 3D Touch
Enhancements with 3D Touch
 
tvOSでWebSocketを使う
tvOSでWebSocketを使うtvOSでWebSocketを使う
tvOSでWebSocketを使う
 
Enumerate
EnumerateEnumerate
Enumerate
 
UIKit Sound
UIKit SoundUIKit Sound
UIKit Sound
 
What's new Swift3
What's new Swift3What's new Swift3
What's new Swift3
 
MySQL 8.0で憶えておいてほしいこと
MySQL 8.0で憶えておいてほしいことMySQL 8.0で憶えておいてほしいこと
MySQL 8.0で憶えておいてほしいこと
 

Semelhante a Framework code reading

20121124 学生セミナー「基礎からわかる! IT業界とプログラミング」
20121124 学生セミナー「基礎からわかる! IT業界とプログラミング」20121124 学生セミナー「基礎からわかる! IT業界とプログラミング」
20121124 学生セミナー「基礎からわかる! IT業界とプログラミング」
Takashi Uemura
 
Windowsにpythonをインストールしてみよう
WindowsにpythonをインストールしてみようWindowsにpythonをインストールしてみよう
Windowsにpythonをインストールしてみよう
Kenji NAKAGAKI
 
Kobe sec#7 summary
Kobe sec#7 summaryKobe sec#7 summary
Kobe sec#7 summary
Yukio NAGAO
 
JJUG CCC 2013 Fall「JVMコードリーディング入門-JVMのOS抽象化レイヤーについて-」
JJUG CCC 2013 Fall「JVMコードリーディング入門-JVMのOS抽象化レイヤーについて-」JJUG CCC 2013 Fall「JVMコードリーディング入門-JVMのOS抽象化レイヤーについて-」
JJUG CCC 2013 Fall「JVMコードリーディング入門-JVMのOS抽象化レイヤーについて-」
y torazuka
 

Semelhante a Framework code reading (20)

きつねさんでもわかる Firefox OS コードリーディング入門
きつねさんでもわかる Firefox OS コードリーディング入門きつねさんでもわかる Firefox OS コードリーディング入門
きつねさんでもわかる Firefox OS コードリーディング入門
 
Java frameworkの昔と今
Java frameworkの昔と今Java frameworkの昔と今
Java frameworkの昔と今
 
20160326 第10回 Rad Studio 勉強会@Osaka
20160326 第10回 Rad Studio 勉強会@Osaka20160326 第10回 Rad Studio 勉強会@Osaka
20160326 第10回 Rad Studio 勉強会@Osaka
 
20121124 学生セミナー「基礎からわかる! IT業界とプログラミング」
20121124 学生セミナー「基礎からわかる! IT業界とプログラミング」20121124 学生セミナー「基礎からわかる! IT業界とプログラミング」
20121124 学生セミナー「基礎からわかる! IT業界とプログラミング」
 
chatGPTの驚くべき対話能力.pdf
chatGPTの驚くべき対話能力.pdfchatGPTの驚くべき対話能力.pdf
chatGPTの驚くべき対話能力.pdf
 
2009年のPHPフレームワーク
2009年のPHPフレームワーク2009年のPHPフレームワーク
2009年のPHPフレームワーク
 
Windowsにpythonをインストールしてみよう
WindowsにpythonをインストールしてみようWindowsにpythonをインストールしてみよう
Windowsにpythonをインストールしてみよう
 
自分よりも技術力の高い会社に入社して感じたこと
自分よりも技術力の高い会社に入社して感じたこと自分よりも技術力の高い会社に入社して感じたこと
自分よりも技術力の高い会社に入社して感じたこと
 
FabricとRailsと私
FabricとRailsと私FabricとRailsと私
FabricとRailsと私
 
Kobe sec#7 summary
Kobe sec#7 summaryKobe sec#7 summary
Kobe sec#7 summary
 
SDSoC でストリーム
SDSoC でストリームSDSoC でストリーム
SDSoC でストリーム
 
SnapDishの事例
SnapDishの事例SnapDishの事例
SnapDishの事例
 
OSS奨励賞受賞プレゼン 活動紹介
OSS奨励賞受賞プレゼン 活動紹介OSS奨励賞受賞プレゼン 活動紹介
OSS奨励賞受賞プレゼン 活動紹介
 
C言語講習会資料(前半)
C言語講習会資料(前半)C言語講習会資料(前半)
C言語講習会資料(前半)
 
Django learning
Django learningDjango learning
Django learning
 
JJUG CCC 2013 Fall「JVMコードリーディング入門-JVMのOS抽象化レイヤーについて-」
JJUG CCC 2013 Fall「JVMコードリーディング入門-JVMのOS抽象化レイヤーについて-」JJUG CCC 2013 Fall「JVMコードリーディング入門-JVMのOS抽象化レイヤーについて-」
JJUG CCC 2013 Fall「JVMコードリーディング入門-JVMのOS抽象化レイヤーについて-」
 
Rpn and forth 超入門
Rpn and forth 超入門Rpn and forth 超入門
Rpn and forth 超入門
 
プログラマ人生論
プログラマ人生論プログラマ人生論
プログラマ人生論
 
元運用担当者が,現役時代に本当に欲しかったもの. Osc2014 kansai@kyoto terraform introduction
元運用担当者が,現役時代に本当に欲しかったもの. Osc2014 kansai@kyoto terraform introduction元運用担当者が,現役時代に本当に欲しかったもの. Osc2014 kansai@kyoto terraform introduction
元運用担当者が,現役時代に本当に欲しかったもの. Osc2014 kansai@kyoto terraform introduction
 
Shared Preferences Anti Pattern
Shared Preferences Anti PatternShared Preferences Anti Pattern
Shared Preferences Anti Pattern
 

Mais de shinnosuke kugimiya

Mais de shinnosuke kugimiya (12)

Coordinator Layout Behavior
Coordinator Layout BehaviorCoordinator Layout Behavior
Coordinator Layout Behavior
 
読むと怖くないDagger2
読むと怖くないDagger2読むと怖くないDagger2
読むと怖くないDagger2
 
このあと滅茶苦茶LGTMした
このあと滅茶苦茶LGTMしたこのあと滅茶苦茶LGTMした
このあと滅茶苦茶LGTMした
 
just one line
just one linejust one line
just one line
 
これからの設計の話をしよう
これからの設計の話をしようこれからの設計の話をしよう
これからの設計の話をしよう
 
例の縛るやつ(Data binding)
例の縛るやつ(Data binding)例の縛るやつ(Data binding)
例の縛るやつ(Data binding)
 
Android Architecture
Android ArchitectureAndroid Architecture
Android Architecture
 
KotlinつかってQiitaクライアント作った時の話
KotlinつかってQiitaクライアント作った時の話KotlinつかってQiitaクライアント作った時の話
KotlinつかってQiitaクライアント作った時の話
 
Model View Presenter for Android
Model View Presenter for AndroidModel View Presenter for Android
Model View Presenter for Android
 
あの日見たMVCを僕たちはまだ知らない for RoR
あの日見たMVCを僕たちはまだ知らない for RoRあの日見たMVCを僕たちはまだ知らない for RoR
あの日見たMVCを僕たちはまだ知らない for RoR
 
開発効率アンチパターン
開発効率アンチパターン開発効率アンチパターン
開発効率アンチパターン
 
Reactive android
Reactive androidReactive android
Reactive android
 

Último

Último (7)

LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
 

Framework code reading