2020-03-22 第1回きまべんオンラインもくもく会
開催趣旨
新型コロナウイルスのご時世だしオンラインでなんか面白いことやりたい
3連休だし
テーマは自由です
勉強しても開発しても何でもOK!
開催期間
2020/03/22 (日) 10:00-18:00

日曜日ということは22日?

うわ、ありえん間違え!訂正しました!(2020/03/20になっていた)
参加方法
きまべんに参加 (*
はじめに 参照) している人なら期間中であれば自由に出入り可能

なるほど良さそう!

これ形式にしてよかったな〜
このページの「勉強中メモ」欄に各々メモを書いていく感じで進める
もくもく会感を出すために、各々が始める時に「やること宣言」し、終わった時に「やったこと」を書き残すことを推奨
やること宣言
Rails + Vue.js SPA の環境作りを調べて整えたい
13:00〜16:00まで開催されるので参加する
疲れ気味で頭が働かないのでやめておく
下みたいなブログを書いてコーディングチャレンジは
AtCoder ABCと
Codewarsだけにしておくと決めたばっかりだったのにもう方針ブレてるという
やめとこー
11時からUberEatsやってノルマ達成したら参加予定..(参加できないと消します)
やることは明日書きます。
Scrapboxでの同時編集でもくもく会は斬新!目標14時ごろ参加予定です。
Zoom 使ってやったりしてるとこもあるみたいですけど非同期コミュニケーションの方がやりやすいと思ったり
参戦 14:11
やること
勉強中メモ
始まった!やるぞー!!!!!

去年 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 の情報そんなに無いから逆に記事にしたらアウトプットとして良さそうだな〜
アウトプットの下地になるように意識して勉強メモ書いていこう
あ〜疲れてる
昨日から疲れてるばっか言ってる
ゆるいもくもく会なので休憩しっかりとりながらやってこー

ガンバッテー
読むと良さげな記事をまとめたところでいったん休憩
ヤンキー・インターンめっちゃ良かった
頭の疲れっぽいので昼食食べ終わったら
大濠公園でラジオ聴きつつ散歩してこよー

近くにこんな公園あるの羨ましい

大濠公園は最高の場所です
散歩終わった
今度は移動して友達のカフェに行く
友達のカフェ来たらいつもの常連がいて予想通り勉強どころじゃなくなった
しばらく閲覧モードにする
ゆるくやってこ
このまま 18:00 を迎えそう
まぁ皆さんの勉強見れたので大満足
もくもく会日にち間違えてた…
ので移した

おや?と思ってましたw
やる
buildメソッドの変更だとホットリロード走るけどプロパティの変更は当たり前かもだけどホットリロード走らないな
String interpolationで表示する画像を変えている時、プロパティの宣言がbuild methodの外だったら宣言時の値を変えてもホットリロードは走らない
アプリを作る中で型についての説明を行う章が12分ある
退屈。飛ばしたい。書籍と違って飛ばしてよいか確認するのに時間がかかるのが動画系のコンテンツの難点だと思う


あとからの参照性も悪いですよね〜

参照しづらいのも確かにそうですね
一通り読んで、試しにシミュレータにインストールしたアプリを削除したらインストールと起動ができた
セクション8
このセクションは講義じゃなくてこれまでの講義を踏まえて類似アプリを作る
セクション9
外部ライブラリを利用しながらアプリを作る
Flutter Pageckagesの利用法
Flutter Pageckages とは
昼間お出かけするので遅めの参加になりそうです

楽しんで!

楽しんでー
回復したらなんかやるぞー

つけ麺は月2杯のうちに入るんですか?🤔
actixのチュートリアルと実践Rust入門どっち進めようかな。
actixのほうは写経しててもよくわからんとなりがちなので(動くものはできて楽しいけど)、実践Rust入門のほうを進める。
なんかみんなRustやっててすごい。所有権とかさっぱりなので自分もはやく理解追いつきたい
実践Rust入門の第3章を、コードを写経しながら進めていく。
3-1. プログラムの概要
Rayonクレートというのを使って、
バイトニックソートというソートアルゴリズムを実装するらしい。
まず実装済みのやつを実行できるよとのことなのでソースコードを入手したい
cargo run --release --example benchmark -- 26
を実行した。
bashFinished 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)を見比べると、たしかにそのとおりになっていた

3-2. 並列ソートに適したバイトニックソート
> クイックソートの平均計算量は、要素数nの数列に対してO(nlogn)です。しかし要素の並び方によっては最悪でO(n^2)の計算量になることが知られています。一方でバイトニックソートは計算量がデータの要素数だけで決まるという特徴があり、常にO(nlogn)です。
とのこと。
> バイトニックソートには欠点もあります。それはデータの要素数が2のべき乗でないとソートできないことです。たとえば要素数が256個(2の8乗)や65,536個(2の16乗)のデータはソートできますが、要素数250個のデータはソートできません。
とのこと。
バイトニック列を作って、それに対して要素数1になるまでサブソートを繰り返すらしい
なんか難しそうな図が出てきた。

ソーシャルネットワークに空目してしまった。コンピュータ・サイエンスっすなー。

コンピュータ・サイエンスむずかしい〜。
Rustの本だけどPythonのサンプルで説明してくれるらしい。ありがたい。
Pythonのリスト、 list[開始インデックス:終了インデックス]
って書けるんだ。

スライシングって言って
list[:終了インデックス]
とかも書けますねー

なるほど〜便利ですね
難しい〜〜〜!!!
バイトニック列がまずあって、
[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時までだったので今日はもうおしまい!
コメダに着席した
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
したらエラーが消えた。

おそらく同じことで怒られました。
use minigrep::Config;
で分けたmoduleを使用できました。和訳されてる2nd Editionの通りにやっても動かなかった…

おっ、ありがとうございます!
なんか2018 Editionから変更があるみたいですね
TRPL日本語版は2018 Edition非対応とのこと🤔


わかりにくい時や困った時は翻訳ではなく英語版の方確認するのが良さそうですね
いったん帰宅しよ
昼寝した

気付いたら僕も昼寝してました。

昼寝できるもくもく会いいなぁ

わかる
再開!

12章終わった!minigrep完成!

やったー!ありがとう!
衝突判定のための陰関数
陰関数とはf(x, y, z) = 0 など右辺をブール値で表すもの?
陽関数はこれまでの y = ax^2 +b みたいなyをxで説明するようなもの?
例) 原点を中心とする球を表す場合 x^2 + y^2 + z^2 = 1 の様な陰関数になる
数学得意じゃないけど頑張るよ
休憩ちょっとする
昼寝から再開
バウンディングボリュームを作るメリット
軸に沿って配置されたシンプルな直方体は光線との交差判定がしやすいため、その直方体に交差した時のみ中にある複雑な形状に対する交差判定を行うことで計算を軽くする?
ちなみに、軸方向に整列したバウンディングボックスのことをAABB(Axially Aligned Bounding Box)と呼ぶらしい
各レンダラーでの交差判定について
腹が減って力が出ない(アンパンマンボイス)

バタコさん来てくれー
サンマルクカフェ着席。いつものコワーキングスペース、この時勢なのに大混雑で入れなかった。
hack-for-corona

issueを新たに2つ作成
test, test 自宅サーバにssh接続できない???えええ?
復活した。

よかった
昼寝をしたくなってきた。カフェから帰るかな。
場所を移動します。
移動完了。コワーキングスペースに来ました。電池なかったから充電場所確保!よかった。
なんか、中途半端なところで時間を迎えそう。とりあえず今の成果をmaster branchにマージしておくことにしよう。
やったこと
Ruby on Rails + Nuxt.js SPA 情報収集
イベントを主催して成功に導いた
成功と言っていいでしょう!

球の交差判定の復習
交差判定のプログラムをリファクタ (C++むずいよぉ)
master branchにマージした。本日の成果です↓↓↓

すごい有益だ..!

すごすぎる

Hack for Corona だ!

ありがとうございます。でも、神奈川県には一応東京都みたいに公式サイトもあります。わたしは、なにか別のアプローチを探しています。統計データだけでは命は救えません。マスク転売のメルカリサーバDDoS攻撃とか。

神奈川県の公式サイトだと、データは基本CSVで配布されてる感じなんですかね?見やすく可視化するのはすばらしいと思いました

神奈川県の公式サイトは東京都のサイトからcloneしているようですが、GitHubリポジトリがみつからず、情報が隠蔽されいるように見えます(3/22現在は)

一応オープンデータとして部分的には公開されています。でも、詳しい情報は各市町村が公開しているPDFという状況で、データが整理されていません。わたしもマニュアルで情報収集しています。
神奈川県の感染者数: 男性(43)/女性(26)、男女比2:1は明らかにやべえた。男性がかかりやすい??
オンラインもくもく会の感想
自分が書き込んでいるとき、他の人のカーソルが見えると、一人じゃない感があってとても良かった。
いつも自分のページに書き込んでるときとは少し違う感じがしておもしろかった
やること宣言 -> やったこと報告 という流れが良い感じ。いつもはメモとるだけなのでやった感があった。

たしかに!これ良い
これはもしかして、毎日やってもいいのでは?と思った。
個人ページとは別に、日付ページを作って、一人でやりたい人は個人ページに書けばよいし、みんなとワイワイやりたい人は日付ページのほうに書くみたいな。

良さそう!

こんな感じでどうでしょう!

良い!

Nice!
今回

さんがなんかすごいやる気を出している感がTwitterから伝わってきていたので、自分も少しの時間でも参加しようという気になった。

💪💪💪💪💪
1ページ内にいろんな人のアイコンとテキストがあるのは楽しい
楽しかったので自分もブログ書くぞ〜
みんなで勉強している感がとてもあった。
誰かが何をしているかをリアルタイムで確認できるからかも
通話もいいけど、このやり方だとより気軽に長い時間集中できる様な気がした。

わかる

同意です
randomとかでのコミュニケーションがもう少しあってもよかった
scrapboxで誰かが詰まってるのを見たときにそれについての解決策とかを議論できると学びが加速しそう
(議論など、文字数が必要で狭いトピックのものはslackでやってみるとか)

ふむふむ
日報的にやったことをまとめるのではなく、リアルタイムでログを残していくので、その時の思考とかも残しやすい
何より気軽にアウトプットできたのがよかった
最低限時間を決めて皆でやるのは刺激になって良い
同時編集で同じページに他の人がやってるのが見えるのでもくもく会に近い感覚
非同期に気が向いた時にコメントしたり教え合ったりできるのでコミュニケーションで疲れたりしないのが良いです

めっちゃわかります。
ブログに書こうと思います

いいっすね!

いいぞ!!!

ブログにしました

タイポ直したけどキャッシュの関係でしばらくそのまま。時間が経ったら反映されるはず。
せっかくなのできまべんの宣伝もしておいた

うおー、ついにきまべんがDevelopers.IOに!

テンション上げMAX!
定期的にやりたい
気軽に自由に休憩取れるのも良い
次は自分も散歩行こうかな
Scrapboxで同時編集でのもくもく会はとても面白い取り組み。

人類初の試みかも
次回は昼寝するほどの余裕がほしい。

昼寝で脱落者が出る感じゆるくていいっすねw
カーソルがいっぱいいて楽しい
人がやってるのを見ると自分も頑張ろって気持ちになる
昼寝したけど

人間はご飯食べると眠くなる生き物
ゆるくて良い
リアルタイムに人がいるとコミュニケーションが生まれて良かったので、決まった時間にやるのが大事なんだなと言う気持ち
気まぐれに勉強するタイプの
きまべんしかやってなかったので……

原点回帰大事
Scrapboxのユースケースとしてかなりいい感じなのでは、と思った
場所を選ばないのは最高
散歩に出たのはゆるい感じを出せて我ながらナイスプレーだと思った
もくもく会を開く目的って同じ場所に集まって連帯感を得るためだと思うのだけど、リアルタイムカーソルや非同期のコミュニケーションでオフラインに劣らない(むしろ優る?)連帯感を得られる
時間帯だけ指定して出入り自由にしたのは良かった