open souce関係の2015年まとめ
本業がマクロでそれなりに忙しかったんで、その関係もあって、興味関心がエンタープライズアプリケーションアーキテクチャとか、GUIアプリケーションアーキテクチャに向いていたので、なんか2015年はServoとかRustよりも専らECMA262かTypeScriptばかり書いてたような気がする。
とりあえずパッと思い出せる範囲で書きます.
Servo
- issue/pull request/meeting noteは、年間通して概ね全部見てる
- 前半はそこそこやってたけど、後半はそこまででもない
- そこまで時間見れるpull requestは、手があいてればreviewしたりしてる
- 来年はServoだけじゃなくて、GeckoでもWebKitでもBlinkでも、他のエンジンも触ってみたい
option-t
- https://github.com/karen-irc/option-t てのを作りました
- Rustの
std::option
をベースに, ECMA262 5thの範囲でOption<T>
を作りました- CommonJSで書いてるけど、別にこだわりがあるわけではなく、NodeJS+browserifyしか自分の用途が無いだけ
- まあ、TypeScript推奨ではあります
std::result
相当のResult<T, E>
(Either<A,B>)も作ったけど, 特に入れてない- 来年はperf optimizationするかなー
karen-irc
- コンストせんせと「好き勝手できるircクライアント欲しくね?」という話になって、一緒にshoutをforkした
- 元のコードがjQueryベースでメンテきついので、個人的な実験場も兼ねて、TypeScript + babelにしたり、設計全面rewriteしたり、ReactぶっこんだりRxぶっこんだりして色々遊んだ
- まあ、リファクタリングは、まだ終わってないんだけど……
- 一部知見が本業の方にフィードバックされた
- 来年は、新機能追加とかそもそもの処理フローの最適化に手を付けようとおもいます
ReactiveX/RxJS
幾つか気になる点があったので、pull req送ったりissue立てたりした
- マージされたもの
- Implement startWith() operator by saneyuki · Pull Request #162 · ReactiveX/RxJS · GitHub
- たぶん今はまるっとリファクタリングした後の実装になってて、私のコードは残ってないと思う
- proposal: Change
Operator
from class to interface. by saneyuki · Pull Request #204 · ReactiveX/RxJS · GitHub - chore(package): Add 'typings' field to package.json by saneyuki · Pull Request #410 · ReactiveX/RxJS · GitHub
- refactor(Subscription): remove the type parameter from
Subscription
by saneyuki · Pull Request #1065 · ReactiveX/RxJS · GitHub
- Implement startWith() operator by saneyuki · Pull Request #162 · ReactiveX/RxJS · GitHub
- マージされなかったもの
- refactor(Observable): Make 'protected' of Observable
._isScalar by saneyuki · Pull Request #522 · ReactiveX/RxJS · GitHub - 「将来的なユーザー拡張のためのフックポイントを開いておく」という理由で却下となった……はず。project ownerが「今はやらないことにする」って言ったんだから、それに従うだけだよね
- refactor(Observable): Make 'protected' of Observable
- 出したけど保留中
- refactor(Subject): Make Subject and derived classes' internal methods protected by saneyuki · Pull Request #1118 · ReactiveX/RxJS · GitHub
- refactor(operators): Make merge related operators'
_innerSub
private by saneyuki · Pull Request #1117 · ReactiveX/RxJS · GitHub - refactor(subscriber): Make Subscriber and derived classes' internal methods protected by saneyuki · Pull Request #1116 · ReactiveX/RxJS · GitHub
- docs(MIGRATION): Add the section about renamed classes from RxJS 4. by saneyuki · Pull Request #1082 · ReactiveX/RxJS · GitHub
標準化とか
w3c/requestidlecallback
- Change requestIdleCallback type to unsigned long. by saneyuki · Pull Request #19 · w3c/requestidlecallback · GitHub
- specを読んでたら、IDLの型定義が無駄にlongだったんで、「spec上、unsigned longのほうが適当では?」というproposal。まあ、こんなのはtypoのレベルですね。
whatwg/html
- Change the retuned type of
requestAnimationFrame()
tounsigned long
. by saneyuki · Pull Request #97 · whatwg/html · GitHubrequestIdleCallback()
の件に関連して、editorのIlya Grigorikから「requestAnimationFrame()
を参考にして作ったから、一緒にそっちも直しておいてくれない?」みたいなことを言われて一緒に直しに行った.setTimeout()
/setInterval()
に関しては, 本当に0
からhandleが始まるのか歴史的なものもあってよくわからないのでノータッチ.- コミットログの横の文字数制限とか、色々面白かったです
es-observable proposal
- Fix typo in the section of
Observable.from
. by saneyuki · Pull Request #70 · zenparsing/es-observable · GitHub- はいはいタイポfixタイポfix
他
issue立てたりは他にも結構やった気がしますが、よく覚えてないので、まあいいや