编程技术笔记
https://yxchangingself.xyz/icon.png
ChangingSelf's blog
2022-06-01T07:00:00.000Z
https://yxchangingself.xyz/
憧憬少
Hexo
自制的第一个vscode语言扩展插件
https://yxchangingself.xyz/posts/vscode-extension/
2022-06-01T07:00:00.000Z
2022-06-01T07:00:00.000Z
<p>最近迷上了TRPG(Tabletop Role-playing game,桌上角色扮演游戏),即俗称的“跑团”。玩家在主持人的引导下,扮演自己的游戏角色进行冒险。在结束之后,会有想要将这个过程记录下来的欲望,从而有了各种各样的“跑团replay视频”。</p>
<p>制作跑团replay视频比较复杂,但<a href="https://www.bilibili.com/video/BV1GY4y1H7wK/">回声工坊</a>这一高效工具的出现,让这个过程变得非常简单,只需要找好媒体素材(角色立绘、背景图片、BGM、音效等)以及处理一下跑团Log(即跑团游戏记录)就可以很快输出一集视频。</p>
<p>为了更加方便跑团replay视频的制作,我编写了一个vscode插件——<code>TRPG Replay Generator Log</code>——来方便跑团Log的处理。</p>
<p>本文对编写这个插件的过程做一个记录和总结。</p>
《算法笔记》C与C++语言相关
https://yxchangingself.xyz/posts/c-and-cpp-grammar-in-algorithm-note/
2022-02-08T08:46:26.000Z
2022-02-08T08:46:26.000Z
<p>这是一篇学习笔记,基于胡凡主编的《算法笔记》的第二章“C/C++快速入门”。</p>
<p>在学习那一章的过程中,我将其中之后用的到的内容整理为这篇笔记,适合了解C和C++语言的人用于复习其语法中与做算法题相关的特性与技巧。</p>
<p>本文中部分内容经过顺序调整和补充,不完全按照原书内容。<strong>详细内容请看原书。</strong></p>
从markdown到nga bbscode的转换程序
https://yxchangingself.xyz/posts/markdown-bbscode-converter/
2021-07-09T10:58:00.000Z
2021-07-09T10:58:00.000Z
<p><a href="https://nga.178.com/">NGA(艾泽拉斯国家地理)</a>论坛使用一种自定义的名为 <code>bbscode</code> 的代码来排版帖子内容,类似HTML,它也是一种标记语言,对bbscode的详细介绍可见:<a href="https://nga.178.com/read.php?tid=9268613">[NGA常用BBS代码][奥运帖]Project N —— 《从入门到精通:排版的艺术 Ver.3》</a>。</p>
<p>这种论坛自定义标记语言可以和markdown、html进行相互转换。例子如下:</p>
<figure class="highlight plain"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br></pre></td><td class="code"><pre><span class="line">[h]标题[/h]</span><br><span class="line">[b]加粗文字[/b]</span><br><span class="line">[list]</span><br><span class="line">[*] 列表项</span><br><span class="line">[*] 列表项</span><br><span class="line">[/list]</span><br><span class="line">[quote]引用块[/quote] </span><br></pre></td></tr></table></figure>
<p>在使用NGA论坛的时候遇到了将markdown文本转换为bbscode的需求,所以打算用python写一个简单的转换程序。由于不涉及复杂的GUI,本项目使用tkinter来编写界面。</p>
<p>项目地址:</p>
<ul>
<li><p>[<a href="https://github.com/ChangingSelf/nga-bbscode-converter">github仓库地址</a>]</p>
</li>
<li><p>[<a href="https://gitee.com/ChangingSelf/nga-bbscode-converter">gitee仓库地址</a>]</p>
</li>
<li><p><a href="https://nga.178.com/read.php?tid=27512061">NGA论坛内本工具软件的发布帖</a></p>
</li>
</ul>
利用Word域代码实现将形如“图一-1”的题注修改为“图1-1”
https://yxchangingself.xyz/posts/2028856356/
2021-06-27T06:24:00.000Z
2021-06-27T06:24:00.000Z
<h1 id="问题描述"><a href="#问题描述" class="headerlink" title="问题描述"></a>问题描述</h1><p>在用word编写毕业论文时,遇到了这样一个问题:通过多级列表的设置将一级标题设置为汉字数字之后,若需要设置包含章节号的题注(形如“图1-1”)时,则会变成“图一-1”的形式。本篇文章解决的就是将形如“图一-1”的题注通过设置域代码,在不修改一级标题格式的情况下改为“图1-1”。</p>
<p><img src="https://i.loli.net/2021/06/27/zTUkBaNlcY8IxvG.png" alt=""></p>
git管理的Android项目忽略密码或token的方法
https://yxchangingself.xyz/posts/android-project-gitignore-token/
2021-03-06T03:51:26.000Z
2021-03-06T03:51:26.000Z
<p>在照着Android教材《第一行代码 第三版》写天气预报app项目的时候,我发现如果把开发者token写在代码里面,用git管理的时候就会把token暴露出来,即使后面删掉,也会留在commit历史中。而<code>.gitignore</code>一般是忽略整个文件,没办法忽略单独一行。</p>
<p>所以可以将密码或者开发者token单独放在一个文件中,用<code>.gitignore</code>忽略它,并且在使用的时候读取其中的token。</p>
第四次博客文章分类调整
https://yxchangingself.xyz/posts/adjust_categories_4/
2021-01-21T00:16:41.000Z
2021-01-21T00:16:41.000Z
<p>之前的分类过于模糊,导致写完文章不知道该放在哪个分类,所以再次调整分类。</p>
<p><a href="https://yxchangingself.xyz/posts/adjust_categories/">第一次分类调整</a></p>
<p><a href="https://yxchangingself.xyz/posts/categories_description/">第二次分类调整</a></p>
<p><a href="https://yxchangingself.xyz/posts/hexo_blog_switch_theme_3/#more">第三次分类调整</a></p>
基于React+Electron的CraftTweaker脚本生成器
https://yxchangingself.xyz/posts/CraftTweaker-Assistant/
2021-01-12T01:57:25.000Z
2021-01-12T01:57:25.000Z
<p>在看到好友<a href="https://gitee.com/StringOD">StringOD</a>的一篇博客<a href="https://stringod.gitee.io/2020/11/26/wo-de-shi-jie-zi-ding-yi-pei-fang-jiao-ben-sheng-cheng-qi/">《我的世界自定义配方脚本生成器》</a>之后,我有了些想法。</p>
<p><code>CraftTweaker</code>是沙盒游戏<code>Minecraft</code>的一个Mod(<strong>Mod</strong>ification,模组,游戏的一种修改或增强程序),通过使用一种名为<code>ZenScript</code>的自定义脚本语言,修改游戏中的合成配方。</p>
<p>不过这个mod的最新版本是没有对应的GUI程序的,所以要生成想要的合成配方不是那么容易,得手动编写<code>ZenScript</code>脚本。StringOD的那篇博客中,用易语言实现了一个功能比较完善的GUI程序——<code>AutoSpawnZScript</code>。</p>
<p>恰好我在大四的第一个综合实践中使用过React+Antd来编写前端界面,而且之前用<a href="https://gitee.com/gaoyoubo/hexo-client">hexo-client</a>的时候了解到了Electron这个东西可以把web程序变为桌面应用程序,所以就想用React+Antd+Electron来尝试编写一下这个逻辑简单的脚本生成器,以巩固React的知识,以及学习一下Electron怎么用。</p>
<p>本文主要讲一下本项目(<a href="https://gitee.com/ChangingSelf/crafttweaker-assistant">CraftTweaker-Assistant</a>,托管于gitee)的大致情况与设计思路。</p>
在hexo的Icarus主题页面底部加入备案号
https://yxchangingself.xyz/posts/hexo-Icarus-beian-in-footer/
2021-01-07T11:04:16.000Z
2021-01-07T11:04:16.000Z
<p>2020年12月31日提交的ICP备案申请,在今天(2020年1月7日)通过啦!</p>
<p>接着就是要把备案号添加到博客页脚。</p>
scrapy+selenium爬取智联招聘
https://yxchangingself.xyz/posts/scrapy-selenium-zhilian-zhaopin-spider/
2020-11-22T14:07:16.000Z
2020-11-22T14:07:16.000Z
<p>这是第三个大四综合实践——数据处理与分析。我们小组打算爬取各个招聘网站进行数据分析。</p>
<p>我负责其中的爬虫模块,教了两个队友怎么使用scrapy,打算我解决完爬取数据的一些难题之后,剩余的解析就交给他们。</p>
<p>我觉得解析数据只是苦力活,只要爬取到带有数据的html,剩下的就很轻松了。最后我选择使用selenium,这样就不用分析接口了,两个刚学爬虫的队友也能轻松搞定。</p>
<p>很快地搞定了前程无忧网和拉勾网之后,我在爬取<a href="https://www.zhaopin.com/">智联招聘网</a>遇到了很多问题。本文将这些问题以及解决方案记录下来,供读者参考。</p>
vscode中python自定义包的模块如何导入其子包模块
https://yxchangingself.xyz/posts/python-the-module-of-parentpkg-import-the-module-of-childpkg/
2020-10-11T13:48:35.000Z
2020-10-11T13:48:35.000Z
<h1 id="问题描述"><a href="#问题描述" class="headerlink" title="问题描述"></a>问题描述</h1><p>如图所示,对于python,有一个自定义包<code>parent</code>,它里面还有一个子包<code>child</code>,当你在<code>parent.module1</code>中<code>import child.module2</code>时,vscode会给你报错,说找不到这个包。</p>
<p>当你单独运行<code>module1.py</code>的时候,可以正常运行,但是当你在<code>parent</code>包外层的<code>main.py</code>中<code>import parent.module1</code>时,就会报错。</p>
记第三次博客切换主题以及主题优化
https://yxchangingself.xyz/posts/hexo_blog_switch_theme_3/
2020-10-11T04:57:09.000Z
2020-10-11T04:57:09.000Z
<p>2019 年 2 月 28 日,<a href="https://yxchangingself.xyz/posts/hexo_blog_switch_theme_1/">第一次换主题</a>,从<a href="https://github.com/ShanaMaid/hexo-theme-shana">shana</a>(夏娜)换成了<a href="https://github.com/iissnan/hexo-theme-next">NexT</a>,当时换主题的原因是:虽然二次元主题蛮好看的我挺喜欢,但是由于小众,功能缺乏,而 NexT 作为一个使用人数非常多的主题,功能非常齐全,所以决定换主题。</p>
<p>2020 年 4 月 5 日,<a href="https://yxchangingself.xyz/posts/hexo_blog_switch_theme_2/">第二次换主题</a>,从NexT换成了<a href="https://github.com/blinkfox/hexo-theme-matery">Matery</a>,原因是这个主题可以放很多图,并且我需要的功能也都有。</p>
<p>2020年10月11日,第三次换主题,也就是这次,换成了<a href="https://github.com/ppoffice/hexo-theme-icarus">Icarus</a>(伊卡洛斯)。原因是,Matery的归档页面不能满足我回看历史文章的需求,以及我觉得整个页面太花哨了,封面图片也不是很好弄,所以还是换成图片量中等的Icarus。</p>
【项目复盘】网络软件开发综合实践
https://yxchangingself.xyz/posts/project-review-score-system/
2020-09-27T09:40:30.000Z
2020-09-27T09:40:30.000Z
<p>尝试使用规范化的复盘方法来进行复盘总结,本文使用的方法来自:</p>
<p><a href="https://zhuanlan.zhihu.com/p/225812258">如何做好一次复盘?这是我的经验-少数派</a></p>
【毕业实习总结】(2)mybatis框架的基本使用
https://yxchangingself.xyz/posts/graduate_internship_2/
2020-08-10T13:08:27.000Z
2020-08-10T13:08:27.000Z
<h1 id="前言"><a href="#前言" class="headerlink" title="前言"></a>前言</h1><p>大三暑假有个毕业实习,是企业的人来我们学校带我们做项目,为期三周。</p>
<p>前半部分是教我们一些框架的基本使用,后面几天就是组成小组利用前面学习的知识开发一个商城项目。感觉和课设其实没有差的太多。</p>
<p>学习到的框架有 mybatis、springmvc、spring、springboot、shiro、mybatis-plus,还在一开始学习了如何建立 maven 项目。</p>
<p>2020 年 7 月 15 日,我们小组完成了答辩。在之前因为要学习框架、做项目,甚至中间夹杂着几场考试,所以抽不出空来写博客,现在结束了,我现在通过 git 提交记录以及幕布学习笔记、工作日报等记录来尝试还原这一次经历以及学习到的技术。</p>
<p><strong>一开始想的是本系列先整理学习笔记,最后对本次项目进行总结。不过碍于时间不足,可能会直接将以前的旧项目改为 springboot 架构,实习最终完成的商城项目就不进行分析了,项目开源链接:<a href="https://gitee.com/ChangingSelf/SpringBootMall">SpringBootMall</a></strong></p>
<p>笔者也是刚刚才学习这些东西,所以如果有问题可以给我留言。</p>
【毕业实习总结】(1)maven环境配置
https://yxchangingself.xyz/posts/graduate_internship_1/
2020-08-10T12:59:13.000Z
2020-08-10T12:59:13.000Z
<h1 id="前言"><a href="#前言" class="headerlink" title="前言"></a>前言</h1><p>大三暑假有个毕业实习,是企业的人来我们学校带我们做项目,为期三周。</p>
<p>前半部分是教我们一些框架的基本使用,后面几天就是组成小组利用前面学习的知识开发一个商城项目。感觉和课设其实没有差的太多。</p>
<p>学习到的框架有 mybatis、springmvc、spring、springboot、shiro、mybatis-plus,还在一开始学习了如何建立 maven 项目。</p>
<p>2020 年 7 月 15 日,我们小组完成了答辩。在之前因为要学习框架、做项目,甚至中间夹杂着几场考试,所以抽不出空来写博客,现在结束了,我现在通过 git 提交记录以及幕布学习笔记、工作日报等记录来尝试还原这一次经历以及学习到的技术。</p>
<p>本系列将会先整理学习笔记,最后对本次项目进行总结。</p>
<p>笔者也是刚刚才学习这些东西,所以如果有问题可以给我留言。</p>
【自我管理系统】任务管理系统v200423
https://yxchangingself.xyz/posts/self-management-task-manage-v200423/
2020-04-23T15:02:27.000Z
2020-04-23T15:02:27.000Z
<p>梳理我现有的任务管理系统,以做出改进。</p>
<p>目前这个系统我并没有非常严格地在执行,因为没有养成这个习惯,但是我能够感受到它是有用的。</p>
【自我管理系统】电脑文件管理系统v200417
https://yxchangingself.xyz/posts/self-management-file-manage-v200417/
2020-04-17T12:05:25.000Z
2020-04-17T12:05:25.000Z
<p>以此文梳理我的电脑文件管理系统,由于是我的文件管理系统,所以很多个性化的设置,读者建立自己的系统时可改为自己的。</p>
博客总目录
https://yxchangingself.xyz/posts/blog-catalogue/
2020-04-16T05:56:12.000Z
2020-04-16T05:56:12.000Z
<h1 id="前言"><a href="#前言" class="headerlink" title="前言"></a>前言</h1><p>这是本博客站点的文章目录索引,如果你想在本站逛一逛,可以从这里开始。</p>
<p>如果想要搜索特定内容,请结合标签、分类和站内搜索功能。部分博客有对应的 B 站视频,以及 github 库,详见各自文章的开头传送门。</p>
<p>此目录并非包含本站所有文章,比如日志总结之类的不一定会放到目录。</p>
<p>如果觉得本站访问速度慢,可以在【友情链接】中找到<a href="https://changingself.gitee.io/">托管在 gitee 的本站链接</a>,速度会快很多</p>
记第二次博客切换主题以及主题优化
https://yxchangingself.xyz/posts/hexo_blog_switch_theme_2/
2020-04-05T13:50:18.000Z
2020-04-05T13:50:18.000Z
<p>2019 年 2 月 28 日的时候第一次换了主题,从从<a href="https://github.com/ShanaMaid/hexo-theme-shana">shana</a>(夏娜)换成了<a href="https://github.com/iissnan/hexo-theme-next">NexT</a>,当时换主题的原因是:虽然二次元主题蛮好看的我挺喜欢,但是不实用,功能缺乏,而 NexT 作为一个使用人数非常多的主题,功能非常齐全,所以决定换主题。</p>
<p>2020 年 4 月 5 日,也就是今天,我花了一个上午的时间将个人博客的主题换成闪烁之狐的<a href="https://github.com/blinkfox/hexo-theme-matery">Matery</a>主题,既美观功能又丰富。</p>
【作业总结】python写的DES替代算法的gui小工具
https://yxchangingself.xyz/posts/3043391445/
2020-03-29T02:10:52.000Z
2020-03-29T02:10:52.000Z
<p>信息安全的上机作业:实现 DES 替代算法,不限语言,可以调库</p>
<p><a href="https://github.com/ChangingSelf/DES">github 库传送门</a></p>
<p><img src="https://raw.githubusercontent.com/ChangingSelf/Figurebed/master/blog_images/20200402080056.png" alt="完成图"></p>
【自我管理系统】归档文件
https://yxchangingself.xyz/posts/self-management-archive/
2020-03-22T12:08:10.000Z
2020-03-22T12:08:10.000Z
<p>记录 2020 年第 12 周的文件归档</p>