YouTube2Text

Unleash Next.js - LayerX Web Frontend Night — Transcript

by LayerX 公式 · 2,359 words · 2,359 segments · language ja · Watch on YouTube

Full transcript

  1. 0:00え時間になりましたので始めさせて
  2. 0:02いただきます皆さんあのおみいただき
  3. 0:04ありがとうございますそれではじゃあ
  4. 0:06えっとレアXWeフロンドナイト始めて
  5. 0:09いき
  6. 0:10ますえっと本日司会えっとやらせて
  7. 0:13いただきます松本俊と申しますと2022
  8. 0:17年2月にリアクに中途入社しましてえっと
  9. 0:20暴落シリーズの開発をやってます初の司会
  10. 0:23であの非常に今日緊張しているんですが
  11. 0:25はい皆さんよろしくお願いいたします
  12. 0:31はい簡単に会社紹介えっとちらっとさせて
  13. 0:33くださいえっと私レアXえっとこちら
  14. 0:38ミッションにえっとはいやっておりまして
  15. 0:42えっと何をしてるかってところなんです
  16. 0:44けれども主に3つ事業やっておりまして
  17. 0:46主にその暴落事業ではえっと経理やバック
  18. 0:50オフィス向けにえっとサースのプロダクト
  19. 0:52を展開しており
  20. 0:54ますはいで今回のイベントについてえ簡単
  21. 0:58に説明ですとそもそもなんでこのREX
  22. 1:01WEBフロントエンドナイト始めたの
  23. 1:03かっていうところなんですけれども2点
  24. 1:04ありましてREXの行動指針の中にベッド
  25. 1:07テクノロジーと得ってものがあるんです
  26. 1:09けれどもまこの観点からえっと定期的に
  27. 1:12イベントを活動することによってえっと
  28. 1:15フランドの裾を広げていきたいっていう
  29. 1:17ところとあとはそのどのように技術を活用
  30. 1:20して価値あるプロダクトを作っているの
  31. 1:22かっていうところをリアXだけではなく
  32. 1:24社会の方交えてえと知見を共する場合が
  33. 1:26欲しいなというところでこのイベントを
  34. 1:28作らせていただきました
  35. 1:30で今回のテーマなんですけれどもと
  36. 1:32アリッシュNEXTJSというところで
  37. 1:34えっとNEXTJSを取り上げてと各社
  38. 1:37どのようにこのNEXTJSをサダー限
  39. 1:39活用してるのかっていうところをえっと
  40. 1:41今日は深かっていければなと思っており
  41. 1:43ますはいで今回のイベントのお願い4点
  42. 1:47ありましてえとイベントのハッシュタグは
  43. 1:49とREXアワフロントエンドですで感想や
  44. 1:53コメントなど是非ハッシュタグをつけてX
  45. 1:55などに投稿いただけると嬉しいですまたと
  46. 1:58えっと登壇者の絵の質問もXでこちらの
  47. 2:02ハッシュタグでえっと投稿いただければ
  48. 2:05えっと後半のパネルディスカッションの際
  49. 2:07にと拾わせていただきますで会場について
  50. 2:10はえっと通路中央にトイレがあるのとと
  51. 2:12WiFiはえっとこちらになっていますし
  52. 2:14あと後ろのホワイトボードにも一応ID
  53. 2:17パスワード記載がありますあとま今後
  54. 2:20イベントをやっていく中でま継続的に改善
  55. 2:22できればなと思っておりますので
  56. 2:24アンケートの回答も後ほどご協力お願い
  57. 2:27いたしますお願いいたしますはい
  58. 2:30度です
  59. 2:32ねはい本日のタイムテーブルこちらで
  60. 2:35えっと20時までえ各登壇者様の発表が
  61. 2:38あり休憩挟んでパネルディスカッションで
  62. 2:41アンケート挟んで最後懇会の時間にさせて
  63. 2:44いただき
  64. 2:44ますはいでそれではじゃあイベント始まり
  65. 2:47ますよろしくお願いし
  66. 2:57ますえっとめ
  67. 3:00のプレストさんのNEXTJSのページ線
  68. 3:03を重力の止めるよろしくお願いいたします
  69. 3:30えっとえ初めましての方もえっともしご
  70. 3:34存知で見てくださってる方もえっと
  71. 3:37プレストですよろしくお願いしますえっと
  72. 3:39ネキストJSのページ遷移を全力で止める
  73. 3:41という発表をさせていただきますよろしく
  74. 3:44お願いし
  75. 3:47ますちょっとごめんなさいあのスキップし
  76. 3:50たスライドが入るという不具合を起こして
  77. 3:52しまったんで申し訳ないです
  78. 3:55えちょっと待ってくださいねや
  79. 4:04表示がフルスクリーンにならないと
  80. 4:07いうどしてこれが表示されちゃうの
  81. 4:13だろうこれかあごめんなさいえ指定しまし
  82. 4:16たえっとプレストですでえっと私はえっと
  83. 4:19請求所受け取り仕訳というチームにいまし
  84. 4:22てあのエンジニアをしてますえっとそれは
  85. 4:24えと経理の方が利用するプロダクトなで
  86. 4:27それの開発をしてまして
  87. 4:32あなるほどごめんなさいちょっと手って
  88. 4:37しまいましたがえっとそしてフロント
  89. 4:39エンドでえっと主にえっと開発しています
  90. 4:42けどま全部やるようなそういうタイプの
  91. 4:44エンジニアですえちなみにえっとシミは
  92. 4:46主に写真とスプラトゥーンと子供と
  93. 4:49出かけることなんですけどあの写真は
  94. 4:51ちなみにこの背景のこんな感じのったりと
  95. 4:53かしますでえっと爆というかまってなんか
  96. 4:59あのイメージ的にちょっとヌクスとかビュ
  97. 5:01のイメージ強い方もいらっしゃるじゃない
  98. 5:02かなと思いますえっとですけどネキストと
  99. 5:05いうのはえっとそうですね新しい
  100. 5:08プロダクトにおいてはリアクトとか
  101. 5:10ネキストJSをま採用していたりもしまし
  102. 5:13てでえっとこれまでネクソで作ってきた
  103. 5:16アプリも将来的にネキストJSにあの移行
  104. 5:18することを検討していたりとかします
  105. 5:21で私たちはですねあのフロントエンドの
  106. 5:25えっと環境をまよくしていってえっとなん
  107. 5:29ですかねも楽に快適にワクワクする体験を
  108. 5:31まユーザーないし開発者に届けていきたい
  109. 5:34んだというようなそんなビジョンを掲げ
  110. 5:36たいかもしていますでそこの中でもですね
  111. 5:38えっとベッドテクノロジーというものに
  112. 5:40触れていましてまあのそうですね技術に
  113. 5:43投資してあとより良くするまそういう観点
  114. 5:46からまリアクトを使ってまあの採用して
  115. 5:49よくしていきましょうというような流れが
  116. 5:50えっとあったりとかしまし
  117. 5:54たでちょっと話急にごめんなさいがらりと
  118. 5:58変わるんですけどもあのあの皆さん保存さ
  119. 6:01れませんけど大丈夫ですかダイアログって
  120. 6:04実装したことありますちなみ
  121. 6:08に1/3ぐらい1/4ぐらいそうすよね
  122. 6:13あのある人はあると思いますあの変更の
  123. 6:17保存漏を防ぐUIというわけなんです
  124. 6:20けれどもえっとまこの主にこの2つに分け
  125. 6:23られると思っていて片方はあの勝手に保存
  126. 6:26してしまうあの自動保存とか下書き保存の
  127. 6:28ホルダに入とかなんかそんな感じのもので
  128. 6:31もう1つはこの今出した確認ダイアログ
  129. 6:33ですねでえっとまククってただあのB
  130. 6:37tobのサズなのでまあの例えばその申請
  131. 6:41とか財務情報みたいなあの保存し忘れまし
  132. 6:44たとかあの意図せず保存してしまいました
  133. 6:46みたいなのが発生するととても困るような
  134. 6:49まそういう情報を扱っていることもあり
  135. 6:51ますとまそういうようなあのBBのサスで
  136. 6:54はですねこの確認ダイアログの実装って
  137. 6:56いうのはまちょっと逃れることができない
  138. 6:58運命なのかなと私はえっと思ってい
  139. 7:01ますででちなみに実装したことある方あの
  140. 7:06にお聞きしたいんですけど戻る進むボタン
  141. 7:08でもこのダイアローグちゃんと出せてまし
  142. 7:10たかって
  143. 7:12いうあの質問をさせていただきたくてで
  144. 7:16なんでそんなこと聞くかというとですね
  145. 7:18ネキストジスでこれをやるのめちゃくちゃ
  146. 7:21めっちゃくちゃめんどくさいと私は思って
  147. 7:24いてであの実際あのNEXTJSのッ見に
  148. 7:29行くとですねなんかあのフィーチャー
  149. 7:31リクエストとか言いながらあのいやあの
  150. 7:33ページルーターでページ000のイベント
  151. 7:35欲しい欲しいんですけどできないですかと
  152. 7:37かアップルーターであのページに止めて
  153. 7:39くださいみたいなそんななんかあの
  154. 7:42ディスカッションができていてなんか
  155. 7:43すごいアプボートもいっぱい溜まってるん
  156. 7:45ですけどなんかあのここのスレッドの中で
  157. 7:47はですねなんかオオなかなんかこうやっ
  158. 7:49たらうまくきますみたいなオオ実装が提案
  159. 7:52されていやそれではうまく行かなかった
  160. 7:54ですねみたいなそれはひたすら無限ループ
  161. 7:56されていてちょっと不毛な状態になって
  162. 7:57ましたとでまとはいえあの爆を作っていか
  163. 8:01ないといけないのでえっとあごめんなさい
  164. 8:04ま全がまページ専をキャンセルしたいと
  165. 8:06いう話なのでないものはまベッド
  166. 8:09テクノロジーなので作っていきましょうと
  167. 8:11いうことで今回はその作った話をさせて
  168. 8:13いただきたいと思い
  169. 8:15ますで作ったものは大体こんな感じでまア
  170. 8:20ルタならあのいわゆるアレアTSX
  171. 8:23ページズならあのページズの以下のあの
  172. 8:26AppTSXの中にあのナビゲーションが
  173. 8:29プロバイダーというなんかあのやつを1個
  174. 8:32セットしていただくとこのユ
  175. 8:34ナビゲーションガードというやつを
  176. 8:37呼び出すことによってま例えばこのホーム
  177. 8:39がイチェンジだったらえっと保存してませ
  178. 8:43んがみたいなメッセージを出しますみたい
  179. 8:45なことができるようになっていますで
  180. 8:47しっかりあのカスタムダイアログを出す
  181. 8:49こともできるように作ってあるのであの
  182. 8:52そんな感じで使えますというのが下の例
  183. 8:55ですでただめちゃくちゃめどくさいって何
  184. 8:58やったんやなっていう話が残っていると
  185. 9:01思ってましてえっとそれをこれから紹介し
  186. 9:04ていきたいと思いますまこれは主に3つの
  187. 9:06白を通してま解決しましたという感じ
  188. 9:10ですでじゃそのハックの話をする前にあの
  189. 9:15P繊維ってそもそも何があったっけって話
  190. 9:18を先にあの紹介するとこの3つになると
  191. 9:22思っていますえ1つはあのブラウザーが
  192. 9:25HTMのドキュメントまっと落としてきて
  193. 9:27ページ全体を勝手に書き換えるSP的で
  194. 9:29ない繊維と呼んでるものですでこれの
  195. 9:32ケースはもうあの非常に簡単であの
  196. 9:34ビフォーロードというイベントが飛んで
  197. 9:36くるのでこれをキャッチしてなんかあの
  198. 9:38適当にプレベンデフォルトみたいなのを
  199. 9:40するとあのブラウザネイティブの
  200. 9:42ダイアログが立ち上がりますみたいなこと
  201. 9:45ができるようになってるというかこれしか
  202. 9:47できないんですねこれ以外何もできないん
  203. 9:50でまあのこれこのmdnに書いてあるこの
  204. 9:52スニペットを貼ってあのページ専は止めれ
  205. 9:55ました終わり以上
  206. 9:59いや以上じゃないでしょう以上じゃない
  207. 10:02ないんですよねあの問題はあのこの右の2
  208. 10:05つSPA的な画面潜入をした時にどうやっ
  209. 10:08て止めるかって話になってきますとでその
  210. 10:12話をするためにはちょっとヒストリー
  211. 10:14APIをおさいしないといけないんで
  212. 10:15こちらにえっと書きましたでhisy
  213. 10:19APIを使うとつまりアプリ側でその
  214. 10:22URLバーの内容とかあのをえっとページ
  215. 10:26選まURLバにあのにれるURLの内容と
  216. 10:30かのまあの履歴とかページ遷移を自前で
  217. 10:33その管理することでまブラウザにその
  218. 10:35HMLドキュメントをフッチさせずに
  219. 10:38えっと履歴だけJSから書き換えます
  220. 10:40みたいなそういうことができる仕組みに
  221. 10:42なってますえこれを使うとあのURLを
  222. 10:46遷移させたい時はこのプシュステートで
  223. 10:48あのスタックに1個積むっていうのをやっ
  224. 10:50てでリアクトの側でえっと表示内容をこの
  225. 10:54コス123のページのものに書き換えて
  226. 10:57あげるみたいなそういうことをすることに
  227. 10:58よってSPAを実現することができると
  228. 11:01いうようなものになってますでえっと
  229. 11:03プッシュステートとかリプレステートで
  230. 11:05えっとスタックを書き換えるだけでなく
  231. 11:07えっと進む戻るのボタンが押された時は
  232. 11:10このスタックの現在位置をえっと下にし
  233. 11:12たり上にしたりつまり戻ったり進んだり
  234. 11:14するするような操作もえっと実装されて
  235. 11:17ますでえっと戻るボタンが押された時に
  236. 11:20えっと気づかないとアプリ側が気づかない
  237. 11:23といけないんでそれはポップステート
  238. 11:24イベントというものが飛んできてえっと
  239. 11:26そのポップステートイベントがを受け取っ
  240. 11:28たら
  241. 11:29えっとリアクトに表示されてる内容を
  242. 11:32えっと前のページのものに戻してあげる
  243. 11:34みたいなことをすればえっと完成という
  244. 11:36ことになりますというもの
  245. 11:39ですでここまでは良くてで最初にその
  246. 11:45アプリ内のリンクでジャンプした時の動き
  247. 11:47をえっと紹介したいと思いますでアプリ内
  248. 11:51のリンクはえっといわゆるあのリンクタグ
  249. 11:54を使った方多いと思うんですけれども
  250. 11:57ルタードPUSHが中で叩かれででその
  251. 12:00結果Appルーターのえっと内部状態内部
  252. 12:03で持ってるURLみたいなものがま更新さ
  253. 12:05れて結果新しいページが秒がされて
  254. 12:08History.PUSHStateで
  255. 12:09URLも書き換わるみたいなこんな流れに
  256. 12:12なっていますでただえっとま今回はこの
  257. 12:16フースンを止めてしまいたいんですけれど
  258. 12:18もえっとアルーターの内部状態が書きを
  259. 12:21戻すのめちゃくちゃ面倒くさいことしか
  260. 12:25正直えっと思いつかないのでもうここで
  261. 12:27止めてしまいたいですとで止めてしまい
  262. 12:30たいと思ったんで早速ソースコードを読み
  263. 12:32に行くとですねなんかあのプッシュって
  264. 12:33書かれた関数の中になんかいきなり
  265. 12:35リアクトのスタートトランジションが
  266. 12:37呼び出されてしまっていてえっとここ
  267. 12:40れってどこで飛べたらいいのみたいな感じ
  268. 12:41のまあの要は割り込み機能が何もないよう
  269. 12:44なソースコードが書かれていましたとでと
  270. 12:46はいえまそんな泣き言は言ってられないの
  271. 12:49でまハックで解決しますというのが今回の
  272. 12:521つ目のハクでそれはコンテクスト系入れ
  273. 12:56ルーターをえっと差し替えてしまうという
  274. 12:57ものですでえっとコンテキストというのは
  275. 13:01ですねあのえっと皆さんがユーズルーター
  276. 13:04を何気なく呼び出して使ってらっしゃる
  277. 13:06そのルーターはえっとアルター
  278. 13:08contexプロバイダーというえっと
  279. 13:11ものを通してえっと提供されているものな
  280. 13:14んですけれどもえっとこのコンテクスト
  281. 13:16プロバイダーはですねえっと2個書くと
  282. 13:191番内側に書かれたものがえっと適用さ
  283. 13:22れるつまりえっと今回で言うとアプリって
  284. 13:24書かれたところにえっと置かれた
  285. 13:26コンポーネントで使われるのは公式
  286. 13:28ルーターでよなくてラップしたルーターの
  287. 13:30方になるというえっとま上書きみたいな
  288. 13:32ことができるようになってますとでまこの
  289. 13:35方法であの2位のそのカスタムのルーター
  290. 13:38の実装に変えられるんでえっと今回は
  291. 13:41えっとそれで置き換えましたとでプッシュ
  292. 13:45関数を置き換えたものプッシュとか
  293. 13:48リプレースとかの関数を置き換えたものに
  294. 13:50するんですけどもこの方法を使えばえっと
  295. 13:53まあの普通書き換えるっていうとあの
  296. 13:55ルータードPUSHイコールなんかニの
  297. 13:58関数みたいななんか超上書きみたいなこと
  298. 14:00をえっと思いついてしまうかもしれないん
  299. 14:02ですけどえっとこの方法ならそういう破壊
  300. 14:05的な変更せずにえっと差し替えられるんで
  301. 14:07えっとエコなハクですよねっていうそう
  302. 14:09いうメリットがあり
  303. 14:11ますでえっとこれでアプリ内のリンクの
  304. 14:15繊維はもうあのバチッと完了してあとは
  305. 14:18えっと戻る進むボタンを通りかすればいい
  306. 14:20ということになりますが実はこれが
  307. 14:22めちゃくちゃえっとしんどいですという
  308. 14:25感じになってますえ具体的にはえっと
  309. 14:29ヒストリーのえっとごめんなさいえっと
  310. 14:31ブラウザの進む戻る進むボタンを押された
  311. 14:34時どうなるかというと実は最初にURLが
  312. 14:37書き換わるんですねヒストリーAPIの中
  313. 14:39のえっと状態も変わってURLも変わって
  314. 14:42でポップス製とイベントが来てそこで
  315. 14:45初めてアプルーターがそのえっとルーター
  316. 14:48の状態更新と描画っっていうあのことを
  317. 14:51やるという風になってますとでつまりこれ
  318. 14:54が何を指するかと言うとえっとあで大事な
  319. 14:58こととしてそのポップセトイベントないし
  320. 15:01そのURLが書き換わるというえっと部分
  321. 15:04はえっとキャンセルする方法が一切提供さ
  322. 15:06れてないんですねえつまりポップステート
  323. 15:08イベントをもうえっとアップルーターに
  324. 15:11来る前に握り潰すしかもはや方法はないと
  325. 15:14いうことになりますとでかつえっともし
  326. 15:17握り潰せたとしてもURLは戻ったURL
  327. 15:20のままになってしまうんでそれをどうにか
  328. 15:23しないといけないという感じになりますと
  329. 15:25で具体的にじゃあそれどうすればいいんだ
  330. 15:28話なんですけどえっとポップステート
  331. 15:30イベントを横取りして握り潰した上で
  332. 15:33ネキストジェスが気づかない間に
  333. 15:36ヒストリーを元の位置に書き出すみたいな
  334. 15:39あのすいませんちょっと今会場から出生
  335. 15:43みたいな出たんですけどまそういうことを
  336. 15:46やればあのできますよできますでできるん
  337. 15:49ですよでえっと1つ目はえっとイベントを
  338. 15:53握りつすって話だと思うんであの握り潰す
  339. 15:56と言ったらあのキャプチャリスナー
  340. 15:58思い浮かべる方もいらっしゃいますよね
  341. 16:00ねっていう話なんですけどえっと
  342. 16:04キャプチャリングリスナーえっとご存知
  343. 16:05ない方説明するとえっと普通のリスナーは
  344. 16:08えっとあ左が普通のリスナーで右が
  345. 16:11キャプチャングリスナーなんですけれども
  346. 16:13キャプチャングリスナーの方はえっと普通
  347. 16:16のリスナーよりは先に呼び出されるんです
  348. 16:18ねでその呼び出された中でストップ
  349. 16:20プロパゲーション呼ぶとえっと普通の
  350. 16:22リスナーはえっと呼ばれなくになるという
  351. 16:24ようなことがえっとできるんでこの方法を
  352. 16:26使えばまネキより先にストップ
  353. 16:28プロパゲーションすれば
  354. 16:30えっとイベントぶんどれだろうというそう
  355. 16:33いう発想でした
  356. 16:36ががえっと実際やってみたところなんか
  357. 16:40chromではなぜか動かなかったんです
  358. 16:42よでなんで動かないかすごいラギしてたら
  359. 16:45えっとすごいあの簡単なデバックをすると
  360. 16:48なんかキャプチャーしたはずのリスナーが
  361. 16:50なぜか後で呼ばれるっていうえ先で呼ば
  362. 16:53れるんじゃなかったのかよみたいなことが
  363. 16:55起きてしまいましたとででもファイア
  364. 16:57フックスとサファリは問題なかったんです
  365. 16:59よねでまこうしてまクムでは動かない
  366. 17:02ソースコードを書くという実績をついに
  367. 17:04解除してしまいましたという感じでしたで
  368. 17:07そそんなあの泣き言もまた言ってられない
  369. 17:11のでえっと今回はストップイミディエイト
  370. 17:13プロパゲーションというやつで止める方法
  371. 17:15に変えてびますという感じですでそれなん
  372. 17:17やねんて話なんですけど普通のえっと
  373. 17:20ストッププロパゲーションだと例えば今回
  374. 17:22ウンのアイベントリスナーを3回読んでる
  375. 17:25んでえっとこの3個のイベントリスナーは
  376. 17:28全部呼ばですね例え途中でストップ
  377. 17:30プロパゲーション呼んだとしても全部呼ば
  378. 17:32れるんですけどこのストップ
  379. 17:33イミディエイトプロパゲーション下の方の
  380. 17:36呼び出しだとえっとそれが呼ばれた後の
  381. 17:39イベント後に登録されてるイベント
  382. 17:40リスナーは全てえっと呼び出されないと
  383. 17:43いうことになりますまつまりネキストジス
  384. 17:45で早くイベントリスナーをさせばえっと
  385. 17:47ネキストジスにイベントが届く前にぶれる
  386. 17:50ということになるわけですでまたネキ
  387. 17:53ジェスのアプルーターのコード読んでみた
  388. 17:55んですけど今回ユフクトって書いてあった
  389. 17:57んでフェクトより早いものといえばそう
  390. 18:00ユーズレイアウトエフェクトですよねと
  391. 18:02いうことでえっとこれでえっと先にえっと
  392. 18:05イベントリスナーをさして分ることに成功
  393. 18:08しましたという感じですあごめんなさい
  394. 18:12古いスライドで握り潰せたのでえっと残る
  395. 18:16こととしてはですねさっきあの最初に説明
  396. 18:18した通りえっとURLは書き換わった状態
  397. 18:21になってしまうという話をしましたえそれ
  398. 18:24を元に戻さないといけないのでえとそれを
  399. 18:27計算して元に戻しに
  400. 18:29んですよでただ
  401. 18:31えっとちょっとこれ詳しいことを全部説明
  402. 18:34するとあれなんですけどとにかく
  403. 18:36ヒストリーAPIでもNEXTJSからも
  404. 18:39えっとないしそのえっとあ取れなくってで
  405. 18:43かつえっと新しいナビゲーションAPIと
  406. 18:45いうものもあってそこからは実は
  407. 18:47インデックスが取れるようになってるん
  408. 18:48ですけどえとサファリとハイハックス
  409. 18:51サポートされたいされてないのでまつまり
  410. 18:53今いるあの今どれぐらい戻ったのか進んだ
  411. 18:56のかっていうインデックス情報は取れない
  412. 18:59ということが分かりましたと厳しいんです
  413. 19:02けど厳しいとか言ってたら完成しないんで
  414. 19:05あの今回はもうあの大人しくヒストリード
  415. 19:08プシュテートをまると上書きすることにし
  416. 19:11ましたこれが3つ目の白ですでえっとな
  417. 19:15どういうことなんて話なんですけどあの
  418. 19:18左下に書いてあるソースコードにあるよう
  419. 19:20にですねヒストリープッシュステートさ
  420. 19:22れるたびにえっとインデックスの値内部で
  421. 19:26持ってるインデックスの値を1個増やし
  422. 19:28ながらえ積むということをやるとえっと
  423. 19:31ヒストリーのもヒストリーに入ってる
  424. 19:33カスタムのステートの情報の中に
  425. 19:34インデックスの値こ012って感じでま
  426. 19:37つけることができますと感じですま本当は
  427. 19:40ちょっとあの戻ったりとかした時に
  428. 19:42インデックスを元に戻すとかなんか色々
  429. 19:44やってはいるんですけどとにかくこの方法
  430. 19:46を使えばhisy.5であの例えば2つ
  431. 19:50戻されてえっと0になっていたらえっと
  432. 19:532-0して2を進めるつまり1人.52で
  433. 19:58元の1に戻せますよねっていうようなそう
  434. 20:01いうような実装をしましたという感じに
  435. 20:02なります
  436. 20:04まと3つ発行を通してようやく出来上がり
  437. 20:07ましたえっとここの
  438. 20:10あのあのNPMのあの名前から
  439. 20:13インストールできるんで是非ご利用
  440. 20:15くださいという感じですでまとめます
  441. 20:17えっとまつまりえっと全人類がページ専を
  442. 20:20やっぱり止めたいですよあの全人類は言い
  443. 20:24すぎなんですけどBBサズでは多分ほぼ
  444. 20:27必須級のあのになると思ってますでま
  445. 20:30ベッドテクノロジーなんでないものは作り
  446. 20:32ましたという話でしたえそのためにはです
  447. 20:34ねあのまリアクトとかあのリアクトの
  448. 20:37コンテクストとかアップルーターとか
  449. 20:39ヒストリーとかの間に割り込むことで解決
  450. 20:41したんですけどますなわち何が言いたかっ
  451. 20:43たというかと言うとライブラとか
  452. 20:45フレームワークとかAPIの使用を把握し
  453. 20:47て構造をしっかり読めばですね大体何でも
  454. 20:50解決できるはずだという話をしたかったと
  455. 20:53いう感じになります以上です
  456. 20:58[拍手]
  457. 21:01プレトさんありがとうございましたえ
  458. 21:04とてもベッドテクノロジーな発表ではい
  459. 21:06聞いてて非常に面白かったですえ次が
  460. 21:10えっとターボパックデイと題しまして
  461. 21:13えっとフロッピーさんの方
  462. 21:16からはい発表お願いいたします
  463. 21:36はい
  464. 21:37こんにちはひろピーと言いますよろしくお
  465. 21:40願いしますでえっと今日はえっとターバ
  466. 21:42パックtodayということでえっと
  467. 21:44ターボパックの話をしようと思いますま
  468. 21:47NEXTジスみんな色んなところで話され
  469. 21:49てるんでいいかなと思ってターボパック
  470. 21:52ですえっとみんなバンドラ何使ってますか
  471. 21:56ねウェパック使ってる人
  472. 21:59おビート使ってる
  473. 22:03人タブパック使ってる
  474. 22:07人ナイスですそうえっとターボパックは
  475. 22:11えっとまだまあNEXTJS以外では使え
  476. 22:15ませんよね一応そのターボパックcli
  477. 22:18っていうのがえっとNEXTJSの
  478. 22:20クレートの中に入ってるんでえっと頑張っ
  479. 22:22て使おうと思ったら実は使えるんですね
  480. 22:23あのデムのホットモジュリプレイスメント
  481. 22:25か動くのでなんですけどま基本的には使っ
  482. 22:29てないはずですなんで今日話し
  483. 22:32ますえっと今日のえっと話したいこととし
  484. 22:35てはそもそも今後タワパックがこう
  485. 22:38nexsのですねこうデフォルトになるん
  486. 22:41ですけどどう変わっていくかっていう話と
  487. 22:44あとは今のじゃあターボパックってどう
  488. 22:46いう状況なのかっていう話をできればいい
  489. 22:48かなと思い
  490. 22:51ますまず最初にえっとターボパックえっと
  491. 22:54ターボパックはえっとまずウパックの
  492. 22:56えっと光景となるえっとラストで書かれた
  493. 22:59バンドラーですでえっと少なくともえっと
  494. 23:02ウパックのローダー自体はえっとまタワ
  495. 23:05パックが提供してる分は利用できますです
  496. 23:09けどそのまウパック中のそのイベントって
  497. 23:13あのタバブルっていうこうイベントの
  498. 23:15えっとなんて言うんでしょうそのWパッが
  499. 23:17提供してるプラグインとかに提供してる
  500. 23:19そのイベントのえっとライブラリーがある
  501. 23:21んですけどえっとターボパックの中では
  502. 23:23そういうものはないのでそのウパックの
  503. 23:26えっとWパックプラグインがターボパック
  504. 23:28で利用できるってことはえっとないと思っ
  505. 23:30てますかほぼ無理だと思ってますそのなん
  506. 23:33でかって言うと中身のそのasコンていう
  507. 23:35のを使ってたんですけどウパック側がで
  508. 23:37えっとここに書いてある通りそのSWCに
  509. 23:40切り替わるのでえっと諸々ずれるからです
  510. 23:42ねでえっとJSとえっとTSの
  511. 23:45トランスパランデフォルトはSWCこれは
  512. 23:48えっとま多くの人はご存知だと思うんです
  513. 23:50けどラストで書かれたえっとま
  514. 23:54トランスパランFYとかえっとCSSとか
  515. 23:57も含むんですけど
  516. 23:59タパックの中ではえっとデフォルトは
  517. 24:01jstsでCSSも一応使えます
  518. 24:04オプションででえっとCSSのパーサー
  519. 24:08えっとそれはえっとライティングCSS
  520. 24:11これはえっとパーセルパーセルて昔ま今も
  521. 24:14あるんですけどこうえっとまウパとえっと
  522. 24:18ま横に並んでたえっとバンドラーですねが
  523. 24:22えっとこのオーガナイゼーションが作って
  524. 24:24いるそのライティングCSSっていうのが
  525. 24:26ありますこれはこれもラスト性ですね
  526. 24:28ラスト性でそのポストCSSがのえっとま
  527. 24:31ポストCSSとま同じイメージで考えて
  528. 24:33くださいCSSのパーサーですただその
  529. 24:35ポストCSSよりもえっとライティング
  530. 24:37CSSの方が今の時代その今のCSSです
  531. 24:41ねのえっとなんて言ですシンタックスとか
  532. 24:45ああいうものをえっともっとサポートし
  533. 24:47てるプラグインとかではなくてその
  534. 24:48ライティングCS自体がサポートしてるの
  535. 24:51でえっとまこれを使うのは分かりますただ
  536. 24:54そのま例えばテールウンドとかってみんな
  537. 24:57使うと思うんですけどあれてポスCSS
  538. 24:58経由でしか今使えませんなんでえっと
  539. 25:01テイルウンドウとかがえっと使えないのは
  540. 25:03まずいのでえっとまこれが理由かわかん
  541. 25:05ないですけどまほぼ多分これが理由だと
  542. 25:07思うんですけどテルウンド使うためにその
  543. 25:09ルートにポスCSSコンフィグを置いとく
  544. 25:11とまウパックのローダーとしてえっと
  545. 25:13ターブパックが呼びますなんでえっと
  546. 25:15ライティングCSSじゃなくてえっとタワ
  547. 25:18パックの中でポストCSSローダーが動く
  548. 25:20感じですねま実ポCSローダーではないん
  549. 25:23ですけどでえっとランタイムとか
  550. 25:26フレームワークはえっとまブラウザーの
  551. 25:28JSで他にはえっとwazmとえっと
  552. 25:31リアクトこれはえっとサーバー
  553. 25:32コンポーネント含みますとあとNEXT
  554. 25:34GSとまMDXまここら辺はあれですね
  555. 25:37MDXが入ってるのNEXJSがMDX
  556. 25:39使ってるからだと思ってますでえっと
  557. 25:41インポートはえっとまコJSとesmで
  558. 25:44えっと部分的にAMDありますけどま多分
  559. 25:47AMDあんま使わないのでいいかなと思い
  560. 25:48ますでえっとスタティックのアセットで
  561. 25:52えっとこれはまJSONとかSVGとか
  562. 25:54avifとかまWEPとかそういう画像系
  563. 25:57ですよねとかとフォントとかアイコンは
  564. 26:00使えますでえっと今までえっとWeb
  565. 26:03Packでやる時ってまファイルローダー
  566. 26:05とかURローだとかこう色々使うと思うん
  567. 26:08ですねなんですけどタパックはえっと今後
  568. 26:12例えばそのなんだろうなこうリアクトとか
  569. 26:14そういうフレームワーク自体をえターボ
  570. 26:16バックがサポートバンドラーがサポート
  571. 26:18するっていう感じですでま今ちょNEXT
  572. 26:21JSが中にいるんでそのタワパックの中が
  573. 26:24中にネクソジスが入ってるんですけどこれ
  574. 26:25は悪くまではプラグインとしての扱いなん
  575. 26:27でこはコアの部分はnexsは参照しませ
  576. 26:31んその参照っていうかnexsがコアの
  577. 26:33部分には入ってこきていませんでじゃ
  578. 26:36そもそもなんでタワパック作ったのって
  579. 26:38いう話ですねえっとまウパックとタワ
  580. 26:40パックの作者のソっていう方がいるんです
  581. 26:43けどまこのこの方がま2021年ぐらいに
  582. 26:45まパフォーマンスずっと話しててまずっと
  583. 26:47ではないですパフォーマンスのことを気に
  584. 26:49しててまウパのパーシスットキャスチング
  585. 26:51これはファイルキャッシュですねそのウ
  586. 26:54パックで生成したチャンクをそのウパック
  587. 26:57でメモリー上にしかで持たなかったんです
  588. 26:58けどそれをファイルとして出すファイル
  589. 27:00システムとして出すことによってその2回
  590. 27:02目のビルドとかは早くなるっていうもの
  591. 27:04ですねとかがもうえっとこれの一環でした
  592. 27:07でまウPackはえっとま11年前に使
  593. 27:09作られたんでま結構大規模な回収が必要
  594. 27:11だったんですねなんであのまそもそも
  595. 27:15難しいだろうということでえっと特にその
  596. 27:19破壊的な変更が必要さっき言った通りそれ
  597. 27:22なんでかていう例えばえっと中身のその
  598. 27:24ウパ中で使ってるasはコンを使ってるん
  599. 27:27ですけどそれがSWCに変わるとかここら
  600. 27:29辺でもう完全にプラグインが壊れるので
  601. 27:31できないんですね基本的にはなんでこう
  602. 27:34いうメジャーリリースでV6のメジャー
  603. 27:36リリースでえっとこういうことをやりたく
  604. 27:38ないっていうのもありあったらしいですで
  605. 27:41えっとまタブパックとそのウパックよく
  606. 27:43えっとJSのチャンク見てもらうと分かる
  607. 27:45んです結構出力形式で似てるんですねなん
  608. 27:47ですけどまえっと移行としてはそのウパ
  609. 27:51からタパックへの移行はまあいいではでき
  610. 27:53ないだろうとは言っていまし
  611. 27:56たでえっとターボ
  612. 27:58えっとこれはえっとインクリメンタルビル
  613. 28:01ズって呼ばれてを含んでるものですねで
  614. 28:03このターボエンジンってじゃ何なのかって
  615. 28:05言うとその今まで今までのウパックとかっ
  616. 28:08てそのファイル単位のキャッシュとかを
  617. 28:10やるんですけどえっとまベゼ結構参
  618. 28:14Googleのベですねをえっと参照した
  619. 28:16らしいんですけどえっとこのターボ
  620. 28:17エンジンはそのファンクションレベルまで
  621. 28:19全部キャッシを取りますでえっとま
  622. 28:22ファンクションが常に同じであればそのI
  623. 28:25がですね同じであればえっとそれは回1回
  624. 28:28目のビルドとかだデブ開発とでも何回も
  625. 28:30ペジリローした時にその2回目何も変わっ
  626. 28:33てなければそれはえっともうビルドせずに
  627. 28:36そのままスキップしてえっとキャッシュを
  628. 28:38利用するっていうことですねをえっとやり
  629. 28:40ますでえっとまこの画像これあの公式から
  630. 28:44撮ってきたんですけどまあ多分クラウド
  631. 28:46マークがあるのはおそらくそのまターボ
  632. 28:49レポターボレポっていうあのまよくモノ
  633. 28:52レポとかまモノレポなでも使えるんです
  634. 28:54けどとかで使われてるこうキャッシュです
  635. 28:56よねあのビルドの結果とか全部キャッシュ
  636. 28:58するシステムがあるんですけどえっとそれ
  637. 29:01との神和性がかなり良くなるで特にその
  638. 29:03ターボレポってゴラからあのラストに
  639. 29:05切り替えたんで特に扱いやすくなっていて
  640. 29:08でえっとそこのえっとリモートでターボ
  641. 29:11ターボレポってそのリモートにキャッシュ
  642. 29:13上げることができるんですけどそれをその
  643. 29:15えっとタプパックでもそのそれぞれの
  644. 29:18チャンクをこうリモートに上げることに
  645. 29:20よってえっと開発境とかえっとCIとかで
  646. 29:24こう共有ができるま開発環境ってのは個人
  647. 29:26のローカルですよねとでもでき
  648. 29:28まただ基本的に早いんでまあんまリモート
  649. 29:31でキャッシュしなくてもいいかもなとは
  650. 29:33思って
  651. 29:34ますでえっとただえっとなんで今まだ
  652. 29:39えっとNEXTJSの中のビルドでえっと
  653. 29:43タブパックは使えないかっていうのは
  654. 29:45えっと理由があってそのインクメンタル
  655. 29:47ビルドドっていうのと最適化っていうのに
  656. 29:50はえっと多くのことで対立しますそれは
  657. 29:54なんでかって言うとそのデブモードの時
  658. 29:57っていうのはまあ
  659. 29:58とりあえず早くビルドして早く結果を返し
  660. 30:02てっていうのでそのバンドルサイズを気に
  661. 30:04しないからその極論全部ビルドすればいい
  662. 30:07んです
  663. 30:08ねでえっと全部ビルドするってことは
  664. 30:11つまりその差分ビルドとかさっきのえっと
  665. 30:14ここの部分っていうのはすごい完結になる
  666. 30:16んですよなんでかて言うとその釣り上で
  667. 30:19絶対に落ちるんであの全部ガーってややる
  668. 30:23ことはできるんで下から上に上げるだけで
  669. 30:25終わりっていう言い方ですねができるんで
  670. 30:28あのなんでしょうすごいシンプルなんです
  671. 30:30ねただ本番っていうのは最適化が重思って
  672. 30:36か最適化をやんないといけないわけですよ
  673. 30:37ねだから高速化よりもそれよりもパンドレ
  674. 30:40サイズを減らしたりとかそういうところを
  675. 30:42えっとに注力しないといけないでそうする
  676. 30:46とそのインクリメンタルビルドに対する
  677. 30:48最適化の課題が明らかになってきたんです
  678. 30:50ねでそれは何かって言うとその
  679. 30:52アプリケーション結構その後から話すん
  680. 30:55ですけどこう
  681. 30:58よくあるそのバンドリえっとバンドルする
  682. 31:00時にある最適化って大体全体図分かって
  683. 31:03ないとできないことが多いんですでえっと
  684. 31:06なんでその局所的な部分だけを見てこれは
  685. 31:09差分がないとかが言えないんですねなんで
  686. 31:13その部分的にビルドえっとその
  687. 31:15インクリメンタルビルズをその部分的に
  688. 31:18こうやってえっと見てくのが結構難しいと
  689. 31:20いうのがえっとえっと課題として上がって
  690. 31:23きてましたでえっとまそれはなんでかて
  691. 31:26いうとこに書いて通りその
  692. 31:27アプリケーションの全の最適化とかその
  693. 31:29最適化することによって結構インポート先
  694. 31:31は変わることがあるんですねそれはそ後
  695. 31:34から説明するんですけどその例えば
  696. 31:36ファイル名が変わるとかこういうことが応
  697. 31:39にあるという感じですねなんでえっと
  698. 31:43アプリケーション全体をこう調べ
  699. 31:45るってことはそのインクリメンタルビルド
  700. 31:48に反するんですよこれってなのでえっと
  701. 31:52トレードオフが今出てきてるっていう状態
  702. 31:56ですじゃあどう最適化があるかって言う
  703. 32:00とこの大まかにこの8つかなと思ってい
  704. 32:05ますでえっとまツリーシキンこれ多分皆
  705. 32:09さん知ってると思うんですけどあの使われ
  706. 32:11てるエスポーツだけを残すなんで不要な
  707. 32:15コードはソスコードから消えるでまもう
  708. 32:18ちょっとえっと実はそのデットコード
  709. 32:20エリミネーションもこの釣りシキンに若干
  710. 32:22入ってるんですけどあのまそれをちょっと
  711. 32:24別で分けましたでえっとエキスポート
  712. 32:28マグリでこれはそのエキスポートされた
  713. 32:31ファンクションとか変数とかをまよくま
  714. 32:36当たりますけど読みやすいように関数名
  715. 32:38ってなんだろう長く書くじゃないですか
  716. 32:42長いのかなゲットなんたらみたいなだけど
  717. 32:44バンドルする時にそのゲットなんたらって
  718. 32:46すごい不要なんで基本的にAとかBとかC
  719. 32:49とかDとかそういうえっと名前に
  720. 32:52切り替えるんですねでそうすると名前を
  721. 32:55切り替えるとそれを使ってたファイル全部
  722. 32:58書きかわっちゃうんです
  723. 32:59ねなんでえっとごめんなさいえっと今赤色
  724. 33:04と黄色のマークがついてるんですけどその
  725. 33:06赤色はまず全体を見ないとわかんない最適
  726. 33:09化ですとでえっと黄色っていうのはその
  727. 33:12特定のインポートだけをえっと見る最適が
  728. 33:15ですでえっとこのツ神器がさっき言った
  729. 33:18通り全体を見て全体で使われてなかったら
  730. 33:21削除するんで全体を知らないといけない
  731. 33:23ですねこれってでエキスポートマング
  732. 33:25リングはその関数あくまでもポされた変数
  733. 33:28とか関数名を変えるだけなんでその
  734. 33:31インポートしたファイルだけを書き換えれ
  735. 33:32ばいいんですねなんでえっと部分的な影響
  736. 33:35でモジュールIDSこれはえっと全ての
  737. 33:37モジュールズにそのユニックなIDを付与
  738. 33:40していきますえっとwebpackとかま
  739. 33:42タワパックも同じなんですけどこう即自
  740. 33:44関数の中のえっと引数でそのオブジェクト
  741. 33:47を渡すんですねでそこに例えばそのえっと
  742. 33:50まファイルデとイッTSF.TSBAR.
  743. 33:56TSみたいななえっとファイルがあった時
  744. 33:58にこれをそのABあまあ123ですね
  745. 34:02デフォルトはその数字なんで123とかに
  746. 34:04するんですよファイル名をでこれが
  747. 34:06モジュールididて呼ばれてるものです
  748. 34:08でえっと開発時はこれはファイル名になり
  749. 34:10ますねなんですけどえっとまこういうのも
  750. 34:13結局これはえっとうんと1番ルートの
  751. 34:17ファイルに影響が出るので全体の影響が
  752. 34:19あってかつそのインポート先インポートし
  753. 34:22たえっとインポートされるファイル名の
  754. 34:24IDが変わるんでインポートするやつも
  755. 34:26そのファイル名に引きえっと引っ張られて
  756. 34:29ファイル名が変わるんでえっと両方ともの
  757. 34:31影響があるでチンキでこれはあれですね
  758. 34:33えっとWeパックでいうスプリット
  759. 34:35チャンクスて呼ばれてる機能でその
  760. 34:38えっと例えばリアクトっていう
  761. 34:40ライブラリーがあったらそれをAファイル
  762. 34:42Bファイル両方とも使ってたら両方とも
  763. 34:44共通行でリアクトを剥がすわけですよね
  764. 34:46そのAにもリアクトBにもリアクトを
  765. 34:48入れるとこれは無駄なのでリアクトだけを
  766. 34:50外に出すでこれもえっと全体を知らないと
  767. 34:53共通で使われてるかどうかわかんないので
  768. 34:55えっと
  769. 34:58全体に影響があるっていうことですであと
  770. 35:01はスコープホスティングこれはえっとま
  771. 35:04実行順序が担保できる処理例えば
  772. 35:06インポートしたんだけど別ファイルで
  773. 35:08インポートしたんだけど絶対にこれは縦で
  774. 35:10なんてその順序が担保されてる例えばその
  775. 35:15インポートしたやつが実行され
  776. 35:16るっていうのがえっともう別当な場合は
  777. 35:18これはファイルが1個になるんですねコン
  778. 35:20カットされるんですよっていうのがこれが
  779. 35:22スコップホスティングでファイルが減るの
  780. 35:23でえっとなんて言うんでしょう圧縮され
  781. 35:26るっていですねでこれも全体を知らないと
  782. 35:28できないでえっとデトコド
  783. 35:30エリミネーションこれは多分えっと多く
  784. 35:32知ってると思うんですけどま利用されて
  785. 35:34ないコード削除まJSとターサーとかです
  786. 35:38かねアアリファとかターサーとかですかね
  787. 35:41でミニフィールドシートバッグ
  788. 35:57もそうなんですけどこう生成される時に
  789. 35:59JSのファイル名がなんかよくわかんない
  790. 36:01ハシ値になってるっていうのがえっと
  791. 36:03コンテントハッシュこれもインポートに
  792. 36:05よって変わりますそのファイルを
  793. 36:06インポートするのでみたいな感じで結構
  794. 36:09そのま赤色のやつが特になんですけどま4
  795. 36:12つぐらい全体に影響があるのでこう部分的
  796. 36:15に
  797. 36:16えっとキャッシュをキープするっていうの
  798. 36:19が全体に反するんですよねなんでえっと
  799. 36:22難しいというのが今の課題として当たって
  800. 36:25い
  801. 36:25ますでえっとここからちょっとNEXT
  802. 36:28JSの話なんですけどごめんなさい残り何
  803. 36:30分ですかねすいません時計持ってくれ気に
  804. 36:33せず話しいただいざすいませでえっと
  805. 36:37ちょっとこっからえっとNEXTJSの話
  806. 36:39なんですけどそのターボリポジトリーから
  807. 36:41えっとターボレッポっていうリポジトリー
  808. 36:43に元々タブパックって入ったんですねま
  809. 36:45さっきったターボエンジンを共有したりと
  810. 36:47かなのでなんでなんですけどそのNEX
  811. 36:49JSのリポジトリーへ移動しましたで
  812. 36:52えっとタパックは今も開発中でその
  813. 36:54NEXTJSの対応を優先するために移し
  814. 36:56たということです
  815. 36:58なのでえっとNEXTJSのものではな
  816. 37:00いっていうのはあくまでもえっとあって
  817. 37:02コアは特にフレームワークには依存しない
  818. 37:05なのでえっとNEXTJSのえっとものは
  819. 37:09別のクレートになってる感じですねで
  820. 37:12えっとNEXTJSのなんでえっと
  821. 37:16NEXTJSの中でターボパックのその
  822. 37:19APIインターフェイスとかがえっと安定
  823. 37:22次第別のリポジトリーを移してそのビュー
  824. 37:24とかスベルトとかのサポートを将来的に行
  825. 37:27ていくとのことですなのでその安定化され
  826. 37:30たらえっとあということですでえっと安定
  827. 37:34化されたらそのNEXTジスのデフォルト
  828. 37:36がえっとウパックからタワパックへ
  829. 37:38切り替わりますただこれはメジャー
  830. 37:40リリースでえっと書き換わると言ってるの
  831. 37:42でえっと直近ですとえっと来月かな来月の
  832. 37:4610月24日にネクストカフがあるんです
  833. 37:48ねでまネクストカフの時にま切り替わりは
  834. 37:53多分しないんであと1年後とかになると
  835. 37:54思うんですけどあのまそののリリースで
  836. 37:58少しはあのなんだろう今プロダクションも
  837. 38:0096%まで安定してるのであのなんだろう
  838. 38:04プロダクションでもえっと
  839. 38:05エクスペリメンタルで使えるとかはあるか
  840. 38:07もしれませんでえっとウパックのサポート
  841. 38:09は引き続きやるのでまデフォルトが変わる
  842. 38:11だけなんでおそらく
  843. 38:12えっとWebパッの設定をNEXT
  844. 38:15コンフィグで書いてる人は一旦Web
  845. 38:17パックのフラグをつつける形になるかなと
  846. 38:19思ってますま多分2年後ぐらいだと思うん
  847. 38:21でとりあえず大丈夫かな1年後か1年後と
  848. 38:23かになると思うとりあえず大丈夫かなと
  849. 38:25思って
  850. 38:26ますで今のNEXTJS内のステータスと
  851. 38:29してはまNEXTJSのみで利用可能でま
  852. 38:56645600mmま7100あるらしいん
  853. 38:58ですけどそれの96%のえっと688は
  854. 39:03通ってますでえっと今やってるのはじゃあ
  855. 39:05本番に必要なその最適オプションの実装
  856. 39:08先ほど言ってたえっとまモジュールID図
  857. 39:11はあるんですけどえっとミニファイとか
  858. 39:13そこら辺ですかねとかのえっと実装がまだ
  859. 39:16必要なのとあとえっと先ほど話してたその
  860. 39:19インクリメンタルビルドのキャッシュって
  861. 39:21いうのはオンメモリーでえっと今はやっ
  862. 39:23てるんですねあまえオンディスク入ったん
  863. 39:26ですけどま安定してないって意味ですなん
  864. 39:27でその永続的なオンディスクのキャッシュ
  865. 39:29を実装でえっとあとはまメモリの使用量が
  866. 39:33ちょっと上がってるらしいんでそれとあと
  867. 39:34はNEXTスクリプトワーカーズとか
  868. 39:37えっとまフルバックノードポリフィールズ
  869. 39:39とかはままだサポートしてませんとで
  870. 39:42えっと先ほど1番最初に話したんですけど
  871. 39:44そのWePackプラグインがえっと基本
  872. 39:46的には基本的だ使えないですねそのAPI
  873. 39:49が変わるんで使えないんでえっと人気の
  874. 39:51あるプラグイン例えばHMLWパック
  875. 39:53プラグインとかああいうプラグインは
  876. 39:54えっとタブレポがえっとサポートするとの
  877. 39:56ことです
  878. 39:58ですでえっとNEXTJS中でじゃターボ
  879. 40:02使うかって言うとえっと配分配分ターボを
  880. 40:04デブでつつけるだけですでえっとNEXT
  881. 40:07コンフィグの方はえっと
  882. 40:08エクスペリメンタルの中にターボっていう
  883. 40:10えっとものが入ってんでそこでえっと記載
  884. 40:13していきますただちょっと書き方が変わっ
  885. 40:16てるのでそのウバからとなんでちょっと似
  886. 40:19てるようで実は違ってるその例えばモ
  887. 40:21ルっていうのがないとかアズとかは
  888. 40:23ないのであのここら辺はま変わってるかな
  889. 40:25と思っております
  890. 40:30でえっと今あるオプションとしてはえっと
  891. 40:331234568個ぐらいかな8個ぐらいの
  892. 40:35オプションがありますとでまえっと
  893. 40:37エクステンションズとかエリアスとかで
  894. 40:40このローダーズっていうのはえっと
  895. 40:42NEXTJSあごめんなさいタープバック
  896. 40:44があの内部で再実装したりしてるローダー
  897. 40:48とかですね登録されてるローダーだけを
  898. 40:50使うことができますでちょっとこの
  899. 40:52ローダーいようと思ったんすけどえっと
  900. 40:54手元のPCがノートが見えないであの
  901. 40:57ちょっと忘れましたけど8つぐらいあった
  902. 40:59気がしますでえっとあとルールズはえっと
  903. 41:02webpackのルールズと似てますねで
  904. 41:04えっとユSWCCSSは先ほど話したその
  905. 41:07SWCってそのCSSもえっとまやれ
  906. 41:10るっぽいのでえっとそれができるフラグで
  907. 41:12デフォルトはフルスですねあとはメモリー
  908. 41:15リミットとツリーシェイキングツリー
  909. 41:16シェイキングはえっとまモジュール
  910. 41:18フラグメントとエポーオンリーの2つの
  911. 41:20モードがあるらしいですえっとモジュール
  912. 41:23IDストラテジーこれは先ほど言ったその
  913. 41:25モジュールの名前えっとモジュールの名前
  914. 41:28がえっとファイル名ではなくてえっと数字
  915. 41:32にえっとしたりと
  916. 41:34かルートはっとそのルートファイルの
  917. 41:37ところですみたいな感じでえっとまだ今
  918. 41:39これだけしかオプションがないのでその今
  919. 41:42あるWeパックのもし設定ウパックの設定
  920. 41:44を書いてた場合ですよねクストコンフィグ
  921. 41:46に書いてた場合にえっとま配配ターボつけ
  922. 41:50てその痴漢できるかっていうともしかし
  923. 41:52たら少ないかもしれない特にプラグインが
  924. 41:54ないのであのプラグインパプラグインを
  925. 41:57使ってる人は配ハターボでは使えないって
  926. 42:00いう状態に今なってい
  927. 42:02ますでえっとタパックの中でネジスのため
  928. 42:06のタワパックということでそのタワパック
  929. 42:08の中にそのランタイムっていうのが設定さ
  930. 42:10れてますでえっとまこれちょっと今まで
  931. 42:13ウェパックと違うんで書いといたんです
  932. 42:14けどそのまランタイムはそのブラウザーと
  933. 42:17ノードジェスの2種類があってその
  934. 42:19ブラウザーの中にはさらにエッジっていう
  935. 42:20のとドムっていうのがありますとでこれで
  936. 42:23そのエッジとドムによってそれぞれその
  937. 42:25チャンクの読み方が変わるのでこの2種類
  938. 42:27があるとのことですなんでえっとなん
  939. 42:31だろうなそのウパえっとNEXTJS今
  940. 42:33作ってはいるんですけどそのチャンクの
  941. 42:35ロード自体は結構
  942. 42:37えっとフレームワークによって変わる可能
  943. 42:40性はあるかなと思ってますでえっとじゃあ
  944. 42:43ポストCSSとかそのウパのローダーて
  945. 42:46どうやって読んでるかって言うとま
  946. 42:48ローダー自体はJSで書かれてるんでその
  947. 42:50IPCでnojsのワーカープールで実行
  948. 42:53していますという風にやってんのでその
  949. 42:56ウパで用意されたローダーとかは使えます
  950. 42:59あとはえっとNEXTGSの固有の変換
  951. 43:02例えばそのサーバーコンポーネントとかま
  952. 43:05サーバーアクションズですよねここら辺は
  953. 43:07えっとまNEXTカスタムトランスフォー
  954. 43:09マーっていう別のえっとライブラリーに
  955. 43:11分けているので先ほど話したそのタブ
  956. 43:14パックがNEXTJSのためのものではな
  957. 43:16いっていうのはこういう意味ではあるかな
  958. 43:17と思っていますではなんでタブパックって
  959. 43:21早いのかって言うとそのネイティブesm
  960. 43:23を利用しません例えばビートとかは
  961. 43:25ネイティブesmを利用するんですけど
  962. 43:27これはそのノードモジュールとかが大量に
  963. 43:29なるとそのスクリプトがいっぱいできる
  964. 43:30わけですよねでそうすると全体的にページ
  965. 43:32が遅くなってしまうんでタパックのえっと
  966. 43:34ストラテジーとしてはネイティブesma
  967. 43:37を使わずにえっとそのページに必要なJS
  968. 43:39をえっと事前計算してそれをバンドルして
  969. 43:42ブラウザーに渡すっていうことをやって
  970. 43:43ますなので規模が大きくなればなるほどタ
  971. 43:46パックの方が早くなるっていう感じですね
  972. 43:49ま理論上ですであとはえっとそのサーバー
  973. 43:53とかブラウザー例えばえっとまnexos
  974. 43:56とかもそうですよねSSRしたりとか
  975. 43:58えっとブラウザーでコード書いたりとかに
  976. 44:00対してその今まではえっとバンドラーとか
  977. 44:03がこう別にしないといけなかったんですね
  978. 44:05なんですけどタパックでそのもう
  979. 44:08ブラウザーとかサーバーとかをえっと一元
  980. 44:10的にそのグラフを作っちゃうモジュール
  981. 44:13グラフですねいわゆるっていう単一グラフ
  982. 44:15を作ることによってそのオプティマイズを
  983. 44:17最適にするえっとチャンクの分割とかを
  984. 44:19最適にするっていう書法を取ったので
  985. 44:22えっとまNEXTJSみたいな
  986. 44:24ライブラリーとしてはいいかなウェブ
  987. 44:26フレームワーク基本的なウェブ
  988. 44:27フレームワークとしてはいいのかなと思っ
  989. 44:29て
  990. 44:30ますえっとじゃあまとめということでま
  991. 44:33現状でもNEXTGSNEXTJSのデブ
  992. 44:36ではえっとタブは利用可能ですでえっと
  993. 44:38ビルドも96%えっと通過してるんです
  994. 44:41けどまだ最適が周りがえっとその
  995. 44:44インクリメンタルビルドとのえっとと相性
  996. 44:48が悪い部分もやっぱりあるのでそこを今
  997. 44:50えっと解決してる途中ですでえっとタ
  998. 44:53パックへのデフォルトの切り替えはえっと
  999. 44:55NEXTジスのメジャーで変わる予定なの
  1000. 44:57でえっと1年に1回大体10月とかですか
  1001. 45:00ねでえっと変わるんではないかなと思って
  1002. 45:02ますでNEXTconfig.JS内の
  1003. 45:05WEパッの設定は現段階では読めない読ま
  1004. 45:07ないてから多分読めないですねあと将来的
  1005. 45:10も多分読まないって意味ですのでえっと今
  1006. 45:13NEXTJSの中でNEXTJS
  1007. 45:15コンフィグの中でこうパックの設定を
  1008. 45:17めっちゃ書いてる人はターボにはえっと
  1009. 45:20ターボに移行するにはちょっと力が必要か
  1010. 45:22なっていう印象ですえっとタパックと
  1011. 45:25えっとターボレポでまキャッシュリモート
  1012. 45:26で使う未来はまあるかなとは思ってます
  1013. 45:30えっと最後にまだNEXTJS以外では
  1014. 45:31使うのは難しいとりあえずNEXTJSの
  1015. 45:34プロダクトがえっとステーブルになるまで
  1016. 45:36はえっとNEXTJSのリポジトリーから
  1017. 45:38は出ないのでえっとまあ1年とか2年とか
  1018. 45:42かかるんじゃないかなっていう印象
  1019. 45:44ですはい以上ですありがとうございます
  1020. 45:48ありがとうございました結局タパックどう
  1021. 45:51なったんだろうと個人的に思ってたので
  1022. 45:53非常に勉強になりましたありがとうござい
  1023. 45:55ますはいなんか情報ここまで詳細に知れる
  1024. 45:58んだなっていうのもはいとても個人的な
  1025. 45:59いい気づきでしたありがとうございました
  1026. 46:01ありがとうございますそうしましたら次
  1027. 46:04えっとすぐさんの方からお願いいたし
  1028. 46:07ますはいすいませんちょっと僕あのデモが
  1029. 46:10あるんで繋ぎ直します
  1030. 46:59大丈夫そうです
  1031. 47:03かあはいじゃあ
  1032. 47:07えっとすごいなんかどれぐらい話せるのか
  1033. 47:10わかんないですけど
  1034. 47:11あの気にせず大丈夫です僕の方からはあの
  1035. 47:15バーセア出してるAISDKっていう
  1036. 47:18ライブラリーがあるのでまこれちょっと
  1037. 47:20最近遊んでるのでこの話をできればなと
  1038. 47:22思ってますでaiskはですねなんとこう
  1039. 47:26AIっていうパッケージ名でねどうやって
  1040. 47:28撮ったんだろうと思ったんですけどで
  1041. 47:30インストールできるあのバセルが作ってる
  1042. 47:32あのsdkライsdk
  1043. 47:35でいわゆるま最近出てるllmのあのに
  1044. 47:39対する扱いをま楽にして使いやすくしまし
  1045. 47:43たよみたいなものでNEXTDSだけじゃ
  1046. 47:46なくて他のそのあのフレームマークとか
  1047. 47:49スベルトとかそういうのでも使えますよっ
  1048. 47:51ていうのが一応売りなのでパーセル性です
  1049. 47:53けどまフレームワーク依存なしで使えます
  1050. 47:55とででリアクトの場合はそのサーバー
  1051. 47:58コンポーネントとかサーバーアクションと
  1052. 47:59かこっちにも対応していてあのいわゆる
  1053. 48:02llmってこうバーってなんかストリーム
  1054. 48:04であの文字が流れてくるようなそういう
  1055. 48:06ストリーム機能を持ってますという話です
  1056. 48:09でもあの今日の話は別にそのllmは使わ
  1057. 48:12ないですでバセルaisdKってすごく
  1058. 48:17いいんですけどあのまいくつかこう機能が
  1059. 48:19ジェネレートテキストは普通にあのなん
  1060. 48:22でしょllmのこう問い合わせてその
  1061. 48:24テキストの結果を得るようなそういうやつ
  1062. 48:26なんですけど
  1063. 48:27ジェネレートオブジェクトはこうスキーマ
  1064. 48:29を与えるとあのまいわゆるこうスキーマの
  1065. 48:33llmの機能を使ってあのま我々がこう
  1066. 48:37求めたこうスキーマで結果を得てその
  1067. 48:39オブジェクトを得ることができるみたいな
  1068. 48:41そういうえものでこれもまストリームで
  1069. 48:44撮ったりとかできるっていうのもすごく
  1070. 48:46素晴らしいんですけどでもう1個あの
  1071. 48:48llmの
  1072. 48:52アブストラクトGPTOpenAIとか
  1073. 48:56あとそののジェミニジェミニーとかあと
  1074. 49:00なんかま色々こう色んなとこから出てると
  1075. 49:03思うんですけどあのアスロックのやつとか
  1076. 49:06でそれを全部アブストラクトして同じよう
  1077. 49:09なコードで書けますよみたいなところも
  1078. 49:10一応いいとこですねであと最近なんか
  1079. 49:12ミドルウェアの機能もついたんでちょっと
  1080. 49:14なんかllmの処理になんか共通の何かを
  1081. 49:17差し込みたいみたいなそういう
  1082. 49:19ミドルウェア機能もついてますでもう1個
  1083. 49:21はそのスリーブvaluとかストリーマル
  1084. 49:24UIみたいなこうなんか値とかUIをこう
  1085. 49:28ストリーミングする機能がついてて元々は
  1086. 49:30そのllmの結果をこうストリーミング
  1087. 49:32するためのそういうものだったんですけど
  1088. 49:35なんかそれがなんか独立して作られてます
  1089. 49:38で今回ちょっとここにフォーカスして
  1090. 49:40llmの他の機能は無視してこのストリー
  1091. 49:42マブvaluのとこにフォーカスして話を
  1092. 49:44しようかなと思ってます
  1093. 49:47で
  1094. 49:49えっとクリエイトスマブvalとか
  1095. 49:52クリエイstreamableUIま使っ
  1096. 49:54たことある人はまあ多分もうイメージ湧く
  1097. 49:56と思うんですけどあのま実はAIと関係
  1098. 49:59なくてそのサーバーサイドから
  1099. 50:01クライエントにこうストリームする機能を
  1100. 50:03あの汎用的に提供するものになってますで
  1101. 50:07ちょっとね簡単なでも使ったことある人は
  1102. 50:11なんかこんなものがって感じなんですけど
  1103. 50:14一応このサーバーアクションに対応してる
  1104. 50:17のが非常にいいところでえっとですねこれ
  1105. 50:20あのちょタイただのタイマーなんですけど
  1106. 50:22ストリームでタイマー流してみようみたい
  1107. 50:24なあの最初のデモです
  1108. 50:27でこのいわゆるこうゲットタイマーって
  1109. 50:31やつがサーバーアクションなんですけど
  1110. 50:32この先に行くとこのまサーバーアクション
  1111. 50:35に入っていきますでゲットタイマーの
  1112. 50:37ところでこうここでストリーマルval
  1113. 50:40リューっていうの作るんですよでこれで
  1114. 50:42ストリーム作ってなんか自分の自由な型
  1115. 50:45適当に型を作ってでもう本当になんか
  1116. 50:49サーバーサイドでやることじゃないんです
  1117. 50:51けどインターバルであの1秒気にこう
  1118. 50:54ストリームアップデートしてこの残ってる
  1119. 50:58時間を返していくみたいなそういうこうで
  1120. 51:01最後こうあの0秒になったらインターバル
  1121. 51:05消してストリームダンするみたいなそう
  1122. 51:08いうサーバーサイドのコードですでこっち
  1123. 51:11受け取り側何をしてるかって言うとこのま
  1124. 51:14サーバーアクションで得られたこの
  1125. 51:15ストリームですねこいつをえっとリスブル
  1126. 51:19valていうなんかまそのクランズサイド
  1127. 51:21のコードがあるんですけどこいつに渡すと
  1128. 51:24シンクイテレあイテレータブって言うん
  1129. 51:28ですかシンクイテレーションになるので
  1130. 51:30これをアウトで回していきますそうすると
  1131. 51:33こストリームアップデートするたびにこう
  1132. 51:35話が流れてくるていそういうやつですね
  1133. 51:38なんでこれまうまくいくとこう
  1134. 51:40カウントダウンしてどんどん秒が減って
  1135. 51:42くってのサーバーサイドから受け取
  1136. 51:44るってやつですですねでこれちょっと
  1137. 51:46動かし
  1138. 51:49ます今回ま色々番を使ったりターボパック
  1139. 51:53さっきのターボパックを使ったりとかして
  1140. 51:55ますえっと
  1141. 51:57これでえっとあれChromeが出てこ
  1142. 52:02ないこれかChromeえっとこれででも
  1143. 52:061
  1144. 52:08がコンパイルして動くのでこんな感じで0
  1145. 52:13ですねスタートするとサーバーにこう送っ
  1146. 52:15たやつがこう流れてくるこれどん今
  1147. 52:18サーバーからストリームで流れてきてる
  1148. 52:19やつ
  1149. 52:20ですでちょっと待さい
  1150. 52:24ねどんな値が流れてきてのかていうとです
  1151. 52:27ねまこっち見せた方がですね
  1152. 52:30えっとこれまサーバーアクションなんで
  1153. 52:33こんな感じで普通にポストしてまチャンク
  1154. 52:37ストリームこバーって流れてきてるどうも
  1155. 52:40こんな感じで流してますよみたいなのが
  1156. 52:42あるのでこれ受けてそのこっちで答えを
  1157. 52:46表示してるっていう感じになってますはい
  1158. 52:49でこれがデモ1でえ次のデモがです
  1159. 52:54ねこのデモ2ですね今度はスリーブUI
  1160. 52:59っていうのがあるんですよこれは何をする
  1161. 53:01かっていうとリアクトの普通に
  1162. 53:03コンポーネントサーバーサイドのリアクト
  1163. 53:05サーバーコンポーネントをあの返しますっ
  1164. 53:09てやつ
  1165. 53:10ですなのでま今回は単純になんでしょうね
  1166. 53:14まさっきのカウントダウンを
  1167. 53:15カウントアップに変えてま3の倍数か3が
  1168. 53:20つく数字だったらちょっとこう燃やして
  1169. 53:22みるみたいなもうこれ知らない知らない人
  1170. 53:25もいるかもしれないも時代的に年齢が
  1171. 53:29ばれるんですけどえっとでこれをちょっと
  1172. 53:32動かしてみましょうっていうの
  1173. 53:35でデモ2の方です
  1174. 53:39ねでこれスタートするとこれもストリーム
  1175. 53:43が流れてきますと見てるとこんな感じで
  1176. 53:47ちゃんとなってますね
  1177. 53:50899
  1178. 53:52101112かね13となってますねでこ
  1179. 53:56見ると分かるんですけどまこうちょうど
  1180. 53:58このなんかコンポーネントが帰ってきてる
  1181. 54:00んですよねなんかJSONになってでそれ
  1182. 54:03をこうクラントサイドちゃんと
  1183. 54:05レンダリングできてますよっていう感じの
  1184. 54:08デモになってますなのでまこんな感じで
  1185. 54:11あのAI関係なくストリームをこう
  1186. 54:14サーバーから流しながら遊べますよって
  1187. 54:16やつでもう1個デモがあってもうちょっと
  1188. 54:20なんかね実用的なテムをちゃんと作らない
  1189. 54:22とダメだなと思ったんであの
  1190. 54:26CSVをあげてちゃんとそれをこう処理し
  1191. 54:29てる様子をストリームしましょうみたいな
  1192. 54:32のを一応作ってますこれはなんかCSVを
  1193. 54:35上げると1行ずつこうあの値をチェックし
  1194. 54:38てあの処理をするでその結果を流れるよう
  1195. 54:42に普通こうアップロードドってこう
  1196. 54:44アップロードした後に処理中ですてなって
  1197. 54:45最後にできましたダンとかエラーこれでし
  1198. 54:48たって出るんですけどそれはなんか
  1199. 54:50ちょっともっとストリームでこう
  1200. 54:52インタラクティブにインタラクティブじゃ
  1201. 54:53ないかもっとこうリアルタイムにを表示
  1202. 54:57するみたいなやつで実際これま動かす方が
  1203. 54:59いいので動かしたものをちょっと先に
  1204. 55:01動かす
  1205. 55:02とえっとこれこアップロードするとま
  1206. 55:07こんな感じでこう1個ずつ処理されてこう
  1207. 55:101個ずつなんか管理しますとかエラー出て
  1208. 55:12ますとか出てきてこんな感じちゃ
  1209. 55:14プログレスがちゃんと出ますみたいなそう
  1210. 55:16いうやつこれも全部ストリームでやってい
  1211. 55:18てこれがまどんなコードかと言うとえっと
  1212. 55:22ですねこれはストリーマルvalでやって
  1213. 55:25いてえっとですねまアップロード今回その
  1214. 55:29サーバーアクションなのでこのフームに
  1215. 55:32フームのアクションにこうサーバー
  1216. 55:34アクションて設定できるのでまこれで
  1217. 55:36サブミッシブ
  1218. 55:38するところはまだこう何でしょうね
  1219. 55:42クライエントサイドのコードなんですけど
  1220. 55:45ここでそのえっとですねアップロード
  1221. 55:49ファイルっていうのがサーバーアクション
  1222. 55:50になってますなのでまここでアップロード
  1223. 55:54サブミッシブ
  1224. 55:56でサーバーアクションになってこの先が
  1225. 55:58サーバアクションになってる感じです
  1226. 56:00ねでまちょっとこうストリーマルバリュー
  1227. 56:04でこう値行の値がどんどん返ってくるので
  1228. 56:08それをま更新してるって感じなんですけど
  1229. 56:10でクリエイトストリーマルバリって普通に
  1230. 56:12見るとあの同じ同じ型の値をこう更新し
  1231. 56:17ながら返すみたいな風な使い方に見えるん
  1232. 56:20ですけど実はただのJSをこう垂れ流し
  1233. 56:22てるだけなんであのまわり以前の状態維持
  1234. 56:26する必要がないので今回はその行の結果を
  1235. 56:291行ずつボロボロ返してるみたいなそう
  1236. 56:32いうコですなんでこっちで見ると分かるん
  1237. 56:34ですけどこうストリーマルバリー作ってで
  1238. 56:37こうプロセスファイルってやつでこあの
  1239. 56:39注意しないといけないのはこれあの
  1240. 56:42ストリーマルバリューって処理する前に
  1241. 56:43返しちゃわないといけないですよねこれで
  1242. 56:46返すとクライアントが受け取るのででそこ
  1243. 56:48にさらにこうアンクの処理をこう書いて
  1244. 56:51こうバックグラウンドで実行するみたいな
  1245. 56:54なんでこれアンク処理なんで実際にねこの
  1246. 56:56中身はまシンクなんですけどアウトせずに
  1247. 56:59まそのままシンク実行してでここでま色々
  1248. 57:04変えこう処理をしてるとCSVパースして
  1249. 57:07パースしてまちょっとスリープしてみたり
  1250. 57:10しあのこれデモ用のスリープなんですけど
  1251. 57:13でこうこの音ローサクセスとかオロ
  1252. 57:16フェリアとかでそのローの状態を更新して
  1253. 57:21でそのローの状態更新するとこのステー
  1254. 57:23トってやつがストリーマルバリーなんです
  1255. 57:25けどここにこうどの行そのアップデートさ
  1256. 57:29れた行だけをこう返してるんですよねで
  1257. 57:31それをクライアントで受けてそれぞれ更新
  1258. 57:34してるという感じになってますなんでこう
  1259. 57:37もう1回ここでやるとまちょっとさっきの
  1260. 57:41処理をイメージしながら使うともこんな
  1261. 57:43感じでストリームして変えてきたものが
  1262. 57:46なっててで実際そうですねネットワークの
  1263. 57:50状態を見ると見るとです
  1264. 57:54ねここのこれですねこんな感じで各行が
  1265. 57:59ストリームでどんどんこ流れてきてる
  1266. 58:01みたいな感じ
  1267. 58:03ですはいなんでこれがこう1行ずつ処理さ
  1268. 58:08れるたびにこう返してきてるという感じで
  1269. 58:10ストリームの結果が返せますというはい
  1270. 58:13そういうデモですはいでまこのストリーム
  1271. 58:19あこれストリーマブルバリュですねスマブ
  1272. 58:21valuは非常に汎用的であのま本当に
  1273. 58:25JSONをを返せるただ単にだけのものな
  1274. 58:28のでま連続的である必ま必要はないですし
  1275. 58:33あのあとですね面白いのがそのストリーマ
  1276. 58:36ルバリューてこう今さっきあの返却してた
  1277. 58:40とこがあると思うんですけどストリーマ
  1278. 58:42ブルバリューをえっとここですねステート
  1279. 58:46バリューみたいなここのJソンて実はこう
  1280. 58:48複数のストリーマブルバリューを入れても
  1281. 58:50いいみたいな感じなんですだここでこう
  1282. 58:52もう1個スマルバリューを作って別のやつ
  1283. 58:55を入れでも一応その別々にちゃんと
  1284. 58:57ストリーム受け取れるようになってるので
  1285. 59:00あのクライエント側でも別々に処理できる
  1286. 59:02みたいな感じで結構汎用性高いあと
  1287. 59:05http1.1で動作するんでま内部的に
  1288. 59:07はそのトランスファーエンコーディング
  1289. 59:08チャンクを使って垂れ流してるだけなので
  1290. 59:12httpしても動作するとでサーバー
  1291. 59:15アクションでも使えてアクラブ受け取れる
  1292. 59:17のでま非常に使い勝手がいいですよという
  1293. 59:20話ですはいそんな感じですなのでま皆さん
  1294. 59:25ちょっと使ってみてくさllmを使わなく
  1295. 59:27てもあの面白いので使ってみてくださいて
  1296. 59:30いう感じですはい以上ですありがとう
  1297. 59:32ございまし
  1298. 59:35たCSVインポートのスリム方でも非常に
  1299. 59:38分かりやすくて見てて楽しかったです
  1300. 59:39ありがとうござい
  1301. 59:41ますそうしましたらえっと最後クラミさん
  1302. 59:44の方発表お願いいたします
  1303. 59:56はい
  1304. 1:00:42あとそしたらっと僕の方からLT始めさせ
  1305. 1:00:46ていただきたいと思いますよろしくお願い
  1306. 1:00:48し
  1307. 1:00:50ますあありがとうございますえっとまず
  1308. 1:00:53簡単に自己紹介ですこの緑色の丸い
  1309. 1:00:57アイコンで活動しているクラミと言います
  1310. 1:01:00gitHUBとかXで同じIDを使って
  1311. 1:01:02いるのでまもしよければフォローとかお
  1312. 1:01:04願いしますでまウブフロントエンジニアを
  1313. 1:01:09やっていてま今日NEXTで対された会な
  1314. 1:01:12のでちょっと自分とNEXTの関わり
  1315. 1:01:15みたいなのを2行で書いてきましたなんだ
  1316. 1:01:18かんだNEXTJSもう彼これれ5年
  1317. 1:01:20ぐらい使ってる気がするのでえっと古い頃
  1318. 1:01:24からで言うとゲットイニシャルプスGet
  1319. 1:01:26サーバーサイドプスGstaatプスだの
  1320. 1:01:29isrだので最新のAppleRSCだの
  1321. 1:01:32一通り全部なんかやってきた気がしてます
  1322. 1:01:36えRSCっていうところになってくると
  1323. 1:01:39えっとまAppルタ割と最近の機能の話に
  1324. 1:01:42なってくるんですけどこいつについては
  1325. 1:01:43去年の6月ぐらいからかなAppルタを
  1326. 1:01:47あの実際に使うっていう案件でえっとま初
  1327. 1:01:50挑戦してきたみたいな感じですねでま
  1328. 1:01:55そんなAppleの話
  1329. 1:01:57でまいい話ばっかりじゃなくてですねま
  1330. 1:02:00困ることは結構色々あるんですよね
  1331. 1:02:02Appleはやっぱりえちょっと地味に
  1332. 1:02:05困ったこと3つここに書いていますま
  1333. 1:02:08やっぱりキャッシュの挙動難しいよね
  1334. 1:02:10みたいな話とか下2つはえっとNEXT
  1335. 1:02:13本体というよりは他のライブラリで
  1336. 1:02:15組み合わせた時の話ですねえっとデータ
  1337. 1:02:17ドックオブザーバビリティで使うデータ
  1338. 1:02:18ドックの連携で苦労するとかえMSWモ
  1339. 1:02:23サービスアカですの連携で苦労するみたい
  1340. 1:02:25な話を
  1341. 1:02:26ちょっとあげてみましたま他にも困った
  1342. 1:02:28こといっぱいあるんですけどちょっと今日
  1343. 1:02:30あのあげたのは3つですえ実はこの3つ
  1344. 1:02:34選んだのには理由があってこの3つ共通し
  1345. 1:02:36てる点があるんですねはいということで
  1346. 1:02:38今日の本題です俺のフェッチは汚れまくっ
  1347. 1:02:40て
  1348. 1:02:42ますあとあの今日皆さんすごいいい話され
  1349. 1:02:46ている中最後にこんなことを言うのは
  1350. 1:02:48すごく申し訳ないですけど本当今日の話
  1351. 1:02:50半分か8割ぐらい僕の愚痴ですねなんで
  1352. 1:02:54特に有益な結論とかないです本当ごめん
  1353. 1:02:57なさいでえっと緩和球大ということで元に
  1354. 1:03:01戻りますえさっきえっと3つライブラリー
  1355. 1:03:05あげましたねNEXT本体とデータドッグ
  1356. 1:03:08とMSWえこの共通点フッチが汚れて
  1357. 1:03:12るって言ったんですけどそうです
  1358. 1:03:14GlobalDIS.fchにモンキー
  1359. 1:03:16パッチを当てている3兄弟ですなんで
  1360. 1:03:19フッチAPIってまあの昨のウェブ
  1361. 1:03:22フロントでものすごく人気者なんですよね
  1362. 1:03:26でまウェブ標準だし
  1363. 1:03:29あのまインターフェイスが統一されてて
  1364. 1:03:32えっと何ですかノード以外のまBANとか
  1365. 1:03:37deoとかああいうとこでも使えるしまあ
  1366. 1:03:40いい側面いっぱいあるんですけどま
  1367. 1:03:41グローバルディスフェッチにモンキー
  1368. 1:03:43パッチ当ててる時点で最悪なんですよねで
  1369. 1:03:45えっと今日はそんなフェッチパッチが衝突
  1370. 1:03:47する話をお届けしたいと思い
  1371. 1:03:50ますということでまずはえっとネスト本体
  1372. 1:03:53のフェッチパッチのおさいから
  1373. 1:03:56えネクJS特にあのAppルータて
  1374. 1:03:59ページズルーターじゃない最近の開発の方
  1375. 1:04:01ですねえっとこのキャッシュがいっぱいあ
  1376. 1:04:03るっていう話は割と有名かなと思います
  1377. 1:04:05なんかキャッシュが何種類もあってどれが
  1378. 1:04:07どういう挙動してるのか分かりづらい
  1379. 1:04:08みたいな記事は結構もうここ12年で
  1380. 1:04:11いろんなとこに出てきてるんじゃないかな
  1381. 1:04:13と思いますなのでこの4種類全部を紹介
  1382. 1:04:15するっていうことはしないんですけど
  1383. 1:04:17えっとまずこの4種類のうちの1つ目
  1384. 1:04:19リクエストメモズって呼ばれるキャッシュ
  1385. 1:04:22はこのフェッチパチと絡んでますこれ
  1386. 1:04:24ネクストのドキュメントに貼ってあった図
  1387. 1:04:26そのものですねリクエストメモリーズの
  1388. 1:04:29概念図
  1389. 1:04:30です1番左側のこの部分がいわゆる
  1390. 1:04:33レンダリングの時に呼び出されるえ
  1391. 1:04:36サーバーコンポーネントとかレイアウト
  1392. 1:04:38コンポーネントって呼ばれるやつですね
  1393. 1:04:41こいつらがまあの好き勝手にルート
  1394. 1:04:44レイアウトはえっとBのリソースを取って
  1395. 1:04:46きたりこのジェネレートメタデータはBの
  1396. 1:04:48リソースを持ってきたり普通の
  1397. 1:04:50コンポーネントはまCを持ってきたり
  1398. 1:04:52みたいな好き勝手にフェッチするわけです
  1399. 1:04:54よでこの好き勝手に置してやつ全部並べる
  1400. 1:04:56とこの真ん中みたいになるんですけど
  1401. 1:04:58よくよく見たらえっとBとCとA被り
  1402. 1:05:00まくってんじゃんって言ってじゃあ1個で
  1403. 1:05:02まとめた方がいいよねって言ってえこう
  1404. 1:05:05まとめるデープするってやつですねこれを
  1405. 1:05:06まリクエストメモリーズとえ呼んでい
  1406. 1:05:11ます今ネストのフェッチをパッチして
  1407. 1:05:15るっていう言い方をしたんすけどま若干
  1408. 1:05:17これ語弊があるというかえっと今の
  1409. 1:05:20NEXTのバージョンV14系においては
  1410. 1:05:23まどっちかというと実はこれリアクトの
  1411. 1:05:24コードにこのフェッチのパッチが入ってい
  1412. 1:05:27ますがえリアクトの1番最新になりそうな
  1413. 1:05:3119ではこのパッチのコードって削除され
  1414. 1:05:34て同じえパッチのコードがえっとネスト側
  1415. 1:05:38に取り込まれていますなんでこの656
  1416. 1:05:425058っていうプルリックが
  1417. 1:05:44えっと新しいリアクトの取り込みとネスト
  1418. 1:05:47のフェッチパッチ適用っていう同時にやっ
  1419. 1:05:49てるプルリクだったりすんでま結局の
  1420. 1:05:51ところえネクストがフェッチパッチしてる
  1421. 1:05:54と言えるんじゃないかなとと思い
  1422. 1:05:56ますはい次アルターキャッシュ天王のもう
  1423. 1:06:001柱ですねデータキャッシュ君
  1424. 1:06:02ですでさっきえっとこの言ったリクエスト
  1425. 1:06:05メモリーズはいわゆる1個のレンダリング
  1426. 1:06:07の中で共有されるキャッシュっていう話
  1427. 1:06:11だったんですけどこのデータキャッシュは
  1428. 1:06:13もうちょっと
  1429. 1:06:14え広範囲に及ぶキャッシュというか
  1430. 1:06:17いろんな人のレンダリングで共有される
  1431. 1:06:19キャッシュですあ概念図で言うとこういう
  1432. 1:06:22感じですかねえっとリクエストメノイズの
  1433. 1:06:25後にまデータキャッシュ見に行ってあれば
  1434. 1:06:28使うよと
  1435. 1:06:30かこっちは割と分かりやすくてですね
  1436. 1:06:34NEXTのドキュメントを覗いてみると
  1437. 1:06:36フェッチの時になんか謎のNEXTって
  1438. 1:06:38オプションが出てくるんですねでここで
  1439. 1:06:40例えばえ再検証までの期間3601時間に
  1440. 1:06:43したいとかあとはまリバリーとする時のえ
  1441. 1:06:47やりやすいようにタグを打っておきたい
  1442. 1:06:48みたいなことがえ拡張されていたりします
  1443. 1:06:52もちろんこんな本来のフフというか
  1444. 1:06:55いわゆるフッチAPIにNEXTトって
  1445. 1:06:57いうオプションないのでこれはあの
  1446. 1:06:58フェッチをパッチされているっていうこと
  1447. 1:07:00ですよ
  1448. 1:07:03ねでまそれぞれオプトアウトできるでき
  1449. 1:07:06ないみたいな話はあるんですがあのいずれ
  1450. 1:07:08にせよですねまデータキャッシュとか
  1451. 1:07:10オプトアウトできるんですけどこの
  1452. 1:07:12NEXTがフッチのAPIをパッチするっ
  1453. 1:07:14ていうこれ自体はそもそも不可費だと思っ
  1454. 1:07:17て
  1455. 1:07:18ますでここまでがま前提っっていう感じで
  1456. 1:07:22実際に僕が困った愚痴の話に入っていくん
  1457. 1:07:24ですけどま1個目がデータドック
  1458. 1:07:27APMAPMアプリケーション
  1459. 1:07:29パフォーマンスモニタリングの略で多分皆
  1460. 1:07:32さんもプロダクトでなんか運用してる時に
  1461. 1:07:34は何かしらのAPMとかを
  1462. 1:07:36使うのがもう普通になってるのかなと思い
  1463. 1:07:39ますデータドック以外で言うとそうですね
  1464. 1:07:42ニューレリックとかセントリーとか標準的
  1465. 1:07:44なやつ言うとオープンテレメトリとかかな
  1466. 1:07:47で特にAPMって言ってる場合に1番
  1467. 1:07:51欲しくなるのがですねこの分散トレースっ
  1468. 1:07:53て呼ばれる機能ですよくこういうフレーム
  1469. 1:07:55グラフとか言われるので可視化されてる
  1470. 1:07:57あいつですここのイメージはえっと1番上
  1471. 1:08:02の赤いところがNEXTJSのサーバーで
  1472. 1:08:05えっとま青いところがなんかのマイクロ
  1473. 1:08:07サービスというかバックエンドのサービス
  1474. 1:08:09ですねでここに対してえコンポーネント
  1475. 1:08:13だったり何だったりからえっとフッチをし
  1476. 1:08:16てデータを取ってくるみたいな時にこの
  1477. 1:08:18赤いサービスに来たリクエストと青い
  1478. 1:08:21サービスに来るリクエストが元々は1個の
  1479. 1:08:24リクエストだったんだよっていうこう
  1480. 1:08:25紐付けをするっていうのがこの分散
  1481. 1:08:28トレースの強みなんですねでこの分散ト
  1482. 1:08:31レースって一般的にどうやって実装され
  1483. 1:08:33てるかって言うとですねこの青と赤の境界
  1484. 1:08:36のここここでえっとHP通信をしている
  1485. 1:08:39場合このhcp通信のえっとヘタにですね
  1486. 1:08:43えまいわゆるログIDみたいな
  1487. 1:08:45トレーシングIDとかって呼ばれるんです
  1488. 1:08:47けどみたいなものを仕込んでおくことで
  1489. 1:08:49この赤と青が紐づくとまそんな風にあの
  1490. 1:08:52なってますえこのhcpの時にヘッタ
  1491. 1:08:57押し込むとかえっとオブザーバビリティの
  1492. 1:08:59ための測定の準備をすることをあの軽装
  1493. 1:09:02する英語で言うとインストメントってやつ
  1494. 1:09:04ですねするって言うんですがこの計装を
  1495. 1:09:07初期化するっていうのじゃNEXTの場合
  1496. 1:09:08どこでやるのって言うとインスルメント
  1497. 1:09:10いうのが推奨されてますこれインスン
  1498. 1:09:14インストルメントTSのドキュメントで
  1499. 1:09:17実際ここの例を書いてるあの見ると分かる
  1500. 1:09:20通りえパーセルスラオテルとオープン
  1501. 1:09:22テレメトリーの軽装の初期化をしてますよ
  1502. 1:09:24ねまあなのでデータドックのsdkを
  1503. 1:09:29インスルメントTSで初期化するってのま
  1504. 1:09:31四国全頭なえっと1番こうパーセル側が
  1505. 1:09:35考えてケースに近しい使い方のはずなん
  1506. 1:09:37ですけどま問題って言ってる側には察しが
  1507. 1:09:40つくとり動かねんですよ
  1508. 1:09:43えあ一応あのNEXT名誉のために言って
  1509. 1:09:46おくとえっと今年の頭ぐらいには治って
  1510. 1:09:50ますで結構データドックの周側でも割とま
  1511. 1:09:56なんで動かねえんだみたいなのがワワチ
  1512. 1:09:58なっててで正直いろんな問題があの絡まっ
  1513. 1:10:02て動いてないっていうのがあるんですけど
  1514. 1:10:05あの今日の話フェッチパッチの話に関連し
  1515. 1:10:07て言うと起きたことの最悪のところがです
  1516. 1:10:09ねこのネクストとバックエンドサービス感
  1517. 1:10:11のスパンが紐づかない要するにこれとこれ
  1518. 1:10:14が紐づかない何を言ってるかって言うと
  1519. 1:10:17HPヘッダーにトレーシングIDが仕込ま
  1520. 1:10:19れ
  1521. 1:10:20ない要するに分散トレースとして致命的
  1522. 1:10:23っていうやつですね
  1523. 1:10:26でしたえ実際さっきのこの1周から辿っ
  1524. 1:10:31てったnextjsのプリクとかを
  1525. 1:10:33よくよく読んでるとなんで取れなかったん
  1526. 1:10:36だろうなって見てるとですねまNEXTの
  1527. 1:10:37共同としてすごく大雑把に説明すると
  1528. 1:10:40こんな感じのことになってましたえ
  1529. 1:10:42NEXTJSがサーバーを起動する時に
  1530. 1:10:44まずFAPIを記憶しますでNEXTが
  1531. 1:10:46インスーTSをキックする時にえその中で
  1532. 1:10:50呼ばれるDDトレースこれがデータドック
  1533. 1:10:51のsdkですけどフェッチをパッチします
  1534. 1:10:53パッチが2回出てくるですねで3番目これ
  1535. 1:10:57は普通のアプリケーションのコード実行
  1536. 1:10:58する時のイメージですけどこのななぜかは
  1537. 1:11:02よくわかんないです
  1538. 1:11:03けど1で記憶したフッチAPIにパッチを
  1539. 1:11:07当てて利用するんですねなのでここの2番
  1540. 1:11:10っていうのはなかったことになって
  1541. 1:11:12ますまそりはあの分散トレスされるわけ
  1542. 1:11:15ないですよ
  1543. 1:11:17ねでその次MSWが使えない問題です
  1544. 1:11:22MSWもあの割と有名なライブラリーです
  1545. 1:11:24し以外のところで使われてる方も多いん
  1546. 1:11:27じゃないかなと思いますが年のたの説明し
  1547. 1:11:29ておくとえHTP通信をモクするための
  1548. 1:11:33ライブラリーですねさっきのデタドッ
  1549. 1:11:35APMはこの赤と青の通信を補足するって
  1550. 1:11:38いう話でしたけど青を実際に実行せずに赤
  1551. 1:11:42で折り返したいみたいなま開発時に開発時
  1552. 1:11:45とテストですねに使われるライブラリー
  1553. 1:11:48ですモックMSW何の略かっていうと
  1554. 1:11:52モックサービスワーカーっていうぐらいな
  1555. 1:11:54んでブラウザがではあのサービスワーカー
  1556. 1:11:56を使ってHP通信インターセプトしてるん
  1557. 1:11:58ですけどノJSの場合はそうじゃないです
  1558. 1:12:02あの素朴にフチパッチを当ててSCP通信
  1559. 1:12:06をインターセプトしますまなんとなくここ
  1560. 1:12:07でこの先の話想像つきますよね
  1561. 1:12:10もうなのでえっとNEXTJSのえ
  1562. 1:12:14リアクトサーバー環境で動かせ動かす
  1563. 1:12:16モジュール要するにサーバー
  1564. 1:12:17コンポーネントとかサーバーアクションで
  1565. 1:12:19MSノドが利用できないという問題が発生
  1566. 1:12:22するわけですね
  1567. 1:12:26この1周は結構昔から立ち上がっていてな
  1568. 1:12:3013なんでアルタ出て割と最初の心ぐらい
  1569. 1:12:33かな2023年
  1570. 1:12:35の2月ん1月とかですか結構前ですよねに
  1571. 1:12:40立ち上がってるなんならMSWの
  1572. 1:12:41バージョンが1の頃から立ってる集か
  1573. 1:12:46なで例えばサーバーコンポーネントでま
  1574. 1:12:49こんな感じのまルートレイアウトとかでも
  1575. 1:12:51いいんですけどえMSWノードから
  1576. 1:12:54セットアップしてきてえハンドラーを書い
  1577. 1:12:57て使いますみたいなコドを書いてみると
  1578. 1:13:00あの一瞬動くんですよ一瞬動くっていうの
  1579. 1:13:03は最初の画面を開いた時には動くんだけど
  1580. 1:13:05えっとまリロードするとかコードちょっと
  1581. 1:13:08変更するとかした瞬間にここのハンドラー
  1582. 1:13:11が空ってマジでこっちのJSを取ってくる
  1583. 1:13:14みたいな挙動になったりし
  1584. 1:13:16ますえこの問題もまようやく先月の末先月
  1585. 1:13:22のどっかぐらいかなこの68193って
  1586. 1:13:24いうところで
  1587. 1:13:25修正が入ってるんですけどこっちはですね
  1588. 1:13:28多分まだあのいわゆる14.2.0みたい
  1589. 1:13:31なネクストの安定版の方には含まれてない
  1590. 1:13:33んだと思いますなのでま次の
  1591. 1:13:37えっとさっき来月ネクストコンフがあって
  1592. 1:13:40そこでV15でそうだよねみたいな話が他
  1593. 1:13:42の方からもありましたけどまその時ぐらい
  1594. 1:13:44には入ってくるのかなとは思うのでえ問題
  1595. 1:13:47としてはまあの収束しつつはあるんです
  1596. 1:13:50ねでこっちのプルリを眺めてみるとですね
  1597. 1:13:54このルに
  1598. 1:13:56えhmr中にえっとユーザーランドの
  1599. 1:14:00フェッチパッチを許容しますみたいなこと
  1600. 1:14:02が書いてあるんであのhmrホット
  1601. 1:14:06モジュールリプレイスメントとえサード
  1602. 1:14:08パーティ側ここではMSWノードなんです
  1603. 1:14:10けどのフッチのパッチが衝突してたなって
  1604. 1:14:12ことがあの見て取れ
  1605. 1:14:14ますなんやねhmrキャッシュって感じ
  1606. 1:14:17ですよね最初にあのリクエストメモイズと
  1607. 1:14:19データキャッシュの話したんですけど
  1608. 1:14:21まだまだあのフェッチパッチして
  1609. 1:14:22キャッシュしてるやつがいるんですねはい
  1610. 1:14:25第3の資格サーバーコンポーネンツhmr
  1611. 1:14:27キャッシュです
  1612. 1:14:29ねこいつも結構強いキャッシュでよくよく
  1613. 1:14:32読んでみるとキャッシュノーストアって
  1614. 1:14:34書いてあってもキャ
  1615. 1:14:36あのえフェッチの結果適用するぜっていう
  1616. 1:14:39やつですhmrなのでいわゆる
  1617. 1:14:42あのなんだろう開発中にサーバー
  1618. 1:14:45コンポーネントをちょっと書き換えた時に
  1619. 1:14:47えフッチの部分変えてないんだったら
  1620. 1:14:50リクエスト飛ばさずにそのまま使えばいい
  1621. 1:14:51んじゃないっていうまそういうこう
  1622. 1:14:55まよく言えば優しさですよね悪く言えば
  1623. 1:14:58余計なおせかかなっていう気もし
  1624. 1:15:02ますでさっきあの前段で僕APMの話して
  1625. 1:15:06そこでインストルメントョケースが動く
  1626. 1:15:07ようになったよって話があったんで一応
  1627. 1:15:09補足しておくとこのNEXのV14系で
  1628. 1:15:12あればですね一応インストルメントケース
  1629. 1:15:15を使えばMSWノードを動かすっていう
  1630. 1:15:17こと自体はできるんですけどまその場合は
  1631. 1:15:19ですねインストルメントションって
  1632. 1:15:21サーバー機動時に一発だけ動くみたいな
  1633. 1:15:25ことなのでえっとデブサーバーで
  1634. 1:15:27組み合わせてもそのハンドラを書き換えて
  1635. 1:15:29もそれは反映されないみたいなことがある
  1636. 1:15:31のでえっと開発利便的にこう便利に使いた
  1637. 1:15:35いってなるとあのまた別の発をする必要が
  1638. 1:15:38あったりしますまちょっと不向きだって
  1639. 1:15:40ことですねあの頑張ればできます
  1640. 1:15:44え今日してきた話ってそのいわゆるサード
  1641. 1:15:48パーティーのライブラリーどれもそこそこ
  1642. 1:15:50有名なライブラリーでみんな使っ
  1643. 1:15:52てるやつかなと思うんですけどまそいつと
  1644. 1:15:56えネクストのフェッチのパッチが衝突し
  1645. 1:15:58たりしたっていう話なわけですねという
  1646. 1:16:00ことはまネクストがそもそもフェッチ
  1647. 1:16:02パッチしなきゃこんなことになんなかった
  1648. 1:16:03んじゃないのみたいな見方もできると思い
  1649. 1:16:06ますしま実際結構なあの当初から反対の
  1650. 1:16:10意見も強かったんじゃないかなと思ってい
  1651. 1:16:12てえっとリーロビンソンもですねこれ去年
  1652. 1:16:14の12月ぐらいかなフェッチの拡張を
  1653. 1:16:17やめるつもりだみたいな投稿は書いてあっ
  1654. 1:16:19たりはするんですねえま15でこの
  1655. 1:16:22フェッチのデフォルト挙動みたいなのはあ
  1656. 1:16:25勝手にキャッシュするみたいなは実際緩和
  1657. 1:16:27されてはいるんですがまただ今日の全あの
  1658. 1:16:31最初の方で説明してきた通りまリアクトの
  1659. 1:16:33フェッチパッチを取り込んでいたりとか
  1660. 1:16:35hmrのキャッシュみたいな機能があった
  1661. 1:16:37りっていうことを考えるとまそうそうこの
  1662. 1:16:39フッチAPIをバッチするっていう行為
  1663. 1:16:41自体をネクストがやめるっていうのはま
  1664. 1:16:44あったとしてもまだいぶ先なんじゃないか
  1665. 1:16:46なと思っているのでまフェッチが汚れ続け
  1666. 1:16:49ていくことはもう許容していくしかないの
  1667. 1:16:52かなと思っていますえ
  1668. 1:16:55これは僕がそのAppleタの開発してい
  1669. 1:16:57た時V13とかVとかでやってた時にあ
  1670. 1:17:00もうフェッチパッチどうしようもねえなっ
  1671. 1:17:02て思った時にしぶしぶやっていたワーカ
  1672. 1:17:04ラウンドですね要するにネクストが
  1673. 1:17:06フェッチを認識するより前に自分の当て
  1674. 1:17:09たいパッチを当ててしまうっていうま俺の
  1675. 1:17:11俺の方で先にやらせろみたいなですねま
  1676. 1:17:13そもそもグローバルディスのにパッチを
  1677. 1:17:15当てるところでなんかこう順序を気にし
  1678. 1:17:17てる時点で負けてるんですけど負けてるの
  1679. 1:17:19は100の承知なんですけどまこれぐらい
  1680. 1:17:21しかやり方がないっていう話ですねで
  1681. 1:17:24例えばノードオプションで言うとえっと
  1682. 1:17:28esmの場合でちょっとノードの
  1683. 1:17:30バージョンがいくつから使えたか忘れたん
  1684. 1:17:31ですけど配分配分イポートっていうところ
  1685. 1:17:34の先にSMの名前書くと
  1686. 1:17:37えっと最初にインポートするファイルとし
  1687. 1:17:40て認識されますしcjsの場合だったら
  1688. 1:17:42配分配リクでcjsのコードを書けばあの
  1689. 1:17:46同じことができますしあとはまNEXTの
  1690. 1:17:48カスタムサーバーの機能使っちゃえばえ
  1691. 1:17:50自分でネクロードする前に2のあの
  1692. 1:17:53モジュール読み込めるのでえっとま俺の
  1693. 1:17:56パッチを先にやらせろ合戦に勝てるわけ
  1694. 1:17:59です
  1695. 1:18:00ねまはっきり言って本当にひどいワーク
  1696. 1:18:04ラウンドだと思ってるんですけどまこれが
  1697. 1:18:061番マっていう感じですということで
  1698. 1:18:09えっと今日のまとめですまあの話した通り
  1699. 1:18:12NEXTフェッチにパッチを当ててて
  1700. 1:18:14例えばリクエストメモリーズだったりとか
  1701. 1:18:16ベータキャッシュだったりとかhmrの
  1702. 1:18:18キャッシュっていうところに活用してます
  1703. 1:18:20NEXTV155でも多分フェッチに
  1704. 1:18:22パッチが当たることそれ自体はえ引きき
  1705. 1:18:25実行されていくんだと思ってますMSW
  1706. 1:18:27ノードとかDDトレースみたいなペッチを
  1707. 1:18:30パッチすることでえいい感じに動いてる
  1708. 1:18:32ソリューションみたいなのと衝突するって
  1709. 1:18:34いうことはあの用意に起きますし実際
  1710. 1:18:36NEXTV14では起きるのでえこれは
  1711. 1:18:39注意しといた方がいいのかなと思ってます
  1712. 1:18:41ま現代的なフロントエンドみたいなこと
  1713. 1:18:43言ってますけど正直こうこういうのを見
  1714. 1:18:45てると本当に白票の上でギリギリ鳴いたっ
  1715. 1:18:48てるんだなみたいなこと思ってなんか誰に
  1716. 1:18:50ぶつければいいんだろうみたいな気持ちに
  1717. 1:18:52なりますよねはいあと参考資料ですね
  1718. 1:18:55えっとこの下のブログいいいいタイトル
  1719. 1:18:59ですよねWhyパッチングGlobal
  1720. 1:19:01is
  1721. 1:19:01ハーフこれ書いたえっとこの作者の方はえ
  1722. 1:19:05MSWの作者の方でまネクストだったりと
  1723. 1:19:09かえっと他のフレームワークがやっぱり
  1724. 1:19:11ペッチにパッチしてる話があるんですけど
  1725. 1:19:13まそれに対するこう悲しい辛いみたいな
  1726. 1:19:16ですね魂の声みたいなのが読めるのでま
  1727. 1:19:19興味があったら読むのお勧めします以上
  1728. 1:19:21ですどうもありがとうございました
  1729. 1:19:24ありがとうございございました非常に有名
  1730. 1:19:26なレアフレーマークがフッチにパッチ当て
  1731. 1:19:28ていてあのとても非常にモテモテだなと
  1732. 1:19:31思いまし
  1733. 1:19:32たありがとうございましたそうしましたら
  1734. 1:19:35えっと今から5分えっと20時25分まで
  1735. 1:19:39休憩の時間にさせていただければなと思い
  1736. 1:19:42ます
  1737. 1:26:53た
  1738. 1:26:57オッケーですかあそれではパネル
  1739. 1:27:00ディスカッションの方に進め入っていき
  1740. 1:27:02たいと思いますあのちょっと全体的にあの
  1741. 1:27:04時間が押してしまってるんですがパネル
  1742. 1:27:06ディスカッションの時間を大事にしたいの
  1743. 1:27:08で
  1744. 1:27:11あの20時40分までのお手だったんです
  1745. 1:27:14が10分伸ばしてえっと20時50分まで
  1746. 1:27:16ディスカッションの方やっていきたいと
  1747. 1:27:17思いますよろしくお願いします
  1748. 1:27:24[拍手]
  1749. 1:27:26はいちょっとえじゃテーマの方に移らせて
  1750. 1:27:31いただきますえといくつかちょっと自分の
  1751. 1:27:33方でテーマピックアップしてまして今回
  1752. 1:27:36あのアンリッシュっていうえっとタイトル
  1753. 1:27:38の通りま力を解放させるってことがま需要
  1754. 1:27:40なのかなという風に思ってるんですけれど
  1755. 1:27:42も結構いろんな今日の発表の内容をお伺い
  1756. 1:27:45するとやっぱりフレームワークとして結構
  1757. 1:27:47難しい部分もたくさんあるのかなと感じて
  1758. 1:27:49ますそんな中であのフレームワークとして
  1759. 1:27:51の力を最大発見するために自だと思ってる
  1760. 1:27:55ことちょっとお聞きできればなと思い
  1761. 1:27:58ますそうしましたらじゃあちょっと手前側
  1762. 1:28:02のすさんの方
  1763. 1:28:04からいただけたりしますかなるほど
  1764. 1:28:08僕は多もフロントエンド1000人の
  1765. 1:28:11エンジニアじゃないんでちょっとあんまり
  1766. 1:28:14的を得たことは言えないかもしれないです
  1767. 1:28:16けどなでしょうねまNEXTJSとか見て
  1768. 1:28:19てももうサーバーコンポーネントとか
  1769. 1:28:22サーバーアクションとかなんかそういうの
  1770. 1:28:25が増えてきてもうもはやフロントも
  1771. 1:28:27サーバーも一緒になって考えるみたいに
  1772. 1:28:29なってきてるんでま全体をこう最適化する
  1773. 1:28:32というか最大限を発揮しようとするとま
  1774. 1:28:36フロントエンドていう領域じゃなくなるの
  1775. 1:28:39かなみたいなのをま最近感じてるんでま逆
  1776. 1:28:44に言うとNEXTJSとかで本当にもう
  1777. 1:28:46サーバーのコードも普通にスムーズに書い
  1778. 1:28:50て連携できるようになってきてるん
  1779. 1:28:52でもうフロントエンドエンジニアが全部
  1780. 1:28:55やればいいじゃんみたいな感じの風になっ
  1781. 1:28:58てきてるからもうだからバックエンド
  1782. 1:29:00エンジニアいらねえよみたいな感じでこう
  1783. 1:29:04フロントエンドの人がグイグイこう出張っ
  1784. 1:29:07てくれば最大限発揮しつつこう自分たちの
  1785. 1:29:12世界がやってくるんじゃないかと思って
  1786. 1:29:14ます
  1787. 1:29:17けどあり分
  1788. 1:29:26順番があのはいプレストのお願いします
  1789. 1:29:29そうそうですねちょちょっとなんか今の話
  1790. 1:29:31と続かないかもしれないんですけどなんか
  1791. 1:29:33フレームワークってま何かの意図を持って
  1792. 1:29:36あのあるユースケースまないしあの広い
  1793. 1:29:39ユースケースかもしれないですけどに対し
  1794. 1:29:41てなんていうかまあの一定の枠組みを提供
  1795. 1:29:44するまフレームという名の通りだと思って
  1796. 1:29:46いてでそうするとまあの最大限の力を発揮
  1797. 1:29:49するってこはつまりえっとその
  1798. 1:29:50フレームワークのデザインされた意図
  1799. 1:29:53みたいななんていうかこういう風に使うと
  1800. 1:29:55こういう風にうまくいくんだっていうこと
  1801. 1:29:58をまあのインターフェイスからも
  1802. 1:29:59読み取れるとは思うんですけどまそういう
  1803. 1:30:01とこをこう意識しながらあの考えていく
  1804. 1:30:03みたいないうようなことをすればあの発揮
  1805. 1:30:07できやすいのかなと思っていますでそう
  1806. 1:30:10いう意味で言うとあのあなんかすごい
  1807. 1:30:13ぶっ掛けたこ行っちゃいますよいや
  1808. 1:30:15ネキストジスってあのさっきちょっと
  1809. 1:30:17ちらっとその話したんですけどあの
  1810. 1:30:19パブリックなインターネットからアクセス
  1811. 1:30:21される時に素早くこうリスポンスを返す
  1812. 1:30:24みたいなあの方にどちらかとと向いてる
  1813. 1:30:26アプリでBTBサースで使っていいんだっ
  1814. 1:30:28けって一瞬思っちゃったんですけどでも
  1815. 1:30:30あのまそういう意図を意識した上でまあの
  1816. 1:30:34よりあのそうですねBTBのサーズでも
  1817. 1:30:36向いた使い方をすればま発揮させることは
  1818. 1:30:39できるんじゃないかみたいなのが自分の
  1819. 1:30:41考えですあありがとうございますそ
  1820. 1:30:43フレームワークの意図みたいなのプレサ
  1821. 1:30:45さんはどういう風に感じ取ってるという
  1822. 1:30:48か情報収集してるんですかそうすね
  1823. 1:30:54これめちゃくちゃなんだろうなあの
  1824. 1:30:57トリプルアクセルみたいなこと言いそうに
  1825. 1:30:59なるんですけど感覚みたいなあのいやでも
  1826. 1:31:02あのなんていうかまデザインじゃないです
  1827. 1:31:05かやっぱインターフェイスそのものがその
  1828. 1:31:08例えば
  1829. 1:31:09あのまサーバーコンポーネントもその
  1830. 1:31:12関数を通してあサーバーアクションか
  1831. 1:31:15ごめんなさい関数を通して呼び出せるよう
  1832. 1:31:17にしますっていうのとかもなんていうか今
  1833. 1:31:20までのそのあの普通のJSの書き方ででき
  1834. 1:31:23ますよみたいなあのデザイン来
  1835. 1:31:27たデザインだと思ってい
  1836. 1:31:30てまその分なんか複雑さをその中に
  1837. 1:31:33閉じ込めてくれているなんでそこをなんて
  1838. 1:31:36いうかそこに複雑さが存在しているけどま
  1839. 1:31:38あのま簡単にしてくれてるんだよなみたい
  1840. 1:31:41なことをこう意識するとか例えばそういう
  1841. 1:31:42ことま含まれるかなと思いますありがとう
  1842. 1:31:45ございますそしたらくみさんの方お願いし
  1843. 1:31:49ますこうやって喋る
  1844. 1:31:52入っトークでもさせられるのかなって思っ
  1845. 1:31:55て焦っちゃいましたけど何の話何してでし
  1846. 1:31:57たっけあ最大限発揮するために重要なあで
  1847. 1:32:00もそうですねえっと僕もその今えっと
  1848. 1:32:03おっしゃっていただいたやっぱり良い
  1849. 1:32:05フレームワークって使っていれば勝手に
  1850. 1:32:08そのフレームワークの設計者が考えている
  1851. 1:32:12思想に乗れるだと思うんですよねえなので
  1852. 1:32:16その何でもできるすごく便利なライブラ
  1853. 1:32:18リーっていうのとフレームワークの違いは
  1854. 1:32:21やっぱりそこかなと思っていてで
  1855. 1:32:24そういうのをあの知って使うのとあ知って
  1856. 1:32:29というかま想像してこうかなって思い
  1857. 1:32:30ながら使うのとそうじゃないとりあえず
  1858. 1:32:33インストールしました使いましたっていう
  1859. 1:32:35場合では大きな差が出るんじゃないかな
  1860. 1:32:38みたいなのはやっぱりあのAppleター
  1861. 1:32:40の話で言うとえっとリアクトサーバー
  1862. 1:32:43コンポーネントってま何のためにできたん
  1863. 1:32:46だっけみたいなのをそのま作った人って
  1864. 1:32:49要するにリアクトチームリアクトデータ
  1865. 1:32:51チームの人たなのでまリアクトデータチ
  1866. 1:32:53チームの人たちが喋ってる動画探してあ
  1867. 1:32:56そういうことがしたかったのねだからこう
  1868. 1:32:58なってんのねなるほどねみたいなのをま
  1869. 1:33:00結構車内の人と話し合ったりしながらあ
  1870. 1:33:04だったらこういう風にアプリケーション
  1871. 1:33:05作るといいのかもねあだからNEXTの
  1872. 1:33:07キャッシュでこうなってんのねみたいな
  1873. 1:33:09あの壁打ちとかをよくやったりはしてい
  1874. 1:33:12ますでもう1個ま重要というか
  1875. 1:33:15その今日の話とかでもあったんですけどと
  1876. 1:33:19はいうまく動かねみたいな時にやっぱり
  1877. 1:33:21フレームワークがどう動いてるかをの内部
  1878. 1:33:25を知れる例えばえっとウパックとかタブ
  1879. 1:33:28パックがどういうJSのコードを吐いてる
  1880. 1:33:30んだろうって自分で読んであの読もうと
  1881. 1:33:33できる調べられるのとそうじゃないので
  1882. 1:33:36えっとどこまで自分がやっていいんだろ
  1883. 1:33:38うっていうこうアクセルの踏み込み方が
  1884. 1:33:39全然変わってくるのでまそういうスキルっ
  1885. 1:33:41ていうのはなんだかんだというかこの時代
  1886. 1:33:43だからこそというかあのまヒストリーAP
  1887. 1:33:46どうやって置き換えようかなとかま
  1888. 1:33:48フェッチにパッチどうやって当てようかな
  1889. 1:33:49みたいなの全部一緒ですよねうんやべえん
  1890. 1:33:52ですよ使ってる技術が全部
  1891. 1:33:54やべえんだけどやばいことしないとあの
  1892. 1:33:57上司から怒られるわけだからそのなんか
  1893. 1:33:59こうアクセルどこまで踏んでいいのかな
  1894. 1:34:01みたいな見極める力も一方で必要かな
  1895. 1:34:04なんてことを思ったりしています
  1896. 1:34:07はい
  1897. 1:34:09はいこれ最後めっちゃ不利ですねなんか
  1898. 1:34:12もうみんなが言ってくれて僕特に言うこと
  1899. 1:34:15ないんですけどそれだめでしょだめか
  1900. 1:34:17えっとそうですねただあのま先ほどから
  1901. 1:34:21話し上がってる通りでそのNEXTJSの
  1902. 1:34:24思想で言うとまやはりそのパフォーマン
  1903. 1:34:27スっていう面はすく考えられてると思うん
  1904. 1:34:30ですねまなんでその分キャッシュが難しい
  1905. 1:34:33とかうんそう最適化をもうフルでやると
  1906. 1:34:36ああいう感じになると思うんですね今の現
  1907. 1:34:38段階ではなんですけどまもちろんPPRと
  1908. 1:34:41かも今後あるとは思うんですけどなんで
  1909. 1:34:44その自分たちの作るサービス例今NEXT
  1910. 1:34:48GSだともう完全に2Cでめっちゃ
  1911. 1:34:50アクセスが来るこうサービスでも全然
  1912. 1:34:52耐えれるようなデになってるじゃないです
  1913. 1:34:54かただ先ほどおっしゃった通りその2Bで
  1914. 1:34:56はそこまで必要ないはずででそこまで
  1915. 1:35:00えっとやるかどうかっていうこう見極め
  1916. 1:35:03その例えばキャッシュが難しいからこの
  1917. 1:35:05キャッシュはオフにしようとかでそうする
  1918. 1:35:07ことによってま例えばそのNEXTだっ
  1919. 1:35:09たらこうデブでは動くんだけど
  1920. 1:35:10プロダクションにビルドするとこう
  1921. 1:35:13スタティックに変わるからあの結果が
  1922. 1:35:16変わるとかこういうことってよく
  1923. 1:35:17キャッシュはあるんですねなんですけど
  1924. 1:35:19そのフルルートキャシュとかのせいてです
  1925. 1:35:21ねなんですけどあのそういうものををこう
  1926. 1:35:25やっぱ2Cで今フルになってるやつを自分
  1927. 1:35:28たちは2Bだからこのキャッシュとこの
  1928. 1:35:29キャッシュはオフにしようとかでそうする
  1929. 1:35:31ことによってその扱うみ簡単になるわけ
  1930. 1:35:34ですよねそそうなんかよくわかんないバグ
  1931. 1:35:36とかも踏みづらくなりますしなのでそう
  1932. 1:35:38いう風にそのサービスにあったあのま
  1933. 1:35:41フレームワークの中のフレームワークの中
  1934. 1:35:44にあるこうレベル設定とかもえっとできる
  1935. 1:35:46ようになればいいのかなとはなんでえっと
  1936. 1:35:49先ほど皆さんが言った通りそのフレワーク
  1937. 1:35:51の思考そのどういう風な想で作作られてて
  1938. 1:35:54それを自分たちのサービスでどうやって
  1939. 1:35:56マッチさせようかっていうのはあのま
  1940. 1:35:58えっとエンジニアとしてえっと必要な力か
  1941. 1:36:01なと思ってますあありがとうございます
  1942. 1:36:05確かフレームワークの思想をえっと意識
  1943. 1:36:07するっていのは非常に大事だなと感じまし
  1944. 1:36:09たあともう1点ちょっと気になったのは
  1945. 1:36:12あのリアクトチームのあの話とかを
  1946. 1:36:15キャッチアップしてるって話があったと
  1947. 1:36:17思うんですけどもなんかフレームワークを
  1948. 1:36:19使ってて壁に当たった時とかになんかその
  1949. 1:36:22リアクトチームのど見るってのもちろんだ
  1950. 1:36:24と思うんですけど他に何かやられてること
  1951. 1:36:25とかってあったりします
  1952. 1:36:28かあのどいいんです
  1953. 1:36:32けど指しろ
  1954. 1:36:36や私はソースコード読んでしまううん自分
  1955. 1:36:40もそのタイプです
  1956. 1:36:46ねってるいいの最後の方が最後の方があれ
  1957. 1:36:49だよ難しくなるよ前のと一緒僕はあの
  1958. 1:36:54ソースコードを読んでる知り合いを見つけ
  1959. 1:36:56て聞くですね
  1960. 1:36:58うん知り合いに聞く強い羨ましい環境です
  1961. 1:37:04ねなんかさっきそのあの実際作った人の
  1962. 1:37:09から話を聞く話聞いてなんか確かにそうだ
  1963. 1:37:11よなて思ったんです
  1964. 1:37:14うんそういうのってどこで繋がったりして
  1965. 1:37:17思ですかあそ話を聞くっていうのはあの
  1966. 1:37:20ちょ直にこう聞くではなくてそういうま
  1967. 1:37:22例えばリアクトだったらえなんだろう今は
  1968. 1:37:26もうないのかF8みたいなイベントとか
  1969. 1:37:29ああいうところでこうダーンて発表とかが
  1970. 1:37:31あるじゃないですかまそういうところで
  1971. 1:37:34えっとそもそも現状の課題とは何かみたい
  1972. 1:37:36な説明とかを大体入ってるけどまそういう
  1973. 1:37:39のを聞いてあそれを解消したかったのね
  1974. 1:37:41みたいなのをあのキャッチアップする
  1975. 1:37:43みたいな意味合いですねだからあの問題を
  1976. 1:37:46来た時というよりはもっとあの全般的な方
  1977. 1:37:49の話はそっから仕入れることができまって
  1978. 1:37:51話ですねうんうんちょっとちゃいましたあ
  1979. 1:37:54ありがとうございます他あるよって方
  1980. 1:37:57いらっしゃいますかね一緒なんだよえっと
  1981. 1:38:01そうですねソースコードを読むです
  1982. 1:38:03ありがとうござい
  1983. 1:38:04ますはいまそっからその多分これみんなと
  1984. 1:38:08一緒なですけど多分そっからま一緒を辿っ
  1985. 1:38:10たりとかまうんうんやっぱ自分で手が加え
  1986. 1:38:13れる部分ってそのソースコードから見た時
  1987. 1:38:15にそこまでない可能性の方が全然あるので
  1988. 1:38:17そしたらま1周追ってとか1周立ててとか
  1989. 1:38:20そういう感じになるのかなと思ってます
  1990. 1:38:22うんうんうんありがとうござい
  1991. 1:38:24りそうなりますよねうんそこに気づく
  1992. 1:38:30とヒロッピーとランチするでだいぶ解決し
  1993. 1:38:34ますよなんかその大体すごい知ってるんで
  1994. 1:38:36ヒロッピーがそのソスとリアクトの19何
  1995. 1:38:40変わるんですかねって言ったら多分1時間
  1996. 1:38:41ぐらいずっと話してくれるんでそういう
  1997. 1:38:44理解が深まるそうですねこいこ話しまし
  1998. 1:38:49たありがとうございます
  1999. 1:38:55えっとこのテーマに関してあの聞いてる方
  2000. 1:38:57からなんか質問とかある方いますかこの
  2001. 1:39:00観点で聞いてみたいとか大丈夫ですか
  2002. 1:39:05ね早いんですけど2つめのテーマの方
  2003. 1:39:08にあのフロントエンドとてもあのサバ
  2004. 1:39:12コンポーネントとかアプルーターとか釣り
  2005. 1:39:14かり早いなっていう風に感じてましてあの
  2006. 1:39:17中着的になんかフロントエンドの技術を
  2007. 1:39:19なんかどのように捉えてるのかなっていう
  2008. 1:39:20ところとあとその持続的なシステムを作る
  2009. 1:39:23にあたってなんか意識してることあれば
  2010. 1:39:25この2点を聞きしたいなと思うんですが
  2011. 1:39:27えっとじゃあ今回はひろぴさんの方
  2012. 1:39:31から質問2つあってちょっと待今今ですよ
  2013. 1:39:34ね
  2014. 1:39:41はい早い方がこれ最後の方が良かったね
  2015. 1:39:44最後です
  2016. 1:39:47かすいませんちょっといきなりのもなっ
  2017. 1:39:50ちゃうかもしれないんですけど
  2018. 1:39:53そうですねまもちろんその中京中長期的に
  2019. 1:39:58そのフロントエンド技術をどうやって
  2020. 1:39:59組み込むかっていう話で言うとま今の時代
  2021. 1:40:03の話になってししまうのかもしれないです
  2022. 1:40:05けどそのNEXGS入れていればその
  2023. 1:40:08NEXGS1個フレマーク入れていると
  2024. 1:40:10例えばあのパーティータウンとかあの
  2025. 1:40:13ウェブワーカーでこうGTMとか動くもの
  2026. 1:40:15ですよねとかああいうのをサード
  2027. 1:40:17パーティー系も全部入ってますしなん
  2028. 1:40:19だろうな結構フレームワークがサポートし
  2029. 1:40:21てくれてるんでそのフロントンの技術ま
  2030. 1:40:25このフロントンの技術っていうのがどう
  2031. 1:40:26いうものをちょっとさすのかが結構難しい
  2032. 1:40:28んですけど例ライブラリーとかはあんまり
  2033. 1:40:30入れなくてもいいかなと思っててで例えば
  2034. 1:40:32そのフロントエン例えば新しいCSSの
  2035. 1:40:35そのネストとかうんああいうシンタックス
  2036. 1:40:37に関しては
  2037. 1:40:39あのあ難しいな今の言い方結局僕テイル
  2038. 1:40:43ウンド使っちゃってるから使ってないんだ
  2039. 1:40:45けどまだけどそのそういう新しい
  2040. 1:40:49シンタックスとかはま使ってもいいかなと
  2041. 1:40:51は思いつつまやっぱりそのCSSに関して
  2042. 1:40:54はそのダウンパイルが難しいのでJSと
  2043. 1:40:56違ってなんであのCSSに関しては
  2044. 1:40:58ちょっとまだ組み入れる段階ではない部分
  2045. 1:41:01もやっぱあるレイヤーとかは入れれるん
  2046. 1:41:03ですかねうんうんでえっとなんでどう
  2047. 1:41:05取り組んでいくかって言うとやっぱりその
  2048. 1:41:07えっとこ例えばJSとかでこう新しい信託
  2049. 1:41:11例えばユージングとかそういうのですよ
  2050. 1:41:12最近入ったものだとうんうんうんうんで
  2051. 1:41:15えっとそういうのとかはえっと使ってはく
  2052. 1:41:18行きたいっていうやっぱ気持ちあってただ
  2053. 1:41:22結構その特にに関してはやっぱこう
  2054. 1:41:24ユーザーの使ってるユーザーのその環境に
  2055. 1:41:26依存する部分がやはりあるのでその使える
  2056. 1:41:30ものと使えないものっていうのはやっぱ
  2057. 1:41:31区別してえっと積極的に取り組んでいき
  2058. 1:41:33たいのとえっと持続可能なシステムを続
  2059. 1:41:39可能なシステムを開発するために意識して
  2060. 1:41:42いる
  2061. 1:41:43ことそうですねあんまり外れたことはやん
  2062. 1:41:47ないようにしてるのとすごいありきたり
  2063. 1:41:49ですね
  2064. 1:41:51あのこれ持続的なシステム開発これなんか
  2065. 1:41:54プロダクションとかでいいんですよねあ
  2066. 1:41:55そういうことですはいま僕の場合は結構
  2067. 1:41:57もうパッケージあんま入れないようにして
  2068. 1:41:59てうんそのなんか何でもどんどんその
  2069. 1:42:03パッケージ入れてくともう
  2070. 1:42:04レノベイティングカラー
  2071. 1:42:23まあとはそのNEXJSとかで言うとま
  2072. 1:42:25やっぱりあの特に
  2073. 1:42:28そのま実験的な機能とかがやっぱあると
  2074. 1:42:31思います例インスルメントとかもそうです
  2075. 1:42:33よねうんあれも実験的な機能で入ってるん
  2076. 1:42:35ですけどそのあいうところでえっとはまり
  2077. 1:42:38やっぱはまる可能性結構やっぱ僕もはまっ
  2078. 1:42:40たんですよ実DDトレスやつでであのそう
  2079. 1:42:45いう時にあのはまんないようあはまっても
  2080. 1:42:47いいようにやっぱりソースコードは読んで
  2081. 1:42:49るっていうのはやっぱありましたその
  2082. 1:42:50NEXJS自体のソースコードですねうん
  2083. 1:42:52うんうんうん
  2084. 1:42:53っていう感じでちょっとごめんなさい全然
  2085. 1:42:55考えてなかったんでいえありがとうござい
  2086. 1:42:57ます薄い話でしたはい交代
  2087. 1:43:00ですあそのNEXTデースの行動を読んで
  2088. 1:43:03いくってのはその自身の興味のあるところ
  2089. 1:43:05ベースでなんか掘っていくような感じなん
  2090. 1:43:07ですか僕はそうですねそのはまった時は
  2091. 1:43:11もう読まざるを得ないので読むんですけど
  2092. 1:43:14基本的にはターボーパックしか読んでない
  2093. 1:43:17です
  2094. 1:43:19ねなんで本当に好きなところだけ読んでる
  2095. 1:43:23コの方がやっぱ多いですね結構やっぱ
  2096. 1:43:25ネクスは量が多いので全部読むこと結構
  2097. 1:43:27大変なんですうんうんうんうんなんであの
  2098. 1:43:29部分的にっていう感じではあるんですけど
  2099. 1:43:31やっぱ日先ほどの1つ目の話と一緒です
  2100. 1:43:33けどやっぱはまった時はソースコード読む
  2101. 1:43:34んでその箇所に関してはやっぱ読むうん
  2102. 1:43:36うんうんうんで特にはまりやすい部分は
  2103. 1:43:38事前に読んでたっていうのはちょっとあっ
  2104. 1:43:40たっていう感じですかねうんうんあ
  2105. 1:43:41ありがとうござい
  2106. 1:43:42ますあくみさんのお願いします今ひろっ
  2107. 1:43:46ぴーさんの話聞て思ったんですけど僕
  2108. 1:43:48はまらないとソスコと呼ばないんでてこと
  2109. 1:43:49はネクストに好きな部分僕ないんだな
  2110. 1:43:55はい何でしたっけ
  2111. 1:43:58えっと下の質問から行くとまとにもかくに
  2112. 1:44:03もえっとごそっとと捨てやすいコードの
  2113. 1:44:06塊りを意識するみたいなことはフロントで
  2114. 1:44:09は特に注意してますねなんで実はこういう
  2115. 1:44:14関数エクスポートしてたけど誰からも
  2116. 1:44:17インポートしてないとかま昔のCSS
  2117. 1:44:20えっと本当に10年前とかの話だとなんか
  2118. 1:44:251個のでっかいCSSにクラスいっぱい
  2119. 1:44:27書いてあるけどえっと全然読んでない
  2120. 1:44:30じゃんこれみたいなのをうんそれこそ俊蔵
  2121. 1:44:33さんとかよくそういうのやってましたよね
  2122. 1:44:35昔あ僕と俊蔵さん昔あの同じ会社だったん
  2123. 1:44:38であの年さんがそういう仕事したの知って
  2124. 1:44:41と言ってるんですけどやっぱフロントって
  2125. 1:44:44そのやっぱいいだねとかこれ無駄じゃんと
  2126. 1:44:47かあとまABテストみたいなやつですね
  2127. 1:44:49もうちょっと真面目なやつで言うとまそう
  2128. 1:44:50いうのとかあるんでまそういう時にまテ
  2129. 1:44:53本当にこうテストコードとかそういうのも
  2130. 1:44:55含めてえっといかに捨て
  2131. 1:44:58やすいコードとして周りの人に書いて
  2132. 1:45:01もらうかみたいなことは割とその
  2133. 1:45:03プロダクション開発っていう意味だとあの
  2134. 1:45:06どんなライライ使ってても意識はしてるか
  2135. 1:45:09もですね中長期的にフロントの技術をどう
  2136. 1:45:12組み込んでくかっていうところはまあ
  2137. 1:45:15なんかあんまり真面目に考えたことなくっ
  2138. 1:45:18てもう最後はお前が使いたいって言ったら
  2139. 1:45:21使えばいいじゃんなんです
  2140. 1:45:23別にJS使わなくたアプリケーション
  2141. 1:45:26作れるわけじゃないですかでもまアルタ
  2142. 1:45:28使ってみたいから使ってんですよねうん
  2143. 1:45:31うんなの
  2144. 1:45:33でまあ自分でやれるって信じてやればいい
  2145. 1:45:37んじゃないですかねうんうんうんうん核が
  2146. 1:45:39大事というところであとそのチームとして
  2147. 1:45:43その捨てやすい行動各の大事にしてるって
  2148. 1:45:45話がだったと思うんですけどなんかそれを
  2149. 1:45:47くみさんだけじゃなくチームとしてそれを
  2150. 1:45:50なんだろう確実に捨てやすいものを作って
  2151. 1:45:53くってのはなどういった工夫の上でなんか
  2152. 1:45:56そういったなんだろう
  2153. 1:45:58な文化というかそういうの進とさせてるん
  2154. 1:46:01ですかまなんか非な例というか簡単なやつ
  2155. 1:46:06で言うとまこれは皆さんもよくやると思う
  2156. 1:46:08んですけどそのフロントのコンポーネント
  2157. 1:46:11を作る時に何でしょうあのハイジェとか
  2158. 1:46:14ああいうのを使ってえっとコンポーネント
  2159. 1:46:17のディレクトリを作ったら何でしょうね
  2160. 1:46:19あのインデックスTSXとインデックス
  2161. 1:46:21テストTSXとCSSモジュールだったら
  2162. 1:46:23インデックスCSSモジュールズとみたい
  2163. 1:46:26なのをこう自動で生成しておけば
  2164. 1:46:29コンポーネント捨てようと思ったらその
  2165. 1:46:30ディレクト捨てるだけっていうのが勝手に
  2166. 1:46:32できてる状態にはなりますよねうんうん
  2167. 1:46:34うんでもちろんそのそこまで簡単に自動化
  2168. 1:46:38できないようなものとしてはえっとこの
  2169. 1:46:40テストコードの使うデータってこういう
  2170. 1:46:42とこに書いた方がえっと重複は多いかも
  2171. 1:46:45しれないけど実は捨てやすいよねみたいな
  2172. 1:46:47とかはまペアプロとかモブプロとかまそう
  2173. 1:46:49いうのを通してまそれこそその文化みたい
  2174. 1:46:51なうんうんうんうんでまなるべくみんなに
  2175. 1:46:54知っていってもらってその教えた人が今度
  2176. 1:46:56は次の人にえそういう指摘をできるように
  2177. 1:46:59なってくれたらいいなみたいなことは考え
  2178. 1:47:00てるって感じですかねうんうんうんうん
  2179. 1:47:02確かにピアプロモプロ有効活用できそうだ
  2180. 1:47:04なと思いましたありがとうございますそ次
  2181. 1:47:07プレストさんの方お願いし
  2182. 1:47:09ますなんか確かにミシの方に来ると難しく
  2183. 1:47:12なっます
  2184. 1:47:13やっぱりいや多分あのあのそうまさにあの
  2185. 1:47:18お二方がおっしゃっていただいた話なて
  2186. 1:47:21ちょっと正直思っちゃったんですけどあの
  2187. 1:47:23そうですね多分あのあの元の質問の意の中
  2188. 1:47:28に多分ライブラリーの選定とかみたいな話
  2189. 1:47:30も多分入っていたかと思ちょっとなんか
  2190. 1:47:32そこに補足するとなんかそのあのまなんか
  2191. 1:47:37信じていいものとちょっとやばそうなも
  2192. 1:47:39のっていうのはまあの確実にあってなんて
  2193. 1:47:42かその例えば
  2194. 1:47:45えっとまあのネキストJSで新しい機能が
  2195. 1:47:49出ましたて言ったらまあの世の中のその
  2196. 1:47:53なん何万人何十万人わかんないですけどの
  2197. 1:47:56エンジニアがそれを使っていくってことに
  2198. 1:47:58なるのでまあのいややっぱり無理でした
  2199. 1:48:01ごめんなさいみたいなことはあるかもしれ
  2200. 1:48:03ないけれどもなんか急に投げ出されたりと
  2201. 1:48:05かすることはないわけですよねなんかそう
  2202. 1:48:08いう意味でのなんてか信頼性とかあの安心
  2203. 1:48:11感っていうのはあるので例えばそれは信じ
  2204. 1:48:13ても大丈夫なんですけどただあのそうじゃ
  2205. 1:48:17ないなんかちょっとあのあの個人で例えば
  2206. 1:48:20頑頑張っているけれどもちょっとスが最近
  2207. 1:48:23厳しいなみたいなとかはちゃんとあの
  2208. 1:48:24見極めないと例えばいけないっていうのは
  2209. 1:48:27まよくある話だと思うんですけどまそこの
  2210. 1:48:29なんていうかうん将来将来にあたってこれ
  2211. 1:48:32は本当に
  2212. 1:48:33あのなんていうか支えられていくものなの
  2213. 1:48:36かっていうのはいろんな多角的な面から
  2214. 1:48:38それ見てまあの使うかどうかは判断して
  2215. 1:48:41いくべきなのかなっていうのがなんか自分
  2216. 1:48:43の力考えてることって感じですうんうん
  2217. 1:48:45うんうんあれ今の聞いてと思ったんです
  2218. 1:48:47けどSWCって割とメンテナス少なく
  2219. 1:48:50なかったでしたっけ
  2220. 1:48:53うん
  2221. 1:48:54まあえっと少ないかって言われるとその昔
  2222. 1:48:58よりは減ったんですけどそのノーJSで
  2223. 1:49:00TSが使えるようになったのは最近ですよ
  2224. 1:49:02ね1ヶ月ぐらい前うんであれはその内部
  2225. 1:49:05SWCでそう内部SWCなんですけどあの
  2226. 1:49:09まオーサーとかはえっとギットハブに
  2227. 1:49:12やっぱいるのでえっとやってますとまずで
  2228. 1:49:16えっとなんで少ないかって言うと今
  2229. 1:49:17オーサーがあのターボパックで忙しいん
  2230. 1:49:20ですねちょうどこの釣りシェイキング実装
  2231. 1:49:22してたんですけど
  2232. 1:49:23なんでその仕事で結構そのNEXTジスの
  2233. 1:49:26リポジトリーでラスト書いてるんですよ
  2234. 1:49:28なんで多分そう見えるかもしれない昔より
  2235. 1:49:30も減ってるっていうのはそういう意味です
  2236. 1:49:32ねなすか一応アクティブではある一応とか
  2237. 1:49:34アクティブではあります
  2238. 1:49:36ね回答になって
  2239. 1:49:39ます
  2240. 1:49:41はい最後すぐさんからお願いします別に
  2241. 1:49:44いらない
  2242. 1:49:46けど
  2243. 1:49:49あひピに聞くと何でも答えてくれるんで
  2244. 1:49:53いいですよ
  2245. 1:49:55ねそうですねなんかフロントエンドの技術
  2246. 1:49:58をどう組み込んでいくかまフロントエンド
  2247. 1:50:00の中にどう技術を組み込んでいくのかって
  2248. 1:50:03いうのとフロントエンドの技術そのものを
  2249. 1:50:05こうプロダクト全体にどう組み込んでいく
  2250. 1:50:07のかとまあ2つなんかあるかなと思うん
  2251. 1:50:09ですけどまやっぱりそのなんかサーバー
  2252. 1:50:13サイドを浸食し始めている最近の流れで
  2253. 1:50:16言うと結構そのプロダクト全体でいうその
  2254. 1:50:19フロントエンドというかまNEXTJSと
  2255. 1:50:21かその辺りの立ち位置が変わってきてる
  2256. 1:50:23なっていうのを感じるのでま中上期的には
  2257. 1:50:27そのその辺の立ち位置がこうどうどの辺り
  2258. 1:50:30でこう定着していくのかなみたいなのは
  2259. 1:50:32結構見ていった方がいいのかなとは思って
  2260. 1:50:34いてまなんかちょっと車内とかでも喋っ
  2261. 1:50:38てるんですけどそのもうbffいらないん
  2262. 1:50:40じゃないのみたいなうんそのサーバー
  2263. 1:50:42コンポーネントとかサーバーアクション
  2264. 1:50:44あるんだったらbffいらないじゃんとか
  2265. 1:50:46そういう話もまフロントエンドの立場から
  2266. 1:50:48すると出てくるまネイティブアプリとか
  2267. 1:50:50そういうのを考えるとまそそそれだけでは
  2268. 1:50:53ないんでなんまbffがいらないってなら
  2269. 1:50:56ないんですけどまそういう風になってき
  2270. 1:50:58たりとかするんで結構その辺のこう
  2271. 1:51:00プロダクト全体で言ところのいわゆるの
  2272. 1:51:03ノードとかタイプスクリプトとかま
  2273. 1:51:06フロントエンドウブの立ち位置が変わって
  2274. 1:51:08きてるなっていうのを感じててまここは
  2275. 1:51:11なんかやっぱり世の中の流れを見ながら
  2276. 1:51:13いろんな考え方あるんだなって今まで通り
  2277. 1:51:15こうあの分けていくっていうよりはそう
  2278. 1:51:19いうこうそう統合総合的ななんかいろんな
  2279. 1:51:22ものを見た上でこのぐらいで線引きして
  2280. 1:51:25技術を使っていきましょうねみたいなこう
  2281. 1:51:27勘所がやっぱ必要になってくるかなって
  2282. 1:51:29いううん感じなのとまそのフロントエンド
  2283. 1:51:32を強い人たちがそのサーバー
  2284. 1:51:33コンポーネントとかそのサーバーサイドの
  2285. 1:51:35動きを取り入れようとするとまま全体的な
  2286. 1:51:39技術で言うとこうじゃバックエンドのたと
  2287. 1:51:41話してどういう風にしていこうかなみたい
  2288. 1:51:42なのこうフ点の人が多分話していかなきゃ
  2289. 1:51:44いけなくなるんでまそういう知識とかを身
  2290. 1:51:47につけてそこのその最適なあのバランスを
  2291. 1:51:50見つけていくみたいなのはやいかなきゃ
  2292. 1:51:53いけないのかなっていうのは思ってい
  2293. 1:51:56ますで持続的なシステム開発っていう意味
  2294. 1:52:00で言うとやっぱりま先ほど話された通り
  2295. 1:52:02そのリプレース可能なコンポーネントを
  2296. 1:52:04どう作っていくかっていうところが
  2297. 1:52:06やっぱり尽きるかな技術とか例えばま極端
  2298. 1:52:10な話そのネクストジェスじゃなくなる時代
  2299. 1:52:13も来るのでそういった時にそのリプレース
  2300. 1:52:15できるよねっていう状態にちゃんとしてお
  2301. 1:52:17くっていうのがやっぱり重要かなと思っ
  2302. 1:52:19てるのでまそれをこうどれぐらいの流まで
  2303. 1:52:21こう完璧に作り込むかってのあるんです
  2304. 1:52:23けどま例えばこのページをまっとこう別の
  2305. 1:52:26フレームワークに書き換えたいってなった
  2306. 1:52:28時にあのまそれをこう書き換えた後にそれ
  2307. 1:52:32が正しく動いてるって状態をこうなんか
  2308. 1:52:34なんらかこう外から検証できれば
  2309. 1:52:37リプレースできるのでうんまそういうの
  2310. 1:52:39コンポーネント単位にしろそのま
  2311. 1:52:41ファンクション単位にしろあのページ単位
  2312. 1:52:44にしろなんかまやっぱりそのリプレースし
  2313. 1:52:46た時にこう動作保証しているっていう状態
  2314. 1:52:48を外からあの維持できるっていうのが多分
  2315. 1:52:52可能のシステムなのでまま技術的には
  2316. 1:52:55やっぱりねどんどん移り変わり早いんで
  2317. 1:52:58本当にNEXTも15出て16出てアプ
  2318. 1:53:00ルーターじゃないのが次次の次ぐらい出て
  2319. 1:53:02くるかもしれないそうなった時にうーって
  2320. 1:53:04なるんでそのまあなんかそのあのここれ俺
  2321. 1:53:09たちのこの検証システムがあればもうここ
  2322. 1:53:11書き換えても動くってちゃんと保障でき
  2323. 1:53:13ますよみたいのがあるとまあのアップto
  2324. 1:53:16デートにちゃんとついていきながらあのま
  2325. 1:53:19みんなハッピーな状態がにご維持でき
  2326. 1:53:22るっていうんのはあるかなと思うのでま
  2327. 1:53:25テスト書こうねって話なんですけどあのま
  2328. 1:53:28テスト書くかまなんらかこう外からその
  2329. 1:53:31動作を保証できる仕組みを用いるのがいい
  2330. 1:53:34んじゃないかなとは思ってますうんうん
  2331. 1:53:35うんうんうんあありがとうございます
  2332. 1:53:37なるほど
  2333. 1:53:4014分
  2334. 1:53:44かてる
  2335. 1:53:46ね5分もバしてしまったでちょっとパネル
  2336. 1:53:50ディスカッションすいませんこれでお
  2337. 1:53:52終わりにさせていただければと思います
  2338. 1:53:54ありがとうございまし
  2339. 1:53:56たすいませタイムマネジメントが下手くそ
  2340. 1:54:00でそそうし
  2341. 1:54:06た次がアンケートかちょっとアンケートの
  2342. 1:54:11方画面に移すのでえっと解答お願いします
  2343. 1:54:14というところとオンラインの方は
  2344. 1:54:16えっとアンケート
  2345. 1:54:20あるこれか
  2346. 1:54:23アンケート映したのでオンラインの方も
  2347. 1:54:25ですかね含めて回答お願いし
  2348. 1:54:30ますもらいましょう
  2349. 1:54:35か知ら
  2350. 1:54:43ないあ大丈夫です
  2351. 1:54:53JA
  2352. 1:55:43アンケートの回答終わった方からあの後方
  2353. 1:55:45にあるあのお酒あの食べ物を持ちいただい
  2354. 1:55:48てあの本身会の方に移っていければなと
  2355. 1:55:50思いますので
  2356. 1:55:52思っておりますはい
  2357. 1:56:26そうしましたオンラインの方はこちらで
  2358. 1:56:28配信の方終わりにしたいと思います
  2359. 1:56:30ありがとうございました

About this transcript

This page contains the full transcript of Unleash Next.js - LayerX Web Frontend Night by LayerX 公式, generated from the public captions YouTube serves with the video. The transcript has 2,359 words across 2,359 segments, with the original timestamps preserved so you can click any line to jump to that moment in the embedded player.

What you can do with it

Use the transcript to take notes, quote the speaker, build a study guide, generate a summary with ChatGPT or Claude via the YouTube Summary tool, or export it as a timed subtitle file with YouTube to SRT. You can also re-open it in the transcriber to translate the transcript into 100+ languages.

Free YouTube transcript tool

YouTube2Text is a free YouTube transcript generator — no signup, no daily limit. Paste any YouTube link and get the full transcript instantly, with timestamps, click-to-jump, translation to 100+ languages, AI prompts for ChatGPT, Claude, and Gemini, and exports to TXT, SRT, VTT, or Markdown.