コベリンの最近の取り組みとして、業務などで役立ちそうな知見を共有する会を開催することになりました。 そのついでに発表に使ったアジェンダもそのまま公開してしまおうという豪快な企画です。
※ アジェンダをそのままコピペして公開したものなので若干見にくい箇所もあるかもしれませんが、ご了承ください。
GitHubリポジトリの移譲 @takkumattsu
なんで移譲?forkでもいいんじゃない?
今回、元のリポジトリのオーナーごと消す予定だったのでforkだとプライベートリポジトリは元オーナーが消えると消えてしまうので移譲にしました
プライベートリポジトリへの個人のアクセス権を削除すると、そのプライベートリポジトリからその人が作成したフォークはすべて削除されます。 プライベートリポジトリのローカルクローンは残ります。 プライベートリポジトリへのTeamのアクセス権が削除されたり、プライベートリポジトリへのアクセス権を持つTeamが削除された場合、Teamのメンバーが他のTeamを通じてそのリポジトリへのアクセス権を持っていなければ、そのリポジトリのプライベートフォークは削除されます。
あとissueやprがそのまま残るもの〇
移譲する時にハマったこと
コベリンのリポジトリに移す時にコベリンはコラボレーターの枠がもう一杯だった
その状態で元のリポジトリにゲストユーザーがいたりするとそのゲストユーザーも招待した状態で移譲しようとするので一杯ですよとなって移譲できなかった
移譲する前に元のリポジトリのManage accessからコラボレーターを外してから移譲処理をしたらうまくいきました
移譲自体は Settings -> Options -> Danger Zone -> Transfer ownership から出来ます。
移行後
- 昔のリンクを踏むと新しいリンクにリダイレクトされる
#xxx
でリンクしているURLも移行後のものになっている
RxSwift @mironal
学ぶ上で最低限すること
公式の GettingStarted.md を読もう
- https://github.com/ReactiveX/RxSwift/blob/main/Documentation/GettingStarted.md
- 日本語翻訳してでもいいから読もう
- これすら読んでない人多すぎる問題
できれば Traits.md も読もう
- https://github.com/ReactiveX/RxSwift/blob/main/Documentation/Traits.md
- RxSwift 固有の便利な Traits
- なぜこれがあると便利なのか説明できるぐらいには理解しよう
- 説明中に
Can't error out.
とかObserve occurs on main scheduler.
とかShares side effects
とかあるのでこれを見て- Shares side effects ってなんのことだ? とか疑問を持ってさらに調べよう
とりあえずその辺で大丈夫.
RxSwift クイズ
- Hot/Cold is なに?
- Share してるのとしてないの何が違う?
- Reply しててもその値はいつまでキャッシュされる? 死ぬまで?
- DisposeBag って何? 開放されない長いライフサイクルのインスタンスは無限にメモリ食うの?
マーブルダイアルグラム読める?
- ○ と | と × の意味わかる?
- イベントは値(Next)、失敗(Error)、終了(Complete)が発生する
- Error 発生したときは Complete する?
Map のはまぁわかる http://reactivex.io/documentation/operators/map.html
FlatMap はややむずかしい?: http://reactivex.io/documentation/operators/flatmap.html
最初はマーブルダイアルグラムを読むだけで Operator の動作を理解するのは難しい。 いろいろ試してるうちにそういうことねってなる。
マーブルダイアルグラム頑張って読むより動かして確認しよう
そんなこんな
そんなこんなで難しいので小さく色々試して感覚で動作を掴んでいこう.
いつの間にか脳が Stream に対応するようになる。
簡単に RxSwift を試せるプロジェクトを作っておこう
時々あんな処理書きたいけど、これで自分の想像通りに動くの?的な確認を雑にしたい時がある。 でも、開発中のプロジェクトだと色々ごちゃごちゃ書かなくちゃいけなくて面倒なときが割とある. Stream ちょっといじるたびにビルド待つのがしんどい.
俺は
Observable.just(1) // いろいろ .subscribe(onNext: { print($0) })
的なレベルで確認したいんじゃ.
なので以下のように簡単な小さいプロジェクトを作っておいて、そっちで色々試すのが楽.
- Xcode で新しいプロジェクト作る(macos アプリにプロジェクト)
- carthage で RxSwift 入れる <- これなんかできなくなってた
- テスト実行するとエラーになるから泣きながら Cocoapods で入れよう
- ViewController.swift + print で色々試す
- テストターゲットで XCTest 作って実行するのも楽
※ 前に Playground 作ったりとか色々やったけど、とりあえずやるなら↑が一番早い.
地図読み @numa08
地形図が読めるようになると登山だけでなく街歩きも楽しくなるよ。
これだけは見つけたい
- コル
尾根の上にあるピークの部分。↑では1646
って書いてあるところ。ここに向かって傾斜があることがわかる。
- 尾根
山の稜線。↑の場合「黒岳」から左右に伸びている登山道が尾根沿いにある。等高線の向きを眺めて尾根、稜線を発見できるとルート作りやトラバースに役立つ
- 峠
尾根を横切る道のうち標高の低い部分、そこを通るルート。↑の地図だと登山道になっていないが、「黒岳」の左下の広葉樹林対や右下の針葉樹林帯