做了一个真值表生成器
问题的提出
离散课后布置了一些作业,有几道题要求你写真值表。我就在网上搜索真值表生成器,但是很快我就发现:这些工具都不提供表格复制功能,为了能一键将表格复制到 LaTeX\LaTeXLATEX/Word/Markdown中,我就捉摸着自己写一个。
问题的解决
为了简化程序的编写,我将这个功能拆成了好几个模块:
将中缀表达式解析为后缀表达式
将后缀表达式解析为抽象语法树
根据抽象语法树生成真值表
并且抽象语法树还有一个好处,就是每一个子节点都是一个子式。
细枝末节
为了方便使用,程序的开发采用前端是Web,采用React框架与Ant-Design快速完成网页搭建。(我觉得ant-design比bootstrape好用)
源代码与网页
源代码:
https://github.com/57UU/truth_table_generator
成品网页:
https://57uu.github.io/truth_table_generator/
参考资料
Github/RustBook from 电子科大
如何在大型组织中设置自己成员可见性
问题的提出
我加入了EpicGames组织,但中的member数量过于多,通过传统方法设置自己的可见性是行不通的,因为github的服务器最多返回50K条数据,利用搜索功能也是搜不到的。
问题的分析
如果不能通过github网页版解决,那么是否可以通过github api解决。
通过搜索github docs,我找到了这个API(参考资料2),可以设置自己在org里面的可见性。
问题的解决
我发现通过GitHub CLI工具调用这个API是最简单的。首先需要安装GitHub CLI(参考资料3)。
安装完成后登录
1gh auth login
登陆以后按照API文档中的示例进行调用
1gh api --method PUT -H "Accept: application/vnd.github+json" -H "X-GitHub-Api-Version: 2022-11-28" /orgs/{组织名称}/public_members/{用户名称}
完工
参考资料
GitHub R ...
概统基础知识
概统公理化基础知识
公理
推导性质
空集概率为零
有限可加性
对立事件公式
事件概率范围
减法公式
加法公式
公理
若Ω是一个试验的样本空间,Ω={Ai∣i∈[1,n]},有若\Omega 是一个试验的样本空间,\Omega=\{A_i|i\in[1,n]\} ,有
若Ω是一个试验的样本空间,Ω={Ai∣i∈[1,n]},有
非负性:P(Ai)>0P(A_i)>0P(Ai)>0
规范性:P(Ω)=1P(\Omega)=1P(Ω)=1
可加性:若{Ai}\{A_i\}{Ai}相互排斥,那么有
P(⋃i=1∞Ai)=∑i=1∞P(Ai)P(\bigcup_{i=1}^{\infty} A_i)=\sum_{i=1}^{\infty} P(A_i)
P(i=1⋃∞Ai)=i=1∑∞P(Ai)
推导性质
空集概率为零
P(∅)=0P(\empty)=0
P(∅)=0
有限可加性
P(⋃i=1nAi)=∑i=1nP(Ai),当{Ai}相互排斥P(\bigcup_{i=1}^n A_i)=\sum_{i=1}^n P(A_i),当\{A_i\ ...
在大川学堂上快速完成视频观看
又到了开学季,但是四川大学竟然还会布置学前作业,要求完成许多又臭又长的视频观看,实在是恶心人。但既然大川学堂使用的是网页端,那就意味着操作的空间很大。
首先进入视频播放页面
视频一定要处于播放页面
打开DevTools
按下键盘上的F12打开开发者工具,在顶部选项卡选择 源代码(sources),在左侧找到文件resources/public/static/js/pages/detail_video.js
打断点
找到第1032行
将鼠标移动到1032左边的区域,会出现一个小红点,用鼠标单击它
网页应该会如下图所示
运行代码
转到 控制台(Console)选项卡,在下方输入以下代码
1this.competeCourseHandle()
然后回车运行
大功告成
写在最后
我的这个方法当然是比较繁琐的,肯定有直接在控制台里丢一段代码就搞定的方式。但由于我早就把这些视频看完了,没有实验的机会了。还请各位小登去逆向分析一下,直接把这个请求的参数分析出来。
一道极限题的计算
题目
求limx→01−cosx(cos2x)12(cos3x)13x2求 \lim_{x\rightarrow 0}\frac{1-\cos x (\cos 2x)^\frac{1}{2}(\cos 3x)^\frac{1}{3}}{x^2}
求x→0limx21−cosx(cos2x)21(cos3x)31
解
引论一
若f,a,b,c为自由变量f=abc,有f′=(a′a+b′b+c′c)(abc)若f,a,b,c为自由变量f=abc,有\\
f'=(\frac{a'}{a}+\frac{b'}{b}+\frac{c'}{c})(abc)
若f,a,b,c为自由变量f=abc,有f′=(aa′+bb′+cc′)(abc)
引论二
d(costx)1t(costx)1tdx=−tantx\frac{d(\cos tx)^{\frac{1}{t}}}{(\cos tx)^{\frac{1}{t}}dx}=-\tan tx
(costx)t1dxd(costx)t1=−tantx
解
limx→01 ...
VSC扩展Latex-Workshop设置使用xelatex引擎
在网上看了一圈,使用的方法都是把默认的全局配置文件改掉,一点都不优雅
使用magic语句是更好的方法,可以在文档开头写上
1% !TEX program = xelatex
但是latex workshop默认会忽略这个属性,这就需要设置该扩展不忽略
如下图所示
参考资料
magic-comments
latex-workshoplatexbuildforcerecipeusage
甘肃五日游
这几天跑去了甘肃,在此写一下我的体会吧
Day 0
大抵是在晚上10点过,到达兰州站,入住了酒店。不过这~150¥的垃圾酒店应该是值得一说的。您猜怎么着?我在这美团评分5.0的玩意里面发现了蟑螂,虽说是北方小蟑螂,怪可爱的…撤硕里也是稀脏,黄色污渍漫山遍野。
出去吃了一个羊肉泡馍(35¥),车站旁边的就是贵,东西也没多少。
Day 1
九点过的时候醒了,于是拿出电脑开始玩了,玩到中午十二点去退房了。由于第二天要去甘谷,买了个西站的票,在地图上看了看附近的景点,有个啥兰州老街和黄河楼,于是去逛了逛。牛肉面还怪便宜的,只要8¥,一两酱牛肉9¥。
黄河楼也还不错,门票30¥(可恶,竟然没有学生优惠),在观景台上,可以清晰地看到兰州的地理环境:兰州是群山中地一块低地,大致呈现一字型。
晚上就坐火车去甘谷了,真的好多年没做过这种老火车了,还吃了火车上10¥的临期盒饭。
到站后同学就接我到酒店去了,于是到达酒店,我又拿出电脑开始玩了,果然又发现了泥川一个泄露信息的API。
还是这边县城里面的酒店便宜,只要·146¥,但体验却是这几天里最好的。
Day 2
第二天,同学给我找了个自行车,一起 ...
入门jvm字节码
java是很简单的,但是这背后支撑着java的是什么?
引言
jvm是一台虚拟机,能够执行java字节码,也就是java的汇编。
本篇文章将避免涉及具体的指令,从了解的程度来描述java字节码设计。
虚拟机结构
重点内容(为了方便理解,以下内容做了简化)
对于每一个class,有一个常量池、静态变量表
对于每一个实例对象,有一个成员变量表
对于每一个function,有一个局部变量表(类似list)、一个操作数堆栈
与8086汇编的区别
弃用了标志位、寄存器
java字节码属于精简指令集,8086汇编属于复杂指令集
引入了局部变量表、常量池
有些不是可执行代码片段(包括函数标记、类标记)
因此,java字节码保留了类、函数的概念,可以像高级语言一样调用函数
更多抽象类型的支持,的基本类型:
基本类型
int
byte
short
long
float
double
char
boolean
引用类型
类实例
数组
接口
java字节码更高级,难以使用逻辑电路实现
异常处理
字节码级别的面向对象
字节码级别的多线程锁
自动管理的函数 ...
windows的CLSID与ProgID对应关系
前几天要写个程序,要用到windows的CLSID(虽然最后程序没写出来),发现网上没有特别全的对应关系,于是就查询资料,自己导出了一份。
先说结果
结果在这里CLSID.json
过程
查询资料得知,windows将CLSID放在注册表如下位置
LOCAL_MACHINE\SOFTWARE\Classes\CLSID
CLASSES_ROOT\CLSID
于是用一个C#脚本很快就导出了,代码如下
1234567891011121314151617181920212223242526272829303132333435363738List<CLSID> pairs = new();{ var reg = Registry.ClassesRoot.OpenSubKey("CLSID"); var subs = reg.GetSubKeyNames(); foreach (var i in subs) { var name = reg.OpenSubKey(i).GetValue(" ...
矩阵的并行计算
注:这是我的线代报告,发这里算了
前言
引言
如今,线性代数在深度学习中的应用非常广泛。但是在计算机领域,使用传统CPU进行矩阵运算是非常缓慢的,因为CPU并不擅长高度并行计算。而对于擅长高度并行化计算的GPU而言,这是非常容易的,这也是为什么现代大模型的训练离不开大量显卡(计算卡)
本次报告目的
本文使用CUDA编程实现高效的矩阵操作(包括矩阵乘法、矩阵转置)
CUDA简介[1]
CUDA 是NVIDIA 发明的一种 并行 计算平台和编程模型。它通过利用
图形处理器(GPU)的处理能力,可大幅提升计算性能。
编程环境
操作系统
CUDA设备
IDE
ubuntu 18 LTS
tesla p4
Nsight
windows 11
RTX 3060 laptop
CLion
基础知识
名词
中文
解释
shared memory
共享显存
容量很小,速度很快,随机读写性能好,局部访问的缓存
global memory
全局显存
容量很大,速度较慢,随机读写性能差,全局访问的缓存
矩阵转置
数学原理
我们学习的矩阵转置如下 ...