Ready for 20?

写在 20 岁生日的前一天。

October 3, 2020 · Bill Chen

『NexT』:一款 NexT 风格的 Typora 主题

很喜欢 Hexo 中的 Next 主题,便想要在 Typora 中书写时获得和在 Hexo 中一样的预览效果,便写了这样一个主题。 Features 对于中文字体,我使用了浙江大学科技设计创新创业实验室开发的未来荧黑字体(https://github.com/welai/glow-sans)。实测下来这款字体在高 DPI 屏幕下显示效果较好,不过在标准的屏幕上效果一般。 英文字体使用的 Overpass(http://overpassfont.org/),风格类似于 SoundCloud 的御用字体 Interstate。这款现代化的字体的灵感来自于联邦高速公路体 Highway Gothic,具有极高的辨识度和易读性。 等宽字体使用了 JetBrains 在 2020.1 系列 IDE 引入的默认字体 JetBrains Mono。整体风格维持了 NexT 主题的 Muse Scheme,对代码框,下划线,引用和链接等做了适配,移植了表格、分割线的样式,同时微调了侧栏的样式。不过由于大多数时间都在 macOS 下调试,Windows 上有概率出现一些意想不到的问题。 由于我在平时涉及到 Markdown 的写作工作大多是技术文档,夹杂较多的代码和列表,所以在设置间距的时候,我额外考虑了连续的多个段落的排版情况,所以避免出现了当列表较多的时候间距过大的问题。 Preview 和原本的 NexT 主题相比,稍微调了一下行内代码的高亮颜色,这里放几张效果图: 后来额外适配了一个暗黑主题: Link http://theme.typora.io/theme/NexT/ https://github.com/BillChen2K/typora-theme-next 字体无需手动安装,已包含在主题内。这里 提供了安装方法。 如果需要使用 Helvetica 版本的主题,需要一并复制标准版本的 css 文件,因为是直接 import 进来的。

May 1, 2020 · Bill Chen

Ballanced —— 一个用 Unity 复刻的 Ballance®️

Ballance 是一款由德国游戏公司 CYPARADE 于 2002 年发行的一款经典的单机游戏。小时候花了很多时间在这上面。刚好这学期的计算机图形学大作业是做一个游戏,于是和小组成员催生了一个复刻 Ballance 的想法。利用 3DS MAX 和 Unity 实现操作逻辑,尽可能接近原游戏的视觉效果和声音效果。连续肝了三个星期,实现了这一想法,并将其命名为 Ballanced。 项目地址 https://github.com/BillChen2K/Ballanced/releases(已编译 Windows 可执行文件) 操作指引 [WSAD] / [方向键]:移动球体 [SPACE]:抬起摄像头 [R] / [K]:重新开始 [P] / [ESC]:暂停游戏 [Q]:退出游戏 以下操作用于调试: [J] 给球一个向上的力使其飞行 [Ctrl] + [Shift] + [W]:一键胜利(…… [Ctrl] + [Shift] + [D]:一键死亡(………… 一些想法 还是比较拙劣的,初学 Unity 的第一学期,很多原理上的东西还没有搞明白,贴图也有些生硬。不过从 0 开始建模写脚本(贴图直接盗用 Ballance 似乎也不算从 0 开始)还是绕了不少坑。目前的初始分数是 1000 分,每秒 2 分递减(维持 Ballance 的逻辑),不过每次掉落平台减掉的不是生命,而是 200 分。 总体说来还是有点可玩性的。 至于一些更加拙劣的粒子效果…… 五毛美工,权当个笑话吧 xd。

January 15, 2020 · Bill Chen

计算机网络 Computer Networks​ 💻 期末复习总提纲

平时不学习,期末火葬场。 一周时间靠王道考研和各路 pdf 自学计网,留下的提纲都在这里了。全是干货。全文 pdf 可以在这里下载:http://cloud.billc.io/s/xNHarppQPGi3gSz 文章很长,建议在左侧打开目录导航。 水平有限,如有错误,敬请指正。祝你备考愉快。 Collected by Bill Chen, 2019.12, East China Normal University Chapter 1 Overview 7 - layer OSI Model 计算机网络:将分散的,具有独立功能的计算机系统通过通信设备与线路连接起来有完整的软件实现资源共享和信息传递 计算机网络是互联的,自治的 概念和组成 计算机网络的功能 数据通信 数据在信道上的传输 资源共享 硬件、软件和数据 分布式处理 多台计算机共同处理同一个任务 提高可靠性 负载均衡(多台计算机可以更亲密的沟通) 计算机网络的组成 硬件、软件、协议 工作方式 - 边缘部分、核心部分 功能组成 - 通信子网(OSI下三层通信子网)、资源子网网(上三层的处理) 分类 广域网WAN、城域网MAN、局域网WAN、个人区域网PAN 按照使用者分类:公用网、专用网(军队、政府、铁路、公安) 按照交换技术:电路交换、报文交换、分组交换 按照拓补结构分: 按传输方式:广播式、点对点 标准化 标准化相关工作 法定标准:Eg....

January 10, 2020 · Bill Chen

使用 VSCode 在 Mac 上配置 C/C++ 调试环境

Background VSCode是微软开发的一款开源代码编辑器,具有可拓展性强,多语言支持,跨平台等优点,在不同的个性化配置下几乎可以用作所有的轻量级开发。我在初学C的时候也使用的是类似于Xcode、Visual Studio等大型IDE来新建一个C语言工程,编写一个仅含有main函数的文件,显得过于大材小用了。后来学校推荐使用的Code::Blocks和Dev C++也已经多年没有更新,且界面古老,对Mac的支持也很差。直到使用了VSCode并正确配置了之后,我似乎找到了当下最适合用于学习C/C++的代码编辑器。 下载与安装 https://code.visualstudio.com/ 配置调试环境 首先你需要在你的硬盘上新建一个文件夹用于存放你的代码文件。我这里使用的是LearningRepo。在新建一个C或者C++文件后会自动提示安装Extension For C/C++ Support。你也可以在插件页手动安装。如果你喜欢中文界面,直接在插件中搜索Chinese就可以得到中文语言支持。 此时你已经可以新建代码文件并编辑。但为了能在终端中直接调试代码,我们还需要配置Launch.json和task.json。 配置 launch.json 进入左侧的调试页面,选择[添加配置…],就会自动在你的工作目录下新建一个.vscode文件来存放你的调试配置。这里我们选择C/C++: (lldb) Launch。 对于这里的配置,官方的文档里( https://go.microsoft.com/fwlink/?linkid=830387 )有详细的说明。对于一般用户,我在这里修改成了如下配置。 { "preLaunchTask": "build c++", "name": "Launch C++", "type": "cppdbg", "request": "launch", "program": "${workspaceFolder}/temp/${fileBasenameNoExtension}.out", "args": [], "stopAtEntry": false, "cwd": "${workspaceFolder}", "environment": [], "externalConsole": true, "MIMode": "lldb", } 大部分保持默认,需要修改的地方如下: preLaunchTask:手动添加的参数,稍后我们会自行编辑的一个任务,其作用是将当前文件编译成可执行文件。 program:需要和稍后配置的task相对应,即打算运行的程序。需要设置为二进制程序目录而不是源代码文件。 externalConsole:设置为true来在外置终端(macOS自带的)中运行程序。该选项设置为false的话会在内置终端中运行,无法输入数据(应该有解决方法,但我目前没有发现) 如果你需要打开日志来排查问题,加入以下内容: "logging": { // "engineLogging": true, "trace": true, "traceResponse": true, } 这个运行任务的意思就是首先运行一个build c++的task来,得到可执行文件,接着再运行并调试这个文件。 配置 task.json 对于默认快捷键,点击command+P并输入>task来新建一个生成任务。 在该文件里,我们配置一个名为build c++的task,将文件编译到工作目录下temp文件夹下的对应文件(你也可以自行配置生成目录,但需要和上面的launch.json相对应。我的build c++配置如下:...

March 24, 2019 · Bill Chen