ouuan's blog - RSS Feed

ouuan 的博客

Latest articles

当你的技术栈与软工交集为空(x

很好,你已经学会了 Vue、Rust、Actix、GitHub Actions、pnpm、Vitest、Caddy 现在你可以使用 React、Python、Django、GitLab CI、yarn、Jest、Nginx 来完成软工作业了( (其实这里面比较有问题的就只有 React,其他都还好,只是数量多凑一点 meme 效果更好) 小作业 Django 后端小作业 每一处需要修改的代码都列出来了,还有详细的注释告诉你要干什么。Django 完全没学,就根据提示查了一处文档,代码的整体逻辑也没搞清楚。 感觉写完之后理解了 ChatGPT,看着注释和示例补全代码根本就不需要学会如何写代码嘛( 学 React 小作业应该不需要怎么学 React,但还是把 Learn React...

数字逻辑实验到底是数电实验还是数设实验(x

谁会愿意天天用一个课六个字的全名来叫它呢,但是数字逻辑电路是数电,数字逻辑设计是数设,数字逻辑实验总不能是 /数[字逻]?实验?/,但叫它数电实验或者数设实验好像都不太对,草( 上课的时候也是,老师一会儿一个“如果你是数设的同学”,一会儿一个“如果你没报上数设但想把数电学成数设”,这课也太乱了( 我写游记都得把两个课放一起写,课就不能合成一个吗( 这篇就是个游记,具体学的内容如果我有时间的话会放在 DDPP 学习笔记,没时间(没时间写笔记 or 没时间学 DDPP 只能跟着上课)的话大概就不会放上来了( 某些人学都学不完了,还有空写游记?( sv 班的开设 DDPP5 讲的是 Verilog,以后造机应该也是用 Verilog,但数字逻辑实验似乎是 VHDL。就像软工强迫我把技术栈全换一遍一样,多学一门语言也可以称作“技多不压身”,而且说到底我也还没学...

一些博客排版优化小 trick

我的博客好像还用了不少奇怪的小 trick 来优化 (hopefully) 排版,在这整理一下,分享出来,也是怕几年(几天)后想不起来这些奇怪的东西是在干什么。 主要是 text justify 相关和标点挤压相关。 我博客的 Markdown 渲染基于 unified,所以下面的一些优化是以 unified 插件(remark / remark-rehype / rehype 插件)的形式实现的。 Warning为了直观地进行演示,本文可能会在提到一个问题的段落通过设置文本和 CSS 特意制造出相应的问题,并禁用对这个问题的处理措施以将问题展示出来。 text justify 相关 在每行的宽度略有差异时,使用两端对齐会让中文排版更加美观,这一般通过 text-align CSS...

DDPP 第四章学习笔记

DDPP5 第四章 “Digital Design Practices” 的学习笔记。 Documentation Standards 一个 document package 通常至少包含以下内容: specification (spec) 准确地描述系统的所有输入和输出以及功能。 block diagram 大致描述系统的主要模块之间的连接。 logic-device description 分别描述每个 “custom” logic device 的功能,这里 “custom” 是与现成的、由其他制造商生产的相对,例如 ASIC、FPGA、CPLD 等都是 custom 的。 schematic diagram 对每个模块的细节描述,比 logic...

String.prototype.replace 与隐藏的“$”

tl;dr: replace 的第二个参数应当使用字面量或函数,不应使用带变量的字符串表达式。 String.prototype.replace 的第二个参数 (reference: String.prototype.replace() - JavaScript | MDN) javascriptreplace(pattern, replacement);replace(pattern, replacement); 第二个参数 replacement 可以是字符串或函数,如果是函数,则由匹配信息作为参数计算出 replacement,如果是字符串,则可以使用一些 special replacement pattern: Pattern Inserts ...

DDPP 第三章学习笔记

DDPP5 第三章“Switching Algebra and Combinational Logic”的学习笔记。 Switching Algebra 这一节基本上就是离散数学 (1) 开头两章的内容,术语和记号有很多不同,幸好忘的差不多了,不然都要搞混了。 记号 AND:X ⋅ YX\ \cdot\ YX ⋅ Y OR:X+YX + YX+Y NOT:X′X'X′ AND 的优先级高于 OR (yysy 我还是更喜欢 ∨,∧\lor, \land∨,∧,⋅\cdot⋅ 也还行,+++ 真的有点难以接受。)(它们明明是对偶的怎么搞得像个环一样。)(主要还是下面这些定理用加号看起来真的好怪。)(异或不是还号称二进制加法吗。) 公理 (A1)X≠1  ⟹  X=0(A1D)X≠0  ⟹  X=1(A2)X=0  ⟹  X′=1(A2D)X=1  ⟹  X′=0(A3)0 ⋅ 0=0(A3D)1+1=1(A4)1 ⋅ 1=1(A4D)0+0=0(A5)0 ⋅ 1=1 ⋅ 0=0(A5D)1+0=0+1=1\begin{array}{rl}...

DDPP 第二章学习笔记

DDPP5 第二章“Number Systems and Codes”的学习笔记。 开头整数编码的内容很多是 CS:APP 第二章 讲过的,也有一些新内容,但基本上都是标星的可选内容,我看是看了但懒得写笔记了( 一套编码被称作一个 code,一个 code 中的单个合法编码(二进制串)被称作一个 code word。 Gray Code Gray code 的性质:相邻两个数的 code word 只有一位不同,且 2n−12^n-12n−1 的 code word 中只有一个 1(也就是说 nnn-bit Gray code 的首尾也只有一位不同)。 4-bit Gray code 4-bit Gray codeplain text 0: 0000 1: 0001 2:...

另一种很新的中文字体网页嵌入方案

当你看到 一种很新的中文字体网页嵌入方案,但是懒得优化 DP,也不会进化算法,你可以…… 整一个另一种很新的中文字体网页嵌入方案( 这就是你 开坑 DDPP 不填的理由吗 背景 前不久看到 一种很新的中文字体网页嵌入方案,还想着没必要做这种优化,毕竟按 Google Fonts 进行子集化就可以做到每页 1MB 左右,按现代的网速不会有太大问题,用 devtools 开节流试了下看起来也还行。 然后我回家了,离开了校园网。虽然自定义域名的 Cloudflare Pages 还能访问,但速度暂且不论,丢包率就很有点恐怖,经常页面加载一半就卡住了。 再然后,Google Fonts 里 Noto Serif SC 的 unicode range 不含单引号(和撇号是同一个字符),导致...

DDPP 学习笔记系列 序

Digital Design Principles and Practices 5th edition 的学习笔记。 下学期要选数电或数设,听说数电是纯考试,数设是考试 + 大作业,又听说数设助教全是 tuna 群友,就选了数设,还好没掉课( 虽然不知道讲课内容和 DDPP 有多少是正交的,但看一看 除了没时间学缓考的课有挂科风险 也没啥坏处。 上学期 在上课期间学 CS:APP 还是挺痛苦的,希望这次寒假能多学一点。本来想寒假补完一下 CS:APP,但大概是没时间了。先学 DDPP 可能对 CS:APP 的第四章也会有些帮助 (?)。 看了下 preface 和 chapter 1 开头,感觉这个作者说话挺有意思的,joke 含量很高。下面这句摘自 chapter 1 开头,两词三义,爱姐秀酱狂喜,又多了一个不读中文翻译的理由,让技术书籍的翻译也来体验一下虹咲烤肉...

CS:APP 第九章学习笔记

CS:APP 第九章“Virtual Memory”的学习笔记。 虚存是对 main memory 的抽象,它的主要作用有: 将 main memory 用作 disk 的 cache,只将 active 的部分放在 main memory,在需要时在 disk 和 memory 之间传递数据 通过给应用程序提供统一的地址空间,简化内存管理 通过给不同进程提供独立的地址空间,防止一个进程的数据被其他进程破坏 虚存在系统中起着非常重要的作用,学习虚存一方面可以学会使用它的一些强大功能(例如将文件映射到内存中),另一方面可以避免一些内存管理相关的错误。 Physical and Virtual Addressing 内存有两种寻址方式:物理寻址和虚拟寻址。 main memory...

Discover, share and read the best on the web

Follow RSS Feeds, Blogs, Podcasts, Twitter searches, Facebook pages, even Email Newsletters! Get unfiltered news feeds or filter them to your liking.

Get Inoreader
Inoreader - Follow RSS Feeds, Blogs, Podcasts, Twitter searches, Facebook pages, even Email Newsletters!