generated at
Day1 質問・雑談コーナー (2021)

Scrapbox上でYoutube live見れるの便利だ
LIveが終わると、そのままarchiveへのリンクになるのか。なるほど

20:10-20:30の質疑応答コーナーでこちらのページに質問を書き込んでいただけるとrakusai yuiseki akixがお答えします!
登壇中、登壇者のスライドに直接コメントしてもOKですnyanco

アクセスすると {"name":"NotMemberError","message":"You are not a member."} が返ってきます
ご指摘ありがとうございます!akix
今、画像2件を置き換えてみたのですが、見えてますでしょうか?akix2021/3/9 19:09
見えました!感謝です!takker
ありがとうございます!🎉akix

雑談とか Day1 (2021)にもかいていただいてるっぽいnyanco
ホントだ!
雑談ばっかり見てた... 増井俊之
質問コーナー、だと質問じゃないことは書きづらい感じがあるので、何でも書けるようなページがあるといいですよねyosider
たしかに。質問・雑談コーナーとかの方がよかったのかもshokai

Scrapbox儲かってますか?yosider
儲かっていてほしい
無料でフルアクセスできると逆に不安になってしまう現象があるmtane0412
外国の人がScrapboxめちゃくちゃ気に入ってくれたけど収益面はやっぱり気になってて、情報ここにストックするのにちょっと不安がってた
それはすみません。もうちょっと安定感があるように見せていきたいですねrakusai
実際は、収益だけでなくアクセスも伸びていて、nota tech confでのshokaiの話も、scrapboxのスケーラビリティの確保の話になると思います
エクスポートはできます
大事yosider
帳簿の見方よくわかってないけど、インフラコストの10倍ぐらい売り上げあるのですぐサービスが消える事はないと思いますshokai
scrapboxにはいつもお世話になっているので、ありがたいことでございますimoyosidererniogifoldrrmtane0412yamanokutakkermactkg
まぁ調達もしましたしね 増井俊之
儲かってます!rakusai
サブスクリプション売上は、この5年で10倍以上になっています
すごいmtane0412karupanerurayosidernagayamaerniogiyamanokutakker
かつ、黒字化しています
そこが評価されてのツールを売っている会社が、リモートオンリーで5億円調達した話ですね。今日触れなくてすみません
コロナ禍も追い風になっています(そんなに強調するつもりはないですが)
実は、売上に伴って採用も増えていて、絶対数は多くないですが、現メンバーの半分はこの2年以内に入ってきた人かも

モックアップ作るのはSandbox環境とかある感じですか?yamanoku
モックアップはフルスクラッチで作っていただいていますyuiseki
ご回答ありがとうございます!yamanoku
デザイナーさんが作っている感じなんですねyamanoku
UIの振る舞いに限っていえばデザイナーがやることは多いんですが、機能の提案や実際のデータを伴う検証に関しては皆がモックアップに参加してますtakeru
なるほどなるほどyamanoku
UIの振る舞い については餅は餅屋ですねyamanoku

GCSってことはGCPで稼働していると思うのですがDatastore(Firestore)を使わずに(自前で?)Mongo DBを運用しているのは何か理由があるのでしょうか?karupanerura
「運用できるなら」という条件がつくけど Mongo のほうが Firestore より楽じゃねssig33
MongoDBの運用がそもそも大変じゃないかなと思っていて、それならFirestore向けにEntityを設計したほうが楽そうな印象karupanerura
hiroshi MongoDB サーバー運用たしかにめんどくさいですね。 MongoDB Atlas が GCP でも local SSD 対応したら移行したい...
hiroshi Firestore よく知らなくて (Firebase ならわかりますが) Datastore も古い App Engine のときの知識ですが、 Mongo みたいな複雑なクエリ (aggregation とかも)できなくて index 組み合わせとかいろいろ制限があったりとか、何より Google にロックインされちゃうのがキビシイ感じですね
個人的にはDBはなにつかってもその製品にロックインされるのであまり気にしなくなりました。複雑なクエリが打てないのはそうで、代わりにアプリケーション側でやったり、トリガで集計したりする感じになりますねkarupanerura
Firestoreはたしかに、高速性に過剰に振っているのでアプリケーション側で頑張る事が多いですねyuiseki
GCPに行く前からGyazoはmongoでやっていたので、特に移行する理由がなかったのかもshokai
なるほど。GCPにはどこかから移管したんですねkarupanerura
AWSでしたshokai
スキーマレスDBの治安を維持するため、mongoidをつかっているyuiseki
ありがとうございます!mongoid便利そうでよさそうですねkarupanerura
Firestoreだとcache周りがめんどくさいですtakker
自分が調べた範囲ですが、単純なcache機能しか使えなさそうでした
自分が使っていた範囲だとGAEから使っていたからかレイテンシーはほとんど気にならずキャッシュなしで十分なパフォーマンスが出ていてキャッシュはあまり考えなくてよかったですねkarupanerura
なるほど
service workerで全てのfetchを横取りして、networkから取得するかcacheから取得するかを細かく制御するのは実装が難しそうです
Reactを使っている場合、SWRなどの概念を取り入れると破滅が防げるらしいですyuiseki

議論が開発メンバー全員集まって通話してるとのことですが、ファシリテーションはどうやって、どういう感じで各自発言するタイミングとか設けてたりとかしてますか
質問の意図としてはリモートでどうやって議論が終結させるのかが気になった
事前にScrapbox上に議題を書いてもらいますyuiseki
アナウンス
進捗
相談・議論
カーソルがぶつかり合ったりしませんか?yosider
定例会議のアジェンダは、先に入力欄をテンプレとして作ってしまうのがコツですyuiseki
アナウンス
ひとつめ
ふたつめ
進捗
Aさん
abc
Bさん
abc
Cさん
abc
相談・議論
相談ひとつめ
相談ふたつめ
etc...
それぞれがそれぞれ関係ある場所に書き込む感じかyosider
ありがとうございます
勉強になりましたyamanoku

Mongoとかのドキュメント突っ込む系DB、モデルの更新タイミングによってキーがあったり無かったりしてハンドリングが大変そうなイメージがあるんですがそうでも無いですか?niboshi
スキーマの更新やマイグレーションに時間がかからないので、むしろモデル更新は楽かも?rakusai
ただし、古いデータが残ったりするようなバグを生む怖さはちょっとありますね
なるほど!V1ではこのキーあったけどV2で一旦無くなってV3でちょっとフォーマット変えて復活したんだよな〜みたいになってくると、モデルの歴史を知らなきゃいけなくて大変かも?と思って質問しました。niboshi
その場合は、そうですね。rakusai
あと、最近だと、異なるバージョンを同時にリリースしたり、リリース後、リバートしたりすることも多いですね。rakusai
↑の例だと、V1とV2が両方リリースされているような状態とか。V1からV2にゆるやかにデプロイされていくパターンとか
それはめちゃめちゃややこしそうですね...異なるバージョンで同じリソース触りはじめるとわけわからなりそうですniboshi
はい。rakusai
Gyazoだと昔の経験では、DBサイズが1000万行、50GBとか超えてくるとスキーマ変更はmysqlで30分はかかりました
なので、スキーマ変更を伴うようなデプロイするときは、どっちのDBでも考えることが多いですね...
それぐらいの規模になるとマイグレーション不要なのはメリット大きいですねniboshi
mongoidmongooseはschema定義してfieldが無ければdefault返ると機能とかあって、なんかそういうのでなんとかなってますねshokai
なるほど、クライアント側でスキーマをある程度保証する仕組みがあるんですねniboshi
あとはアプリケーションコードが複雑になるschema変更はbatchでさっさと理想的なschemaに揃える
言われてみると、確かにバッチでスキーマ揃えればいいですね。急になんとかなる気がしてきました。niboshi
静的型付け言語とかだとより良い感じになりますね
Gyazoに関して言うと、masterブランチのmongoidの定義が絶対正義なのでそんなにシッチャカメッチャカにはなっていないですyuiseki

Gyazoでのフロントエンドスタイル実装はCSS in JS? CSS Modules?
sassですyuiseki

グラフィック的なデザインをフィックスしてから実装される感じですか?nagayama
あとモックの精度ってどのくらいでしょうか?割と作り込む感じでしょうか?nagayama
ちょっとした機能追加や改善修正はプロトタイプ実装ファーストですyuiseki
複雑になりそうなUIだけ、ワイヤーフレームやモックアップを作って議論してから実装しますyuiseki
モックの精度は、完成に近いものですyuiseki
JSのアニメーションやCSSをそのままProductionに取り込めるレベル
なるほどありがとうございます!!nagayama

Gyazoのserver容量が気になりますtakker
この前Google Photoが容量の関係で画像のupload総量に制限をかけ始めたので、Gyazoでもいずれそういう問題が発生するのではないかと気になりました
むしろアップロード制限を緩和してもいいのではというような議論をしていたりしますyuiseki
わーいyosider
upload制限あったんですか
この前めっちゃサイズの大きいpngファイルを数百枚に送ったらnetworkがガタガタになりました
serverに負荷かけちゃってごめんなさい
>ストレージより転送とかのほうがコスト高い
そうですねrakusai

scrapboxで、誰かが他人の文書を間違ってごっそり消してしまったことはありますか?Sakayori_Hideki
技術者が多ければ、間違っても戻せると思うのですが
一般の会社では、操作になれていない人の操作ミスが少し怖い感じはあるのです。
page historyから巻き戻せます。最近は削除したページをProject Updates Streamから復活できるようになりましたshokai
右上の Restore x のプロトタイプ感
当然だけどテロメアは死んじゃうか
なるほど。ありがとうございます。気軽に書けることとの、やむを得ないトレードオフではあるのかもしれませんね。Sakayori_Hideki
編集が高頻度だとpage historyがちゃんとできてるのか気になるyosidererniogi
すべての編集をリアルタイムにはhistoryに入れてないので、書いた瞬間に消されたのは無理ですshokai
直近の編集履歴は/scrapboxlab/コミットログを取得するを使うと見れますtakker
間違えてページ遷移してしまい、Ctrl+Zが使えなくなったときとかに便利です
書いた瞬間の編集内容も取得できます
まあまた書けばいいんですよ。今書いたばかりなら何度も書くと洗練されてくる!!shokai
PCにあまり触ったことがないような人は、編集権限を落として、クリックしないと編集できないようにしたりして。それだと差別になってしまうからだめですねSakayori_Hideki
/forum-jpに似た話題があったような
Ctrl+Zだけ覚えてもらえればなんとか…yosider
包丁を落としたら危ないから、いつもカバーをかけておくのがいいのだろうか?みたいな。刃物の怖さをしらなきゃ、さわるのは危ないですからSakayori_Hideki
今まではページの削除だけは簡単に復旧できなかったのですが、Streamから復元できるようになってよかったですtakker
これで大抵の操作はもとに戻せるようになった
でも、一般に広く流行らせるためには、間違って更新できないようになればベターSakayori_Hideki
遠い将来、VRゴーグルが実用化されたら、目線がカーソル近くや該当ページの上にあるときだけ更新できるようにならないかな・・なんて。いや無理か。
2つの方向性にまとめられそうtakker
1. 間違った変更ができないようにする
2. (間違った)変更をしてもいつでもすぐに戻せるようにする
Scrapboxの方向性はこっちですね
はいshokai