2020-03-22 第1回きまべんオンラインもくもく会
開催趣旨
新型コロナウイルスのご時世だしオンラインでなんか面白いことやりたい
3連休だし
もくもく会とかいいんじゃない?というイベント
テーマは自由です
勉強しても開発しても何でもOK!
開催期間
2020/03/22 (日) 10:00-18:00
tanabe.icon日曜日ということは22日?
tommy.icon うわ、ありえん間違え!訂正しました!(2020/03/20になっていた)
参加方法
きまべんに参加 (* はじめに 参照) している人なら期間中であれば自由に出入り可能
このページのタグ (2020-03-22 第1回きまべんオンラインもくもく会) をつけて普段どおり各自のページに勉強を記録する
tanabe.iconページのタグつけるのも良いですが、2020-03-22 第1回きまべんオンラインもくもく会のページに各自メモを書いていくとリアルタイムに編集されてるの見えてもくもく会感でる気がしました
tommy.icon なるほど良さそう!
tommy.icon これ形式にしてよかったな〜
このページの「勉強中メモ」欄に各々メモを書いていく感じで進める
もくもく会感を出すために、各々が始める時に「やること宣言」し、終わった時に「やったこと」を書き残すことを推奨
1000ページ突破記念!平成→令和10連休きまべんの時みたいにこのページに書く欄を用意している
やること宣言
tommy.icon tommy
PathfindのLaravel API層をRailsに移植する準備
Rails + Vue.js SPA の環境作りを調べて整えたい
Kick Start
13:00〜16:00まで開催されるので参加する
疲れ気味で頭が働かないのでやめておく
下みたいなブログを書いてコーディングチャレンジはAtCoder ABCとCodewarsだけにしておくと決めたばっかりだったのにもう方針ブレてるという
競技プログラミング、広く言うとコーディングチャレンジとの付き合い方について考えた - It's okay to be weird
やめとこー
tanabe.icontanabe
The Complete 2020 Flutter Development Bootcamp with Dart | Udemy残り終わらせる
gaaamii.icon gaaamii
actixのチュートリアル( https://actix.rs/docs/getting-started/ )を進めるぞ
tsu-nera.icontsu-nera
11時からUberEatsやってノルマ達成したら参加予定..(参加できないと消します)
やることは明日書きます。
Scrapboxでの同時編集でもくもく会は斬新!目標14時ごろ参加予定です。
tommy.icon Zoom 使ってやったりしてるとこもあるみたいですけど非同期コミュニケーションの方がやりやすいと思ったり
参戦 14:11
やること
神奈川県のコロナ感染者のデータ分析(https://github.com/tsu-nera/hack-for-corona/issues/4)
3/20仮想通貨トレードの分析(https://github.com/tsu-nera/bakuchi/issues/142)
hem6.iconhem6
TRPLざっと読む
maicine.iconmaicine
レイトレーシング入門の続き(https://qiita.com/mebiusbox2/items/89e2db3b24e4c39502fe) tommy.icon /icons/よさそう.iconhem6.icon/icons/いいぞ!.icon
勉強中メモ
tommy.icon tommy
始まった!やるぞー!!!!! gaaamii.icon /icons/いいぞ!.icon
Pathfind 触るの超久しぶり
去年 Rails を学習した時は Rails + Vue.js での SPA の参考情報すごく少なかったのだけど今はどうかなぁ
ビルド関係が Rails は辛いって聞いた気がする
ビルドというか Webpacker か
Laravel は Laravel Mix っていう便利機能があるからなぁ
とりあえず rails new するところからかな?
そうだ、前回はバニラ Vue.js 使ったけどある程度慣れたので今度は Nuxt.js 使ってみようかな
とりあえず "rails nuxt site:reddit.com" で検索してみる
Rails も Nuxt.js (というか Vue.js) も海外では日本ほど人気がないからあんま引っかからなかった
この組み合わせだと日本語の情報を探したほうがいいかもなー
いきなり移植じゃなくて情報参考にしつつサンプルプロジェクト作ってみようかな
GraphQL もよく耳にするので使ってみたい感ある
How to separate frontend + backend with Rails API, Nuxt.js and Devise-JWT
Rails API っていうのがあるのか
Splitting MVC into rails api and vue.js : rails
1 repo vs. 2 repos は 1 repo の方が分かりやすいとのこと
Rails + Nuxt.js SPA の情報そんなに無いから逆に記事にしたらアウトプットとして良さそうだな〜
アウトプットの下地になるように意識して勉強メモ書いていこう
Rails apiとNuxt.jsでSPA開発 - 独学プログラマ
Nuxt.js + GraphQL + Ruby on Railsで作るToDoアプリチュートリアル(前編) - Fusic Tech Blog
福岡のイケイケ企業 Fusic じゃん
実際のサービスをRails+Vue.js(Single File Components)を用いてSPAへリファクタリングした話 · カウル Tech Blog
MyFirstRails #5 RailsとVue.jsでSPAを作ってみよう! - Qiita
あ〜疲れてる
昨日から疲れてるばっか言ってる
ゆるいもくもく会なので休憩しっかりとりながらやってこー
maicine.iconガンバッテー
読むと良さげな記事をまとめたところでいったん休憩
ドキュメント72時間でも観て癒やされるか
ヤンキー・インターンめっちゃ良かった
頭の疲れっぽいので昼食食べ終わったら大濠公園でラジオ聴きつつ散歩してこよー
https://gyazo.com/86655924549c697cadb0ab1880a4e8da
gaaamii.icon 近くにこんな公園あるの羨ましい
tommy.icon 大濠公園は最高の場所です
散歩終わった
今度は移動して友達のカフェに行く
友達のカフェ来たらいつもの常連がいて予想通り勉強どころじゃなくなった
しばらく閲覧モードにする
ゆるくやってこ
このまま 18:00 を迎えそう
まぁ皆さんの勉強見れたので大満足
tanabe.icontanabe
もくもく会日にち間違えてた…
ので移した
tommy.icon おや?と思ってましたw
The Complete 2020 Flutter Development Bootcamp with Dart | Udemy
やる
buildメソッドの変更だとホットリロード走るけどプロパティの変更は当たり前かもだけどホットリロード走らないな
String interpolationで表示する画像を変えている時、プロパティの宣言がbuild methodの外だったら宣言時の値を変えてもホットリロードは走らない
アプリを作る中で型についての説明を行う章が12分ある
退屈。飛ばしたい。書籍と違って飛ばしてよいか確認するのに時間がかかるのが動画系のコンテンツの難点だと思う tommy.icon /icons/たしかに.icon
tommy.icon あとからの参照性も悪いですよね〜
tanabe.icon参照しづらいのも確かにそうですね
flutter install fails against android emulator · Issue #8824 · flutter/flutter
一通り読んで、試しにシミュレータにインストールしたアプリを削除したらインストールと起動ができた
セクション8
このセクションは講義じゃなくてこれまでの講義を踏まえて類似アプリを作る
セクション9
外部ライブラリを利用しながらアプリを作る
Flutter Pageckagesの利用法
Flutter Pageckages とは
audioplayers | Flutter Package
gaaamii.icon gaaamii
昼間お出かけするので遅めの参加になりそうです
tommy.icon 楽しんで!
maicine.icon楽しんでー
gaaamii.icon 近くの公園で桜を見て、つけ麺を食べて帰ってきました。食べすぎて苦しい tommy.icon /icons/よさそう.icon
回復したらなんかやるぞー
tommy.icon つけ麺は月2杯のうちに入るんですか?🤔
gaaamii.icon入ります!! tommy.icon /icons/erai.icon
実践Rust入門 言語仕様から開発手法までをちょっと読んで、CodelldbをVSCodeに入れた。 tommy.icon /icons/いいぞ!.icon
tommy.icon Codelldb、デバッガー系の何かかな?Elmといいデバッグ環境は大事ですねー
gaaamii.icon VSCodeでつかえるデバッガーですね。 tommy.icon /icons/なるほど.icon
hem6.icon/icons/気になる.icon実践Rust入門 言語仕様から開発手法までよさそう
actixのチュートリアルと実践Rust入門どっち進めようかな。
actixのほうは写経しててもよくわからんとなりがちなので(動くものはできて楽しいけど)、実践Rust入門のほうを進める。
なんかみんなRustやっててすごい。所有権とかさっぱりなので自分もはやく理解追いつきたい
実践Rust入門の第3章を、コードを写経しながら進めていく。
3-1. プログラムの概要
Rayonクレートというのを使って、バイトニックソートというソートアルゴリズムを実装するらしい。
まず実装済みのやつを実行できるよとのことなのでソースコードを入手したい
https://github.com/ghmagazine/rustbook これか。
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時までだったので今日はもうおしまい!
hem6.iconhem6
コメダに着席した
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の通りにやっても動かなかった…
tanabe.iconhttps://github.com/Nabeatsu/minigrep/blob/master/src/main.rs
hem6.iconおっ、ありがとうございます!
なんか2018 Editionから変更があるみたいですね
Rustのモジュールの使い方 2018 Edition版 | κeenのHappy Hacκing Blog
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)と呼ぶらしい
各レンダラーでの交差判定について
https://pheema.hatenablog.jp/entry/ray-triangle-intersection
腹が減って力が出ない(アンパンマンボイス) tommy.icon バタコさん来てくれー
tsu-nera.icontsu-nera
サンマルクカフェ着席。いつものコワーキングスペース、この時勢なのに大混雑で入れなかった。
hack-for-corona tommy.icon /icons/いいぞ!.icon
issueを新たに2つ作成
川崎市に特化したコロナ速報やニュース、話題をつぶやくTwitterBotの作成 · Issue #7 · tsu-nera/hack-for-corona
csvデータ取得コマンド作成 · Issue #6 · tsu-nera/hack-for-corona
test, test 自宅サーバにssh接続できない???えええ?
復活した。 tommy.icon よかった
昼寝をしたくなってきた。カフェから帰るかな。
場所を移動します。
移動完了。コワーキングスペースに来ました。電池なかったから充電場所確保!よかった。
なんか、中途半端なところで時間を迎えそう。とりあえず今の成果をmaster branchにマージしておくことにしよう。
やったこと
tommy.icon tommy
Ruby on Rails + Nuxt.js SPA 情報収集
なんの成果も!!得られませんでした!!に近いw
イベントを主催して成功に導いた
成功と言っていいでしょう! gaaamii.icon /icons/いいぞ!.icon
gaaamii.icon
CodelldbをVSCodeに入れた
https://github.com/ghmagazine/rustbook をgit cloneした
バイトニックソートについて学んだ
tanabe.icon
The Complete 2020 Flutter Development Bootcamp with Dart | Udemyセクション7からセクション9の途中まで終わり
maicine.icon
レイトレーシング入門の続きをった https://qiita.com/mebiusbox2/items/89e2db3b24e4c39502fe
球の交差判定の復習
交差判定のプログラムをリファクタ (C++むずいよぉ)
tsu-nera.icon
神奈川県コロナ感染者分析( https://github.com/tsu-nera/hack-for-corona/pull/5 )
master branchにマージした。本日の成果です↓↓↓
https://nbviewer.jupyter.org/github/tsu-nera/hack-for-corona/blob/master/notebooks/kanagawa-corona.ipynb
gaaamii.icon すごい有益だ..!
tanabe.iconすごすぎる
tommy.icon Hack for Corona だ!
tsu-nera.iconありがとうございます。でも、神奈川県には一応東京都みたいに公式サイトもあります。わたしは、なにか別のアプローチを探しています。統計データだけでは命は救えません。マスク転売のメルカリサーバDDoS攻撃とか。
gaaamii.icon 神奈川県の公式サイトだと、データは基本CSVで配布されてる感じなんですかね?見やすく可視化するのはすばらしいと思いました
tsu-nera.icon神奈川県の公式サイトは東京都のサイトからcloneしているようですが、GitHubリポジトリがみつからず、情報が隠蔽されいるように見えます(3/22現在は)
gaaamii.icon なるほど。これですか https://www.pref.kanagawa.jp/osirase/1369/ リポジトリ公開されてないのは残念ですね
tsu-nera.icon一応オープンデータとして部分的には公開されています。でも、詳しい情報は各市町村が公開しているPDFという状況で、データが整理されていません。わたしもマニュアルで情報収集しています。
https://www.pref.kanagawa.jp/dst/index.html
神奈川県の感染者数: 男性(43)/女性(26)、男女比2:1は明らかにやべえた。男性がかかりやすい??
hem6.iconhem6
TRPL12章を読んで手元で動かした!
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
gaaamii.icon 書きました:https://shgam.hatenadiary.jp/entry/2020/03/22/200559
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ブログにしました
https://dev.classmethod.jp/articles/report_mokumoku_using_scrapbox/
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のユースケースとしてかなりいい感じなのでは、と思った
場所を選ばないのは最高
散歩に出たのはゆるい感じを出せて我ながらナイスプレーだと思った
もくもく会を開く目的って同じ場所に集まって連帯感を得るためだと思うのだけど、リアルタイムカーソルや非同期のコミュニケーションでオフラインに劣らない(むしろ優る?)連帯感を得られる
時間帯だけ指定して出入り自由にしたのは良かった
2020-03-22 オンラインもくもく会