2020-03-22 第1回きまべんオンラインもくもく会
開催趣旨
新型コロナウイルスのご時世だしオンラインでなんか面白いことやりたい
3連休だし
テーマは自由です
勉強しても開発しても何でもOK!
開催期間
2020/03/22 (日) 10:00-18:00
tanabe.icon日曜日ということは22日?
tommy.icon うわ、ありえん間違え!訂正しました!(2020/03/20になっていた)
参加方法
きまべんに参加 (* はじめに 参照) している人なら期間中であれば自由に出入り可能 tommy.icon なるほど良さそう!
tommy.icon これ形式にしてよかったな〜
このページの「勉強中メモ」欄に各々メモを書いていく感じで進める
もくもく会感を出すために、各々が始める時に「やること宣言」し、終わった時に「やったこと」を書き残すことを推奨
やること宣言
Rails + Vue.js SPA の環境作りを調べて整えたい
13:00〜16:00まで開催されるので参加する
疲れ気味で頭が働かないのでやめておく
下みたいなブログを書いてコーディングチャレンジはAtCoder ABCとCodewarsだけにしておくと決めたばっかりだったのにもう方針ブレてるという やめとこー
11時からUberEatsやってノルマ達成したら参加予定..(参加できないと消します)
やることは明日書きます。
Scrapboxでの同時編集でもくもく会は斬新!目標14時ごろ参加予定です。
tommy.icon Zoom 使ってやったりしてるとこもあるみたいですけど非同期コミュニケーションの方がやりやすいと思ったり 参戦 14:11
やること
勉強中メモ
始まった!やるぞー!!!!! gaaamii.icon /icons/いいぞ!.icon
去年 Rails を学習した時は Rails + Vue.js での SPA の参考情報すごく少なかったのだけど今はどうかなぁ
ビルド関係が Rails は辛いって聞いた気がする
とりあえず rails new するところからかな?
そうだ、前回はバニラ Vue.js 使ったけどある程度慣れたので今度は Nuxt.js 使ってみようかな
とりあえず "rails nuxt site:reddit.com" で検索してみる
Rails も Nuxt.js (というか Vue.js) も海外では日本ほど人気がないからあんま引っかからなかった
この組み合わせだと日本語の情報を探したほうがいいかもなー
いきなり移植じゃなくて情報参考にしつつサンプルプロジェクト作ってみようかな
1 repo vs. 2 repos は 1 repo の方が分かりやすいとのこと
Rails + Nuxt.js SPA の情報そんなに無いから逆に記事にしたらアウトプットとして良さそうだな〜
アウトプットの下地になるように意識して勉強メモ書いていこう
あ〜疲れてる
昨日から疲れてるばっか言ってる
ゆるいもくもく会なので休憩しっかりとりながらやってこー
maicine.iconガンバッテー
読むと良さげな記事をまとめたところでいったん休憩
ヤンキー・インターンめっちゃ良かった
頭の疲れっぽいので昼食食べ終わったら大濠公園でラジオ聴きつつ散歩してこよー https://gyazo.com/86655924549c697cadb0ab1880a4e8da
gaaamii.icon 近くにこんな公園あるの羨ましい
tommy.icon 大濠公園は最高の場所です
散歩終わった
今度は移動して友達のカフェに行く
友達のカフェ来たらいつもの常連がいて予想通り勉強どころじゃなくなった
しばらく閲覧モードにする
ゆるくやってこ
このまま 18:00 を迎えそう
まぁ皆さんの勉強見れたので大満足
もくもく会日にち間違えてた…
ので移した
tommy.icon おや?と思ってましたw
やる
buildメソッドの変更だとホットリロード走るけどプロパティの変更は当たり前かもだけどホットリロード走らないな
String interpolationで表示する画像を変えている時、プロパティの宣言がbuild methodの外だったら宣言時の値を変えてもホットリロードは走らない
アプリを作る中で型についての説明を行う章が12分ある
退屈。飛ばしたい。書籍と違って飛ばしてよいか確認するのに時間がかかるのが動画系のコンテンツの難点だと思う tommy.icon /icons/たしかに.icon
tommy.icon あとからの参照性も悪いですよね〜
tanabe.icon参照しづらいのも確かにそうですね
一通り読んで、試しにシミュレータにインストールしたアプリを削除したらインストールと起動ができた
セクション8
このセクションは講義じゃなくてこれまでの講義を踏まえて類似アプリを作る
セクション9
外部ライブラリを利用しながらアプリを作る
Flutter Pageckagesの利用法
Flutter Pageckages とは
昼間お出かけするので遅めの参加になりそうです
tommy.icon 楽しんで!
maicine.icon楽しんでー
gaaamii.icon 近くの公園で桜を見て、つけ麺を食べて帰ってきました。食べすぎて苦しい tommy.icon /icons/よさそう.icon
回復したらなんかやるぞー
tommy.icon つけ麺は月2杯のうちに入るんですか?🤔
gaaamii.icon入ります!! tommy.icon /icons/erai.icon
gaaamii.icon VSCodeでつかえるデバッガーですね。 tommy.icon /icons/なるほど.icon
actixのチュートリアルと実践Rust入門どっち進めようかな。
actixのほうは写経しててもよくわからんとなりがちなので(動くものはできて楽しいけど)、実践Rust入門のほうを進める。
なんかみんなRustやっててすごい。所有権とかさっぱりなので自分もはやく理解追いつきたい
実践Rust入門の第3章を、コードを写経しながら進めていく。
3-1. プログラムの概要
Rayonクレートというのを使って、バイトニックソートというソートアルゴリズムを実装するらしい。 まず実装済みのやつを実行できるよとのことなのでソースコードを入手したい
cargo run --release --example benchmark -- 26 を実行した。
code:bash
Finished release optimized target(s) in 0.02s Running target/release/examples/benchmark 26
sorting 67108864 integers (256.0 MB)
cpu info: 2 physical cores, 4 logical cores
seq_sort: sorted 67108864 integers in 29.813275032 seconds
par_sort: sorted 67108864 integers in 19.878469499 seconds
speed up: 1.50x
プログラムが見積もったデータが占めるメモリの大きさ(256.0 MB)と、topコマンドが示すMEM列の値(257M)を見比べると、たしかにそのとおりになっていた /icons/よさそう.icon
https://gyazo.com/39c76715213eb32e7e45e406ef4e6c75
3-2. 並列ソートに適したバイトニックソート
クイックソートの平均計算量は、要素数nの数列に対してO(nlogn)です。しかし要素の並び方によっては最悪でO(n^2)の計算量になることが知られています。一方でバイトニックソートは計算量がデータの要素数だけで決まるという特徴があり、常にO(nlogn)です。
とのこと。
バイトニックソートには欠点もあります。それはデータの要素数が2のべき乗でないとソートできないことです。たとえば要素数が256個(2の8乗)や65,536個(2の16乗)のデータはソートできますが、要素数250個のデータはソートできません。
とのこと。
バイトニック列を作って、それに対して要素数1になるまでサブソートを繰り返すらしい
なんか難しそうな図が出てきた。
tommy.icon ソーシャルネットワークに空目してしまった。コンピュータ・サイエンスっすなー。
gaaamii.icon コンピュータ・サイエンスむずかしい〜。
Rustの本だけどPythonのサンプルで説明してくれるらしい。ありがたい。
Pythonのリスト、list[開始インデックス:終了インデックス]って書けるんだ。
tommy.icon スライシングって言ってlist[:終了インデックス]とかも書けますねー
gaaamii.icon なるほど〜便利ですね
難しい〜〜〜!!!
バイトニック列がまずあって、
[1, 3, 5, 6, 8, 7, 4, 2]
そいつを前半1つめ:後半1つめ, 前半2つめ:後半2つめ ... みたいな感じで比較して交換する
で、交換が終わって、
[1, 3, 4, 2, 8, 7, 5, 6]
半分に切ると
[1, 3, 4, 2] [8, 7, 5, 6]
すると、それぞれがバイトニック列になっていることが分かる
って書いてあるけど、2は4より小さいからバイトニック列じゃないのでは...?
わからない!休憩する。というか18時までだったので今日はもうおしまい!
コメダに着席した
TRPL12章から読んでいく tommy.icon /icons/いいぞ!.icon TRPLの記載ではピンとこなかったけど、read_to_stringを使うためにuse std::io::prelude::*;がいるのか。
std::io::prelude::*がエクスポートしてるstd::io::Readトレイトのメソッドなので
バイナリクレートとライブラリクレートを分けるところでVSCodeが'can't find crate'って言うので何かと思ったらRLSに問題があったみたい(古かった?のかな?)
VSCode上からUpdate the RLSとRestart the RLSしたらエラーが消えた。
tanabe.iconおそらく同じことで怒られました。use minigrep::Config;で分けたmoduleを使用できました。和訳されてる2nd Editionの通りにやっても動かなかった…
hem6.iconおっ、ありがとうございます!
なんか2018 Editionから変更があるみたいですね
TRPL日本語版は2018 Edition非対応とのこと🤔 tommy.icon /icons/つらい.icon tanabe.iconわかりにくい時や困った時は翻訳ではなく英語版の方確認するのが良さそうですね
いったん帰宅しよ
昼寝した
maicine.icon気付いたら僕も昼寝してました。
tommy.icon 昼寝できるもくもく会いいなぁ
gaaamii.icon わかる
再開! tommy.icon /icons/いいぞ!.icon
12章終わった!minigrep完成!
maicine.iconおめでとう! tommy.icon /icons/めでたい.icon
hem6.iconやったー!ありがとう!
maicine.icon
衝突判定のための陰関数
陰関数とはf(x, y, z) = 0 など右辺をブール値で表すもの?
陽関数はこれまでの y = ax^2 +b みたいなyをxで説明するようなもの?
例) 原点を中心とする球を表す場合 x^2 + y^2 + z^2 = 1 の様な陰関数になる
数学得意じゃないけど頑張るよ
tanabe.icon/icons/いいぞ!.icon tommy.icon /icons/いいぞ!.icon
休憩ちょっとする
昼寝から再開
バウンディングボリュームを作るメリット
軸に沿って配置されたシンプルな直方体は光線との交差判定がしやすいため、その直方体に交差した時のみ中にある複雑な形状に対する交差判定を行うことで計算を軽くする?
ちなみに、軸方向に整列したバウンディングボックスのことをAABB(Axially Aligned Bounding Box)と呼ぶらしい
各レンダラーでの交差判定について
腹が減って力が出ない(アンパンマンボイス) tommy.icon バタコさん来てくれー
サンマルクカフェ着席。いつものコワーキングスペース、この時勢なのに大混雑で入れなかった。
hack-for-corona tommy.icon /icons/いいぞ!.icon
issueを新たに2つ作成
test, test 自宅サーバにssh接続できない???えええ?
復活した。 tommy.icon よかった
昼寝をしたくなってきた。カフェから帰るかな。
場所を移動します。
移動完了。コワーキングスペースに来ました。電池なかったから充電場所確保!よかった。
なんか、中途半端なところで時間を迎えそう。とりあえず今の成果をmaster branchにマージしておくことにしよう。
やったこと
Ruby on Rails + Nuxt.js SPA 情報収集
イベントを主催して成功に導いた
成功と言っていいでしょう! gaaamii.icon /icons/いいぞ!.icon
gaaamii.icon
tanabe.icon
maicine.icon
球の交差判定の復習
交差判定のプログラムをリファクタ (C++むずいよぉ)
tsu-nera.icon
master branchにマージした。本日の成果です↓↓↓
gaaamii.icon すごい有益だ..!
tanabe.iconすごすぎる
tommy.icon Hack for Corona だ!
tsu-nera.iconありがとうございます。でも、神奈川県には一応東京都みたいに公式サイトもあります。わたしは、なにか別のアプローチを探しています。統計データだけでは命は救えません。マスク転売のメルカリサーバDDoS攻撃とか。
gaaamii.icon 神奈川県の公式サイトだと、データは基本CSVで配布されてる感じなんですかね?見やすく可視化するのはすばらしいと思いました
tsu-nera.icon神奈川県の公式サイトは東京都のサイトからcloneしているようですが、GitHubリポジトリがみつからず、情報が隠蔽されいるように見えます(3/22現在は)
tsu-nera.icon一応オープンデータとして部分的には公開されています。でも、詳しい情報は各市町村が公開しているPDFという状況で、データが整理されていません。わたしもマニュアルで情報収集しています。
神奈川県の感染者数: 男性(43)/女性(26)、男女比2:1は明らかにやべえた。男性がかかりやすい??
gaaamii.icon /icons/erai.icon tommy.icon /icons/erai.icon
オンラインもくもく会の感想
gaaamii.icon
自分が書き込んでいるとき、他の人のカーソルが見えると、一人じゃない感があってとても良かった。
いつも自分のページに書き込んでるときとは少し違う感じがしておもしろかった
tommy.icon tanabe さんのアイデアのおかげ! やること宣言 -> やったこと報告 という流れが良い感じ。いつもはメモとるだけなのでやった感があった。
hem6.iconたしかに!これ良い
これはもしかして、毎日やってもいいのでは?と思った。
個人ページとは別に、日付ページを作って、一人でやりたい人は個人ページに書けばよいし、みんなとワイワイやりたい人は日付ページのほうに書くみたいな。
tommy.icon /icons/よさそう.icon
tanabe.icon良さそう!
gaaamii.icon https://gyazo.com/ce50ff13a103a197f37fbfbcdcbc2adb
gaaamii.icon こんな感じでどうでしょう!
tanabe.icon良い! tommy.icon Nice!
今回tommy.iconさんがなんかすごいやる気を出している感がTwitterから伝わってきていたので、自分も少しの時間でも参加しようという気になった。
tommy.icon 💪💪💪💪💪
1ページ内にいろんな人のアイコンとテキストがあるのは楽しい
楽しかったので自分もブログ書くぞ〜
tommy.icon /icons/いいぞ!.icon
tanabe.icon/icons/いいぞ!.icon tommy.icon /icons/いいぞ!.icon /icons/いいぞ!.icon
maicine.icon
みんなで勉強している感がとてもあった。
誰かが何をしているかをリアルタイムで確認できるからかも
通話もいいけど、このやり方だとより気軽に長い時間集中できる様な気がした。
tanabe.icon/icons/わかる.icon
gaaamii.icon わかる
tommy.icon 同意です
randomとかでのコミュニケーションがもう少しあってもよかった
scrapboxで誰かが詰まってるのを見たときにそれについての解決策とかを議論できると学びが加速しそう
(議論など、文字数が必要で狭いトピックのものはslackでやってみるとか)
tommy.icon ふむふむ
日報的にやったことをまとめるのではなく、リアルタイムでログを残していくので、その時の思考とかも残しやすい
何より気軽にアウトプットできたのがよかった
tanabe.icon
最低限時間を決めて皆でやるのは刺激になって良い
同時編集で同じページに他の人がやってるのが見えるのでもくもく会に近い感覚
非同期に気が向いた時にコメントしたり教え合ったりできるのでコミュニケーションで疲れたりしないのが良いです
gaaamii.icon めっちゃわかります。
ブログに書こうと思います
maicine.iconいいっすね!
gaaamii.icon /icons/いいぞ!.icon
tsu-nera.iconいいぞ!!!
tommy.icon /icons/いいぞ!.icon
tanabe.iconブログにしました
tanabe.iconタイポ直したけどキャッシュの関係でしばらくそのまま。時間が経ったら反映されるはず。
せっかくなのできまべんの宣伝もしておいた
gaaamii.icon うおー、ついにきまべんがDevelopers.IOに!
tommy.icon テンション上げMAX!
定期的にやりたい
気軽に自由に休憩取れるのも良い
次は自分も散歩行こうかな
tsu-nera.icon
Scrapboxで同時編集でのもくもく会はとても面白い取り組み。
maicine.icon人類初の試みかも
次回は昼寝するほどの余裕がほしい。
tommy.icon 昼寝で脱落者が出る感じゆるくていいっすねw
hem6.icon
カーソルがいっぱいいて楽しい
人がやってるのを見ると自分も頑張ろって気持ちになる
昼寝したけど
maicine.icon人間はご飯食べると眠くなる生き物
ゆるくて良い
リアルタイムに人がいるとコミュニケーションが生まれて良かったので、決まった時間にやるのが大事なんだなと言う気持ち
気まぐれに勉強するタイプのきまべんしかやってなかったので…… gaaamii.icon /icons/わかる.icon
tanabe.icon/icons/わかる.icon
tommy.icon 原点回帰大事
tommy.icon
Scrapboxのユースケースとしてかなりいい感じなのでは、と思った
場所を選ばないのは最高
散歩に出たのはゆるい感じを出せて我ながらナイスプレーだと思った
もくもく会を開く目的って同じ場所に集まって連帯感を得るためだと思うのだけど、リアルタイムカーソルや非同期のコミュニケーションでオフラインに劣らない(むしろ優る?)連帯感を得られる
時間帯だけ指定して出入り自由にしたのは良かった