[{"content":" 封面图片：(From Rotaeno) Inverted World - ARForest\n目前正在游玩的音游 按照游玩频率排序\nDeemo II：1000 天牢玩家，国际服大魔法师成就，零氪藏品全收集，主线 9 级以下歌曲全 AC，最常玩（因为长期有活动） 舞萌 DX：从 AstroDX 转生到游戏，因此习惯全内屏，好友码 212317908287344 AstroDX：舞萌模拟器（平板），使用自己写的小脚本追踪成绩，达成了上机前 w4 的奇怪成就（？）。会在练歌以及希望游玩最新最热的时候使用 中二节奏：近期新开坑。Deemo 的基础帮了我很多，正在处于上升期，好友码 101881553883280 Rotaeno：好友码 HPMGCP，基本上只在有活动的时候高强度玩 Milthm：ID: GE49J4C9C，最近才上线的账号系统和新玩法，很小众的音游 Rizline，Muse Dash，Orzmic，Phigros 等等 Arcaea（基本退坑，打不动啦）：好友码 044 040 642 个人资料截图 AstroDX Best 50 / Rating Graph 请注意：此成绩非官方成绩，与 SEGA 没有任何关系！\n由于 DXRating.net API Best 50 网页 API 时不时出现问题，因此 Best 50 图片不一定会立即生成。下方的 Rating Graph 仍然会更新。\n舞萌 DX Best 50 / Rating Graph 请 点击这里 直接在线查看最新的数据。\n（感谢 MeowKJ 的开发！）\n中二节奏 Best 50 图片由提比不想睡觉 Tippy Bot 生成。感谢开发！\nDeemo II Rotaeno / Best 40 / Rating Graph 图片由铃猫酱 SuzuNeko 生成。感谢开发！\nMuse Dash Rizline (Rizcard) Phigros Arcaea 在这个账号上我是零氪哦……400 个记忆源点全是领取的 616 新年撒币（\n","date":"2026-05-04T00:00:00Z","image":"https://williamwei.top/p/mug/image_hu_80309f9ebd85d1ce.webp","permalink":"https://williamwei.top/p/mug/","title":"关于音游"},{"content":" 此方法已经失效。\nLeapcell 本意给所有人提供易用的服务，但是根据官方回复，他们把大部分时间花在了监管上，毕竟总是有人拿他们的免费服务搭不好的东西。因此平台将转型，Leapcell 将很快停止大部分服务。转型方向目前官方没有公布。博客的 Leapcell 部署实例已经下线。\n大概 3 个月前，一个新的 PaaS 平台 Leapcell 上线了。他们和主流的 PaaS 不一样，主要聚焦在了 FastAPI、Django 等知名 Python 服务上，对 Golang、Rust 和 TypeScript 也有很棒的支持。而我的个人项目正好是 FastAPI 写的，因此就探索了这个平台，把服务尝试部署在了这上面，确实很好用。后来发现，这个平台比想象中的强大，甚至可以部署这个博客（Hugo 框架，刚好是基于 Go 的），因此写一篇文章记录一下。\n准备工作 Leapcell 目前只支持 GitHub 项目，需要 GitHub 账号方可注册，因此请将你的项目上传到 GitHub 再继续。涉及隐私的，一定要记得上传至私有仓库。每位免费版用户可以部署 20 个服务，并可以分配到最高 3 vCPU，4096 MiB RAM 的资源。\n目前 Leapcell 支持以下技术：\n细心的朋友可以发现，它支持 Astro 博客框架。喜欢用 Astro 的朋友又多了一个新的选择（很可能是为数不多的无服务器部署 Astro 方案！）。此外，一些很有名的前端，比如 Next.js、Nuxt.js 也是支持的。\n现在官方提供两个部署区域，N. Virginia, US East 和 Tokyo, Japan，用的都是 AWS。为大家测试了一下，用的是我的博客，选择了 Tokyo 作为部署区域，在中国大陆整体的可访问性和速度还是不错的，阻断情况比较少，也许是一个不错的“曲线救国”方案，推荐大家去试试看。\n部署 其实这次的方法有些讨巧。作为一个非静态的 PaaS，部署一个静态博客确实有些尴尬，因此我实际上是通过一个简单的服务器实现的：\n1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 package main import ( \u0026#34;log\u0026#34; \u0026#34;net/http\u0026#34; \u0026#34;os\u0026#34; ) func main() { port := os.Getenv(\u0026#34;PORT\u0026#34;) if port == \u0026#34;\u0026#34; { port = \u0026#34;8080\u0026#34; } // Serve static files from the public directory fs := http.FileServer(http.Dir(\u0026#34;./public\u0026#34;)) http.Handle(\u0026#34;/\u0026#34;, fs) log.Printf(\u0026#34;Server starting on port %s\u0026#34;, port) log.Fatal(http.ListenAndServe(\u0026#34;:\u0026#34;+port, nil)) } 请在你的仓库根目录下创建 main.go，然后填入上述内容。\n注册好账号后，在 Service List 中选择 Create Service，然后连接到你的仓库。\n在下图的配置页面中，选择 Runtime 为 go debian，Build Command 为下方内容（其实就是下载并解压 Hugo，然后生成并 build 一个服务器出来），Start Command 填入 ./server，其余不需要动。\n1 2 3 4 5 wget -O hugo.tar.gz \u0026#34;https://github.com/gohugoio/hugo/releases/download/v${HUGO_VERSION}/hugo_extended_${HUGO_VERSION}_Linux-arm64.tar.gz\u0026#34; \\ \u0026amp;\u0026amp; tar -xzf hugo.tar.gz \\ \u0026amp;\u0026amp; chmod +x hugo \\ \u0026amp;\u0026amp; ./hugo --minify \\ \u0026amp;\u0026amp; go build -o server main.go 在 Environment Variables 中存放一个 HUGO_VERSION 变量，用于指定 Hugo 版本。\n这样应该就可以部署了。如果你是中国大陆的用户，记得调整部署区域至 Tokyo, Japan 以获得更高的访问速度（有些设置在更换后会默认把部署区域换回 US East，还请注意）。你还可以根据你的需要调整 RAM，下方的 vCPU 会根据你选择的 RAM 自动调整。\n绑定域名 在部署好的服务中选择 Add Domain/Path：\n此处你可以选择使用 Leapcell 域名或是自定义域名。使用自定义域名，需要你添加一条 A 记录。注意，目前只支持最高三级域名。同时，选择的区域（Region）必须和你服务部署的区域一致，否则会报错。\n下面的 Route Rules 方便你创建 API 路径，通向不同的服务，是非常方便的功能。示意图如下：\n至此你的博客应该可以正常访问了，而且速度还算不错！\n写在后面 实际上我认为 Astro 才是更合适的部署场景，使用这个平台部署 Hugo 这种玩意确实有点小题大做了。不知有没有人想尝试一下 Astro 部署，如果可以的话请告诉我感想！\n总之平台的使用体验很流畅，之前我的 FastAPI 服务一直是拿的 Azure 免费送的 1 Core/1 GiB 的小机子部署的，操作起来非常不爽，有了这个之后改善了许多。它的分析也比直接抓服务器 log 方便很多：\n它的启动优化的很快，会在请求的一瞬间把服务拉起来（宣传说冷启动时间小于 250 ms），你可以看到 log 中服务被起了好多次；还会根据请求数量动态把服务的实例数量拉高。因此它的计费方式也很智能，按照真正服务被访问的时间计费，是很创新的设计。当然，如果你的服务访问人数多了，你也可以升级到持久部署，按照传统方式持续计费。\n所以如果你刚好有适合的服务，请务必试一试这个，应该能帮到你！\n","date":"2025-12-20T00:00:00Z","image":"https://williamwei.top/p/hugo-on-leapcell/image_hu_cd5e25ea834fc469.webp","permalink":"https://williamwei.top/p/hugo-on-leapcell/","title":"使用 Leapcell 部署 Hugo 博客"},{"content":" 本页面会不时更新。最后更新时间见标题下方。\n如果您是通过直接访问该链接看到此文章，那么说明您应该知道我的 QQ 号码了。这篇文章专门用来对我的 QQ 情况做一些说明。\n由于我的主力机、备用机、平板等所有的安卓移动设备均已 ROOT（关于“设备 ROOT 是什么”请自行搜索。这是合法的），且 QQ 的风控政策会监测这类设备，用尽我能想到的所有办法均无法隐藏~~，因此我的账号已经被 QQ 风控/标记~~。\n由此，会有以下情况发生：\n说明：\n现在我已经换到 QQ 上古版本 (8.2.11)，此版本没有风控政策。QQ 号貌似已经恢复，但我仍然希望您通过 Gravatar 中的联系方式联系我，实在不行请使用微信。 带有无法的条目已经经过多次验证，我已经确认我无法完成该条目； 带有也许的条目表示该事件发生过，但未经确认。 我无法通过搜索群号加入群聊。群主或管理员不会收到我的入群申请，即使我已经申请多次。 我也许可以通过扫二维码加入群聊。在此情况下收到的入群申请会带有该账号异常之类的提示。 如果我不得不加入某个群聊，我可能会向您发起临时会话，并且会申请添加你为好友。此时您需要手动邀请我入群。请放心，我没有也不会做任何违法的事情。 我也许不能通过搜索 QQ 号加您为好友。您不会收到我的好友申请，即使我已经申请多次。我只能在已有的群聊下向您发起临时会话添加好友、或者通过扫二维码添加好友。 您可能在很多场合下会看见我的账号显示该账号异常之类的提示。别担心，该账号暂时无异常。有异常时我会在该页面第一时间更新。 在 QQ 的异常状态结束前，请尽量使用其他方式与我联系。您可以通过点击头像下方的 Gravatar 图标查看我的联系方式。如果有必要使用国内的即时聊天软件与我联系，请考虑微信，直接搜索我的 QQ 号即可（您应该知道我的 QQ 号）。\n我暂时不考虑注册新的 QQ 号（虽然我确实有第二个手机号），因为我手上没有移动设备可以为 QQ 提供安全的环境。这可能导致我的新号立即被封禁。\n关于现在的环境 如果你看不懂该内容，请忽略它。\n我的主力机为 Google Pixel 7，Magisk Alpha + LSPosed 配置。没有为 QQ 挂载 LSPosed 模组，然而 QQ 仍然提示风控。现在采用的隐藏方案为 Shamiko + HideMyApplist。如果有更好的隐藏方案，请务必告诉我（个人喜好问题，暂时不考虑 KernelSU 类）。\nQQ 的风控政策不但没有阻挡机器人等自动脚本的运行（NapCat），反而限制了正常用户的使用。不好好做聊天软件，一天到晚搞这些干嘛（怒）\n在此也强烈谴责 QQ 等这些聊天软件塞各种非聊天功能（朋友圈、空间就算了）。QQ 在风控我时，还发了篇文章给我，认为我“在用 QQ 美化模组”。拜托，我想美化你吗？我恨不得给你删功能！我只是想好好聊个天，不行吗？\n暂时不考虑使用 NapCat 等基于 QQNT 的 API 达到在三方平台上挂载 QQ 的效果。我的账号现在真经不起折腾……\n如果对于上述情况有更好的解决方法，非常欢迎您告诉我。\n","date":"2025-12-19T00:00:00Z","permalink":"https://williamwei.top/p/qq/","title":"关于联系方式 - QQ"},{"content":" 本文档是：Kindle 越狱 的补充。你很可能需要其中的一些知识。\n本文依旧参考 Kindle Modding Wiki 编写。\nAdBreak 是在 WinterBreak 失效后，利用 CVE-2012-3748 的最新越狱法，于今年 9 月 25 日发布。\n此方法适用于 Kindle 固件 5.18.1 及以上版本。注意：该漏洞可能在版本 5.18.5.0.1 后修复。如果你的设备拥有此版本的固件，请谨慎操作，因为不一定能成功。已经确认固件版本 5.18.6 修复了 AdBreak，因此请不要更新该版本固件。\n破解的准备工作同 WinterBreak，但需要你的 Kindle 能正确显示广告。如果你的 Kindle 还没有注册，请先阅读阻止自动更新步骤。\n越狱步骤 下载最新的 AdBreak Release； 让你的 Kindle 下载广告。连接网络并等一会。如果在锁屏界面，Kindle 显示了广告，你可以继续越狱； 打开飞行模式； 主界面点击右上角菜单，选择“查看所有广告”/\u0026ldquo;View All Ads\u0026rdquo;； 将 Kindle 连接到电脑，打开 system 文件夹并复制 .assets 到电脑中； 解压先前下载的 AdBreak 并将所有内容放在复制好的 .assets 文件夹中； 双击 replace.bat 运行之。对于 macOS/Linux，在终端执行 find . -name 'details.html' -exec cp adbreak.html {} \\;； 删除 Kindle 中原本的 .assets 文件夹并将电脑中处理好的 .assets 文件夹放回 Kindle； 断开 Kindle 与电脑的连接。随意点击一个广告并确认弹窗。当你点击弹窗 \u0026ldquo;Bang!\u0026rdquo; 的 \u0026ldquo;Close\u0026rdquo; 按钮时，越狱脚本将运行。你可以安全忽略任何的“应用错误”弹窗。\n恭喜你！你的 Kindle 已经越狱！接下来请回到原来的文章去进行越狱后工作吧！\n需要注意的是，由于越狱方法的更新，你在安装最新版本 Hotfix 时可能失败。如果遇到这种情况，请安装兼容版本。\n常见问题 操作失败 找不到 system 文件夹？ 有可能被系统隐藏了。请手动输入路径访问或者在文件夹设置里开启显示隐藏文件和文件夹。 \u0026ldquo;Bang!\u0026rdquo; 显示但是越狱脚本不运行？ \u0026ldquo;jb.sh\u0026rdquo; 和 \u0026ldquo;patchedUks.sqsh\u0026rdquo; 必须在 Kindle 的 .assets 文件夹里。检查一下是否有缺。 我的 Kindle 没有广告 Kindle Scribe 和 Colorsoft 不会工作。这俩都是新出的，你不会真买到了吧？ 尝试转区。建议使用以下区域之一：US, UK, DE, FR, IT, ES, JP, AU。请使用尽量真实的信息。 尝试为你的 Kindle 账户添加付款信息。信息尽量和你所选区吻合。 在 Amazon 账户设定中，开启 \u0026ldquo;Special Offers for your Kindle\u0026rdquo; 或类似选项。 同步你的 Kindle。总归会有广告出来的。 小提示：Kindle Modding Community 还有两个破解方法未发布，敬请期待！这边也会简单翻译和总结，祝各位玩得开心！\n","date":"2025-11-12T00:00:00Z","permalink":"https://williamwei.top/p/kindle-jailbreak-2/","title":"适用于 5.18.1 以上的 Kindle 固件版本越狱法 AdBreak"},{"content":" 封面图片：《星之终途》CG\n本文采用 CC0 协议。不保留任何权利。\n为了方便本文更好地传播，本文不采用博客一贯采用的 CC BY-SA 4.0 协议，本页面底部的本文协议声明无效，请以这里为准。\n根据 CC0 协议规定，我无法限制你在分享、演绎这篇文档时的行为，但是我在此请求：为了保护我自己，在分享、演绎这篇文档时请不要带上我的任何个人信息。\n作者本人在此保证：本文档将尽可能客观记述真实的信息。\n即使有上述保证，由于我本身也是这个事件的受害者，某些事情的记述不可避免的会带上个人情感，还请见谅。\n事件的起因 2025 年五一节前后，南京邮电大学信息办在没有发布任何官方通知的情况下将校园网原先登录三个设备缩减为两个设备。对于长期使用三台设备上网的本人，此举严重影响了我的正常上网生活。届时，百度贴吧南京邮电大学吧（下称南邮吧）很多人也在疑惑该事件。作为此事件的受害者之一，我决定调查该事件。\n第一次咨询信息办 在五一节前，我向信息办礼貌询问了该改动的具体缘由。信息办没有给出正面解释，并直接甩锅运营商。但此前已经有同学咨询过运营商（见此贴），运营商表示为学校信息办通知。两边形成了互相甩锅的局面。\n我对此处理结果表示不满意，并进一步反馈追问。在此后，考虑到信息办老师回复需要一定时间，我等了 5 个工作日，但信息办没有回复，遂决定在五一之后再次咨询该问题。\n第二次咨询信息办 5 月 7 日，信息办给予了回复。回复指出，学校一直是仅支持两台设备同时上网，三台设备的承诺需要咨询运营商。在我看来依然是甩锅到了运营商。\n在此过后，我将这次维权事件记录到了发到了南邮吧。这还是我第一次去贴吧发吧，看得出来我多气了吧。你可以在这里看到该吧。之后的事情你多多少少能在吧上看到。碍于隐私，害怕导员、学校找上门等多方面因素，在吧中的记述会有些隐瞒，这点请见谅，但在这里会补充完全。\n投诉到运营商（中国电信） 既然信息办坚持运营商对该事件负责，我便转而投诉运营商。根据运营商与我签订的用户协议（蓝色部分）：\n我合法享有 3 台设备同时上网的权利。这起事件可以定性为运营商违约。同时，我的同学再一次询问了电信客服，电信客服仍然表示，是学校将限制调整为两个设备。\n我对此回复明显不会满意。按照工信部规定：\n用户对电信业务经营者的处理结果不满意或者电信业务经营者在接到投诉后15日内未答复的，可以向申诉受理机构提出申诉。\n5 月 8 日，我将此事件投诉到工信部，也托同学拨打了 12345，12345 称会在 5 个工作日给回复。\n5 月 9 日，信息办的官方文章校园网常见问题及解决方法被偷偷修改了，将三台设备改为了两台。\n5 月 12 日 12:13，我接到了由电信客服私人手机号码打过来的电话。电话中是个男性音，给我的解决方案是每个月送我 30G 省内流量。我自然不会接受该解决方案，毕竟我纯粹就是想多拿一个上网设备的。本身这就是我的合法权益。电话中我对运营商的遭遇表示理解（因为其一再和我说他们没有办法或者权限改变上网设备数，这些都是学校决定的），但是也希望运营商可以和领导反映一下该情况。\n当天 16:29，我又接到了另一位电信客服私人手机号码打过来的电话，这次是一位女性，后续交涉过程中了解到她是桂苑电信的工作人员。她依然表示只能给我 30G 的流量，这是她权限内能给我的，除此之外她还愿意给我换 40 块钱（我当前套餐订购费）能给到我的最好的套餐，或是给我一个员工账号让我临时用。后续我加了她的微信，我表示坚持希望能够得到一劳永逸的解决方法，她提出了和我一起去信息办讨个说法，我接受了，并相约第二天中午一起去信息办问。\n去信息办讨说法 本部分全程录音。由于该录音未经当事人允许，该录音不能够被公开。\n如果你质疑真实性，你可以向我索要录音文件，但禁止外传。\n信息办对此事件的说法如下（个人概括，不代表官方立场）：\n关于限制设备：信息办表示从来都是两个设备的限制，附近兄弟学校都是这样，只不过运营商宣发的时候发现三个设备也能用就一直宣发为三个了，这个宣发也没找信息办报备，甚至写进了用户协议里；\n最近信息办在尝试提升登录体验，使设备超限后自动下线老设备而不是需要手动登出一个设备，自然地改成了原来两个设备的限制。他们也意识到了这个自动下线很烂，表示之后会改；\n如果的确需要三台设备同时在线，要去信息办（图书馆南侧楼梯下面左拐进去最里面的一间房）拿一张表，声明你出于学习原因需要这么干，找辅导员签字，找学院书记签字再送给他们，他们会帮你开通。他们理解此过程太繁琐了，这只是临时措施，表示之后会出更友好的政策； 关于网速限制的问题：之前有同学反映，学校无线网速似乎也被砍了，信息办表示：只会在高峰时段（大概从晚上开始一直到断网）限制无线连接的网速，大约在 50 Mbps 的样子，是为了防止“宿舍一人更新 Steam 导致全宿舍 460”的现象，说白点就是保证人人都有网用，在设备允许的条件下最大化发挥性能。有线不受影响。如果你有网速需求，最好使用有线连接，似乎闲时可以跑到 600 Mbps； 关于南邮是否出口带宽不足的问题：据信息办透露，南邮出口带宽利用率不足 30%，是绝对够用的，只不过没人用 （注意：中国电信、中国移动的校园网络套餐不属于上述带宽，这里指的是一小时两毛钱的校园网）。之后他们会和学校报备修改一下校园网的计费规则，看是不是每个月给大家送点免费额度之类的； （画饼）信息办做出了承诺，绝不是为了坑我们钱才限设备限速的。 这件事过去已经两个月了，现在看来，学校信息办还真的画了个大饼啊。这里对现在情况分点对应回应一下：\n直至本学期结束，信息办没有出台新的“友好措施”，没有学生通过信息办提供的渠道成功获得三台上网设备同时在线的权利，包括我在内。详细的申请过程后续会讲； 学校 AP 那么多，分散开连接为什么会导致超载？当代校园网建设没有办法解决这些问题？以及最本质的问题，限制设备是为了什么？如果是担心所有人都就一个账号薅羊毛，那设备限制放开点不好吗？限制 3 个的时候不也没啥意见吗？ 直至本学期结束，信息办没有出台新的政策，我希望它还在“报备”吧。这都啥时代了，还搞 2 毛钱 1 小时这种收费模式，好多高校都已经免费用了。既然出口带宽还够，那真不如放开来给大家用用； 信息办有做出改进吗？我看没有，除了给校园网登录界面加了行小字，说登录第三台设备时最早一台设备会下线。 这件事属于两边都有责任。打个比方就是，运营商作为中间商，发现了基础设施的特性（bug），于是利用这个特性做了宣发，直到学校这边发现了，决定修复它，但是又不给 changelog，使得所有依赖 bug 的用户（所有学生和工作人员，包括运营商本身）全部受到影响。这本来可以是一个解释清楚就没有人会多问的事情，奈何两边没有一个人意识到并做出公关处理的。确实，不得不书这个处理方法就是最到位的（或者说最符合学校/运营商利益的），不处理就是最好的处理，反正用户（学生）没有办法拿信息办/运营商怎么样，他们拥有绝对的垄断地位。\n后续我了解到，我是唯一一个不嫌麻烦，愿意去线下和运营商一起向学校讨说法的人。在此呼吁大家，你的合法权益是你自己争取来的。请不要怕和信息办打交道，但是谨记，礼貌对人，摆事实，讲道理，不管是信息办的人还是运营商的人，在我沟通下来之后发现都是很友好的，前提是讲道理。\n申请第三台设备 上文提到，你可以通过在信息办领取学生上网终端申请表，写明你申请三台终端设备同时在线，仅用于学习目的，并找导员和学院书记签字，再送回信息办开通。先不谈“校园网只能用于学习”这件事本身合不合理，该政策落地之后，信息办并未向学院说明，因此没有学院收到过该申请，遂不知该如何处理。\n5 月 16 日，我向导员提交了该申请。导员也表示申请大概率会不通过，因为没人申请过，我坚持申请，并表示没人申请纯粹是因为这个政策落地还没多久。导员表示她需要先问一下学院意见。\n5 月 25 日，我等了 7 个工作日之后再次向导员询问该事件，导员帮我去学院催了，似乎只要不提就不推进了。\n5 月 28 日，导员回复，我需要出具保证书，写明我的设备仅用于学习的原因。好歹我也是打竞赛的，手上确实有几个服务，因此不是什么问题。我当天出具了该保证书并提交了。\n6 月 9 日，学校英语强化周过后，我再次向导员咨询该事件，导员把我喊去办公室，并表示该申请不能被通过，并给我上了一堂网络安全教育课程。他们担心网络安全问题，觉得我利用校园网开服务可能会导致自己的人身安全受威胁，以及导致学校网络安全问题。导员表示，此前在我们学校有过先例，一位同学无意点击了某个链接，然后人直接被公安局带走了。她不希望我也出这样的问题。我也表示，凡系统一定是会有漏洞的，我也没有办法保证我的系统不遭入侵。她给出了妥协方案，在我需要打竞赛的时候放开设备限制，竞赛过后再恢复。我只能接受，这个没有商量余地了。\n至此，申请第三台设备的维权之路以失败告终。这就是你邮的人文关怀吧，信息办只要甩锅，把管理责任扔出去就行了，学院要想的事情可就多了。\n对此，我的评价是：担心我的安全就算了，你说担心学校网络安全是咋回事？我严重怀疑学校信息办管理自己基础设施比我做的还差，比如 http://njupt.edu.cn 顶级域打开后连接不上， https://njupt.edu.cn 出现 HTTPS 错误，甚至有时还能弹出新中兴/Nginx 的调试界面（学校的很多服务都外包给了这家公司），这俩都应该是一个 CNAME 解析到 www 就可以解决的问题；以及教务系统到现在还是公网 HTTP，来个中间人攻击直接狗带。\n以及，本身我就应该得到第三台上网设备的使用权，不管是否出于学习目的。我是在维权啊，不是在搞特殊。这事情有这么难吗？我到底动了哪块蛋糕？\n后记 6 月 9 日，运营商给我的临时账号也失效了，不知道出了什么问题，他们也不知道。至今他们仍没给我第二个账号，我暂时也不想为难他们了。\n这一次我坚持维权，是因为我不想再被学校坑了。经过种种事件，我对学校整体的人文关怀已经达到了一个失望透顶的程度，这里特别点名体育部：南邮学生已经苦晨跑久矣，我虽然多多少少理解晨跑制度的必要性，毕竟很多学校确实在这么干，但学校一直不会用更友好的晨跑管理方式（比如晨跑软件什么的，更灵活也更方便），非要使用传统的固定时间固定起点终点，使得宿舍离晨跑起点远的同学强制早起，在此之后早八便再无精力上课。学校对于跑操次数的管理也是充满了潜规则，作为晨跑规则的制定者，体育部的领导（只针对领导，大部分体育老师还是很讲道理的）拥有对规则的绝对解释权，因此帮体育老师干活就能获得减跑操次数，甚至是和体育社团打好关系也能获得减跑操次数，这样将晨跑次数明码标价，让人很是寒心。对自己内部管理漏洞网开一面，却对真正认真晨跑的同学重拳出击，雨中晨跑减次数、献血减晨跑出尔反尔，在规则执行中没有一点温度。我有一次在晨跑终点前，为了避免终点排队刷脸，在终点摄像头前 10 米左右走了草坪上的小径到青春剧场前，就因为这 10 米被体育老师抓住，以我不按规定道路晨跑为由扣了我这次晨跑。好歹我每次晨跑都开手表记录轨迹，证明了我确实没有抄“近”道而没有惩罚我，我还得感谢她嘞。这是我最后悔没有坚持理论的一件事。自那以后我就对体育部彻底失去了好感，并发誓下次遇到这种事件一定要理论到底。\n我认为我这次的维权是失败的，因此我写这篇文章，一是为了记录这次过程，二是希望有人能继续下去，用这些材料替我维权，或是受此启发，对其他南邮人苦久矣的事情进行维权。感谢所有支持我这么做的人。以下分享一些维权的技巧和建议，希望能给你一些帮助。请再一次记住，你的合法权益是你争取来的。当然，法治社会，请不要忘记依法维权。\n对于运营商违约，请先去运营商客服处投诉。客服的处理结果无法让你满意的话，再打 12345 或者工信部官网投诉。 对于学校的投诉，你可以去各部门办公室上门咨询或者投诉，这样自然效果最好。如果你不希望露面，你还可以去智慧校园（i.njupt.edu.cn） - 师生服务平台投诉或者提建议等。这些意见和建议部门是会认真处理的，比如说我就投诉后勤部把趣智校园小程序的广告给投诉没了。需要注意的是，该投诉是实名的，所以不要骂街，人家找得到你，也确实有部门非常负责，电话反馈了我处理结果。 不要咄咄逼人，礼貌和对方讲清来由。虽然学校整体人文关怀是有些难绷，但放到各部门都是讲道理的。以及不要忘了录音收集证据，如果可能的话，请告知对方正在录音。 最后，感谢你读完这篇文章，也衷心希望有人能够维权成功（请告诉我！），以及在学校过得开心。\n","date":"2025-07-09T00:00:00Z","image":"https://williamwei.top/p/school-net/cover_hu_8a80c63332dc859e.webp","permalink":"https://williamwei.top/p/school-net/","title":"记校园网维权全过程"},{"content":" 本文章参考以下来源：\nIt\u0026rsquo;s Time to Jailbreak Your Kindle. - YouTube Kindle Modding Wiki KOReader User Guide 2025 Kindle 越狱教程：适用于版本低于 5.18.1 的固件 如果有条件的话，请务必去看看原文！\n距离 Kindle 中国关闭（2023 年 6 月 30 日）已经过去快两年了。这段时间以来，我的 Kindle 一直在我的抽屉里躺着，扮演着泡面盖板的角色。我曾尝试一些第三方的 Kindle 刷机包，奈何门槛和风险都很高。直到今年初，某位大神看不惯亚马逊的吃相，在 2025 年新年发布了 WinterBreak 破解，让 Kindle 越狱变得触手可得。本文将详细介绍这种越狱方法，祝你也能越狱成功。\n前言：这合法吗？ 自然。你购买了这个设备，你理所应当地拥有对这个设备的处置权。亚马逊可能会因此将你封号（毕竟你确实违反了 Kindle 的用户协议），但是越狱后你完全不需要依赖亚马逊服务。\n事实上，亚马逊的吃相不是很好看。文前提到的视频中有说，亚马逊占有美国电子书销售额的约 80%，他们对自己电子书市场做的某些决定会影响到很大部分的电子书读者。他们卖给你的只是这本书的不限期的租赁许可。一旦你的亚马逊账户因为某些原因被封禁，如果你没有在本地备份电子书的习惯，你的电子书也会一齐消失，这些书从来都不是你的。而且亚马逊的账户申诉很困难，因为它不会告诉你封禁原因，你都不知道从哪里开始申诉。自今年 2 月 26 日起，亚马逊不再提供电子书源文件下载到电脑的功能。你只能从阅读器通过 Wi-Fi 下载，很明显，亚马逊不希望你备份电子书，或者直接移除里面的 DRM 加密。\n以及你还要花至少 $10 去掉锁屏广告。拜托哎，我买了这个设备就是给你封面放广告的？\n越狱前准备 越狱有风险，玩机须谨慎。\n本文不对因为不当操作而变砖的设备负责！\n请使用这个链接确认你的 Kindle 型号。\n在你的 Kindle 主页上点击右上角菜单 - 设置 - 设备选项 - 设备信息查看设备的序列号。在上方的网页中键入序列号（只需要前 8 位就足够了）查询。如果查询到 Recommended Jailbreak 显示为 WinterBreak（如下图）则表明你可以使用本文中介绍的方法。否则请自行阅读对应的破解方法。\nWinterBreak 需要你连接到亚马逊商店，因此如果你的账号在中国大陆区域，你必须转区后破解。当你使用中国大陆的账号登入 Kindle 时，Kindle 不会显示商店菜单。\n转区 请参照以下文章进行转区，这里只做简述。\nKindle 退出中国后如何继续购买电子书及使用推送服务\n首先从右上角菜单 - 设置 - 我的账户 - 注销设备退出当前账户。此操作会清空你购买的电子书，若你的账户在中国大陆区域且还没有备份这些内容，你将永久失去他们！三思而后行！\n重启设备后按照主界面引导注册账号，随便选择其他区域即可。请使用没有注册过亚马逊账号的邮箱和手机号码操作。如果你没有这些，你可以注销你的账号后再重新注册。\n全程不需要魔法上网，也不需要国外手机号。很简单。\n最后的检查 请确保你拥有以下条件：\n你需要一台电脑和一根数据线来操作； 你的 Kindle 已注册（登录了账号）； 你的 Kindle 可以自动连接上一个可访问互联网的 Wi-Fi 网络。 在右上角菜单 - 设置 - 设备选项 - 设备信息查看设备的内核版本，需要低于 5.18.1。WinterBreak 暂时不支持该版本的内核。如果你已经处于该版本的内核，建议你阻止自动更新，不要让它更新到更奇怪的版本了…… 如果你因为设备固件版本不满足越狱条件，也请无须焦虑，开发者们已经研究出了新的越狱方法，适用于 5.18.1+ 固件，但是该越狱方法利用了 Kindle 的重大安全漏洞，在正式发布前需要上报漏洞给亚马逊以防不法使用，因此很可能在破解发布时该漏洞已被修复。如果你希望等待该越狱法发布，请务必阻止自动更新。\nWinterBreak 你也可以在这篇文章查看详细的图文教程。\n为了保证你在破解时 Kindle 不会自动更新，建议你完成阻止自动更新步骤。\n开始越狱吧！\n从 GitHub 下载最新的 WinterBreak 发行版； 下拉状态栏，启用飞行模式； 重启你的 Kindle； 解压刚刚下载的 WinterBreak 包，在 Kindle 重启完后连接电脑，将所有内容（包括隐藏文件，特别是 .active_content_sandbox 文件夹）复制到 Kindle 根目录下。提示有同名文件时请直接覆盖； 从电脑弹出你的 Kindle。点击 Kindle 主页右上角的商店标志打开商店。此时设备会询问你是否关闭飞行模式，点击好的关闭； 当设备出现下图页面时，点击 WinterBreak 字样开始破解； 等待一小会，屏幕上会出现 Please install hotfix 类似的字样。恭喜你已经越狱！如果没有看见这些文字，请检查飞行模式是否关闭。 此时，请再打开飞行模式，我们要开始越狱后的工作了。\n越狱后工作 在此过程中请保持飞行模式开启，避免 Kindle 自动更新毁了你的越狱体验！\n安装热补丁（Hotfix） 安装热补丁后，可以保证 Kindle 在更新后还能保持越狱状态。\n从 GitHub 下载最新的 Hotfix； 将 Kindle 连接电脑，将下载的 Update_hotfix_universal.bin 复制到 Kindle 根目录下。如果你的 Kindle 中含有其他 .bin 文件，你需要删除他们后 Hotfix 才可以正常工作； 弹出你的 Kindle。点击右上角菜单 - 设置 - 右上角菜单 - 更新 Kindle，在弹出的提示中确认更新； 耐心等待 Kindle 重启。重启过后，你应该可以从你的书架上看到一本名为 Run Hotfix 的书。点击它便可以启用热补丁。 注意：该补丁需要在设备每次进行 OTA 更新后运行一次。\n安装完热补丁后，你可以接着安装 KUAL 软件启动器和 MRBI 软件包管理器。\n安装 MRBI / KUAL 你需要安装 KUAL 软件启动器和 MRBI 软件包管理器以在 Kindle 上运行自定义 APP。\n下载 MRBI； 使用此链接下载 KUAL Coplate 如果你的 Kindle 比 K5 型号要新（在 2012 年之后发布的设备）；否则使用此链接下载 Legacy 版本； 解压 KUAL 包，连接 Kindle 并将 mrpackages 和 extensions 文件夹复制到 Kindle 根目录中； 解压 MRBI 包，找到 Update_KUALBooklet_*_install.bin 文件，并将其复制到 Kindle 的 mrpackages 目录中； 弹出 Kindle，在搜索框中键入 ;log mrpi 回车； 等待 KUAL 安装。你会看到 Kindle 白屏并显示一些图标，之后会自动返回到主界面，此时你应该看到书架上多出一本名为 KUAL 的书。如果你看到应用程序错误的提示框，你可以安全地将其关闭，这是正常现象且不会有影响。 停止 OTA 更新 Kindle 在连接到网络时会自动更新。虽然有热补丁的存在，但难免会出问题使越狱状态失效。我们可以停止 OTA 更新，达到一劳永逸的效果。\n开始之前，请务必通过右上角菜单 - 设置 - 设备选项 - 设备信息查看 Kindle 的固件版本。不同固件版本需要的操作不同。\n如果你的固件版本小于或等于 5.10.x，请遵循以下操作：\n连接 Kindle； 在 Kindle 根目录下建立名为 update.bin.tmp.partial 的文件夹，右键文件夹选择属性，选中只读后点击确认； 弹出 Kindle。此时设备 OTA 更新已经被禁用。 如果你希望恢复 OTA 更新，删除 update.bin.tmp.partial 即可。\n如果你的固件版本大于 5.11.x，请遵循以下操作：\n下载 renametotabin； 连接 Kindle； 解压 renameotabin 并将其中 renameotabin 文件夹复制到 extensions 文件夹中。若无 extensions 文件夹，请手动创建之； 弹出 Kindle； 从书架上打开 KUAL，点击 Rename OTA Binaries - Rename。你的 Kindle 将重启。此时设备 OTA 更新已经被禁用。 如果你希望恢复 OTA 更新，请在 KUAL 中点击 Rename OTA Binaries - Restore。\n此时你可以安全地关闭飞行模式了。\n恢复亚马逊商店 注意：停止 OTA 更新后才可进行下述操作！\n通常情况下你可以跳过这部分，但如果你出于某些原因仍然希望访问亚马逊商店，请遵循以下步骤：\n连接 Kindle； 删除 Kindle 根目录下的 .active_content_sandbox 文件夹。该文件夹有可能是隐藏的； 弹出 Kindle； 按住 Kindle 电源键超过 20s，等待其完全重启。此过程耗时相对较长。此时你可以使用亚马逊商店。如果不行的话，尝试再次重启。 安装 KOReader 说了这么多了，我们还没安装一个阅读器呢。KOReader 是一个功能全面的阅读器，支持 EPUB, PDF, DjVu, XPS, CBT, CBZ, FB2, PDB, TXT, HTML, RTF, CHM, DOC, MOBI, ZIP 等格式的直接打开，以及各种个性化设定。应该比 Kindle 原生的要好用多了。\n开始之前，请确认你正确安装了 MRBI 和 KUAL。\n还记得之前的内核版本吗？请根据你的内核版本和设备型号，从官方 Release 页面选择对应的发行版：\nkindle-legacy: K2, DX, K3 及其所有变种； kindle: K4, K5, PW1； kindlepw2: 其余更新的设备型号（PW2, KV, KT2, PW3, KOA, KT3, KOA2, PW4, KT4, KOA3, PW5, KS），且内核版本小于等于 5.16.2.1.1； kindlehf: 所有内核版本大于等于 5.16.3 的设备。 对于内核版本大于等于 5.16.3 的设备，另外提供一种简易安装方式：在此处下载 KOReader Installer (nightly)，将其放在 Kindle 根目录下的 documents 文件夹中，并在书架中运行它，脚本将自动下载并为你安装 KOReader。\n注意：上述方法不一定有效。推荐你手动安装。\n下载完后，请遵循以下步骤：\n连接 Kindle； 解压下载的包，并将 extensions 和 koreader 复制到 Kindle 根目录下，出现同名文件时请全部替换； 弹出 Kindle，点击书架上的 KUAL，找到 KOReader 菜单并进入； 选择一种方式进入 KOReader： Start KOReader：正常启动 KOReader。 Start KOReader (no framework)：杀死 Kindle 原生 UI 并启动 KOReader，为 KOReader 提供更多内存。 Start KOReader (ASAP)：快速启动 KOReader，将跳过一些启动前检查。 恭喜！你可以开始下载电子书并开始读书了！\n至此，你的破解后工作算做完了。如果你希望探索更多，你可以到这里看看更多的小脚本，或者去官方 Discord 与大家交流！\n附加：重置设备后恢复 如果你在越狱的状态下使用 OTABlocker 并重置了设备，你的设备很可能损坏。请执行以下步骤修复设备：\n安装 MRPI； 再执行一遍停止 OTA 的步骤；在最后一步时，选择 Restore 而不是 Rename。 附加：阻止自动更新 本部分适用于没有越狱的 Kindle。如果你的 Kindle 已经越狱且完成了阻止更新的步骤，你可以忽略此部分。\n如果你仍然满足越狱的条件，并且准备开始越狱，推荐你做这一步骤，防止越狱中途进行 OTA 更新，破坏你的越狱行动。\n当系统中有空余储存空间时，Kindle 可能会在这些时候触发自动更新：\n打开 Kindle 商店时； 在 Kindle 上登录亚马逊账户时； Kindle 连接了 Wi-Fi 网络，哪怕就一小会； Kindle 在连接了网络的情况下重启。 因此可以通过填满 Kindle 的存储空间来阻止更新（大概留 20~50 MB 空余即可）\n你可以使用以下方式达到这一目的：\n打开飞行模式； 连接 Kindle； 下载 Kindle-Filler-Disk 脚本（Windows 使用 Filler.ps1，macOS/Linux 使用 Filler.sh）； 将脚本复制到 Kindle 根目录下； 运行脚本，选择需要留下的空间（默认 20 MB）； 弹出 Kindle。在右上角菜单 - 设置 - 设备选项 - 设备信息中确认剩余空间是否小于 20 MB； 如果现在你还没有在 Kindle 上登录你的账号，你可以短暂关闭飞行模式并登录。你的设备应该不会自动更新。在此之后，请立即再次打开飞行模式。 在任何时候，如果你发现 Kindle 根目录下出现 .bin 文件或者名为 update.bin.tmp.partial 的文件，请删除他们，这是 Kindle 的更新文件。\nKOReader 使用提示 该说不说，KOReader 功能是真全，也导致了比 Kindle 原生的阅读器难用不少。这里总结一些我自己的使用技巧，希望能帮助你快速上手。\n当然，如果你希望自己探索，非常推荐你阅读官方手册，有中文翻译哦！\n管理电子书 你可以选择 Kindle 内部任意文件夹或者创建自己的文件夹放你的电子书。我的放在 documents/Books 中。在 KOReader 打开该文件夹后，点击右上角加号 - 设置为主目录，该目录将在你每次进入 KOReader 时自动进入。你也可以点击左上角家图标随时回到主目录。\n如果你有多个文件夹，存放不同种类的电子书，你可以点击右上角加号 - 创建文件夹快捷方式，方便你快速跳转到该文件夹。\n点击屏幕上边可以打开菜单栏。你可以更改你喜欢的显示模式。选择封面图片即 Kindle 一般的样式，像书架一样只展示封面。\n当前 KOReader 不支持 USB 传输，打开 KOReader 时插入数据线只能用作于充电。在菜单栏右上角点击三条杠 - 退出 - 退出后回到 Kindle 桌面才可传输文件。但是 KOReader 支持很多网络同步方法，如 Calibre、Dropbox、FTP、WebDAV，甚至 SSH / SCP。\n警告：高级操作\n在菜单栏中点击设置（齿轮） - 网络设置 - SSH 服务器可以开启 SSH 服务。默认 Shell 为 ash。接下来想干啥就干啥吧。你也可以在工具（扳手） - 更多工具（在第二页） - 终端模拟器直接使用内部终端，但要忍受一下 2 FPS 的墨水屏帧率。\n个性化 主界面 你可以在菜单栏的设置（齿轮） - 前光设置设置前光强度（如果设备支持的话）。二指上滑/下滑可以快速设置亮度（其余手势详见点击与手势）。\n屏幕设置中可以自定义屏保。KOReader 的默认屏保是直接保留当前状态，如果你需要其和原本 Kindle 行为一样轮换壁纸的话，可以选择屏保 - 墙纸 - 使用文件夹中的随机图像……，然后选择文件夹。你需要自己导入一些好看的图片。\n阅读中 以下设置对于中文读者较为重要，否则阅读体验将大大下降。\nKOReader 自带的中文字体较少，默认只有 Noto Sans CJK SC 可用。没有提供中文衬线（Serif）字体。你需要自己安装字体，只需要将 OTF/TTF 字体文件放在 koreader/fonts 文件夹下即可。除非字体自带可变自重，否则你需要带至少两个字重（Regular/Bold）粗体可以正确被显示。\n在尝试不同字体后，我选择思源黑体/思源宋体（Source Han Sans/Source Han Serif）作为默认字体组合，他们在 Kindle 墨水屏的显示效果较为良好，且支持很多扩展区字形。如果希望显示更多更全的字体，可以在此基础上再加入楷体和仿宋，应对不同字体要求。导入字体后，你需要在菜单中的字体一栏中设置他们。最好设置 Font-family 字体，这样可以保持在不同电子书的体验保持统一。长按某个字体可以将其设为默认或备用（默认字体没有字形时 fallback 到该字体）。\n在阅读时，点击页面下部可以像 Kindle 一样调整页面布局，只不过选项多了许多。点击选项后面的三个点可以设置具体值，并设置默认值（每本书可以设置不同布局！）。原本只有在比较新的设备上才支持的横屏也可以做到！\n目录、跳读、页面预览等方便的部分在菜单栏可以找到。这个做的比原始 Kindle 直观了许多。\n基本就这么多了，其余的等你自己去探索哦~玩得开心！\n附加内容：运行 Linux 许多 Kindle 开发者都知道，Kindle 的操作系统由 Java、JavaScript、Lua、Native 和 React Native 代码组成。由于其复杂性，目前尚无关于其工作原理的详尽文档。\nKindle 运行精简的 Linux 系统，前端使用 React Native，后端则使用 Java 应用程序。\n——Kindle Modding Wiki\nKindle OS 本身就是 Linux，但是由于其成分复杂，使用起来确实有些蛋疼。但是如果说我想要一个开箱即用的桌面系统，答案是有的！兄弟！有的！而且可以和 Kindle OS 共存，基本没啥风险！步骤也很简单：\n下载 Release； 解压，将文件放到 Kindle 的 extension 文件夹中； 选择 Alpine Linux - Deploy newest release of Alpine Linux for Kindle 虽然个人认为 Alpine 不是个啥非常好的发行版，但是能跑一个桌面还要啥自行车……\n再说了，我的 Kindle PW4 本身架构就难绷。\n1 2 # uname -a Linux kindle 4.1.15-lab126 #1 SMP PREEMPT Thu Nov 28 11:38:31 UTC 2024 armv7l GNU/Linux ","date":"2025-04-11T00:00:00Z","image":"https://williamwei.top/p/kindle-jailbreak/image_hu_f4d57a9d523274d3.webp","permalink":"https://williamwei.top/p/kindle-jailbreak/","title":"Kindle 越狱"},{"content":" 看这个博客内容就知道这是个学文科的。\n——某位科协朋友的吐槽\n我平常会打些比赛，经常遇到需要团队共同完成一份展示用 PowerPoint 演示文稿（下简称 PPT）的场景，这其中的排版工作通常又是由我来把关的。奈何我所呆过的团队还没有见到能在排版技巧上超过我的（虽然我的团队定位是个技术人员），因此决定整理一篇我自己常用的排版和美化技巧，希望可以帮助大家更有效率的完成各种排版。\n咦，这话我是不是说过？\n阅览前注意 我所用的排版工具为 Microsoft Office 365 PowerPoint。本文所述的操作仅保证在该软件上可用，但理论上同时适用 Microsoft Office 2016 及以上版本。\n请不要使用 WPS Office 排版。WPS 使用的动画以及排版方式、功能支持等与 PowerPoint 有一定区别。混用两个软件会有意想不到的后果。\n这篇文章相对于讲 Word 的文章会有一些杂乱，因为这篇文章不会讲整个工作流，更像是实用技巧合集，还请见谅。\n我不是设计专业。这也不是专业建议。文中提到的设计技巧仅供参考，欢迎交流指正。如果你真的做到了怎么调整 PPT 都不能满意的程度，首先恭喜你已经在竞赛这条道路上走的很远了，其次，不如去让专业的人去干吧，花钱找人美化。相对的，不到这个程度也不建议你孤注一掷。\n版权声明：本文中所用 PPT 模板仅作展示用，版权归属于原作者。\n协作方法？ 理论上，最佳且最有效率的协作方法仍然是使用在线文档，支持同时编辑，不需要将文档传来传去。然而，除非你是 Office 365 订阅者且可以正常访问 Office 在线服务，可以使用 Office 365 的在线文档服务，否则暂时没有任何的在线文档服务支持制作精美 PPT 所需的高级排版和美化需求。因此在大多数情况下，推荐 PPT 内容和排版美化由不同的人负责。团队成员之间应保持经常沟通，最好能线下一起商量，方便第一时间给出意见。当然，请尊重互相的意见，避免争吵。\nPPT 模板？ 通常情况下，你不可避免地需要使用一个 PPT 模板，除非你真的很懂设计（这种情况下你也不需要继续读下去了），或是你参加的竞赛很水，不需要很好看的 PPT。为了良好的展示效果，花钱买模板很难避免，除非你能找到非常不错的免费资源。\n怎么找？ 如果你问的是“去哪里找免费又好看的模板”？抱歉，本文不提供这种途径。问这个问题之前不如去搜搜。\n但是如果你不知道你该怎么找到你喜欢的模板，不如先确定一个主题颜色。如：对于科技风的 PPT，去找一个蓝色系的模板（通常深色的比较酷）；做农业的，去找一个绿色系的模板。\n你该怎么用？ 如果模板中的某一页符合排版要求，请不要客气，直接不加修改使用该页便没有问题。你可以做一些微小的调整，如字号修改等，改动地越少越好。模板的设计师通常已经帮你考虑好了这页的布局，所以直接用准没错。反倒是乱套用，这页挑一个元素、那页再挑一个元素，随便地组合在一起，一定会使别人说你在套模板。以下放一个错误案例：\n请避免以下几个行为：\n像上图那样不按比例缩放物件，特别是图片。缩放图片时你总是应该按住 Shift 等比例缩放； 在完全没有必要修改已有布局的情况下修改布局； 把另一个不属于背景的物件做成背景并堆叠，或是无脑堆叠本不改堆叠的物件； 使用另一个风格不同的模板的布局并强行应用之。同时使用两个模板的布局是可以被接受的，前提是两个模板风格相同。例如：除了标题艺术字以外，你应该避免在一个科技风格的模板中用带艺术字（并非 PowerPoint 自带艺术字功能，而是指那些使用花体字、毛笔字等艺术字体）的布局； 加入动画，无论是切换动画（翻页动画）还是物件动画（出现、消失等），除非模板本身包含这样的动画，或是有不得不这么做的理由。后文会详细讨论这点。 如何开始？ 听起来似乎很简单，但是如果不注意的话会踩很多坑！\n我个人推荐在拿到模板的第一时间创建一个副本，并只在副本上进行修改，这样子 PPT 的母版、主题颜色等各种设置都会被完整保留下来。此时如果你想从头编辑，你可以再删除所有页并从原模板复制需要的幻灯片并粘贴至需要的位置。\n……啥？你问“母版”“主题颜色”都是啥？\n如果你问出这种问题，那么你还没有接触到使用模板的基础。接下来我会解释。\n还需要注意哪些？ 这里我们规范一下标准的叫法：\n一个 .ppt 或 .pptx 文件叫一个演示文稿，为了方便，本文可能会俗称之 PPT； 一个演示文稿中的“一页”或“一个画面”叫一张/页幻灯片，本文一直会遵守这点。请不要说“一页 PPT”了； 一张幻灯片内的某个图片、形状、文本框等可选择的对象称之为对象或物件。 幻灯片母版 模板中有一些背景元素你觉得不需要，但是却不能编辑？这些通常被定义在母版中。这里借用 Microsoft 的官方文档：\n若要使所有的幻灯片包含相同的字体和图像（如徽标），在一个位置中便可以进行这些更改，即幻灯片母版，而这些更改将应用到所有幻灯片中。 若要打开“幻灯片母版”视图，请在“视图”选项卡上选择“幻灯片母版”：\n母版幻灯片是窗口左侧缩略图窗格中最上方的幻灯片。\n编辑幻灯片母版时，基于该母版的所有幻灯片将包含这些更改。但是，所做的大部分更改最有可能成为与此母版相关的幻灯片版。\n在“幻灯片母版”视图中更改版式和幻灯片母版时，正在处理你演示文稿（在“普通”视图中）的其他人无法因意外而删除或编辑你进行的更改。相反，如果你在“普通”视图中进行处理，并发现无法编辑幻灯片上的元素（例如，“为什么无法删除此图片”），这可能是因为尝试更改的内容是在幻灯片母版或布局母版上定义的。 若要编辑该内容，必须切换到“幻灯片母版”视图。\n说的够清楚了哦。不再解释了。\n主题颜色 比较专业的 PPT 模板通常会为你定义好一套主题颜色。请善用他们，这是设计师认为在这个模板上最适合的颜色。若是模板没有自定义主题颜色，那不妨看看“最近使用的颜色”一栏。大多数情况下你只需要用到定义好的颜色，无论是强调色还是普通颜色。当然，这里不涉及复杂的文字排版，因此你可以安全地使用格式刷，一样是很方便的。\n开始编辑 在做好准备工作，拿到需要的材料后，你便可以开始 PPT 编辑了。接下来的部分讲罗列我会用到的一些小技巧。\n封面/标题页/结尾页 对于标题页/结尾页，大多数评委老师都喜欢看“高端大气上档次”的玩意，无论是什么类型的 PPT，都希望看到毛笔字/艺术字标题以及一个带一些渐变的背景，尽管我个人不喜欢这样的风格：\n如果你使用的模板没有这样的封面/结尾页，你大概率需要手搓一张这样的幻灯片。这里需要用到两个技巧：蒙版与艺术字排版。\n蒙版 蒙版在 PPT 中通常表现为盖在背景图上方，部分或完全覆盖背景图的一个长方形。使用这层蒙版会给你的封面带来渐变效果，看起来会比较高级。对于上方展示的封面，其蒙版是这样的：\n你可以通过选中图形 - 右击 - 设置形状格式 - 形状选项 - 填充菜单看到其具体的填充方式。通常采用方向为横向的渐变填充，最简单的变体是在两侧放同样的颜色，一侧设置透明度为 100%，另一侧设置 0%，便可得到一个简单的渐变。再将其盖在背景图上即可。你也可以采取不同的渐变方式，达到不同的效果。这里留给读者自行探索。\n艺术字排版 在标题中所用的艺术字通常为某个毛笔字体。以上面的图为例，你可以发现这四个字通常是分开写在四个文本框里的。相较于将标题全部写在同一个文本框内，这样做的好处是方便你进行更自由的排版。即使你觉得将四个字横着摆放就已经够了，我仍然推荐你这么做，因为这类字体的通病是不符合字体照排学的规矩，字间距会拉得很大，看起来会非常丑。\n找一个合适的毛笔艺术字体，自由摆放试一试吧。当然，通常不同的字体会有不同的字体授权协议，请合法地使用字体。\n“开始”菜单 自此开始的操作都可以在“开始”菜单找到。思索再三，我还是决定采用分菜单断章节的方式，要不然实在是太乱了，不方便寻找。\n组合 一个制作精良的模板通常会大量使用组合。你可以点击排列 - 选择窗格打开选择窗格（这个东西很重要，请一定记住！）。例如下图中，右上角的导航条（物件“组合 41”）就是一堆文本框和平行四边形的组合。这样的组合可以被嵌套（即组合之中再包含小组合）。如果你到现在还不知道有这个玩意，那你是真的不会做 PPT。\n将很多物件通过组合操作组合后，对其缩放时会对整个组合整体缩放，而不是对组合中的每个对象缩放。需要注意的是，如果组合中有文字，文字的字号不会改变。通常缩放后有必要重新调整其中文字的字号。\n如果你只需要某个组合其中的某个物件，或是调整某个物件的属性，在组合的情况下不能完成的，请对其使用取消组合。如果有必要，请再次对这些物件使用组合（如果重新组合可用，你可以直接使用之，PowerPoint 会自动帮助你重新组合上次取消组合的物件）。以上的操作都能在排列菜单中找到。\n如果需要同时选中多个物件，可以使用鼠标在空白处拖动（选择框必须大于物件大小），或是按住 Shift 或 Ctrl 同时点击物件。打开选择窗格的时候，你也可以直接点击选择窗格内的对应物件。不会有人连这个都不知道吧？\n图层 熟悉 PS 的人应该会很清楚这个名词。图层表示不同物件的层级关系。在上层的物件会覆盖下层物件。在排列菜单中，排列对象下方的四个按钮就是帮助你调整物件的图层关系的。你可以在选择窗格中看到具体的图层关系。使用选择窗格右上角的上下箭头按钮也可以调整当前选择对象的图层。\n需要注意的是，对于已经组合的物件，其图层调整只能在组合中进行；组合也只能被整体调整图层（即视为一个物件）。\n如果你发现某个物件被挡住，你就应该调整图层了。如果你只是想临时隐藏他们，以便编辑其下方的物件（比如文本框被图片挡住，你想编辑文本框中文字时），请在选择窗格中点击对应物件右边的“眼睛”图标以隐藏他们，而不是把他们拖走，编辑完再拖回来，这样你会弄乱你做好的排版。\n对齐 不要傻傻地手动调整多个相同物件的对齐和居中操作啦，试试对齐功能吧！这个操作依然是在排列菜单中。\n像是这样的四个框，我们就可以用对齐中的横向分布操作让他们快速对齐。首先，像上图一样将每个框内的所有内容选中并分别组合，然后选择四个组合好的物件，点击横向分布按钮，PowerPoint 将自动按照最左和最右两个物件的位置帮你调整中间两个物件的间距，确保他们间距一致。纵向分布同理。如果你希望让某一个框直接居中，那选择水平居中或垂直居中即可。\n如果你发现使用横向/纵向分布之后得到的结果很怪，那大概率是你漏组合了某个物体。撤销一下重试吧。\n快捷键提示：撤销 Ctrl + Z，恢复 Ctrl + Y。\n文字操作 字体 选择一款好看的字体对于 PPT 整体展示的效果至关重要。标题的字体选择在上文讨论过，这里不再赘述。\n通常情况下，PPT 的正文需要使用无衬线字体（如黑体）。通常默认的选择是微软雅黑，但如果你希望更进一步，可以试试使用一些网络上制作精良的开源字体/免费可商用字体。这个链接包含了许多免费可商用字体，应该够你用了（感谢 @展哥更新了 的整理）。在这里我也推荐一些我认为基本上百搭的字体：\nHarmonyOS Sans - 由华为设计的开源字体 思源黑体（Source Han Sans） - 由 Adobe 设计的开源字体 Noto Sans - 由 Google 设计的开源字体 通常字体后标 Sans 表示其为无衬线字体（Sans-serif）。\n但请记住，在决定使用这些三方字体时（包括标题艺术字），你需要保证文件 - 选项 - 保存 - 将字体嵌入文件为选中状态，且选中嵌入所有字符。这样你在一台新电脑打开该演示文稿时，才会正确显示字体。\n字体渐变 字体填充颜色也是可以设置渐变的！具体的方法和设置蒙版渐变的方法差不多，选择文字后右键，设置形状格式 - 文本选项 - 文本填充与轮廓。\n分散对齐 如果你希望文本宽度随着你的文本框长度而自动调整，试试用分散对齐而不是手动敲空格！\n“插入”菜单 以下大部分内容都可以在“插入”菜单中找到，部分会涉及其他部分。\n图片 更改图片 通常一个 PPT 模板会带很多图片。请记住：所有的图片都是可以替换的，除非做模板的人不希望你用他的模板。如果你正好有比例适合的图片，请你直接右击图片 - 更改图片即可。不需要再额外插入图片了。就这么简单。\n如果选择的图片和原图片比例不相同，PowerPoint 可能会裁剪或缩放图片，这点还请注意。你可以在替换后手动裁剪，但最好是在替换前把图片裁剪好。\n如果你真有必要手动插入图片，你可以使用格式刷应用图片的边框、投影等属性。是的，图片可以使用格式刷！视频也可以！\n设置图片格式 通常不建议你随意修改，毕竟模板应该有足够的图片够你借鉴。但是如果你真的要改，那基本上是和上面一样的操作。\n图片效果 看到下面那些稍微有些倾斜的图片吗？实际上这是通过图片格式菜单内的图片效果 - 三维旋转实现的。你可以尝试不同的组合，使平面的图片看起来更立体。\n删除背景 在图片格式菜单内有 Microsoft 自带的删除背景工具，虽然不是很好用，但能解决大部分简单的问题。你可以用标记要保留/删除的区域按钮修正抠图结果。这里就不做展示了。\n如果你的图片比较复杂，那还可以使用 AI 抠图工具，比如 remove.bg。虽然不是完全免费的，但预览版的质量已经够用了。\n手机 Demo 这其实不算是 PPT 使用技巧，算是我附赠的一个部分吧。如果你的项目涉及移动端的展示，你很大可能需要展示一个带手机壳的 Demo 界面：\n如果你想快速地生成这样的展示图（无论是手机还是电脑），可以试试用 MockUPhone 生成像上面一样的平面的图片，或是用 HEIP 插件中的创意工具 - 设备样机功能生成立体的图片。\n图形 通常不建议你自己插入图形，因为模板中给出的图形已经足够使用，直接借鉴即可。这里只讲一个小操作：双击图形内部可以编辑文字，即在图形中直接插入文字，不需要文本框。大部分情况下该功能足够满足你的需求，但如果你的图形本身比较奇怪，直接插入文字会使文本溢出到图形外，那使用文本框才是明智的选择。编辑文字的操作对于图片同样适用。\n……好吧，其实你可以直接无脑全部用文本框的。\n图标 通常一个 PPT 模板也会带很多图标。如果不加思考地直接往上套用，很可能出现图标和文字内容对不上的问题。如果你是 Office 365 订阅用户，你可以直接访问图标库。直接点击图标按钮你就能使用各种图标了，无论是空心的还是实心的。如果不是，你可以找找网络上的免费图标库，比如 Tabular Icons。\nOffice 365 还是很方便的，你可以使用 Microsoft 提供的许多素材，包括素材图、图标、透明的人像抠图、视频等。\n对于 SVG 格式的图标，如果你只需要图标的一部分，你还可以拆解他们。执行取消组合操作即可，PowerPoint 会帮你将其转换为可编辑的对象。\n3D 模型 注意：本特性只在 PowerPoint 2016 及之后的版本可用，WPS 仅可展示不可编辑，但动画会展示出错。如果你已知展示/答辩用的电脑仅支持 WPS 或更早版本的演示，请考虑删除动画或直接放弃使用 3D 模型。\n如果你的项目中有很酷的建模，你可以将建模导出并直接插入到 PPT 中进行展示，甚至可以插入动画（虽然我不喜欢动画，但是这其实还真的挺酷的）。\n如果你是 Office 365 订阅用户，你还可以使用 Microsoft 的素材库，里面甚至还有自带动画的模型。这里我们就用素材库中的模型做演示（我选择了一个动物细胞）。\n插入模型并选中该模型后，你可以看到 3D 模型菜单。其中，3D 模型视图中会内置一些预设视角，你可以直接应用他们，或是拖动模型中央的旋转图标手动旋转之。重置 3D 模型按钮将恢复模型到其默认视角。\n这时如果进入动画菜单，你可以看到一些仅适用于 3D 模型的选项：\n具体动画是什么效果这里就不作展示了。请读者自己试试看吧，用得好效果会非常惊艳的。这里我只放一个基础的例子：比如你希望该细胞在你讲的时候持续不停地旋转，此时你便可以使用转盘动画并设置效果选项为连续、旋转轴为对象中心。\n“设计”菜单 如果你是使用模板的，那你基本上用不到这个。唯一需要注意的是，除非你有特殊的考量，否则幻灯片大小推荐为宽屏（16:9）而非 4:3。不仅是因为宽屏已经是主流显示器的标配，而且宽屏比例会带来更多布局空间。\n“切换”菜单 在这里你可以指定切换时使用的动画（下称“翻页动画”）。通常情况下你完全没有必要加上翻页动画。但如果你确实觉得你的展示不够丝滑，你可以考虑使用淡入/淡出或平滑动画中的一种。其余的翻页动画太过花哨且没有必要，只会分散听讲人的注意力。\n平滑动画 注意：此特性仅支持 PowerPoint 2016 及以上版本。WPS 虽然支持，但其移动算法和 Office 有区别，操作不当可能会出现意想不到的问题。\n让我们先看看 Microsoft 的官方描述：\n平滑切换功能可将从一张幻灯片到另一张幻灯片的平滑移动具有动画效果。\n可对幻灯片应用平滑切换，以在各种对象（如文本、形状、图片、SmartArt 图形和艺术字）之间创造移动效果。但是，图表不会变化。\n如何设置平滑切换\n若要有效地使用平滑切换，需要有两张幻灯片，其中至少有一个共同对象，最简单的方法是复制幻灯片，然后将第二张幻灯片上的对象移动到其他位置，或者复制并粘贴一张幻灯片中的对象并将其添加到下一张幻灯片。接着再对第二张幻灯片应用平滑切换，以查看平滑如何自动形成对象的动画并移动对象。以下是操作方法：\n在左侧的缩略图窗格中，单击要向其应用切换的幻灯片，该幻灯片应是要在其中添加应用了平滑效果的对象、图片或文字的第二张幻灯片。 在“切换”选项卡上，选择“平滑”。 也就是说，连续的两页中如果有相似元素（可以缩放或编辑图形文字，PowerPoint 可以识别到），那么 PowerPoint 在翻页时会自动为其加上补间动画。正如上文所说，复制粘贴是制作平滑动画最好的方法，可以保证平滑动画按预期生效。利用这个功能，你可以轻松地制作动态的流程图，点一下就出现一个框的那种，比起在页面上加一堆动画少了很多工作，而且更美观。当然，如果你的比赛限制 PPT 的最多页数，这个技巧还是少用……\n需要注意的是，如果元素被包含在了一个组合中，PowerPoint 不会为其生成补间动画。你也可以反过来利用这个特性阻止 PowerPoint 自动创建你不希望看到的动画。你也可以用平滑动画的效果选项来控制哪种对象需要被平滑动画过渡。通常情况下选择对象可以满足大部分需求。选择文字或字符虽然很酷，但满屏幕的文字乱飞，实在是太分散注意力了。\n以及，不管使用的是哪种翻页动画，都请注意持续时间。平滑动画的默认持续时间是 2 秒，这个时间略有些长，对于答辩这种紧张环节，有这 2 秒的动画会导致你的演讲中间有很多的空当，连续性不是很好。一般情况下，设置为 1 秒的效果我认为是最平衡的，有必要的话还可以更短。\n如果你不想一个一个设置，你可以点击应用到全部按钮统一应用这个动画。\n当然，还是那句话，实际上做动画是完全没有必要的，除非你认为使用动画会让你的演讲逻辑更为清晰，否则你直接把流程图这种东西完整放出来也无伤大雅，还不会浪费翻页所占的时间，更不会分散听讲人的注意力。\n“动画”菜单 上文提到的“切换”是对整个幻灯片的，对于单个物件则是使用动画。\n就如上文所说，对于一般答辩用的 PPT，动画是完全没有必要的。此处不再赘述理由。虽然我自认我还算擅长制作动画的，还尝试用 PPT 动画基本还原了《原神》可莉的角色演示开头部分，但是这里我不希望扯太多。如果有必要的话，这部分我会单开一篇文章。\n“幻灯片放映”菜单 此处没有什么需要注意的，但需要提一个小点：\n如果你使用了 PPT 模板，且在编辑完后放映时会自动翻页，是因为其设置了排练计时。请在此处禁用使用计时选项。\n“视图”菜单 这部分是方便你进行编辑的辅助部分。\n通过更改演示文稿视图，你可以尝试不同的浏览模式。如果你需要批量修改幻灯片的顺序，你可以选择幻灯片浏览视图。你还可以通过右下角的按钮快捷进入该视图。\n上述提到的幻灯片母版操作就在这里。\n如果你觉得手动对齐某些物件比较困难，考虑开启网格、标尺和参考线其中的一个或几个。点击旁边的备注按钮会展开/缩起幻灯片下方的备注框，在那里可以填写一些备注。在默认的放映模式下，如果存在多台显示器，这些备注会被展示在一个显示器上作为提示，同时 Powerpoint 还会预览下一页。\n其他操作 这边会记录一些我觉得有必要的其他操作（比如快捷键）。\n这些内容实际上都是常识。不会的话，那么你小学的微机课一定没好好上。\n快速复制 按住 Ctrl 的同时拖动物件可以复制该物件。\n水平/垂直移动 按住 Shift 的同时拖动物件可以保证物件水平/垂直移动。\n上述两个键可以一起按，达到水平/垂直复制一个物件的效果。不要给我再 Ctrl + C/Ctrl + V 了！\n等比例缩放 按住 Shift 的同时缩放物件可以等比例缩放。在插入图形的时候按住 Shift 可以保证插入的图形长宽一致。\n中心缩放 按住 Ctrl 的同时缩放物体可以使图形中心缩放。在插入图形的时候按住 Ctrl 可以保证绘制出的图形以光标初始落点为中心。\n上述两个键可以一起按，达到什么效果不用我说了吧。\n终于结束啦！ 再次搬一下隔壁文章的致谢：\n大概能想到的操作就这么多了。水平有限，如果有需要补充/指正的，欢迎在评论区留言。这篇文章是我设立这个博客写的最累的一篇了，也不知道能帮到大家多少。总之，感谢你读到了这里，愿我们能共同进步！\n希望这是我最后一次写这种文章了。\n我好累啊。\n","date":"2025-03-06T00:00:00Z","image":"https://williamwei.top/p/ppt-tips/cover_hu_c936c13bb051f1f0.webp","permalink":"https://williamwei.top/p/ppt-tips/","title":"PowerPoint 技巧合集"},{"content":"我平常会打些比赛，经常遇到需要团队共同完成一篇技术文稿/论文的场景，这其中的收尾排版工作通常是由我来把关的。奈何我所呆过的团队还没有见到能在排版技巧上超过我的（虽然我的团队定位是个技术人员），因此决定整理一篇我自己常用的排版技巧，希望可以帮助大家更有效率的完成各种排版。\n阅览前注意 我所用的排版工具为 Microsoft Office 365 Word。本文所述的操作仅保证在该软件上可用，但理论上同时适用 Microsoft Office 2013 及以上版本。\n请不要使用 WPS Office Word 排版。使用 WPS 排版出来的文档在 Word 上打开会出现意料外的区别。\n实际上，如果你希望一步到位，最好的方法是使用专业的排版工具，如 Typst、LaTeX 等。他们最大的特点在于他们不是所见即所得（WYSIWYG）编辑器，需要你使用类似于代码的语法进行排版，具有较高的门槛，但能保证排版正确（所见即所想，WYSIWYW）。我个人非常推荐你掌握至少一种这样的排版工具，特别是当你有论文投稿需求时。这里不提供这两者的比较，还请感兴趣的读者自行搜索。\n合理的工作流 理论上，最佳且最有效率的工作流是使用在线文档，支持同时编辑，不需要将文档传来传去。然而，除非你是 Office 365 订阅者且可以正常访问 Office 在线服务，可以使用 Office 365 的在线文档服务，否则暂时没有任何的在线文档服务支持论文所需的高级排版需求。因此在大多数情况下，无论是通过网盘、版本管理工具还是直接通过聊天软件传文档，文档都需要在不同编辑者之间传递并进行版本迭代，此时便需要有人专门进行校对和格式调整（下称排版者）。在此提供三种较为合理的工作流：\n在开始编辑前便使用修改样式功能定义好标题、正文等格式，后续编辑者编辑时必须使用预设的样式编辑（不要使用格式刷或手动调整格式），最后由排版者进行检查； 在开始编辑前不定义格式，但所有编辑者必须使用 Word 默认预设样式进行编辑（不做任何调整），最后由排版者使用修改样式功能进行统一修改12； 在开始编辑前便使用修改样式功能定义好标题、正文等格式以及大纲结构，确认无误后开启文档保护功能并限制手动修改格式，再由各个编辑者负责自己的部分，最后再由排版者进行最后的调整。 我个人推荐第 1 种工作流，可以极大的减少排版者的负担。但若多数编辑者不擅长 Word 操作，则使用第 2 种工作流门槛更低。若排版者愿意多做一点工作，也可以要求不同编辑者分开工作，向排版者分别提交自己部分的 Word 文档，最后由排版者整合为一个文档。在这种情况下，如果出现一位编辑者需要负责不连续的多个段落的情况，建议将不同段分开保存而不是合为一个文档，方便排版者拼接。例如：编辑者 1 负责段落 1、3，编辑者 2 负责段落 2，正确的段落顺序为 1、2、3，则编辑者 1 需要将段落 1、3 分别保存为两个 Word 文档。\n2025/03/15 更新 - 在尝试使用第二种方法时，我们发现仍然有多数编辑者不由自主地为文字加上不必要的格式，非常令人讨厌。考虑到大家对文字处理经验的极度匮乏，在此我提出上述第三种方法，完全限制了这种不由自主地操作。请在正确定义所有格式之后在审阅 - 保护 - 限制编辑处打开限制对选定的样式设置格式。此操作将限制一切手动格式编辑，只允许套用预设样式。此时如果文档大纲也已经确定，排版者也可以选择预先填写好所有部分，并设置好所有区域的格式，并要求其余编辑者只完成自己的部分，后续通过审阅 - 比较 - 合并功能合并大家的文档。\n真心希望不要再有让我血压飙升的编辑者了……\n这里也再多啰嗦一嘴：各位编辑者在编辑之时/后务必要仔细检查后再提交，无论是内容上还是格式上（比如全半角标点（例如俗称的中英文引号问题）、多余的空格、错别字和 AI 生成的文本特有的 Markdown 标记等）。尤其是现在生成式 AI 的广泛应用，很容易出现 AI 生成的内容未经仔细审核便直接提交的情况（我们遇到的这种情况太多了）。也不要在不经过检查和校阅的情况下直接提交最终作品。\n使用样式功能 上述工作流种提到最多的一段话便是使用修改样式功能。这是排版能够快速进行的核心操作。“样式”菜单可以在这里被找到：\n通常情况下，如果样式被正确定义，你只需要使用这部分便可完成所有排版。左侧的字体和段落菜单不需要使用。\n了解段落 在开始排版之前，我们首先要有段落的概念。\n通常，按下 Enter 之后，Word 会为你分段，将你刚刚键入的文字划为一个段落，此时你就可以为这个段落设置统一的样式。\nWord 会用一个符号标记内容在此处分段（黄色高亮部分）：\n同样的，Word 也允许换行时不分段，此时应使用 Shift + Enter 换行。Word 会用一个下箭头标记该换行。\n注意到在没有分段的时候，下方的示例文字仍为标题样式，则表明此时上下仍为同一段落。\n修改样式 我们以某大学“挑战杯”商业计划书格式要求为例，对样式进行修改。\n章标题：三号，黑体，居中。 节标题：四号，黑体，居左。 条标题：小四号，黑体，居左。 正文：小四号，中文字体为宋体，西文字体为 Times New Roman 体，首行缩进，两端对齐。 行距：章、节、条三级标题为单倍行距，段前、段后各设为 0.5 行（即前后各空 0.5 行）。正文为 1.5 倍行距，段前、段后无空行（即空 0 行）。 点击样式菜单右侧的箭头展开下拉菜单，你会看到这样的菜单：\n此时你可以点击创建样式创建新样式，或是右击现有样式 - 修改直接在原有样式基础上修改。此处我们将直接修改原有样式（章/节/条标题分别覆盖标题 1/标题 2/标题）。\n我们以标题 1（章标题）为例讲解每个条目的具体作用。\n样式基准：基于某个样式进行修改，选择一个样式后会将该样式的配置复制过来。 后续段落样式：字面意思，编辑时按下 Enter 换行，进入下一个段落时默认的样式。通常选择“正文”能满足大部分需求。 “格式”框种部分：第一行设置字体、字号、字形、字重、颜色等；第二行用于设置简单的段落格式。实际上除了对齐之外，行距、缩进、段前后空行一般不在这里设置。 “添加到样式库”选项：通常情况下选中，这样你的样式才能被保存。 “自动更新”选项：通常不建议选中。选中后你在编辑时对该段落进行手动的格式修改时会自动更新对应的样式，这样不便于你对一些特殊要求进行处理。 2026/01/03 更新：如果你拿到了由 WPS 编辑出来的模板，则“自动更新”选项默认打开。因此如果你是在某个提供的模板上进行编辑的，请一定记得在任何编辑开始之前检查此选项是否打开，否则一旦开始编辑正文，对格式（尤其是段落格式）进行部分修改后，Word 会自动更新所有应用了样式，你必须执行一次撤回操作，每次都需要这样。并且，所有基于该样式创建的样式均会改变且无法撤回（我觉得这其实是个恶性 BUG，撤回的时候无法影响样式），此时你只能不保存文档内容重新来过。我在编辑期末论文的时候就遇到了这个问题，非常烦人。\n其余没有提到的条目，保持默认即可。读者可以自行探索。\n我们选择“三号黑体居中”对应的选项。但请注意：我们还没有设置行距。点击格式按钮，你会发现更多可以设置的选项。我们选择段落，并按照要求设置行距。\n段落设置 如果你发现选项框内的单位错误（如段前/段后间距默认单位为磅），你可以手动输入正确的单位。此处直接在框中输入“0.5 行”即可（数字和单位之间需要空格）。\n由于我们修改的是“章标题”（一级标题）格式，我们需要将大纲级别设置为 1 级。对于二级、三级标题等同样需要注意这点，否则在需要生成目录的场景下，Word 将不能正确识别到标题。\n对于正文，大部分情况下需要首行缩进。此设置可以在缩进 - 特殊 - 首行中找到。有些时候，Word 会默认缩进 0.74 厘米/0.28 磅3，此时可以和上面一样，直接键入“2 字符”覆盖错误的单位。\n在“换行和分页”“中文版式”页中，你还可以找到更多有用的设置。这里举一些例子。\n孤行控制：防止在页面顶端单独出现一行的情况。例如，你的内容刚好占一页带一行，打开该选项时，Word 会将倒数第二行划到下页。通常，专业文档要求正文使用孤行控制。 与下段同页：建议在标题中使用，正文中不使用，可以避免标题出现在页面底部。 段中不分页：打开后 Word 会尽量让一个段落在同一页中显示。同样建议在标题中使用，正文中不使用，可以避免标题换页。 段前分页：如果有一级标题强制分页的需求，请使用它，而不是使用分页符，更不是狂敲 Enter。 “中文版式”页中的内容在此不做讨论，通常保持默认即可。感兴趣的读者请自行探索。\n在此处我们勾选图片中的选项，此时段落设置便完成。\n字体设置 先别急！注意到此时西文标题还在使用“等线”字体，通常这是不符合规范的。再次点击格式按钮，选择字体。\n对于黑体，其自带西文字形，此处直接使用中文字体即可。但请注意的是，这些较老的中文字体的西文字体通常为等宽的，不适用于正文。如果正文中需要使用，你需要将西文字体设置为其他合适的字体。本例中，正文明确要求了宋体 + Times New Roman，这也是大部分文档的要求。\n至此我们便完成了章标题样式的设置。之后，按照相同步骤设置其他样式即可。请务必为每一种不同的段落都设置一种样式，包括图名、图（设置居中）、表名等，即使他们只使用了一次。\n编号设置 如果你的标题需要设置编号（如 一、标题 1），你可以点击格式，选择编号并设置正确的编号格式。\n若没有需要的编号格式，你可以定义新编号格式，只需选择对应的编号格式、在编辑格式框中输入正确的格式即可。我们以定义 [1] 这种编号为例：\n需要注意的是，此方法不适用于类似 1 1.1 1.1.1 这样的编号格式。这种编号格式在 Word 中称为多级列表，在样式编辑中不支持。此时需要你手动添加这些编号。当然，你可以手动键入所有类型序号，只不过这样不能自动更新序号。\n通常，编号设置需要在段落设置之前完成，因为编号设置后会覆盖段落设置的内容。在带编号的标题中，段落设置中的缩进尤为重要。\n在带编号的段落中，应使用悬挂缩进而非首行缩进，即使要求需要首行缩进。此时的首行缩进应被左侧缩进替代。悬挂缩进的字符数量应与序号占有的字符数量保持一致或大于该数（以中文全角字符计算，一个英文字符/数字符号可估计为 2 个中文字符），取决于怎么设置最舒服。例如：假设三级标题中要求首行缩进 2 字符，使用如 1. 一样的序号，则合理的设置为左侧缩进 2 字符（对应首行缩进），悬挂缩进 1 字符（序号占至多 1 个中文字符的空间4）。得到的效果如下5：\n正确设置缩进后，可以保证中文字符对齐，看起来较为美观。采用 Word 默认设置则一般达不到这种效果。如果你好奇为什么需要这么设置，请查看文章末尾的附录。\n如果你发现自动序号错误，比如在新的一节中仍然接着上节的序号，请右击该序号 - 重新开始于 1（或者使用继续编号/设置编号值手动设置正确的序号）。此时该序号的缩进会变为默认。你必须手动设置该序号的缩进，因为使用样式会使其默认继续编号。\nWord 虽然有调整列表缩进的功能，但是因为其只能以厘米为单位，对于需要按照字符对齐的场景不太好用，因此这里不采用。\n开始编辑 不管是在编辑前设置样式，还是编辑后再设置样式，所有编辑者必须使用样式功能进行编辑，禁止手动编辑格式，禁止使用格式刷，这样可以保证所有段落的样式统一，且能在样式被修改之时自动更新文档中的对应部分，同时方便 Word 自动识别文档大纲，方便后续的自动目录操作。\n当光标置于一个段落时，点击对应的样式即可自动套用到整个段落。不需要选中段落。若选中段落则必须选中整个段落，否则样式只会套用到段落的一部分。如果需要选中多个段落套用样式，这点尤其需要注意。\n对于正文部分，此时可以安全地进行手动的文本加粗、斜体等操作。避免对一整个段落都进行改动。就内容上来讲，通过将一整个段落加粗标为重点也等于没标。\n交叉引用 交叉引用在论文排版中很常用，文章的尾注（参考文献）6、涉及序号的部分都使用交叉引用实现。\n尾注/参考文献 通常中国大陆要求的引文格式规范为 GB/T 7714-2015。国内各大学术平台都应该提供了这一格式的引文，你可以直接使用。若你希望参考在线文章（博文、文档等）不存在于学术平台上的文章，你可以使用 Cite This For Me 等工具生成引文（注意选择上述规范）。\n以下是一个符合 GB/T 7714-2015 规范的引文：\n1 [1]梁文锋.基于低成本PTZ摄像机的目标跟踪算法研究[D].浙江大学,2010. 在 Word 中，我们固然可以直接使用这段文字，并手动修改序号、插入对应序号到引用位置。但使用交叉引用功能，可以让该过程更简单，并能在序号更新的时候同步更新文档中对应部分。我们将以上述引文为例进行讲解。\n首先，请参考之前的步骤创建一个“引文”样式。如果规范了引文的排版格式，也请在此处设置好。不要忘记设置编号格式为 [1] 这种格式。为所有的参考文献套用这样的格式，序号会按照顺序自动生成。像这样：\n选中需要插入序号的地方，此例中为“参考文献 1”和句点之间（通常序号放在标点符号前），点击引用 - 交叉引用，选择引用类型为编号段，引用内容为段落编号，选择对应的参考文献，点击插入，便可看到序号 [1] 被插入到了正文中。\n此时选中该序号，点击上标即可使序号变成上标。\n至此该参考文献已经被正确引用/参考。注意到当“交叉引用”窗口打开时，你仍然可以进行选择操作，因此若条件允许，你可以在文档完成后再批量进行该操作。\n图名/表名 这是我最近才意识到的操作。早期编辑文档的时候，图名/表名中的序号都需要我们手动排序并检查，即使这样仍然会出现漏号跳号的情况。由于交叉引用依赖于编号，因此自定义一个编号规则便可以完美解决该问题。\n同样，参照之前的步骤创建“图名”“表名”样式（需要分开创建，否则序号会混乱），并设置好要求的格式。对于编号样式，定义一个类似于这样的编号格式（编号中中文和数字之间默认不空格，需要你手动将中文和数字之间用空格隔开）：\n此时便可以按照设置参考文献一样的步骤设置图名的引用了。此处不再赘述。\n当然，你可以使用选中 - 右击图片 - 题注直接在图下方插入题注，并且也支持自动更新图号（没有对应标签时请用新建标签功能），但是不能使用交叉引用自动更新文档中的对应部分。如果你没有使用交叉引用的需求，不妨试试这个功能，非常方便。\n自动目录 不会有人到现在还不知道 Word 有自动生成目录的功能吧……\n假设你正确执行了上面的流程，Word 应该会正确识别到文档大纲，并可以为你自动生成目录。点击引用 - 目录 - 自动目录即可生成。\n自动目录有一定局限性，它只能显示三级标题以内的内容。暂时没有办法自定义显示的级数。自动目录虽然自动生成，但其更新为手动。内容有变化时，别忘记点击更新目录。\n如果自动生成的目录不够美观，你还可以将光标置于某个条目，通过拉动标尺或是使用段落菜单手动调整每一级的缩进。同级条目的缩进会一起被改变。\n自动目录通常套用正文样式，如果对样式不满意，你只能手动调整，因为套用样式时会破坏目录结构，这点还请注意。\n其他常用操作/提示 以下列出一些很常用的操作，这些操作在文章编辑中较为简单，你应该已经掌握。但如果忘记的话，可以来这里看看。\n页眉和页脚 双击页面顶部/底部空白部分进入页眉和页脚编辑状态，按 ESC 或在页眉和页脚菜单中点击关闭页眉和页脚退出编辑。\n插入页码 在页眉和页脚菜单中选择页码，按照需要选择页码的位置和格式。没有满意的格式时，可以插入现有格式后再手动修改。\n为不同页设置不同的页眉/页脚 需要分节。在布局菜单中找到页面设置 - 分隔符 - 分节符并插入对应的分节符，常用下一页。\n如果只是首页/奇偶页需要设置不同的页眉/页脚，在页眉和页脚菜单中启用首页不同/奇偶页不同选项即可。\n插入当前页中的节标题 在页眉和页脚菜单中选择文档部件 - 域。在弹出窗口中选择域名为 StyleRef，域属性为你需要显示的标题样式名，点击确定即可。\n输出文档为 PDF 点击文件 - 导出 - 创建 PDF/XPS 文档 - 创建 PDF/XPS即可7。如果你电脑里还装有 WPS Office，你可能在编辑界面就能看到“导出为 PDF”选项，使用它会调用 WPS 转 PDF。请不要使用那个工具，如果可能的话，尽快把你的 WPS 卸载。\n最近版本的 Office 365 Word 似乎有 Bug，请保存后关闭文档再打开文档再导出，否则 Word 可能会导出未保存的版本。我已经被坑过了。\n显示/隐藏编辑标记 见下图。打开这个开关会让你看见隐藏的空格、制表符、换行符、分节/分页/分栏符等编辑标记，对于排版特别有用。\n关闭 Office 加载项 如果你的电脑中有程序（如 WPS Office，百度网盘等）未经你允许在你的 Office 中加入了加载项，但你不想要他们的话，请这样禁用他们：\n文件 - 选项 - 加载项 - 选择一个 COM 加载项 - 转到\u0026hellip; - 取消勾选/删除不需要的加载项\n如果可能的话，请在系统菜单中卸载这些程序。我非常讨厌这些软件的行为。\nOfficePLUS 是由成都艾斯莱德网络科技有限公司运营，和微软中国合作的 Office 插件，在中国大陆的 Office 产品中自动安装，不是 Office 自带功能。如果你已经是 Office 365 订阅者，你可以免费使用所有 Office 365 提供的模板，大可不用交这个智商税。这里强烈谴责这个捆绑安装行为，并建议所有人在系统中卸载 OfficePLUS。\n后记 大概能想到的操作就这么多了。水平有限，如果有需要补充/指正的，欢迎在评论区留言。这篇文章是我设立这个博客写的最累的一篇了，也不知道能帮到大家多少。总之，感谢你读到了这里，愿我们能共同进步！\n什么时候世界上的所有文档都能采用 Markdown 格式……我不想用 Word 了……\n附录：关于段落缩进的说明 请看下方的图：\n左侧/右侧缩进：使段落整体向右/向左缩进。 首行缩进：只向右缩进首行文本。 悬挂缩进：只向右缩进除了首行以外的其他行文本。 其中，首行缩进和悬挂缩进为特殊缩进，只能二选一，但都可与左侧和右侧缩进共存。\n但是，如果段落中存在编号，这两种特殊缩进的表现又有些区别：\n存在编号时，使用首行缩进会将首行连带编号一起向右缩进。此时编号和段落正文之间的空距由 Word 自动决定8。 存在编号时，使用悬挂缩进会向右缩进所有行，但不会带上序号。此时编号和段落正文之间的空距等于设置的悬挂缩进值。若该值小于序号所占的宽度/字符数，此时空距由 Word 自动决定。 存在编号时，使用左侧/右侧缩进会将整段（连带编号）一起向右/向左缩进。 看着晕？没事，我也晕。\n由于首行缩进不能与悬挂缩进同时设置，因此如果需要在首行缩进的同时控制编号和段落正文之间的空距，建议使用左侧缩进代替首行缩进，并配合悬挂缩进使用。对于多行文本，这也是比较美观的选择。\n如果所有编辑者都熟悉 Markdown，可以尝试使用 Markdown 协作编辑，用 Pandoc 等工具导出为 Word 文档后再自定义样式。此方法未经过尝试，不能保证使用工具导出的文档在编辑样式时是否会出现问题。\u0026#160;\u0026#x21a9;\u0026#xfe0e;\n上述所有操作可以完成的前提条件是所有人都使用相同的默认样式配置。建议所有编辑者使用同一版本的 Office。\u0026#160;\u0026#x21a9;\u0026#xfe0e;\n如果你总是遇到此问题，请点击文件 - 选项 - 高级，在显示一栏中将度量单位设置为厘米，并开启以字符宽度为度量单位。\u0026#160;\u0026#x21a9;\u0026#xfe0e;\n实际上由于字距调整（kerning）的作用，序号占的空间不足 1 个中文字符。\u0026#160;\u0026#x21a9;\u0026#xfe0e;\n（二）一行则采用了悬挂缩进 3 字符的方案，因为序号占了 3 个中文字符的空间。\u0026#160;\u0026#x21a9;\u0026#xfe0e;\n虽然 Word 有自带的脚注/引文功能，但是可自定义性低，一般不能满足需求。感兴趣的读者可自行探索，我也很欢迎读者交流自己的解决方案。实际上，使用专业的排版工具才是最优解。使用例如 BibTeX 等工具可以直接管理所有引文并自动生成正确的交叉引用，还支持各种规范。各大学术平台也支持使用 BibTeX 格式导出参考文献。\u0026#160;\u0026#x21a9;\u0026#xfe0e;\n其实调用的还是打印服务，因此这和使用打印 - Print to PDF 效果是一样的。\u0026#160;\u0026#x21a9;\u0026#xfe0e;\n似乎通常为 0.78 厘米的倍数。五号字下，0.78 厘米大约正好是两个字符的宽度，示例图片中就是这样。我尝试搜索了一些资料，仍为知晓为何 Office 会有这种行为。注意：经过实验，我只能认为通常情况下是这样，其具体的机制仍不确定，仅供参考。\u0026#160;\u0026#x21a9;\u0026#xfe0e;\n","date":"2025-02-11T00:00:00Z","image":"https://williamwei.top/p/thesis-tips/image_hu_a9087ad9abb5231c.webp","permalink":"https://williamwei.top/p/thesis-tips/","title":"如何高效进行论文排版"},{"content":"zoxide 是一个更聪明的 cd 命令，旨在让你更快速的在目录之间来回切换。\n我是在 YouTube 闲逛时看到这个项目的，感觉很不错就尝试了一下。事实证明，这个工具确实很方便。下文将详细阐述为什么我认为这是个好工具。\nzoxide 有什么用处？ zoxide 受 z 和 autojump 启发而开发。它会记住你每一个 cd 命令的使用频次，这样你就可以快速切换到这些目录。这样说可能有点抽象，但你可以看下方的演示：\nzoxide 还可以与 fzf 配合，以达到互动式的 cd 操作。\n快速入手 zoxide zoxide 支持各大主流操作系统，其安装也非常简单，在官方 README中有详细的教程可以查看，这里仅作简单概述。\n安装 使用主流的包管理器即可安装 zoxide。对于 Windows，可以使用 winget：\n1 winget install ajeetdsouza.zoxide 对于 Linux，使用任意的包管理器（除了 Ubuntu apt，因为更新太慢）安装 zoxide 包或使用安装脚本：\n1 curl -sSfL https://raw.githubusercontent.com/ajeetdsouza/zoxide/main/install.sh | sh 在 shell 中配置 zoxide 支持各平台主流 shell 的配置，仅需将下面的命令输出保存进 shell 的配置文件即可：\n1 zoxide init [shell_name] 例如，对于 Bash，在配置文件中（通常是 ~/.bashrc）中加入以下行：\n1 eval \u0026#34;$(zoxide init bash)\u0026#34; 具体支持的 shell 和配置所需的命令见 README。\n需要注意的是，使用 zoxide 切换目录的命令默认是 z，但是如果你习惯使用 cd 浏览目录，你可以使用以下的 flag 直接替换 cd 或是自定义其他你喜欢的命令：\n1 zoxide init [shell-name] --cmd cd 同样的，使用 fzf 进行互动式 cd 的命令也会从 zi 变为 cdi。\n使用体验 事实上，zoxide 的使用体验和 cd 基本无异。除了对 cd 本身特性（如使用 cd 回到 ~，使用 cd - 回到上个目录等），对于 cd 做了自动补全的 shell，用 zoxide 直接替换 cd 命令一样可以使用自动补全，非常方便。特别是对于路径长的一塌糊涂的 Windows，zoxide 确实能帮助我快速转到目标目录。比如说：我将我的作业代码全部放在 C:\\Users\\William\\Desktop\\Homework\\Code 里，以前打开项目还需要我回到桌面，点击 Homework 文件夹，再点击 Code 文件夹，右击选择使用 Code 打开，现在可以启动 shell：\n1 2 cd Code code . 完事！（注：我使用了 --cmd cd flag 配置。）\n你问我为什么不把作业放到 Documents 文件夹下？因为这里是 Windows，而很多应用喜欢在这里面拉屎，把用户文件全扔在这里面（即使用户指定了其他的保存路径）。事实上，各种应用已经在我的 Documents 文件夹里已经堆了 41 个子文件夹了。同样对于 ~ Home 目录，也是一堆的 dotfiles 和不知名的应用写进去的文件夹。相比之下，只有 Desktop 桌面这个地方是干净的，因此所有的个人文件就放在了桌面下的一个统一的文件夹内（咱是不会让桌面堆满文件夹的）。\n而对于 Linux，得益于目录结构的简洁与合理以及大部分 Linux 应用遵守规范，其帮助不是很显著，但是仍然能省去大部分记忆目录和 cd-ls 组合的时间。\n比如说，我希望修改我的代理配置，我可以使用 cd v2ray 而非 cd /etc/v2ray；现在如果我还希望修改 fish 的配置文件，还可以直接 cd fish 而非 cd ~/.config/fish。对于需要在很多不同目录间来回切换的人，使用 zoxide 无疑是省时的。以及，在这个过程中完全不需要想某个配置文件在什么目录，直接无脑 cd 即可（当然，前提是你已经 cd 过了一次）。\n至于使用 cdi 的场景，因为不太习惯用 fzf，所以还没有什么感想。\n更高级的 zoxide 使用法 对于我这样的普通用户，深度使用 zoxide 的场景并不多，但 zoxide 的潜力不止于此。实际上，zoxide 可以模糊匹配目录。这里简单介绍一下其算法：\n搜索时大小写不敏感。 cd foo 可以匹配 /foo 或者 /FOO。 可以使用多个关键词搜索（包括斜杠），但顺序必须正确。 cd fo ba 可以匹配 /foo/bar，但不匹配 /bar/foo。 cd fo / ba 可以匹配 /foo/bar，但不匹配 /foobar。 最后一个搜索关键词和路径的最后一个组成部分匹配。 cd bar 可以匹配 /foo/bar，不匹配 /bar/foo。 cd foo/bar 不匹配 /foo/bar/baz。 也就是说，如果我希望访问我的作业 Code 下的 Python 文件夹，除了打全名字，还可以使用更有效率的切换方式：cd code py。如果真的很会用这个工具的话，我认为应该能很有效的提高效率。\n此外，zoxide 有许多三方支援，包括 Vim/NeoVim 等。对于重度的命令行使用者，这个工具应该会或多或少帮到你。\n总结 zoxide 在使用上接近原生的 POSIX cd 体验，且对于其目录搜索和快速切换的功能做的也很方便。不管你在什么操作系统下，我都觉得 zoxide 完全可以替代原生的 cd（特别是对于 Windows 上需要和命令行打交道的人）。希望你能喜欢这个推荐吧！\n","date":"2025-02-02T00:00:00Z","image":"https://williamwei.top/p/feelings-about-zoxide/image_hu_ac87e29d297d752b.webp","permalink":"https://williamwei.top/p/feelings-about-zoxide/","title":"zoxide 使用感受"},{"content":" 封面图片：エタクロニクル:Re【公式】\n题目出处：Can You Solve These Equations? by matrix67\n今年也想写一个彩蛋题，正好看到一个很合适的，就直接分享给大家吧。\n本题目由原题翻译而来，如果有条件的话，请务必去游玩原题目！\n题目正文 今年的题目是解方程哦？很简单吧。\n让我们先看一道例题：$2𝒙+7𝒙+5=10𝒙\\Rightarrow 𝒙=5$\n之后有 7 道类似的题目，把他们全解出来吧。\n第一题 $121−𝒊−3𝒊−7𝒊=0$\n$𝒊=?$\n请用纸笔记下你的答案，然后看下一题。\n不确定答案的话，你可以先写下来你认为的答案。你可以随时回看这个问题。\n第二题 $4𝒕+0𝒕+5𝒕+8𝒕+5𝒕=40585$\n$𝒕=?$\n请用纸笔记下你的答案，然后看下一题。\n不确定答案的话，你可以先写下来你认为的答案。你可以随时回看这个问题。\n第三题 $1+2𝒔+3𝒔+4=5𝒔−6+7−8$\n$𝒔=?$\n请用纸笔记下你的答案，然后看下一题。\n不确定答案的话，你可以先写下来你认为的答案。你可以随时回看这个问题。\n第四题 $𝑩2+𝑩𝑩4=𝑩8$\n$𝑩=?$\n请用纸笔记下你的答案，然后看下一题。\n不确定答案的话，你可以先写下来你认为的答案。你可以随时回看这个问题。\n第五题 $(9+7𝒆/2=(4−2𝒆(6−2𝒆$\n$𝒆=?$\n请用纸笔记下你的答案，然后看下一题。\n不确定答案的话，你可以先写下来你认为的答案。你可以随时回看这个问题。\n第六题 $0𝒉1666𝒉𝒉𝒉+0𝒉333𝒉𝒉𝒉=0𝒉5$\n$𝒉=?$\n请用纸笔记下你的答案，然后看下一题。\n不确定答案的话，你可以先写下来你认为的答案。你可以随时回看这个问题。\n第七题 $(80·70·60𝑾)𝑾50=40−30$\n$𝑾=?$\n请用纸笔记下你的答案，然后看下一题。\n不确定答案的话，你可以先写下来你认为的答案。你可以随时回看这个问题。\n最终题目 前面题目的解可能和预期的解不一样，这没有关系。想要赢得这个挑战，你只需要按照你之前记录的解代入下列方程计算：\n$((𝑩6𝒆𝒔𝒕·13𝑾−𝒊𝒔+0𝒉4𝒆𝒔$\n如果你认为你解出了答案，请至上方原题目出处直接提交，若实在没有条件的话，也可以发邮件给：\n1 [答案数字]nyc@williamwei.top 例如：你认为正确答案是 $42$，请发邮件给：\n1 42nyc@williamwei.top 存在小数的话，请将答案四舍五入保留三位小数。\n如果你的邮件被正确投递，说明你成功解决该问题，也许你会收到我的祝福？\n祝你好运，以及新年快乐！\n提示 由于这道题原题有些争议，在这里给些解法提示：\n从方程的形式可以看出，这道题不能按照一般数学方程的解法解决，因此每个未知数其实可以有多种解法，甚至会有写出一组满足所有方程的解之后仍然不能正确解出最终题目的情况。但如果你领悟到了本题的精髓，会发现题目的七个解非常整齐好看。\n最终提示：这个方程不是数学意义上的方程，而是直接的代入，因此解不一定是数字，甚至可能是符号。事实上，所有的未知数的解都可以用一个字符表示出来，并且不一定是 ASCII 字符。\n剧透警告：下方是正确的解法解说视频。\n","date":"2025-01-16T00:00:00Z","image":"https://williamwei.top/p/happy-chinese-new-year-2025/image_hu_354095cd63155309.webp","permalink":"https://williamwei.top/p/happy-chinese-new-year-2025/","title":"2025 新年彩蛋"},{"content":" 封面图片：にゃー\n注意：\n此文章为完全没打过 CTF 的新人初次尝试 CTF 的记录和感想，这不是一篇好的题解，各位 CTF 大神们不要喷我 awa\n另请参阅：\nfurryCTF 2024 寒假赛题目\n本人得分为 1886.5，位次 21（Hydro 排行榜），不得不说比我想象的好太多了。\nfurryCTF 2024 寒假赛官方/非官方题解\n个人感想 这个比赛是我没事逛 Hydro 看到的，觉得有意思就干脆点了个报名。后续到了年末想起来：哎，我是不是在 Hydro 上点了个比赛？于是就着手搞起来了。可惜我这个学校放假晚（实际 1 月 11 日考完），那段时间还在期末复习，没有办法全身心投入，只能看兴趣随意做做。\n结果上来讲……我可能真有打 CTF 的天赋？我本身是写 Python 爬虫和机器学习的，但是在完全没有提示的情况下（我是在比赛后才加的交流群！），除了 Web，Crypto 和那些逆向没办法搞之外，Misc 和 OSINT 解了还蛮多的，鉴定为奇怪的知识懂得还挺多吧（\nCTF 还是很好玩的，下次有机会再来玩玩……只要不太硬核。\n部分题解 A. [beginner]签到题 用一下网易云听歌识曲就行。是彩虹楼，出自造梦西游 3。\n1 furryCTF{zaomengxiyou3} D. [misc]丢失的文档 搜了一下如何将 .asd 文件转为 Word 文档，微软论坛里给出了直接重命名的方法。但是不知道是不是我 Office 365 的问题，在修改后缀名之后 Word 仍识别到是恢复文件。最终想了一个阴间的方法：扔到 Google Docs 上。\n1 furryCTF{How_To_F1x_This_Wor6_D0cument} E. [misc]黑暗 题目给了 8 张黑色 PNG 图，算了下 Hash 各不相同，扔到 Hex Editor 里面看了下几个文件的区别，发现尾部有玄机。\n按顺序提取文件尾部多余的字节可以得到下方字符串：\n1 ZnVycnlDVEZ7SGVsbG9fSUVORF9Bd0F9 Base64 解码即可。\n1 furryCTF{Hello_IEND_AwA} G. [misc]震耳欲聋 这题很意外的让我秒了。因为之前听过 Oscillofun，听到这个音频左右声道严重不对称当即想到应该是这种示波器音频（莉萨如图形）。正好电脑里装着上古的 GoldWave 自带 XY 图像模式，于是就解掉了。\n1 furryCTF{BADAPPLE} M. [misc]此时无声胜有声 网上随便找一个 Midi preview 就可以看到了。\n1 furryCTF{B1ack_Pi2no} R. [misc]图片的秘密 听出来了这是 Robot36 音频。在 Google Play 上有个解码器，让手机录进去就行。\n然后是个 Ceasar Cipher。话说，flag 是拼错了吗？提交时还犹豫了一下这个 WELAOME 是不是 WELCOME……\n1 furryCTF{WELAOME_TO_FURRYCTF!} X. [web]史莱姆的世界 既然是在阿尔法营的作品，那我便直接打开来看吧。为此还注册了个阿尔法营的账号，我以前一直在 Scratch 官网上玩的说。\n找了一圈，flag 就藏在高玩榜的角色造型里面。以及这个 flag 是反过来写的。\n1 furryCTF{The_Wyrms1ayer_0f_Ender_Drag0n} d. [rev]烦人的黑框框 [非预期解，纯菜鸡解法] 我的解法非常阴间和暴力。请不要学我这道题目的解法。\n咱说过，咱就是个写爬虫的，虽然都是 Python，但是我用 VSCode，没有反编译器，用 pyinstxtractor.py 提取出来 .pyc 也看不了。咋办嘞？硬着头皮上！\n既然是个病毒，那不妨扔到 VirusTotal 上看看你的行为（是的，这文件咱第一个上传的），结果发现它在 localhost:56387 上搞小动作。\n既然有一个 data 字段，甚至有个 data== 的请求，那么我估计这程序就是把 flag 通过 BaseXX 的形式一个字符一个字符的发到 56387 端口上。\n在 VirusTotal 上确认这个 Trojan 似乎没有有害行为之后，咱直接在实体机上跑了这个玩意（高危操作！！！）。逆向我不会，监听个端口我还不会吗？\n1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 import socket server_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM) server_socket.bind((\u0026#39;127.0.0.1\u0026#39;, 56387)) server_socket.listen(1) while True: client_socket, _ = server_socket.accept() # Receive data from client data = client_socket.recv(4096).decode(\u0026#39;utf-8\u0026#39;) # Extract the data parameter from the request if \u0026#39;data=\u0026#39; in data: # Find the start of the data parameter start = data.find(\u0026#39;data=\u0026#39;) + 5 # Find the end of the data parameter (either space or end of string) end = data.find(\u0026#39; \u0026#39;, start) if end == -1: end = len(data) # Extract and print the data data_param = data[start:end] print(data_param, end=\u0026#34;\u0026#34;) client_socket.close() 忍受着黑框框，我暴力的抓到了 Base32 加密的 flag。（重启电脑次数 +2）\n1 MZ2XE4TZINKEM62ON52GKX2UNBSV6QRTGJPUGMDEMV6Q==== 1 furryCTF{Note_The_B32_C0de} g. [crypto]Scratch 话说出题人是真喜欢出 Scratch 的题目啊……\n下载下来是一个 JSON。JSON 文件直接改后缀为 .sb3 就能被 Scratch 解析，将这个文件扔到 Scratch 官网上：\n播放了一堆音符，将音符数字转换为 ASCII text 就行。Life is PIANO?\n1 furryCTF{Life_1s_Sing1ng} h. [crypto]MD5 暴力破 MD5！hashcat 是啥不认识，但 Python 咱会写。\n1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 import hashlib import itertools # 给定的 MD5 哈希值 md5_hashes = [ \u0026#34;45c21d962131b80744fe6486cd24fd0c\u0026#34;, \u0026#34;8fb395ce2928cbff098b2155f7eefef7\u0026#34;, \u0026#34;fba373ec33f112d6fc74651cedc0c6c0\u0026#34;, \u0026#34;639849f6b368019778991b32434354fc\u0026#34; ] # 生成所有 5 到 7 位小写字母组合 def generate_combinations(): chars = \u0026#39;abcdefghijklmnopqrstuvwxyz\u0026#39; for length in range(5, 8): # 5 到 7 位 for combo in itertools.product(chars, repeat=length): yield \u0026#39;\u0026#39;.join(combo) # 破解 MD5 def crack_md5(): results = {} for combo in generate_combinations(): md5_hash = hashlib.md5(combo.encode()).hexdigest() if md5_hash in md5_hashes: results[md5_hash] = combo print(f\u0026#34;Found: {combo} -\u0026gt; {md5_hash}\u0026#34;) if len(results) == len(md5_hashes): break return results # 运行破解 results = crack_md5() # 输出结果 flag = \u0026#34;furryCTF{\u0026#34; + \u0026#34;_\u0026#34;.join(results[md5] for md5 in md5_hashes) + \u0026#34;}\u0026#34; print(\u0026#34;Flag:\u0026#34;, flag) \u0026#39;\u0026#39;\u0026#39; Found: again -\u0026gt; 639849f6b368019778991b32434354fc Found: furbbs -\u0026gt; 8fb395ce2928cbff098b2155f7eefef7 Found: seeyou -\u0026gt; fba373ec33f112d6fc74651cedc0c6c0 Found: furlary -\u0026gt; 45c21d962131b80744fe6486cd24fd0c Flag: furryCTF{furlary_furbbs_seeyou_again} \u0026#39;\u0026#39;\u0026#39; 1 furryCTF{furlary_furbbs_seeyou_again} l. [hardware]Charge 用淘宝识图看了下商品，一下子就搜到了一模一样的。中间的 50% 没找到答案，但是爆破出来了。\n这玩意不放到 OSINT 里面？\n1 furryCTF{20000_50_PPJL65C} o. [osint]人文风景 查了一下对面店铺的手机号码归属地，大部分是安徽省阜阳市的。在这个区域搜索了正对面的“顺风车棚”居然搜到了（高德地图限定，百度搜不到，就因为这个还被卡了不久）。\n1 furryCTF{laoliuchuantongzhengcaiguan} p. [osint]循迹 注意到图一牌子上有个即墨古城，搜了一下位于山东省青岛市即墨区。在这个附近搜了火锅店（百度地图），对比一下图二锅的形状，第一家就是答案。\n以及，图一应该是古城南边的墨小牛。\n1 furryCTF{dezhuanghuoguo} q. [osint]神秘影片 这题卡了我不少时间。拿网易云听歌识曲识别出来这个，于是就到 bilibili 搜这首歌，什么也没有得到。后来看云音乐的评论区才意识到这玩意是个无授权的二创填词曲！被引到了正道上，找到 WUHAN 这首歌。之后从一个疑似搬运视频的推荐以及后面的 ky 评论引到了 Hyun\u0026rsquo;s Dojo 频道上，从片头的动静确认了是这位 UP 的视频。一个一个看有没有时长=2 分 55 秒 ± 1 秒的视频，看到了这个视频。\n话说我其实是 Hyun\u0026rsquo;s Dojo 老粉来着，YouTube 关注了他的频道，但却没听出来他片头……他的 Doors 系列可算是太经典了，什么时候去回味一下吧。\n1 furryCTF{BV1Bf4y157pa} u. [osint]旅行照片 随便找个识图，日月双塔，秒了。这就 150 分了？\n1 furryCTF{riyueshuangta} v. [osint]时光机 你怎么知道我也是核邪铀碍五人组的粉丝？\n一眼 BadCen，然后去看他 2017-04-16 之后的 bilibili 视频就能找到了。\n可惜这个五人组现在也很少一起出现了……\n1 furryCTF{DiaMondIly} w. [osint]归去 其实不难发现这是界首南站。露出来了。似乎写题解的还没有人发现？\n然后直接去 12306 查界首南站的大屏信息，在一楼候车室 G2805 次之前的一趟车就是答案。\n1 furryCTF{shanghaizhan} 彩蛋？ 来自题目 W. [web]雪花飘飘：题目作者是用 GitHub Pages 布置题目的。于是去 Cryflmind-Redstone 的 GitHub 看了一眼发现了这个。\n不难发现 loadingMsgs 里面藏着一个 flag：\n1 furryCTF{It\u0026#39;s_Me~awa} 也许是废题？也许是彩蛋？谁知道呢？总之写在这里吧。\n可惜，题目没解出来。\n","date":"2025-01-15T00:00:00Z","image":"https://williamwei.top/p/furryctf-2024-winter-writeup/image_hu_6169f886bc045a5f.webp","permalink":"https://williamwei.top/p/furryctf-2024-winter-writeup/","title":"furryCTF 2024 寒假赛总结"},{"content":"什么是爬虫 网络爬虫就是一种可以从网页上抓取数据信息并保存的自动化程序，它的原理就是模拟浏览器发送网络请求，接受请求响应，然后按照一定的规则自动抓取互联网数据。\n这些程序几乎总是由搜索引擎操作。通过对爬网程序收集的数据执行搜索算法，搜索引擎可以响应用户搜索查询提供相关链接，在用户将搜索输入谷歌或 Bing（或其他搜索引擎）生成显示网页列表。\n掌握爬虫技术就能使互联网的各种数据“为我所用”，因此在科研活动中也常用爬虫技术获取数据。\n在开始学习爬虫之前，我们需要了解一些前置知识。\nTCP/IP TCP/IP 泛指互联网协议，是为了解决计算机网络各自的通讯协议不统一而设立的规范。该协议被广泛应用在互联网中。\n该协议中的一个重要组成部分是 IP。在互联网中，一个 IP 地址用于唯一标识一个网络接口（Network Interface）。连接到互联网的计算机都会被分配一个或多个 IP 地址。IP 地址有 IPv4 和 IPv6 两种版本，IPv4 采用 32 位地址，类似 101.202.99.12，而IPv6采用128位地址，类似 2001:0DA8:100A:0000:0000:1020:F2F3:1428。\n域名、DNS 直接记忆 IP 地址来访问网站通常是非常困难的，因此我们通常使用域名（通常意义上的“网址”）来访问一个服务。此时就需要用 DNS（域名解析服务）将域名转化为对应的 IP 地址使计算机能够解析。\n例如，我们可以通过 nslookup 命令查询百度官网的 IP 地址：\n1 2 3 4 5 6 7 8 9 10 11 \u0026gt; nslookup www.baidu.com 服务器: UnKnown Address: 10.22.240.10 非权威应答: 名称: www.a.shifen.com Addresses: 240e:e9:6002:15a:0:ff:b05c:1278 240e:e9:6002:15c:0:ff:b015:146f 180.101.50.188 180.101.50.242 Aliases: www.baidu.com 特殊地，用来标记本机自身的域名记为 localhost，对应的 IPv4 地址是 127.0.0.1，IPv6 地址是 ::1。\nHTTP 协议 以下内容大部分参照 MDN Web Docs。我个人非常推荐想学习 Web 相关知识的同学阅读此文档，其内容非常全面和规范。\nHTTP（超文本传输协议，Hyper Text Transfer Protocol）是目前使用最广泛的 Web 应用程序使用的基础协议，它是 Web 上进行任何数据交换的基础，同时，也是一种客户端—服务器（client-server）协议，也就是说，请求是由接受方——通常是 Web 浏览器——发起的。完整网页文档通常由文本、布局描述、图片、视频、脚本等资源构成。\nHTTP 请求（Request）的格式是固定的，它由请求头（Header）和请求体（Body）两部分构成，下图展示一个典型的 HTTP 请求—响应过程：\n在上例中，GET 表示请求方法，/ 表示请求路径，HTTP/1.1 表示请求的 HTTP 版本。请求头一般会标出这些信息。\n请求头是按键值对的格式组织信息的，即 Header: Value 形式，服务器依赖这些信息识别你的客户端请求。例如：\nHost：表示请求的域名，因为一台服务器上可能有多个网站，因此有必要依靠Host来识别请求是发给哪个网站的； User-Agent：表示客户端自身标识信息，不同的浏览器有不同的标识，服务器依靠 User-Agent 判断客户端类型（使用的浏览器）； Accept：表示客户端能处理的HTTP响应格式，*/* 表示任意格式，text/* 表示任意文本，image/png 表示 PNG 格式的图片； Accept-Language：表示客户端接收的语言，多种语言按优先级排序，服务器依靠该字段给用户返回特定语言的网页版本。 若需要查看更多的请求头规范，参见这里。\n请求方法表明要对给定资源执行的操作。在这里我们就提两个重要的：\nGET：请求一个指定资源的表示形式，使用 GET 的请求应该只被用于获取数据。 POST：将实体提交到指定的资源，通常导致在服务器上的状态变化。 这两种请求方式最大的区别在于：GET 的请求体必须在 URL 中出现，POST 则不需要。因此，当我们做一个登录请求时，GET 方法会将你的用户名密码明文暴露在 URL 中，不是非常安全的选择；POST 则相对安全些。\n若需要查看更多的请求方法，参见这里。\n服务器收到我们的请求后会进行回复，这称为 HTTP 响应（Response），其也由响应头和响应体构成。回到上例，HTTP/1.1 表示版本、200 为响应代码、OK 为响应说明。HTTP 的响应代码是固定的，客户端依赖该代码判断响应的状态：\n1xx：表示一个提示性响应，例如 101 Switching Protocol 表示将切换协议，常见于 WebSocket 连接； 2xx：表示一个成功的响应，例如 200 OK 表示成功，206 Partial Content 表示只发送了部分内容； 3xx：表示一个重定向的响应，例如 301 Moved Permanently 表示永久重定向，303 See Other 表示客户端应该按指定路径重新发送请求； 4xx：表示一个因为客户端问题导致的错误响应，例如 400 Bad Request 表示因为 Content-Type 等各种原因导致的无效请求，404 Not Found 表示指定的路径不存在； 5xx：表示一个因为服务器问题导致的错误响应，例如 500 Internal Seever Error 表示服务器内部故障，503 Service Unavailable 表示服务器暂时无法响应。 若需要查看更多的状态码规范，参见这里。\nHTML 服务器发送给我们的资源页面使用 HTML（超文本标记语言，Hyper Text Markdown Language）。这个文件包含页面的文字内容，由浏览器渲染得到我们现在看到的网页，再配合 CSS（提供网页样式的文件）和 JavaScript（简称 JS，网页脚本，浏览器能运行它生成可互动的元素），就是现代网页的基本架构。\n对于静态网页，我们希望爬取的内容一般来自 HTML 和网络请求中，因此其他的内容在此不作说明。\n小结 我们再来看一下 HTTP 通信的完整过程：\n域名解析 —\u0026gt; 与服务器建立连接 —\u0026gt; 发起 HTTP 请求 —\u0026gt; 【服务器响应 HTTP 请求，浏览器得到 HTML —\u0026gt; 浏览器解析 HTML，并请求 HTML 中的资源（如 JS、CSS、图片）】 —\u0026gt; 浏览器对页面进行渲染呈现给用户\n实际上，除了直接在浏览器输入链接，点击按钮、点击视频链接等操作，都是在发送请求。而爬虫的任务就是抓取上述加粗部分/方括号部分中对我们有用的资源。\n这些就是前置知识。事实上，想要完全理解爬虫，你需要学习更多，但现在这些知识对于之后的部分暂时足够了。\n那么，让我们开始爬取网页吧。\n浏览器开发者工具 在开始爬取网页之前，我们需要学会用浏览器开发者工具分析爬取的目标。通常打开开发者工具的快捷键是 F12。对于 Microsoft Edge，如果你关闭了该快捷键，你可以按下面的方式打开：\n我们以正方教务管理系统为例，在该页填好用户名、密码和验证码，然后进入开发者工具，点击网络工具栏后，点击登录按钮，即可抓取登录时的网络活动。\n特别需要注意的是，在没有进入网络工具栏时，浏览器不会记录任何请求，所以请先打开工具栏再登录。\n提示：若发现记录的请求在页面跳转后会消失，请勾选“保留日志”选项。\n我们可以发现浏览器发送了一堆请求，这些请求是按时间先后从上到下记录的。上面提到过：点击一下按钮就相当于发送一次请求，因此登录的一瞬间出现的第一个请求即是我们要找的请求，即列表上的第一个（名称为 default2.aspx）。选中该请求：\n其中可以看到上面提到的 HTTP 请求标头、响应请求标头的信息。可以看出这是一个 POST 请求，状态码为 302 Found，表示该请求被重定向。即：要求浏览器按照返回内容再发一次请求，也就是下方的 xs_main.aspx?xh=Bxxxxxxxx。\n我们再看看“负载”，也就是请求体。可以看到这里面包含了刚刚填的学号，密码和验证码等信息，即可验证这就是我们要找的登录请求。再看到我们请求的 URL：http://jwxt.njupt.edu.cn/default2.aspx，从中看不到我们的登录信息，也说明了 POST 请求“相对安全”。\n我们再看 xs_main.aspx?xh=Bxxxxxxxx 这条记录。该记录是一个 GET 请求，可以看到 URL 的后面出现了 ?xh=Bxxxxxxxx，说明负载的信息出现在了 URL 中，验证了前面提到的知识。\n我们再看看这两个请求的响应：第一个请求被重定向，因此没有内容；第二个请求返回了 HTML：\n点击“预览”可以看到当前 HTML 渲染的页面：\n可以发现这和我们实际看到的网页大相径庭，这是因为其他的资源（CSS、JS 等）都没有加载，这些资源的请求由浏览器解析 HTML 自动发出。这些资源加载完成后，浏览器加载完他们，才出现我们熟悉的页面。\n你还可以在页面右击选择检查，或者点击开发者工具左上角的检查按钮，以查看每个元素对应的 HTML 部分。试着在页面中随便移动吧。\n上述的所有操作称作为“抓包”。通过抓包抓取这些信息，然后在程序中模拟这些请求，就是爬虫主要干的一件事。前面说过，请求包含请求头和请求体两部分，为了完美的模仿一次请求，我们要尽量保证程序发送的请求头和请求体和浏览器发送的大致相同。\n可能有人会疑惑：“为什么我不完全照抄浏览器的请求？”确实可以，而且大部分的爬虫项目都可以通过这个方法解决，但是总有一些网站不喜欢自己被机器人爬，因此加入了验证码、状态验证等，这些都会阻止你直接照抄，所以了解一些基础的网络知识是必要的。\n那么现在，我们可以开始编程了。\n使用 requests 爬取静态网页 我们就拿校园网登录界面试一试吧！\n注意：正在飞书线上听课的同学：请不要着急注销账号，否则会议会断开。你可以考虑用第二个设备参会，或是等我讲完了再继续操作。我会留足时间的。\n注意：这个程序没有自动连接网络的功能。请连接校园网后再发送请求，也不要断开校园网，直接断开并不会清除你的登录状态。\n安装 requests。希望大家没有忘记装库的命令：\n使用 pip：\n1 pip install requests 使用 conda：\n1 conda install requests 记住：我们的主要任务是模仿一个登录请求。因此我们需要抓包观察这个请求是如何进行的。\n按照上面提到的方法，我们抓到这样的一个 GET 请求：\nhttps://p.njupt.edu.cn:802/eportal/portal/login?callback=dr1003\u0026amp;login_method=1\u0026amp;user_account=%2C0%2CBxxxxxxxx%40njxy\u0026amp;user_password=xxxxxxxx\u0026amp;wlan_user_ip=10.160.152.103\u0026amp;wlan_user_ipv6=\u0026amp;wlan_user_mac=000000000000\u0026amp;wlan_ac_ip=\u0026amp;wlan_ac_name=\u0026amp;jsVersion=4.1.3\u0026amp;terminal_type=1\u0026amp;lang=zh-cn\u0026amp;v=2068\u0026amp;lang=zh\n即这些字段：\n1 2 3 4 5 6 7 8 9 10 11 12 13 14 callback: dr1003 login_method: 1 user_account: ,0,Bxxxxxxxx user_password: xxxxxxxx@njxy wlan_user_ip: 10.160.152.103 wlan_user_ipv6: wlan_user_mac: 000000000000 wlan_ac_ip: wlan_ac_name: jsVersion: 4.1.3 terminal_type: 1 lang: zh-cn v: 2068 lang: zh 事实上，经过不断尝试，只有这些字段是必要的：\n1 2 3 4 callback: dr1003 login_method: 1 user_account: ,0,Bxxxxxxxx user_password: xxxxxxxx@njxy 我们直接看完整代码：\n1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 import requests import urllib from urllib import parse Bid = \u0026#34;Bxxxxxxxx\u0026#34; # 学号 server = \u0026#34;cmcc\u0026#34; # 服务（移动cmcc，电信njxy，校园网不填） password = urllib.parse.quote(\u0026#34;xxxxxxxx\u0026#34;) # 密码 url = (\u0026#34;https://p.njupt.edu.cn:802/eportal/portal/login?callback=dr1003\u0026amp;\u0026#34; \u0026#34;login_method=1\u0026amp;\u0026#34; \u0026#34;user_account=%2C0%2C{}%40{}\u0026amp;\u0026#34; \u0026#34;user_password={}\u0026amp;\u0026#34;.format(Bid, server, password)) headers = { \u0026#34;User-Agent\u0026#34;: \u0026#34;Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/118.0.0.0 Safari/537.36 Edg/118.0.2088.46\u0026#34;, \u0026#34;Accept\u0026#34;: \u0026#34;*/*\u0026#34;} req = requests.get(url, headers=headers) print(req.text) 代码解析 URL 部分很简单，由于要做的是 GET 请求，我们只需要把请求参数放到 URL 中即可。\n请求头部分包含了一个 User-Agent 和 Accept（不重要）。改写 User-Agent 几乎是做爬虫必须的，因为 Python requests 库默认的 User-Agent 为 python-requests/x.x.x（requests 版本号），这相当于告诉服务器：\n害害害！老子要用 requests 爬爬你的网站啦！让我康康……\n提示：作者此时已经连续写了两个半小时文档，他现在的神经很状态。（2024/12/07 22:00）\n所以为了不让服务器在知道你要爬爬它的时候就把你拒之门外，你还是需要伪装成“正人君子”的。\n1 req = requests.get(url, headers=headers) 这里则是使用了 requests 库的 get 方法，参数 url headers 分别对应我们需要的 URL 和请求头。之后再通过 print(req.text) 输出请求结果。\n整个过程就是通过 requests 发送登录的 GET 请求（包含我们的用户名密码等），然后验证通过，得到请求结果。\n你还可以看看我一年前初次爬校园网时对这里的代码做的改进（渣库勿喷），里面有用 pyinstaller 打包的可执行版本以及命令行（curl 或 Invoke-WebRequest）登录的方法。GitHub - WiIIiamWei/NJUPT-login\n至此你便完成了你的第一个爬虫项目，祝贺你！\n后记 这之后呢？我想成为爬虫大师，我应该学什么？\n奈何这学年时间太紧，加上我们人都挺懒， 今年的授课数量极少，以至于原本需要三节课介绍完的爬虫估计到这里就结束了（要没结束我再说点其他的！）。总之在这里补充一点爬虫常用的库，供大家自行搜索和学习吧。\n你还没有学完 requests 里的所有内容。多练练吧！ 和 requests 配套的另一个工具是 Beautiful Soup bs4。它可以对 HTML 进行解析，查找特定节点的内容等。 很多大网站（比如淘宝等购物网站）都是动态加载的网页，用 requests 什么都读不到，这时候就需要 selenium 出手了。selenium 是一个 Web 的自动化测试工具，最初是为网站自动化测试而开发，可以直接运行在浏览器上，可以控制浏览器发送请求，获取网页数据。注意：为了能正常使用 selenium，你通常需要安装一个 WebDriver，请自行搜索安装教程。 如果你是大佬，你还可以试试最新最热的 playwright 浏览器自动化测试工具…… ","date":"2024-12-07T00:00:00Z","image":"https://williamwei.top/p/web-crawler-intro/cover_hu_b61db5ec5ff55b81.webp","permalink":"https://williamwei.top/p/web-crawler-intro/","title":"网络爬虫入门"},{"content":"这是在大一脑子不清爽的时候出的一道题。当时看到了 carykh 的视频（见下），遂有感而发：这玩意就是个算法题啊！于是就写出了题面。\n据算法组的人说，这题目意外质量蛮高的，因此放出来给大家看看。我本身并不写算法，因此题解以及测试数据都没有办法提供。试着用 AI 解决此题，AI（GPT 4o）上了动态规划，但是仍然过不了样例，估计是个比较难的题吧。\n此题目欢迎转载，遵守文章协议即可。同社团的若是看到了欢迎直接使用到任意活动中，无需授权。\n题目背景 本题目参考：carykh - NATHAN is a palindrome in spirit (Read description for clarification)\nWilliam Wei 是一个算法菜鸡。有一天他无意闯进了算法的世界，结果被一条叫“P1217 [USACO1.5] 回文质数 Prime Palindromes”的题目虐惨了！结果他用打表的方法通过了这题目……\nWilliam Wei 深知打表是一个非常烂的算法，于是他决定精心修炼算法技能，势必要报仇雪恨！经过不懈的努力，一年后，秉承着“打不过就加入”的原则，他编出了一道更难的回文题目，决心让所有单词都成为回文！\n那么 William Wei 最终怎么样了呢？算法太难，他去隔壁 Python 组赛博炼丹去了……\n话说，谁问你了？\n题目描述 回文（Palindrome），即把一个单词，数字或句子等所有元素反过来和原文保持不变的文字。本题目只讨论回文英语单词，如 RACECAR（将所有字母倒过来依然拼写为 RACECAR）。\n现在有一种方法，旨在让所有的单词变为“回文”。该方法允许将单词的一部分视为整体，例如 NATHAN，其本身不是回文，但是我们可以把 TH 看作一个整体，使 NA(TH)AN 由 5 个元素组成（N A TH A N），此时它便是一个“回文”单词。\n遵循上述方法，做以下规定：\n所有单词最外面需要有一层圆括号，表示将里面每个元素算作单独整体。 例如：(RACECAR) 是一个正确的“回文单词”。 将需要组合的元素用圆括号包围，他们将被视为整体。 例如：(NA(TH)AN) 是一个正确的“回文单词”。 第二条中提到的括号可以叠加。 例如：((HYPO(T(HE)T)ICAL)) 是一个正确的“回文单词”。 上述图片有助于你理解该过程。如果还不理解，你可以将上述图片中“浅色的圆盘”看作转盘，“深色的圆盘”看作转盘上的物品，进行“回文”操作时，将所有转盘同时旋转 180 度即可。 按照上述方法和规定，我们可以将任意英文单词转化为“回文单词”。但 William Wei 仍不满足，因为人们可以利用这样的规则，把一个单词的所有字母都视为同一整体（例如：((RACECAR)) 也是一个正确的“回文单词”）。因此，为了保证“回文单词”的质量，特补充以下规则：\n高质量的“回文单词”没有多余或无意义的括号对。 例如：(RACECAR) 比 (((RACECAR))) 质量高。 高质量的“回文单词”在进行回文操作时移动的字母数更多。 例如：(RACECAR)（R A C C A R 这 6 个字母移动）比 ((RACECAR))（没有字母移动）质量高。 对于同一个单词，如果两个组合方案进行回文操作时所移动的字母数相同，则“字母平均移动距离”大的“回文单词”质量更高。（设每个字母间距为 1，字母平均移动距离=每个字母直线移动距离/单词所含字母总数） 例如：(RACECAR) - 两个 R 移动距离为 6，两个 A 移动距离为 4，两个 C 移动距离为 2，E 不移动，字母平均移动距离为 $\\frac{6+6+4+4+2+2}{7}\\approx3.43$。 上述例子中，(RACECAR) 是该单词（RACECAR）转换为回文单词的最高质量组合方案，我们称其为“最优回文单词”。\n现在给你一个单词，请将该单词转换为“最优回文单词”。\n格式 输入 一个英文单词，所有字母均大写。\n输出 对应的“最优回文单词”。该单词的最外层需要有至少一层圆括号。\n数据约定 对于 $30%$ 的数据，保证单词长度不超过 $10$ 个字母。\n对于 $60%$ 的数据，保证单词长度不超过 $30$ 个字母。\n对于 $100%$ 的数据，保证单词长度不超过 $60$ 个字母。\n所有输入的单词保证有且仅有一个解。\n测试样例 1 PALINDROME 1 ((PALINDROME)) 说明：该样例单词中没有重复的字母，因此把所有元素视为同一整体，此时移动字母数为 0，平均移动距离为 0。\n","date":"2024-10-25T00:00:00Z","image":"https://williamwei.top/p/everlasting-palindrome/yMnB5YFfEImchXz7lJoL6_hu_677883adeeecb45f.png","permalink":"https://williamwei.top/p/everlasting-palindrome/","title":"永恒的回文单词"},{"content":" 封面图片：✨🎉ॱ॰❅HAPPY NEW YEAR❅॰ॱ🎉✨\n农历新年在家闲着无事，想来点新年彩蛋，又想起曾经看过的某个逆天文言编程语言，就学着用文言写了这一出：\n题目代码 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 吾有一物。名之曰「字典」。其物如是。 物之「「 」」者。數曰三十二。 物之「「!」」者。數曰三十三。 物之「「0」」者。數曰四十八。 物之「「1」」者。數曰四十九。 物之「「2」」者。數曰五十。 物之「「3」」者。數曰五十一。 物之「「4」」者。數曰五十二。 物之「「5」」者。數曰五十三。 物之「「6」」者。數曰五十四。 物之「「7」」者。數曰五十五。 物之「「8」」者。數曰五十六。 物之「「9」」者。數曰五十七。 物之「「A」」者。數曰六十五。 物之「「B」」者。數曰六十六。 物之「「C」」者。數曰六十七。 物之「「D」」者。數曰六十八。 物之「「E」」者。數曰六十九。 物之「「F」」者。數曰七十。 物之「「G」」者。數曰七十一。 物之「「H」」者。數曰七十二。 物之「「I」」者。數曰七十三。 物之「「J」」者。數曰七十四。 物之「「K」」者。數曰七十五。 物之「「L」」者。數曰七十六。 物之「「M」」者。數曰七十七。 物之「「N」」者。數曰七十八。 物之「「O」」者。數曰七十九。 物之「「P」」者。數曰八十。 物之「「Q」」者。數曰八十一。 物之「「R」」者。數曰八十二。 物之「「S」」者。數曰八十三。 物之「「T」」者。數曰八十四。 物之「「U」」者。數曰八十五。 物之「「V」」者。數曰八十六。 物之「「W」」者。數曰八十七。 物之「「X」」者。數曰八十八。 物之「「Y」」者。數曰八十九。 物之「「Z」」者。數曰九十。 物之「「a」」者。數曰九十七。 物之「「b」」者。數曰九十八。 物之「「c」」者。數曰九十九。 物之「「d」」者。數曰百。 物之「「e」」者。數曰百零一。 物之「「f」」者。數曰百零二。 物之「「g」」者。數曰百零三。 物之「「h」」者。數曰百零四。 物之「「i」」者。數曰百零五。 物之「「j」」者。數曰百零六。 物之「「k」」者。數曰百零七。 物之「「l」」者。數曰百零八。 物之「「m」」者。數曰百零九。 物之「「n」」者。數曰百十。 物之「「o」」者。數曰百十一。 物之「「p」」者。數曰百十二。 物之「「q」」者。數曰百十三。 物之「「r」」者。數曰百十四。 物之「「s」」者。數曰百十五。 物之「「t」」者。數曰百十六。 物之「「u」」者。數曰百十七。 物之「「v」」者。數曰百十八。 物之「「w」」者。數曰百十九。 物之「「x」」者。數曰百二十。 物之「「y」」者。數曰百二十一。 物之「「z」」者。數曰百二十二。 是謂「字典」之物也。 有言「「 !0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz」」。名之曰「鍵」。 吾有一術。名之曰「解密」。欲行是術。必先得一列。曰「密語」。乃行是術曰。 吾有一言。名之曰「解」。 凡「密語」中之「元」。 凡「鍵」中之「字」。 夫「字典」之「字」。名之曰「字值」。 若「字值」等於「元」者。 夫「解」。加其以「字」。昔之「解」者。今其是矣。 也。 云云。 云云。 乃得「解」。 是謂「解密」之術也。 吾有一術。名之曰「新年快樂」。欲行是術。必先得一數。曰「甲」。乃行是術曰。 吾有一列。名之曰「密語」。 充「密語」以七十二。以九十七。以一百一十二。以一百一十二。以一百二十一。 以三十二。以六十七。以一百零四。以一百零五。以一百一十。 以一百零一。以一百一十五。以一百零一。以三十二。以七十八。 以一百零一。以一百一十九。以三十二。以八十九。以一百零一。 以九十七。以一百一十四。以三十二。以五十。以四十八。 以五十。以五十二。以三十三。 施「解密」於「密語」。名之曰「解」。 為是「甲」遍。 夫「解」。書之。 云云。 是謂「新年快樂」之術也。 施「新年快樂」於五。 Rendered Book 问题 该代码的预期输出是什么？ 该代码转译至 JavaScript 时会出现问题不会出现预期输出，问题在哪里？是否可以通过修改文言代码解决这个问题（我暂时没有解决方案）？ 虽然新年已经过了，但仍然放出来这题，欢迎讨论。\n","date":"2024-01-01T00:00:00Z","image":"https://williamwei.top/p/happy-chinese-new-year-2024/image_hu_3457ead8555ee5e8.webp","permalink":"https://williamwei.top/p/happy-chinese-new-year-2024/","title":"2024 新年彩蛋"},{"content":" 本文经过原作者的同意，为引用原标题的授权转载。按照原作者要求，不公布作者姓名。\n这篇文章在老的博客上就转载过。鉴于我曾也是这种学校教育模式的受害者，且文中所述“一中”似乎还存在这种情况，甚至崇尚这种模式的校领导得到了表彰和升职，我决定将这篇文章再次转载到新博客上。\n这是一位因为疫情原因，坐在家中上网课的一中人的有感而发。\n一中，一所百年名校，市直学校中排名第二。教育局对我们寄予厚望，希望我们达到 90% 的一本率。对于一中，这一目标不是轻易能达成的。于是，我们换了一批所谓“先进”的校领导，带领我们改变方式，继续学习。\n可这一改，便是面目全非。\n超长在校时间 以前的高三，6:45 上学，21:35 晚自习结束，一周五天，周六没有晚自习延时。大概是高一下学期，周六开始晚自习了。算了，在学校多学一会也不是什么大问题。结果高三，时间直接延长到 22:00，并“自愿”延时到22:30。有些班主任老师遵循这一规则，有些则是“强制自愿”，“没有特殊情况一律 22:30”，自我矛盾，不言而喻。就算是高一也从 21:20 延长到了 21:30，已经接近了高三的强度。是为他们悲哀呢，还是当个乐子人，事不关己庆幸呢？我不好说。\n作业加量不加价 有了这样的延时之后，老师就可以光明正大地布置更多的作业。学校似乎已经默认我们延时的事实，布置 1 小时的语外，1 小时的数学，各 45 分钟的选一选二，总时间直接排到 22:30。于是各科老师都抢着时间，唯恐自己的时间被挪作他用，导致这科的成绩下降，便往规定的时间上限布置，结果呢？对于效率高的同学，查漏补缺、自我支配的时间基本占用完；对于像我一样效率不够的同学，便是回家继续卷，作业来不及，“分工合作”已经习以为常，课上做作业也是司空见惯。我秉持着我对学习认真的态度，希望以同样认真的态度对待每一门学科，奈何心有余而力不足，特别是在考试的前几天，天天熬夜，为完成作业而疲于奔命，导致上课萎靡不振，陷入恶性循环。\n星期天再来点晚自习 是的，一周唯一的休息天也要占用。乐观一点，为了学习，也是无可厚非。然而表面上是“完成各科作业”，实际上安排满了考试。自习的“自”又去了哪里？查漏补缺又去了哪里？我也只能认为这是学校为了防止我们摸鱼而做出的最终手段。算了，我勉强算你是个好措施吧。\n“县中模式” 我有一位朋友，他以一中的周日晚自习为由向教育局投诉了一中。通过教育局，一中的答复是“学习先进学校经验”“减少周日在外补课，符合国家双减政策”。这个先进学校想必就是县中了。然而呢，该去补课的还是去补，创新班的学霸们都在上课，我们何能不担心？于是，为了跟上大家的脚步，学生和家长不择手段地压缩学习时间，周日晚自习之前再塞两课，抓紧唯一的机会查漏补缺，弥补一周的损失。一节课100起步，一对一更是要砸钱，补课的老师也是赚的盆满钵满。所以说，我们学习了县中模式，到底学成什么样了？结果就是学生苦不堪言还要微笑面对，想去改变这个该*的教育制度但是没有力气，只能受着压迫成为没有思想的做题机器。不考虑我们走读的事实而去盲目学习，结果多是东施效颦，邯郸学步。\n“这是我们需要的” “没有思想”，按照周烨副校长的意思，这正是我们需要的。没有思想就不会这么累了。事实上呢？如果我的成绩在这样的制度下依然能保持高水平，那么就别想太多吧，为了高考我也愿意罢。但我的成绩每况愈下，如何让我不思考哪里出了问题？自我反思之后，如何不让人想改变现状，指出这个环境的问题？相信这最基本的危机意识，作为学生，怎么可能没有？\n县中怎么这么成功？ 那么县中人确实是没有思想而成功的啊？姑且不谈所谓“成功”是不是等同于分数高，在这样的大环境下，我们就拿高考说话，分数为王。我们有位老师给我们讲了一个真实的故事：有位一中孩子高考没考好，在县中复读，结果反映下来，要在比一中轻松，为何？因为他们习惯了这种模式，回了宿舍就是睡觉，没啥好说的。而我们呢？老师布置了不合理的作业，我们又不能以睡觉为由不交，怎么办？带回家继续卷！卷不完？开抄！于是睡眠不足，上课因为没做作业又听不懂，然后又来新的作业……恶性循环就此开始。而县中的人从来不用为此担心。如果真是这样的话，我更愿意在县中封着，反而对我的学习又更大帮助。周校长说过，县中的人比我们苦依然很可爱，是因为他们对自己有一个清醒的认识。所以我们就没有这样的觉悟吗？不配做可爱的人吗？“一流的智商就有一流的选择”，我们的智商比县中人差？这难道不是赤裸裸的歧视？\n又要去封校 我们可以说是近几年来最惨的一届了。这是我们的第三次封校。而封校归封校，时间总不超过一周的，这使得我们折腾来折腾去很是痛苦。我们一致认为，既然要封校，那么干脆封久点，就像县中那样，否则效率连网课都比不上。而一中对于封校的安排更是令人窒息。封校前的晚自习正常，早上去学校放下行李直接晨读，学习的时间一点也没落下。表面看起来非常有效率，实际上我们的状态呢？晚上忙着搬家，早上又要早读，我们不需要休息吗？搞得老师家长都很辛苦，不是在感动自己吗？有必要吗？时间在于精而不在于多，周校长说“时间不够是我们硬伤”，诚然，但这也不是讲“填鸭式就是正确的”。听闻有一通中的学生，成绩名列前茅，活动课打篮球从没缺席过，但是他知道他要干什么，薄弱的科目会自己补足。暂且不谈我们有没有这个能力，连给我们尝试的机会都不给吗？现在我的社区即将解封，这篇文章写完我可能就在学校里了，又是一番折腾，现在的网课生活我睡的很充足，我到底有没有必要去呢？\n听听我们的声音吧 试问校长室的各位老师，特别是周校长，真的有听过学生的声音吗？上次来到各个班找了很多同学调研作业时间，于是有变化吗？我不知道周校长在自己任课的班级怎么样，反正在大多数班级，您的名誉已经掉到了“人人喊打”的地步，这点您难道没有数吗？为什么在大型活动介绍到场嘉宾时，喊道你的名字高三学生的掌声很敷衍呢？我理解学校帮我们安排好时间，是怕我们晚自习作业做完了没事干，可这对于不想学习的人又有什么变化呢？只不过是要抄的作业变多了。不想学的人怎么强迫他都是无用；而对于有想法，想自主查漏补缺的人呢？时间全被占满了。这样下去我们的成绩怎么提高？如果您们坚持认为您们的教育方针正确，请给我合适、具体的方法使我能分配好作业时间和学习压力，切勿搪塞我说“这是我自己应该反思的”，因为我已无法自己解决我当下的学习问题。就这样的作业量摊在您的面前，您会怎么办？\n总之，一中是我的母校，我希望看着它越来越好，因此我以我认为较为乐观的形式尽量去找到制度中的一点好处，提出中肯的建议，但是这篇文章不可避免的还是变成了吐槽。而就在不久前的运动会上，升国旗时，国歌响起，大家站在原地一动不动，面向国旗，这是名族自豪感。升校旗时，校歌响起，一半的人却离开，各做各事，为什么就不能像热爱国家一样热爱母校呢？真的只是我们的问题吗？衷心希望各校领导们能好好考虑接下来的教育方针，距离高考还有 193 天，我希望能与我的母校共同进步。\n时间紧迫，这篇文章不免质量不高，主题凌乱。只希望我的文章能让大家——同学，校领导，亦或是家长——有一些触动，更加关注自己或学生的学习。学习永远是我们学生自己的事情，而创造适宜学生学习的环境，这是需要家校生三方共同努力的。希望各方能相互理解，听取各方诉求，作出一些必要的改变，朝着同一个方向齐心协力。\n","date":"2022-12-04T00:00:00Z","permalink":"https://williamwei.top/p/anti-ntyz/","title":"一位一中人的内心呐喊"},{"content":" 本文主要记述在 2022-09-05~2022-09-09 期间因疫情原因在南通市开放大学封校的生活。\n高三学业紧张，再加上开学前突然出现的阳性病例，打了个措手不及，把教育局属实是搞蒙了，于是在刚做完四次全员核酸还是阴性的情况下，教育局慌慌张张地就决定让我们封校上课。而我所在的学校不具备高三学生全体住宿的条件，故借用南通开放大学的场地，在那里开展教学活动。本文将分各个方面记述封校四天的生活。\n搬入学校 在学校发布官方通知之前，有人便从小道打听到了消息，于是超市的床垫不久就被抢购一空。我们家则对折了自己的棉絮，加上席子作为床垫，本以为已经很软了，结果还是有人带了乳胶床垫，可谓人外有人。\n于是在 5 日下午，我拎着床上用品、各种学习用品、书本、卫生用品、一些药物、其他的日用品以及将近一个星期不用洗衣服的衣服量和两个星期的零食补给，大大小小五个包进了学校。本以为我带的已经算多的了，结果还有带七个包的，可谓人外有人（梅开二度）。不知为何，在兄弟学校允许家长进入帮忙的情况下，我们学校在家长提完意见之后，依然不允许家长进入，只是增加了几个学生志愿者。而我作为寝室长，必然是要帮忙的。所以说指望我这个细胳膊细腿有啥用呢？\n那天我们在没有人帮助的情况下很快便整理好了。初次住校，整理完了还是有点成就感的。\n时间安排 搬完后的那天晚上还有晚自习，起初我们班的灯不是一般的暗，后来变为闪烁，到后来甚至熄掉了，配给我们的饮水机也是不出热水的，属实是有点多灾多难。后来倒很快就修好了。于是这天我们班洗澡晚了，正好又被不是很善解人意的周姓的校领导批了，班主任也一起被教育了。之后又因为不熟悉晚自习下课规则，在其他班先下课的情况我们班主任也宣布下课，于是本来没有问题又被针对的批了，心情很差。\n风波过后，周姓的领导在广播里扬言“体验县中模式”“我们不比他们差”，并明确了时间安排，这里仅节选一部分重要节点：\n06:00 起床，洗漱，简单整理内务 06:15 食堂开始供应早餐，学生下宿舍楼领取早餐之后在教室吃早餐 06:45~07:00 站立早读 07:00~07:35 早读 11:35 午餐 12:05~12:50 午练 12:50~13:25 午休 18:00 晚餐 18:30~18:45 站立晚读 18:45~19:40 晚自习第一节上半场 19:40~20:30 晚自习第一节下半场 20:40~21:30 晚自习第二节上半场 21:30~22:30 晚自习第二节下半场 23:15 宿舍熄灯 一些细节补充（可能会有记错的小细节，但大概没错）：\n关于洗澡：洗澡分两个时间段，大概是我们老师很仁慈给我们开设第三个时间段： 18:00 之后，可以吃完晚饭去或者晚饭前立即去，但是选择后者食堂阿姨不会等你，你需要自己将饭盒送到食堂。选择这个时间段需要你 18:50 之前回到教室。 20:30 之后，我去过一次，但是发现全是自己班人，于是我怀疑是老师后来加上的。选择这个时间端需要你 20:50 之前回到教室。看起来很紧张，其实人很少。 22:00 之后。 关于晚自习：加上午练时间，一共五个时间段的自习，分别安排了语文/英语（两者合起来），数学，选一，选二两门的作业内容，其中晚自习第一节上半场固定语文/英语，第二节上半场固定数学，其余各个班自己安排，似乎文理科安排略有不同。上下半场之间不休息，但会有铃声提示你，依照铃声对照作业的进度。两节晚自习中间10分钟休息。如果在22:00时你还没有洗澡，你可以立即结束晚自习并回宿舍洗澡，否则你必须留到22:30。 关于星期天：虽然没有撑到星期天，但是还是说一下。星期天的起床睡觉时间不变，上午自习，中午午餐结束后到15:00有三个小时的午休，后面直到晚饭是体育活动，只不过体育老师转了一圈没发现一个像样的场地。晚上晚自修照常。 三餐 在这里的三餐由自己学校的原班人马提供，非常熟悉的味道。早餐在楼下经过教学楼的位置自己领取，其余两餐需要同学搬上楼。我搬过一次，搬四楼还是很累的。\n至于吃的内容，早餐会给包子馒头烧卖中的两个或者面包，再加上鸡蛋和豆奶（批发袋装）/早餐奶（调和）。包子馅没得选，不喜欢吃肉包的我拿到肉包还是硬吃下去了。午餐和晚餐则是经典盒饭。不是那个在初中味道已经串的不像样的盒饭，我已经很感激了。但是没有哪一餐是能够支持我们撑过学习时间的，所以零食补给变得至关重要。\n宿舍生活 这大概是封校期间为数不多的快乐时光了。\n总体来说，宿舍条件还算勉强，但是比兄弟学校借用的地点来说根本是没法比，毕竟那边是新建的。男生宿舍 4 人一间，偶尔有超过 4 人的 6 人间之类；女生宿舍 8 人一间。然而男生宿舍的淋浴是大澡堂，一个楼层只有 9 个喷头，二十几个宿舍要一起洗；女生则是宿舍里独立淋浴，结果 8 个人依然是来不及，听说要两个人一起洗。每层配有一个热水机和十几个水龙头用来洗漱，但是一样还是不够用。\n不同宿舍似乎有不同的排布，我们是两张高低铺在一边，四张并排的书桌在另一边，也有超过四人的宿舍用的是标准的下面桌子上面床铺的标准大学床铺，但听闻女生宿舍的走道特别窄，两边是高低床，中间一张大桌子。除了不是四人间的宿舍是在门正对的走廊另一侧防盗栏里面，其余宿舍都是在防盗栏里面晒衣服的。女生宿舍从外表看起来是有独立的阳台，不知道是不是这样。\n宿舍里使用热水（洗澡、接开水）是要付钱的。我们室长在第一天拿到了一张充了 200 元的水卡，插到计价器上便会自动开启水阀，同时以每 2~3 秒一分钱的速度扣费。在教室则用的是桶装水加上饮水机。四天里，女生一个宿舍大概用掉 30 元，男生则在 10 元不到。我们宿舍因为有一个猛男坚持冷水洗澡，身体倍儿棒；有一个人最后一天没有洗澡；在其他宿舍都开始泡面的情况下我们除了最后一天没人泡面；加上我发现淋浴房有一个刷卡机出现了 bug 于是零元购了两次，我们四天的水费只有 2.39 元。我承认我作为室长是很抠门会过日子了。\n同样是细节补充：\n关于洗澡\n如上方所说，每层浴室就 9 个淋喷头，所以来到浴室都是雾气弥漫，人山人海。第一天的时候大家还没放开，都穿着防具进去，第二天就嫌麻烦，于是坦诚相待了。没人注意那里，没人是观鸟协会成员，非常和睦，我很庆幸。为了分流，学校给出的解决方案就如上方”时间安排“一栏所说，但是每天的人员是固定的，必然是两个人早点洗，两个人晚点洗；第二天这两班人交换，即昨天早洗的人今天晚洗。但自从老师给了我们第三个时间段后，我便不按规矩来了，多了个时间段我也不知道怎么安排，结果最后一天听到回校的消息后同学有点激动，22:00 后看班老师走了之后班上很吵，再加上有人不守规矩洗了澡一样 22:00 回宿舍，老师发了大火，第二天批评了班上的纪律并且质问了我们这些不该早点回去的同学。好歹总归我们没有干偷鸡摸狗的事情，22:00 回去是真的没洗澡，这个事也就过去了。总之可以说，这次经历后同学间的友谊大大增强了。\n关于洗漱和洗衣服\n这些是在洗澡间门外的水池里进行的，同样还是很挤。我每天都洗，早知道四天就回来我就不这么勤快了。由于人实在太多，后面还有人排队，所以衣服最多过两遍清水，反正不知道洗没洗干净或者洗衣液有没冲掉，洗掉身上的汗就差不多了。\n顺带一提，第一天还犯了个傻，洗衣服的时候发现我洗出来的东西上面沾了纸屑，本来以为是兜没掏干净，结果发现水盆地下的贴纸是胶带贴上去的，可以撕下来，不防水。\n关于宿舍活动\n宿舍中午是不让回去的，午休在教室里睡，活动的时间只有晚上。相比之下，我可以说我们宿舍的同学是太守规矩了。其他宿舍熄灯之后一样闹翻天，我们除了有背书任务需要挑灯夜读之外基本上谈五分钟的话就没声了。当然，不可避免的一天比一天激动，门外的活动是一天比一天过分，我也是一天比一天睡的晚。最后一天我们宿舍也没忍住，泡了个面，但除了有个人出去下棋之外我们还是比较早就安静了（虽然可能没在睡觉）。\n对于我这种不会玩的，自然是想不到要带娱乐用品，到了宿舍才发现有好几副扑克牌，以及大富翁（最后没玩成）、五子棋、象棋等，甚至还有人带了啤酒一起喝，我真的搞不懂怎么想得起来带这个的。这些活动在最后一天晚上最为猖獗，斗地主到深夜，泡面狼人杀直到三点半，总之还有什么活动我是想象不到了。\n学校设施\n可以看得出来是一个非常老的校园了。篮球场除了一个正经的其余是画在水泥地上的，体育课便在那里上；早上跑操也是没有场地，直接绕教学楼跑的。食堂我们也没进去，都是在教室里吃盒饭的，体育课上简单参观了一下。食堂楼上有一个小羽毛球场和乒乓球场，里面还有不知道干吗用的钢琴室，还有宴会厅，看起来很豪华。学校通知里明确没有购物点，但是在女舍门口还是发现了一个，可以买饮料和泡面。教室里的设施大概是从千禧年过来的（后记：上了大学后知道了，基本上大学教室就是这样的，不用触摸屏），投影仪加上小白板。触摸屏？不存在的。电脑键盘手感极差，鼠标灵敏度太差，单击可以变双击。倒是系统确实很干净的 Windows 10 Pro 21H1，Intel i3-8100 的 CPU，8GB RAM，真想把这个机器搬到我们学校。\n撤离学校 本来准备至少两个星期的封校生活，四天便撤离了，可谓是安排“非常合理”了。于是 9 日的上午，我们拖着昨晚疯狂熬夜过后疲惫的身躯上完了最后四节课，其中后面两节老师很体谅我们，直接布置了作业让我们做，总的下来布置的作业一点都不多，总归是想给我们过一个快乐的中秋的（虽然假期就一天）。草草的吃完中饭后，我们便回宿舍整理内务，大概 12:00 多就整理好了，于是宿舍就变成了棋牌室，十个宿舍五个在打牌，打了大概一个小时，终于轮到我们下楼，我们便拖着床上用品、各种学习用品、书本、卫生用品、一些药物、其他的日用品以及将近一个星期不用洗衣服的衣服量和两个星期减四天的零食补给，大包小包的回了家。四天的生活便圆满结束。\n最后的感想 总之我觉得还是比较难忘的一段会议吧。虽说听了兄弟学校宿舍条件好到住酒店一样甚至乐不思蜀以及家长随便送东西进来、MP3 随便听的行为之后还是觉得有点比不上，但是住宿后同学间共同话题瞬间多了起来，关系是和睦了不少。就住宿的经历，我就把它当成一场体验了。这么老的宿舍已经住过了，后面比这好的宿舍还怕啥呢？也希望我能继续努力，争取在大学住到一个好的宿舍吧。最后一年了，全力以赴！\n后记 此部分为后续追加（2024/12/01）。这破事情还能有后续，教育局疫情期间到底在干啥……\n令我们没想到的是，这之后南通市教育局又让我们进行了两次封校学习，每次都是一个星期以内就回来，非常难受。在这里强烈谴责南通市教育局瞎指挥，学校也什么都不懂就照做，总觉得增加在校时间我们成绩就能好起来一样。对于之后的两次封校，我们学校采用了一半班级在原来学校，一半班级去另一所有住宿条件的小学封校的神奇操作。距离封校也过去两年了，留下的印象不多，但还是希望记录一下这难绷的经历。\n这个消息是我们上网课的时候发布的。消息一出，我们群里便炸锅了，纷纷骂教育局和学校。我们是要到外校封校的那一批。于是，和上面一样，四个大包拉去学校，开始（又是）为期四天的生活。\n这次的宿舍相较于开放大学的四人寝变成了八人寝，但是设施豪华了很多，至少有干湿分离的独立卫浴了。相对的，宿舍也吵了很多。我自认我还是幸运的，室友比较配合，管起来也比较容易（我是守规矩的类型），唯一不太爽的就是有同学的习惯比较不好，晚上上厕所不冲水，还大言不惭的说他在家这么干没问题。\n在刚到宿舍的时候，我们便被班主任要求查寝，把宿舍的违禁品一一上交。估计是上次封校我们太猖狂了，这次直接给了我们一个下马威（除非我们真的太猖狂，通常我们班主任还是温柔的）。其实当时我带了一副蓝牙耳机（我的手表里预先存了一些音乐，支持蓝牙播放），但是由于我信誉度足够高，老师便没有查我的行李。\n学校生活基本与之前无异。唯一令人不爽的是学校的电脑没有网络，原本我还能在电脑上与我没有封校的朋友通过邮件交流，这次直接没有了联系手段，总觉得有点孤独。\n三餐和之前差不多，唯一有区别的是我们只有半个年级的人在那里，所以可以去食堂吃盒饭。是的，还是盒饭，还不如在教室吃呢。\n四天就这么过去了，然而学校想出了天才的想法无缝衔接，半天休假也不给我们放：早上起来便收拾行李，然后带着行李吃早饭，再顺路把行李放到校门外指定位置，让家长自己过来领取。上午课上完之后大家一起坐大巴直接到学校午休（当然这种情况能睡着也是厉害）。下午正常上课到晚上回家。真·时间管理大师啊。\n之后还有第三次封校，由于我当时居住在封控区，我有幸逃过这次封校，通过网课参加了学习。中途还有通知封控解除之后直接加入线下封校学习，与家人表达了强烈反对。最后证明这个担心是多余的，因为又是一个星期以内就结束了。这一次封校是包括了一个周末的，学校还为此准备了年级的拔河比赛，怕我们周末上午无聊，结果拔河完下午就回来了。我们这届真不愧是“最惨”，初三学校停课，高三封校上课，在所谓“人生中最重要的时间”全部出了灾难。\n这段时间干的最酷的事情就是拿 OBS 的虚拟摄像机功能给大家放我收藏的动态壁纸了，给在上网课的大家一点娱乐。抱歉，我不敢套皮 VTB 出道\n","date":"2022-09-10T00:00:00Z","permalink":"https://williamwei.top/p/schooling-under-covid/","title":"封校的那些事"}]