<?xml version="1.0" encoding="UTF-8"?><rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>洛卡日记</title><description>阅读笔记与日常生活自留地</description><link>https://luoca.cn/</link><language>zh_CN</language><item><title>PT站从入圈到退圈</title><link>https://luoca.cn/posts/pt%E7%AB%99%E4%BB%8E%E5%85%A5%E5%9C%88%E5%88%B0%E9%80%80%E5%9C%88/</link><guid isPermaLink="true">https://luoca.cn/posts/pt%E7%AB%99%E4%BB%8E%E5%85%A5%E5%9C%88%E5%88%B0%E9%80%80%E5%9C%88/</guid><pubDate>Sat, 28 Mar 2026 04:00:00 GMT</pubDate><content:encoded>&lt;p&gt;最近组了个飞牛NAS小主机，配上6TB硬盘，本来只是想安安静静存点资源、搭个私人影音库，结果误打误撞在找资源的过程中，闯进了PT圈子。折腾了几天，从一脸懵圈到大概摸清门道，索性写一篇入门文章，把自己踩过的坑、了解到的知识点整理一下，方便和我一样刚入门的朋友少走弯路，快速搞懂PT到底该怎么玩。&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://bu.dusays.com/2026/03/28/69c7d6ec3fe46.png&quot; alt=&quot;飞牛.png&quot; /&gt;&lt;/p&gt;
&lt;h2&gt;一、初识PT：比BT更&quot;讲究&quot;的资源圈&lt;/h2&gt;
&lt;p&gt;BT大家应该都或多或少用过，不管是早年下电影、软件，还是偶尔找些稀缺资源，BT都是很多人的首选，但用下来的体验大多一言难尽。咱们先简单复盘下BT的逻辑：它靠的是网友互助的P2P上下行传输，你下载别人的文件时，也可以通过自己的上行带宽，让其他用户下载你已有的文件，理论上是个良性循环。&lt;/p&gt;
&lt;p&gt;但问题就出在&quot;自愿性&quot;上——是否开启上传、上传多少，全由自己决定。这就导致很多人养成了&quot;吸血&quot;式下载的习惯：只下载、不上传，用完就删种子，久而久之，整个BT网络的带宽被大量消耗，下载速度越来越慢，甚至比限速网盘还离谱。除此之外，BT资源鱼龙混杂，没有任何审核，很容易下载到带病毒、捆绑软件的文件，安全性也没保障。&lt;/p&gt;
&lt;p&gt;也正是因为BT的这些痛点，PT才应运而生，成为了资源爱好者的&quot;净土&quot;。&lt;/p&gt;
&lt;p&gt;官方定义是：PT站是私有种子分享站点，和公共BT站点不同，只有通过注册（满足一定门槛）的用户，才能在站内相互分享、下载资源。所以PT站的特点很明显：资源更丰富、画质更清晰、速度更稳定，但入门门槛也更高。&lt;/p&gt;
&lt;p&gt;可能这样说还是有点抽象，给新手朋友一个最直白的解释：大多数PT站都有两个&quot;强制要求&quot;——一是必须开启上传，且最终上传量要大于下载量（强制互助）；二是大多需要通过邀请（少数可付费）才能进站，不是随便就能注册的。另外，很多站点还会强制要求&quot;保种&quot;，也就是下载完的文件不能删，要一直保留在硬盘里，继续为其他用户提供上传。&lt;/p&gt;
&lt;p&gt;正是这些强制限制，让PT站避开了BT的所有弊端：下载速度通常比BT快很多，哪怕是老种子，下载成功率也极高；资源经过审核，画质、音质都有保障，基本不会有病毒；而且站内用户大多是同好，慢慢也形成了独特的社交氛围（比如交流保种技巧、求邀互助）。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;PT站点的核心优势在影视资源，其他类型的资源（比如软件、游戏）其实和普通网络上的差别不大。如果你本身不爱看电影、不在乎画质，或者就想做个&quot;伸手党&quot;（没有贬义，伸手不可耻），不喜欢被&quot;上传量&quot;&quot;保种&quot;束缚，那其实完全没必要入PT的坑，本文仅作了解即可，不用勉强自己。&lt;/strong&gt;&lt;/p&gt;
&lt;h2&gt;二、关于PT站点的常见疑惑&lt;/h2&gt;
&lt;h3&gt;1. 怎么才能拿到邀请码，进入PT站点？&lt;/h3&gt;
&lt;p&gt;在PT圈子里，求邀请码叫做&quot;求💊&quot;（谐音）。想拿邀请码不用不好意思，这个圈子的老用户大多很愿意给新人机会，前提是你足够真诚、愿意认真学习。&lt;/p&gt;
&lt;p&gt;先去PT相关的社区多互动，看看老用户的分享，了解圈子规则，积累一些基础认知；如果身边有已经在PT站的朋友，直接找他们求邀，成功率最高；一旦成功进入一个站点，不要潜水，多在站内互动，认真保种、提高自己的账号等级，主动参与站内的求邀活动，慢慢就能拿到其他站点的邀请码，逐步扩大自己的PT圈。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;去闲鱼买卖邀请码是PT圈子的严重违规行为，几乎所有站点都有&quot;连带封号&quot;政策——不仅买邀请码的账号会被封，卖邀请码的账号、甚至邀请你的账号，都会被一并封禁，所以千万不要抱有侥幸心理，踏实求邀才是正道。&lt;/strong&gt;&lt;/p&gt;
&lt;h3&gt;2. 要求上传大于下载？新手没上传量，怎么下载？&lt;/h3&gt;
&lt;p&gt;这是新手最关心的问题，其实不用慌，大多数PT站都有&quot;free机制&quot;，专门给新手铺路。简单说，刚在站内发布的资源，通常会被标记为&quot;free&quot;（免费），下载这类资源不会增加你的下载量，但上传量会正常累计。&lt;/p&gt;
&lt;p&gt;虽然这些free资源大多是你不感兴趣的（比如一些冷门影视、纪录片），但新手的第一桶上传量，全靠它们起家。另外，如果你打算搭建自己的Emby影音库，那free资源是&quot;福音&quot;——这些新种子会不断更新资源，你下载后保种，既能积累上传量，又能让Emby实现自动更新，一举两得。具体的free规则，每个站点会有细微差别，进站后先看站内公告，以实际规则为准。&lt;/p&gt;
&lt;h3&gt;3. 用什么软件下载上传？迅X可以吗？&lt;/h3&gt;
&lt;p&gt;答案很明确：不可以！迅X这类软件，在下载BT/PT资源时，会享受所有BT/PT用户的上传速度，但它的上传只对自身软件用户开放，其他BT/PT软件根本获取不到它的上传速度，这就是典型的&quot;吸血&quot;行为——只占别人的便宜，不付出，长期下来会破坏整个P2P网络的平衡，所以被所有PT站点禁止，用了只会被封号。&lt;/p&gt;
&lt;p&gt;给新手的首选推荐：qBittorrent 4.6版本。这款软件是开源的，没有任何广告、会员机制，完全免费，而且兼容性最好，能最大化发挥你的带宽速度，是PT圈子里使用最广泛的软件。重点提醒：不要盲目更新新版本，新版可能会有兼容性问题，导致上传下载异常，4.6版本足够稳定，用着就好。&lt;/p&gt;
&lt;p&gt;使用方法也很简单：安装好软件后，在PT站点复制种子链接，打开qBittorrent的web管理界面或UI界面，粘贴链接就能开始下载，下载完成后，保持软件开启、文件不删，就会自动开始上传。&lt;/p&gt;
&lt;h3&gt;4. 为什么我折腾了一天，下载/上传量还是很少？&lt;/h3&gt;
&lt;p&gt;&lt;img src=&quot;https://bu.dusays.com/2026/03/28/69c7d70508dc0.png&quot; alt=&quot;没速度.png&quot; /&gt;&lt;/p&gt;
&lt;p&gt;新手遇到这种情况很正常，主要有三个原因，对应解决就能改善：&lt;/p&gt;
&lt;p&gt;一是没有公网IP/IPv6。简单说，没有公网IP/IPv6，其他用户能看到你有这个资源，但连不上你的设备，只能和同样有公网IP的用户连接，连接范围大大缩小，上传下载自然慢。&lt;/p&gt;
&lt;p&gt;二是保种太少。如果你下载的资源本身比较冷门，保种的用户很少，别人下载的需求低，你的上传量自然上不去。建议多下载热门资源、新种子，这类资源下载的人多，上传机会也多。&lt;/p&gt;
&lt;p&gt;三是没有抓住free时机。新发布的free种子，大家都会趁着&quot;下载不扣量&quot;赶紧下载入库，这时候你下载后保种，会有大量用户从你这里下载，上传量会快速增长，一定要抓住这个机会。&lt;/p&gt;
&lt;h3&gt;5. 宽带不够，抢不过别人怎么办？&lt;/h3&gt;
&lt;p&gt;很多新手会发现上传量一直上不去，下载个种子上传才几百MB，攒半天也达不到站点要求，其实不用急，PT站点大多有&quot;魔力值&quot;机制，专门解决这个问题。&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://bu.dusays.com/2026/03/28/69c7d78eafe66.png&quot; alt=&quot;魔力.png&quot; /&gt;&lt;/p&gt;
&lt;p&gt;魔力值的获取很简单：只要你保种的文件足够多、保种时间足够长，每个小时都会自动增长魔力值。积累到一定数量的魔力值后，就可以在站内兑换上传量，兑换比例很高，很快就能把上传量刷上来。这种方法尤其适合没有公网IP/IPv6、宽带速度慢的新手，相当于&quot;不用真的上传太多，也能满足站点要求&quot;。&lt;/p&gt;
&lt;h3&gt;6. 可以开代理（盒子）刷上传量吗？&lt;/h3&gt;
&lt;p&gt;PT圈子里，代理、VPS被叫做&quot;盒子&quot;，因为当你开代理的时候，id后面会出来一个小盒子的图标，能不能用，要看具体站点的规则，不能一概而论。&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://bu.dusays.com/2026/03/28/69c7d6b85d764.png&quot; alt=&quot;刷子.png&quot; /&gt;&lt;/p&gt;
&lt;p&gt;盒子的优势很明显：带宽大、速度快，能快速刷出大量上传量，但弊端也很大——盒子的高速上传会抢占普通用户的上传机会，长期下来会导致普通用户上传困难，进而流失用户。所以不同站点的态度不一样：有的站点会限制盒子上传速度（比如限速95MB/s），有的要求必须捐赠成为VIP才能用，有的要求使用前必须报备，有的则完全不管，还有的直接禁止使用。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;刚进站不要急于用盒子，先熟悉站点规则，多和老用户交流，搞清楚站点对盒子的态度，再决定要不要用，避免因为违规被封号。&lt;/strong&gt;&lt;/p&gt;
&lt;h3&gt;7. 新手考核怎么过？&lt;/h3&gt;
&lt;p&gt;大多数PT站点都有新手考核，目的是筛选出愿意认真参与互助、遵守规则的用户，考核周期一般是30天左右，考核指标大同小异，给大家看一个常见的考核示例，也基本是比较复杂的了：&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://bu.dusays.com/2026/03/28/69c7d658d87dd.png&quot; alt=&quot;审核.png&quot; /&gt;&lt;/p&gt;
&lt;p&gt;名称：新人考核 时间：2026-03-24 00:59:07 ~ 2026-04-23 00:59:07&lt;/p&gt;
&lt;p&gt;指标1：上传增量, 要求：30 GB, 当前：183.71 GB, 结果：通过！
指标2：平均做种时间, 要求：30 Hour, 当前：44.96 Hour, 结果：通过！
指标3：下载增量, 要求：30 GB, 当前：31.43 GB, 结果：通过！
指标4：魔力增量, 要求：1000 , 当前：3176, 结果：通过！ 为期30天的新人考核&lt;/p&gt;
&lt;p&gt;逐一看下指标解读：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;上传增量：就是你考核期间的总上传量，只要多保种、多下载free种子，基本不难达标；&lt;/li&gt;
&lt;li&gt;平均做种时间：所有下载种子的保种时间平均值，重点提醒：如果一直不停下载新种子，会导致&quot;分母&quot;变大，平均时间被拉低，建议新手在考核最后几天少下载、多保种，避免拖后腿；&lt;/li&gt;
&lt;li&gt;下载增量：必须是&quot;付费下载&quot;的资源，也就是不能下载free资源，这个需要新手特意注意，提前规划好下载量；&lt;/li&gt;
&lt;li&gt;魔力增量：多保种、多互动就能积累，难度不大。&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;还有一些站点会额外要求&quot;发布一定数量的种子&quot;（比如8个），具体看站点公告，核心逻辑都是一样的：考核你是否愿意付出、是否遵守规则。&lt;/p&gt;
&lt;h3&gt;8. 和室友共用一个路由器，能同时跑PT吗？&lt;/h3&gt;
&lt;p&gt;尽量不要！如果你们两个人在同一个PT站点，共用一个路由器（同一个IP）跑PT，很容易被站点判定为&quot;刷量&quot;（恶意刷上传、下载量），轻则警告，重则直接封禁两个账号，甚至连带邀请你们的人，一定要注意避开这个坑。&lt;/p&gt;
&lt;h3&gt;9. 有没有快速刷上传的好方法？&lt;/h3&gt;
&lt;p&gt;除了前面说的&quot;魔力值兑换&quot;&quot;用盒子&quot;，还有一个适合新手的方法：用软件设置自动下载规则，让软件自动下载站点刚发布的free种子，下载完成后自动保种。这样一来，只要有其他用户下载这些新种子，就会占用你的上传带宽，你的上传量就能自动增长，不用手动操作，省时又高效。&lt;/p&gt;
&lt;h2&gt;三、必须重视的几个关键问题&lt;/h2&gt;
&lt;h3&gt;1. 网络体质很重要，这是基础&lt;/h3&gt;
&lt;p&gt;很多新手跃跃欲试，但忽略了自己的网络条件，导致后续体验很差，甚至被封号。PT对网络的最低要求的是：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;最好有公网IPv4、IPv6，或者易于P2P传输的NAT类型（比如全锥型NAT），没有的话，连接范围会大大缩小，上传下载速度都会受影响；&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;img src=&quot;https://bu.dusays.com/2026/03/28/69c7d7e7022f3.png&quot; alt=&quot;检测.png&quot; /&gt;&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;宽带上传速度最好大于4M（也就是400kb/s），宽带太小，上传速度太慢，根本抢不过其他用户，长期上传量不达标，可能会被站点封禁，甚至连带&lt;strong&gt;邀请你的人一起被封&lt;/strong&gt;！！！&lt;/li&gt;
&lt;/ol&gt;
&lt;h4&gt;跑pt能导致自己宽带限速？&lt;/h4&gt;
&lt;p&gt;这个我重点说一下，因为这个是退坑的最主要原因&lt;/p&gt;
&lt;p&gt;站长们都听过PCDN,PCDN是把自己的上传作为cdn的一个节点，也就是把一定量的内容下载本地，再进行p2p或者直接公网连接，帮助其他人进行网络加速。&lt;/p&gt;
&lt;p&gt;各大网站软件平台都多多少少希望省点宽带费，而用户又希望整点外快。于是就诞生了许多所谓&quot;网络挖矿&quot;（这只是一种戏称，和挖矿没啥关系），比如网某云，玩某云，京某云路由器，优某赚某宝或者类似的平台。当然也存在某些软件默认开启了&quot;网络激励计划&quot;，偷偷跑你上传宽带进行pcdn的。&lt;/p&gt;
&lt;p&gt;但是问题，各大网站软件平台们少买了宽带，剩了宽带费。用户们又占满了宽带，赚了宽带费，大家都很开心。亏的只有某些机构的世界终于达成了。&lt;/p&gt;
&lt;p&gt;所以某些机构就以某些原因和违规盈利为理由封杀相关操作。&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://bu.dusays.com/2026/03/28/69c7d5e9996cf.png&quot; alt=&quot;pcdn禁用通知.png&quot; /&gt;&lt;/p&gt;
&lt;p&gt;但是有限制就有对策：网上有热心网友就分享出来，它们是通过检测上下行流量来判断你是否进行该行为，所以聪明的热心网友就寻思，我只要上传流量刷1tb,下载个几tb不就得了。可是如果去反复刷短视频啥的根本没有这么大流量，若是刷流某些大平台又会有法律风险啊。那我刷小博客总行了吧。&lt;/p&gt;
&lt;p&gt;于是乎： &lt;strong&gt;天下站长苦pcdn久矣&lt;/strong&gt; ，去年的时候，许多博客的cdn被刷欠费就是因为这个原因。&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://bu.dusays.com/2026/03/28/69c7d5e9984b6.png&quot; alt=&quot;被刷案例.png&quot; /&gt;&lt;/p&gt;
&lt;p&gt;但，这和pt有啥关系呢？？？&lt;/p&gt;
&lt;p&gt;当然有，想想pcdn是什么原理，p2p➕分发。那这不是和跑pt大差不差吗？？？&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;PT：P2P 分享，大量上行，长期连接&lt;/li&gt;
&lt;li&gt;PCDN：商用 P2P 分发，大量上行，长期连接&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;对机构的流量特征几乎一模一样&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;机构的风控平台一看：666，又有人跑pcdn了。以此理由收回你的公网ip,ipv6,或者限速。因为特征原因，很多情况下即便你限速也没有太大用（肯定比不限速好）。不过若是校园网/企业网还好，普通家宽跑久了基本必然限速。但是校园网一定要小心行事，不然真搞个处分就有点麻烦了。&lt;/p&gt;
&lt;p&gt;跑pt是有网络风险的，不过只要低调一点，&lt;strong&gt;也没有太大问题&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;既然没盈利，确实没跑pcdn，一旦被限速去有关部门申诉还是可以解决的，不太需要担心，你只要咬死自己没干cdn和pcdn,跑得流量都来自于自己与别人个人的p2p传输就行。当然如果你真跑了pcdn就不要狡辩了，挣钱不寒碜，但确实盈利在现在就是违规。&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://bu.dusays.com/2026/03/28/69c7d5e9984ac.png&quot; alt=&quot;二审胜利.png&quot; /&gt;&lt;/p&gt;
&lt;p&gt;最后，不要国内服务器或者家里云保种传播违规内容，尽管这显得有点不乐于分享，但依旧还是自己看看就得了，避免不必要的风险，安全最重要&lt;/p&gt;
&lt;h3&gt;回归本心&lt;/h3&gt;
&lt;p&gt;总的说：PT圈子不难入门，核心就是&quot;互助&quot;——你为别人提供上传，别人为你提供速度，只要遵守规则、耐心积累，就能慢慢享受PT的优质资源。新手不用急于求成，一步步来，先搞定一个站点的考核，再慢慢拓展其他站点，祝大家都能在PT圈子里找到自己想要的资源，少踩坑、多收获！下的多看的少是亏，上传下载不多但看的舒服是真！玩的愉快！&lt;/p&gt;
</content:encoded></item><item><title>MYSQL b+索引与联合索引</title><link>https://luoca.cn/posts/mysql_b%E7%B4%A2%E5%BC%95%E4%B8%8E%E8%81%94%E5%90%88%E7%B4%A2%E5%BC%95/</link><guid isPermaLink="true">https://luoca.cn/posts/mysql_b%E7%B4%A2%E5%BC%95%E4%B8%8E%E8%81%94%E5%90%88%E7%B4%A2%E5%BC%95/</guid><pubDate>Tue, 10 Mar 2026 14:35:00 GMT</pubDate><content:encoded>&lt;ul&gt;
&lt;li&gt;为什么 MySQL 选择使用 B+ 树作为索引结构？（中等）&lt;/li&gt;
&lt;li&gt;MySQL 索引的最左前缀匹配原则是什么？（简单）&lt;/li&gt;
&lt;li&gt;MySQL 三层 B+ 树能存多少数据？（中等）&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;今日面试题&lt;/h2&gt;
&lt;h3&gt;1. MySQL 索引的最左前缀匹配原则是什么？&lt;/h3&gt;
&lt;p&gt;mysql的联合索引，从最左侧开始查询，若是没查询最左侧，就不能触发联合索引，从左到右依次排序。&lt;/p&gt;
&lt;p&gt;在mysql5.6加入&lt;strong&gt;索引下推优化&lt;/strong&gt;，只要查询了最左侧的值，中间的值不查，也可以走索引。必须遇到&lt;code&gt;=&lt;/code&gt;、或者&lt;code&gt;&amp;lt;=&lt;/code&gt;、&lt;code&gt;&amp;gt;=&lt;/code&gt;才能进行索引查询，纯范围不行，范围的查不了联合索引。所以高频和区分度高的放左边。&lt;/p&gt;
&lt;p&gt;mysql8进行&lt;strong&gt;skipscan优化&lt;/strong&gt;，当索引很小，且查询的是索引有的列可以跳过最左前缀匹配原则，官方文档要求其中基数很低，所以适用范围小。&lt;/p&gt;
&lt;p&gt;即便写反了，mysql比较聪明会自动把该放前面的先查询。&lt;/p&gt;
&lt;h3&gt;2. 为什么 MySQL 选择使用 B+ 树作为索引结构？&lt;/h3&gt;
&lt;p&gt;磁盘IO次数少，对硬盘友好。而索引本身目的就是为了减少磁盘访问次数。&lt;/p&gt;
&lt;p&gt;B+树比较矮，查硬盘次数最少，效率最高。因为其只存key和指针，缓存效率高，命中高。叶子节点有双向链表，顺序IO快。&lt;/p&gt;
&lt;p&gt;红黑树、AVL树比较高，最坏情况几十次查询，所以内存可以用红黑树，而硬盘效率问题不能用。b+树只存key和指针，存的效率还是最高的，而b树里面有数据，就不如b+树了。b树会在非叶子节点查到直接返回，看起来快，但是范围和排序需求不能实现。&lt;/p&gt;
&lt;p&gt;INNODB的b+树用的是昨天学的聚簇索引和二级索引。一个是按主键排列，一个是按主键和值排列，没主键就自己生成一串字符。二级索引会二次查表。&lt;/p&gt;
&lt;p&gt;数据插入页满了，会触发&lt;strong&gt;页分裂&lt;/strong&gt;，利用率低会&lt;strong&gt;页合并&lt;/strong&gt;，都会影响性能。&lt;/p&gt;
&lt;p&gt;主键短一些key就可以存的少点，就能树矮减少IO，二级索引也会更大。&lt;/p&gt;
&lt;h3&gt;3. MySQL 三层 B+ 树能存多少数据？&lt;/h3&gt;
&lt;p&gt;&lt;code&gt;16kb（innodb默认页大小）* 1024b / 14（主键bigint 8字节 + 指针6字节）&lt;/code&gt;，一个非叶子节点就是1170个，一个节点数据1kb，那就是16/1=16条（如果主键换UUID 36字节，就会到240w条）。&lt;/p&gt;
&lt;p&gt;所以总记录为 &lt;code&gt;1170 * 1170 * 16 = 2190w&lt;/code&gt;，但是因为数据有所波动，所以以实际为准。&lt;/p&gt;
&lt;p&gt;b+树压的矮胖，让IO读取更少，每个节点存的东西更多，3-4次IO最多，就可以查到数据。&lt;/p&gt;
&lt;p&gt;页大小为16kb可以防止占用过大，颗粒度放大。随机读写性能好。除非都是宽数据，不然不用改。&lt;/p&gt;
&lt;p&gt;非叶子节点不存数据可以让树高变低，效率提高。&lt;/p&gt;
&lt;p&gt;当慢查询增多才要分表分库，能不分就不分，容易复杂化。&lt;/p&gt;
</content:encoded></item><item><title>mysql的存储类型与索引</title><link>https://luoca.cn/posts/mysql%E7%9A%84%E5%AD%98%E5%82%A8%E7%B1%BB%E5%9E%8B%E4%B8%8E%E7%B4%A2%E5%BC%95/</link><guid isPermaLink="true">https://luoca.cn/posts/mysql%E7%9A%84%E5%AD%98%E5%82%A8%E7%B1%BB%E5%9E%8B%E4%B8%8E%E7%B4%A2%E5%BC%95/</guid><pubDate>Mon, 09 Mar 2026 11:55:00 GMT</pubDate><content:encoded>&lt;p&gt;看到数据库面试题三道：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;MySQL 的存储引擎有哪些？它们之间有什么区别？（中等）&lt;/li&gt;
&lt;li&gt;MySQL InnoDB 引擎中的聚簇索引和非聚簇索引有什么区别？（中等）&lt;/li&gt;
&lt;li&gt;MySQL 的索引类型有哪些？（简单）&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;所以来聊一聊关于mysql的话题：&lt;/p&gt;
&lt;h2&gt;1. MySQL 的存储引擎有哪些？它们之间有什么区别？&lt;/h2&gt;
&lt;p&gt;主流上mysql有两种存储引擎，&lt;strong&gt;INNODB&lt;/strong&gt;和&lt;strong&gt;MYISAM&lt;/strong&gt;，相比之下用的较少的还有memory、achieve、NDB等等。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;MYISAM&lt;/strong&gt;是mysql5.0以前使用的，速度特别快，效率高，但很容易出现安全问题，也只支持表锁，适合早期互联网刚兴起的时期。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;INNODB&lt;/strong&gt;是mysql5.0以后使用的，为了对标企业需求，创建的带有事务、行级锁的存储引擎。相对MYISAM来说多了许多功能，增加了安全性，但（纯查询）的效率有所降低。有mvcc，可以避免读写冲突，读旧写新。也是唯一有外键限制的存储引擎，可以增加安全性。&lt;/p&gt;
&lt;p&gt;官方更倾向于INNODB，并且在mysql8.0中把系统用表完全迁移INNODB。INNODB存储量相对较小，myisam是他的几倍。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;NDB&lt;/strong&gt;是企业级数据集群存储，用于大批量分片存储，内存要求大，但存储数据可达到百EB级别。因为目的是快，所以不支持数据压缩。&lt;/p&gt;
&lt;p&gt;myisam性能好是不支持事务导致开销小，但是因为他的表锁，就会导致高并发时候性能糟糕。&lt;/p&gt;
&lt;p&gt;可以用 &lt;code&gt;show table status from 数据库 like &quot;表名&quot;;&lt;/code&gt; 来看是什么类型。&lt;/p&gt;
&lt;p&gt;另外，在改数据库的时候可以在数据表里添加version版本号，通过where查询实现乐观锁，以免数据覆盖。&lt;/p&gt;
&lt;h2&gt;2. MySQL InnoDB 引擎中的聚簇索引和非聚簇索引有什么区别？&lt;/h2&gt;
&lt;p&gt;聚簇索引一个表只有一个，存放完整数据和主键。非聚簇索引有多个，只存放相应的索引列的值和主键，还需要用主键去取真正的值，这就导致多了一个回表操作。聚簇索引本质就是b+树，但b+树搜索完给出指针，用指针反查，聚簇索引把指针给换成了数据。&lt;/p&gt;
&lt;h2&gt;3. MySQL 的索引类型有哪些？&lt;/h2&gt;
&lt;p&gt;对于索引来说：&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;数据结构：&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;b+树索引&lt;/strong&gt;：则只有achieve不支持，可以快速定位，可以进行范围和等值两种，速度比较快，而且树高矮，对硬盘进行了优化。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;哈希索引&lt;/strong&gt;：查询准、快，但不支持查范围和模糊匹配，哈希冲突时性能下降（多数据指向同一个哈希），另外也不支持排序，适用于ndb和memory。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;全文索引&lt;/strong&gt;：innodb、myisam都支持，适用于文章，但是空间大，分词建倒排索引，类似搜索引擎，不过对中文兼容不太好，相比like全盘扫描效率高。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;空间索引&lt;/strong&gt;：处理地理坐标位置等数据。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;索引性质：&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;唯一索引、普通索引、主键索引、全文索引、空间索引。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;联合索引&lt;/strong&gt;：多列一个索引，最左前缀原则，也就是先查大的再查小的，要是反过来就不会用索引。&lt;/p&gt;
&lt;p&gt;在innodb里面，聚簇索引把数据和索引放一起，加快速度，而默认就是他的索引。聚簇索引一个表只有一个，存放完整数据和主键。非聚簇索引有多个，只存放相应的索引列的值和主键，还需要用主键去取真正的值，这就导致多了一个回表操作。聚簇索引本质就是b+树，但b+树搜索完给出指针，用指针反查，聚簇索引把指针给换成了数据。如果没有主键，就会找唯一非空作为索引，如果啥都没有，就自己创建一个隐藏列。&lt;/p&gt;
</content:encoded></item><item><title>深入浅出Python的内存回收机制</title><link>https://luoca.cn/posts/%E6%B7%B1%E5%85%A5%E6%B5%85%E5%87%BApython%E7%9A%84%E5%86%85%E5%AD%98%E5%9B%9E%E6%94%B6%E6%9C%BA%E5%88%B6/</link><guid isPermaLink="true">https://luoca.cn/posts/%E6%B7%B1%E5%85%A5%E6%B5%85%E5%87%BApython%E7%9A%84%E5%86%85%E5%AD%98%E5%9B%9E%E6%94%B6%E6%9C%BA%E5%88%B6/</guid><pubDate>Tue, 03 Mar 2026 09:14:00 GMT</pubDate><content:encoded>&lt;p&gt;一、核心：引用计数器（RefCnt）&lt;/p&gt;
&lt;p&gt;引用计数器是Python内存管理的“第一道防线”，也是最基础、最常用的回收逻辑。&lt;/p&gt;
&lt;p&gt;每个Python对象（如int、list、dict）的底层结构体中，都内置了 ob_refcnt （引用计数字段），用来记录当前有多少个“引用”在使用这个对象。当对象被创建/赋值给变量时， ob_refcnt +1 ；当变量被删除（del）、超出作用域、重新赋值时， ob_refcnt -1 ；一旦 ob_refcnt == 0 ，说明这个对象无任何引用，Python会立刻回收该对象占用的内存（归还给解释器，而非直接还给操作系统）。&lt;/p&gt;
&lt;p&gt;底层支撑：Python在C源码中通过两个核心结构体实现这一逻辑：&lt;/p&gt;
&lt;p&gt;PyObject ：所有Python对象的基类，包含 ob_refcnt （引用计数）、 ob_type （对象类型）等公共字段；&lt;/p&gt;
&lt;p&gt;PyVarObject ：继承自 PyObject ，新增 ob_size 字段，专门用于记录列表、元组等“变长容器”的元素个数。&lt;/p&gt;
&lt;p&gt;运行时结构：Python启动后会创建一个名为 refchain 的双向链表，所有容器对象（list、dict、set等）都会被加入这个链表，链表节点中直接关联对象的 ob_refcnt ，方便解释器快速遍历和更新引用计数。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;但是&lt;/strong&gt;引用计数器的致命问题：循环引用&lt;/p&gt;
&lt;p&gt;单纯依赖引用计数器会出现“漏回收”——当两个（或多个）对象互相引用时，即使外部无任何引用，它们的 ob_refcnt 也永远不为0。
示例：&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;v1 = []
v2 = []
v1.append(v2)  # v1引用v2，v2的ob_refcnt +1
v2.append(v1)  # v2引用v1，v1的ob_refcnt +1
del v1         # v1的ob_refcnt -1（仍为1，因为v2还引用它）
del v2         # v2的ob_refcnt -1（仍为1，因为v1还引用它）
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;此时v1、v2无外部引用，但互相引用，引用计数器失效，内存无法回收&lt;/p&gt;
&lt;p&gt;二、辅助1：标记清除（Mark-Sweep）&lt;/p&gt;
&lt;p&gt;标记清除是专门解决“循环引用”的补充机制，只针对可能产生循环引用的“容器对象”（list、dict、set等，数值型/字符串等不可变对象不会产生循环引用）。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;分“标记”和“清除”两步执行：&lt;/li&gt;
&lt;/ul&gt;
&lt;ol&gt;
&lt;li&gt;标记阶段：解释器维护一个专门存放“容器对象”的链表，当触发回收时，先遍历该链表，将所有对象的 ob_refcnt 复制一份作为“临时计数”；然后递归遍历对象的引用关系，若发现A引用B，则将B的临时计数-1；&lt;/li&gt;
&lt;li&gt;清除阶段：遍历链表，若某个对象的临时计数仍&amp;gt;0，说明有外部引用，保留；若临时计数=0，说明仅存在循环引用，标记为“可回收”，随后清除这些对象并释放内存。&lt;/li&gt;
&lt;/ol&gt;
&lt;ul&gt;
&lt;li&gt;触发时机：标记清除不会频繁执行，而是结合“分代回收”触发，避免过度消耗CPU。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;三、辅助2：分代回收（Generational GC）&lt;/p&gt;
&lt;p&gt;分代回收的核心思想是：存活越久的对象，越不可能被回收，因此可以减少扫描频率，以此提升垃圾回收的整体效率。
Python将对象划分为3个“代”（0/1/2代），对应3个独立的链表：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;代的划分规则：&lt;/li&gt;
&lt;/ol&gt;
&lt;ul&gt;
&lt;li&gt;新创建的对象先进入0代链表；&lt;/li&gt;
&lt;li&gt;0代链表触发扫描后，未被回收的对象会升级到1代；&lt;/li&gt;
&lt;li&gt;1代链表触发扫描后，未被回收的对象会升级到2代。&lt;/li&gt;
&lt;/ul&gt;
&lt;ol&gt;
&lt;li&gt;触发阈值（默认）：&lt;/li&gt;
&lt;/ol&gt;
&lt;ul&gt;
&lt;li&gt;0代：当链表中对象数量达到700个时，触发一次标记清除扫描；&lt;/li&gt;
&lt;li&gt;1代：当0代累计扫描10次后，触发1代的标记清除扫描；&lt;/li&gt;
&lt;li&gt;2代：当1代累计扫描10次后，触发2代的标记清除扫描。&lt;/li&gt;
&lt;/ul&gt;
&lt;ol&gt;
&lt;li&gt;核心优势：大部分新创建的对象（如临时变量）生命周期短，集中在0代快速扫描；而长期存活的对象（如全局变量）极少扫描，既保证了回收效率，又降低了CPU开销。&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;四、性能优化：缓存机制（FreeList/小对象池）&lt;/p&gt;
&lt;p&gt;为了避免“频繁创建-销毁小对象”带来的性能损耗，Python引入了缓存机制——回收的对象不会立刻销毁，而是放入 free_list （自由列表）缓存，新创建对象时优先从缓存中复用，而非向操作系统申请新内存。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;小整数池：Python默认缓存 [-5, 256] 范围内的整数，这些整数会被全局复用，创建时无需重新分配内存；&lt;/li&gt;
&lt;li&gt;字符串驻留池：对于纯字母/数字/下划线组成的字符串（标识符），Python会缓存并复用，减少重复创建；&lt;/li&gt;
&lt;li&gt;容器free_list：list、dict、tuple等容器对象被回收后，会进入各自的 free_list （如list的free_list默认缓存80个空列表），新创建空容器时直接复用，无需初始化。&lt;/li&gt;
&lt;li&gt;关键特点： free_list 中的对象属于“解释器内缓存”，不会被标记清除/分代回收，只有当解释器退出或内存不足时，才会逐步释放给操作系统。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;总结&lt;/p&gt;
&lt;p&gt;Python内存管理的核心逻辑可概括为：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;基础回收：通过 refchain 双向链表管理所有对象，依赖 ob_refcnt 引用计数器完成大部分内存回收；&lt;/li&gt;
&lt;li&gt;问题解决：针对循环引用，通过标记清除机制扫描容器对象链表，识别并回收无外部引用的循环对象；&lt;/li&gt;
&lt;li&gt;效率提升：分代回收按对象存活时长分级扫描，减少不必要的CPU消耗；&lt;/li&gt;
&lt;li&gt;性能优化：通过free_list/小对象池缓存常用对象，避免频繁内存分配/销毁，兼顾易用性与性能。&lt;/li&gt;
&lt;/ol&gt;
</content:encoded></item><item><title>充分了解Python面向对象</title><link>https://luoca.cn/posts/%E5%85%85%E5%88%86%E4%BA%86%E8%A7%A3python%E9%9D%A2%E5%90%91%E5%AF%B9%E8%B1%A1/</link><guid isPermaLink="true">https://luoca.cn/posts/%E5%85%85%E5%88%86%E4%BA%86%E8%A7%A3python%E9%9D%A2%E5%90%91%E5%AF%B9%E8%B1%A1/</guid><pubDate>Mon, 02 Mar 2026 15:22:00 GMT</pubDate><content:encoded>&lt;ol&gt;
&lt;li&gt;实例方法必须带第一个参数， self  只是约定俗成&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;在 Python 类中定义普通实例方法，第一个参数必须存在，它代表当前调用方法的实例对象本身。&lt;/p&gt;
&lt;p&gt; self  不是关键字，只是行业约定的名字，你写成  this 、 me 、 obj  都可以正常运行，只是大家统一用  self ，可读性更高。&lt;/p&gt;
&lt;p&gt;当我们用实例调用方法时，Python 会自动把实例对象传给第一个参数，不需要我们手动传递。这个参数的作用，就是让方法能访问、修改当前实例的属性和方法。&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;属性查找顺序：实例优先于类，实例赋值会覆盖类属性&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Python 在查找属性或方法时，有一个固定顺序：
先找实例自己的空间 → 找不到，再去类里面找。&lt;/p&gt;
&lt;p&gt;这意味着：如果你给实例单独定义了一个变量，类里面的同名属性就不会生效，实例会优先使用自己赋值的内容。&lt;/p&gt;
&lt;p&gt;简单例子：&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;  
class Dog:
    name = &quot;小狗&quot;

dog = Dog()
# 给实例自己赋值
dog.name = &quot;旺财&quot;
# 优先用实例自己的，类里的被覆盖
print(dog.name)  # 输出：旺财
``` 
 
 
 
3. 方法本质是变量，可被动态覆盖
 
Python 里有一个非常重要的特性：类中的方法，本质上就是类的属性变量。
 
它和普通变量没有区别，可以直接重新赋值。一旦赋值，原来的方法就会失效，不再能调用，只会变成你赋的值。
 
极简例子：
 
```python
  
class Dog:
    def bark(self):
        print(&quot;汪汪&quot;)

dog = Dog()
# 直接把方法覆盖成数字
dog.bark = 123
# 现在 bark 不是方法，是 123
print(dog.bark)  # 输出：123
``` 
 
甚至 Python 内置函数（如  max ）也一样，赋值后原功能直接失效。
 
 
 
4. 通过  self.属性  可直接访问、打印当前实例数据
 
在类的实例方法内部，我们可以直接使用  self.属性名  的格式，获取、打印、修改当前实例自己的数据。
 
比如  self.name 、 self.age ，不需要依赖外部变量，就能直接拿到当前对象的状态，这是面向对象封装特性最直观的体现。
 
 
 
5.  __init__  构造函数：初始化实例，支持必填参数与默认值
 
 __init__  是 Python 类的构造函数，在创建实例时会自动执行，不需要手动调用。
 
它的核心作用：给新创建的实例提前初始化属性，保证后续方法能正常运行，不会因为属性不存在而报错。
 
使用规则非常简单：
 
- 如果  __init__  括号里写了参数（除 self 外）→ 创建实例时必须传入，必填
- 如果不在括号传参，直接在方法内部给属性赋值 → 使用固定默认值
 
例子：
 
```python
  
class Dog:
    def __init__(self):
        # 内部直接给默认值，创建实例不用传参
        self.name = &quot;小狗&quot;

    def bark(self):
        print(f&quot;{self.name} 汪汪叫&quot;)

dog = Dog()
dog.bark()  # 输出：小狗 汪汪叫
``` 
 
 
 
6. Python 一切皆对象：所有数据都是类实例化而来
 
Python 最经典的设计哲学：一切皆对象。
 
不管是列表、字符串、数字，还是函数，本质上都是某个类的实例。我们平时使用的  list() 、 str() ，其实都是在调用类的构造方法，把数据传进去，实例化出一个对象。
 
比如：
 
```python
  
# 把元组传给 list 类，实例化成列表对象
lst = list((1, 2, 3))
# 把数字传给 str 类，实例化成字符串对象
s = str(123)
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;它们不是什么特殊类型，就是标准的对象。&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;所有类默认继承  object ，括号里写的是父类&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;类名后面的括号是干嘛的？是不是参数？&lt;/p&gt;
&lt;p&gt;实际上括号里不是参数，是要继承的父类。&lt;/p&gt;
&lt;p&gt;在 Python 3 中，有一个终极规则：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;如果你不写括号，比如  class Dog:  → 默认自动继承顶层基类  object &lt;/li&gt;
&lt;li&gt;如果你写了括号，比如  class Dog(Animal):  → 代表  Dog  继承  Animal &lt;/li&gt;
&lt;li&gt;任何不写父类的类，最终都会继承  object &lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt; object  是 Python 所有类的“老祖宗”。&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;总结&lt;/p&gt;
&lt;p&gt;1.  self  是约定俗成，代表当前实例
2. 实例属性优先于类属性
3. 方法是变量，可被覆盖
4.  self.属性  直接操作实例数据
5.  &lt;strong&gt;init&lt;/strong&gt;  初始化，支持必填与默认值
6. 一切皆对象，都是类的实例
7. 类默认继承  object ，括号声明父类&lt;/p&gt;
</content:encoded></item><item><title>【产品】AI时代，用JTBD + SPEC做出不堆砌的好产品</title><link>https://luoca.cn/posts/%E4%BA%A7%E5%93%81ai%E6%97%B6%E4%BB%A3%E7%94%A8jtbd__spec%E5%81%9A%E5%87%BA%E4%B8%8D%E5%A0%86%E7%A0%8C%E7%9A%84%E5%A5%BD%E4%BA%A7%E5%93%81/</link><guid isPermaLink="true">https://luoca.cn/posts/%E4%BA%A7%E5%93%81ai%E6%97%B6%E4%BB%A3%E7%94%A8jtbd__spec%E5%81%9A%E5%87%BA%E4%B8%8D%E5%A0%86%E7%A0%8C%E7%9A%84%E5%A5%BD%E4%BA%A7%E5%93%81/</guid><pubDate>Thu, 26 Feb 2026 06:58:00 GMT</pubDate><content:encoded>&lt;h3&gt;零：为啥不直接用VIBE CODING&lt;/h3&gt;
&lt;p&gt;随着 AI 编程技术飞速发展，从豆包 2.0 Coding、智谱清言GLM5.0 ，AI 的单模型代码准确率与编程能力都在大幅提升。到各类智能 AI Agent智能纠错，我们写代码越来越不容易出错，但产品能力、架构能力与项目管理能力，反而成了新的瓶颈。&lt;/p&gt;
&lt;p&gt;&amp;lt;img src=&quot;https://bu.dusays.com/2026/02/26/699fee89a9e1d.jpg&quot; alt=&quot;太强了&quot; title=&quot;太强了&quot; /&amp;gt;&lt;/p&gt;
&lt;p&gt;过去，程序员往往只需要负责写好代码；而现在，不会利用AI做全栈、不会做整体设计，很容易被时代甩开。但若是直接零基础vibecoding很容易陷入黑盒盲区，这就要求我们必须具备：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;良好的项目管理能力&lt;/li&gt;
&lt;li&gt;清晰的系统架构能力&lt;/li&gt;
&lt;li&gt;接近产品经理的全局规划能力&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;因此，从现在开始，我会不定期分享**「用产品思维驱动 AI 编程」**的方法：如何科学规划、设计产品，再通过 AI 高效落地，做出真正满足用户需求、实用且不臃肿的项目。&lt;/p&gt;
&lt;p&gt;今天先从最核心的两个工具讲起：
JTBD（用户任务视角）+ SPEC（详细技术规格）&lt;/p&gt;
&lt;h3&gt;一、JTBD 到底是啥？&lt;/h3&gt;
&lt;p&gt;JTBD = Jobs To Be Done，核心思想是：
产品不是为了堆功能，而是为了帮用户完成某件“任务”——包括功能任务、社会任务与情感任务。&lt;/p&gt;
&lt;p&gt;在设计产品前，我们必须想清楚三件事：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;功能任务：用户用你的产品，具体要完成什么事？&lt;/li&gt;
&lt;li&gt;社会任务：用户在社交、身份、外界评价上获得什么？&lt;/li&gt;
&lt;li&gt;情感任务：用户使用时，会获得怎样的情绪价值？&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;只有把这三点想明白，你的产品核心才会足够精准，才能真正做到最小可行产品（MVP），避免盲目堆砌功能。&lt;/p&gt;
&lt;p&gt;比如：做一个社交类产品（类似 Twitter）&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;功能任务：满足用户的分享欲，轻松发布内容。&lt;/li&gt;
&lt;li&gt;社会任务：帮助用户建立个人形象、拓展社交关系。&lt;/li&gt;
&lt;li&gt;情感任务：通过点赞、互动获得正向反馈，分泌多巴胺，获得愉悦与成就感。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;基于这套逻辑，你再去设计功能就不会乱：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;简化发布流程，降低使用门槛&lt;/li&gt;
&lt;li&gt;强化即时反馈，提升满足感&lt;/li&gt;
&lt;li&gt;优化交互体验，延长用户停留时长&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;这就是 JTBD 的价值：让产品从一开始就“做对”，而不是“做多”。&lt;/p&gt;
&lt;h3&gt;二、提示词工程&lt;/h3&gt;
&lt;p&gt;当你用 JTBD 理清核心需求后，可以直接把结构化思路交给 AI，让它生成标准的产品设计文档。&lt;/p&gt;
&lt;p&gt;尽管现在AI已经可以特别良好的理解文义，但你也可以直接用这套提示词框架：&lt;/p&gt;
&lt;p&gt;当用户在【场景】中，面临【问题】，
想要【目标】，以【方式】解决。
目前市面上的产品存在【痛点】，原因是【XXX】。&lt;/p&gt;
&lt;p&gt;请帮我设计解决方案，要求：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;功能优先级：&lt;/li&gt;
&lt;li&gt;功能设计：&lt;/li&gt;
&lt;li&gt;体验设计：&lt;/li&gt;
&lt;li&gt;社交/情感价值：&lt;/li&gt;
&lt;li&gt;技术栈方向：&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;AI 会据此输出结构清晰的 Markdown 产品方案，围绕核心任务展开，帮你写好产品的初步计划。&lt;/p&gt;
&lt;h3&gt;三、避免 Vibe Coding 带来的技术债&lt;/h3&gt;
&lt;p&gt;很多人用 AI 编程时，习惯想到哪写到哪，或者说现在的Vibe Coding：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;没有整体架构&lt;/li&gt;
&lt;li&gt;没有分层设计&lt;/li&gt;
&lt;li&gt;没有明确规范&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;结果就是：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;代码逻辑像黑盒&lt;/li&gt;
&lt;li&gt;后期改需求就要推翻重写&lt;/li&gt;
&lt;li&gt;功能越堆越乱，技术债爆炸&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;尽管有jtbd兜底，但是扛不住技术上的全盲&lt;/p&gt;
&lt;p&gt;这时候就需要 SPEC来兜底。&lt;/p&gt;
&lt;p&gt;SPEC 的作用：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;顶层 SPEC：确定整体架构、技术栈、模块划分。也就是JTBD的东西&lt;/li&gt;
&lt;li&gt;底层 SPEC：明确每个模块的实现细节、依赖、逻辑流程。包括API数据库设计都在里面&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;举例：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;后端：Python + 框架选型&lt;/li&gt;
&lt;li&gt;图像处理：OpenCV + 具体算法（如开闭运算、预处理流程）&lt;/li&gt;
&lt;li&gt;前端：Vue / 其他框架，按页面/组件拆分文件,运用什么动画，也可以结合设计AGENT skill&lt;/li&gt;
&lt;li&gt;接口、数据结构、交互规则全部提前定义
&amp;lt;img src=&quot;https://bu.dusays.com/2026/02/26/699fee5886a10.png&quot; alt=&quot;AGENTSKILL&quot; title=&quot;AGENTSKILL&quot; /&amp;gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;把顶层 SPEC + 底层 SPEC 一起交给 AI，它就能写出：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;结构清晰&lt;/li&gt;
&lt;li&gt;易于维护&lt;/li&gt;
&lt;li&gt;便于迭代&lt;/li&gt;
&lt;li&gt;不会前后矛盾&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;的高质量代码。&lt;/p&gt;
&lt;p&gt;这种代码完全可视化，都是自己琢磨的技术栈和技术方案，没有黑盒，并且可以经过人工审计，面试等场景也可以完全通过，符合了预期&lt;/p&gt;
&lt;h3&gt;四、产品成型后，如何科学迭代？&lt;/h3&gt;
&lt;p&gt;产品上线、用户测试后，迭代同样要有章法，不能瞎加功能。&lt;/p&gt;
&lt;p&gt;提示词思路可以这样：&lt;/p&gt;
&lt;p&gt;在不破坏老用户体验、满足新用户需求的前提下，
我的产品现有 A、B 功能，
用户反馈的问题是：【】
产品核心任务是：【】
市场上的参考案例：【】&lt;/p&gt;
&lt;p&gt;请帮我设计优化方案，保持核心不变，只提升体验与效率。&lt;/p&gt;
&lt;p&gt;始终围绕 JTBD 核心 + SPEC 架构 去迭代，才能做到：
最小改动、最大价值、不崩盘、不混乱。&lt;/p&gt;
&lt;h3&gt;五、美观与细节也是产品的一部分&lt;/h3&gt;
&lt;p&gt;在做具体模块（如登录）时，还要关注体验细节：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;登录页右上角快速跳转到注册&lt;/li&gt;
&lt;li&gt;协议勾选、隐私提示、错误反馈&lt;/li&gt;
&lt;li&gt;统一的视觉风格与交互逻辑&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;这些看似小，却直接决定用户愿不愿意留下来。就是用户体验意识。&lt;/p&gt;
&lt;h3&gt;六 总结&lt;/h3&gt;
&lt;p&gt;AI 已经把“写代码”这件事变简单了，
但把产品做对、做准、做稳，反而更考验人。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;JTBD：帮你抓住用户真实需求，不做无效功能。&lt;/li&gt;
&lt;li&gt;SPEC：帮你定好架构与规范，避免代码堆砌与技术债。&lt;/li&gt;
&lt;li&gt;AI：只是高效执行的工具，真正的掌控权在你手里。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;未来的优秀程序员，一定是既懂代码，又懂产品的人。总的，在AI时代，还是要提高对知识的广度，之后是提高产品和管理能力更为重要。&lt;/p&gt;
</content:encoded></item><item><title>记一次没有u盘装linux系统</title><link>https://luoca.cn/posts/%E8%AE%B0%E4%B8%80%E6%AC%A1%E6%B2%A1%E6%9C%89u%E7%9B%98%E8%A3%85linux%E7%B3%BB%E7%BB%9F/</link><guid isPermaLink="true">https://luoca.cn/posts/%E8%AE%B0%E4%B8%80%E6%AC%A1%E6%B2%A1%E6%9C%89u%E7%9B%98%E8%A3%85linux%E7%B3%BB%E7%BB%9F/</guid><pubDate>Tue, 24 Feb 2026 13:42:00 GMT</pubDate><content:encoded>&lt;p&gt;前两天我发了一篇博客，分享了在没有空闲U盘、只有一个无法格式化的PEU盘时，如何进入PE安装双系统的方法。当时我以为这套方案适用于所有Linux发行版，于是这次便直接尝试安装Manjaro Linux。&lt;/p&gt;
&lt;p&gt;Manjaro是一款基于Arch开发、开箱即用的Linux系统，口碑和实用性都很不错，在DistroWatch排行榜上常年稳居Linux发行版第二名。我们都知道，Arch Linux向来以安装流程复杂、门槛高而出名，之前我光是安装就从下午五点折腾到八点，耗费大量时间才勉强完成，体验非常糟糕，所以才换成了更友好的Manjaro。&lt;/p&gt;
&lt;p&gt;可即便如此，安装过程依旧出现了意外。我沿用之前的安装方式，将镜像文件解压后写入，结果重启电脑直接卡在了GRUB救援模式，反复重启都无法正常进入系统，这让我十分头疼。明明已经将完整镜像文件拷贝到位，却依然出现引导故障。&lt;/p&gt;
&lt;p&gt;后来仔细研究才发现问题所在：Manjaro的安装镜像严禁解压，一旦解压就会破坏文件结构，导致引导失效，必须直接加载完整的ISO原文件才能正常安装。
&lt;img src=&quot;https://bu.dusays.com/2026/02/24/699daa629a4ae.jpg&quot; alt=&quot;进入grub&quot; /&gt;
这下难题就来了，我手头没有多余的空闲U盘，无法将镜像烧录进U盘启动，也不能使用Ventoy，因为现有的U盘已经写入了Windows PE，无法进行无损写入操作。&lt;/p&gt;
&lt;p&gt;正当我束手无策时，我找到了一个可行的方案：从网上下载Ventoy完整程序包，将其引导文件直接写入电脑的EFI系统分区，让主板能够直接识别到Ventoy引导项。这样开机后便会自动进入Ventoy的ISO加载界面，我直接读取硬盘内存储的Manjaro镜像文件，顺利进入了安装环境。&lt;/p&gt;
&lt;p&gt;分区步骤我依旧沿用之前的方法，在进入系统安装界面前，先在PE环境下提前划分好磁盘分区，这样能最大程度避免硬盘被占用导致的分区失败问题。&lt;/p&gt;
&lt;p&gt;成功安装并体验一段时间后，我依旧觉得Manjaro在日常使用的便捷度上不如GXDE，整个安装与调试的过程太过繁琐折腾。不过既然已经安装完成，我也打算好好体验一番，看看后续是会选择回归GXDE，还是继续留在Manjaro使用。&lt;/p&gt;
&lt;p&gt;系统刚装好时确实显得简洁清爽，但这种干净感其实并不明显。毕竟核心系统组件本身就占据一定资源，等安装完日常所需的软件后，资源占用与其他系统相差无几。&lt;/p&gt;
&lt;p&gt;总的说，这类高度自定义的Linux系统，更适合喜欢钻研、想要了解每一个系统组件作用的用户。即便如此，实际安装时也很难做到逐个精简组件。不得不说，Manjaro虽然易用性比Arch强上不少，但依旧算得上是安装与使用过程最折腾的系统之一。&lt;/p&gt;
</content:encoded></item><item><title>解决 Conda 安装后终端卡顿</title><link>https://luoca.cn/posts/%E8%A7%A3%E5%86%B3_conda_%E5%AE%89%E8%A3%85%E5%90%8E%E7%BB%88%E7%AB%AF%E5%8D%A1%E9%A1%BF/</link><guid isPermaLink="true">https://luoca.cn/posts/%E8%A7%A3%E5%86%B3_conda_%E5%AE%89%E8%A3%85%E5%90%8E%E7%BB%88%E7%AB%AF%E5%8D%A1%E9%A1%BF/</guid><pubDate>Fri, 20 Feb 2026 06:08:00 GMT</pubDate><content:encoded>&lt;h3&gt;AI总结&lt;/h3&gt;
&lt;p&gt;通过  conda config --set auto_activate_base false  禁用自动激活，既解决了终端卡顿问题，又保留了 Conda 强大的环境管理能力。之后只需手动激活需要的环境，就能流畅地进行 Python 开发，这对于学习 OpenCV 等需要特定环境的技术来说，是一个非常实用的优化方案。&lt;/p&gt;
&lt;h3&gt;正文&lt;/h3&gt;
&lt;p&gt;最近在学习 Python 的 OpenCV 计算机视觉技术，我选择了 Conda 来管理 Python 环境，安装过程很顺利，但随之而来的终端卡顿问题却让我头疼了一阵。下面是我的完整排障和解决方案，分享给大家。&lt;/p&gt;
&lt;p&gt;在 Conda 官网下载了对应的  .deb  包并成功安装后，每次打开终端（我用的是 Bash），都会明显卡顿 1-2 秒，才能看到命令提示符。同时，提示符前多了一个  (base)  标识，说明 Conda 已经自动激活了默认环境。&lt;/p&gt;
&lt;p&gt;我怀疑卡顿是终端初始化耗时过长导致的，于是打开了 Bash 的初始化文件  ~/.bashrc ，在文件末尾发现了 Conda 自动添加的初始化脚本。&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;  
# &amp;gt;&amp;gt;&amp;gt; conda initialize &amp;gt;&amp;gt;&amp;gt;
# !! Contents within this block are managed by &apos;conda init&apos; !!
__conda_setup=&quot;$(&apos;/home/yourname/miniconda3/bin/conda&apos; &apos;shell.bash&apos; &apos;hook&apos; 2&amp;gt; /dev/null)&quot;
if [ $? -eq 0 ]; then
    eval &quot;$__conda_setup&quot;
else
    if [ -f &quot;/home/yourname/miniconda3/etc/profile.d/conda.sh&quot; ]; then
        . &quot;/home/yourname/miniconda3/etc/profile.d/conda.sh&quot;
    else
        export PATH=&quot;/home/yourname/miniconda3/bin:$PATH&quot;
    fi
fi
unset __conda_setup
# &amp;lt;&amp;lt;&amp;lt; conda initialize &amp;lt;&amp;lt;&amp;lt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;我尝试直接删除这段初始化代码，再次打开终端时，卡顿确实消失了，但 Conda 也无法正常使用了，输入  conda  命令会提示找不到。&lt;/p&gt;
&lt;p&gt;直接删除初始化脚本会导致 Conda 失效，所以我选择了更合理的方式：通过 Conda 配置禁用自动激活。&lt;/p&gt;
&lt;p&gt;在终端中执行以下命令：&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;  
conda config --set auto_activate_base false
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;这个命令的作用是：让 Conda 不再在终端启动时自动激活  base  环境，从而避免了初始化时的卡顿。执行后，再次打开终端，卡顿感完全消失。&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;后续使用：手动管理 Conda 环境&lt;/p&gt;
&lt;p&gt;禁用自动激活后，虽然终端变快了，但直接输入  python  会提示命令不存在，这是因为我们还没有激活任何 Conda 环境。以下是常用的环境管理命令：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;激活已有环境&lt;/li&gt;
&lt;/ol&gt;
&lt;pre&gt;&lt;code&gt;  
# 激活默认的 base 环境
conda activate base

# 激活自定义环境（例如名为 opencv 的环境）
conda activate opencv
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;激活后，命令提示符前会出现环境名（如  (opencv) ），此时输入  python  即可正常使用。&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;创建新环境&lt;/li&gt;
&lt;/ol&gt;
&lt;pre&gt;&lt;code&gt;  
# 创建名为 opencv 的新环境，并指定 Python 版本为 3.10
conda create -n opencv python=3.10
&lt;/code&gt;&lt;/pre&gt;
&lt;ol&gt;
&lt;li&gt;删除环境&lt;/li&gt;
&lt;/ol&gt;
&lt;pre&gt;&lt;code&gt;  
# 删除名为 opencv 的环境
conda remove -n opencv --all
&lt;/code&gt;&lt;/pre&gt;
&lt;ol&gt;
&lt;li&gt;在环境中安装包&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;激活环境后，可以使用  pip  或  conda  安装所需的包：&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;  
# 激活环境
conda activate opencv

# 使用 pip 安装 OpenCV
pip install opencv-python

# 或使用 conda 安装
conda install -c conda-forge opencv
&lt;/code&gt;&lt;/pre&gt;
</content:encoded></item><item><title>【日常】seedance2的确很强</title><link>https://luoca.cn/posts/%E6%97%A5%E5%B8%B8seedance2%E7%9A%84%E7%A1%AE%E5%BE%88%E5%BC%BA/</link><guid isPermaLink="true">https://luoca.cn/posts/%E6%97%A5%E5%B8%B8seedance2%E7%9A%84%E7%A1%AE%E5%BE%88%E5%BC%BA/</guid><pubDate>Mon, 16 Feb 2026 06:10:00 GMT</pubDate><content:encoded>&lt;p&gt;大家除夕快乐，很高兴大家又能读到我的博客，也特别开心看到越来越多的朋友都有了自己的博客。&lt;/p&gt;
&lt;p&gt;大家也都知道，现在AI发展得真的太迅猛了，势头特别足，也出了好多特别厉害的AI模型。比如智谱清言他们家的GLM4.7，还有genemi3.0，外加claude后写代码的能力也是一路往上涨，越来越好用。&lt;/p&gt;
&lt;p&gt;字节跳动这边呢，尽管豆包大模型一直还是很笨蛋，但是他们也一直都在深耕艺术类的创作模型，就比如前两天刚发布的豆包AI生图背后用的那个Seedream5.0模型，效果也是真强。&lt;/p&gt;
&lt;p&gt;不过今天我想重点跟朋友们聊的，是他们家最近被网友们玩出花来的SeedDance模型，也就是Seedance 2.0。&lt;/p&gt;
&lt;p&gt;直接上手体验了一下，因为目前他还不支持上传参考图，我这次选的是用首尾帧的方式生成，说白了就是我给一张首帧的图，再给一张尾帧的图，让它自己把中间的画面给我顺起来、连成片。我就只写了几句口语化的、特别简单的提示词&lt;/p&gt;
&lt;p&gt;&amp;lt;img src=&quot;https://bu.dusays.com/2026/02/16/6992b12ab45b3.jpg&quot; alt=&quot;首&quot; title=&quot;首帧图片&quot; /&amp;gt;
&amp;lt;img src=&quot;https://bu.dusays.com/2026/02/16/6992b12b45379.jpg&quot; alt=&quot;尾&quot; title=&quot;尾帧图片&quot; /&amp;gt;&lt;/p&gt;
&lt;p&gt;提示词如下&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;两只动物听到了有人呼喊他们，并且望了过去，结果是这名女生正在推销他的轮胎，想让两位去试试。女生的眼睛要眨，然后手有扶轮胎的动作，不需要文字配音，只需要把相关音效配出来就可以，保证角色稳定，头发动作自然，有摇曳的动作。
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;前后不到5分钟，就给我生成了一段15秒的1080p微番剧视频。总共花费了70wtoken，没有超过免费的额度。
效果真的超出我的预期，甚至到了以假乱真的地步，质感跟正经番剧的画面没差多少。比较让我意外的是，它除了自动给视频配上了对应的音效、人声对白，甚至设计了贴合氛围的背景音乐，跟画面贴得特别好，一点违和感都没有。&lt;/p&gt;
&lt;p&gt;&amp;lt;a href=&quot;https://pan.luoca.cn/f/eKTO/mmexport1770913186611.mp4&quot; target=&quot;_blank&quot;&amp;gt;点我查看效果&amp;lt;/a&amp;gt;&lt;/p&gt;
&lt;p&gt;真的自己上手玩完才真切觉得，现在AI发展得太快了，生成的精度、对人话的理解度，都在肉眼可见地往上提。再也不是前两年画错手指数量的ai了。&lt;/p&gt;
&lt;p&gt;当然，因为测试的素材过于简单，可能看不出来他的实力，按照网上的说法，该模型甚至支持导演运镜等各种高端效果，大家可以自行尝试。&lt;/p&gt;
&lt;p&gt;关于能否ai代替人类创作/写代码这一点，网上一直有些争议，但我觉得大家还是利用这些ai技术来表达自己的想法，站在巨人的肩膀上，让自己更全能是更好的方案。在工业革命之后，汽车出现了那车夫就可以选择去学习开车，而不是去抵制汽车。更何况现在ai成本并没有当时买车那么高额。&lt;/p&gt;
&lt;p&gt;也感谢字节跳动的火山引擎，尽管一分钱没给我，但是他们的低价，让我能没什么负担地用到这么好用的大模型。😂&lt;/p&gt;
&lt;p&gt;就是随手记录一下这次的体验，分享给大家。也祝大家除夕过得开心，新的一年都能顺顺利利。&lt;/p&gt;
</content:encoded></item><item><title>【折腾】记一次用winpe的u盘装linux（？）</title><link>https://luoca.cn/posts/%E6%8A%98%E8%85%BE%E8%AE%B0%E4%B8%80%E6%AC%A1%E7%94%A8winpe%E7%9A%84u%E7%9B%98%E8%A3%85linux/</link><guid isPermaLink="true">https://luoca.cn/posts/%E6%8A%98%E8%85%BE%E8%AE%B0%E4%B8%80%E6%AC%A1%E7%94%A8winpe%E7%9A%84u%E7%9B%98%E8%A3%85linux/</guid><pubDate>Thu, 12 Feb 2026 13:41:00 GMT</pubDate><content:encoded>&lt;p&gt;前阵子看视频刷到一个基于 Debian 的 Linux 发行版 GXDE，内核比较新，兼容层和整体稳定性也做得很全面，Windows 用久了，我就想着换个系统体验一下。&lt;/p&gt;
&lt;p&gt;本来打算直接重装，结果一动手才发现，我的空 U 盘找不到了，只剩下一个不能格式化、不能重新制作 PE 的 U 盘。偏偏系统盘已经被我清空，没办法，只能在单块硬盘上完成整个安装流程。&lt;/p&gt;
&lt;p&gt;我一开始的思路是直接在硬盘上创建分区，把系统镜像拷进去，再从 BIOS 里引导安装。能正常进入安装界面
&amp;lt;img src=&quot;https://bu.dusays.com/2026/02/12/698dd752148f4.jpg&quot; alt=&quot;安装界面&quot; title=&quot;安装界面是没有问题的&quot; /&amp;gt;&lt;/p&gt;
&lt;p&gt;但....一到分区步骤就一直报错，不是格式化错误就是分区错误。后来我才明白，问题就出在磁盘被当前环境占用锁定，没办法在安装界面里直接完成分区和格式化操作。
&amp;lt;img src=&quot;https://bu.dusays.com/2026/02/12/698dd751a7432.jpg&quot; alt=&quot;分区界面&quot; title=&quot;分区界面&quot; /&amp;gt;
&amp;lt;img src=&quot;https://bu.dusays.com/2026/02/12/698dd751e05a2.jpg&quot; alt=&quot;出现问题&quot; title=&quot;分区存在问题&quot; /&amp;gt;
所以这次安装能成功，最核心、最关键的一步，就是提前进入 PE 环境做好磁盘预分区。这一步必须放在最前面，如果你不在安装之前把分区分好、把对应的标记和挂载点设置好，等到安装界面里再去操作，是完全行不通的，磁盘状态根本不允许。
&amp;lt;img src=&quot;https://bu.dusays.com/2026/02/12/698dd752b91c6.jpg&quot; alt=&quot;分区大小&quot; title=&quot;分区&quot; /&amp;gt;
我是先进入 PE 环境，在磁盘工具里把整个硬盘的结构提前规划好。首先分好区，根目录 / 分区我分配了 100GB，/home 分区就把硬盘剩下的所有空间都用上，swap 交换分区设置 32GB，boot 分区保留 512MB。分区只是第一步，分完之后还不能直接安装，必须给每个分区做好对应的标记和挂载点，让安装程序能识别每个分区的作用。&lt;/p&gt;
&lt;p&gt;&amp;lt;img src=&quot;https://bu.dusays.com/2026/02/12/698dd751c0590.jpg&quot; alt=&quot;分区大小&quot; title=&quot;硬盘分区大小&quot; /&amp;gt;&lt;/p&gt;
&lt;p&gt;等我把分区和标记全部设置完成之后，再回到 GXDE 的安装界面，安装程序就可以正常识别硬盘结构，直接跳过报错的分区步骤，顺利完成系统写入和部署。整个过程不需要格式化原本的 Windows PE U 盘，也能正常装上 Linux，之后想装回 Windows 也可以直接在 PE 里操作。
&amp;lt;img src=&quot;https://bu.dusays.com/2026/02/12/698dd75233abb.jpg&quot; alt=&quot;安装成功&quot; title=&quot;成功安装&quot; /&amp;gt;
整体体验下来，GXDE 这套系统确实很好用，运行稳定、兼容性也强，喜欢折腾 Linux 的朋友可以去试一试。
&amp;lt;img src=&quot;https://bu.dusays.com/2026/02/12/698dd7e96d7ab.jpg&quot; alt=&quot;主界面&quot; title=&quot;系统主界面&quot; /&amp;gt;&lt;/p&gt;
</content:encoded></item><item><title>简单谈AIGC检测究竟是怎么实现的？</title><link>https://luoca.cn/posts/%E7%AE%80%E5%8D%95%E8%B0%88aigc%E6%A3%80%E6%B5%8B%E7%A9%B6%E7%AB%9F%E6%98%AF%E6%80%8E%E4%B9%88%E5%AE%9E%E7%8E%B0%E7%9A%84/</link><guid isPermaLink="true">https://luoca.cn/posts/%E7%AE%80%E5%8D%95%E8%B0%88aigc%E6%A3%80%E6%B5%8B%E7%A9%B6%E7%AB%9F%E6%98%AF%E6%80%8E%E4%B9%88%E5%AE%9E%E7%8E%B0%E7%9A%84/</guid><pubDate>Mon, 18 Aug 2025 05:21:00 GMT</pubDate><content:encoded>&lt;h3&gt;什么是aigc检测&lt;/h3&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;AIGC（AI Generated Content，人工智能生成内容）&lt;/strong&gt; 是指利用人工智能技术自动生成各类数字内容（如文本、图像、音频、视频、代码等）的技术和应用。它通过机器学习模型（如深度学习 大语言模型等）从海量数据中学习规律，并模仿人类创造力生成新内容。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;总的来说，aigc可以简单理解就是用ai生成的文章和内容，而aigc检测就是对ai内容的分析，确保内容为原创，保证如学术公平等内容。&lt;/p&gt;
&lt;h4&gt;aigc检测的分类&lt;/h4&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;被动检测&lt;/strong&gt;
即AI特征检测，在AI未对内容嵌入水印（下文将详述）且生成内容未经显著修改的情况下，通过分析AI的固有特征进行识别。例如，GPT-3模型倾向于在文本末尾使用“&lt;strong&gt;总的来说&lt;/strong&gt;”等短语，检测系统可通过此类语言模式判断内容为AI生成。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;主动检测&lt;/strong&gt;
即通过AI生成过程或后期人为干预主动嵌入特定特征以实现检测，例如添加数字水印等技术&lt;/li&gt;
&lt;/ol&gt;
&lt;h3&gt;被动检测&lt;/h3&gt;
&lt;h4&gt;语义检测&lt;/h4&gt;
&lt;p&gt;对ai写作的风格进行检测，比如ai喜欢在结尾使用总的来说，ai句式等等&lt;/p&gt;
&lt;h4&gt;统计指纹&lt;/h4&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;熵分析&lt;/strong&gt;
用于衡量文本的词汇重复度。AI生成内容通常具有较低的熵值（即词汇多样性较高），而人类写作因“词穷”现象，词汇重复度相对较高。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;困惑度分析&lt;/strong&gt;
作为AIGC检测的核心方法，其原理基于AI倾向于选择概率更高的词语生成文本，导致困惑度较低；而人类思维的活跃性使文本困惑度较高，形成可检测的统计差异。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;n-gram算法检测&lt;/strong&gt;
通过分析词频分布差异进行识别，例如AI模型可能过度使用某些高频词汇或短语&lt;/li&gt;
&lt;/ol&gt;
&lt;h4&gt;DetectGPT算法&lt;/h4&gt;
&lt;p&gt;由以上内容，研究者研发出了DetectGPT
DetectGPT的核心原理是：由LLM生成的文本通常在模型的对数概率函数的负曲率区域的特定区域徘徊。进一步解释了这一机制，指出机器倾向于选择概率更高的词，而人类则更看重词语搭配是否符合特定语义，导致机器生成文本在目标词处呈现出正曲率，而人类书写文本则接近于零曲率。&lt;/p&gt;
&lt;p&gt;具体而言，通过比较原始文本及其扰动版本的对数概率，可以估计曲率。如果某个点的对数概率值显著高于其扰动版本，则该点的曲率较低（接近零），表明可能是人类书写；反之，如果对数概率值显著低于扰动版本，则曲率较高（负值），表明可能是AI生成。&lt;/p&gt;
&lt;p&gt;简言之，人类文本受干扰影响较大，而AI文本因偏好模糊词汇，扰动后变化较小。通过量化计算曲率范围，可推断AI生成概率&lt;/p&gt;
&lt;h3&gt;主动检测&lt;/h3&gt;
&lt;h4&gt;水印技术&lt;/h4&gt;
&lt;blockquote&gt;
&lt;p&gt;水印是一种将信息嵌入多媒体数据（如图像、视频、文字）中以进行版权保护、数据监控和追踪的技术 。在AIGC检测中，水印通常在内容生成过程中被嵌入，作为内容的&quot;数字指纹&quot;。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;除了简单理解的图片加入水印，我们注意到某些ai是可以往文字里加入水印的，其原理将某些词汇标记为水印词汇，在用户生成内容时尽可能用上这些词汇，如果ai水印识别词比例过高，就会被判定为ai。&lt;/p&gt;
&lt;p&gt;但这就引出了鲁棒性和隐蔽性的问题，若是过于明显，ai生成的内容质量会变低。隐蔽性高，aigc检测性就会变弱。&lt;/p&gt;
&lt;h4&gt;目前困境&lt;/h4&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;可解释性不足&lt;/strong&gt;：当前AIGC检测方法多为二分类任务，缺乏可解释性 。也就是你很难理解他为何判断为ai。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;模态覆盖不全&lt;/strong&gt;：许多方法未考虑图像和视频的统一检测框架 。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;数据集限制&lt;/strong&gt;：现有基准和数据集（如AIGCDetectionBenchmark, GenVideo, LOKI, FakeBench, FakeClue）在评估多模态AIGC检测方面仍存在不足&lt;/li&gt;
&lt;/ol&gt;
&lt;h4&gt;未来方向&lt;/h4&gt;
&lt;p&gt;基于当前现状，未来AIGC检测会朝向以下目标发展：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;更强大的多模态检测框架&lt;/strong&gt;：开发能够同时处理文本、图像、音频和视频等多种模态的统一检测框架，提高检测的全面性和准确性。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;增强可解释性&lt;/strong&gt;：提高AIGC检测结果的可解释性，使检测过程更加透明可信。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;应对新型生成技术&lt;/strong&gt;：随着扩散模型等新型AIGC技术的发展，需要开发针对性的检测方法。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;提高鲁棒性&lt;/strong&gt;：增强AIGC检测器对对抗攻击的鲁棒性，特别是在面对未知攻击时。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;标准化与产业化&lt;/strong&gt;：推动AIGC检测技术的标准化和产业化应用，如开发通用的检测API和工具。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;伦理与法规研究&lt;/strong&gt;：加强AIGC检测技术的伦理和法规研究，平衡技术创新与隐私保护、内容安全等 concerns。&lt;/li&gt;
&lt;/ol&gt;
</content:encoded></item><item><title>【新人】博客怎样获得更多关注</title><link>https://luoca.cn/posts/%E6%96%B0%E4%BA%BA%E5%8D%9A%E5%AE%A2%E6%80%8E%E6%A0%B7%E8%8E%B7%E5%BE%97%E6%9B%B4%E5%A4%9A%E5%85%B3%E6%B3%A8/</link><guid isPermaLink="true">https://luoca.cn/posts/%E6%96%B0%E4%BA%BA%E5%8D%9A%E5%AE%A2%E6%80%8E%E6%A0%B7%E8%8E%B7%E5%BE%97%E6%9B%B4%E5%A4%9A%E5%85%B3%E6%B3%A8/</guid><pubDate>Sat, 16 Aug 2025 13:25:00 GMT</pubDate><content:encoded>&lt;h4&gt;前言&lt;/h4&gt;
&lt;p&gt;好久没写点东西了，最近有新搭博客的朋友问我：“博客建好了，怎么快速有点人来看看？”所以水篇文，谈谈自己的看法&lt;/p&gt;
&lt;h4&gt;把“地基”打牢：速度和内容是王道&lt;/h4&gt;
&lt;p&gt;网站刚起步，没人气很正常，但咱得确保来的人有个好体验，愿意再来或者分享。
首先第一的就是 快！ 个人建议，尽量用国内服务器，虽然备案有点麻烦，但那个访问速度，实际比折腾半天国外所谓的大带宽舒服太多了，直接影响大家的耐心。
其次，CDN是好东西，它能让你网站的加载速度增加。现在有不少靠谱的免费公益CDN项目可以用（比如国内镜像或 onedrive之类，以及博友们的公益服务），既能保护你的源站，又能让用户访问更稳。&lt;/p&gt;
&lt;p&gt;但，核心永远是内容。高质量、有独特价值的干货是最强引力源。但现实是，持续输出深度内容门槛太高，不少博友都更一段时间就跑路。我的想法是：如果不能保持高产高质量，那至少别断更。实在写不出深度时，一篇能哪怕你觉得是“水文”，也比静默要好——至少表明此站有活人&lt;/p&gt;
&lt;h4&gt;我的策略是交朋友 &amp;gt; 靠搜索&lt;/h4&gt;
&lt;p&gt;说到流量，实际很多人第一反应是搜索引擎优化。没错，整个像Bing站长工具、提交网站地图、调整一下robots文件和关键词这些基础操作，让搜索引擎“抓取”和“理解”你的博客，做好了能被更多人搜到，增加曝光。
但说实话 对个人博客而言，我对SEO带来的效果比较佛系。这种被动搜索来的流量，往往看完即走。人家是冲着解决某个具体问题来的，看完答案就撤了，很难形成稳定的读者群体或互动。它能带来一些数字和知名度吗？当然能，但我觉得这不是博客最核心的价值。&lt;/p&gt;
&lt;p&gt;我个人更看重也更推荐的是“交朋友”，这就是博客的魅力所在了：&lt;/p&gt;
&lt;p&gt;加入博客联盟/圈子： 像“开往”、“十年之约”、“博友圈”这类联盟，加入后，大家在博客里放个导航链接，只要你进入这个联盟的一员，你的博客就被联盟中的许多人包含在链接列表中，给彼此带来真实有效的流量。这效果比单打独斗强太多了，另外我觉得是有点认证的感觉，也增加了可信度。
积极交换友情链接： 新手首先就别害羞，多去其他博客（尤其是你感兴趣的）留留言、互动一下。一句话就搞定：“很喜欢你的博文，要不要交换个友情链接？” 这种基于互相欣赏和认同的链接交换，才是真正带来持续、有粘性流量的方式。关键在于交流互动本身，在这个过程中认识志同道合的朋友，聊聊建站心得、写作思路，这才是做博客最大的乐趣&lt;/p&gt;
&lt;h4&gt;碎碎念&lt;/h4&gt;
&lt;p&gt;建博不易，运营更需坚持。不要只盯着冷冰冰的数据，关注内容价值，真诚待人，多交志同道合的朋友，流量和读者会像流水一样自然地进来。博客的魅力往往就藏在这些人与人的联结之中。一起加油吧！&lt;/p&gt;
</content:encoded></item><item><title>【笔记】LINUX+c语言零基础笔记</title><link>https://luoca.cn/posts/%E7%AC%94%E8%AE%B0linuxc%E8%AF%AD%E8%A8%80%E9%9B%B6%E5%9F%BA%E7%A1%80%E7%AC%94%E8%AE%B0/</link><guid isPermaLink="true">https://luoca.cn/posts/%E7%AC%94%E8%AE%B0linuxc%E8%AF%AD%E8%A8%80%E9%9B%B6%E5%9F%BA%E7%A1%80%E7%AC%94%E8%AE%B0/</guid><pubDate>Wed, 23 Jul 2025 00:31:00 GMT</pubDate><content:encoded>&lt;p&gt;Python/C语言与Linux入门学习笔记&lt;/p&gt;
&lt;h2&gt;前言&lt;/h2&gt;
&lt;p&gt;最近在入门Python和C语言，Linux算是后期基础，所以先学习Linux打基础：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;优先学习Linux&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;使用VMware搭建虚拟机&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;远程连接工具选择FinalShell&lt;/strong&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;strong&gt;PS&lt;/strong&gt;：刚才才知道Markdown文档按两下回车就会跳出当前编辑的列表/大纲&lt;/p&gt;
&lt;hr /&gt;
&lt;h2&gt;一、计算机硬件基础&lt;/h2&gt;
&lt;h3&gt;核心组件理解&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;CPU&lt;/strong&gt;：计算机的大脑（笔记本CPU后缀&quot;U&quot;主打续航，可能性能不够高）&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;内存&lt;/strong&gt;：临时存储的黑板（主要看DDR代数和频率，睿频频率越高效率越高）&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;硬盘&lt;/strong&gt;：永久存储的课本
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;SSD&lt;/strong&gt;：Solid State Drive（固态硬盘，现在很便宜了）&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;HSD&lt;/strong&gt;：Hybrid Solid Drive（混合硬盘）&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;HDD&lt;/strong&gt;：Hard Disk Drive（机械硬盘）&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;操作系统&lt;/strong&gt;：硬件与软件的桥梁
&lt;ul&gt;
&lt;li&gt;没有操作系统的电脑称为&quot;裸机&quot;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;PS&lt;/strong&gt;：发现微软系统路径多用&quot;ms&quot;前缀，如&lt;code&gt;mspaint&lt;/code&gt;（画图）、&lt;code&gt;msconfig&lt;/code&gt;（系统配置）&lt;/p&gt;
&lt;hr /&gt;
&lt;h2&gt;二、Linux系统认知&lt;/h2&gt;
&lt;h3&gt;核心概念&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Linux发行版&lt;/strong&gt; = Linux内核 + 系统库 + 系统软件
&lt;ul&gt;
&lt;li&gt;内核下载地址：&lt;a href=&quot;https://www.kernel.org&quot;&gt;kernel.org&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;发行版本质&lt;/strong&gt;：打包好的Linux操作系统&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;常见发行版对比&lt;/h3&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;名称&lt;/th&gt;
&lt;th&gt;特点&lt;/th&gt;
&lt;th&gt;适用场景&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;RedHat&lt;/td&gt;
&lt;td&gt;IBM维护，企业级付费版&lt;/td&gt;
&lt;td&gt;商业服务器&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;CentOS&lt;/td&gt;
&lt;td&gt;RedHat的社区免费版&lt;/td&gt;
&lt;td&gt;企业服务器&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Ubuntu&lt;/td&gt;
&lt;td&gt;界面友好，软件生态丰富&lt;/td&gt;
&lt;td&gt;新手/桌面&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Deepin&lt;/td&gt;
&lt;td&gt;国产优秀发行版&lt;/td&gt;
&lt;td&gt;中文用户&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;中标麒麟&lt;/td&gt;
&lt;td&gt;国内政府/企业专用&lt;/td&gt;
&lt;td&gt;国产化替代&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;hr /&gt;
&lt;h2&gt;三、虚拟机配置实战&lt;/h2&gt;
&lt;h3&gt;工具选择&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;VMware&lt;/strong&gt;：商业版（稳定但收费）&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;VirtualBox&lt;/strong&gt;：免费开源版&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;虚拟机与宿主机数据完全隔离&lt;/p&gt;
&lt;h3&gt;VMware安装要点&lt;/h3&gt;
&lt;ol&gt;
&lt;li&gt;安装时选择中文界面&lt;/li&gt;
&lt;li&gt;验证安装成功：网络适配器中会出现两个虚拟网卡
&lt;ul&gt;
&lt;li&gt;若未出现：通过&lt;code&gt;编辑  虚拟网络编辑器&lt;/code&gt;重置配置&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h3&gt;FinalShell连接技巧&lt;/h3&gt;
&lt;ol&gt;
&lt;li&gt;查看虚拟机IP：&lt;code&gt;编辑  虚拟网络编辑器&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;在FinalShell中输入IP和凭据连接&lt;/li&gt;
&lt;/ol&gt;
&lt;h3&gt;快照管理&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;系统恢复神器&lt;/strong&gt;：创建系统还原点（占用空间远小于完整镜像）&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;操作路径&lt;/strong&gt;：&lt;code&gt;右键虚拟机  快照&lt;/code&gt;
&lt;ul&gt;
&lt;li&gt;创建快照：记录当前状态&lt;/li&gt;
&lt;li&gt;恢复快照：一键回退到保存点&lt;/li&gt;
&lt;li&gt;建议：保留2-3个关键状态快照&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;hr /&gt;
&lt;h2&gt;四、Linux基础命令&lt;/h2&gt;
&lt;h3&gt;文件系统特性&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;根目录&lt;/strong&gt;：所有文件的最终父目录（用&lt;code&gt;/&lt;/code&gt;表示）
&lt;ul&gt;
&lt;li&gt;没有Windows中的盘符概念&lt;/li&gt;
&lt;li&gt;正斜线&lt;code&gt;/&lt;/code&gt;：Linux路径分隔符&lt;/li&gt;
&lt;li&gt;反斜线&lt;code&gt;\&lt;/code&gt;：转义字符（非路径分隔符）&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;命令通用格式&lt;/h3&gt;
&lt;pre&gt;&lt;code&gt;命令 -[选项] [参数]
&lt;/code&gt;&lt;/pre&gt;
&lt;h3&gt;核心命令详解&lt;/h3&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;命令&lt;/th&gt;
&lt;th&gt;功能&lt;/th&gt;
&lt;th&gt;常用选项&lt;/th&gt;
&lt;th&gt;记忆技巧&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;ls&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;查看目录内容&lt;/td&gt;
&lt;td&gt;&lt;code&gt;-a&lt;/code&gt;(显示隐藏文件)&lt;/td&gt;
&lt;td&gt;&quot;list&quot;缩写&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;-l&lt;/code&gt;(列表展示详情)&lt;/td&gt;
&lt;td&gt;&quot;list&quot;的首字母&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;-h&lt;/code&gt;(人性化文件大小)&lt;/td&gt;
&lt;td&gt;&quot;human&quot;缩写&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;pwd&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;显示当前路径&lt;/td&gt;
&lt;td&gt;无&lt;/td&gt;
&lt;td&gt;&quot;print work directory&quot;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;cd&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;切换目录&lt;/td&gt;
&lt;td&gt;&lt;code&gt;~&lt;/code&gt;(用户目录)&lt;/td&gt;
&lt;td&gt;&quot;change directory&quot;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;-&lt;/code&gt;(返回上次目录)&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;..&lt;/code&gt;(上级目录)&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;mkdir&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;创建目录&lt;/td&gt;
&lt;td&gt;&lt;code&gt;-p&lt;/code&gt;(创建多级目录)&lt;/td&gt;
&lt;td&gt;&quot;make directory&quot;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;cp&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;复制文件/目录&lt;/td&gt;
&lt;td&gt;&lt;code&gt;-r&lt;/code&gt;(递归复制目录)&lt;/td&gt;
&lt;td&gt;&quot;copy&quot;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;mv&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;移动/重命名&lt;/td&gt;
&lt;td&gt;无&lt;/td&gt;
&lt;td&gt;&quot;move&quot;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;rm&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;删除文件/目录&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;-f&lt;/code&gt;(强制删除)&lt;/td&gt;
&lt;td&gt;&quot;remove&quot;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;-r&lt;/code&gt;(递归删除目录)&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;strong&gt;安全规范&lt;/strong&gt;：删除文件时不加&lt;code&gt;-r&lt;/code&gt;参数，删除任何内容都加&lt;code&gt;-f&lt;/code&gt;确认&lt;br /&gt;
示例：&lt;code&gt;rm -rf *.txt&lt;/code&gt;（删除当前目录所有txt文件）&lt;/p&gt;
&lt;h3&gt;进阶命令&lt;/h3&gt;
&lt;pre&gt;&lt;code&gt;# 查找命令位置
which ls

# 按名称查找文件
find / -name &apos;abc*&apos;

# 按大小查找文件
find /home -size +100M

# 输出内容到文件
echo &quot;Hello&quot;  1.txt  # 覆盖写入
echo &quot;World&quot;  1.txt # 追加写入
&lt;/code&gt;&lt;/pre&gt;
&lt;hr /&gt;
&lt;h2&gt;五、C语言基础入门&lt;/h2&gt;
&lt;h3&gt;开发环境配置&lt;/h3&gt;
&lt;ol&gt;
&lt;li&gt;安装MinGW-w64（GCC编译器）&lt;/li&gt;
&lt;li&gt;添加环境变量：&lt;code&gt;Path += MinGW\bin&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;验证安装：&lt;code&gt;gcc -v&lt;/code&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;h3&gt;HelloWorld深度解析&lt;/h3&gt;
&lt;pre&gt;&lt;code&gt;#include &amp;lt;stdio.h  // 预处理指令：包含标准IO函数

int main() {        // 唯一程序入口
    printf(&quot;Hello World!\n&quot;);  // \n为换行符
    return 0;       // 返回操作系统状态码
}
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;strong&gt;编译四阶段&lt;/strong&gt;：&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;graph LR
    A[预处理.c→.i] -- B[编译.i→.s]
    B -- C[汇编.s→.o]
    C -- D[链接.o→.exe]
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;strong&gt;记忆口诀&lt;/strong&gt;：ESC对应预处理参数，ISO对应文件后缀&lt;/p&gt;
&lt;h3&gt;核心语法要素&lt;/h3&gt;
&lt;h4&gt;基础结构&lt;/h4&gt;
&lt;pre&gt;&lt;code&gt;#include &amp;lt;stdlib.h  // 系统库头文件

int main() {
    system(&quot;calc&quot;);  // 调用系统计算器
    return 0;
}
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;strong&gt;实验发现&lt;/strong&gt;：&lt;code&gt;system()&lt;/code&gt;实际调用的是CMD命令（&lt;code&gt;calc&lt;/code&gt;可替换为&lt;code&gt;dir&lt;/code&gt;等命令）&lt;/p&gt;
&lt;h4&gt;数据类型与内存&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;寄存器命名规则&lt;/strong&gt;：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;16位：&lt;code&gt;ax&lt;/code&gt;, &lt;code&gt;bx&lt;/code&gt;（两位名称）&lt;/li&gt;
&lt;li&gt;32位：&lt;code&gt;eax&lt;/code&gt;, &lt;code&gt;ebx&lt;/code&gt;（e开头）&lt;/li&gt;
&lt;li&gt;64位：&lt;code&gt;rax&lt;/code&gt;, &lt;code&gt;rbx&lt;/code&gt;（r开头）&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;数值存储形式&lt;/strong&gt;：&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;graph LR
    A[原码] -- B[反码]
    B -- C[补码]
&lt;/code&gt;&lt;/pre&gt;
&lt;ul&gt;
&lt;li&gt;补码 = 反码 + 1（0保持不变）&lt;/li&gt;
&lt;li&gt;十六进制：&lt;code&gt;0xF&lt;/code&gt; = &lt;code&gt;1111&lt;/code&gt;, &lt;code&gt;0x1&lt;/code&gt; = &lt;code&gt;0001&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;输入输出控制&lt;/h4&gt;
&lt;p&gt;&lt;strong&gt;格式符对照表&lt;/strong&gt;：&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;格式符&lt;/th&gt;
&lt;th&gt;用途&lt;/th&gt;
&lt;th&gt;示例&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;%d&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;整型&lt;/td&gt;
&lt;td&gt;&lt;code&gt;printf(&quot;%d&quot;, 10)&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;%f&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;浮点型&lt;/td&gt;
&lt;td&gt;&lt;code&gt;printf(&quot;%.2f&quot;, 3.14159)&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;%c&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;字符型&lt;/td&gt;
&lt;td&gt;&lt;code&gt;printf(&quot;%c&quot;, &apos;A&apos;)&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;%s&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;字符串&lt;/td&gt;
&lt;td&gt;&lt;code&gt;printf(&quot;%s&quot;, &quot;Hello&quot;)&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;%%&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;输出%符号&lt;/td&gt;
&lt;td&gt;&lt;code&gt;printf(&quot;100%%&quot;)&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;strong&gt;输入注意事项&lt;/strong&gt;：&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;int age;
scanf(&quot;%d&quot;, &amp;amp;age);  // &amp;amp;为取址符不可省略

// 字符输入的特殊性
char ch = getchar();  // 接收单个字符
&lt;/code&gt;&lt;/pre&gt;
&lt;h4&gt;运算符优先级&lt;/h4&gt;
&lt;p&gt;&lt;strong&gt;从高到低&lt;/strong&gt;：&lt;br /&gt;
小括号&lt;code&gt;()&lt;/code&gt;  单目&lt;code&gt;! ++ --&lt;/code&gt;  算术&lt;code&gt;* / %&lt;/code&gt;  关系&lt;code&gt; =&lt;/code&gt;  逻辑&lt;code&gt;&amp;amp;&amp;amp; ||&lt;/code&gt;  赋值&lt;code&gt;=&lt;/code&gt;&lt;/p&gt;
&lt;h4&gt;流程控制&lt;/h4&gt;
&lt;p&gt;&lt;strong&gt;switch结构&lt;/strong&gt;：&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;switch(表达式) {
    case 1: 
        // 代码块
        break;  // 必须添加break！
    case 2:
        // 代码块
        break;
    default:  // 默认情况
        // 代码块
}
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;strong&gt;goto跳转&lt;/strong&gt;：&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;goto label;  // 跳转到标签
// ...代码...
label:      // 标签定义
    printf(&quot;跳转至此&quot;);
&lt;/code&gt;&lt;/pre&gt;
&lt;hr /&gt;
&lt;h2&gt;六、编程实践技巧&lt;/h2&gt;
&lt;h3&gt;常用C库函数&lt;/h3&gt;
&lt;pre&gt;&lt;code&gt;// math.h数学库
pow(2, 10);   // 1024（幂运算）
sqrt(25);     // 5.0（平方根）
ceil(3.2);    // 4.0（向上取整）
floor(3.8);   // 3.0（向下取整）

// time.h时间库
time_t now = time(NULL);  // 获取当前时间戳
&lt;/code&gt;&lt;/pre&gt;
&lt;h3&gt;数组与指针&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;数组基础&lt;/strong&gt;：&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;int arr[3] = {1,2,3};  // 声明初始化
printf(&quot;%d&quot;, arr[0]);  // 访问元素（索引从0开始）
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;strong&gt;指针本质&lt;/strong&gt;：&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;int var = 10;
int *ptr = &amp;amp;var;  // ptr存储var的内存地址
printf(&quot;%p&quot;, ptr); // 输出内存地址
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;strong&gt;重要概念&lt;/strong&gt;：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;32位系统指针占4字节，64位占8字节&lt;/li&gt;
&lt;li&gt;野指针：未初始化的危险指针&lt;/li&gt;
&lt;/ul&gt;
&lt;hr /&gt;
&lt;h2&gt;七、学习心得&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Linux操作&lt;/strong&gt;：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;目录结构理解是基础（尤其&lt;code&gt;/&lt;/code&gt;根目录概念）&lt;/li&gt;
&lt;li&gt;命令选项组合提高效率（如&lt;code&gt;ls -alh&lt;/code&gt;）&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;C语言要点&lt;/strong&gt;：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;指针是C语言的灵魂&lt;/li&gt;
&lt;li&gt;内存管理需要时刻关注&lt;/li&gt;
&lt;li&gt;编译器工作原理（ESC→ISO四阶段）&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;效率工具&lt;/strong&gt;：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;VS Code快捷键：
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;Ctrl+K+C&lt;/code&gt;：注释代码&lt;/li&gt;
&lt;li&gt;&lt;code&gt;Ctrl+K+U&lt;/code&gt;：取消注释&lt;/li&gt;
&lt;li&gt;&lt;code&gt;Ctrl+K+F&lt;/code&gt;：格式化&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;记忆法&lt;/strong&gt;：KFC组合键&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;strong&gt;下阶段目标&lt;/strong&gt;：通过Qt框架开发图形界面程序&lt;/p&gt;
</content:encoded></item><item><title>【教程】速通科目一</title><link>https://luoca.cn/posts/%E6%95%99%E7%A8%8B%E9%80%9F%E9%80%9A%E7%A7%91%E7%9B%AE%E4%B8%80/</link><guid isPermaLink="true">https://luoca.cn/posts/%E6%95%99%E7%A8%8B%E9%80%9F%E9%80%9A%E7%A7%91%E7%9B%AE%E4%B8%80/</guid><pubDate>Sun, 06 Jul 2025 11:46:00 GMT</pubDate><content:encoded>&lt;h3&gt;前言&lt;/h3&gt;
&lt;p&gt;最近一直在备考科目一，科目一之前还算简单，但自从近两年加入新规题之后，这破题是真难。最近发现身边也有好多兄弟备考科目一，在持续两周奋战后，根据自己和网上的所有经验，我总结了这份无敌好记的科目一必备口诀思路，便于大家快速学习。适用于先去刷题，对题目风格走向有一个基础把握（1000题左右），之后通过技巧学习。&lt;/p&gt;
&lt;h4&gt;英文题&lt;/h4&gt;
&lt;p&gt;科目一只会考三个简单的英文题，**防抱死 自适应巡航系统 车道偏离系统 **&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Abs叫做防抱死，因为bs叫做抱死的拼音 有防抱死的选择就选紧急制动&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;自适应巡航系统 你看那个“巡”字怎么写 是不是里面有三个c 暗示你选项里要选挂多个c的 所以选择了acc&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;车道偏离系统 叫做LDW 这不就是 离道歪 的意思吗&lt;/p&gt;
&lt;p&gt;不会考别的，就这三个&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h4&gt;交警题&lt;/h4&gt;
&lt;p&gt;下面警察是什么手势？？？&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://bu.dusays.com/2025/07/06/686a52b8c4a40.jpg&quot; alt=&quot;左信号&quot; /&gt;&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;当另一只手放下时&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;比如上图 我们看到交警手握着长杆，他在暗示你我这个杆儿是长杆儿，让你选择最长的选项。&lt;s&gt;难绷&lt;/s&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;当交警捂住胸口，暗示你他胸闷气短 你看哪个选项短你选哪个 就这么简单&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;手平放举起的时候，就是直行&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;当两只手像剪刀一样，对于交警的手 哪手在下选哪个，比如交警右手在下，选右转&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h4&gt;限速题&lt;/h4&gt;
&lt;p&gt;就这种题问你现在限速多少，有牌子的直接选牌子上的，没有呢？分两种情况，城市道路和公路&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;我们就记住 “城35 公47”&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;怎么记呢？看过school days的朋友都知道 城就是诚哥的意思 就那个渣男挨砍那个 我们可以理解成35城，意思是诚哥自我介绍 意思就是 是我（35）诚哥 。什么叫做公47呢 ？就是有了我这个成哥吧 其他公（雄性） 全部死去（47）！&lt;/p&gt;
&lt;p&gt;这样就记住了&lt;/p&gt;
&lt;p&gt;在道路中有线的一定是比没线的快 没有线儿就是30 有线儿就是50 ，公路上没线儿就是40  有线儿就是70&lt;/p&gt;
&lt;p&gt;就这么easy&lt;/p&gt;
&lt;p&gt;其他什么冰天雪地雾天窄桥夜间会车，只要特殊的地方，全部都是30km/h&lt;/p&gt;
&lt;h4&gt;停车米数&lt;/h4&gt;
&lt;p&gt;口诀“&lt;strong&gt;口五站三&lt;/strong&gt;”&lt;/p&gt;
&lt;p&gt;可以记为 科五战三（大战三回科目五）&lt;/p&gt;
&lt;p&gt;看到站字全部选择30m停车  看到口字儿全部选择50m&lt;/p&gt;
&lt;p&gt;什么加油站，地铁站，火车站，公交站 什么隧道口铁道口，只要问你停车距离，就是30 50&lt;/p&gt;
&lt;h4&gt;车距题&lt;/h4&gt;
&lt;p&gt;分为两种 一个是放牌子的距离，一个是两车距离&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;第一种 两车距离叫 261，145，520&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;​	记法是 爱了你，你是我（的全部），我爱你&lt;/p&gt;
&lt;p&gt;​	用法是&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;1. 能见度200米时候，60km/h ，100m距离 
1. 能见度100米时候，40km/h ，50m距离 
1. 能见度50米时候，20km/h ，离开道路
&lt;/code&gt;&lt;/pre&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;第二种放故障牌子&lt;/p&gt;
&lt;p&gt;普通道路50-100 高速150m以上&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h4&gt;其他数字题&lt;/h4&gt;
&lt;p&gt;让你选米数的题，无论选择什么米 你都选最大的就好 数字能选最大，选最大 越大越好&lt;/p&gt;
&lt;h4&gt;牌子题&lt;/h4&gt;
&lt;p&gt;后雾灯是黄色标记 就记 皇后{黄后} 一下就区分了&lt;/p&gt;
&lt;p&gt;车两边两排虚线 暗示下小雨 天气很潮 选潮汐车道&lt;/p&gt;
&lt;p&gt;红警告 蓝黄提示 黑停止 紫色选“事”&lt;/p&gt;
&lt;h3&gt;难点&lt;/h3&gt;
&lt;h4&gt;车代号&lt;/h4&gt;
&lt;p&gt;叫二货喵呜&lt;/p&gt;
&lt;p&gt;什么意思呢&lt;/p&gt;
&lt;p&gt;问你中型货车？？？我们直接想到二货 所以数字是2 中型肯定字母比大型靠后 所以b2&lt;/p&gt;
&lt;p&gt;那大型客车呢？？？二是货 大是a 那大客车一定是a1啊&lt;/p&gt;
&lt;p&gt;c6单独记 叫轻型牵引车 驾驶证20-70考&lt;/p&gt;
&lt;h4&gt;扣钱题&lt;/h4&gt;
&lt;p&gt;大概有四个部分，我们一一解析，罚款题一共就25道左右&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;还记得我们上边说的诚哥口诀吗--是我（35）诚哥 公的全部死去（47）。诚哥是不是牛？包牛的  所以你看到诚35中的35 如果判断题就选对 如果选择题就选&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;那我们懂得二货喵呜，我们看到2就会想到喵呜，喵呜总是对的，所以罚款题看到“二 2 俩”都是对&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;第三个叫做造假前中后&lt;/p&gt;
&lt;p&gt;如果我提交资料是假的，还没开始考试就被发现了，扣500&lt;/p&gt;
&lt;p&gt;如果考试中我找人替考被发现了，或者是考试中造假，扣1000&lt;/p&gt;
&lt;p&gt;如果本儿都发到手了，结果发现我造假，扣我2000&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;最后一个事 二百五多次拘留 在遇到扣钱题问你下列行为，哪一个是扣这么多钱？的这种题的时候 看到200选50 看到拘留选多次&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h4&gt;超重，超载，超速（最难）&lt;/h4&gt;
&lt;ol&gt;
&lt;li&gt;还是二货喵呜理论 咱的手机号是中国移动的136手机号 所以当看到货车单独出现的时候 只可能扣1分，3分和6分  分界线是30和50  所以30 1分，30~50 3分，50以上6分&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;其他所有的分界线全部都是20和50&lt;/p&gt;
&lt;p&gt;我们在学习之前先来了解一下 城市快速路，高速公路以外的公路 意思是普通公路&lt;/p&gt;
&lt;p&gt;校车，客车，货车，危险车以外的车是普通车&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;首先是看到挂7座的 记住一个广告叫做 上69网 下360&lt;/p&gt;
&lt;p&gt;比如：...七座以上载客汽车....50%以上，不到100%....扣几...?&lt;/p&gt;
&lt;p&gt;咱们一想 上69，也就是只能扣6分和9分  50以上已经太多了，所以9分儿&lt;/p&gt;
&lt;p&gt;同样的以下的载客汽车超载20~50%  我想到 下360 20~50不太多 所以直接扣3&lt;/p&gt;
&lt;p&gt;你也不用管他是不是超载或者咋样的，只要看到关键字 就ok&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;然后只要出现超100%的 无论是啥玩意儿，全部都是12分&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;普通车只会扣3 6和他的二倍 比如说普通公路上就是3分，6分 高速公路上直接乘二&lt;/p&gt;
&lt;p&gt;公路...小车....50%以上 1秒反应直接扣6分&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;题目中出现校车的我们想什么呢？想169  校车，客车，货车....50%以上...普通道路.... 我们看到校车了 50比较多 直接9分&lt;/p&gt;
&lt;p&gt;总结：&lt;/p&gt;
&lt;p&gt;二《货》136
上69，下360
小车扣36和二倍
校车169&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
</content:encoded></item><item><title>【再启航】时隔半年，再更博客</title><link>https://luoca.cn/posts/%E5%86%8D%E5%90%AF%E8%88%AA%E6%97%B6%E9%9A%94%E5%8D%8A%E5%B9%B4%E5%86%8D%E6%9B%B4%E5%8D%9A%E5%AE%A2/</link><guid isPermaLink="true">https://luoca.cn/posts/%E5%86%8D%E5%90%AF%E8%88%AA%E6%97%B6%E9%9A%94%E5%8D%8A%E5%B9%B4%E5%86%8D%E6%9B%B4%E5%8D%9A%E5%AE%A2/</guid><pubDate>Mon, 23 Jun 2025 14:10:00 GMT</pubDate><content:encoded>&lt;p&gt;和朋友聊天时突然想到自己的博客，不知不觉已有半年停更，不了解的朋友甚至觉得我已跑路了。事实上，断更原因自然很简单，我刚刚经历了所谓**“人生最大的转折点”**--高考。&lt;/p&gt;
&lt;p&gt;不得不说，从高二升高三的一瞬间，时间真就一下子绷紧了。高二时体育活动或者自由时间所剩无几，作业量加大，题难度加大，无数次考试发分，开始无限痛苦。&lt;/p&gt;
&lt;p&gt;然而真正习惯了高三，似乎也不再是无法忍受，无数次不经意间进入心流状态，一天天度过如同细水长流。一转眼，高三就这样过来了。结果大概也不会太糟。今天去听了学校组织的毕业歌会，感慨万千，这三年终于过来了。&lt;/p&gt;
&lt;p&gt;在此之后我会持续更新博客，也感谢无数公益项目和小伙伴们的支持！&lt;/p&gt;
</content:encoded></item><item><title>【随笔】随便写写，以证我还存活~</title><link>https://luoca.cn/posts/%E9%9A%8F%E7%AC%94%E9%9A%8F%E4%BE%BF%E5%86%99%E5%86%99%E4%BB%A5%E8%AF%81%E6%88%91%E8%BF%98%E5%AD%98%E6%B4%BB/</link><guid isPermaLink="true">https://luoca.cn/posts/%E9%9A%8F%E7%AC%94%E9%9A%8F%E4%BE%BF%E5%86%99%E5%86%99%E4%BB%A5%E8%AF%81%E6%88%91%E8%BF%98%E5%AD%98%E6%B4%BB/</guid><pubDate>Mon, 10 Feb 2025 17:01:00 GMT</pubDate><content:encoded>&lt;h3&gt;前言&lt;/h3&gt;
&lt;p&gt;最近的日子，过得像被风翻乱的日记，还没来得及细看，新的内容就盖了上去。朋友的消息堆在聊天框里，像院子角落里积了很久的落叶，偶尔有人问：“你还在做网站吗？”其实也不是不做了，只是时间被各种琐事吞掉了，没留下什么声响。寒假一眨眼就过去，春天已经站在门口了。&lt;/p&gt;
&lt;h3&gt;发现了一个不错的文章聚合网站&lt;/h3&gt;
&lt;p&gt;最近学东西的时间多了，效率就成了个绕不开的话题。这两天发现了一个挺好用的文章聚合平台（网页与客户端）——今日热榜，它把各个平台的文章都汇总到一起，不用来回切换，信息差也小了不少。近来用它来看 AI 的进展，感觉这场技术浪潮翻涌得越来越快，新技术一个接一个，短短几个月就能让人觉得知识跟不上了，像春天的树枝刚冒出嫩芽，转眼就变成一片绿荫。&lt;/p&gt;
&lt;h3&gt;我重装了 XP 系统&lt;/h3&gt;
&lt;p&gt;可能是最近有点怀旧，前几天一时兴起，给电脑装了个 XP 系统。开机的那一刻，熟悉的启动音一响，感觉一下子被拉回了小时候。那时候，QQ 头像一闪一闪，拨号上网时能听到嘟嘟的声音，网页加载得慢得像冬天解冻的河，等着它一点点显出来。硬盘偶尔发出滴答声，像是在认真地运转着什么。过去的那些小细节，现在想起来，竟然还透着点温暖。&lt;/p&gt;
&lt;h3&gt;其实没啥&lt;/h3&gt;
&lt;p&gt;寒假就这么结束了，所谓春天的脚步越来越近，日子还是忙忙碌碌地往前走。但偶尔停下来，那些藏在时间缝隙里的瞬间，还是会亮一下，提醒我，那些被忙碌带走的日子，其实一直都在，并没有真正消失。随笔记录下，以便证明我存活。&lt;/p&gt;
</content:encoded></item><item><title>【随写】充满回忆的智能手表</title><link>https://luoca.cn/posts/%E9%9A%8F%E5%86%99%E5%85%85%E6%BB%A1%E5%9B%9E%E5%BF%86%E7%9A%84%E6%99%BA%E8%83%BD%E6%89%8B%E8%A1%A8/</link><guid isPermaLink="true">https://luoca.cn/posts/%E9%9A%8F%E5%86%99%E5%85%85%E6%BB%A1%E5%9B%9E%E5%BF%86%E7%9A%84%E6%99%BA%E8%83%BD%E6%89%8B%E8%A1%A8/</guid><pubDate>Sat, 30 Nov 2024 13:03:00 GMT</pubDate><content:encoded>&lt;p&gt;有着猫冬的北方总是&quot;冻&quot;的，未到深冬，寒意却已愈加浓重，棉被如同石板压在身上，让我的梦境更加&quot;沉重&quot;。
恰逢刚换宿舍，清晨的铃声显得更加微弱，没少有迟到的苦闷，当然这苦闷并非我一人&quot;独享&quot;。前几日，室友因而买只手表设定闹钟，便四百网购热销手表一只。作为一个实打实的懒人，我自然是双手双脚举起赞成的。
手表到货，拆开包裹的一瞬间。从预期的惊艳变成了惊讶--山寨感扑面而来，有种充费送&quot;鸭梨手机&quot;的感觉。第二眼大写&quot;WiFi&quot;字样赫然在目，不祥预感油然而生。开机后手表上的&quot;抖音&quot;按钮映入眼帘。该来的还是会来的，室友自然是乐开花，留我厌竖屏短视频者面露难色。
有它这一表，宿舍&quot;彻夜难眠&quot;，想要休息的心还是&quot;死&quot;了。
实际上，我对这类奇特的电子设备的认知竟来自于初中同学带来的某知名电话手表。通过简单破解，安装了许多手机程序，这无疑成为了班里的又一乐趣。老师又怎会想到这半掌大小的玩意儿，竟有如此多的花样？看着指尖在&quot;小玻璃&quot;上行云流水的滑行，我虽打趣:&quot;进厂之路 就在其中&quot;，却也眼里放光，心怀羡慕。
夏至时节，天气炎热，已从冬春季节出狱的草木竟发奋生长。因为考试成绩优异，使得我也拥有了这样一块表。导致我周围的每个人都获得了&quot;上网自由&quot;。下课之后准点打开手表了解外部信息，发表评论，进行热议。
下学之后，我和同学们总是在一起骑车回家，一边讨论着今天的见闻。亦或是拿一大盒威化饼干，坐在校门口小花园板凳上赏花观景，手表放上一首好歌，好不自在。天近黄昏，亦有晚霞，实风景画之味道，人影被斜阳拉长，脸庞变得更加红润。笑语嘈杂声中，美好的一日落下帷幕。
当然事情总不是一帆风顺，也有被家长发现，赶忙塞进书包，遭到一阵&quot;毒打&quot;。或是上课偷看小说，被老师抓包，罚站罚抄，后果可想而知。但大多数时候是好的，我和同学们因为这款表有了更深的情谊，这块表将我们的心也连在了一起。
夏日的炎热终会过去，秋日的寒夜总会到来。秋风忽至，早霜而至，落叶终会落卧。我顺利从初中毕业，也离开了多年的伙伴。我早已忘记那块表在哪里浸润尘土，或许它也在静等我的再次发现。
再回到室友拿回来手表的头一个夜晚吧，我捏扁耳塞，准备休息，试图隔绝外面的音乐，那乐声却能穿过我的耳塞，带我回到那个充满阳光和欢笑的夏天。
或许，我不再讨厌那块表了。&lt;/p&gt;
</content:encoded></item><item><title>『随笔』11月中旬近况</title><link>https://luoca.cn/posts/%E9%9A%8F%E7%AC%9411%E6%9C%88%E4%B8%AD%E6%97%AC%E8%BF%91%E5%86%B5/</link><guid isPermaLink="true">https://luoca.cn/posts/%E9%9A%8F%E7%AC%9411%E6%9C%88%E4%B8%AD%E6%97%AC%E8%BF%91%E5%86%B5/</guid><pubDate>Sat, 16 Nov 2024 15:38:00 GMT</pubDate><content:encoded>&lt;h2&gt;前言&lt;/h2&gt;
&lt;p&gt;其实大多时候我是不想写随笔周记的：一方面是我的站点有现实认识的朋友来访，另一方面我总是想发一些有实际价值的东西。后来想想，如果只写这些不如直接去某乎发文，折腾半天其实就是为了记录自己，所以还是写了这篇文章。&lt;/p&gt;
&lt;h2&gt;网站相关&lt;/h2&gt;
&lt;h3&gt;评论区硬是没开起来&lt;/h3&gt;
&lt;p&gt;正如上面所述，以前不开评论是没时间审核，想想也没必要，所以想把评论就此打开来着，结果就是折腾半天也麼搞好。&lt;/p&gt;
&lt;p&gt;之前网站的静态化属实给我的后续操作留下不少坑....不是莫名的缓存，就是不生效...&lt;/p&gt;
&lt;p&gt;搞了一阵子，罢了罢了 等假期再说吧&lt;/p&gt;
&lt;h3&gt;支持www访问&lt;/h3&gt;
&lt;p&gt;之前网站一直都在用裸域，直接luoca.cn就进来了很方便，直到前一阵子看到有友友说www子域名对收录效果更好&lt;/p&gt;
&lt;p&gt;于是我开启了裸域301跳转www，本以为万事大吉，结果不少友友的rss feed直接炸掉了。没办法，还是重新开启了两个域名的访问，确保大家的正常体验。&lt;/p&gt;
&lt;h2&gt;其他方面&lt;/h2&gt;
&lt;h3&gt;摆烂的双拼学习&lt;/h3&gt;
&lt;p&gt;因为看见其他友友学习打字，所以自己也想提高打字速度&lt;/p&gt;
&lt;p&gt;所以选择了学习小鹤双拼，不得不说，初次用起来还挺好上手的，理论上也确实可以作为打字速度的突破最佳选择&lt;/p&gt;
&lt;p&gt;然而说的容易，一旦进行应用，可以说头都大了，总是误触碰或者按错键位，甚至忘记某个按键对应的多音节。比如着急回信的时候，就需要切换语音输入法....多少有点鸡肋了。看看能不能再适应一下吧&lt;/p&gt;
&lt;h3&gt;忙碌的新学期&lt;/h3&gt;
&lt;p&gt;最近真的可以说是忙的不得了，考试也已经结束，实话说倒是超过了我的预估，但是还相比别人还差得远，准备再买些书籍资料加紧复习一下，避免遗憾。因此可能最近更新会有些推迟，尽情谅解！&lt;/p&gt;
</content:encoded></item><item><title>【优化】我又申请到免费的一年SSL证书！附教程</title><link>https://luoca.cn/posts/%E4%BC%98%E5%8C%96%E6%88%91%E5%8F%88%E7%94%B3%E8%AF%B7%E5%88%B0%E5%85%8D%E8%B4%B9%E7%9A%84%E4%B8%80%E5%B9%B4ssl%E8%AF%81%E4%B9%A6%E9%99%84%E6%95%99%E7%A8%8B/</link><guid isPermaLink="true">https://luoca.cn/posts/%E4%BC%98%E5%8C%96%E6%88%91%E5%8F%88%E7%94%B3%E8%AF%B7%E5%88%B0%E5%85%8D%E8%B4%B9%E7%9A%84%E4%B8%80%E5%B9%B4ssl%E8%AF%81%E4%B9%A6%E9%99%84%E6%95%99%E7%A8%8B/</guid><pubDate>Sun, 10 Nov 2024 13:27:00 GMT</pubDate><content:encoded>&lt;h2&gt;前言&lt;/h2&gt;
&lt;p&gt;相信各位早就已经听说了，这不是最近的事儿
大部分厂商将域名证书设置成三个月到期，防止因为证书泄露引发的安全问题。这乍一听是好事啊....吗？
::aru:unhappy:: 那不对呀，那岂不是我三个月就要申请一回免费证书？
::aru:sweat:: 我相信对于大部分普通网站来说，ssl证书只是防止网站显示不安全的东东，甚至还会有各种跨域兼容问题。虽然确实能有效防劫持吧。
眼看我的证书在11月多就到期了，大厂的ssl证书一年卖到699元实属令我望而却步。
听说过自动续期，不过我个人也不太想搭建个docker容器续期证书，浪费额外的资源。
::aru:cheer:: 经过搜寻，我发现了一个好玩意，可以直接免费申请一年有效期的证书，建议大家都申请备用一个，防止将来和谐。&lt;/p&gt;
&lt;h2&gt;正文&lt;/h2&gt;
&lt;p&gt;说了一堆废话，直接上网站
&lt;a href=&quot;https://ssl.host.mw/certificate/apply&quot;&gt;点我进入证书申请页面&lt;/a&gt;&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;进入网站之后，首先输入自己的域名，Csr那行可以直接空，点击下一步
&lt;img src=&quot;https://bu.dusays.com/2024/10/05/6701483b515a6.png&quot; alt=&quot;输入域名&quot; /&gt;&lt;/li&gt;
&lt;li&gt;网站会生成你的证书key，注意保存
&lt;img src=&quot;https://bu.dusays.com/2024/10/05/6701483a28fbf.png&quot; alt=&quot;推荐模式&quot; /&gt;&lt;/li&gt;
&lt;li&gt;选择一年的推荐模式，也就是内置邮箱申请的选项&lt;/li&gt;
&lt;li&gt;将自己的mx域名解析绑定网站所给出的内容
&lt;img src=&quot;https://bu.dusays.com/2024/10/05/67014838e5e6e.png&quot; alt=&quot;绑定mx&quot; /&gt;&lt;/li&gt;
&lt;li&gt;通过人机验证之后，30秒左右即可成功申请&lt;/li&gt;
&lt;/ol&gt;
&lt;h2&gt;总结&lt;/h2&gt;
&lt;p&gt;::aru:thumb:: 我已经申请成功了，看到还有一年才到期的证书，舒服了不少，大家有需要的可以申请一下！&lt;/p&gt;
</content:encoded></item><item><title>【日常】终于丢掉眼镜！记一次全飞秒手术</title><link>https://luoca.cn/posts/%E6%97%A5%E5%B8%B8%E7%BB%88%E4%BA%8E%E4%B8%A2%E6%8E%89%E7%9C%BC%E9%95%9C%E8%AE%B0%E4%B8%80%E6%AC%A1%E5%85%A8%E9%A3%9E%E7%A7%92%E6%89%8B%E6%9C%AF/</link><guid isPermaLink="true">https://luoca.cn/posts/%E6%97%A5%E5%B8%B8%E7%BB%88%E4%BA%8E%E4%B8%A2%E6%8E%89%E7%9C%BC%E9%95%9C%E8%AE%B0%E4%B8%80%E6%AC%A1%E5%85%A8%E9%A3%9E%E7%A7%92%E6%89%8B%E6%9C%AF/</guid><pubDate>Tue, 29 Oct 2024 23:07:00 GMT</pubDate><content:encoded>&lt;h2&gt;AI智能总结:&lt;/h2&gt;
&lt;p&gt;笔者通过全飞秒手术成功改善视力，认为手术带来的便利大于风险，并推荐给有需要的近视人群。术后恢复迅速，生活更加方便。&lt;/p&gt;
&lt;h2&gt;全飞秒是啥东东？&lt;/h2&gt;
&lt;p&gt;::aru:proud:: 实则就是平时所说的近视眼手术，做了之后视力可以变得更加清晰的那种。
与之对应的还有半飞秒和晶体植入，具体适合做哪种手术，还需看角膜厚度。
不过实际上在此之前我也不了解它，也都是听护士介绍给我&lt;/p&gt;
&lt;h2&gt;我的想法和花费&lt;/h2&gt;
&lt;p&gt;::aru:shutup:: 做这个一部分原因是为了自己，毕竟戴一辈子眼镜实属是不太方便，而且多少影响帅气颜值(被打)
另一方面是如果将来去军校，或者是当兵之类的，不近视肯定是有很多好处
::aru:speechless:: 我去的是当地的爱尔眼科，花费了1w8左右。理论上私立的医院是会比公立医院贵的，貌似公立医院是1w3左右。不得不说确实很贵，但比起年年配眼睛，也算值得。&lt;/p&gt;
&lt;h2&gt;流程&lt;/h2&gt;
&lt;p&gt;在手术的前几天进行了挂号检查，可以说查了一上午。除了近视眼查的那几项，还有眼压之类的检查(往眼睛吹气的那个)，检查有补贴，几乎是没要钱。顺带也预约了手术时间。
::aru:shit:: 最后检查结果是干眼和暗瞳(黑暗处散光），为了避免这些情况，给了我好几种眼药，一天换着滴
手术当天，属于人挤人的那种，可能也是因为假期里做手术。
心里多少有点紧张，然而过程非常顺利。开始对眼睛进行消毒，往里滴点眼药水。之后有机器对眼睛进行激光 整个过程不超过五分钟。说实话还真没啥，有点像平时揉眼睛那种感觉，没有什么疼痛感。
::aru:speechless:: 做完手术基本上是可以立即看东西的，只是有点模糊 我以为几天用不了手机了，特此把talkback(盲人模式）都学会了，结果其实并没有影响啥&lt;/p&gt;
&lt;h2&gt;效果&lt;/h2&gt;
&lt;p&gt;第二天复查眼睛 视力重新测试 当机视力表最后一行都能看清 我嘞个2.0视力 ::aru:diving::
眼睛没有明显的不适 也不会像某些人所说的看起来像做过手术的眼 我觉得利大于弊&lt;/p&gt;
&lt;h2&gt;总结&lt;/h2&gt;
&lt;p&gt;如果有能力的话，恰好又是近视眼，我是建议考虑一下的，摘掉眼镜之后，生活中是真的方便！ ::aru:thumb::&lt;/p&gt;
</content:encoded></item><item><title>【分享】图床再也不慢！两款好用的图片在线压缩网站</title><link>https://luoca.cn/posts/%E5%88%86%E4%BA%AB%E5%9B%BE%E5%BA%8A%E5%86%8D%E4%B9%9F%E4%B8%8D%E6%85%A2%E4%B8%A4%E6%AC%BE%E5%A5%BD%E7%94%A8%E7%9A%84%E5%9B%BE%E7%89%87%E5%9C%A8%E7%BA%BF%E5%8E%8B%E7%BC%A9%E7%BD%91%E7%AB%99/</link><guid isPermaLink="true">https://luoca.cn/posts/%E5%88%86%E4%BA%AB%E5%9B%BE%E5%BA%8A%E5%86%8D%E4%B9%9F%E4%B8%8D%E6%85%A2%E4%B8%A4%E6%AC%BE%E5%A5%BD%E7%94%A8%E7%9A%84%E5%9B%BE%E7%89%87%E5%9C%A8%E7%BA%BF%E5%8E%8B%E7%BC%A9%E7%BD%91%E7%AB%99/</guid><pubDate>Mon, 21 Oct 2024 00:38:00 GMT</pubDate><content:encoded>&lt;h2&gt;AI智能总结:&lt;/h2&gt;
&lt;p&gt;本文介绍了两种图片压缩工具——TinyPNG和压缩PNG，比较了它们的无损和有损压缩效果，强调了合适使用这些工具可以显著提升图像加载速度并改善用户体验。&lt;/p&gt;
&lt;h2&gt;前言&lt;/h2&gt;
&lt;p&gt;这一类工具是用来压缩图片，大多数以颜色合并作为方案，让图片变得更加简单，在分辨率不改变的情况下减少空间。
这些工具可以让图床占用变小，原来几百k的图片可以压成几十k，同样可以增加网络速度。本站所有封面的看板娘图像全部都经过压缩，可见对图像观感影响并不太大。&lt;/p&gt;
&lt;h2&gt;正文&lt;/h2&gt;
&lt;h3&gt;tinypng&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://tinify.cn/&quot;&gt;网站在线地址&lt;/a&gt;
这个网站所采用的貌似是无损压缩，压缩前后基本看不出差别
&lt;img src=&quot;https://bu.dusays.com/2024/08/20/66c3e26353496.png&quot; alt=&quot;压缩体积&quot; /&gt;
根据上图可以看出来，相比原图大小压缩到50%，图像几乎看不出差别。&lt;/p&gt;
&lt;h3&gt;压缩png&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://imagecompressor.11zon.com/zh-cn/compress-png/&quot;&gt;网站在线地址&lt;/a&gt;
这个网站采用的是有损压缩，虽然分辨率不影响，但是如果压缩倍数大的话，会有色块或者有偏色的现象。
&lt;img src=&quot;https://bu.dusays.com/2024/08/20/66c3e25e2f9d8.png&quot; alt=&quot;7k的图片压成0.5k&quot; /&gt;
但是在色彩本来就简单的图像上，压缩效果比上一个网站要好太多。&lt;/p&gt;
&lt;h2&gt;总结&lt;/h2&gt;
&lt;p&gt;适当使用这类程序可以提高图像加载速度，增加体验感。&lt;/p&gt;
</content:encoded></item><item><title>【随记】网盘日常割韭菜，反正我是不用了</title><link>https://luoca.cn/posts/%E9%9A%8F%E8%AE%B0%E7%BD%91%E7%9B%98%E6%97%A5%E5%B8%B8%E5%89%B2%E9%9F%AD%E8%8F%9C%E5%8F%8D%E6%AD%A3%E6%88%91%E6%98%AF%E4%B8%8D%E7%94%A8%E4%BA%86/</link><guid isPermaLink="true">https://luoca.cn/posts/%E9%9A%8F%E8%AE%B0%E7%BD%91%E7%9B%98%E6%97%A5%E5%B8%B8%E5%89%B2%E9%9F%AD%E8%8F%9C%E5%8F%8D%E6%AD%A3%E6%88%91%E6%98%AF%E4%B8%8D%E7%94%A8%E4%BA%86/</guid><pubDate>Sat, 19 Oct 2024 14:21:00 GMT</pubDate><content:encoded>&lt;h2&gt;前言&lt;/h2&gt;
&lt;p&gt;最近一段时间，喵子发现某“永久不限速”网盘也开始收割了。从原来的百兆以上登陆下载，到现在非会员日流量不超过1GB。其实近些年多家网盘都有类似情况，从开始所谓“不限速不限量”到“限速收空间”。虽可能对于那些“偶尔用用”用户影响并不太大，但对于刚需或者深度用户，无疑要在细算的生活成本上添加又一笔网盘收入了。&lt;/p&gt;
&lt;h2&gt;想法&lt;/h2&gt;
&lt;p&gt;和友友们聊了聊，其实对于网盘收费这事，大家早有预期。几年前疯狂亏本不限速打造良心名声，到后来形成“鼎立知名”。互联网为数不多的位置早就被知名网盘占领瓜分。不限速网盘经历快速扩展，必然要有维护成本，寻求更科学可行的“循环”发展方案似乎是必经之路。&lt;/p&gt;
&lt;p&gt;这样一看，似乎收费运营恢复的理性竞争算是好事。但收费对用户来说必然不是喜闻乐见，也正因如此，互联网质疑之声充斥各个平台。有友友直呼“感觉不如直接买个硬盘自建网盘来的实惠”，也不乏有友友认为“收费后还不如免费的时候好用”。&lt;/p&gt;
&lt;p&gt;其实单从价格来说，5毛钱的加量包似乎倒不是不能接受，所谓会员咱也不是没钱到“充不起”的地步。即便对现状很反感的群体，别人给你扔过来个限速链接，不照样该下还下。网友们的吐槽质疑，也传递出情绪担忧：天天说自己亏损，结果加大投放比例，烧钱宣传趋之若骛。&lt;/p&gt;
&lt;p&gt;平台们很聪明，开头利用甜头吸引用户，涨价收钱收割用户：当初有多爽，收钱有多狠。这种名曰“资本玩法”的东西恐怕大家已经很熟悉了，这里不多举例了。&lt;/p&gt;
&lt;p&gt;也不怪大家多虑担心。各路平台收钱必然能找到理由：用户增多 网站优化 成本问题 .... 价格持续上涨翻倍”无头无尾“，所谓运营危机，有没有可能多收钱也算是”治标不治本“。&lt;/p&gt;
&lt;h2&gt;总结&lt;/h2&gt;
&lt;p&gt;厂家应该做的是提升用户体验，人人都会用后 产品好自然会有人付费，而不是各种套路弹窗引导会员，使得消费者认为自己被套路，得不到一丝尊重&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://bu.dusays.com/2024/10/19/6713bff71e826.png&quot; alt=&quot;有些人是真的不会用网盘啊&quot; /&gt;&lt;/p&gt;
&lt;p&gt;不过我说了恐怕也并无用处，也再没什么欲望去使用“大厂网盘”了，这么一看自建硬盘可能确实成为不错的选择...&lt;/p&gt;
</content:encoded></item><item><title>【分享】最强语音转文字？通义听悟实测</title><link>https://luoca.cn/posts/%E5%88%86%E4%BA%AB%E6%9C%80%E5%BC%BA%E8%AF%AD%E9%9F%B3%E8%BD%AC%E6%96%87%E5%AD%97%E9%80%9A%E4%B9%89%E5%90%AC%E6%82%9F%E5%AE%9E%E6%B5%8B/</link><guid isPermaLink="true">https://luoca.cn/posts/%E5%88%86%E4%BA%AB%E6%9C%80%E5%BC%BA%E8%AF%AD%E9%9F%B3%E8%BD%AC%E6%96%87%E5%AD%97%E9%80%9A%E4%B9%89%E5%90%AC%E6%82%9F%E5%AE%9E%E6%B5%8B/</guid><pubDate>Mon, 14 Oct 2024 01:01:00 GMT</pubDate><content:encoded>&lt;h2&gt;AI智能总结:&lt;/h2&gt;
&lt;p&gt;这篇文章介绍了一个免费的语音转文字软件——通义听悟。作者通过实测发现，该软件能快速准确地转录语音，还具备智能总结和发言者区分功能。文章总结称，通义听悟的效率和功能都很出色，适合需要频繁转录语音的用户。&lt;/p&gt;
&lt;h2&gt;保命声明&lt;/h2&gt;
&lt;p&gt;::aru:shutup:: 这篇文章并没有收钱，没有收任何的钱，也不是广告。确实比较好用，所以推荐给大家。&lt;/p&gt;
&lt;h2&gt;前言&lt;/h2&gt;
&lt;p&gt;::aru:discovertruth:: 大家都知道我早期发了很多读书笔记，不瞒大家说，很多都是我用语音转文字转出来并人工审核加修改格式的。
::aru:speechless:: 刚开始的一两篇是我自己手打的，但是不得不说效率太低了，加上思考，加上码字，一个小时大概2000字左右。一本书最少要3000字，我需要一个半小时完成。有点过于浪费时间了。
::aru:cheer:: 忽然，我想到其实可以拿语音转文字那种方式来写，我需要寻找一个语音转文字的程序，并且要求免费。经过仔细寻找，找到了钉钉闪录和通义听悟（都是阿里系的）这两款程序。
::aru:cryingface:: 然而钉钉闪录需要下载钉钉软件，感觉实属不太方便，于是我用上了通义听悟，实测效果是非常不错的。
下面来介绍一下它&lt;/p&gt;
&lt;h2&gt;正文&lt;/h2&gt;
&lt;p&gt;&lt;a href=&quot;https://tingwu.aliyun.com/doc/transcripts/zj78qpjz46rvqxdp#%E3%80%8ASound%20record%20(2024-08-22%2008_53_02)%E3%80%8B&quot;&gt;通义听悟链接&lt;/a&gt;
::aru:thumb:: 经过实测，我10分钟大概能说5千字左右，在这种情况下，通义听悟是完全可以接受的。识别内容非常完整，几乎无错。可以直接全文复制或者AI改错文案。
&lt;img src=&quot;https://bu.dusays.com/2024/08/22/66c69682c074b.png&quot; alt=&quot;测试效果&quot; /&gt;
::aru:shy2:: 支持各种各样的语音视频文件上传，电脑，手机上点一下就可以传。
&lt;img src=&quot;https://bu.dusays.com/2024/08/22/66c696812046f.png&quot; alt=&quot;上传界面&quot; /&gt;
::aru:surprised:: 它自带AI智能总结功能，支持自动标进度条，区分发言者，总结每个发言者发言内容，标记重点的功能
&lt;img src=&quot;https://bu.dusays.com/2024/08/22/66c696850871d.png&quot; alt=&quot;Ai智能总结&quot; /&gt;
::aru:shit:: 诶，这么一说 好像下次听课可以用这个软件语音转文字 然后再总结一下，再也不用担心课听不完了，机智如喵呜
::aru:surprised:: 10分钟的语音，只需耗费20多秒来转写，速度可以说是非常惊人的。
&lt;img src=&quot;https://bu.dusays.com/2024/08/22/66c69682c074b.png&quot; alt=&quot;我的实际使用&quot; /&gt;&lt;/p&gt;
&lt;h2&gt;收费问题&lt;/h2&gt;
&lt;p&gt;::aru:sweat:: 目前他不收费，你想充钱都找不到地方
（不过这个福利加油站实属让我想到阿里云盘，当时也叫福利加油站送空间，现在照样出了会员功能，没办法，要恰饭的嘛。所以我只能保证目前他不收钱，将来的事谁知道呢）
现在的政策是新注册用户送50个小时，每天登录送10个小时的转写时长，如果你是学生可以再送一段时长，阿里网盘会员也有时长。
&lt;img src=&quot;https://bu.dusays.com/2024/08/22/66c69687dad03.png&quot; alt=&quot;每日送时长&quot; /&gt;
::aru:surrender:: 对于日常来用的话，即使你把一整天的大学课程放进来大概也是够用的。偶尔用用根本花不完啊。&lt;/p&gt;
&lt;h2&gt;总结&lt;/h2&gt;
&lt;p&gt;::aru:confuse:: 总的来说还是非常好用的，目前是没有发现什么缺点，大家可以去尝试一下，有这方面需求的也可以长期来用。&lt;/p&gt;
</content:encoded></item><item><title>【教程】不用插件将首页静态化，提高Typecho首页加载速度！</title><link>https://luoca.cn/posts/%E6%95%99%E7%A8%8B%E4%B8%8D%E7%94%A8%E6%8F%92%E4%BB%B6%E5%B0%86%E9%A6%96%E9%A1%B5%E9%9D%99%E6%80%81%E5%8C%96%E6%8F%90%E9%AB%98typecho%E9%A6%96%E9%A1%B5%E5%8A%A0%E8%BD%BD%E9%80%9F%E5%BA%A6/</link><guid isPermaLink="true">https://luoca.cn/posts/%E6%95%99%E7%A8%8B%E4%B8%8D%E7%94%A8%E6%8F%92%E4%BB%B6%E5%B0%86%E9%A6%96%E9%A1%B5%E9%9D%99%E6%80%81%E5%8C%96%E6%8F%90%E9%AB%98typecho%E9%A6%96%E9%A1%B5%E5%8A%A0%E8%BD%BD%E9%80%9F%E5%BA%A6/</guid><pubDate>Sun, 06 Oct 2024 09:57:00 GMT</pubDate><content:encoded>&lt;h2&gt;AI智能总结:&lt;/h2&gt;
&lt;p&gt;这段代码将 PHP 页面缓存为静态 HTML 文件，从而显著提高网站加载速度。通过在 PHP 文件中捕获输出并写入 HTML 文件，并使用一个监控程序定期更新缓存内容，可以保证网站首页内容的更新。&lt;/p&gt;
&lt;h2&gt;前言&lt;/h2&gt;
&lt;p&gt;祝大家十一快乐！感谢大家一路陪伴！ ::aru:confuse::&lt;/p&gt;
&lt;p&gt;之前我在杜老师的文章里看到优化网站速度的内容:
[杜老师的网站访问速度快吗？—— 杜老师说][1]
::aru:confuse:: 里面提到一点可以用插件将typecho静态化，提高效率，增加网站反应速度。
::aru:cheer:: 我看到之后十分欣喜，寻思网站又快了一点
结果网上下载了两个静态化插件，不是做不到首页的缓存，就是首页缓存后不更新，导致文章不能正常显示::aru:shit::
所以今天分享的php代码可以手动将主页静态化，也就是存储成HTML，从而让网站加载HTML来代替php，提高加载网站首页的速度
::aru:cheer:: 经过右侧网站载入速度的对比，原本加载用时40毫秒左右，可以降至三毫秒左右。
&lt;img src=&quot;https://bu.dusays.com/2024/08/21/66c5c36e7b4d4.png&quot; alt=&quot;使用前&quot; /&gt;
&lt;img src=&quot;https://bu.dusays.com/2024/08/21/66c5c37024f68.png&quot; alt=&quot;使用后&quot; /&gt;
（我不知道这种对比方式是否合理，但是速度确实是有明显提升。另外，上面的数据多次测量已经去除了偶然性 ::aru:shit:: ）
另外如你们现在所见，网站的布局并没有什么影响，没有因为静态化而导致功能失效（其实还是有的，顶栏的统计失效了，但是我估计很少有人会用那个功能 ::aru:unhappy:: ）。&lt;/p&gt;
&lt;h2&gt;正文&lt;/h2&gt;
&lt;p&gt;::aru:speechless:: 既然废话已经多说，那我们直接上代码&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;&amp;lt;?php
ob_start(); //打开缓冲区
include(&quot;index.php&quot;);
$content = ob_get_contents(); //得到缓冲区的内容
$content .= &quot;\n&amp;lt;script language=javascript src=\&quot;new_html.php?t=&quot;.$nowtime.&quot;\&quot;&amp;gt;&amp;lt;/script&amp;gt;&quot;; //防止缓存
file_put_contents(&quot;index.html&quot;,$content);
if (!function_exists(&quot;file_put_contents&quot;))
{
function file_put_contents($fn,$fs)
{
$fp=fopen($fn,&quot;w+&quot;);
fputs($fp,$fs);
fclose($fp);
}
}
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;::aru:thumb:: 这些代码的大概意思就是说:把php文件的内容缓存下来，保存到index.html
使用方法也是相当简单:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;把上面这些代码，放进一个php文件里&lt;/li&gt;
&lt;li&gt;把php文件，上传到主机的根目录
::aru:thumb:: 诶嘿，我们直接访问这个php文件，就会发现根目录里出现了一个HTML文件。&lt;/li&gt;
&lt;li&gt;下一步我们在网站后台面板（各种面板的设置可能不一样，具体在网上搜索一下就能找到）里，把默认文件里html文件优先级调到最高，php调到第二&lt;/li&gt;
&lt;li&gt;最后一步，我们需要在网上找一个监控程序(宝塔面板后台是自带的），让他来定时刷新我们的php程序，设置为大概一个小时，从而保证我们的首页内容持续进行更新。
&lt;img src=&quot;https://bu.dusays.com/2024/08/21/66c5c36caa25d.png&quot; alt=&quot;监控程序&quot; /&gt;
5.enjoy&lt;/li&gt;
&lt;/ol&gt;
&lt;h2&gt;总结&lt;/h2&gt;
&lt;p&gt;通过这种方式，提高网站访问速度，效果还不错鸭 ::aru:shy2::
[1]: https://dusays.com/667/&lt;/p&gt;
</content:encoded></item><item><title>【教程】给HandSome添加预计文章阅读时间</title><link>https://luoca.cn/posts/%E6%95%99%E7%A8%8B%E7%BB%99handsome%E6%B7%BB%E5%8A%A0%E9%A2%84%E8%AE%A1%E6%96%87%E7%AB%A0%E9%98%85%E8%AF%BB%E6%97%B6%E9%97%B4/</link><guid isPermaLink="true">https://luoca.cn/posts/%E6%95%99%E7%A8%8B%E7%BB%99handsome%E6%B7%BB%E5%8A%A0%E9%A2%84%E8%AE%A1%E6%96%87%E7%AB%A0%E9%98%85%E8%AF%BB%E6%97%B6%E9%97%B4/</guid><pubDate>Fri, 27 Sep 2024 10:17:00 GMT</pubDate><content:encoded>&lt;h2&gt;AI智能总结:&lt;/h2&gt;
&lt;p&gt;这篇文章介绍了如何在Typecho博客中添加文章阅读时间的功能。提供了适用于handsome主题的代码示例及其添加位置，同时也说明了如何在其他主题中应用。通过这些修改，博客的用户体验将得到提升。&lt;/p&gt;
&lt;h2&gt;前言&lt;/h2&gt;
&lt;p&gt;::aru:unhappy:: 其实预计时长这个东西我早就用上了，刚看到好像网上没有类似的教程。但属实是没活硬整了，明明当时博客想做的方向就是生活类的，等我想想我还能更点儿啥吧&lt;/p&gt;
&lt;h2&gt;正文&lt;/h2&gt;
&lt;p&gt;虽然说是handsome主题，不过这个方法其实是通用的，任何的typecho主题都可以添加。 ::aru:cheer::
但是我适配了主题外观，所以handsome看起来更加整洁一点，我们先来看下效果 ::aru:cheer::
&lt;img src=&quot;https://bu.dusays.com/2024/08/22/66c716a3324b5.png&quot; alt=&quot;最终效果&quot; /&gt;&lt;/p&gt;
&lt;p&gt;老规矩，先上代码
::aru:shy2:: handsome主题在functions_mine.php添加下面代码，其他主题在functions.php内添加代码
::aru:cheer:: 这一段代码是我在网上收集来的，不知道原作者是谁，感谢大佬的付出&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;    //文章阅读时间统计
function art_time ($cid){
    $db=Typecho_Db::get ();
    $rs=$db-&amp;gt;fetchRow ($db-&amp;gt;select (&apos;table.contents.text&apos;)-&amp;gt;from (&apos;table.contents&apos;)-&amp;gt;where (&apos;table.contents.cid=?&apos;,$cid)-&amp;gt;order (&apos;table.contents.cid&apos;,Typecho_Db::SORT_ASC)-&amp;gt;limit (1));
    $text = preg_replace(&quot;/[^\x{4e00}-\x{9fa5}]/u&quot;, &quot;&quot;, $rs[&apos;text&apos;]);
    $text_word = mb_strlen($text,&apos;utf-8&apos;);
    echo ceil($text_word / 400);
}
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;::aru:thumb:: 第二段代码我们放到文章页的文件里，handsome主题是post.php，其他主题自行找到所需添加的地方。
::aru:smile:: 这一部分代码是我自己改的，兼容了handsome主题的图标外观，更好看一些
&lt;img src=&quot;https://bu.dusays.com/2024/08/22/66c716a497704.png&quot; alt=&quot;我加到了这里&quot; /&gt;
::aru:thumb:: 我把这段代码加到了文字数量和分类的中间，大家可以按照自己的喜欢添加自己喜欢的位置。&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;&amp;lt;!--阅读时长--&amp;gt;
             &amp;lt;li class=&quot;meta-word&quot;&amp;gt;&amp;lt;span class=&quot;post-icons&quot;&amp;gt;&amp;lt;i data-feather=&quot;watch&quot;&amp;gt;&amp;lt;/i&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;span class=&quot;meta-value&quot;&amp;gt;&amp;lt;?php _me(&apos;阅读需要&apos;); ?&amp;gt;&amp;lt;?php  echo art_time($this-&amp;gt;cid); ?&amp;gt;&amp;lt;?php _me(&apos;分钟&apos;); ?&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/li&amp;gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;h2&gt;总结&lt;/h2&gt;
&lt;p&gt;主题越来越完善了有没有 ::aru:cheer::&lt;/p&gt;
</content:encoded></item><item><title>【教程】随便拍也好看的谷歌相机手机使用方法</title><link>https://luoca.cn/posts/%E6%95%99%E7%A8%8B%E9%9A%8F%E4%BE%BF%E6%8B%8D%E4%B9%9F%E5%A5%BD%E7%9C%8B%E7%9A%84%E8%B0%B7%E6%AD%8C%E7%9B%B8%E6%9C%BA%E6%89%8B%E6%9C%BA%E4%BD%BF%E7%94%A8%E6%96%B9%E6%B3%95/</link><guid isPermaLink="true">https://luoca.cn/posts/%E6%95%99%E7%A8%8B%E9%9A%8F%E4%BE%BF%E6%8B%8D%E4%B9%9F%E5%A5%BD%E7%9C%8B%E7%9A%84%E8%B0%B7%E6%AD%8C%E7%9B%B8%E6%9C%BA%E6%89%8B%E6%9C%BA%E4%BD%BF%E7%94%A8%E6%96%B9%E6%B3%95/</guid><pubDate>Mon, 23 Sep 2024 13:47:00 GMT</pubDate><content:encoded>&lt;h2&gt;AI智能总结:&lt;/h2&gt;
&lt;p&gt;这篇文章提供了详细的教程教你如何在手机上安装并配置谷歌相机，以提升拍照效果。&lt;/p&gt;
&lt;h2&gt;前言&lt;/h2&gt;
&lt;p&gt;作为垃圾王，前一阵子收到了一台红米k20pro，到手后立马刷到安卓13，满心欢喜打开相机准备照相....这解析，这画质，好像让我回到了小米二的时代::aru:unhappy::
经过不断摸索尝试，成功给这台手机安上了谷歌相机，所以分享一下安装教程
（华为手机部分机型不支持，可以尝试，用不了就放弃）&lt;/p&gt;
&lt;h2&gt;教程正文&lt;/h2&gt;
&lt;p&gt;&lt;a href=&quot;https://pan.baidu.com/s/1fXjpIK8rKvQyJpNxw0LhOw&quot;&gt;所需文件下载 提取码5246&lt;/a&gt;&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;首先去我的百度网盘，下载你相应机型的配置文件，如果没有可以下载通用的（70滤镜文件夹里面有通用配置）随后下载lut 成像文件 水印文件（如果你想要水印） ::aru:confuse::&lt;/li&gt;
&lt;li&gt;下载并安装之后打开本体，点击左上角设置。
&lt;img src=&quot;https://bu.dusays.com/2024/08/20/66c49e55afd8d.png&quot; alt=&quot;点击左上角设置&quot; /&gt;&lt;/li&gt;
&lt;li&gt;点击更多设置
&lt;img src=&quot;https://bu.dusays.com/2024/08/20/66c49e50d8419.png&quot; alt=&quot;点击更多设置&quot; /&gt;&lt;/li&gt;
&lt;li&gt;在打开的设置页面中点击自定义文件
&lt;img src=&quot;https://bu.dusays.com/2024/08/20/66c49e4e43d4a.png&quot; alt=&quot;自定义文件&quot; /&gt;&lt;/li&gt;
&lt;li&gt;先通过导入功能找到我们的百度网盘文件夹，把配置按顺序导入进去，之后按顺序分别依次加载这几个文件
&lt;img src=&quot;https://bu.dusays.com/2024/08/20/66c49e4e2fb54.png&quot; alt=&quot;加载文件&quot; /&gt;&lt;/li&gt;
&lt;li&gt;重启相机打开主界面，重新点击左上角设置，点击加载配置，勾选并加载你的机型文件，如果没有则勾选通用配置（通用配置也要下载）
&lt;img src=&quot;https://bu.dusays.com/2024/08/20/66c49e5029e22.png&quot; alt=&quot;加载配置&quot; /&gt;&lt;/li&gt;
&lt;li&gt;相机软件自动重启之后，分别长按上面的顶栏按钮，挨个导入配置，已经导入的，我们点击顶栏按钮把它启用。
最后一个按钮不用长按，点一下可以切换相机所处的模式，比如说你喜欢莱卡风格，你就可以选择莱卡，喜欢哈苏风格就可以选择哈苏 ::aru:cheer::
&lt;img src=&quot;https://bu.dusays.com/2024/08/20/66c49e4f95c43.png&quot; alt=&quot;分配长按上面的按钮就行&quot; /&gt;&lt;/li&gt;
&lt;li&gt;Enjoy&lt;/li&gt;
&lt;/ol&gt;
&lt;h2&gt;效果&lt;/h2&gt;
&lt;p&gt;虽然看起来步骤挺繁琐，但实际上一点儿也不容易（雾） ::aru:diving::
使用上效果还是非常不错的，比原自带相机好用多了
::aru:sweat:: 出图的大小令我比较震惊，一张图给我整了整整20mb
写文的同时随手拍了张，效果仅供参考，图片经过高有损压缩，给压到了0.7mb，差不多看看就行了，实际上的效果要比这个好（20兆原图太大了，我怕杜老师的图床也撑不住 ::aru:cryingface:: ）
&lt;img src=&quot;https://bu.dusays.com/2024/08/20/66c49e58f3d46.jpg&quot; alt=&quot;随手拍的效果展示&quot; /&gt;
&lt;img src=&quot;https://bu.dusays.com/2024/08/22/66c6c81456a59.jpg&quot; alt=&quot;特意跑出去照了下天空&quot; /&gt;&lt;/p&gt;
&lt;h2&gt;总结&lt;/h2&gt;
&lt;p&gt;虽然过程挺折腾，但是谁又不喜欢这种怎么照怎么好看的效果呢 ::aru:insidious::&lt;/p&gt;
</content:encoded></item><item><title>【分享】预加载速度嗖嗖快，给网站添加instant.page</title><link>https://luoca.cn/posts/%E5%88%86%E4%BA%AB%E9%A2%84%E5%8A%A0%E8%BD%BD%E9%80%9F%E5%BA%A6%E5%97%96%E5%97%96%E5%BF%AB%E7%BB%99%E7%BD%91%E7%AB%99%E6%B7%BB%E5%8A%A0instantpage/</link><guid isPermaLink="true">https://luoca.cn/posts/%E5%88%86%E4%BA%AB%E9%A2%84%E5%8A%A0%E8%BD%BD%E9%80%9F%E5%BA%A6%E5%97%96%E5%97%96%E5%BF%AB%E7%BB%99%E7%BD%91%E7%AB%99%E6%B7%BB%E5%8A%A0instantpage/</guid><pubDate>Thu, 19 Sep 2024 09:56:00 GMT</pubDate><content:encoded>&lt;h2&gt;AI智能总结:&lt;/h2&gt;
&lt;p&gt;本文介绍了一个网站加速工具——instant.page，它通过预加载机制提升页面速度。配置很简单，只需在页面引用其JS脚本，但国外的JS加载可能影响速度，因此使用国内加速。总的来说这个工具非常实用，推荐大家试用。&lt;/p&gt;
&lt;h2&gt;前言&lt;/h2&gt;
&lt;p&gt;::aru:cheer:: 诶，今天又让我看到一个网站加速的方法
它就是大名鼎鼎的instant.page
::aru:meditation:: 不少人可能压根没听说过这个，也有不少人用上了
::aru:pouting:: 我这边就直接选取GitHub上面人家的介绍，给大家看看是怎么个事儿:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;一般情况下，在用户点击链接之前，他们会将鼠标悬停在该链接上。 当用户悬停 65 毫秒时，有二分之一的机会点击该链接，因此 instant.page 此时开始预加载，页面预加载平均留出 300 多毫秒。 另一种选择是在用户开始按下鼠标而不预加载时加载页面。 这使得未使用的请求为零，同时仍将页面加载平均提高了 80 毫秒。 您还可以在悬停时或在链接可见时立即预加载，并在用户开始按下鼠标时触发点击，从而使您的页面成为世界上最快的页面。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;::aru:sweat:: 当时看到之后直接给我整绷不住了，这玩意儿它是咋测出来的，于是跑到qq上面去和别人吐槽了
&lt;img src=&quot;https://bu.dusays.com/2024/08/22/66c70a4833675.png&quot; alt=&quot;和朋友去吐槽了&quot; /&gt;
::aru:surrender:: 跑远了，跑远了（被打）
人家的意思是用上这个程序之后可以通过预加载来让网站速度变得很快。
::aru:thumb:: 是不是感觉还有点牛的？所以说来让我们看一下怎么配置它。&lt;/p&gt;
&lt;h2&gt;正文&lt;/h2&gt;
&lt;p&gt;::aru:clap:: 它的配置实际上特别简单，你只需要在&amp;lt;/body&amp;gt;前面引用他的js就可以了，官方提供的引用方法:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;&amp;lt;script src=&quot;//instant.page/5.2.0&quot; type=&quot;module&quot; integrity=&quot;sha384-jnZyxPjiipYXnSU0ygqeac2q7CVYMbh84q0uHVRRxEtvFPiQYbXWUorga2aqZJ0z&quot;&amp;gt;&amp;lt;/script&amp;gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;::aru:speechless:: 倒不是说不能用，但是好像本身去国外网站去加载js就是一种比较降速的行为，当然如果你的网站就在国外，或者给外国用户访问，那其实也没啥影响。
::aru:smile:: 这时我突然发现他是有jsd托管版本的:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;&amp;lt;script src=&quot;https://cdn.jsdelivr.net/npm/instant.page@5.1.0/instantpage.js&quot; type=&quot;module&quot;&amp;gt;&amp;lt;/script&amp;gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;::aru:cheer:: 那这样的话就好办了，我们就可以引用国内加速jsd的镜像，从而快速使用instant.page
这里我使用的是eleme，所以我们最终要引用的代码其实就是下面这一些&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;&amp;lt;script src=&quot;http://npm.elemecdn.com/instant.page@5.2.0/instantpage.js&quot; type=&quot;module&quot;&amp;gt;&amp;lt;/script&amp;gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;没错，就是这么简单。
如果你用的是handsome主题可以把这行代码加入到后台html结尾的那个框框里，速度有明显提升啦！ ::aru:bigeye::
具体检测是否生效的方案就是摁开f12开发者工具，看看鼠标移动到页面时有没有加载新的文件，如果加载了，那就说明生效啦 ::aru:shy2::&lt;/p&gt;
&lt;h2&gt;总结&lt;/h2&gt;
&lt;p&gt;非常好用，反正我是用上了，大家感兴趣也可以试一试 ::aru:thumb::&lt;/p&gt;
</content:encoded></item><item><title>【日常】2024年了，我还在用微信6.7.3？附微信降级方法</title><link>https://luoca.cn/posts/%E6%97%A5%E5%B8%B82024%E5%B9%B4%E4%BA%86%E6%88%91%E8%BF%98%E5%9C%A8%E7%94%A8%E5%BE%AE%E4%BF%A1673%E9%99%84%E5%BE%AE%E4%BF%A1%E9%99%8D%E7%BA%A7%E6%96%B9%E6%B3%95/</link><guid isPermaLink="true">https://luoca.cn/posts/%E6%97%A5%E5%B8%B82024%E5%B9%B4%E4%BA%86%E6%88%91%E8%BF%98%E5%9C%A8%E7%94%A8%E5%BE%AE%E4%BF%A1673%E9%99%84%E5%BE%AE%E4%BF%A1%E9%99%8D%E7%BA%A7%E6%96%B9%E6%B3%95/</guid><pubDate>Tue, 10 Sep 2024 11:30:00 GMT</pubDate><content:encoded>&lt;h2&gt;AI智能总结:&lt;/h2&gt;
&lt;p&gt;旧版微信简洁流畅，占用空间小，但缺乏新功能，适合需求简单的用户。&lt;/p&gt;
&lt;h2&gt;前言&lt;/h2&gt;
&lt;p&gt;::aru:thumb:: 正如标题所说，都2024年了，我居然还在用微信6.7.3
::aru:sweat:: 可能有人比较疑惑，这个版本会是什么年代的呢？
答案是:2018年！
&lt;img src=&quot;https://bu.dusays.com/2024/08/20/66c48a8d5b08a.png&quot; alt=&quot;见底部版权2018&quot; /&gt;
这是一个连小程序都没有的版本，或许对于大多数人来说，这个版本实在太老了，不能满足自己的需求。
事实上这个版本的微信在安卓13的手机里还是能完美运行的（安卓14估计也可以吧，不过我没有试过）
::aru:clap:: 所以写一篇文章来分享一下，为什么我还在用6.7.3，并写一文安装教程&lt;/p&gt;
&lt;h2&gt;安装教程&lt;/h2&gt;
&lt;p&gt;::aru:lurking:: 如果你也想安装这个版本的微信，或者是低版本微信，还是有一点麻烦的
对于旧版微信，直接安装会提示版本过低无法登陆
微信的降级安装一共有三种方案:申诉客服，带数据降级，修改版本号&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;第一种申诉客服的方法我没有用过，但据说百试百灵，有兴趣的可以去网上搜寻一下，类似于在微信的自助程序里选择自己不能登录微信，然后申请旧设备的登录。
::aru:shy2:: 这种方案的好处是防止你因为修改版本号而被封号（只是猜测的，我没看到谁因为改版本号被封了)，对于旧iOS这种老设备来说，更加的便利，少了很多折腾。当然我认为人生在于折腾，所以没有试过这种方案。&lt;/li&gt;
&lt;li&gt;第二种方法叫做带数据降级，可以参考b站上晨钟酱的视频:大概的意思就是通过adb（也就是usb调试)用&quot;搞机工具箱&quot;这款软件 卸载软件保留数据，安装旧版从而降级&lt;/li&gt;
&lt;li&gt;第三种方案是改版本号，通过修改微信版本号的方式直接登录微信，但是这种方式用起来感觉有点不妥，因为软件的签名被改掉了，虽然没有人被封过，但总感觉会被封号，所以并不推荐。但如果你有lsposed或者手动进行了核心破解，这就比较稳妥了，因为你可以尝试去用原版覆盖原版安装包，稳定使用。我这里就不发改好的版本了，可以去酷安等平台搜索 ::aru:shutup::&lt;/li&gt;
&lt;/ol&gt;
&lt;h2&gt;体验&lt;/h2&gt;
&lt;p&gt;正如我刚才所说，为啥我要用这么个版本的微信呢？
::aru:nomatter:: 1. 占用空间炒鸡小，对于原版来说算是mini了
&lt;img src=&quot;https://bu.dusays.com/2024/08/20/66c4877e663dc.png&quot; alt=&quot;占用非常小&quot; /&gt;
毫不夸张的说，这个版本的微信软件加上数据用了一阵子，一共0.4个g
最新版本的微信光个安装包安装之后就一个g了，我还啥都没干呢，你告诉我你膨胀了 ::aru:shit::
::aru:diving:: 2. 没用的功能一堆堆，这下清净了
正如我刚才所说，这个版本是没小程序的
可能对于很多人来说这个是刚需，不过在不用扫绿码之后的这段日子里，我对小程序还真没什么需求，如果真说要有的话，可能说我会用电脑的小程序来解决。
&lt;img src=&quot;https://bu.dusays.com/2024/08/20/66c48781d65f4.png&quot; alt=&quot;朋友圈&quot; /&gt;
（这篇文章并没有发到51cto，举个例子而已   )::aru:nomatter::
相对应的，微信的发现界面只有一个朋友圈，什么搜一搜，摇一摇都没有 顿时感觉整个世界都清净了。 ）
&lt;img src=&quot;https://bu.dusays.com/2024/08/20/66c48781426e5.png&quot; alt=&quot;聊天效果&quot; /&gt;
::aru:thumb:: 整体来说体验感还算不错，我大多数社交都在QQ上面（虽然QQ我用的也是tim而非原版），我觉得QQ的社交处境更强一点，微信更像是熟人短信，能聊但不多。对我来说能视频，能语音，能发消息，能朋友圈，这已经是max级别了，而这个版本恰好能满足我的需求。
&lt;img src=&quot;https://bu.dusays.com/2024/08/20/66c48781507d4.png&quot; alt=&quot;公众号测试&quot; /&gt;&lt;/p&gt;
&lt;p&gt;当然版本避免不了一些bug，比如说有的时候头像加载不出来什么的 就比较难受，但我没有发现其他的bug，总的来说还可以接受。&lt;/p&gt;
&lt;p&gt;::aru:confuse:: 如果你也想降级微信，但是还要用小程序的话也可以去降级到8.0左右的版本，那些版本也比现在的微信要小很多，并且小程序功能是可以用的。&lt;/p&gt;
&lt;h2&gt;总结&lt;/h2&gt;
&lt;p&gt;旧版流畅功能少，新版臃肿尝鲜好
解决一些已知问题，提高软件运行速度 这可不是白写的 ::aru:tongue::&lt;/p&gt;
</content:encoded></item><item><title>【日常】暑假减肥，痛但起飞</title><link>https://luoca.cn/posts/%E6%97%A5%E5%B8%B8%E6%9A%91%E5%81%87%E5%87%8F%E8%82%A5%E7%97%9B%E4%BD%86%E8%B5%B7%E9%A3%9E/</link><guid isPermaLink="true">https://luoca.cn/posts/%E6%97%A5%E5%B8%B8%E6%9A%91%E5%81%87%E5%87%8F%E8%82%A5%E7%97%9B%E4%BD%86%E8%B5%B7%E9%A3%9E/</guid><pubDate>Tue, 03 Sep 2024 12:06:00 GMT</pubDate><content:encoded>&lt;h2&gt;AI智能总结:&lt;/h2&gt;
&lt;p&gt;本文记录了通过郑多燕和小波健身的视频以及代餐粉替代饭的减肥方案，在暑假期间成功减重16斤并提升了体型匀称度，强调了坚持运动带来的显著效果。&lt;/p&gt;
&lt;h2&gt;前言&lt;/h2&gt;
&lt;p&gt;转眼间开学了，写一篇文记录假期减肥....
::aru:unhappy:: 我虽然身高比较高，但这并不能压我体重，我体重有足足.....
用那个bmi指数测一下，呀，肥胖
::aru:distressed:: 左思右想，为了自己的健康，决定还是暑假去减个肥。
该说不说的，体重也确实掉了，有现实的友友看到之后就问我用的是什么方案。
现在暑假过去了，正好也顺便记录一下减肥。顺便相当于开学后的第一篇“水文”(大雾)&lt;/p&gt;
&lt;h2&gt;我的方案&lt;/h2&gt;
&lt;p&gt;::aru:pouting:: 众所周知:找吹?内容去贴吧，找专业内容去知乎，找减肥内容自然会去小红?
所以在?上搜寻，我找到了两个视频:一个是郑多燕的小红帽(因为老师做操戴着红帽)，另外一个是小波健身的全身燃脂hiit。
&lt;a href=&quot;https://www.bilibili.com/video/av82873006/&quot;&gt;郑多燕健身操B站链接&lt;/a&gt;
&lt;a href=&quot;https://www.bilibili.com/video/av968721649/&quot;&gt;小波健身全身燃脂B站链接&lt;/a&gt;
除此之外，每天晚上用代餐粉来替代吃饭，完全不摄入的话反而怕反弹。&lt;/p&gt;
&lt;h2&gt;痛苦但舒适的体验&lt;/h2&gt;
&lt;p&gt;::aru:cryingface:: 不得不说，一开始挺难受的。
小波健身只有11分钟，但它的强度大(相对我而言)，
到做俯卧撑的部分直接变平板撑，整套操做完累的要嘎，心率直接170。
::aru:thumb:: 郑多燕好一点，和b站弹幕说的一样，属于温水煮青蛙，虽然强度还行，但是架不住35分钟，做完依旧出一身汗。&lt;/p&gt;
&lt;h2&gt;效果&lt;/h2&gt;
&lt;p&gt;::aru:sweat:: 刚开始瘦的比较快，接近一天一斤的掉，到大概第10天左右，基本不会变了。
总体假期连续做了大概50天，现在做的也没有之前累了，总体来说瘦了16斤左右，bmi指数降到25，已经临近正常，整体看起来匀称太多，在外看起来并不像特别胖的人了。&lt;/p&gt;
&lt;h2&gt;总结:&lt;/h2&gt;
&lt;p&gt;::aru:crying:: 虽然假期里运动很累，但总体来说收获的成果还不小。如果将来有时间会继续运动。
&lt;strong&gt;坚持就是胜利，前行会有曙光&lt;/strong&gt; ::aru:thumb::&lt;/p&gt;
</content:encoded></item><item><title>【测试】设置网站全局字体并单独设置标题字体</title><link>https://luoca.cn/posts/%E6%B5%8B%E8%AF%95%E8%AE%BE%E7%BD%AE%E7%BD%91%E7%AB%99%E5%85%A8%E5%B1%80%E5%AD%97%E4%BD%93%E5%B9%B6%E5%8D%95%E7%8B%AC%E8%AE%BE%E7%BD%AE%E6%A0%87%E9%A2%98%E5%AD%97%E4%BD%93/</link><guid isPermaLink="true">https://luoca.cn/posts/%E6%B5%8B%E8%AF%95%E8%AE%BE%E7%BD%AE%E7%BD%91%E7%AB%99%E5%85%A8%E5%B1%80%E5%AD%97%E4%BD%93%E5%B9%B6%E5%8D%95%E7%8B%AC%E8%AE%BE%E7%BD%AE%E6%A0%87%E9%A2%98%E5%AD%97%E4%BD%93/</guid><pubDate>Sun, 25 Aug 2024 13:22:00 GMT</pubDate><content:encoded>&lt;h2&gt;AI智能总结:&lt;/h2&gt;
&lt;p&gt;本文介绍了如何为博客更换字体，包括全站字体和标题字体的自定义设置。通过提供CSS代码示例，展示了如何使用自定义字体以及为特定元素（如标题）指定字体，提升网页的美观性和可读性。&lt;/p&gt;
&lt;h2&gt;极限免责声明&lt;/h2&gt;
&lt;p&gt;::aru:shit:: 这是我博客换域名之前写的一篇水文，挺简单的一篇文章。重新把它发出来，主要是最近在搞友链订阅。这篇文章在测试友链rss订阅的工作情况(见网站侧边栏喵友文坛，显示不出来的可以ctrl➕f5刷新)，所以说大家可以忽略一下，当然如果真的是小白的话，学习一下也可以。&lt;/p&gt;
&lt;h2&gt;前言&lt;/h2&gt;
&lt;p&gt;::aru:cheer:: 博客如果用上自定义字体的话，可读性会增加，也避免了因为用户设备不同显示错误的可能性，所以写一篇教程介绍如何更换字体。&lt;/p&gt;
&lt;h2&gt;全站字体&lt;/h2&gt;
&lt;p&gt;::aru:thumb:: 不废话&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;  @font-face {
  font-family: &apos;Font&apos;;
  font-display: swap;
  src: url(&apos;/fonts/Font.ttf&apos;) format(&quot;truetype&quot;);  
}
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;在这段代码中，url后面引号里面放上你的字体链接，即可直接使用&lt;/p&gt;
&lt;p&gt;解释:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;font-display: swap;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;这一行代表着如果网站字体没加载完，就用原来的字体&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;format(&quot;truetype&quot;);
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;这一部分表示将字体以正确的形式加载。&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;font-family: &apos;Font&apos;;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;这一部分代表字体的自定义名称，来个小名&lt;/p&gt;
&lt;p&gt;::aru:bigeye:: 如果你的网站是HTML，可以给它放入css
如果你像我一样使用handsome为主题，可以给放到自定义css里面，只需要把链接改一下就能用。
::aru:clap:: 这里我推荐落霞孤鹜大佬的字体lxgw文楷，也就是本网站正文使用的字体，非常的简洁好看，可读性极强，兼容字字数很多，或者落霞臻楷也不错。
&lt;img src=&quot;https://static.zitijia.com/file/item/202202/11/394283219865848889/img/20220211T085257.204057.png&quot; alt=&quot;字体介绍&quot; /&gt;&lt;/p&gt;
&lt;h2&gt;标题字体&lt;/h2&gt;
&lt;p&gt;但是让我写这篇文章的并不是全站字体，是因为近期我想更改一个好看的标题字体。
::aru:lurking:: 对于我的这个需求，我们可以继续创建一段css代码来实现。&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;@font-face {
    font-family: &apos;CustomFont&apos;;
font-display: swap;
src:url(&apos;https://cdn.xxhzm.cn/FontLIbs/6.ttf&apos;) format(&apos;truetype&apos;); 
}

h1 {
    font-family: &apos;CustomFont&apos;, sans-serif; /* 应用自定义字体，并指定备选字体 */
}
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;解释:前面的都是一样的，详见上面。
后面那一行是给所有的h1标签全部绑定到这个字体上，如果这个字体找不到，就用逗号后面的这个sans系统自带字体&lt;/p&gt;
&lt;h2&gt;总结&lt;/h2&gt;
&lt;p&gt;::aru:thumb:: 通过这两种代码，我们可以分别给网站页内所有的标题和正文换上好看的字体，增加美观性和可读性。&lt;/p&gt;
&lt;h2&gt;碎碎念&lt;/h2&gt;
&lt;p&gt;不过如果你问我为什么我的标题没有用自定义字体？
我的回答是 因为我尝试了好多字体，结果和这个正文字体并不搭，好像没有那么好看，不过本文介绍的只是可行方案，说不定大家搭配合适的字体之后就好看 ::aru:sweat::&lt;/p&gt;
</content:encoded></item><item><title>【记录】HandSome主题接入不蒜子统计全站访客数</title><link>https://luoca.cn/posts/%E8%AE%B0%E5%BD%95handsome%E4%B8%BB%E9%A2%98%E6%8E%A5%E5%85%A5%E4%B8%8D%E8%92%9C%E5%AD%90%E7%BB%9F%E8%AE%A1%E5%85%A8%E7%AB%99%E8%AE%BF%E5%AE%A2%E6%95%B0/</link><guid isPermaLink="true">https://luoca.cn/posts/%E8%AE%B0%E5%BD%95handsome%E4%B8%BB%E9%A2%98%E6%8E%A5%E5%85%A5%E4%B8%8D%E8%92%9C%E5%AD%90%E7%BB%9F%E8%AE%A1%E5%85%A8%E7%AB%99%E8%AE%BF%E5%AE%A2%E6%95%B0/</guid><pubDate>Fri, 23 Aug 2024 14:38:00 GMT</pubDate><content:encoded>&lt;h2&gt;AI智能总结:&lt;/h2&gt;
&lt;p&gt;通过在 Handsome 主题中添加“不蒜子”统计代码并在 pjax 回调函数中动态加载脚本，成功实现了稳定的浏览量统计功能。&lt;/p&gt;
&lt;h2&gt;前言&lt;/h2&gt;
&lt;p&gt;由于大多数人typecho还是动态的，并且本篇内容只针对于handsome。所以这篇文章主要是给自己记录哒，若是能帮到大家那就更好了。
前一阵子研究了typecho静态化，也成功给站点整成静态网站了，速度嗖嗖的....
::aru:speechless:: But，惊喜是要付出代价的，我发现了一个最大的问题，浏览量这个功能彻底失效了！
在询问了几个朋友后，发现很多友友都在使用“不蒜子”这个我没听说过的平台进行统计，所以我在网上搜索了“不蒜子”三个字
::aru:surprised:: 哈！居然搜到了万能杜老师的平台
&lt;img src=&quot;https://bu.dusays.com/2024/08/23/66c89576185e5.png&quot; alt=&quot;无敌了，杜老师&quot; /&gt;
效果电脑端可以见右面的侧边栏，手机端可以见底边框
每个文章的阅览量暂时还没有加，先攒一攒数据&lt;/p&gt;
&lt;h2&gt;配置貌似挺简单&lt;/h2&gt;
&lt;p&gt;Handsome主题侧边栏的内容在/usr/themes/handsome/component/这个目录下，有一个sidebar.php，这个文件包含着侧边栏的数据。
::aru:cheer:: 在自己的喜欢的位置，咱创建一栏统计数据，为了适配主题，我简单修改了代码，修改的代码如下&lt;/p&gt;
&lt;pre&gt;&lt;code&gt; &amp;lt;li class=&quot;list-group-item text-second&quot;&amp;gt;&amp;lt;span class=&quot;blog-info-icons&quot;&amp;gt;&amp;lt;i data-feather=&quot;user&quot;&amp;gt;&amp;lt;/i&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;span class=&quot;badge pull-right&quot;&amp;gt;&amp;lt;span id=&quot;busuanzi_value_site_pv&quot;&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;?php _me(&quot;破站访客&quot;) ?&amp;gt;&amp;lt;/li&amp;gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;img src=&quot;https://bu.dusays.com/2024/08/23/66c8957a5faca.png&quot; alt=&quot;我给加在了这里&quot; /&gt;
之后我们引入不蒜子的script并放入后台body尾部，以加载js&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;&amp;lt;script async src=&quot;https://npm.elemecdn.com/penndu@1.0.0/bsz.js&quot;&amp;gt;&amp;lt;/script&amp;gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;h2&gt;不是哥们，咋还出bug了？&lt;/h2&gt;
&lt;p&gt;::aru:cheer:: 打开网页，呀，成功在边栏显示了本站所有阅览量，开开心心，这也太容易了....嘛？&lt;/p&gt;
&lt;p&gt;正开心呢，点开了一篇文章，一看侧边栏:不是哥们儿，数据咋还没了？
&lt;img src=&quot;https://bu.dusays.com/2024/08/23/66c8957859f2a.png&quot; alt=&quot;变成一个空格了&quot; /&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://bu.dusays.com/2024/08/23/66c89a2013533.png&quot; alt=&quot;不是哥们，互联网真精彩&quot; /&gt;&lt;/p&gt;
&lt;p&gt;这个问题有一个明显的特点，就是打开文章页之后，访客量就会消失，这不得不让人想到可能是pjax的问题。
pjax是无刷新页面加载内容的一个东东，这是主题自带的，也就是说我点开文章不需要再加载一遍网页了，看起来更加丝滑。
&lt;img src=&quot;https://bu.dusays.com/2024/08/23/66c8957c12a2f.png&quot; alt=&quot;后台介绍是这么写的&quot; /&gt;
看了一下handsome主题后台管理里面“pjax回调函数”的介绍，果然又提到了刷新界面之后js不能绑定的情况，也就是说改变页面之后侧边栏获取不到云端的数据了，所以我们需要把回调函数的框框中填入以下内容，下面是我改编的一段js&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;// 创建一个新的 script 元素
var script = document.createElement(&apos;script&apos;);

// 设置 script 元素的属性
script.src = &apos;https://npm.elemecdn.com/penndu@1.0.0/bsz.js&apos;;
script.async = true;

// 将 script 元素插入到 document 中的 head 部分
document.head.appendChild(script);
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;也就是每次pjax之后，都给他附加上js。 ::aru:clap::
因为我比较小白，实话说我也不知道这样写代码是否合理，可能属于狮山代码，但程序运行起来好像是没有什么问题，也确实解决了需求。
重新清除缓存，刷新界面，果然无论怎么切换文章，浏览量一直都在，不再会消失了。&lt;/p&gt;
&lt;h2&gt;单个文章阅读量&lt;/h2&gt;
&lt;p&gt;经过上面的折腾，文章的阅读量就比较好说了，找到/usr/themes/handsome/post.php这个文件，在自己喜欢的位置把下面的代码添加进去&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;&amp;lt;li class=&quot;meta-word&quot;&amp;gt;&amp;lt;span class=&quot;post-icons&quot;&amp;gt;&amp;lt;i data-feather=&quot;eye&quot;&amp;gt;&amp;lt;/i&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;span class=&quot;meta-value&quot;&amp;gt;&amp;lt;?php _me(&apos;阅览人数&apos;); ?&amp;gt;&amp;lt;span id=&quot;busuanzi_value_page_pv&quot;&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;?php _me(&apos;人&apos;); ?&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/li&amp;gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;但这个我没改，因为之前的浏览量都没了，等我积攒一点数据之后我再改&lt;/p&gt;
&lt;h2&gt;总结&lt;/h2&gt;
&lt;p&gt;感谢杜老师给广大友友们提供平台，经过一番折腾，总算搞好了这个浏览量，效果还是不错哒 ::aru:confuse::&lt;/p&gt;
</content:encoded></item><item><title>【阅读笔记】可复制的领导力1：樊登的9堂商业课</title><link>https://luoca.cn/posts/%E9%98%85%E8%AF%BB%E7%AC%94%E8%AE%B0%E5%8F%AF%E5%A4%8D%E5%88%B6%E7%9A%84%E9%A2%86%E5%AF%BC%E5%8A%9B1%E6%A8%8A%E7%99%BB%E7%9A%849%E5%A0%82%E5%95%86%E4%B8%9A%E8%AF%BE/</link><guid isPermaLink="true">https://luoca.cn/posts/%E9%98%85%E8%AF%BB%E7%AC%94%E8%AE%B0%E5%8F%AF%E5%A4%8D%E5%88%B6%E7%9A%84%E9%A2%86%E5%AF%BC%E5%8A%9B1%E6%A8%8A%E7%99%BB%E7%9A%849%E5%A0%82%E5%95%86%E4%B8%9A%E8%AF%BE/</guid><pubDate>Tue, 20 Aug 2024 14:55:00 GMT</pubDate><content:encoded>&lt;h2&gt;AI智能总结：&lt;/h2&gt;
&lt;p&gt;本文重点阐述了《可复制的领导力》一书中关于领导力的观点，强调其不仅适用于管理工作岗位，也应在日常生活中应用。他对比了西方与东方在培养领导力方面的差异，指西方倾向于具体化和标准化，而东方更加宏观。为提升领导力，他提出“四重修炼”：建立信任、打造团队、建构体系及营造文化，并强调定位好自己的管理者角色，包含信任员工、适当授权及有效沟通等方法。此外，他还讨论了游戏化组织的概念，通过设定愿景、规划和反馈等激发员工积极性，同时重视善待离职员工和建立前员工联盟，利用目标管理促进团队和个人表现。总而言之，他的讲话全面概述了领导力的核心要素和提升路径，及其在不同情景下对个人和团队发展的意义等等。&lt;/p&gt;
&lt;h2&gt;前言&lt;/h2&gt;
&lt;blockquote&gt;
&lt;p&gt;今天给大家讲的这本书名字叫做可复制的领导力：樊登的九堂商业课，这本书是樊登老师的百万畅销书。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;为什么这本书这么火？领导力真的那么重要吗？领导力是非常重要的，领导力既可以提高我们的人际交往能力，也能增加我们的管理能力。很多人可能说：我又不是管理者，这东西真有用吗？事实上，人际交往和让别人帮助我们做事情，都是考验我们的领导力的。不仅仅只有你在管理阶层时候要用到，日常生活中在很多地方我们都会用到。所以让我们走进今天这本书。（本书为自我总结内容，未摘抄原文，仅理解，不完全代表原作者观点。）&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2&gt;这东西能学？&lt;/h2&gt;
&lt;p&gt;首先很多人认为领导力是学不会的，为啥？因为大家觉得这玩意坑人，可能学了也没什么效果。而且这东西是学的吗？这东西不是练出来的吗？&lt;/p&gt;
&lt;p&gt;事实上这就在于我们东西方教育的差别，西方喜欢把事物变得具体化，变得标准化，也就是他们喜欢把这个东西变得更加的有更加的详细，告诉你这个可以这么去做，那个可以这么去做，而东方不会。东方所有的东西都是一种宏观的，大体上的方式，而西方是微观的。另外受众群体也是不一样的，在东方，人们是一步一步爬上去的，从小员工做大员工，再到管理层。那么西方是受众群体比较多，所有人都可以去学习这个东西。&lt;/p&gt;
&lt;p&gt;当然这没有什么好坏。东方的这种做法就是可以让企业老板不为不为下面的员工糊弄，能够理解下面员工的问题。但是就会造成一个问题：就是如果是你是一个比较大的比较高级的一个管理阶级，如果你离职了，对企业的影响肯定是很大的，就没有人家西方这个来的稳固。那么就有一个问题出现了，这个领导力它究竟真的可以标准化吗？&lt;/p&gt;
&lt;h2&gt;领导力的标准化&lt;/h2&gt;
&lt;p&gt;比较令我有趣的印象深刻的一点。樊登老师讲说经常会有企业做这种励志演讲，这令我想到高中时期、初中时期都会有这种励志演讲，上面有个讲师讲说我们要努力学习，我们要怎么样。大家会觉得听完之后会瞬间的就有劲儿了，我要好好学习，明天我要四点半起床。但是真正干上之后，你会发现，有头没尾，过两天之后这个劲儿又松下来了，怎么回事呢？就是你没有制定自己的一个合理的方案。很多时候你没有设立一个明确的计划，然后就导致这个事情最后失败了。回到刚才的话题上来，真的可以标准化吗？其实是可以的。在西方的企业中就一个所谓的IBM工具库，上面是写出了员工工作和生活上的问题都可以来用工具来解决。&lt;/p&gt;
&lt;p&gt;樊登在书中举了一个简单的例子，比如西方会把任务重复很多次，他首先先比如说现在我要给你安排一个任务，这个人首先会自己说把这整个任务都说出来，请你再给我重复一遍。如果对面已经重复出来了，证明对面其实是听了你说的话的。现在我们就要让你总结一下刚才我说话的目的，刚才我说的这些东西，你来总结一下?如果发生了意外又怎么处理呢？你有什么东西是可以自己做决定的？如果发生了意外你会决定怎么做。这就避免了很多时候我们在让别人去做事情的时候，别人总是多做了什么事情，少做了什么事情，或者是失误，没有听清楚我们要求他去做什么事情。这就是西方把任务重复多次的一个好处，也是我们领导力的一个体现。&lt;/p&gt;
&lt;p&gt;读到这里会发现，领导力可能真的是可以学会的，是吧？那么如何提高我们领导力的一个修养呢？樊登老师列举了一个叫做四重修炼的东西:他分别是建立信任、建立团队、建立体系、建立文化。&lt;/p&gt;
&lt;h2&gt;领导力四重修炼是什么？&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;首先我们从第一个开始说起，建立信任是什么？建立信任就是我们让员工干活，相信员工会体会,建立我们对员工的新人。咱们让他干这些东西，员工也不是非常笨的人，员工也会帮助咱们干很多的事，不需要咱一直操心去管理。&lt;/li&gt;
&lt;li&gt;第二点，建立团队。我们应当去学会放手，让员工们组团任务，比如说告诉这一个团你们需要干什么，这是我们需要养成的一个能力，叫做学会放手。不能所有事情都揽在自己身上，不然的话会让自己感觉到很匹配，很疲惫。&lt;/li&gt;
&lt;li&gt;第三点，建立体系。就是建立一个标准化，告诉员工如何去执行这东西，建立一个标准。这里老师举了一个例子，麦当劳把每一样东西，把每一个肉饼的厚度，墩地的样子，全部都已经练成了一个标准。于是就建立了一个全世界统一的体系，原因是麦当劳管理的严格。&lt;/li&gt;
&lt;li&gt;第四点是建立文化。很多人觉得说建立文化这东西不是大厂干的事儿吗？不是大企业干的事儿吗？事实上建立文化它是可以凝聚员工的，有一个凝聚员工的能力，所以说建立文化也是非常重要的。&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;明确定位&lt;/h2&gt;
&lt;p&gt;如何明确定位？明确我们自己是管理者，就是需要向别人建立信任。就如同我们上面所说的一样，让员工干活，相信员工，员工会体会咱们下定的任务，给他们足够的这些职权，让他们去使用，并不是压在自己身上。打造的是员工，而不是让自己变得很疲劳。很多时候你自己管的多了，员工们会觉得自己没有参与感，好像没有什么用一样，这是不好的。不能管员工，否则的话员工也会觉得压力很大，因为你一直看着，并且会丧失自己动力。&lt;/p&gt;
&lt;h2&gt;不同阶层的层次方案&lt;/h2&gt;
&lt;p&gt;管理阶级有三个层次，它分别为下层管理、中层管理和高层管理。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;下层管理需要做的就是使命必达，保证结果，得到了老板给出的任务，我们必须要完成。这个就是完成任务是我们最主要的，其他的不在乎，必须要完成任务，保证结果是完美的。&lt;/li&gt;
&lt;li&gt;中层的话就面面俱到了，我们需要把任务给拆分开，然后协调这些人，并且进行考核。&lt;/li&gt;
&lt;li&gt;在高层管理这边只需要营造氛围。什么叫营造氛围？就是看到情绪所造成的影响，就是使员工不松懈，争到最好好员工才会到最好。也就是说我们把每一件事都争到最好，员工也不会觉得说我们这件事就是差不多行了，因为咱们平时做的东西都是最好的，所以工作的时候员工们也会做的很好。&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;游戏化组织&lt;/h2&gt;
&lt;p&gt;什么叫游戏化组织？我们平时玩游戏，很多时候我们越玩越上瘾，怎么回事呢？就是因为游戏这些例如奖赏机制会让我们感到非常兴奋。&lt;/p&gt;
&lt;p&gt;在这里樊登老师讲出了说游戏化组织这一个概念。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;首先第一步是设定愿景，我们为企业设定一个宏大的目标，然后让大家参与进来。这样的话大家都有一个参与感。就是大家觉得这件事情不仅仅是为公司而做，实际上也是为我们而做。&lt;/li&gt;
&lt;li&gt;第二点，设立规划。就是我们设立的这个规则规划，需要让员工意识到，他们是给自己干，并不是在给公司干。比如说优步这个平台，优步是一个外国滴滴打车。开出租的这个人，评分比较高，他被安排的这个工作也会被越多，也就是说他能挣到更多的钱。所以说这样的话，员工就会自己给自己干，这样的话大家都会用心。&lt;/li&gt;
&lt;li&gt;另外，要设定反馈。就是像咱们游戏，游戏一赢咱们得金币，得钻石，然后就能导致上瘾。所以说要懂得激励，让员工感到认可。老师在书中讲到说，很多公司就是动不动就给员工发一些奖励、奖章，或者是一些奖牌之类的。其实就是在给员工设定一个反馈。&lt;/li&gt;
&lt;li&gt;并且，需要保证员工是自愿参与的，只有自愿参与才能干下去。如果不是自愿干预参与的话，员工就总喜欢摸鱼了。因为他们觉得自己反正怎么干的，就是这么干，也不是给自己干，就是为了得点工资，只有这样自愿参与才能干下去。&lt;/li&gt;
&lt;li&gt;我们在入职的时候就要设置一些低期望。比如说樊登老师在书中讲，我们可以在入职的时候问这些人，入职的新人就问他们要干多久，去干什么职位。如果他们去回答了一些这个问题，那么咱们可以提到可以给他们帮助，可以让他们到达自己所希望到达的职位，并且对他们做出规划，给他们一些建议，就是告诉你们如何去做你们才能到达这个职位，说这个公司的条件不会是很好的。这样的话等到时候真正入职了，这些员工发现公司条件其实也没有想象中那么差。其实就是我们平时在其他的一些心理学上说的那种降低预期。这样的话就会让人感觉到说其实这个位置、这个工作、这个公司都还挺好的。过一阵子如果说员工没有动力的话，可以继续提醒员工设置的目标，然后让员工继续加油。&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;团队的一致性&lt;/h2&gt;
&lt;p&gt;需要保证团队一致性。团队如同球队一样是一个大的集体。就如同刚才所说，要表扬员工，让员工们觉得自己在奋斗，有一种一致性在里面，就是大家团队奋斗的目标全部都是一致的。并不是说因为这个人他比如说他离职了，我们要撕破脸。那么到时候我们在离职时候，可以说但是他的业务能力很强，只不过与我们公司团队的这种发展的一些方向不太对，所以说他离职了，员工们也可以理会这样的一致性，不会对自己感到担忧。&lt;/p&gt;
&lt;p&gt;其次我们需要严格管理员工，加快员工效率，更好完成目标。很多时候我们就会想说，如果说我跟员工太严的话，是不是不太好，是不是和气才是最重要的。事实上有的时候你需要比员工紧一点，这样的话就可以在短时间内发挥最大的效益。很多时候提前完成目标之后，员工们得到的奖赏是更高的。员工们这时候就会懂得，你这么严格，这么一直催的原因是什么？然后设立一个共同目标进行管理。我们刚才也提到了，如果说我们有一个一致性，大家努力的方向都是一致的，都是冲着这个目标努力，让每一个人都参与进来。员工他们就会更加的努力的去工作。然后还是那句话，信任员工，要授权给员工更多的权利。然后这样的话就会觉得员工就会觉得自己升职了，自己就是有更多的权利了，这样的话其实员工的潜力就会被激活出来。所以说有的时候不能把权力全部把在自己手里，更要给员工一些权利。&lt;/p&gt;
&lt;h2&gt;善待前员工？&lt;/h2&gt;
&lt;p&gt;这里反正讲到了一个比较有意思的一点，我们要做到善待前员工。有人说前员工都已经走了，为什么要善待他们？事实上前员工很多时候也是有非常多的用处的。下面我们来讲一下为什么要善待前员工。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;首先第一点是给现有员工做示范。刚才说好了我们是一个团队，我们是一个team。那既然如此的话，我们这个员工走了，他依旧是我们的朋友。所以说给现有员工做示范，他走了我对他还是这么好，那是不是其他的员工在这里呢，那当然肯定会对他们更好，会给员工做一个积极的示范。&lt;/li&gt;
&lt;li&gt;第二点是维护口碑。即使这个员工已经走了，在外面他在说你家这家公司的时候，也会说这家公司对自己也非常好。&lt;/li&gt;
&lt;li&gt;第三点，会带来更多机遇。将来如果员工有什么好事，他有可能会想到你。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;那么如何去维护呢？有两点。&lt;/p&gt;
&lt;p&gt;*第一点是建立前员工的联盟，这个东西很像我们大学的这个校友会。就是说即使毕业了，大家都可以来过来参加。然后像是阿里巴巴，他们每年也会有这种类似于前员工联盟的这种会议活动。就是有请所有的前员工来进行参加。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;第二点是投资前员工，很多时候投资别人咱们都感觉很不靠谱。但前员工的话是我们比较了解的人，谁能发展的潜力更大，我们一目了然。所以说可以投资前员工，这样的话回报的成本是很回报的，得到的这个利润是很高的。&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;用目标管人&lt;/h2&gt;
&lt;p&gt;什么叫目标管人？我们首先要树立一个目标，它分为三种类型。
第一种叫做方向性目标，是比较模糊的。比如说我们要朝着这个方向进行发展，是比较模糊。
第二种是过程性目标，是我们先走到这一步把这些东西发明出来，走到那一步把那个东西搞好。
第三种是理性型的，是清晰的目标，是说我们在这个一段时间里，我们需要干成哪一件哪件事儿，这是清晰的目标。&lt;/p&gt;
&lt;p&gt;对于这种设立目标的情况，有很多难题。&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;比如说第一种实践难。不能进行实践。员工们很质疑，为啥要这么做？实际上你就是没有让所有人了解这种员工去干这件事情。如果解决的话，怎么解决它？
第一种是由团队成员主导，就是已经告诉他们如何去如何去干这件事了。然后之后由团队员自己商量应该怎么干。
第二点进行目标对话，就是你详细的告诉他们要怎么怎么做，让他们充分的理解这个目标的一个意义。
第三个，地位平等，每个人的地位都是一样的，大家都是共同前进的朋友。
第四个，双方认可。你树立这个目标之后，然后对面也会觉得这东西确实是合理的。大家都觉得这种东西，这个东西这个目标树立起来是非常的合适的。&lt;/li&gt;
&lt;li&gt;第二点叫做资源匮乏，寻找突破口，从侧面破出。比如说很多时候我们觉得说这东西他限制住我们了，我们这做不了。很多时候我们需要看到看不到的地方，然后从侧面进行。&lt;/li&gt;
&lt;li&gt;第三点是目标拆分不合理，应当设立合适的目标。像是比如说在书中讲述了一个案例：在电话接线人员打电话的时候，老板说设立一个目标，每天从500个电话变成800个电话。那这样的话员工就会说话语速很快，用户也会增大这个挂断的概率，这样的话就得不偿失了。&lt;/li&gt;
&lt;li&gt;第四点是目标总在变化。很多时候我们刚刚树立好目标，刚刚给员工讲清楚，本来要实行了，结果更改的变化，这个生意没谈妥，需要更改。那这样的话我们需要有两种方法来解决。第一种是理解决定，还要理解为什么要这么做。第二个是准备预案，在告诉员工或者是自己设立目标之前，就应该准备好几种预案进行实施。&lt;/li&gt;
&lt;/ol&gt;
&lt;h2&gt;如何量化目标&lt;/h2&gt;
&lt;p&gt;如同我们刚才所说，西方是一个有量化的国家。所以说有量化目标有五个方面&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;明确每个人的完成时间，或者是明确比如说明确每一个人的完成的一些事情或者一些时间。这样的话每个人都会知道自己要干什么，而不是笼统的说所有人要挣500万。&lt;/li&gt;
&lt;li&gt;可量化，就是可以看到我今天我挣了多少钱，明天我挣了多少钱，而不是说干了半天我不知道干多少了。&lt;/li&gt;
&lt;li&gt;第三点是可实现，不能忽略实际情况，不能说今天我想说赚一百万就赚100万，明天说赚一个亿就是一个亿。&lt;/li&gt;
&lt;li&gt;第四个是相关性，我们还要符合一些其他的一些实际的因素。&lt;/li&gt;
&lt;li&gt;第五个时间限制,我们树立目标，如果没有时间限制，那么等于白树立。要提高我们的效率，就要树立一个时间的限制。&lt;/li&gt;
&lt;/ol&gt;
&lt;h2&gt;人际沟通也重要&lt;/h2&gt;
&lt;p&gt;人际沟通关系方面，樊登老师他提出了一个叫做沟通视窗模型的一个东西。模型可以更好的帮我们解决问题。它分为四点，第一点是隐私象限，第二点是盲点象限，第三点是潜能象限，第四点是公开象限。&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;首先我们来讲是解释一下刚才说的隐私模型象限是什么？隐私象限讲述的是保密的事。什么是保密的事？分为三类&lt;/li&gt;
&lt;/ol&gt;
&lt;ul&gt;
&lt;li&gt;第一类叫做DDS，也就是deep dark secret，就是深深的深黑的秘密，意思是就是说无论如何也不能说的。任何人都不知道，你最好关系的兄弟也不知道这事情。&lt;/li&gt;
&lt;li&gt;第二种是不好意思说的。比如说我们之前都有过的暗恋，很不好意思跟别人说。可能到后期这个东西就能好意思了，跟能缓解了，你就可以跟别人说了。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;但是如果是管理层的话，如果不好意思上报，或者是你不好意思批评你的你管理的员工。这种情况下，就可能酿成很大的问题。比如说书中有一个例子是说管理层三星的管理层在这个电池爆炸事件发生的时候，没有去及时的上报给老板，导致老板是最后一个知道这件事情的人。当老板知道的时候，这个事情已经无法再挽救回来了。这就是不好意思说的一个缺点。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;第三点是忘了说，忘了说包括几类。第一种是：认为别人都懂。比如有的老师一讲课，我都明白所有人不都懂吗？所以说这没啥好讲的。认为别人都懂，实际上别人不懂。&lt;/li&gt;
&lt;li&gt;第二种是认为自己都懂，就比如很多事情没有去询问别人，因为你觉得这事我肯定懂这事，但是很多时候其实出问题往往都在这上面，太过于自信了。所以要保持一个开放态度，接纳，多读书。&lt;/li&gt;
&lt;li&gt;第三点是认为它不重要，很多时候我们觉得太习以为常了，以至于平时的时候我们不认为它是一个很重要的事情。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;在书中举了一个例子，是说一个啤酒厂商。他想不到自己有什么宣传的方法，找了个兄弟，兄弟说你就把啤酒的流程给我讲一下。老板说啤酒需要用高温纯氧来进行制作，然后还有一些其他的流程。那个人便说那就用高温纯氧来宣传啤酒。厂商说，可是所有的人都用了高温纯氧。但是在听取他的建议进行宣传之后，发现宣传效果其实很不错。原因就是因为大家并不知道他的啤酒是用过高温纯氧的。这个是消费者不知情的情况下，而老板却以为已经习以为常了，认为他并不重要，所以也会忘了说。
以上是第一象限，保密象限，也就是我们保密的事情。&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;在第二个象限有一个盲点象限，什么叫盲点象限？就是很难注意到的问题。很多时候我们有问题，我们注意不到这种盲点象限。比如邹忌，邹忌是他问他的妻子，问他的小妾，问他的客人，对面都答他比徐公美。但是他真的有徐公美吗？实际上就是被别人周围的人所蒙蔽，导致了很难注意到这有这些问题。所以说我们要做到经常的询问他人，自己有什么问题，然后听到就要改，有则改之，无则加勉。&lt;/li&gt;
&lt;li&gt;第三点是潜能象限，潜能象限是什么？就是我们做事情的时候不能主动判断，应该进行激发。或者可以这样说，如果我们去主动判断一个人的话，对面就会被陷在这个框里，不能完全的脱除偏见。这样的话我们就应该进行激发。&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;如何进行激发呢？有两点，第一种叫做调动积极性，就像我们之前所说的，要进行一个正面反馈，进行正面鼓励。第二点是进行一个规划的培规规划和培训，对员工进行改进。&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;第四点是公开象限，公开象限是让别人知道的内容，就比如明星，很多信息咱们都知道，所以这个位置这一部分就是他们的公开象限。公开象限增大了之后，可以提高员工们或者其他人对你的信任。很多时候我们处的好兄弟，原因也就是因为公开象限这一部分比较大，所以公开象限是一个非常重要的象限。&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;我们可以要学会如何把其他象限的内容转换到公开象限之上：如果说我们想把保密象限转换到这个公开象限就可以跟别人聊自己的内容，像是童年，树立一些个人的一些形象。&lt;/p&gt;
&lt;h2&gt;倾听交流&lt;/h2&gt;
&lt;p&gt;下一部分，老师讲了倾听交流。倾听实际上是非常重要的：在书中有一个例子，他是这样说的，马斯克总是喜欢视察他的员工，并且员工一旦有问题，他就会立即倾听，并且指导对面改进。员工们也很喜欢与这样的老板所交流，这样马斯克也有了骂人的资本。为什么说有骂人资本呢？这个所谓的骂人并不是人身攻击，而是员工们真正的会认为是老板对他们的好。原因就是因为马斯克善于倾听。&lt;/p&gt;
&lt;p&gt;那么该如何去学会倾听呢？在书中有三种提升方法&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;第一种提升方法是深呼吸，将心沉下来。很多时候我们不能做到倾听，就是没有把心沉下来。可能认为有人认为这是一件很简单的事情。但实际上如果你把心放下来了，沉心静气才能真正的听到别人说的话。&lt;/li&gt;
&lt;li&gt;第二步是多问问题。假如说你如果说真的在倾听事物的时候，那你一定会有问题，就提出来。这个问题分为开放式问题和封闭式问题。
封闭式问题就是yes或者no，也就是说问问对面这个事情是不是这样，对面说是或者不是。在书中我觉得有一个比较有意思的一点，作者提到了一个7 yes成交法。什么叫做7 yes成交法呢？就是说假如说销售人员让买家说了七个yes，基本上买商品的概率也会更大一些，这是一种惯性，就好像我们平时经常玩的一个游戏，叫做李白姓白。如果说了连续说了十遍，问大家李白姓什么，大家会真的认为李白是姓白的。可能也是这个原理。
第二种是开放式的问题。开放式问题是更有用的，它比封闭式问题更能激发出一些潜在的东西。&lt;/li&gt;
&lt;li&gt;然后下一部分是复述对面的叙述。为了提高我们的信息接收能力，所以我们应该学习去复述对面的内容，以减少我们说话的时候的漏洞，减少我们收听时候的漏洞。&lt;/li&gt;
&lt;/ol&gt;
&lt;h2&gt;重要的肢体动作&lt;/h2&gt;
&lt;p&gt;还有一个很重要的是body language肢体动作。肢体动作为什么重要呢？它无法刻意的修改，比较主观。如果说你的肢体动作不怎么好会被对面认为你的说话是有漏洞的，或者是会隐瞒。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;如果说我们跟别人之间的目光进行一个接触，别人是认真的听。如果说我和对面的目光是不接触的，我们就应该换一个话题，让对面引起一些兴趣。&lt;/li&gt;
&lt;li&gt;通过手势,腿部也能看出问题，如果抖腿的话说明紧张等等类似的肢体语言。我们可以看到我们这次谈话的一个情况。&lt;/li&gt;
&lt;li&gt;你身体跟他身体之间的距离可以反映心理的距离。如果对面离你很远的话，基本上就说明对面跟你保持着一定的心理距离。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;在交流中我们会有一些错误的问题。
比如说：第一点无精打采，第二点夸张的手势，第三点坐立不安，第四点交叉双臂，第五点言语表情不一致，第六点避开目光，第七点眼神交流强烈，第八点转眼珠，第九点皱眉等表情。
这些动作都会让人觉得你是在防御，或者说你是在有意的隐瞒什么问题。对于刚才提到的一点，我想说眼神接触需要保持7到10秒即可，不能一直盯，不然的话就会觉得你想要占据一个主导的地位。&lt;/p&gt;
&lt;p&gt;在这里樊老师引出了一个如何安慰人的方法，我觉得是很有用的。就是想办法让对面说是，会缓和气氛，让对面有一种点头的样子，找到对面的问题所在，然后让对面共情。顺着他的意思猜测他的情绪，就可以把一个人安慰好，而不是说：“你冷静一点”或者怎么样，这样的话会加剧对面的难过。另外想要提高凝聚力和归属感，也可以用类似的方法。&lt;/p&gt;
&lt;h2&gt;反馈&lt;/h2&gt;
&lt;p&gt;下一部分讲述了反馈。什么叫反馈呢？就是发现员工的优点加以表扬，并改正错误。在平时纠错的时候不能只看到坏处，也要表达出好处，这样的话是对员工有一个积极的调节作用，不能只凭自己的经验推理，自己经验是有可能错的。有可能你认为员工没有好好干，但是员工实际上是好好干的。&lt;/p&gt;
&lt;p&gt;下面举出两种反馈的方式。&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;第一种叫正面反馈，也就是我们所说的激励。
它分为三种，一种叫做零级反馈，一种叫做二级反馈，一种叫做三级反馈。
零级反馈是假装表扬，员工会很疑惑，什么意思？就是说“干的不错”，员工会觉得真的干的不错吗？是不是在说反话，不太懂你在干什么。
二级反馈是明明告诉对面绝对是做的不错，但是并没有指出哪里不错。
其次你在反馈的时候不一定要用钱，不然可能会适得其反。
第三点是三级反馈，三级反馈是表扬是有原因的，这样的话可以让员工知道自己做的东西是对的，然后不仅能减少员工的压力，也可以减少管理者的压力。&lt;/li&gt;
&lt;li&gt;第二种是有效的负面反馈。怎么进行负面反馈？
&lt;ol&gt;
&lt;li&gt;第一步准备事实，我们想反馈一个问题，我们需要确实实际的了解这件事情完整情况，而不能主观臆断。&lt;/li&gt;
&lt;li&gt;第二点是谈话，谈话的过程中要设置情景，就是明白所谈的这个主题，持刀横入，而不是一直拖延。比如说我们在刚开头就可以说对于这个月的工作怎么样。
谈话的第二步给予反馈。分为事件，影响，后果。我们需要了解事情，这个事情造成的影响，如果说他做了一件事情会有什么后果？
比如说举例，首先先说事实，事实是小王迟到了，影响是经常会打断会议，后果是对小王的看法有一些影响。在这种情况下，我们把这三个东西联系到一起。这样一说的话，小王就很容易欣然接受，而不是我们平时说“你这个月是不是经常迟到，对吧？”这样说话的话会给小王反驳的机会，然后也有很有可能会激发两人之间的矛盾。如果还有问题的话，可以进行鼓励和倾听，然后进行商讨，最后再改变。&lt;/li&gt;
&lt;li&gt;第三步我们可以进行一个行动总结。所以说对于这次的问题你要怎么做呢？并且要求对面提出详细的做法，只有有详细的做法的时候，对面才会勇于去改变，不然有一个大方向像还是不知道怎么去改。&lt;/li&gt;
&lt;li&gt;第四点是跟进计划，正常的执行计划。我们要尽力的压制住本能，然后提高员工的自尊心。&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h2&gt;规划时间&lt;/h2&gt;
&lt;p&gt;下一部分讲述了时间，时间方面需要有几点。第一点是注重大局意识，看清主次，来研究一下哪个更重要，把哪一个东西排在前面。管人比管事效率更高。我们管事情可能说这一个事情那一个事情事情总是接踵而至。但是管人的话可以把任何人都有效的安排在每个事情里，进行高效的处理。&lt;/p&gt;
&lt;p&gt;这里老师提到了一个GTD法，什么叫GTD法？就是get things done，也就是“把事情完成”，它分为五个部分。&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;第一个部分收集，我们要收集一些问题。&lt;/li&gt;
&lt;li&gt;第二个是整理，我们把这些问题都给列出来。&lt;/li&gt;
&lt;li&gt;第三个部分是组织，组织分为自己行动，别人行动，还有先等等 —— 也就是我们把刚才的to do list我们给划分一下顺序。&lt;/li&gt;
&lt;li&gt;第四点是回顾，这下我们可以再看看我们需要做哪些的任务。&lt;/li&gt;
&lt;li&gt;第五步是执行。&lt;/li&gt;
&lt;/ol&gt;
&lt;h2&gt;创意引爆团队&lt;/h2&gt;
&lt;p&gt;下一步讲述了我们如何在团队中激发创意，也就是头脑风暴。我们可以找到几个人，人数不宜太多，15个左右就可以。进行一个头脑风暴来设计我们的产品。对于提出的意见，我们不能批评，不应该深入，也不应该否定。所有的提出的想法，我们都应该留下来进行讨论。&lt;/p&gt;
&lt;p&gt;如何正确高效的做决策呢？我们可以采用一种叫做思考帽法的一个方法。简单来说就是首先所有人进行冷静分析，然后所有人想出新的点子，所有人说他的好处，所有人说他的坏处，所有人表达自己对这个方法的直觉，所有人对这个方法进行一个调整。这样的话我们可以进行一个达成共识，然后决策的质量也会高，我们团队的气氛也会变得好，然后这种方法也会变得非常有效。&lt;/p&gt;
&lt;h2&gt;总结&lt;/h2&gt;
&lt;p&gt;这次读的书干货巨多，读之前没想到这本书能有这么多内容，用讲书的方式“写”了阅读笔记，方便回顾查看，也希望能对大家给予帮助&lt;/p&gt;
</content:encoded></item><item><title>【教程】优雅的使用RSS在手机上阅读博客</title><link>https://luoca.cn/posts/%E6%95%99%E7%A8%8B%E4%BC%98%E9%9B%85%E7%9A%84%E4%BD%BF%E7%94%A8rss%E5%9C%A8%E6%89%8B%E6%9C%BA%E4%B8%8A%E9%98%85%E8%AF%BB%E5%8D%9A%E5%AE%A2/</link><guid isPermaLink="true">https://luoca.cn/posts/%E6%95%99%E7%A8%8B%E4%BC%98%E9%9B%85%E7%9A%84%E4%BD%BF%E7%94%A8rss%E5%9C%A8%E6%89%8B%E6%9C%BA%E4%B8%8A%E9%98%85%E8%AF%BB%E5%8D%9A%E5%AE%A2/</guid><pubDate>Sun, 18 Aug 2024 22:02:00 GMT</pubDate><content:encoded>&lt;h2&gt;AI智能总结&lt;/h2&gt;
&lt;p&gt;ReadYou 是一款高效的 RSS 订阅软件，支持全文解析和已读标记，界面整洁美观，完美满足了及时获取博客更新的需求。&lt;/p&gt;
&lt;h2&gt;前言&lt;/h2&gt;
&lt;p&gt;::aru:diving:: 虽然咱没有友情链接（写文的时候还没有呢，现在有了)，但是很多时候会去各种博客拜访，学习很多新知识，一些常去的博客更新之后不容易第一时间知道。所以就衍生出了用rss订阅浏览博客的需求。&lt;/p&gt;
&lt;h2&gt;正文&lt;/h2&gt;
&lt;p&gt;::aru:cheer:: 这次我推荐的软件是这个名叫&quot;ReadYou&quot;的RSS订阅软件。&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://bu.dusays.com/2024/08/18/66c17fbad1c43.png&quot; alt=&quot;软件介绍&quot; /&gt;&lt;/p&gt;
&lt;p&gt;这款软件相比于其他软件同类软件截取内容效果好，纯开源应用，并支持文章已读。&lt;/p&gt;
&lt;p&gt;::aru:thumb:: 对于类原生的系统而言，这款软件与系统界面的主题是搭配的，非常的整洁美观。&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://github.com/Ashinch/ReadYou&quot;&gt;开源地址和下载地址&lt;/a&gt;&lt;/p&gt;
&lt;h2&gt;怎么使用？&lt;/h2&gt;
&lt;p&gt;首先我们需要安装这款软件，下载的步骤我就不多介绍了。&lt;/p&gt;
&lt;p&gt;之后我们去想要订阅的博客网站，去寻找有WiFi标志的图标，点击它。&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://bu.dusays.com/2024/08/18/66c17fbabc0f6.png&quot; alt=&quot;我的博客&quot; /&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://bu.dusays.com/2024/08/18/66c17fbabd4b4.png&quot; alt=&quot;其他人的博客举例(杜老师的博客）&quot; /&gt;&lt;/p&gt;
&lt;p&gt;在打开的界面中我们复制链接，并打开软件。&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://bu.dusays.com/2024/08/18/66c17fbaa85f6.png&quot; alt=&quot;复制所要订阅博客的rss链接&quot; /&gt;&lt;/p&gt;
&lt;p&gt;点击右上角的加号，将复制的链接填进去并勾选全文解析，添加后等待软件加载。&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://bu.dusays.com/2024/08/18/66c17fb72b0fd.png&quot; alt=&quot;进入主页 点击右上角加号&quot; /&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://bu.dusays.com/2024/08/18/66c17fbabe55e.png&quot; alt=&quot;填入链接并进行全文解析 选择订阅&quot; /&gt;&lt;/p&gt;
&lt;p&gt;加载完成之后可以点击右上角刷新 之后点击主页的全部按钮 就可以看到我们订阅的所有链接的内容。&lt;/p&gt;
&lt;p&gt;::aru:cheer:: 以信息流的方式来呈现，更好的了解哪个博客更新了新内容，帮助我们阅读。&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://bu.dusays.com/2024/08/18/66c17fbaed241.png&quot; alt=&quot;也可以单独看某一个网站&quot; /&gt;&lt;/p&gt;
&lt;p&gt;::aru:shy2:: 点击文章内容之后，我们可以看到文章的详细内容，包括图片也可以加载出来。&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://bu.dusays.com/2024/08/18/66c17fbc63439.png&quot; alt=&quot;内容效果展示&quot; /&gt;&lt;/p&gt;
&lt;h2&gt;总结&lt;/h2&gt;
&lt;p&gt;::aru:nomatter:: 没啥可总结的，可以说再也不怕其他博主更新推文不能第一时间查看，满足了需求。&lt;/p&gt;
</content:encoded></item><item><title>【喵布娘】本站看板娘图集</title><link>https://luoca.cn/posts/%E5%96%B5%E5%B8%83%E5%A8%98%E6%9C%AC%E7%AB%99%E7%9C%8B%E6%9D%BF%E5%A8%98%E5%9B%BE%E9%9B%86/</link><guid isPermaLink="true">https://luoca.cn/posts/%E5%96%B5%E5%B8%83%E5%A8%98%E6%9C%AC%E7%AB%99%E7%9C%8B%E6%9D%BF%E5%A8%98%E5%9B%BE%E9%9B%86/</guid><pubDate>Sat, 17 Aug 2024 22:18:00 GMT</pubDate><content:encoded>&lt;h2&gt;AI智能总结:&lt;/h2&gt;
&lt;p&gt;本篇文章介绍了喵布娘的由来，并提供了喵布娘的图集。&lt;/p&gt;
&lt;h2&gt;前言&lt;/h2&gt;
&lt;p&gt;夜深人静，看到友友的网站全站覆盖了自己的看板娘角色作为头图。&lt;/p&gt;
&lt;p&gt;我一寻思，咱也可以搞一个美化网站，正好我这里有自己原创角色的图，名字叫&quot;喵布&quot;。&lt;/p&gt;
&lt;p&gt;美化完成之后，把所有的图都汇总到这个帖子，就有了本篇文章(其实是素材页）&lt;/p&gt;
&lt;p&gt;哎，现在没有女朋友都流行这些了(雾)&lt;/p&gt;
&lt;h2&gt;其他补充&lt;/h2&gt;
&lt;p&gt;那么问题来了，为啥我自己的图它还会有类似于锯齿一样的东西呢？
答案是当时画的时候没考虑这些，因为这些图本来也不是做博客用的，所以基本上图都是有背景的，但为了适配博客纯白背景，现在一张一张用ps纯抠下来的，别看他有锯齿，费老大劲了?。另外为了减少网站加载时间，图片进行高压压缩，每张图压成几十k，所以说会有模糊的感觉，谅解一哈。&lt;/p&gt;
&lt;p&gt;补:为了更加突出主体，并去除锯齿，费老大劲儿又重新描了一下边儿，虽然几乎没干啥，但成功体验到画师的辛苦了?感谢鸽子妈和角儿妈的绘画和帮助&lt;/p&gt;
&lt;h2&gt;设定&lt;/h2&gt;
&lt;p&gt;姓名 喵布娘
年龄 14
发色 粉色（浅粉色)
瞳色 蓝色（早期稿件是粉色）
发型 短发
肤色 白色
身高 160cm
体重 43kg
生日 2010-03-16
星座 双鱼座♓
喜欢星星挂件&lt;/p&gt;
&lt;h2&gt;图集&lt;/h2&gt;
&lt;p&gt;&lt;img src=&quot;https://bu.dusays.com/2024/08/18/66c123755cc66.jpg&quot; alt=&quot;喵布姐 早期约稿头像&quot; /&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://bu.dusays.com/2026/03/16/69b80d8ed315d.jpg&quot; alt=&quot;博客头像---精修改版喵布姐&quot; /&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://bu.dusays.com/2024/08/18/66c1227e010ed.png&quot; alt=&quot;stay猫猫模拟器 纪念版 攀爬喵布&quot; /&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://bu.dusays.com/2024/08/19/66c35956c3d3b.png&quot; alt=&quot;欢迎关林!&quot; /&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://bu.dusays.com/2024/08/19/66c359535f3d6.png&quot; alt=&quot;大笑表情包&quot; /&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://bu.dusays.com/2024/08/19/66c3595870a1f.png&quot; alt=&quot;退回顶部版喵布&quot; /&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://bu.dusays.com/2024/08/17/66c0a900c39d3.png&quot; alt=&quot;Logo 拥抱喵布&quot; /&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://bu.dusays.com/2024/08/19/66c35957c03a9.png&quot; alt=&quot;阔步喵布&quot; /&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://bu.dusays.com/2024/08/19/66c359568f1c4.png&quot; alt=&quot;白色水手服喵布&quot; /&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://bu.dusays.com/2024/08/19/66c35956b788a.png&quot; alt=&quot;喵布点赞&quot; /&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://bu.dusays.com/2024/08/17/66c0a6f412685.png&quot; alt=&quot;给俺来一个表情包&quot; /&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://bu.dusays.com/2024/08/19/66c3595698fcc.png&quot; alt=&quot;粉色水手服&quot; /&gt;&lt;/p&gt;
</content:encoded></item><item><title>【计划】我近期的计划</title><link>https://luoca.cn/posts/%E8%AE%A1%E5%88%92%E6%88%91%E8%BF%91%E6%9C%9F%E7%9A%84%E8%AE%A1%E5%88%92/</link><guid isPermaLink="true">https://luoca.cn/posts/%E8%AE%A1%E5%88%92%E6%88%91%E8%BF%91%E6%9C%9F%E7%9A%84%E8%AE%A1%E5%88%92/</guid><pubDate>Sun, 04 Aug 2024 04:47:00 GMT</pubDate><content:encoded>&lt;p&gt;本站现在重新开启，更新学习阅读笔记&lt;/p&gt;
&lt;p&gt;有问题联系2665646185@qq.com&lt;/p&gt;
&lt;h3&gt;近期计划&lt;/h3&gt;
&lt;ol&gt;
&lt;li&gt;完成c语言学习&lt;/li&gt;
&lt;li&gt;python基础&lt;/li&gt;
&lt;li&gt;小游戏项目&lt;/li&gt;
&lt;/ol&gt;
&lt;h3&gt;近期文章&lt;/h3&gt;
&lt;ol&gt;
&lt;li&gt;aigc检测的原理解析和我的看法 8.18&lt;/li&gt;
&lt;li&gt;博客文章思路来源和写法 8.17&lt;/li&gt;
&lt;/ol&gt;
&lt;h2&gt;目前阅读中&lt;/h2&gt;
&lt;p&gt;（早期完成已被删除，对钩表示刚刚读完）&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;[ ]  《自控力实操篇》&lt;/li&gt;
&lt;li&gt;[X]  《可复制的沟通力》&lt;/li&gt;
&lt;li&gt;[ ]  《清单革命》&lt;/li&gt;
&lt;li&gt;[ ]  《心流》&lt;/li&gt;
&lt;li&gt;[ ]  《学会和压力做朋友》&lt;/li&gt;
&lt;li&gt;[X]  《自控力》&lt;/li&gt;
&lt;li&gt;[ ]  《经济学的思维方法》&lt;/li&gt;
&lt;li&gt;[X]  《改变心理学的四十项研究》&lt;/li&gt;
&lt;li&gt;[ ]  《华杉讲透论语》&lt;/li&gt;
&lt;li&gt;[ ]  《道德经》&lt;/li&gt;
&lt;li&gt;[X]  《海妖的诅咒》&lt;/li&gt;
&lt;li&gt;[ ]  《庄子》&lt;/li&gt;
&lt;li&gt;[ ]  《孟子》&lt;/li&gt;
&lt;li&gt;[ ]  《非暴力沟通》&lt;/li&gt;
&lt;li&gt;[ ]  《关键对话》&lt;/li&gt;
&lt;li&gt;[ ]  《掌控谈话》&lt;/li&gt;
&lt;li&gt;[X]  《可复制的领导力》&lt;/li&gt;
&lt;li&gt;[ ]  《生活的哲学》&lt;/li&gt;
&lt;li&gt;[ ]  《学会提问》&lt;/li&gt;
&lt;li&gt;[ ]  《思辨与立场》&lt;/li&gt;
&lt;li&gt;[X]  《读懂一本书》&lt;/li&gt;
&lt;li&gt;[ ]  《哲学起步》&lt;/li&gt;
&lt;li&gt;[ ]  《人生海海》&lt;/li&gt;
&lt;li&gt;[X]  《手机大脑》&lt;/li&gt;
&lt;li&gt;[ ]  《性心理学》&lt;/li&gt;
&lt;/ul&gt;
&lt;hr /&gt;
&lt;p&gt;下面是我在阅读其他书的时候获得的书单，对上面读过的书进行替换&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;[ ]  《非暴力沟通》&lt;/li&gt;
&lt;li&gt;[ ]  《高绩效教练》&lt;/li&gt;
&lt;li&gt;[ ]  《高能量姿势》&lt;/li&gt;
&lt;li&gt;[ ]  《高效演讲》&lt;/li&gt;
&lt;li&gt;[ ]  《共情沟通》&lt;/li&gt;
&lt;li&gt;[ ]  《关键对话》&lt;/li&gt;
&lt;li&gt;[ ]  《身体从未忘记》&lt;/li&gt;
&lt;li&gt;[ ]  《水平思考》&lt;/li&gt;
&lt;li&gt;[ ]  《思考，快与慢》&lt;/li&gt;
&lt;li&gt;[ ]  《我们内心的冲突》&lt;/li&gt;
&lt;li&gt;[ ]  《向前一步》&lt;/li&gt;
&lt;li&gt;[ ]  《幸福的方法》&lt;/li&gt;
&lt;li&gt;[ ]  《增长黑客》&lt;/li&gt;
&lt;li&gt;[ ]  《掌控谈话》&lt;/li&gt;
&lt;li&gt;[ ]  《终身学习》&lt;/li&gt;
&lt;li&gt;[ ]  《终身成长》&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;准备研究的领域&lt;/h2&gt;
&lt;p&gt;无线电
计算机二级&lt;/p&gt;
</content:encoded></item><item><title>【日常】百元捡个10年前的文石纸墨屏阅读器</title><link>https://luoca.cn/posts/%E6%97%A5%E5%B8%B8%E7%99%BE%E5%85%83%E6%8D%A1%E4%B8%AA10%E5%B9%B4%E5%89%8D%E7%9A%84%E6%96%87%E7%9F%B3%E7%BA%B8%E5%A2%A8%E5%B1%8F%E9%98%85%E8%AF%BB%E5%99%A8/</link><guid isPermaLink="true">https://luoca.cn/posts/%E6%97%A5%E5%B8%B8%E7%99%BE%E5%85%83%E6%8D%A1%E4%B8%AA10%E5%B9%B4%E5%89%8D%E7%9A%84%E6%96%87%E7%9F%B3%E7%BA%B8%E5%A2%A8%E5%B1%8F%E9%98%85%E8%AF%BB%E5%99%A8/</guid><pubDate>Wed, 17 Jul 2024 00:02:00 GMT</pubDate><content:encoded>&lt;h2&gt;AI智能总结:&lt;/h2&gt;
&lt;p&gt;这是一款100元的安卓纸墨屏阅读器boox文石C67ML，虽然性能一般，但适合专注阅读。它支持多种阅读格式，字体清晰，电池耐用。整体上，这款设备在沉浸式阅读方面表现不错，性价比高。&lt;/p&gt;
&lt;h2&gt;为啥我要买这&quot;电子垃圾&quot;&lt;/h2&gt;
&lt;p&gt;说实话一直想要个纸墨屏阅读器，奈何纸墨屏阅读器都太贵。加上现在的电子设备越来越先进，纸墨屏阅读器依旧可以上网下软件。这完全达到不了专注阅读的效果鸭?&lt;/p&gt;
&lt;p&gt;结果，嘿----闲的没事儿逛海鲜市场，让我发现了一款&quot;安卓&quot;纸墨屏，还有背光。再一看价格，100块包邮???&lt;/p&gt;
&lt;p&gt;(虽然明知道他性能肯定不行，但考虑到我的需求就是阅读，也确实只需要找一个能阅读的东西就行，不需要性能）&lt;/p&gt;
&lt;p&gt;也就是我们接下来要介绍的这个设备了——boox文石C67ML。&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://bu.dusays.com/2024/08/17/66bfede98b498.png&quot; alt=&quot;正面——还真像那么回事&quot; /&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://bu.dusays.com/2024/08/17/66bfede96565e.png&quot; alt=&quot;背面&quot; /&gt;&lt;/p&gt;
&lt;h2&gt;为啥买安卓系统&lt;/h2&gt;
&lt;p&gt;刚才不是聊到:不想用开放式系统，那为啥买一个安卓系统的呢？&lt;/p&gt;
&lt;p&gt;第一是考虑到可能买别的封闭系统电子书，达不到离线阅读专注的效果，还有很多格式可能不支持，开放系统我们可以稍微下一个其他软件来代替一下。&lt;/p&gt;
&lt;p&gt;第二，让我们来看看安卓版本:&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://bu.dusays.com/2024/08/17/66bfedeba8125.png&quot; alt=&quot;高版本安卓&quot; /&gt;&lt;/p&gt;
&lt;p&gt;采用了&lt;strong&gt;安卓2.3&lt;/strong&gt;高端系统&lt;/p&gt;
&lt;p&gt;这扩展性也就再安装一个本地阅读器了?&lt;/p&gt;
&lt;p&gt;不过十年前的设备要什么自行车，在当年主打的就是一个高端?&lt;/p&gt;
&lt;h2&gt;体验感&lt;/h2&gt;
&lt;p&gt;到手第一件事情就是换上舒服的字体，设备支持ttf格式字体，我这里换成了网站同款落霞孤鹜老师的落霞臻楷。这字体我感觉比落霞文楷字重要大一点，在这种阅读器上面显示更加清晰&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://bu.dusays.com/2024/08/17/66bfede8a3143.png&quot; alt=&quot;落霞臻楷&quot; /&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://static.zitijia.com/file/item/202202/11/394283219865848889/img/20220211T085257.204057.png&quot; alt=&quot;落霞字体介绍&quot; /&gt;&lt;/p&gt;
&lt;p&gt;令我比较意外的是，系统自带的阅读器支持了特别多的阅读格式:epub mobi pdf都可以直接阅读，还支持重新排列适应屏幕。&lt;/p&gt;
&lt;p&gt;正如上面所说，这设备还支持背光，不过效果一言难尽，有点刺眼。好吧，有了总比没有强，万一哪天晚上大半夜12点停电，然后我根本不睡觉看书什么的(雾&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://bu.dusays.com/2024/08/17/66bfede937a05.png&quot; alt=&quot;背光设置&quot; /&gt;&lt;/p&gt;
&lt;p&gt;打开设备之后默认只有一本说明书在书库里:我觉得还挺有创意的，把整整50页说明书塞到电子书书库里，完美的做到了与设备相融合???&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://bu.dusays.com/2024/08/17/66bfedeca3094.png&quot; alt=&quot;说明书&quot; /&gt;&lt;/p&gt;
&lt;p&gt;导入了几本电子书，呀，效果还真不错，把封面都给我识别出来了，Epub 和 mobi格式的电子书都可以完美兼容。&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://bu.dusays.com/2024/08/17/66bfede95af70.png&quot; alt=&quot;书库&quot; /&gt;&lt;/p&gt;
&lt;p&gt;图像显示非常清晰，换上落霞的字体也非常棒，有一种阅读小学护眼课本的感觉。&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://bu.dusays.com/2024/08/17/66bfedecb70b3.png&quot; alt=&quot;图片显示效果&quot; /&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://bu.dusays.com/2024/08/17/66bfede9c0f93.png&quot; alt=&quot;阅读效果&quot; /&gt;&lt;/p&gt;
&lt;p&gt;电池的话我测试了一阵子，大概连续阅读30个小时左右会没电，虽然说对于这设备官方宣称的可以阅读7~10天来说，电池已经严重老化了。但是对于现在一天两充的手机来说，我着实有点震惊。孩子年轻，没见过这么劲用的设备。&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://bu.dusays.com/2024/08/17/66bfede484a3c.png&quot; alt=&quot;电池测试&quot; /&gt;&lt;/p&gt;
&lt;h2&gt;总结&lt;/h2&gt;
&lt;p&gt;总的来说，要什么自行车，才100块钱，买实体书三本书就没了。&lt;/p&gt;
&lt;p&gt;之前有友友问我:我是怎么样做到耐心读电子书，还能不专注走神的？&lt;/p&gt;
&lt;p&gt;我当时给他的回复就是买一个这种除了阅读啥都不能干的电子书阅读器，然后把手机等电子设备扔一边去，主打的就是一个沉浸式阅读??&lt;/p&gt;
&lt;p&gt;不过说实话，开头想要阅读的目的还是达到了，不亏?如果你也想沉下心阅读的话，也可以买一台类似的设备，效果拔群?&lt;/p&gt;
</content:encoded></item><item><title>Linux的虚拟内存与缓存</title><link>https://luoca.cn/posts/linux%E7%9A%84%E8%99%9A%E6%8B%9F%E5%86%85%E5%AD%98%E4%B8%8E%E7%BC%93%E5%AD%98/</link><guid isPermaLink="true">https://luoca.cn/posts/linux%E7%9A%84%E8%99%9A%E6%8B%9F%E5%86%85%E5%AD%98%E4%B8%8E%E7%BC%93%E5%AD%98/</guid><pubDate>Fri, 24 May 2024 11:19:00 GMT</pubDate><content:encoded>&lt;p&gt;虚拟内存
什么是虚拟内存？
虚拟内存是一种系统机制，通过将硬盘空间与实际内存结合起来，为进程提供比实际内存更大的虚拟地址空间。在程序运行时，系统只需将虚拟地址空间的一小部分映射到内存中，而将其余部分存储在硬盘上（更简单的说法就是程序的虚拟空间相当于实际物理内存再加上一部分硬盘空间）。当访问的虚拟地址不在内存中时，说明该地址未映射到内存，而是存储在硬盘上。因此，需要的虚拟存储地址会被动态调入内存。同时，当系统内存紧张时，不使用的虚拟存储空间可以被交换到硬盘上，以释放物理内存空间。系统通过不断进行这种换入和换出的操作，用户几乎感觉不到，这都是虚拟内存机制的巧妙之处。
简单理解，虚拟内存就是系统利用 硬盘空间与实际内存结合 ，为进程提供比内存更大的虚拟空间，通过动态映射和交换，实现对内存资源的高效利用。
不过万事皆有利弊，由于开启swap分区读取硬盘，会导致硬盘IO性能下降，因此譬如很多云服务器初始状态都不会配置swap，如果某些程序恰好需要大内存，可以采用下面方法学习
怎么看我的虚拟内存？
在Linux中，swap分区是专门为虚拟存储空间预留的硬盘空间。通常建议将其大小设置为内存大小的两倍左右。可以使用命令 &quot;swapon -s&quot; 来查看交换分区的大小。
root@admin:~# swapon -s
Filename                                Type            Size    Used    Priority
/mnt/swap                               file            4194300 0       -1
上面的前三个分别是目录，类别（虚拟内存文件）和大小（4gb） ，
最后两个指标的含义：
• 已使用（Used）列显示已经使用的交换空间大小，这里是0 KB。也就是并没使用虚拟内存，内存比较充足。
• 优先级（Priority）指定了多个交换空间时的优先级。
这个优先级就是使用的优先程度，假如你有n个虚拟内存分区，可以通过改变优先级改变调动顺序。数值越大优先越高，最大为-1表示无限优先。
如何创建虚拟内存？
在Ubuntu下，创建 1G 的 swap，可以根据你的服务器来调整大小
其中​​of=/mnt/swap​​: 这个部分指定了​​dd​​命令的输出文件（of 表示 output file）。在这里，指定了输出文件的路径为​​/mnt/swap​​，表示在​​/mnt​​目录下创建一个名为​​swap​​的文件。
dd if=/dev/zero of=/mnt/swap bs=1M count=1024设置交换分区文件位置 也就是上面我们设置的那个
mkswap /mnt/swap启动 swap
swapon /mnt/swap设置开机时自启用虚拟内存？
需要修改文件 /etc/fstab 中的 swap 行
vim /etc/fstab在结尾添加
/mnt/swap swap swap defaults 0 0之后我们就已经开启虚拟内存 用刚才的命令可以验证
设置虚拟内存使用频率？
sysctl vm.swappiness=40可以通过swappiness值进行管理，swappiness表示系统对Swap分区的依赖程度， 数值越大，依赖程度越高，最大是100，越高越频繁。
但是对于硬盘速度比较慢的朋友，设置特别大就很难受了
当你设置为0时候会完全使用物理内存，那就没有用了&lt;/p&gt;
&lt;p&gt;所以，这个比例值一般不宜配置过高，但也不能太低，个人一般使用10-20，即尽量优先使用物理内存。
虚拟内存的原理？
每个进程拥有独立的4GB虚拟内存空间，具有相似的结构。&lt;/p&gt;
&lt;p&gt;新进程建立时，将其数据和代码从磁盘拷贝到自己的内存空间，页表记录了内存空间的分配情况，包括有数据的地址等。
（页表:简单理解为为了管理虚拟内存，计算机使用了一个工具叫做页表，就像地图一样。这个地图告诉计算机哪些地方在实际内存上，哪些在硬盘上。）
进程访问虚拟地址（硬盘中的文件）时，会查看页表，缺页(物理内存找不到)时从磁盘复制到内存，若物理内存不足，将不用的资源调至硬盘swap分区。
缓存
缓存内存是什么？
首先我们了解 /proc/meminfo 文件： ​​/proc/meminfo​​ 文件是Linux系统的一个文件，提供了有关系统内存的详细统计信息，包括各种内存用途的数据。
我们利用它去查看内存信息
cat /proc/meminforoot@admin:~# cat /proc/meminfo
...
Cached:          1680620 kB
...可以看到一个叫Cached Memory(可能显示为Cached)
Cached Memory 的含义： ​​Cached​​字段表示已被内核用于文件系统缓存的内存量。这包括最近读取的文件数据以及预测性地缓存可能被访问的数据，从而提高文件系统的性能。
也就是一种预测的缓存，为了加快运行速度而实现的。所以有的时候我们开的应用很少，空闲内存却也很少。
不过，Cached Memory 是可以被释放的： 尽管​​Cached​​内存用于缓存，但实际上，当系统需要更多内存来满足运行程序的需求时，这部分缓存会被释放，增加系统的可用内存。因此，即使​​Cached​​内存被占用，它并不是永久性占用，系统会动态管理内存以满足实际需求。
如何释放缓存？
你可以通过这种方式清空缓存，来增加空闲内存
To free pagecache:
echo 1 &amp;gt; /proc/sys/vm/drop_caches
To free dentries and inodes:
echo 2 &amp;gt; /proc/sys/vm/drop_caches
To free pagecache, dentries and inodes:
echo 3 &amp;gt; /proc/sys/vm/drop_caches不过正如上面所说，它会在需要的时候自动释放，所以其实没有必要手动释放它。&lt;/p&gt;
</content:encoded></item><item><title>Markdown Extended Features</title><link>https://luoca.cn/posts/markdown-extended/</link><guid isPermaLink="true">https://luoca.cn/posts/markdown-extended/</guid><description>Read more about Markdown features in Fuwari</description><pubDate>Wed, 01 May 2024 00:00:00 GMT</pubDate><content:encoded>&lt;h2&gt;GitHub Repository Cards&lt;/h2&gt;
&lt;p&gt;You can add dynamic cards that link to GitHub repositories, on page load, the repository information is pulled from the GitHub API.&lt;/p&gt;
&lt;p&gt;::github{repo=&quot;Fabrizz/MMM-OnSpotify&quot;}&lt;/p&gt;
&lt;p&gt;Create a GitHub repository card with the code &lt;code&gt;::github{repo=&quot;&amp;lt;owner&amp;gt;/&amp;lt;repo&amp;gt;&quot;}&lt;/code&gt;.&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;::github{repo=&quot;saicaca/fuwari&quot;}
&lt;/code&gt;&lt;/pre&gt;
&lt;h2&gt;Admonitions&lt;/h2&gt;
&lt;p&gt;Following types of admonitions are supported: &lt;code&gt;note&lt;/code&gt; &lt;code&gt;tip&lt;/code&gt; &lt;code&gt;important&lt;/code&gt; &lt;code&gt;warning&lt;/code&gt; &lt;code&gt;caution&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;:::note
Highlights information that users should take into account, even when skimming.
:::&lt;/p&gt;
&lt;p&gt;:::tip
Optional information to help a user be more successful.
:::&lt;/p&gt;
&lt;p&gt;:::important
Crucial information necessary for users to succeed.
:::&lt;/p&gt;
&lt;p&gt;:::warning
Critical content demanding immediate user attention due to potential risks.
:::&lt;/p&gt;
&lt;p&gt;:::caution
Negative potential consequences of an action.
:::&lt;/p&gt;
&lt;h3&gt;Basic Syntax&lt;/h3&gt;
&lt;pre&gt;&lt;code&gt;:::note
Highlights information that users should take into account, even when skimming.
:::

:::tip
Optional information to help a user be more successful.
:::
&lt;/code&gt;&lt;/pre&gt;
&lt;h3&gt;Custom Titles&lt;/h3&gt;
&lt;p&gt;The title of the admonition can be customized.&lt;/p&gt;
&lt;p&gt;:::note[MY CUSTOM TITLE]
This is a note with a custom title.
:::&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;:::note[MY CUSTOM TITLE]
This is a note with a custom title.
:::
&lt;/code&gt;&lt;/pre&gt;
&lt;h3&gt;GitHub Syntax&lt;/h3&gt;
&lt;blockquote&gt;
&lt;p&gt;[!TIP]
&lt;a href=&quot;https://github.com/orgs/community/discussions/16925&quot;&gt;The GitHub syntax&lt;/a&gt; is also supported.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;pre&gt;&lt;code&gt;&amp;gt; [!NOTE]
&amp;gt; The GitHub syntax is also supported.

&amp;gt; [!TIP]
&amp;gt; The GitHub syntax is also supported.
&lt;/code&gt;&lt;/pre&gt;
&lt;h3&gt;Spoiler&lt;/h3&gt;
&lt;p&gt;You can add spoilers to your text. The text also supports &lt;strong&gt;Markdown&lt;/strong&gt; syntax.&lt;/p&gt;
&lt;p&gt;The content :spoiler[is hidden &lt;strong&gt;ayyy&lt;/strong&gt;]!&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;The content :spoiler[is hidden **ayyy**]!

&lt;/code&gt;&lt;/pre&gt;
</content:encoded></item><item><title>Expressive Code Example</title><link>https://luoca.cn/posts/expressive-code/</link><guid isPermaLink="true">https://luoca.cn/posts/expressive-code/</guid><description>How code blocks look in Markdown using Expressive Code.</description><pubDate>Wed, 10 Apr 2024 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;Here, we&apos;ll explore how code blocks look using &lt;a href=&quot;https://expressive-code.com/&quot;&gt;Expressive Code&lt;/a&gt;. The provided examples are based on the official documentation, which you can refer to for further details.&lt;/p&gt;
&lt;h2&gt;Expressive Code&lt;/h2&gt;
&lt;h3&gt;Syntax Highlighting&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://expressive-code.com/key-features/syntax-highlighting/&quot;&gt;Syntax Highlighting&lt;/a&gt;&lt;/p&gt;
&lt;h4&gt;Regular syntax highlighting&lt;/h4&gt;
&lt;pre&gt;&lt;code&gt;console.log(&apos;This code is syntax highlighted!&apos;)
&lt;/code&gt;&lt;/pre&gt;
&lt;h4&gt;Rendering ANSI escape sequences&lt;/h4&gt;
&lt;pre&gt;&lt;code&gt;ANSI colors:
- Regular: [31mRed[0m [32mGreen[0m [33mYellow[0m [34mBlue[0m [35mMagenta[0m [36mCyan[0m
- Bold:    [1;31mRed[0m [1;32mGreen[0m [1;33mYellow[0m [1;34mBlue[0m [1;35mMagenta[0m [1;36mCyan[0m
- Dimmed:  [2;31mRed[0m [2;32mGreen[0m [2;33mYellow[0m [2;34mBlue[0m [2;35mMagenta[0m [2;36mCyan[0m

256 colors (showing colors 160-177):
[38;5;160m160 [38;5;161m161 [38;5;162m162 [38;5;163m163 [38;5;164m164 [38;5;165m165[0m
[38;5;166m166 [38;5;167m167 [38;5;168m168 [38;5;169m169 [38;5;170m170 [38;5;171m171[0m
[38;5;172m172 [38;5;173m173 [38;5;174m174 [38;5;175m175 [38;5;176m176 [38;5;177m177[0m

Full RGB colors:
[38;2;34;139;34mForestGreen - RGB(34, 139, 34)[0m

Text formatting: [1mBold[0m [2mDimmed[0m [3mItalic[0m [4mUnderline[0m
&lt;/code&gt;&lt;/pre&gt;
&lt;h3&gt;Editor &amp;amp; Terminal Frames&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://expressive-code.com/key-features/frames/&quot;&gt;Editor &amp;amp; Terminal Frames&lt;/a&gt;&lt;/p&gt;
&lt;h4&gt;Code editor frames&lt;/h4&gt;
&lt;pre&gt;&lt;code&gt;console.log(&apos;Title attribute example&apos;)
&lt;/code&gt;&lt;/pre&gt;
&lt;hr /&gt;
&lt;pre&gt;&lt;code&gt;&amp;lt;!-- src/content/index.html --&amp;gt;
&amp;lt;div&amp;gt;File name comment example&amp;lt;/div&amp;gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;h4&gt;Terminal frames&lt;/h4&gt;
&lt;pre&gt;&lt;code&gt;echo &quot;This terminal frame has no title&quot;
&lt;/code&gt;&lt;/pre&gt;
&lt;hr /&gt;
&lt;pre&gt;&lt;code&gt;Write-Output &quot;This one has a title!&quot;
&lt;/code&gt;&lt;/pre&gt;
&lt;h4&gt;Overriding frame types&lt;/h4&gt;
&lt;pre&gt;&lt;code&gt;echo &quot;Look ma, no frame!&quot;
&lt;/code&gt;&lt;/pre&gt;
&lt;hr /&gt;
&lt;pre&gt;&lt;code&gt;# Without overriding, this would be a terminal frame
function Watch-Tail { Get-Content -Tail 20 -Wait $args }
New-Alias tail Watch-Tail
&lt;/code&gt;&lt;/pre&gt;
&lt;h3&gt;Text &amp;amp; Line Markers&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://expressive-code.com/key-features/text-markers/&quot;&gt;Text &amp;amp; Line Markers&lt;/a&gt;&lt;/p&gt;
&lt;h4&gt;Marking full lines &amp;amp; line ranges&lt;/h4&gt;
&lt;pre&gt;&lt;code&gt;// Line 1 - targeted by line number
// Line 2
// Line 3
// Line 4 - targeted by line number
// Line 5
// Line 6
// Line 7 - targeted by range &quot;7-8&quot;
// Line 8 - targeted by range &quot;7-8&quot;
&lt;/code&gt;&lt;/pre&gt;
&lt;h4&gt;Selecting line marker types (mark, ins, del)&lt;/h4&gt;
&lt;pre&gt;&lt;code&gt;function demo() {
  console.log(&apos;this line is marked as deleted&apos;)
  // This line and the next one are marked as inserted
  console.log(&apos;this is the second inserted line&apos;)

  return &apos;this line uses the neutral default marker type&apos;
}
&lt;/code&gt;&lt;/pre&gt;
&lt;h4&gt;Adding labels to line markers&lt;/h4&gt;
&lt;pre&gt;&lt;code&gt;// labeled-line-markers.jsx
&amp;lt;button
  role=&quot;button&quot;
  {...props}
  value={value}
  className={buttonClassName}
  disabled={disabled}
  active={active}
&amp;gt;
  {children &amp;amp;&amp;amp;
    !active &amp;amp;&amp;amp;
    (typeof children === &apos;string&apos; ? &amp;lt;span&amp;gt;{children}&amp;lt;/span&amp;gt; : children)}
&amp;lt;/button&amp;gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;h4&gt;Adding long labels on their own lines&lt;/h4&gt;
&lt;pre&gt;&lt;code&gt;// labeled-line-markers.jsx
&amp;lt;button
  role=&quot;button&quot;
  {...props}

  value={value}
  className={buttonClassName}

  disabled={disabled}
  active={active}
&amp;gt;

  {children &amp;amp;&amp;amp;
    !active &amp;amp;&amp;amp;
    (typeof children === &apos;string&apos; ? &amp;lt;span&amp;gt;{children}&amp;lt;/span&amp;gt; : children)}
&amp;lt;/button&amp;gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;h4&gt;Using diff-like syntax&lt;/h4&gt;
&lt;pre&gt;&lt;code&gt;+this line will be marked as inserted
-this line will be marked as deleted
this is a regular line
&lt;/code&gt;&lt;/pre&gt;
&lt;hr /&gt;
&lt;pre&gt;&lt;code&gt;--- a/README.md
+++ b/README.md
@@ -1,3 +1,4 @@
+this is an actual diff file
-all contents will remain unmodified
 no whitespace will be removed either
&lt;/code&gt;&lt;/pre&gt;
&lt;h4&gt;Combining syntax highlighting with diff-like syntax&lt;/h4&gt;
&lt;pre&gt;&lt;code&gt;  function thisIsJavaScript() {
    // This entire block gets highlighted as JavaScript,
    // and we can still add diff markers to it!
-   console.log(&apos;Old code to be removed&apos;)
+   console.log(&apos;New and shiny code!&apos;)
  }
&lt;/code&gt;&lt;/pre&gt;
&lt;h4&gt;Marking individual text inside lines&lt;/h4&gt;
&lt;pre&gt;&lt;code&gt;function demo() {
  // Mark any given text inside lines
  return &apos;Multiple matches of the given text are supported&apos;;
}
&lt;/code&gt;&lt;/pre&gt;
&lt;h4&gt;Regular expressions&lt;/h4&gt;
&lt;pre&gt;&lt;code&gt;console.log(&apos;The words yes and yep will be marked.&apos;)
&lt;/code&gt;&lt;/pre&gt;
&lt;h4&gt;Escaping forward slashes&lt;/h4&gt;
&lt;pre&gt;&lt;code&gt;echo &quot;Test&quot; &amp;gt; /home/test.txt
&lt;/code&gt;&lt;/pre&gt;
&lt;h4&gt;Selecting inline marker types (mark, ins, del)&lt;/h4&gt;
&lt;pre&gt;&lt;code&gt;function demo() {
  console.log(&apos;These are inserted and deleted marker types&apos;);
  // The return statement uses the default marker type
  return true;
}
&lt;/code&gt;&lt;/pre&gt;
&lt;h3&gt;Word Wrap&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://expressive-code.com/key-features/word-wrap/&quot;&gt;Word Wrap&lt;/a&gt;&lt;/p&gt;
&lt;h4&gt;Configuring word wrap per block&lt;/h4&gt;
&lt;pre&gt;&lt;code&gt;// Example with wrap
function getLongString() {
  return &apos;This is a very long string that will most probably not fit into the available space unless the container is extremely wide&apos;
}
&lt;/code&gt;&lt;/pre&gt;
&lt;hr /&gt;
&lt;pre&gt;&lt;code&gt;// Example with wrap=false
function getLongString() {
  return &apos;This is a very long string that will most probably not fit into the available space unless the container is extremely wide&apos;
}
&lt;/code&gt;&lt;/pre&gt;
&lt;h4&gt;Configuring indentation of wrapped lines&lt;/h4&gt;
&lt;pre&gt;&lt;code&gt;// Example with preserveIndent (enabled by default)
function getLongString() {
  return &apos;This is a very long string that will most probably not fit into the available space unless the container is extremely wide&apos;
}
&lt;/code&gt;&lt;/pre&gt;
&lt;hr /&gt;
&lt;pre&gt;&lt;code&gt;// Example with preserveIndent=false
function getLongString() {
  return &apos;This is a very long string that will most probably not fit into the available space unless the container is extremely wide&apos;
}
&lt;/code&gt;&lt;/pre&gt;
&lt;h2&gt;Collapsible Sections&lt;/h2&gt;
&lt;p&gt;&lt;a href=&quot;https://expressive-code.com/plugins/collapsible-sections/&quot;&gt;Collapsible Sections&lt;/a&gt;&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;// All this boilerplate setup code will be collapsed
import { someBoilerplateEngine } from &apos;@example/some-boilerplate&apos;
import { evenMoreBoilerplate } from &apos;@example/even-more-boilerplate&apos;

const engine = someBoilerplateEngine(evenMoreBoilerplate())

// This part of the code will be visible by default
engine.doSomething(1, 2, 3, calcFn)

function calcFn() {
  // You can have multiple collapsed sections
  const a = 1
  const b = 2
  const c = a + b

  // This will remain visible
  console.log(`Calculation result: ${a} + ${b} = ${c}`)
  return c
}

// All this code until the end of the block will be collapsed again
engine.closeConnection()
engine.freeMemory()
engine.shutdown({ reason: &apos;End of example boilerplate code&apos; })
&lt;/code&gt;&lt;/pre&gt;
&lt;h2&gt;Line Numbers&lt;/h2&gt;
&lt;p&gt;&lt;a href=&quot;https://expressive-code.com/plugins/line-numbers/&quot;&gt;Line Numbers&lt;/a&gt;&lt;/p&gt;
&lt;h3&gt;Displaying line numbers per block&lt;/h3&gt;
&lt;pre&gt;&lt;code&gt;// This code block will show line numbers
console.log(&apos;Greetings from line 2!&apos;)
console.log(&apos;I am on line 3&apos;)
&lt;/code&gt;&lt;/pre&gt;
&lt;hr /&gt;
&lt;pre&gt;&lt;code&gt;// Line numbers are disabled for this block
console.log(&apos;Hello?&apos;)
console.log(&apos;Sorry, do you know what line I am on?&apos;)
&lt;/code&gt;&lt;/pre&gt;
&lt;h3&gt;Changing the starting line number&lt;/h3&gt;
&lt;pre&gt;&lt;code&gt;console.log(&apos;Greetings from line 5!&apos;)
console.log(&apos;I am on line 6&apos;)
&lt;/code&gt;&lt;/pre&gt;
</content:encoded></item><item><title>Simple Guides for Fuwari</title><link>https://luoca.cn/posts/guide/</link><guid isPermaLink="true">https://luoca.cn/posts/guide/</guid><description>How to use this blog template.</description><pubDate>Mon, 01 Apr 2024 00:00:00 GMT</pubDate><content:encoded>&lt;blockquote&gt;
&lt;p&gt;Cover image source: &lt;a href=&quot;https://image.civitai.com/xG1nkqKTMzGDvpLrqFT7WA/208fc754-890d-4adb-9753-2c963332675d/width=2048/01651-1456859105-(colour_1.5),girl,_Blue,yellow,green,cyan,purple,red,pink,_best,8k,UHD,masterpiece,male%20focus,%201boy,gloves,%20ponytail,%20long%20hair,.jpeg&quot;&gt;Source&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;This blog template is built with &lt;a href=&quot;https://astro.build/&quot;&gt;Astro&lt;/a&gt;. For the things that are not mentioned in this guide, you may find the answers in the &lt;a href=&quot;https://docs.astro.build/&quot;&gt;Astro Docs&lt;/a&gt;.&lt;/p&gt;
&lt;h2&gt;Front-matter of Posts&lt;/h2&gt;
&lt;pre&gt;&lt;code&gt;---
title: My First Blog Post
published: 2023-09-09
description: This is the first post of my new Astro blog.
image: ./cover.jpg
tags: [Foo, Bar]
category: Front-end
draft: false
---
&lt;/code&gt;&lt;/pre&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Attribute&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;title&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;The title of the post.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;published&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;The date the post was published.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;description&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;A short description of the post. Displayed on index page.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;image&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;The cover image path of the post.&amp;lt;br/&amp;gt;1. Start with &lt;code&gt;http://&lt;/code&gt; or &lt;code&gt;https://&lt;/code&gt;: Use web image&amp;lt;br/&amp;gt;2. Start with &lt;code&gt;/&lt;/code&gt;: For image in &lt;code&gt;public&lt;/code&gt; dir&amp;lt;br/&amp;gt;3. With none of the prefixes: Relative to the markdown file&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;tags&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;The tags of the post.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;category&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;The category of the post.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;draft&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;If this post is still a draft, which won&apos;t be displayed.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h2&gt;Where to Place the Post Files&lt;/h2&gt;
&lt;p&gt;Your post files should be placed in &lt;code&gt;src/content/posts/&lt;/code&gt; directory. You can also create sub-directories to better organize your posts and assets.&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;src/content/posts/
├── post-1.md
└── post-2/
    ├── cover.png
    └── index.md
&lt;/code&gt;&lt;/pre&gt;
</content:encoded></item><item><title>【留档】HTML与css学习笔记</title><link>https://luoca.cn/posts/%E7%95%99%E6%A1%A3html%E4%B8%8Ecss%E5%AD%A6%E4%B9%A0%E7%AC%94%E8%AE%B0/</link><guid isPermaLink="true">https://luoca.cn/posts/%E7%95%99%E6%A1%A3html%E4%B8%8Ecss%E5%AD%A6%E4%B9%A0%E7%AC%94%E8%AE%B0/</guid><pubDate>Mon, 23 Oct 2023 23:27:00 GMT</pubDate><content:encoded>&lt;p&gt;这是我当年学习html和css记的笔记，槽点很多，留档纪念一下&lt;/p&gt;
&lt;h3&gt;基本标签&lt;/h3&gt;
&lt;p&gt;html的常用标签以及速记技巧&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;h是标题符号 h是好的拼音 你说好好好就代表要写标题了&lt;/li&gt;
&lt;li&gt;换行用br 是补入的拼音 补一行&lt;/li&gt;
&lt;li&gt;划线 好人和坏人划距离 所以好人的拼音hr是划线&lt;/li&gt;
&lt;li&gt;p 写作文经常水p话，所以p是分段&lt;/li&gt;
&lt;li&gt;b big很粗 所以是加粗&lt;/li&gt;
&lt;li&gt;i 当你i了i了的时候会倾斜，所以i是倾斜&lt;/li&gt;
&lt;li&gt;u u是下滑&lt;/li&gt;
&lt;li&gt;alt 当你图片加载失败你会说“啊咧，图？”所以alt是图片稀碎的显示&lt;/li&gt;
&lt;li&gt;pre pre（破）软件不给我按格式写字，所以pre是按格式的意思&lt;/li&gt;
&lt;li&gt;div标签可以放入一切内容 加上会换行&lt;/li&gt;
&lt;li&gt;span标签只能存放文字 加上什么都不会发生&lt;/li&gt;
&lt;li&gt;比如 &amp;lt;div&amp;gt;离离原上草&amp;lt;/div&amp;gt;&amp;lt;span&amp;gt;一岁一枯荣&amp;lt;/span&amp;gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;h3&gt;全称标签&lt;/h3&gt;
&lt;p&gt;全称会被&lt;strong&gt;seo注重&lt;/strong&gt;&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;strong 强壮的人胳膊粗&lt;/li&gt;
&lt;li&gt;em 你给别人干无语emm的时候别人都想跑，所以em是倾斜&lt;/li&gt;
&lt;li&gt;ins 下滑&lt;/li&gt;
&lt;/ol&gt;
&lt;h3&gt;排序方法&lt;/h3&gt;
&lt;ol&gt;
&lt;li&gt;ul wu序lie表简称ul&lt;/li&gt;
&lt;li&gt;li lie的拼音&lt;/li&gt;
&lt;/ol&gt;
&lt;hr /&gt;
&lt;ol&gt;
&lt;li&gt;ol you序lie表的简称&lt;/li&gt;
&lt;li&gt;dt 是down标ti的简称&lt;/li&gt;
&lt;li&gt;dd 是downdown的简称，人下人，所以是最低级的列表&lt;/li&gt;
&lt;/ol&gt;
&lt;h3&gt;列表方法&lt;/h3&gt;
&lt;ol&gt;
&lt;li&gt;table是列表的意思 让你的表格有大框架 大桌子&lt;/li&gt;
&lt;li&gt;tr 图入是一行的意思 图里面入需要建一行&lt;/li&gt;
&lt;li&gt;td 退订是一列的意思 比较恶“列” 所以禁用退订td&lt;/li&gt;
&lt;li&gt;th是标题的标签,可以加粗用&lt;/li&gt;
&lt;li&gt;caption 标签叫做表头,可以放在表格上面 只能加table上&lt;/li&gt;
&lt;li&gt;cellspacing是单元格间距 默认合并&lt;/li&gt;
&lt;li&gt;cellpadding是单元格边框尺寸&lt;/li&gt;
&lt;li&gt;align=&quot;center&quot;是水平居中，其他也可以改 每个表格标签都可以改&lt;/li&gt;
&lt;li&gt;valign是竖直居中 如上&lt;/li&gt;
&lt;li&gt;colspan=2 意味着合并两个横排单元格&lt;/li&gt;
&lt;li&gt;rowspan=2 意味着合并两个竖排单元格&lt;/li&gt;
&lt;li&gt;举个栗子：&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&amp;lt;table border=1 cellspacing=1 cellpadding=20 align=&quot;center&quot; valign=&quot;middle&quot;&amp;gt;
&amp;lt;caption&amp;gt;&amp;lt;h3&amp;gt;模拟简易课程表&amp;lt;/h3&amp;gt;&amp;lt;/caption&amp;gt;
&amp;lt;!-- 给表格加一个1厚度的边框 --&amp;gt;
&amp;lt;tr&amp;gt;
&amp;lt;th&amp;gt;课程表&amp;lt;/th&amp;gt;
&amp;lt;!-- th是标题的标签，可以加粗用 --&amp;gt;
&amp;lt;th&amp;gt;周三&amp;lt;/th&amp;gt;
&amp;lt;th&amp;gt;周六&amp;lt;/th&amp;gt;
&amp;lt;!-- 可以看出来是横着来的 --&amp;gt;
&amp;lt;/tr&amp;gt;
&amp;lt;tr&amp;gt;
&amp;lt;th&amp;gt;上午&amp;lt;/th&amp;gt;
&amp;lt;td&amp;gt;c#开发&amp;lt;/td&amp;gt;
&amp;lt;td&amp;gt;js入门&amp;lt;/td&amp;gt;
&amp;lt;/tr&amp;gt;
&amp;lt;tr&amp;gt;
&amp;lt;th&amp;gt;下午&amp;lt;/th&amp;gt;
&amp;lt;td colspan=2&amp;gt;html练习&amp;lt;/td&amp;gt;
&amp;lt;/tr&amp;gt;
&amp;lt;/table&amp;gt;&lt;/p&gt;
&lt;h3&gt;关于定义属性&lt;/h3&gt;
&lt;ol&gt;
&lt;li&gt;标签后加 name=“张三” 无需定义就可以用&lt;/li&gt;
&lt;li&gt;color=“颜色”&lt;/li&gt;
&lt;li&gt;size大小&lt;/li&gt;
&lt;li&gt;face 字体&lt;/li&gt;
&lt;li&gt;herf 链接 用a属性声明&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;html end....?....？？？还没开始呢&lt;/p&gt;
&lt;h3&gt;关于html基础介绍&lt;/h3&gt;
&lt;ol&gt;
&lt;li&gt;!doctype html
&amp;lt;br&amp;gt; 意思是doc 的 type 是html&lt;/li&gt;
&lt;li&gt;默认dreamcs6 使用的是严格或者过度 对语法很严格，没必要，用html5就行&lt;/li&gt;
&lt;li&gt;不想让其解析就byd只能用转义符，无语了
&amp;lt;br&amp;gt;左半括号是 &amp;amp; lt;  速记：是老铁； 实例“&amp;lt;”
&amp;lt;br&amp;gt;右半边括号 &amp;amp; gt;  速记: 是钢铁； 实例“&amp;gt;”
&amp;lt;br&amp;gt;空格符号是 &amp;amp; nbsp;    速记:牛逼视频; 实例“ ”
&amp;lt;br&amp;gt;一般都是这些，当然也可以别的&lt;/li&gt;
&lt;/ol&gt;
&lt;blockquote&gt;
&lt;p&gt;练习：
&amp;lt;br&amp;gt;        雌小鬼： &amp;lt;杂鱼&amp;gt;整个就是在形容 &lt;strong&gt;前辈&lt;/strong&gt; 吧！♥&lt;/p&gt;
&lt;/blockquote&gt;
&lt;ol&gt;
&lt;li&gt;每个元素都可以加id=&amp;gt;用于js 也可以加class class是一个类，一组数=&amp;gt;用于css 也可以加name=&amp;gt;用于表单 style属性=&amp;gt;临时代替css&lt;/li&gt;
&lt;li&gt;&amp;lt;meta setchar=“utf-8” /&amp;gt; 设置格式比如utf8&lt;/li&gt;
&lt;li&gt;meta还用于设置关键字便于搜索引擎收录&lt;/li&gt;
&lt;/ol&gt;
&lt;h3&gt;关于表单&lt;/h3&gt;
&lt;ol&gt;
&lt;li&gt;placeholder是文本框里面的水印字&lt;/li&gt;
&lt;li&gt;value里面的值是文本框文字的默认值&lt;/li&gt;
&lt;li&gt;input类型默认就是文本框&lt;/li&gt;
&lt;li&gt;type=&quot;password&quot;密码框&quot;radio&quot;单选框 &quot;checkbox&quot;多选框 &quot;file&quot; 文件上传款&lt;/li&gt;
&lt;li&gt;button是按钮 也可以input type去改属性，input一般用于表单，button就是按钮&lt;/li&gt;
&lt;li&gt;multiple是允许多文件上传&lt;/li&gt;
&lt;li&gt;checked是默认选中&lt;/li&gt;
&lt;li&gt;只需要给单选框赋值同一个name就可以让他们二选一&lt;/li&gt;
&lt;li&gt;用for属性可以远程操作空间&lt;/li&gt;
&lt;li&gt;select是多选条 里面包裹 option为选项 可以用selected来设置默认选中&lt;/li&gt;
&lt;li&gt;textarea是大文本框 可以输入大量文字 cols rows来设置尺寸&lt;/li&gt;
&lt;li&gt;required可以用在输入框，意思必须填写，不可空&lt;/li&gt;
&lt;li&gt;autofocus意思是自动选择输入框&lt;/li&gt;
&lt;li&gt;input type也有email格式还有date日期week星期等color range number
&amp;lt;H2&amp;gt;表单实例：&amp;lt;/H2&amp;gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;pre&gt;&lt;code&gt;  		    &amp;lt;input placeholder=&quot;这是测试&quot;&amp;gt;
		    &amp;lt;!-- 默认是text --&amp;gt;
		    &amp;lt;input type=&quot;password&quot;&amp;gt;

		    单选：&amp;lt;input type=&quot;radio&quot; name=&quot;sex&quot; checked&amp;gt;
		    &amp;lt;!-- checked是默认选中的意思 --&amp;gt;
		    单选：&amp;lt;input type=&quot;radio&quot; name=&quot;sex&quot;&amp;gt;
		    &amp;lt;!-- name意味着一类 --&amp;gt;
		    &amp;lt;!-- 单选框 --&amp;gt;
		    多选：&amp;lt;input type=&quot;checkbox&quot;&amp;gt;
		    &amp;lt;input type=&quot;file&quot; multiple&amp;gt;
		    &amp;lt;!-- multiple是多文件允许上传的意思 --&amp;gt;
		    &amp;lt;br&amp;gt;
		    &amp;lt;input type=&quot;button&quot; value=&quot;按钮扭&quot;&amp;gt;
		    &amp;lt;button&amp;gt;按钮扭&amp;lt;/button&amp;gt;
		    &amp;lt;input type=&quot;reset&quot;&amp;gt;
		    &amp;lt;input type=&quot;submit&quot;&amp;gt;
		    &amp;lt;/form&amp;gt;
		    &amp;lt;br&amp;gt;
		    &amp;lt;select&amp;gt;
		    &amp;lt;option value=&quot;&quot;&amp;gt;北京&amp;lt;/option&amp;gt;
		    &amp;lt;option value=&quot;&quot; selected&amp;gt;上海&amp;lt;/option&amp;gt;
		    &amp;lt;!-- selectd是默认选中 --&amp;gt;
		    &amp;lt;/select&amp;gt;
		    &amp;lt;br&amp;gt;
		    &amp;lt;!-- form显示的是作用域 --&amp;gt;
		    &amp;lt;textarea name=&quot;&quot; id=&quot;&quot; cols=&quot;30&quot; rows=&quot;10&quot; placeholder=&quot;文本框&quot; required=&quot;required&quot;&amp;gt;&amp;lt;/textarea&amp;gt;
		    &amp;lt;!-- 上面两个值是设置尺寸 --&amp;gt;
		    &amp;lt;BR&amp;gt;
		    &amp;lt;label&amp;gt;&amp;lt;input type=&quot;radio&quot; name=&quot;1&quot; id=&quot;2&quot;&amp;gt;单选&amp;lt;/label&amp;gt;
		    &amp;lt;label&amp;gt;&amp;lt;input type=&quot;radio&quot; name=&quot;1&quot;&amp;gt;单选&amp;lt;/label&amp;gt;
		    &amp;lt;!-- label指定了选	择的范围 --&amp;gt;
		    &amp;lt;label for=&quot;2&quot;&amp;gt;也可以用for来远程选择&amp;lt;/label&amp;gt;
		    （github无法正常显示，请下载md文件查看）
		    &amp;lt;br&amp;gt;
		    &amp;lt;br&amp;gt;
		    &amp;lt;br&amp;gt;

&lt;/code&gt;&lt;/pre&gt;
&lt;hr /&gt;
&lt;h2&gt;HTML进阶版&lt;/h2&gt;
&lt;h3&gt;框架&lt;/h3&gt;
&lt;ol&gt;
&lt;li&gt;frameset rows是行数 cols是列数 横行竖列 src=&quot;&quot;表示链接的位置&lt;/li&gt;
&lt;li&gt;a标签 属性target：跳转页面的框架选择
取值可以是name 也可以是_blank 新窗口打开 或者 _parent直接当前页面跳转&lt;/li&gt;
&lt;li&gt;可以进行内嵌框架 比如用一个包含了css的div包住框架 用sytle=&quot;width：200 heigh：999;border：10 dotted #颜色&quot;可以设置边框 这是div属性&lt;/li&gt;
&lt;/ol&gt;
&lt;h3&gt;特殊控件&lt;/h3&gt;
&lt;p&gt;&amp;lt;audio src=&quot;./1.mp3&quot; controls autoplay loop&amp;gt;&amp;lt;/audio&amp;gt;
&amp;lt;hr&amp;gt;
&amp;lt;!-- controls控制条 autoplay自动播放 loop循环 只支持MP3 wav ogg  --&amp;gt;
&amp;lt;video src=&quot;./1.mp4&quot; autoplay loop controls muted&amp;gt;&amp;lt;/video&amp;gt;
&amp;lt;!-- 视频和音频一样 加上muted后谷歌浏览器可以自动播放，可惜静音--&amp;gt;
&amp;lt;hr&amp;gt;
&amp;lt;embed src=&quot;video.mp4&quot; width=&quot;400&quot; height=&quot;300&quot;&amp;gt;
会自动调用浏览器的一切组件加载多媒体文件，而没有内置播放器 兼容可能差 autostart是自动播放 loop循环可以赋值次数 hidden用来设置是否隐藏面板
这下html真暂时完结了&lt;/p&gt;
&lt;h2&gt;CSS&lt;/h2&gt;
&lt;h3&gt;关于选择器&lt;/h3&gt;
&lt;ol&gt;
&lt;li&gt;&amp;lt;sytle&amp;gt; 标签可声明css&lt;/li&gt;
&lt;li&gt;标签选择器语法 标签名{} 比如p{}&lt;/li&gt;
&lt;li&gt;id选择器 定义一个标签id #id名{}&lt;/li&gt;
&lt;li&gt;class选择器 .class名字{}&lt;/li&gt;
&lt;li&gt;class可以是多个 只需要空格分开就行&lt;/li&gt;
&lt;li&gt;多样选择器-- &amp;lt;br&amp;gt;标签名.classname1.classname2{ }
&amp;lt;br&amp;gt;
不存在的可以删去&lt;/li&gt;
&lt;li&gt;后代选择器 比如一个p在div里 我们可以直接 div p{sytle} 这样写就可以中间是空格&lt;/li&gt;
&lt;li&gt;子元素选择器 div&amp;gt;p{} 只选择div下的p，其他更下级就无视&lt;/li&gt;
&lt;li&gt;多元素选择器 div,p,span{}写了很多元素，他们同时选择，用逗号分隔&lt;/li&gt;
&lt;li&gt;统配选择器*{}全局选中&lt;/li&gt;
&lt;li&gt;伪类选择器 a:link{}正常链接状态 后面改为visited就是点击之后hover是移动上去 active是按下去&lt;/li&gt;
&lt;li&gt;伪对象选择 p：first-letter 这里是选择第一个字 letter改line是第一行&lt;/li&gt;
&lt;li&gt;相邻元素选择器 div+p div与p相邻的项数选择p&lt;/li&gt;
&lt;li&gt;属性选择器[age]{ } 通过[]里面的属性选择 定义比如：《p age=“1”》 也可以acg后面加上数值&lt;/li&gt;
&lt;li&gt;伪对象  .XXX：：after{ content&quot;123&quot;;} 会在开头或结尾增加内容 是行元素 可以用display转换block块元素&lt;/li&gt;
&lt;li&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;h3&gt;关于属性&lt;/h3&gt;
&lt;p&gt;&amp;lt;pre&amp;gt;
.csss{
/* 不用class是通用控件更改 用。来识别class &lt;em&gt;/
width：200px；
height：200px;
//盒子属性
font-size: 50px;
/&lt;/em&gt; 文字大小 &lt;em&gt;/
font-weight: 600;
/&lt;/em&gt; 无极粗细 &lt;em&gt;/
font-style: italic;
/&lt;/em&gt; 倾斜 &lt;em&gt;/
font-style: normal;
/&lt;/em&gt; 恢复 &lt;em&gt;/
font-family: &quot;华文行楷&quot;,&quot;黑体&quot;,&quot;微软雅黑&quot;;
/&lt;/em&gt; 字体 按顺序有哪个用哪个 还可以调用字符字体webdings*/
text-decoration:line-through;
/* 划线 &lt;em&gt;/
text-decoration: none;
/&lt;/em&gt; 恢复 可设置超链接无下划线*/
text-transform: uppercase;
/* 变大写 还有capitalize叫首字母大写 lowercase转换小写 &lt;em&gt;/
text-transform: none;
/&lt;/em&gt; 恢复 &lt;em&gt;/
text-align: left;
/&lt;/em&gt; 对齐方式-居中 left center right*/
text-indent: 2em;
/* 首行缩进两字符 */
line-height: 100px;
//距离顶部行高100px
background-image：url(1.png)
//背景图
background-repeat：no/repeat/repeat-x/y
//拉伸设置
background-position：bottom right;
//所在位置
background-color：red;
//背景颜色
backgrond：pink url（1.png） no-reapeat left top /50px 50px
//无敌结合版 直接设置全部属性
background：linear-gradien（to right,20% red，green）;
//背景渐变从20%红到绿 从左到右 可以更多种颜色 不过这也太土了
background：radial-gardient（circle,red，green）;
//背景渐变之从里向外圆形渐变 土味程度堪比测视力用的图片
list-style-type：none；
//列表 去掉小圆点 也可以utl加图片
overflow-x：auto;
//自动兼容滚动条 只有横向 防止内容溢出 hidden隐藏滚动条 scroll-强制显示两边滚动条 x、y或者不写都可以，x只有横向超出隐藏 y同样
padding-top：50px
//上面填充50px的空白 空白会直接加边距 所以需要在盒子的宽高给减去
//也可以
padding：50px 20px：是左右上下两个方向的填充
margin-left：50px 外边距 盒子距离页边距的远近
margin：0 auto 让盒子居中
//直接padding：0；margin：0；就是清除间距
通过这个控制logo位置
boarder-radius：100px；
//100px的圆角 或者百分之几也可以
也可以直接四个赋值 分别代表四个角 两个数值是一半一半
boarder-bottom-right-radius：100px；
//一个边角&lt;/p&gt;
&lt;p&gt;}
&amp;lt;/pre&amp;gt;&lt;/p&gt;
&lt;h3&gt;综合学习&lt;/h3&gt;
&lt;ol&gt;
&lt;li&gt;一般图片使用img标签 大图或者背景才用背景图&lt;/li&gt;
&lt;li&gt;内联样式：直接写css标签&lt;/li&gt;
&lt;li&gt;外联样式：用&amp;lt;link rel=&quot;stylesheet&quot; href=&quot;./hellocss.css&quot;&amp;gt;这种格式链接css文件&lt;/li&gt;
&lt;li&gt;行内样式就是简单直接写里面&lt;/li&gt;
&lt;li&gt;继承 css中的继承就是div里的东西被改属性了，就叫继承div属性
冲突时候以子元素为准 不继承了&lt;/li&gt;
&lt;li&gt;对于某一条属性 在后面加上！important 可以进行强制执行，优先级第一名&lt;/li&gt;
&lt;li&gt;块元素 有宽高 可以独占一块 比如div 行元素不行比如span&lt;/li&gt;
&lt;li&gt;行内块元素 可以设置宽高不可以设置换行显示 比如img&lt;/li&gt;
&lt;li&gt;行元素块元素可以通过display进行转换，语法：display：inline；或display：block；&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&amp;lt;style&amp;gt;
#g{color: blue;}
#o1{color: red;}
#o2{color: yellow;}
#l{color: greenyellow;}
#e{color: red;}
b{font-size: 50px;}
/*提示： github可能无法正常显示 */&lt;/p&gt;
&lt;p&gt;&amp;lt;/style&amp;gt;&lt;/p&gt;
&lt;p&gt;&amp;lt;/head&amp;gt;
&amp;lt;body&amp;gt;
&amp;lt;!-- &amp;lt;div class=&quot;csss&quot;&amp;gt;更改这里的属性abc&amp;lt;/div&amp;gt; --&amp;gt;&lt;/p&gt;
&lt;p&gt;&amp;lt;p&amp;gt;案例:谷歌（css渲染）
&amp;lt;br&amp;gt;
&amp;lt;b id=&quot;g&quot;&amp;gt;G&amp;lt;/b&amp;gt;
&amp;lt;b id=&quot;o1&quot;&amp;gt;O&amp;lt;/b&amp;gt;
&amp;lt;b id=&quot;o2&quot;&amp;gt;O&amp;lt;/b&amp;gt;
&amp;lt;b id=&quot;g&quot;&amp;gt;G&amp;lt;/b&amp;gt;
&amp;lt;b id=&quot;l&quot;&amp;gt;l&amp;lt;/b&amp;gt;
&amp;lt;b id=&quot;e&quot;&amp;gt;E&amp;lt;/b&amp;gt;
&amp;lt;/p&amp;gt;
&amp;lt;br&amp;gt;&lt;/p&gt;
&lt;hr /&gt;
&lt;h2&gt;JS的学习&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;&amp;lt;script src=&quot;./js.js&quot;&amp;gt;&amp;lt;/script&amp;gt;
&amp;lt;br&amp;gt;代表外置加载js&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;alert(&quot;helloworld，你好js&quot;);
&amp;lt;br&amp;gt;弹出helloworld&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;var a=10;&amp;lt;br&amp;gt;
a=&quot;helloworld&quot;;&amp;lt;br&amp;gt;
alert(a);&amp;lt;br&amp;gt;
// 弱类型语言的体现&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;var date=new Date();&amp;lt;br&amp;gt;
alert(date);&amp;lt;br&amp;gt;
显示日期&amp;lt;br&amp;gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;alert(date.toString());&amp;lt;br&amp;gt;
转向字符串 用于把数字转换&amp;lt;br&amp;gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;function showTime()&amp;lt;br&amp;gt;
{&amp;lt;br&amp;gt;
//定义方法&amp;lt;br&amp;gt;
var date=new Date();&amp;lt;br&amp;gt;
alert(date)&amp;lt;br&amp;gt;
}&amp;lt;br&amp;gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;eval(&apos;alert(&quot;hello?&quot;);&apos;);&amp;lt;br&amp;gt;
将一段字符串当成代码 可以用于将获取的字符串执行&amp;lt;br&amp;gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;for (let i = 0; i &amp;lt; 10; i++)&amp;lt;br&amp;gt; {
document.write(i);  }
&amp;lt;br&amp;gt;for循环写在页面&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&amp;lt;button onclick=&quot;showTime();&quot;&amp;gt;点我显示时间&amp;lt;/button&amp;gt; &amp;lt;br&amp;gt;在按钮中嵌套点击属性&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;方法的完整用法&amp;lt;br&amp;gt;
function 方法名(参数值1,参数值n)&amp;lt;br&amp;gt;
{&amp;lt;br&amp;gt;alert (a+b) //弹出结果
&amp;lt;br&amp;gt; return (a+b); //返回结果&amp;lt;br&amp;gt;}&amp;lt;br&amp;gt;因为是弱类型不用写返回值&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;调用上边的方法&amp;lt;br&amp;gt;
var a= 方法名(1,2);&amp;lt;br&amp;gt;
如果是执行的方法就写 &amp;lt;br&amp;gt;
方法名();&amp;lt;br&amp;gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;js不存在类似各路c语言类似的方法重载&amp;lt;br&amp;gt;
后声明的覆盖先声明的&amp;lt;br&amp;gt;&lt;/p&gt;
&lt;p&gt;&amp;lt;!-- 重载函数的伪实现 --&amp;gt;&lt;/p&gt;
&lt;p&gt;&amp;lt;!-- arguments意味着把接收到的所有参数看做一个集合 --&amp;gt;&lt;/p&gt;
&lt;p&gt;function sum()
{ var sum=0;
for (var i = 0; i &amp;lt; arguments.length; i++)
{
sum+=arguments[i];
}
alert(sum);
}&lt;/p&gt;
&lt;p&gt;sum(1,2,3,4,5);&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;匿名方法--不写方法名 &amp;lt;br&amp;gt;在大括号后面写上小括号里面放上参数,用于调用一次的时候 &amp;lt;br&amp;gt;你也可以使用function(参数){return xxx}会将return的数值赋值&amp;lt;br&amp;gt; 可以var a =new function （&quot;n1&quot;,&quot;n2&quot;,&quot;return n1+n2&quot;） ; &amp;lt;br&amp;gt;同样也可以将方法赋值给var数值&lt;/li&gt;
&lt;li&gt;事件也可以写成比如 xxx.onclick 就是点击时候的事件&lt;/li&gt;
&lt;li&gt;闭包的概念 在函数内部调用之前声明过的变量 --避免闭包以免问题 每次先声明再使用&lt;/li&gt;
&lt;li&gt;面向对象 方法和类其实都是funtion 区别是方法名首字母小写 类名大写（byd,人工区分是吧） 可以声明字段 如this.Name=name;
&amp;lt;br&amp;gt;调用操作就是 var 名字=new 类名（）;
&amp;lt;br&amp;gt; 名字.方法(); 就像c#一样&lt;/li&gt;
&lt;li&gt;原型 通过对象往类里加方法或者字段 比如p1方法里 通过p1.--proto--.Title=&quot;abc&quot;;添加title字段&lt;/li&gt;
&lt;li&gt;数组与键值对 数组比如 var array1={a，123,“abc”}
&amp;lt;br&amp;gt; 键值对 var a ={name：&quot;123&quot;,age:66};
&amp;lt;br&amp;gt; 访问方法 a[‘name’];&lt;/li&gt;
&lt;li&gt;三个提示框 1.alert()弹出提示 2.confirm()确认对话框 返回true和flase 3.prompt() 返回用户输入或者空或null&lt;/li&gt;
&lt;li&gt;setinterval(&quot;代码&quot;/方法名,间隔毫秒) 定时器间隔执行，会反复执行&lt;/li&gt;
&lt;li&gt;clearinterval(id) 清除上方定时器&lt;/li&gt;
&lt;li&gt;settimeout(代码，延时) 延迟执行一次代码&lt;/li&gt;
&lt;li&gt;location.herf=&quot;github.com&quot; 表示当前浏览器地址栏显示什么&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h3&gt;事件的学习1. var temp1=document.getelementbyid()根据id获取元素&lt;/h3&gt;
&lt;ol&gt;
&lt;li&gt;var templ2=docment.getelementbyname()根据name获取元素 返回数组&lt;/li&gt;
&lt;li&gt;想改的话比如 temp1.value=显示时间 就可以更改其内容&lt;/li&gt;
&lt;li&gt;在元素中注册时间 比如在控件的最后写上 onclick=&quot;&quot;； 取到元素后输入例如.onclick就可以绑定事件&lt;/li&gt;
&lt;li&gt;onload叫做加载完成事件 全加载完使用这个 使用方法：onload=&quot;xxx&quot; 或者等于一个方法 会自动触发 用这个方法可以避免控件位置导致的事件不执行&lt;/li&gt;
&lt;/ol&gt;
&lt;pre&gt;&lt;code&gt;
&lt;/code&gt;&lt;/pre&gt;
</content:encoded></item><item><title>Markdown Example</title><link>https://luoca.cn/posts/markdown/</link><guid isPermaLink="true">https://luoca.cn/posts/markdown/</guid><description>A simple example of a Markdown blog post.</description><pubDate>Sun, 01 Oct 2023 00:00:00 GMT</pubDate><content:encoded>&lt;h1&gt;An h1 header&lt;/h1&gt;
&lt;p&gt;Paragraphs are separated by a blank line.&lt;/p&gt;
&lt;p&gt;2nd paragraph. &lt;em&gt;Italic&lt;/em&gt;, &lt;strong&gt;bold&lt;/strong&gt;, and &lt;code&gt;monospace&lt;/code&gt;. Itemized lists
look like:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;this one&lt;/li&gt;
&lt;li&gt;that one&lt;/li&gt;
&lt;li&gt;the other one&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Note that --- not considering the asterisk --- the actual text
content starts at 4-columns in.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Block quotes are
written like so.&lt;/p&gt;
&lt;p&gt;They can span multiple paragraphs,
if you like.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Use 3 dashes for an em-dash. Use 2 dashes for ranges (ex., &quot;it&apos;s all
in chapters 12--14&quot;). Three dots ... will be converted to an ellipsis.
Unicode is supported. ☺&lt;/p&gt;
&lt;h2&gt;An h2 header&lt;/h2&gt;
&lt;p&gt;Here&apos;s a numbered list:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;first item&lt;/li&gt;
&lt;li&gt;second item&lt;/li&gt;
&lt;li&gt;third item&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Note again how the actual text starts at 4 columns in (4 characters
from the left side). Here&apos;s a code sample:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;# Let me re-iterate ...
for i in 1 .. 10 { do-something(i) }
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;As you probably guessed, indented 4 spaces. By the way, instead of
indenting the block, you can use delimited blocks, if you like:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;define foobar() {
    print &quot;Welcome to flavor country!&quot;;
}
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;(which makes copying &amp;amp; pasting easier). You can optionally mark the
delimited block for Pandoc to syntax highlight it:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;import time
# Quick, count to ten!
for i in range(10):
    # (but not *too* quick)
    time.sleep(0.5)
    print i
&lt;/code&gt;&lt;/pre&gt;
&lt;h3&gt;An h3 header&lt;/h3&gt;
&lt;p&gt;Now a nested list:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;First, get these ingredients:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;carrots&lt;/li&gt;
&lt;li&gt;celery&lt;/li&gt;
&lt;li&gt;lentils&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Boil some water.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Dump everything in the pot and follow
this algorithm:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt; find wooden spoon
 uncover pot
 stir
 cover pot
 balance wooden spoon precariously on pot handle
 wait 10 minutes
 goto first step (or shut off burner when done)
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Do not bump wooden spoon or it will fall.&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Notice again how text always lines up on 4-space indents (including
that last line which continues item 3 above).&lt;/p&gt;
&lt;p&gt;Here&apos;s a link to &lt;a href=&quot;http://foo.bar&quot;&gt;a website&lt;/a&gt;, to a &lt;a href=&quot;local-doc.html&quot;&gt;local
doc&lt;/a&gt;, and to a &lt;a href=&quot;#an-h2-header&quot;&gt;section heading in the current
doc&lt;/a&gt;. Here&apos;s a footnote [^1].&lt;/p&gt;
&lt;p&gt;[^1]: Footnote text goes here.&lt;/p&gt;
&lt;p&gt;Tables can look like this:&lt;/p&gt;
&lt;p&gt;size material color&lt;/p&gt;
&lt;hr /&gt;
&lt;p&gt;9 leather brown
10 hemp canvas natural
11 glass transparent&lt;/p&gt;
&lt;p&gt;Table: Shoes, their sizes, and what they&apos;re made of&lt;/p&gt;
&lt;p&gt;(The above is the caption for the table.) Pandoc also supports
multi-line tables:&lt;/p&gt;
&lt;hr /&gt;
&lt;p&gt;keyword text&lt;/p&gt;
&lt;hr /&gt;
&lt;p&gt;red Sunsets, apples, and
other red or reddish
things.&lt;/p&gt;
&lt;p&gt;green Leaves, grass, frogs
and other things it&apos;s
not easy being.&lt;/p&gt;
&lt;hr /&gt;
&lt;p&gt;A horizontal rule follows.&lt;/p&gt;
&lt;hr /&gt;
&lt;p&gt;Here&apos;s a definition list:&lt;/p&gt;
&lt;p&gt;apples
: Good for making applesauce.
oranges
: Citrus!
tomatoes
: There&apos;s no &quot;e&quot; in tomatoe.&lt;/p&gt;
&lt;p&gt;Again, text is indented 4 spaces. (Put a blank line between each
term/definition pair to spread things out more.)&lt;/p&gt;
&lt;p&gt;Here&apos;s a &quot;line block&quot;:&lt;/p&gt;
&lt;p&gt;| Line one
| Line too
| Line tree&lt;/p&gt;
&lt;p&gt;and images can be specified like so:&lt;/p&gt;
&lt;p&gt;Inline math equations go in like so: $\omega = d\phi / dt$. Display
math should get its own line and be put in in double-dollarsigns:&lt;/p&gt;
&lt;p&gt;$$I = \int \rho R^{2} dV$$&lt;/p&gt;
&lt;p&gt;$$
\begin{equation*}
\pi
=3.1415926535
;8979323846;2643383279;5028841971;6939937510;5820974944
;5923078164;0628620899;8628034825;3421170679;\ldots
\end{equation*}
$$&lt;/p&gt;
&lt;p&gt;And note that you can backslash-escape any punctuation characters
which you wish to be displayed literally, ex.: `foo`, *bar*, etc.&lt;/p&gt;
</content:encoded></item><item><title>Include Video in the Posts</title><link>https://luoca.cn/posts/video/</link><guid isPermaLink="true">https://luoca.cn/posts/video/</guid><description>This post demonstrates how to include embedded video in a blog post.</description><pubDate>Tue, 01 Aug 2023 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;Just copy the embed code from YouTube or other platforms, and paste it in the markdown file.&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;---
title: Include Video in the Post
published: 2023-10-19
// ...
---

&amp;lt;iframe width=&quot;100%&quot; height=&quot;468&quot; src=&quot;https://www.youtube.com/embed/5gIf0_xpFPI?si=N1WTorLKL0uwLsU_&quot; title=&quot;YouTube video player&quot; frameborder=&quot;0&quot; allowfullscreen&amp;gt;&amp;lt;/iframe&amp;gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;h2&gt;YouTube&lt;/h2&gt;
&lt;p&gt;&amp;lt;iframe width=&quot;100%&quot; height=&quot;468&quot; src=&quot;https://www.youtube.com/embed/5gIf0_xpFPI?si=N1WTorLKL0uwLsU_&quot; title=&quot;YouTube video player&quot; frameborder=&quot;0&quot; allow=&quot;accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share&quot; allowfullscreen&amp;gt;&amp;lt;/iframe&amp;gt;&lt;/p&gt;
&lt;h2&gt;Bilibili&lt;/h2&gt;
&lt;p&gt;&amp;lt;iframe width=&quot;100%&quot; height=&quot;468&quot; src=&quot;//player.bilibili.com/player.html?bvid=BV1fK4y1s7Qf&amp;amp;p=1&quot; scrolling=&quot;no&quot; border=&quot;0&quot; frameborder=&quot;no&quot; framespacing=&quot;0&quot; allowfullscreen=&quot;true&quot;&amp;gt; &amp;lt;/iframe&amp;gt;&lt;/p&gt;
</content:encoded></item></channel></rss>