- 博客(132)
- 收藏
- 关注
原创 [Python] Pathlib 使用
pathlibPython built-in, version >= 3.4考虑到 Windows/Linux 等不同操作系统下路径的差异,建议不再使用 os.path.*和字符串来管理路径。from pathlib import Path操作例子备注创建p = Path('C:/Users/Username/Documents)可以是文件,也可以是文件夹,现在还不能保证这个路径有东西p = Path('C: \\', 'Users', 'Username', '
2022-07-02 10:06:14
353
原创 [日常] 给 C++ Python 等后端开发者的前端常识极快速入门
作为一个臭写后端的,最近我对前端产生了很大的兴趣,谁不喜欢写好看的界面呢(只是以前不会写)。而且根据本科的经历, —— 老师的视角。但是在我学习前端三板斧 (HTML+CSS+Javascript) 时,有两件事情让我感到很奇怪。一是中文互联网上有太多 Javascript(以下简称 js) 的教程,但几乎都是从零开始的。显然,有相当大的群体是有编程语言基础的,比如学过 C/C++/Python 的大学生。对于这些人来说,大可不必从头开始,只需要一点点迁移知识就够了。二是许多教程太集中精力语法,这很好
2022-06-12 23:55:43
541
原创 [日常] C++如何使用字符串获取函数
最近有朋友问我,C++ 里怎么实现用 string 取函数,因为要实现一个 server,根据送来报文里的类型字段选择合适的函数处理。答案是使用函数指针,或者使用 std::function 封装过的函数指针。注意,此时要求所有函数的签名类型是一样的,包括参数和返回值,因为这样编译器才能确定函数调用时的参数入栈顺序等。如果各个函数长的不一样,请使用switch-case语句手动调用。...
2022-06-08 20:44:32
557
原创 [日常] 从零安装bert-as-a-service (Python = 3.7, tensorflow= 1.15.0)
1. 废话众所周知Python写工程最麻烦的就是配环境,你永远不知道某个库哪个版本更新又删掉/修改了一个API,和其他库有没有兼容性问题,如果你正在尝试某一套没人试过的版本组合,那么只能祝你好运。2. 你应当知道的BERT是Google推出的预训练模型,自然是用Google家的tensorflow来训练的。但是现在往往是pytorch用的比较多,那么如何把bert应用到pytorch项目中呢,这就用到了bert-as-a-service这个库。作为服务端,可以新开一个虚拟环境(笔者用cond
2021-03-08 16:44:01
1740
2
原创 [Typora] 智能标点与编写HTML代码存在冲突
笔者近期在编写文档中,由于需要更改字体的大小、格式等,通过手写HTML代码来实现,但是发现编写的HTML代码中的引号会被Typora的智能标点功能替换。具体表现为左引号'会被替换为‘(GRAVE),对于单双引号都是如此。在文件 首选项中关闭智能引号,或者改为渲染时替换即可。...
2021-01-13 17:55:31
1269
1
原创 [Typora Markdown BP] 修改文字格式、图片缩放对齐居中、Excel表格互转、手动分页、表格不分页、Mermaid自定义绘图(以自动机为例)、思维导图导出、word导出删文字、自动编号
目录文章较长,请点击书签浏览感兴趣的内容。文章目录前言全局设置效果类修改字体、颜色、字体大小、行高等文字居中(靠右)对齐图片转存至相对路径图片缩放图片居中内容类Excel的表格与Markdown表格的互转`mermaid`相关使用特殊文字使用`classDef`语法来自定义`mermaid`节点(以自动机为例)产生目录手动分页临时解决全局解决禁止导出时,长表格的分页Markdown转思维导图Markdown转docx之后删除图片的可选文字(通常为文件名)标题自动编号前言BP,即Best Pract
2021-01-11 13:45:23
2181
2
原创 [日常] 为OpenEuler安装图形界面
这半学期有操作系统课程,因为学校与华为有合作,所以使用的发行版是OpenEuler。但是OpenEuler默认是没有桌面环境的,登陆即进bash。我知道用命令也行,可我就是想用图形界面。1. 检查网络连接ping一下百度看网络通不通,因为之后要从软件源下软件。ping www.baidu.com这一步看着有点无厘头,因为之前我的VMware服务出了一点问题,NAT服务没法启动,如果你也有这个问题(症状:从物理机ping虚拟机的IP(登陆的欢迎信息有写)没有回复,SSH自然也连不上了),可以将V
2020-09-30 20:52:51
20445
20
原创 [日常] 两位8421BCD码能够整除4的条件
设两个8421BCD数字分别为A、B,其写成一个两位十进制数为AB,其二进制总共八位,写成比特串是a3a2a1a0b3b2b1b0a_3a_2a_1a_0b_3b_2b_1b_0a3a2a1a0b3b2b1b0则AB=10∗(8a3+4a2+2a1+a0)+8b3+4b2+2b1+b0AB=10*(8a_3+4a_2+2a_1+a_0)+8b_3+4b_2+2b_1+b_0AB=10∗(8a3+4a2+2a1+a0)+8b3+4b2+2b1+b0即AB=80a3+40a2
2020-09-23 12:44:55
640
原创 [日常] [Python] 批量将某个文件夹下的.ppt/.pptx/.pptm转换为.pdf文件,并且将其移入/ppt文件夹中
ReferencePython 3 – 批量将PPT转换为PDF_proplume的博客-CSDN博客前提安装comtypes库,需要用其操纵Microsoft PowerPoint.命令行输入pip install comtypes即可,或者用conda.Python 3.6 or higher,因为其中使用pprint来打印。如果低于这一版本,可以删除pprint的引入,把调用的pprint换成print.使用采用了模仿Python解释器的方式,每次输入一个文件夹路径,然后
2020-09-14 23:09:42
507
原创 [日常] C语言的简单账户增删改查样例
最近在帮考研跨考计算机的朋友学习C语言,from zero.用单链表实现了一个账户的管理系统。麻雀虽小,五脏俱全。单链表的增删改查(CRUD)全在里面了,结构也很清晰,适合初学者学习链表的基本操作。#include <stdio.h>#include <stdlib.h>#include <string.h>#define _CRT_SECURE_NO_DEPRECATE#define _CRT_SECURE_NO_WARNINGS#define BU
2020-08-19 17:48:30
590
原创 [日常] 使用PyPDF2合并多个PDF文件,并且加上文件名作为书签
Reference:这个脚本是在某个某个脚本的基础上改的,但是链接找到不到了,如果找到了再补上引用Problem solve : PyPDF2 编码问题 PyPDF2.utils.PdfReadError Illegal character in Name Object_kkcoder-CSDN博客_pypdf2.utils.pdfreaderror_ eof marker not found1.使用之前因为PyPDF2自己的问题,在输出中文编码的pdf时会报错。所以使用之前需要修改PyPDF2.
2020-08-02 16:43:24
2172
原创 [日常] 如何在Qt工程中链接glfw库,及解决大量的LINK 2019 _imp_xxxx错误
最近在上计算机图形学的课。个人并不喜欢VS,决定用Qt Creator作为IDE。下载、make、编译了glfw库,得到了glfw3.lib新建了一个Qt Console Application需要注意,如果make时选择的平台是VS并且使用了VS编译库,那么,Qt项目的编译套件(Kit)也应该选择VS,VS的库和MinGW的库大概率不通用。1.添加glfw3库文件打开.pro工程文件,右击,选择添加库,选择外部库首先选择库文件->浏览,选择glfw3.lib链接方式选择动态。平台
2020-07-30 17:48:50
1350
1
原创 [日常] 如何取消Uncrustify对多行注释的换行
在Qt开发中用到了Doxygen来生成文档,所以会在多行注释里写一些Markdown代码,但是Uncrustify默认的配置文件会将比较长的多行注释折叠,这样Markdown的代码就失效了。解决方案是将使用的uncrustify.cfg中的cmt_indent_multi改成false# Whether to apply changes to multi-line comments, including cmt_width,# keyword substitution and leading char
2020-07-04 10:42:11
388
原创 形式语言与自动机 Part.6 图灵机
课程名:形式语言与自动机作者:Lupinus_Linn许可证:CC-BY-NC-SA 3.0 创作共用-署名-非商业性-相同方式共享署名(英语:Attribution,BY):您(用户)可以复制、发行、展览、表演、放映、广播或通过信息网络传播本作品;您必须按照作者或者许可人指定的方式对作品进行署名。非商业性使用(英语:Noncommercial,NC):您可以自由复制、散布、展示及演出本作品;您不得为商业目的而使用本作品。相同方式共享(英语:Sharealike,SA):您可以自由复制、散布、.
2020-06-19 18:04:51
892
原创 形式语言与自动机 Part.5 上下文无关语言与下推自动机(PDA)
课程名:形式语言与自动机作者:Lupinus_Linn许可证:CC-BY-NC-SA 3.0 创作共用-署名-非商业性-相同方式共享署名(英语:Attribution,BY):您(用户)可以复制、发行、展览、表演、放映、广播或通过信息网络传播本作品;您必须按照作者或者许可人指定的方式对作品进行署名。非商业性使用(英语:Noncommercial,NC):您可以自由复制、散布、展示及演出本作品;您不得为商业目的而使用本作品。相同方式共享(英语:Sharealike,SA):您可以自由复制、散布、.
2020-06-19 18:00:21
1455
4
原创 形式语言与自动机 Part.4 正则语言,2DFA,Mealy&Moore机
课程名:形式语言与自动机作者:Lupinus_Linn许可证:CC-BY-NC-SA 3.0 创作共用-署名-非商业性-相同方式共享署名(英语:Attribution,BY):您(用户)可以复制、发行、展览、表演、放映、广播或通过信息网络传播本作品;您必须按照作者或者许可人指定的方式对作品进行署名。非商业性使用(英语:Noncommercial,NC):您可以自由复制、散布、展示及演出本作品;您不得为商业目的而使用本作品。相同方式共享(英语:Sharealike,SA):您可以自由复制、散布、.
2020-06-19 17:52:20
1461
原创 形式语言与自动机 Part 3.有限自动机
课程名:形式语言与自动机作者:Lupinus_Linn许可证:CC-BY-NC-SA 3.0 创作共用-署名-非商业性-相同方式共享署名(英语:Attribution,BY):您(用户)可以复制、发行、展览、表演、放映、广播或通过信息网络传播本作品;您必须按照作者或者许可人指定的方式对作品进行署名。非商业性使用(英语:Noncommercial,NC):您可以自由复制、散布、展示及演出本作品;您不得为商业目的而使用本作品。相同方式共享(英语:Sharealike,SA):您可以自由复制、散布、.
2020-06-19 17:41:36
1135
1
原创 形式语言与自动机 Part.1绪论, Part.2 语言与文法
课程名:形式语言与自动机作者:Lupinus_Linn许可证:CC-BY-NC-SA 3.0 创作共用-署名-非商业性-相同方式共享署名(英语:Attribution,BY):您(用户)可以复制、发行、展览、表演、放映、广播或通过信息网络传播本作品;您必须按照作者或者许可人指定的方式对作品进行署名。非商业性使用(英语:Noncommercial,NC):您可以自由复制、散布、展示及演出本作品;您不得为商业目的而使用本作品。相同方式共享(英语:Sharealike,SA):您可以自由复制、散布、.
2020-06-19 17:24:22
843
原创 计算机网络 Exp2.使用Wireshark对网络层的数据报进行分析
实验报告原文1. 实验内容捕获在连接Internet 过程中产生的网络层分组:DHCP 分组,ARP 分组,IP 数据分组,ICMP 分组。分析各种分组的格式,说明各种分组在建立网络连接过程中的作用。分析IP 数据分组分片的结构。通过本次实验了解计算机上网的工作过程,学习各种网络层分组的格式及其作用,理解长度大于1500 字节IP 数据组分片传输的结构。2. 实验环境Microsoft Windows 10.0.18362.836Wireshark Version 3.2.3 (v3.
2020-06-15 09:54:10
1436
原创 计算机网络 Exp1.数据链路层ARQ协议设计 Part 3.研究与探索的问题
在解决这部分问题时,查阅了一些资料和博文。引用在之后补上。4.研究和探索的问题4.1 CRC的校验能力 CRC校验码是一个(k,k+r)(k,k+r)(k,k+r)的编码。其检错能力很强,其可以检出如下的错误:全部的单个错。全部离散的二位错。全部奇数个错。长度≤k\le k≤k的突发错。以1−(12)k−11-(\frac{1}{2})^{k-1}1−(21)k−1的概率检出长度为k+1k+1k+1位的突发错。 长度为k+rk+rk+r的比特串总共可以
2020-06-10 12:53:21
552
原创 计算机网络 Exp1.数据链路层ARQ协议设计 Part 2.实验结果的理论分析与实测
3.实验结果分析3.1 描述你所实现的协议软件是否实现了有误码信道环境中无差错传输功能。 本实验中实现了带NAK的选择重传协议,实现了在有误码信道环境中的无差错传输功能。 如果收到了损坏的帧,则将被CRC校验查出、丢弃并打印错误信息。如果之前没有发送过NAK,则发送该帧的NAK给发送方以加速重传;如果之前已经发送过NAK则不再发送,等待发送方定时器超时后自动重传。3.2 程序的健壮性如何,能否可靠地长时间运行。 经过详细的测试(见后续),每一种情况
2020-06-10 12:49:48
706
原创 计算机网络 Exp1.数据链路层ARQ协议设计 Part 4.源程序
6.源程序文件datalink.h/* FRAME kind */#define FRAME_DATA 1#define FRAME_ACK 2#define FRAME_NAK 3/* DATA/ACK/NAK Frame +=========+========+========+===============+========+ | KIND(1) | SEQ(1) | ACK(1) | DATA(240~256) | CRC(4) | +====
2020-06-10 12:45:10
490
1
原创 计算机网络 Exp1.数据链路层ARQ协议设计 Part 1.实验环境与软件设计
注意:下述程序并没有实现ACK和NAK帧的单独组帧,而是使用和普通帧一样大小的帧。如果需要单独帧,需要另外定义帧结构,然后写函数发送1.实验内容与实验环境1.1 实验内容 利用所学数据链路层原理,自己设计一个滑动窗口协议,在仿真环境下编程实现有噪音信道环境下两站点之间无差错双工通信。信道模型为8000bps8000bps8000bps全双工卫星信道,信道传播时延 270270270毫秒,信道误码率为10−510^{-5}10−5,信道提供字节流传输服务,网络层分组长度固定为25625
2020-06-10 12:42:51
771
原创 BUPT-DSA 2019 Fall Chap.3 栈可能的输入序列
Reference栈的合法输出序列-CSDN关于出栈顺序的模拟和数学检测,之前写过ZJU数据结构 02-线性结构4 Pop Sequence (25 分)有启发意义一道题目,学习了在dfs有多个选支时应该如何操作,that is,把当前的状态(含数组,参数等)备份一份,此时两种选支可以串行。将栈和队列建立在栈里,可以自动控制构造和析构,不用多操心,很方便。#include <cs...
2019-10-07 10:09:13
197
原创 BUPT-DSA2019 Fall Chap.3 括号匹配
原理也很简单,就是检测到右括号时,看栈顶是不是对应的左括号,还有就是最后检查完了之后是不是有多余的左括号。Tips: 可以把它整合进你的计算器里,甚至可以让计算器自动补齐括号。#include <iostream>#include <string>#include <stack>using namespace std;bool paranthesi...
2019-10-07 10:03:20
206
原创 BUPT-DSA 2019 Fall Chap.3 骑士遍历问题
如果只是找一组解,使用bfs就足够了,dfs会找出所有的解。bfs之后再写。依次输入地图矩阵的阶数,出发点的x,y(自然坐标,从1开始数)。#include <cstdio>#define MAX 100int n;int solution_cnt;int offset[][2]={ {-2,1}, {-1,2}, {1,2}, {2,-1}, {1,-2},...
2019-10-07 10:00:40
223
原创 BUPT-DSA 2019 Fall Chap.3 八皇后问题
八皇后可以扩充到n皇后,注意DEGREE不要开的太大,因为解的数量增长非常快,八皇后才92,九皇后就有392组解了。同样使用dfs。#include <cstdio>#include <cmath>#define DEGREE 8//八皇后,可以改成其他阶数的//数组使用自然下标[1,n],0号位空出int result[DEGREE+1];//第i行的第re...
2019-10-07 09:54:45
177
原创 BUPT-DSA 2019 Fall Chap.3 0-1背包问题
这实际上并不是标准的0-1背包问题,可以认为所有物品的价值都是1。而且也不是寻找最优解,而是输出所有可能的解,所以深度优先搜索(DFS)就显得格外合适。全局区的变量会被自动置零,可以不用赋初值。#include <cstdio>#define MAX 100int solution_cnt;//解方案数int bag_capacity;//包容量int items_cnt,...
2019-10-07 09:45:42
176
原创 BUPT-DSA 2019 Fall Chap.3 推导n阶汉诺塔(梵塔)执行move步骤的次数
根据汉诺塔的递归定义void hanoi(int n,...) if(n==1) move(1,...); else { hanoi(n-1,...); move(n,...); hanoi(n-1,...); }由此可见,函数在n=1时执行一次move函数后退出,在非1时,执行一次move并执行两次n...
2019-10-07 09:38:07
1152
原创 BUPT-DSA 2019 Fall Chap.1 利用带头结点的链表实现多项式的乘法
利用带头结点的链表实现多项式的乘法(实际上不带头结点操作起来要方便一些)由于使用了结构体的整体赋值,需要打开C++11语法,如果不想开也可以单独逐个赋值。由polynomialMultiply()函数返回一个新的多项式,而不对输出的poly1和poly2做修改。多用const是好习惯。typedef struct _polynomial{ int coef,expon; struct...
2019-10-07 09:35:15
229
原创 Learning Materials for BUPT-SCS 2019 Fall
csappCMU 15213bilibili,2015 Spring,NO SUBTILE生肉-CMU-15213-Introduction to Computer System-2015 spring-深入理解计算机系统
2019-09-05 21:33:20
412
原创 ZJU数据结构 02-线性结构4 Pop Sequence (25 分)
Reference·出栈顺序的理论依据入栈出栈规律··栈所有出栈方法的数量给定入栈顺序,求所有可能的出栈顺序·利用栈模拟的解法 (同)C风格写法 02-线性结构4 Pop SequenceC++ with STL 02-线性结构4 Pop Sequence (25分)·枚举栈所有可能的出栈序列1,2,3,4按顺序入栈,出栈顺序随意,列出所有可能情况,这个算法怎么写 问题点数:20分....
2019-09-02 21:02:42
479
原创 ZJU数据结构 02-线性结构3 Reversing Linked List (25 分)
Reference使用数组存储所有的地址,再对地址数组操作的解法 (同)02-线性结构3 Reversing Linked List (25分)cpp的vector容器C++ vector 容器浅析双向链表解法SegmentFault 02-线性结构3 Reversing Linked List#include <stdio.h>#define MAX 100001t...
2019-09-02 09:32:15
178
原创 Stanford cs231n ImportError: cannot import name imread的解决方法
Reference: python使用scipy.misc import imread报错:ImportError: cannot import name imread原因很简单,新版scipy把imread函数给删了,但是作业里依然使用了imread函数。解决方法降级scipy打开Terminal,输入pip install scipy==1.2.1或者conda install...
2019-08-19 17:22:52
631
原创 浙大数据结构2019夏 02-线性结构2 一元多项式的乘法与加法运算 (20 分)
没啥好说的,逐项加逐项乘即可。另外写了一个算幂的函数,动不动爆int。#include <stdio.h>#include <stdlib.h>#define MAX_FORMULA_LENGTH 100struct PolyNode{ int coef; int expon; struct PolyNode* next;};typedef struc...
2019-07-10 09:48:44
288
原创 ZJU数据结构2019夏 01-复杂度3 二分查找 (20 分)
常规的二分查找,有几个注意点1.使用mid=inf+(sup-inf)/2来防止mid=(inf+sup)/2时爆int。2.循环条件应该是inf<=sup,这样在inf==sup时,程序会检查L->Data[mid]==X来决定是否返回mid。如果将其改成inf<sup,则当inf=sup时,程序并没有检查mid的元素是否满足,如果再在底下不检查而直接返回if(inf==s...
2019-07-09 14:56:27
165
原创 ZJU数据结构2019春 队列的数组实现
类型名称:队列(Queue)数据对象集:一个有0个或多个元素的有穷线性表。操作集:长度为MaxSize的队列Q Queue,队列元素item ElementType1、Queue CreatQueue( int MaxSize ):生成长度为MaxSize的空队列;2、int IsFullQ( Queue Q, int MaxSize ):判断队列Q是否已满;3、void Add...
2019-05-01 21:48:08
309
原创 PKU算法基础(二)Exp6.1 数字三角形 //POJ1163
POJ1163动态规划。首先是正着来,i行j列的数字的上级可以是左对角,也可以是右对角,所以取较大的那个加上本身就可以得到到达该数时的最大和。将整个数组初始化为零,求较大值时就不用考虑越界的情况。很容易写出代码(见下面)但是正向写并不够优秀,因为需要考虑(i+1,j-1)位置的越界问题,再就是最后还要遍历最后一排的元素去找最大值,这是完全没有必要的消耗。考虑倒着来做,最后一排作为出发点...
2019-04-05 22:18:31
175
原创 Blender Elementary I
修改软件界面为中文左上角File->User Preferences,选择System选项卡,鼠标滚轮下翻(没显示全),找到最右下角的International Fonts选项,勾选后弹出Language设置,选择简体中文。之后还要将下面的Interfafce Tooltips New Data分别按下。Blender支持部分翻译。最后Save user settings....
2019-04-02 18:47:50
185
原创 ZJU数据结构2019春 堆栈的数组和链表实现
才开始学习数据结构,实现了一个简单的堆栈实例。就是把输出的数字倒序打印,通过调整top下标实现。注意:1.别名Stack实际上是struct _stack的指针,在申请内存来放结构体时,应该是sizeof(struct _stack)。2.数组malloc时是单个元素体积*元素数量3.简单的返回值可以一行实现。类型名称: 堆栈(Stack)数据对象集:一个有0个或多个元素的有穷线性表。...
2019-04-01 14:14:40
226
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅