@hatabowyou おーっ!よかったです。こちらでお役に立てそうなことがあればまたお知らせください。
With three less threads for Sidekiq, (v90) this instance seems to be happier with memory. The spike in response time corresponds to a spike in traffic. https://mastodon.zunda.ninja/media/xDQGSO9DUusQFDi6eRI
$ heroku pg:info DATABASE_URL
=== DATABASE_URL, PG_HOBBY_BASIC_URL
Plan: Hobby-basic
Status: Available
Connections: 7/20
PG Version: 9.6.1
Created: 2017-04-20 18:31 UTC
Data Size: 78.2 MB
Tables: 29
Rows: 99777/10000000 (In compliance)
WAT
Unable to load application: LoadError: /tmp/build_08f19d87ce81840c613aa72c33dd4684/zunda-mastodon-7dc2edb/vendor/bundle/ruby/2.4.0/gems/nokogiri-1.7.2/ext/nokogiri/nokogiri.so: cannot open shared object file: No such file or directory - /app/vendor/bundle/ruby/2.4.0/gems/nokogumbo-1.4.12/lib/nokogumboc.so
$ heroku repo:purge_cache
and redploying... nope. Something funny is happening here.
$ cd /app/vendor/bundle/ruby/2.4.0/gems/nokogumbo-1.4.12/lib
$ ldd nokogumboc.so | grep nokogiri
/tmp/build_90c35b6741220e3f9f7136f4f509b231/zunda-mastodon-7dc2edb/vendor/bundle/ruby/2.4.0/gems/nokogiri-1.7.2/ext/nokogiri/nokogiri.so => not found
このアカウントは、notestockで公開設定になっていません。
このアカウントは、notestockで公開設定になっていません。
昨夜は突然 https://mastodon.zunda.ninja/@zundan/100151492530022618 へのリクエストがいろいろなIPアドレスから送られてきてキューがたんまりたまりました。みんなだじゃれ好きなんだな。
macOSで錬成されたbin/setupの#!が/bin/shなのにbashの機能を使ってるのでLinuxで走らせると怒られるのしょぼん
このアカウントは、notestockで公開設定になっていません。
@localadms Mastodonのpgheroはpumaがサーバになってるように見えます。/sidekiqも。
このアカウントは、notestockで公開設定になっていません。
$ ruby -ve 'p Math.cbrt(1.0-2**-52)'
ruby 2.0.0p648 (2015-12-16 revision 53162) [x86_64-netbsd]
0.9999999999999999
ほうほう
$ ruby23 -ve 'p Math.cbrt(1.0-2**-52)'
ruby 2.3.6p384 (2017-12-14 revision 61254) [x86_64-netbsd]
0.9999999999999999
ふむふむ
$ ruby -ve 'p Math.cbrt(1.0-2**-52)'
ruby 2.3.1p112 (2016-04-26) [x86_64-linux-gnu]
1.0000000000000002
はにゃはにゃ
$ ruby -ve 'p Math.cbrt(1.0-2**-52)'
ruby 2.3.3p222 (2016-11-21 revision 56859) [universal.x86_64-darwin17]
0.9999999999999999
かぼー
このアカウントは、notestockで公開設定になっていません。
@nagachika 小飼さんのツイート https://twitter.com/dankogai/status/1004180513228124161 でMath.cbrt(1.0-2**-52)がLinuxのRubyだと正答の0.9999999999999998ではなく1.0000000000000002が返ってくるとあって試してみました。
下記は正答:
ruby 2.3.3p222 (2016-11-21 revision 56859) [universal.x86_64-darwin17]
ruby 2.3.6p384 (2017-12-14 revision 61254) [x86_64-netbsd]
ruby 2.0.0p648 (2015-12-16 revision 53162) [x86_64-netbsd]
下記は誤答でした
ruby 2.3.1p112 (2016-04-26) [x86_64-linux-gnu]
ruby 2.5.1p57 (2018-03-29 revision 63029) [x86_64-linux]
@nagachika 全タイムライン的にそのようです。https://twitter.com/anohana/status/1004192539379884033 によるとLinuxではCのcbrt()が1を超えちゃうとか。
@nagachika Apple LLVM version 9.1.0 (clang-902.0.39.2)だと-O0から-O3までどれでも0.99999999999999989になりますねー(出先でglibcとgccが手元にない)
@nagachika ですねー。NetBSD 8.0_RC1 amd64でgcc (nb2 20150115) 4.8.4だと-O0から-O3まで正答でした。
$ ldd a.out
a.out:
-lm.0 => /usr/lib/libm.so.0
-lgcc_s.1 => /usr/lib/libgcc_s.so.1
-lc.12 => /usr/lib/libc.so.12
$ ls -l /usr/lib/libc.so.12
lrwxr-xr-x 1 root wheel 26 Sep 24 2015 /usr/lib/libc.so.12@ -> ../../lib/libc.so.12.193.1
(ライブラリのバージョンのみかたがわからにゃい)
@nagachika 見るべきはlibmですね
ls -l /usr/lib/libm.so.0
lrwxr-xr-x 1 root wheel 22 Sep 24 2015 /usr/lib/libm.so.0@ -> ../../lib/libm.so.0.11
@nagachika コンパイル時に計算定数は正答だけどcbrt()じたいは誤答のようです https://twitter.com/anohana/status/1004195971322994688
このアカウントは、notestockで公開設定になっていません。
このアカウントは、notestockで公開設定になっていません。
$ cat package main
import (
"fmt"
"math"
)
func main() {
x := 1.0 - math.Pow(2.0, -52)
y := math.Cbrt(x)
fmt.Printf("%20.17f %20.17f\n", x, y)
}
$ go version
go version go1.8.3 linux/amd64
$ go run main.go
0.99999999999999978 0.99999999999999989
さすが独自実装
Scroll to compose form when focus (#10970)
Cleanup various controllers (#10972)
Fix potential private status leak (#10969)
Fix refreshing featured toots when the new collection is empty (#10971)
Do not misattribute inlined boosts if `attributedTo` isn't present (#10967)
Fix margins on profile metadata in single column mode (#10961)
Change reblogs counter to be updated when boosted privately (#10964)
Refactor all ActivityPub deliveries to be serialized and signed through one concern (#10966)
Fix poll API (#10960)
Add profile directory link to single column navigation panel (#10963)
Revert #10957 (rubocop-rails) (#10965)
Add missing Korean translations (#10962)
Bump intersection-observer (#10953)
Replace (#10958)
Use rubocop-rails (#10957)
Replace from scss-lint to sass-lint (#10956)
Bump babel-plugin-react-intl (#10944)
Bump webpacker (#10948)
Bump react-swipeable-views (#10952)
Change dependabot update schedule (#10949)
Bump fuubar (#10947)
Bump @babel/* (#10936)
Bump react (#10935)
sで始まるGemの依存性が変わるとこのぼっちインスタンスだけに入ってるscout_apm周辺でコンフリクるのよね
\Master/ \ますたー/
Merged tootsuite/mastodon at 8f3c32e29cf13a84b2f0a58da0ab0c99a88caad5.
$ sudo sh -c 'sudo -u postgres psql'
こういうのありなん(ポリシー的な意味で)
このアカウントは、notestockで公開設定になっていません。
このアカウントは、notestockで公開設定になっていません。
このアカウントは、notestockで公開設定になっていません。
このアカウントは、notestockで公開設定になっていません。
このアカウントは、notestockで公開設定になっていません。
せっかく日本のネットワークに行って日本のラジオを流してるのにアメリカの音楽が流れるとがっかりするよね(自分勝手)
TLを眺めててダジャレのネタみたいなのを見つけちゃうと脳みその全コア(1個)がダジャレの生成に振り分けられちゃうので実質脆弱性
このアカウントは、notestockで公開設定になっていません。
@nagachika https://github.com/tootsuite/mastodon-api あたりを使ってできそうな感じもしますよねー(脊髄反射)
Subway TooterからKeybaseのproofへのリンクがブラウザで開かれちゃうのがちょっと残念。KeybaseアプリのどこかにURLを追加しないとかんのだろうなあ
Keybaseでフォローボタンを押してから物理で会った人だけフォローしますという記述を見つけてもうしわけなかった
このアカウントは、notestockで公開設定になっていません。
@nagachika @S_H_ https://pawoo.net/share?text=Hello%20World でいけそうですねー。蛇足ですがHerokuのconfig varはクレデンシャルを書いても安全ということになってはいます。
このアカウントは、notestockで公開設定になっていません。
Ubuntu 18.04のカーネルに更新がきてるねい
The following NEW packages will be installed:
linux-headers-4.15.0-51 linux-headers-4.15.0-51-generic
linux-image-4.15.0-51-generic linux-modules-4.15.0-51-generic
linux-modules-extra-4.15.0-51-generic
The following packages will be upgraded:
linux-generic linux-headers-generic linux-image-generic linux-libc-dev
linux-signed-generic update-notifier-common
@shinderuman すっご!gnucladというほぼ専用のツールを使ってるみたいですねー
https://github.com/FabioLolix/LinuxTimeline/blob/master/README.md#installation
GNU/Linux Distributions Timeline https://upload.wikimedia.org/wikipedia/commons/1/1b/Linux_Distribution_Timeline.svg
KondaraもMomongaもあってうれしいんだけどMomongaの親がKondaraになってなーい(PRチャンスか)
このアカウントは、notestockで公開設定になっていません。
@estpls 削除しちゃったアカウントの現状を、accountsテーブルを覗いて確認してみるといいと思うんですけど眠くてクエリを調べられぬい…
SuspendAccountServiceっていう、アカウントを削除するための機能のまとまり(サービス)があるんだけど、そいつに渡すオプションで、emailやusernameを保留しておくのか、消しちゃうのか、外部サーバに削除を伝播させるのか、こっそり処理するのか、などを指定できるようになってます。
:reserve_username
:reserve_email
:skip_side_effects
アカウント登録のメール認証が行われない(メールが届かない、届いても手続きしない)場合、スパムとかそういうの多いんですけど、一定期間が過ぎるとお掃除するようになってまして、この場合はemailやusernameは消しちゃいます。他のサーバに伝える必要もないので、コッソリ処分します。
通常の利用されていたアカウントの停止の場合は逆で、emailとusernameは保持して、他のサーバに削除を伝えて先方でも消してもらいます。
このアカウントは、notestockで公開設定になっていません。
このアカウントは、notestockで公開設定になっていません。
GCC は version 4.2 まで GPLv2 だけどそれ以降が GPLv3 なので宗教的な理由とかで GCC version 4.2 までしか使えない環境,というのはたくさんあるので gcc があるからといって使える gcc とは限らない……。
このアカウントは、notestockで公開設定になっていません。
このアカウントは、notestockで公開設定になっていません。
コーヒーうまうま
a415f44fd (upstream/master) Update Dependabot config (#13939)
bf6745b9c Fix unpermitted operations on custom emojis leading to cryptic errors (#13951)
dependabotさんのつくったブランチもいっぱい来たわね…
\Master/ \ますたー/
Merged tootsuite/mastodon at a415f44fd178c14bacae2812c68e6779772d06e8.
そういえばaccountsテーブル。idが1なのがローカルでdomainが空(NULL)。連合しちゃいけない子が混ざってるわね…
> SELECT id,domain FROM accounts WHERE username='zundan';
id | domain
-------+------------------------------------------
1828 | admins.mstdn.social
4 | pawoo.net
2305 | androidn.tokyo
11066 | theboss.tech
27405 | ruby.social
5098 | gingadon.com
3 | mstdn.jp
6889 | mastodos.com
6598 | omanko.porn
3436 | friends.nico
49201 | zundan-mastodon-experiment.herokuapp.com
2 | mastodon.cloud
51587 | fedibird.com
42244 | mastodooooooon.xyz
1853 | mstdn.guru
50588 | raspidon.mamemo.online
1 |
3284 | mastodon.social
3176 | mstdn.fm
49897 | mstdn.beer
(20 rows)
アイスクリームワッフル食べたら眠くなったので
fc937d2d7 (upstream/master) Bump terser-webpack-plugin from 3.0.1 to 3.0.3 (#13978)
d914710f8 Bump react-event-listener from 0.6.5 to 0.6.6 (#13982)
4456482d6 Bump caniuse-lite from 1.0.30001066 to 1.0.30001078 (#13981)
3bca565cc Bump vm-browserify from 1.1.0 to 1.1.2 (#13979)
a0ec2d76c Bump object.entries from 1.1.1 to 1.1.2 (#13974)
a9758a8e9 Bump ejs from 2.7.1 to 2.7.4 (#13973)
8ea9b348a Bump postcss-load-config from 2.0.0 to 2.1.0 (#13972)
385574ae8 Bump aws-partitions from 1.322.0 to 1.325.0 (#13968)
28d6bc312 Bump websocket-extensions from 0.1.4 to 0.1.5 (#13967)
4f263d374 Bump jest-resolve-dependencies from 25.4.0 to 25.5.4 (#13965)
ffa053556 Bump i18n from 1.8.2 to 1.8.3 (#13963)
cb33a2da5 Bump @babel/core from 7.9.6 to 7.10.2 (#13962)
0bedc0d3a Bump rubocop from 0.84.0 to 0.85.0 (#13961)
e6e5123d9 Bump connection_pool from 2.2.2 to 2.2.3 (#13960)
21326794a Bump copy-webpack-plugin from 5.1.1 to 6.0.1 (#13861)
346d9b3d2 Add blurhash to preview cards (#13984)
\Master/ \ますたー/
Merged tootsuite/mastodon at fc937d2d7adab4b9788810d1c16efb20358c6215.
== 20200605155027 AddBlurhashToPreviewCards: migrating ========================
[strong_migrations] DANGER: No lock timeout set
-- add_column(:preview_cards, :blurhash, :string)
-> 0.0079s
== 20200605155027 AddBlurhashToPreviewCards: migrated (0.0108s) ===============
ストリートビューを見に行った知らない光景が広がってたんだけどおっさんが忘れてるだけなのか立て替えられたからなのかはっきりしませんでしたw
Ubuntu 19.10です
23 updates can be installed immediately.
3 of these updates are security updates.
The following packages will be upgraded:
apport apport-gtk aptdaemon aptdaemon-data dmsetup firefox firefox-locale-en
google-chrome-stable keybase libdevmapper1.02.1 libgnutls30 libnss-systemd
libpam-systemd librados2 librbd1 libsystemd0 libudev1 nodejs
python-apt-common python3-apport python3-apt python3-aptdaemon
python3-aptdaemon.gtk3widgets python3-problem-report systemd systemd-sysv
udev
$ cat /var/run/reboot-required*
cat: '/var/run/reboot-required*': No such file or directory
うし
@mamemomonga なるほど! そういう時は電池駆動のハンドヘルドオシロが便利(って15年くらい前の知識でもーしわけない)
@rosylilly config/initializers/rack_attack.rb に書いてある制限のどれかにひっかかってるかもですねー
@rosylilly なるほど。うーむ。想像で申し訳ないですが、config/initializers/rack_attack.rbのself.throttled_responseの定義中でmatch_dataの何かをログに記録するとどのthrottleにひっかかってるかわかるかもですね…
@shibafu528 rpmとかdebとかにするとアンインストールするときにちゃんとファイルを消せるのがいいですよねー。
蛇足ですが弊ぼっちではリクエストが放置されすぎた時に捨てっるのとキャシュでRedisのメモリがもりもりになりすぎないようなスロットルが足してあります
https://github.com/tootsuite/mastodon/compare/master...zunda:use-ruby270-take2#diff-1e40e3059b607909f1ae1fa0504e2a7a
秋葉原にWindowsを見に行ったLinuxの偉い人なら知ってるw
https://japanese.engadget.com/2009/10/23/windows-7-linux/
このアカウントは、notestockで公開設定になっていません。
ブレーカーは開いているのと閉じているのが直感に反することあるしApollo 13で誤訳があったらしいわね #何の話
このアカウントは、notestockで公開設定になっていません。
このアカウントは、notestockで公開設定になっていません。
ドメインの変わったMastodonサーバのアカウント、リモートから見ると新しいアカウントに見えるんだろうけど、フォロワーへの配送はずっと旧ドメインに送られてリダイレクトかかるとうーんと、 #酔ってますん
おー、noraworldさん2020年4月ごろに.jpから.comに移動したっぽいけどインスタンスアカウントのユーザー名は移動前のまんま(これ自体が問題になることはたぶんない)だったり予想どうり弊ぼっちは引っ越し前後を別のアカウントとして認識してたりするっぽいねー
ログの残っているここ1週間以内には引越し前のホスト名への配送エラーは残っていない感じ。ドメインの引越しの影響は長くは続かないと考えてよさそうわね
ドメインを引越したサーバのアカウントさんたちとはフォローフォロワれ関係はなかったので引越しでどう変化したかはわからない
このアカウントは、notestockで公開設定になっていません。
このアカウントは、notestockで公開設定になっていません。
このアカウントは、notestockで公開設定になっていません。
streamingのRedisのパスワードはREDIS_PASSWORD環境変数かもわね…
mastodon/index.js at master · tootsuite/mastodon · GitHub https://github.com/tootsuite/mastodon/blob/master/streaming/index.js
このアカウントは、notestockで公開設定になっていません。
いあ、REDIS_URLも参照してるっぽ
https://github.com/tootsuite/mastodon/blob/master/streaming/index.js#l130
Pawoo方面へ参考情報
Mastodonサーバの/about/moreを見ると、最近のMastodonであれば、ブロック・メディアブロックしているサーバのリストがみられます。(リストは非公開の場合もあります)
Fedibirdの例です。
https://fedibird.com/about/more#unavailable-content
mastodon.social(Mastodon開発者Eugenさんの運営するサーバ)の場合はこちらです。Pawooが筆頭ですw
https://github.com/Gargron/mastodon.social-misc
海外サーバでは、Pawooの画像をコピーしないようにする『メディアファイルの拒否』を設定することで、Pawooと接続はできるけど、コピーを保持するリスクを回避する方法をとっていたりします。
また、連合タイムラインに表示されないようにする措置と同時に行います。
国内でも同様で、無修正画像の多いサーバの場合、メディアのコピーを保持するのは避けたいので、メディアだけブロックしています。
メディアをブロックしている場合でも、ユーザーはクリックすれば画像を見ることが出来ます。相手のサーバを直接参照するリンクになるからです。
弊ぼっちでは一度メディアをブロックしてからmstdn.jpにいらっしゃる方のアイコンが取得できなくなっちゃったんだよねナンモワカラン
@mecaota@mstdn.kessai-otaku.club HerokuとかNetlifyにはWebHookもらってビルドを始める仕組みがありますねー。CI/CDサービスでもありそうです。
都市型IKEAは一本道じゃないらしいんだよね
2021年5月20日 放送 イケア・ジャパン 社長 ヘレン・フォン・ライス 氏 |カンブリア宮殿: テレビ東京 https://www.tv-tokyo.co.jp/cambria/smp/backnumber/2021/0520/
@tateisu この警告は皆さんも見えてるようです。弊ぼっちでも出てます
https://github.com/tootsuite/mastodon/issues/16353
事情があって送金サービスのVenmoに登録したら暗号資産の売買もできる感じで喜んだらXLMには対応してなかったわねw
ローカルな中華料理屋さんより
Sum Leung Chinese Kitchen
https://yelp.to/Jxmzbk3XQgb
このアカウントは、notestockで公開設定になっていません。
老眼に鞭打ってHHKB Professional 2のミニUSBコネクタのグランド端子にハンダを盛ったら機能が復活した気のする(写真を撮ると汚いぐぬぬ)
このアカウントは、notestockで公開設定になっていません。
このアカウントは、notestockで公開設定になっていません。
LILOかと思ったらgrubなのかねえ
https://bbs.archlinux.org/viewtopic.php?id=217104
このアカウントは、notestockで公開設定になっていません。
何でだかJWTのJはJavaのJだと思ってたんだけどJSON Web TokenのJavaScriptのJだから完全には間違ってなかった #錯乱
https://ja.wikipedia.org/wiki/JSON_Web_Token
このアカウントは、notestockで公開設定になっていません。
6月12日(日)の日曜天国のゲスト(11:00JST-)は山下達郎さんだそうですよ!おー! (写真が江口のり子さんなふいんき)
https://twitter.com/nichiten954/status/1533287682469572611
尊敬しているデザイナーの方がTwitterでもふもふ動画をリツイートしていて残念な気持ちになる。ぷんぷんしてもしょうがないしもふもふアカウントをミュートすれば見えなくなるんじゃろか
カール・ツァイスさんとアッべさんとショットさんイエナで仲良しなんだけどツァイスさんだけカールさんだって知ってるのは会社名がフルネームだからかしら
弊ぼっちのRedisへの接続数、Sidekiq用のだけ安定してるのはSidekiqだけスレッド数が安定してるからかしらわね。Sidekiq用のRedisなにやってるんだっけ (ドキュメント読め)
NTSCの呪いって書いてある気がする…
このアカウントは、notestockで公開設定になっていません。
弊ぼっちのRubyスクリプト生成Rubyスクリプトです!たいへんよろしくお願いします #とは
mastodon/version.rake at use-ruby32 · zunda/mastodon · GitHub https://github.com/zunda/mastodon/blob/use-ruby32/lib/tasks/version.rake
4aさん、今度の夏で寿命を迎えるっぽいんですよね🥺
https://support.google.com/pixelphone/answer/4457705
ながーいつけ爪をしてる人がMacBook Airのキーボードをさわさわタイプしてるのを感心しながら横目で眺めています
Ubuntu 20.04.6 LTS更新しとこー
$ sudo sh -c 'apt update && apt dist-upgrade -y'
:
The following packages will be upgraded:
grub-common grub-pc grub-pc-bin grub2-common libnghttp2-14 libperl5.30
libpython3.8 libpython3.8-minimal libpython3.8-stdlib libssh-4 perl
perl-base perl-modules-5.30 python3.8 python3.8-minimal
15 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
:
$ cat /var/run/reboot-required*
cat: '/var/run/reboot-required*': No such file or directory
うし
きょうももりもり
4655be0da6 (upstream/main) Fix add validation to webpush subscription keys (#30542)
5f15a892fa Add support for libvips in addition to ImageMagick (#30090)
20e490ba7e fix(deps): update dependency cssnano to v7.0.2 (#30560)
eef2cc054f Add url validation to Web::PushSubscription endpoints (#30540)
048f9b9d45 chore(deps): update dependency pghero to v3.5.0 (#30393)
e4e3875452 New Crowdin Translations (automated) (#30543)
f3893ae65d chore(deps): update dependency rubocop-rspec to v2.30.0 (#30529)
1d3b75d124 fix(deps): update dependency pg to v8.12.0 (#30549)
f40f3cb82e chore(deps): update dependency rails to v7.1.3.4 (#30551)
e5984c95eb Add libvirt provider parameters to Vagrant (#28102)
\Master?/ \ますたー/
Merged mastodon/mastodon at 4655be0da6c0f9a58f4d09a32189cbe5619c42d1.
@dev https://zenn.dev/zunda/articles/0bcb30caede284 の iwctl コマンドのあたりとか systemctl enable systemd-resolved のあたりとか参考になるかもしれません
@dev なるほどなるほど!! ローカルのネットワークインターフェースがIPアドレスをもらっているか、とか、デフォルトゲートウェイへのpingが返事をもらえるか、とか近くから順番に確認してみるのもいいかもですねー
@dev 他にはルータ側のポートを変えてみるとか、AndroidならUSBでテザリングしてとりあえず進めるとか、うーん…
このアカウントは、notestockで公開設定になっていません。
このアカウントは、notestockで公開設定になっていません。
$ rbenv local 2.5.9
$ ruby -e 'pp RUBY_VERSION'
"2.5.9"
まって、いつから??
このアカウントは、notestockで公開設定になっていません。
ヨシ
$ rbenv local 2.4.9
$ ruby -e 'p RUBY_VERSION; pp RUBY_VERSION'
"2.4.9"
-e:1:in `<main>': undefined method `pp' for main:Object (NoMethodError)
Did you mean? p
てかDid you mean?もそんなに前から!?
ヘリウムリークディテクタうまくいくとむっちゃ楽しいんだけど、ハマるとそこらじゅうヘリウムがうろうろしてる感じになるよねw
AndroidStudioのCommitツールでdiffが検出されないのなんかおかしいなあって端末開いてcdしてgit statusしてどうしてわたしを信じてくれないのって
AndroidStudioさんから見えるエミュレータなにかおかしいなあと思ったらデフォルトのアクティビティの代わりにプレビューを表示してたしなんもわからん
なんかもっさりしてる時にもっさりさせてあげるのが意図しない操作を防ぐ工夫なのかもしれないなあってUI改悪後のSlackを思い出しちゃうよな←
AndroidのことりんのComposeはたぶんことりんの文法のなかで名前付き引数とか無名関数とかを駆使してる気がするのでたぶん違うんだけど、この直感的に文法とかどこに何を書くかわかりづらい感じがJSXに似てるかもしれないと感じちゃった。慣れないとねえ。