[U] Update channel content

This commit is contained in:
github-actions
2024-11-21 04:11:15 +00:00
parent 49c8c85f01
commit db64a25466
8 changed files with 74 additions and 17 deletions
+13 -1
View File
@@ -2,11 +2,23 @@
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="zh-cn">
<id>https://aza.moe/life</id>
<title>小桂桂的回忆录 📒</title>
<updated>2024-11-21T02:35:13.592316+00:00</updated>
<updated>2024-11-21T04:11:11.986977+00:00</updated>
<link href="https://aza.moe/life" rel="alternate"/>
<generator uri="https://lkiesow.github.io/python-feedgen" version="0.9.0">python-feedgen</generator>
<logo>https://aza.moe/meru_256px.png</logo>
<subtitle>「我们所经历的每个平凡的日常,也许就是连续发生的奇迹」</subtitle>
<entry>
<id>4671</id>
<title>小桂桂的回忆录 📒 #4671</title>
<updated>2024-11-21T03:25:16+00:00</updated>
<content>&lt;p&gt;今天花了一整天调查这个数据库问题, Hibernate 全责 &lt;i class="custom-emoji" emoji-src="emoji/6323582802050680516.webp"&gt;🛌&lt;/i&gt; 以后的项目再也不用 Java EE 了&lt;/p&gt;
&lt;p&gt;我试了一下把这整个函数用 native mysql 写出来,发现这条大查询只用 1.19 秒,那为什么我的 kotlin 代码运行速度差这么大呢?&lt;/p&gt;
&lt;p&gt;开了 SQL debug 之后我发现即使只是 .findAll() 都要 N 条查询,按理来说 select * from table 只要一条查询就行啊,为什么呢?仔细看看这 N 条查询发现它把 OneToOne fk 都一个一个拉下来了。原本首先花了一条查询 SELECT * FROM parent,然后又花了 N 条查询拉 SELECT * FROM child WHERE id=i...&lt;/p&gt;
&lt;p&gt;查了一下这个问题,网上说开 Hibernate bytecode enhance 就好了,它会修改编译完的字节码让 fk 链接用到的时候再查询而不是预先把所有东西查询好。问题是它不太兼容 kotlin,绕过了三个不同的问题才成功编译,之后加上 lazy fetch 终于可以让它在用到 fk 的时候再拉数据了... &lt;/p&gt;
&lt;p&gt;但是即使这样依然要把需要拉所有 fk 数据的地方改成手动 mysql 查询,因为 orm/jpql 没办法让 findAll 把单独的查询优化成 join &lt;i class="custom-emoji" emoji-src="emoji/6323582802050680516.webp"&gt;🛌&lt;/i&gt;&lt;/p&gt;
&lt;p&gt;唉 感觉凡是透明一点的 ORM 比如 ktorm 或者 exposed 都不会有这样的问题,以后不会再用 Java EE 了&lt;/p&gt;</content>
<link href="https://aza.moe/life?post=4671" rel="alternate"/>
</entry>
<entry>
<id>4670</id>
<title>小桂桂的回忆录 📒 #4670</title>
File diff suppressed because one or more lines are too long
Binary file not shown.

After

Width:  |  Height:  |  Size: 374 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 96 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 361 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 67 KiB

+48 -14
View File
@@ -61232,7 +61232,7 @@
"id": 4468,
"date": "2024-09-22T06:31:03",
"text": "开坑\n\n<del>开坑第一件事当然是起一个不会让我两年之后后悔的名字</del>",
"views": 103,
"views": 104,
"forwards": 0,
"reply": {
"id": 4467,
@@ -61255,14 +61255,14 @@
"id": 4469,
"date": "2024-09-22T17:18:21",
"text": "朋友在多伦多开的机厅快要正式开业了,想哪天去看看 qwq\n\n唉 今天才真正意识到开机厅的人多么有钱,maimai DX 框在这边一直是五位数 USD 价格都很难拿到货,然后他告诉我他们买了两台,第二台还在海上 <i class=\"custom-emoji\" emoji-src=\"emoji/6170424195260877091.webm\">🤗</i>\n\n再看看我为了省一两千 USD 自己造 Wacca 框,为了省一千 CAD 运 ADX 框的时候自己找渠道走了海运没走空运... <i class=\"custom-emoji\" emoji-src=\"emoji/6323267916523374069.webp\">🥺</i>",
"views": 103,
"views": 104,
"forwards": 2
},
{
"id": 4470,
"date": "2024-09-22T23:11:06",
"text": "去一趟机厅赚了 $172 <i class=\"custom-emoji\" emoji-src=\"emoji/6170419595350903248.webm\">✨</i>\n\n(好吧其实并没有赚,只是把他们从我这里订的 Wacca LED 替换板卖给他们了 quq",
"views": 97,
"views": 98,
"forwards": 2,
"media_group_id": 13816373334825989,
"images": [
@@ -61316,7 +61316,7 @@
"id": 4474,
"date": "2024-09-22T23:28:08",
"text": "他们那家店里面的样子,目前有 Wacca Plus, maimai DX, 中二, DIVA, SDVX, IIDX, 还有一些一般街机比如舰 C\n\n真的好厉害,今年三月的时候他们刚开始准备,居然现在就已经在准备开业了还有这么多劲爆机器... 真好啊,希望他们能回本 quq\n\n今天去的时候就很热闹了,有几个认识的人来玩,还有 discord 上一直觉得很厉害的店员在修路由器装修房间,也认识了一些新朋友 <i class=\"custom-emoji\" emoji-src=\"emoji/5445051141484190513.tgs\">👩‍👧‍👧</i>(不过感觉我认出来的人还是少数,虽然 discord 上都认识但是线下完全猜不出谁是谁——唉感觉是很多群友同时见面难免会遇到的问题",
"views": 107,
"views": 108,
"forwards": 0,
"media_group_id": 13816381504337565,
"images": [
@@ -61396,7 +61396,7 @@
"id": 4481,
"date": "2024-09-24T01:57:52",
"text": "以前用 VLC 放视频的时候经常不小心按倒 C 键然后画面就会被裁剪到一个特定的长宽比,当时还在想谁会用到这么鸡肋的功能\n\n然后今天遇到了一个用 16:9 设置录 4:3 ppt 的课 🌚",
"views": 175,
"views": 176,
"forwards": 2,
"images": [
{
@@ -61415,7 +61415,7 @@
"id": 4482,
"date": "2024-09-25T05:41:50",
"text": "定一个小目标,到明年 1 月 1 号之前我不再开新坑了,想要好好把开过没做完的坑填完...",
"views": 143,
"views": 144,
"forwards": 0
},
{
@@ -61428,7 +61428,7 @@
"id": 4484,
"date": "2024-09-25T05:49:15",
"text": "<a href=\"##桂桂今天吃什么\">#桂桂今天吃什么</a>\n柚子!\n\n<del>长长果味触手</del>",
"views": 138,
"views": 139,
"forwards": 1,
"images": [
{
@@ -61447,7 +61447,7 @@
"id": 4485,
"date": "2024-09-26T04:33:21",
"text": "我真的好不擅长数学...\n\nCSC458 计网课的大作业要用 cpp 实现一个网卡,我只用了三个小时就写完了,单元测试 100% 通过\n\nCSC311 机器学习理论课的作业有很多抽象数学,我这三天总共花了 14 个小时在这上面,做着做着发现完全忘记矩阵乘法维度的规则了去补补,又发现忘了非零特征值是什么意思了,怎样给偏导数求导也忘记了... 明明以为留三天的时间肯定够的,交上去的时候还是要空掉 20% 的分 <i class=\"custom-emoji\" emoji-src=\"emoji/6323582802050680516.webp\">🛌</i>\n\n怎么办好想退课... 但是现在是最后一年,退课就会打乱下学期的计划或者要晚一年毕业了 <i class=\"custom-emoji\" emoji-src=\"emoji/6323582802050680516.webp\">🛌</i>",
"views": 171,
"views": 172,
"forwards": 4,
"media_group_id": 13818601608875197,
"images": [
@@ -61556,7 +61556,7 @@
"id": 4492,
"date": "2024-09-30T03:03:34",
"text": "又遇到了何等的巧合\n\n上次在机场遇到扶苏的时候,扶苏和我聊到她有一个朋友也要去多伦多,也玩舞萌,当时还给那个朋友发了消息但是没有回\n\n然后前几天聊聊说 Celestium 新的对象听说这里有舞萌想来玩,已经习惯了有很多人来这里玩就没有多想。然后玩着舞萌和她聊天,聊着聊着发现她就是扶苏说的那个朋友 Tracer <i class=\"custom-emoji\" emoji-src=\"emoji/6323267916523374069.webp\">🥺</i> 世界成环了\n\n聊着聊着还发现她的成分和我好相似 <i class=\"custom-emoji\" emoji-src=\"emoji/6323275213672810256.webp\">😀</i> 都在训练用来数字化自己的 LLM、都喜欢打/魔改舞萌和 ff14、搭 homelab 和 NAS、也和我大一住宿舍的时候一样做了 UofT EAP 的无线转发、写 AC 机解作业题、在尝试了解 RF... 奇妙",
"views": 151,
"views": 152,
"forwards": 1,
"reply": {
"id": 4276,
@@ -63744,7 +63744,7 @@
"id": 4648,
"date": "2024-11-14T05:31:41",
"text": "<a href=\"##谜题\">#谜题</a> 这次是赛博管道维修工(?)\n\n<a href=\"https://www.puzzle-pipes.com/\">Pipes</a>",
"views": 93,
"views": 94,
"forwards": 0,
"reply": {
"id": 4404,
@@ -63907,7 +63907,7 @@
"id": 4657,
"date": "2024-11-16T09:07:27",
"text": "GitHub 星星数量排名前 10000 的代码语言统计数据\n\n排名第三位的是「没有代码」 🌚 <del>众所周知 GitHub 是一个由微软开发的免费网盘</del>",
"views": 126,
"views": 127,
"forwards": 2,
"images": [
{
@@ -64066,7 +64066,7 @@
"id": 4665,
"date": "2024-11-19T06:57:00",
"text": "感觉自己开始会玩一点 shogi 了 ☗",
"views": 84,
"views": 85,
"forwards": 1,
"images": [
{
@@ -64134,7 +64134,7 @@
"id": 4669,
"date": "2024-11-20T14:43:04",
"text": "今天是第 25 个跨性别纪念日。由 One Among Us、Project Trans 及跨性别相关放送联合举办的纪念晚会将于2024年11月23日 20:00 (UTC+8) 举行,以文字、念白与歌声献给陨落的星辰,献给所有柔软而坚韧的我们。\n\n收看方式: <a href=\"YouTube.com/@OneAmongUsPride\">YouTube.com/@OneAmongUsPride</a> 或访问 <a href=\"live.oau.app\">live.oau.app</a> 获取更多直播信息。",
"views": 31,
"views": 34,
"forwards": 0,
"forwarded_from": {
"name": "One Channel! 跨儿骄傲联合广播"
@@ -64156,7 +64156,7 @@
"id": 4670,
"date": "2024-11-20T15:44:45",
"text": "呜呜 当时写 AquaDX 的时候选择了「先用最方便快捷的方式把网页做出来,等有问题的时候再优化」,然后就随手写出了一个请求需要把数据库两个表完整拉下来的代码 <i class=\"custom-emoji\" emoji-src=\"emoji/6323267916523374069.webp\">🥺</i>\n\n然后现在真的有问题了,现在请求一次排行榜要拉 1452 个用户和 221448 条游玩记录... 优化之前要整整 30 秒,稍微加了缓存和 batching 优化了一下也依然要十秒 <i class=\"custom-emoji\" emoji-src=\"emoji/6323582802050680516.webp\">🛌</i>",
"views": 43,
"views": 49,
"forwards": 0,
"reply": {
"id": 3430,
@@ -64175,5 +64175,39 @@
"thumb": "media/4670.jpg_thumb.jpg"
}
]
},
{
"id": 4671,
"date": "2024-11-21T03:25:16",
"text": "今天花了一整天调查这个数据库问题, Hibernate 全责 <i class=\"custom-emoji\" emoji-src=\"emoji/6323582802050680516.webp\">🛌</i> 以后的项目再也不用 Java EE 了\n\n我试了一下把这整个函数用 native mysql 写出来,发现这条大查询只用 1.19 秒,那为什么我的 kotlin 代码运行速度差这么大呢?\n\n开了 SQL debug 之后我发现即使只是 .findAll() 都要 N 条查询,按理来说 select * from table 只要一条查询就行啊,为什么呢?仔细看看这 N 条查询发现它把 OneToOne fk 都一个一个拉下来了。原本首先花了一条查询 SELECT * FROM parent,然后又花了 N 条查询拉 SELECT * FROM child WHERE id=i...\n\n查了一下这个问题,网上说开 Hibernate bytecode enhance 就好了,它会修改编译完的字节码让 fk 链接用到的时候再查询而不是预先把所有东西查询好。问题是它不太兼容 kotlin,绕过了三个不同的问题才成功编译,之后加上 lazy fetch 终于可以让它在用到 fk 的时候再拉数据了... \n\n但是即使这样依然要把需要拉所有 fk 数据的地方改成手动 mysql 查询,因为 orm/jpql 没办法让 findAll 把单独的查询优化成 join <i class=\"custom-emoji\" emoji-src=\"emoji/6323582802050680516.webp\">🛌</i>\n\n唉 感觉凡是透明一点的 ORM 比如 ktorm 或者 exposed 都不会有这样的问题,以后不会再用 Java EE 了",
"views": 24,
"forwards": 0,
"media_group_id": 13857276129125749,
"images": [
{
"width": 2089,
"height": 1994,
"date": "2024-11-21T03:25:07",
"media_type": "photo",
"original_name": "photo_2024-11-21_03-25-07.jpg",
"url": "media/4671.jpg",
"size": 383053,
"thumb": "media/4671.jpg_thumb.jpg"
},
{
"width": 2354,
"height": 890,
"date": "2024-11-20T19:06:16",
"media_type": "photo",
"original_name": "photo_2024-11-20_19-06-16.jpg",
"url": "media/4672.jpg",
"size": 369848,
"thumb": "media/4672.jpg_thumb.jpg"
}
],
"reply": {
"id": 4670,
"text": "呜呜 当时写 AquaDX 的时候选择了「先用最方便快捷的方式把网页做出来,等有问题的时候再优化」,然后就随手写出了一个请求需要把数据库两个表完整拉下来的代码 <i class=\"custom-emoji\" emoji-src=\"emoji/6323267916523374069.webp\">🥺</i>\n\n然后现在真的有问题了,现在请求一次排行榜要拉 1452 个用户和 221448 条游玩记录... 优化之前要整整 30 秒,稍微加了缓存和 batching 优化了一下也依然要十秒 <i class=\"custom-emoji\" emoji-src=\"emoji/6323582802050680516.webp\">🛌</i>"
}
}
]
+12 -1
View File
@@ -12,7 +12,18 @@
<link>https://aza.moe/life</link>
</image>
<language>zh-cn</language>
<lastBuildDate>Thu, 21 Nov 2024 02:35:13 +0000</lastBuildDate>
<lastBuildDate>Thu, 21 Nov 2024 04:11:11 +0000</lastBuildDate>
<item>
<title>小桂桂的回忆录 📒 #4671</title>
<link>https://aza.moe/life?post=4671</link>
<description>&lt;p&gt;今天花了一整天调查这个数据库问题, Hibernate 全责 &lt;i class="custom-emoji" emoji-src="emoji/6323582802050680516.webp"&gt;🛌&lt;/i&gt; 以后的项目再也不用 Java EE 了&lt;/p&gt;
&lt;p&gt;我试了一下把这整个函数用 native mysql 写出来,发现这条大查询只用 1.19 秒,那为什么我的 kotlin 代码运行速度差这么大呢?&lt;/p&gt;
&lt;p&gt;开了 SQL debug 之后我发现即使只是 .findAll() 都要 N 条查询,按理来说 select * from table 只要一条查询就行啊,为什么呢?仔细看看这 N 条查询发现它把 OneToOne fk 都一个一个拉下来了。原本首先花了一条查询 SELECT * FROM parent,然后又花了 N 条查询拉 SELECT * FROM child WHERE id=i...&lt;/p&gt;
&lt;p&gt;查了一下这个问题,网上说开 Hibernate bytecode enhance 就好了,它会修改编译完的字节码让 fk 链接用到的时候再查询而不是预先把所有东西查询好。问题是它不太兼容 kotlin,绕过了三个不同的问题才成功编译,之后加上 lazy fetch 终于可以让它在用到 fk 的时候再拉数据了... &lt;/p&gt;
&lt;p&gt;但是即使这样依然要把需要拉所有 fk 数据的地方改成手动 mysql 查询,因为 orm/jpql 没办法让 findAll 把单独的查询优化成 join &lt;i class="custom-emoji" emoji-src="emoji/6323582802050680516.webp"&gt;🛌&lt;/i&gt;&lt;/p&gt;
&lt;p&gt;唉 感觉凡是透明一点的 ORM 比如 ktorm 或者 exposed 都不会有这样的问题,以后不会再用 Java EE 了&lt;/p&gt;</description>
<guid isPermaLink="false">4671</guid>
</item>
<item>
<title>小桂桂的回忆录 📒 #4670</title>
<link>https://aza.moe/life?post=4670</link>