progすっかりアドベントカレンダーのことを忘れてて超ピンチのあおいたんです。あおいたん何気に社畜感高まった一年だったのでまとまった成果がないんですが、今年一年なんやかんやでFxOSのソースコードを読む機会はアレコレあったので聞いてもらえれば何かしら話せるよって所をちょこっと書いてみます。どこかで会うなりついったで@するなり詳しく教えろって言ってもらったらなんか語ります。記憶だけではもう振り返れないのでプライベートリポジトリのコミットログから月ごとぐらいでざっくり振り返っていきまする。APIの使われ方を読んでたみたいです。APIのchangeイベントでファイルの変更を検知しようと思ったけどアプリが裏に回ったら取れなくなって涙目になってたりしました。Japanの清水さんあたりに聞いたほうがいいかも。設定アプリとかSystemアプリとかコストコントロールアプリとかBluetoothで遊びたくてBT周りを読んでましたがもうすっかり忘れてます。メモっとくべきでした。2月Gaiaのテストアプリ色々とかgecko/dom/webidl配下とかCodezineの記事のためにセンサー絡みを色々読んでました。この時は目的がAPIの使い方に寄ってたので使ってるところとインターフェイスだけ読んでました。使い方とかはCodezineの記事とか会社ブログの記事とか読んでみてください。API4月に開催予定だったFxOSコードリーディングミートアップでLTやるネタで読んでました。APIだけじゃなくてアプリ側も読んでましたが最近アプリ側は変更著しいので聞かないでね!この頃何故かソートアルゴリズムを実装してオーダを見比べてにやけるのに熱中してたのであんまり読んでないです。APIFxOSコードリーディングミートアップのLT用ネタ第二弾。APIは2013年の終わりごろにも読んでたんですけど変わってない感じで安心感ありました。Geckoいろいろb2g配下とかdom配下に何があるかとかざっくり読んだのとグラフィック周りを読もうとして挫折したのとJS周り読もうとして挫折したのとHTMLパーザ読もうとして(ryいわゆるGonkと呼ばれてるあたりのうちHAL層とかをざらっとななめ読み。この辺の成果はわんくまとかで話しました。5月6月この辺りはデスマの第一波が来てたのでお休みです。仕事以外の時間はずっとラノベ読んでたような気がします。7月gecko/xpcom配下とかgecko/dom/bindings配下とかgecko/ipc/ipdl配下とかコードジェネレートする類のスクリプトを読んでました。なにかとIPC周りを追っていたのにXPCOMとかServicesとかComponentsとかで迷子になって挫折した感じ。三ヶ月ぐらい後にもまた迷子に。APIの使い方じゃなくて実装を読み始めたけどすぐ忙しくなってほとんど読めてませんでした。9月init.rcとかgecko/b2g配下とかSystemアプリとかなにやらブート周りを調べてました。なんで調べようと思ったんだっけ?勢い余ってmozAppsとかSystemアプリからのmozApps。この辺りもデスマ継続中なのでさわりだけ。使われ方を眺めた程度。APIのKVS的なファイル管理のギャップがどうなってるのかとかファイル変更イベントの流れとかボリュームの空き容量監視とか気になって調べてました。この時はファイル管理のところだけ調べてます。後にファイル変更イベントとかも調べてます。gecko/xpcom配下とかgecko/dom/bindings配下とかgecko/ipc/ipdl配下とか再び前に迷子になって諦めたのを再チャレンジ。結局迷子でXPCOMに打ちのめされて泣きながらIPDL関連調べてました。おかげさまでちょっとIPDLに詳しくなれた気がする。insideとかちょこちょこ質問したりとか@makoto_katoにはお世話になりっぱなしである。みんなIPDLチュートリアル読むといいよ。この辺もデスマ継続中というかバーンダウンせずバーンアップし続けていたのに現実逃避的にソース読む時間が増えてました。11月mozApps再びもうちょっとちゃんと追ってます。使われ方を見てたはずがいつの間にか実装読んでるのはいつもの話。アプリの起動はプロセスの関係とか諸々ちょっとめんどくさいので気になる人はリクエスト貰えたら何かしら書きます。ビルドコンフィグ.userconfigとかmoz.buildとかをちょっと調べていました。ビルドシステムは大抵のプロダクトでめんどくさいところですね。FxOSもめんどくさいです。makeとかautoconfigとか読んでたらだんだん疲れておざなりで終わってしまいました。TCPSocketとかUDPSocketとかそもそも使われて無くてもんやりしつつGaiaで数少ない利用例である新しいメールアプリとかSSDPの実装とか読んでました。使う方だけさらっと見てた感じ。ドキュメントもないのでwebidlはいくらか読んでました。APIとか三度ファイル変更イベントと空き容量監視を中心に調べてました。気になるところは調べて満足しました。引き続きTCPSocketとかUDPSocketとか。加えてXHRとかTCPSocketとかUDPSocketとかはドキュメントもアレなので実装見ないと何やってるかよーわからんみたいなアレで読んでる最中です。アプリから使える通信手段まとめて見ようかな的にXHRとかもちょろりと調べてます。思い返してみたら何かしらずっと読んでました。今年はどちらかと言うとGeckoに寄ってた気がします。来年はGeckoを読むのは継続なんですが、ちょっとNGAとかadd-onとか新しい仕組みの部分を見ていきたいなと思います。prog長月@ちくわの穴を覗いてしまった並の衝撃が走った。OSをよく触ってるんですが、今日ちょっと衝撃的な事実を知ってしまいました。OSなんですが、Marketplaceだけ消せません。いうことで調べてみました。この手の起動とかインストールとかに関わる情報はだいたいミニマニフェストで示されるので探してみました。false,これっぽい。ドキュメントも漁ってみます。https://developer.mozilla.org/en-US/Firefox_OS/Developing_Gaia/Market_customizations_guide#Prebundled_web_app_metadata.jsonこれですね。いうわけでバンドル用のアプリに関してはmetadata.jsonに"removable":false,の行を書いとけば削除不可になるみたいです。6,966Amazon.co.jpで詳細を見るまずはフェアクロ全体の感想です。なろう発に多い感じですね。地の文が口語的な表現で違和感があったり主語が作者な言い回しが気になります。言え文体や文法の違和感は慣れなのでなろう慣れしてれば問題ないでしょう。あとは設定語りがくどい。これもなろうにはよくありますね。状況の説明にその理由や背景、別のエピソードがついてくるのでメタな情報は多めです。これも程度の問題ではありますが、登場人物の知識を超えた範囲を説明されるとうんざりするタイプの人には向きません。お話はRPG的で良いです。目的の設定と途中の展開がはっきりしているのでわかりやすいです。類型的といってもいいです。生産系パーティーの色合いが強いので味付けで類型から外してくるのがあまり見ない感じで良いところだと思います。全体的にはそんな感じですが、ここからは四巻に特化した話です。大きな筋のネタバレがあるのでネタバレOKな人は続きを読んでください。