自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

爱吃猫的鱼~

学习ing

  • 博客(125)
  • 收藏
  • 关注

原创 Github Release 自动更新工具~

文章目录介绍下载使用环境配置配置文件填写命令推荐介绍当我们日常使用一个github的仓库文件时,经常需要手动去查看和下载更新,即便有 scoop 这种工具,不过只是涵盖了一些比较流行的仓库和软件,另外个人维护的仓库很少被官方和第三方收录进去。鉴于这种情况,我写了一个简单的github release 命令行工具,方便管理和更新,如果不够用欢迎自行PR。。。下载仓库地址 SukiEva/GitRepoAssets使用环境配置pip install requests pyyaml tqdm配置

2021-07-25 21:31:41 6511 1

原创 Android Studio 导入 opencv sdk(2021)

文章目录1、下载opencv sdk2、官方教程3、导入并配置4、其他在网上找了半天,其实现在的导入很简单,另外官方其实也给了教程。别再用前几年的文章里的方法啦。。1、下载opencv sdk下载最新的Android就行 https://opencv.org/releases/下载完成解压2、官方教程一般不认真看还真不知道官方把方法写在这里面。。打开 build.gradle:注释部分就是教程3、导入并配置按照教程说的,导入moudle,自己随便改个名然后点击 File -

2021-02-23 19:56:19 865

原创 词法分析程序设计+说明语句的词法分析器+基于预测分析方法的表达式语法分析器

编译原理课设代码,仅供参考,请勿直接复制粘贴。。。词法分析程序设计:对源程序 begin x := 9 ; if x > 0 then x := 2 * x + 1 / 3 ; end #经词法分析后输出如下序列:(1,begin)(10,’x’) (18,:=) (11,9) (26 , ; ) (2,if)……GetSyn.ktpackage task1class GetSyn { /*** * 求出对应单词符号的种别码 syn */ fu

2021-01-22 22:16:55 427

原创 编译原理 词法分析

一、正规文法和正规式1、文法与自动机的关系0型文法(短语结构文法):其能力相当于图灵机,可以表征任何递归可枚举集,而且任何0型语言都是递归可枚举的。1型文法(上下文有关文法CSG):产生式的形式为α1Aα2→α1βα2α_1Aα_2→α_1βα_2α1​Aα2​→α1​βα2​,即只有AAA 出现在 α1α_1α1​ 和 α2α_2α2​ 的上下文中时,才允许 βββ 取代 AAA 。其识别系统是线性有界自动机。2型文法(上下文无关文法CFG):产生式的形式为 A→βA→βA→β,ββ

2020-11-14 09:14:39 3413 6

原创 编译原理 语言和文法

文章目录语言形式语言符号和符号串文法语言语言是其句子的集合。汉语–所有符合汉语语法的句子的全体英语–所有符合英语语法的句子的全体程序设计语言–所有该语言的程序的全体研究语言={每个句子构成的规律每个句子的含义每个句子和使用者的关系 研究语言=\left\{\begin{aligned}每个句子构成的规律 \\每个句子的含义\\每个句子和使用者的关系 \\\end{aligned}\right.研究语言=⎩⎪⎨⎪⎧​每个句子构成的规律每个句子的含义每个句子和使用者的关系​三个方

2020-11-14 09:14:25 3027 7

原创 编译原理 概述

文章目录概览词法分析(Lexical analysis)/ 扫描(Scanning)语法分析(Syntax analysis)/ 解析(Parsing)语义分析(Semantic analysis)中间代码(intermediate code)生成代码优化(Code optimization)代码生成符号表(symbol table)管理出错处理(Error handling)一些概念概览编译:将源语言翻译成目标语言的过程分析源语言包括:词法分析->语法分析->语义分析编译器的结构:

2020-11-14 09:14:17 1126

原创 微机原理 寻址方式

文章目录1、立即寻址2、直接寻址3、寄存器寻址4、寄存器间接寻址5、寄存器相对寻址6、基址-变址寻址7、相对的基址-变址寻址有效地址:EA=基址+(变址×比例因子)+位移量EA=基址+(变址×比例因子)+位移量EA=基址+(变址×比例因子)+位移量物理地址:PA=段址(DS)×16+段内偏移量PA=段址(DS)×16+段内偏移量PA=段址(DS)×16+段内偏移量1、立即寻址操作数(立即数)紧跟在操作码之后,直接存放在代码段中。立即寻址只能用于源操作数例:MOV AX, 1C8F

2020-11-08 10:23:32 2517

原创 处理机管理 处理机调度

1、处理机调度层次处理器调度可分为三个级别:高级调度(作业调度、长程调度)中级调度(内存调度)低级调度低级调度是各类操作系统中必须具有的功能在纯粹的分时或实时操作系统,作业被直接调入内存,因此通常不需要高级调度在分时系统或具有虚拟存储器的操作系统中,专门引进了中级调度,控制进程在内存和外存间的对换2、调度算法选择原则任何层次的处理器调度,都由操作系统的调度程序实施,调度程序(scheduler)所使用的算法称为调度算法“效益优先,兼顾公平原则”调度算法设计通常应考虑如下原则/目标

2020-11-02 21:33:39 485

原创 处理机管理 线程及其实现

文章目录1、线程(1)单线程的缺点(2)引入进程和线程的目的(3)比起进程,线程的优点(4)在多线程进程中,每个线程具有2、多线程(1)多线程中的进程(2)多线程中的线程(3)线程属性(4)进程和线程的封装3、线程的组织方式4、线程的实现(1)内核级线程(2)用户级线程(3)混合式线程1、线程(1)单线程的缺点单线程结构进程给并发程序设计效率带来问题:进程切换开销大(进程是资源的拥有者)进程通信代价大,每次通信均要涉及通信进程之间或通信进程与操作系统之间的信息传递进程之间的并发性粒度较粗,并发

2020-10-31 22:32:23 248

原创 操作系统概论

文章目录一、资源管理1、资源复用2、资源虚拟3、资源抽象二、资源抽象1、基础抽象2、其他抽象三、操作系统的作用操作系统的功能和特性1、五大功能(1)处理器管理(2)存储管理(3)设备管理(4)文件管理(5)网络与通信管理2、三大特性(1)并发性(2)共享性(3)异步性一、资源管理包括:复用:多个进程共享有限的物理资源虚拟:把一个物理资源变成多个逻辑对应物抽象:屏蔽资源复杂性,提高资源易用性1、资源复用系统内多个进程竞争使用资源,资源复用让多个进程共享有限的物理资源主要包含:空分复用:

2020-10-31 21:49:12 322 1

原创 处理机管理 进程及其实现

文章目录1、进程定义和属性(1)可再入和可再用程序(2)进程的定义(3)进程和程序的区别(4)进程的六大特性2、进程的状态和转换(1)三态模型(2)五态模型(3)七态模型3、进程的描述和组成(1)进程映像(2)进程上下文(3)进程控制块(4)进程队列4、进程切换与模式切换(1)进程切换(2)模式切换(3)四个活动范围5、进程的控制和管理(1)原语(2)进程创建(3)进程撤销(4)进程阻塞(5)进程唤醒(6)进程挂起和激活进程是操作系统中最基本、重要的概念。是多道程序系统出现后,为了刻画系统内部出现的

2020-10-31 21:47:44 749

原创 处理机管理 中断技术

文章目录1、中断概念2、中断源(1)硬中断(2)软中断(3)软硬中断区别(4)中断与信号3、中断和异常的响应及服务4、中断事件处理原则5、中断优先级和多重中断1、中断概念中断是现代操作系统实现并发性的基础之一目的:请求系统服务,实现并行工作,处理突发事件,满足实时要求,都需要打断处理器正常的工作定义:中断是指程序执行过程中,当发生某个事件时,中止CPU上现行程序的运行,引出处理该事件的程序执行的过程实现方式:在提供中断装置的计算机系统中,在每两条指令之间或某些特殊指令执行期间都检查是否

2020-10-31 21:46:32 340

原创 处理机管理 中央处理器

文章目录1、指令系统2、处理器状态3、处理器状态转换(1)用户态向内核态转换(2)内核态向用户态转换4、寄存器5、程序状态字1、指令系统机器指令的集合称指令系统,反映一台机器的功能和处理能力,分为以下六类:数据处理:执行算术和逻辑运算转移:改变指令执行序列,如无条件转移、条件转移等数据传送:在处理器的 RR,RS,SS 间交换数据(R寄存器,S存储器)移位:算术、逻辑、循环移位字符串:字符串的传送、比较、查询、转换I/O类:启动外围设备,在主存和外围设备间交换数据在多道程序设计环境中,

2020-10-31 21:45:25 326

原创 解析 URP 教务系统, 创建查成绩 APP !

文章目录写在前面成果图开始干活1、模拟登陆2、爬取信息3、相关 UI 设计总结一下写在前面国庆在学校没事干,正好某课程表的查成绩功能又双叕崩了,一怒之下把它卸载!(课程表功能推荐苏大学长写的 wakeup课程表,各大商店都有)正好学了点 kotlin,开始了我的小白安卓开发之旅~项目地址:Github:https://github.com/SukiEva/HHUGradesAPK下载:https://github.com/SukiEva/HHUGrades/releases/tag/v1.0欢迎

2020-10-04 16:52:13 3885 2

原创 HHU 命令行面板

写在前面上次用 selenium爬虫写了个 快捷面板,太复杂,正好上次用requests登录了教务系统,就顺便把一些功能给写了,因为懒得写UI,直接弄成了命令行工具。主要功能包括:1、查询本学期成绩2、查询选课列表3、查询绩点排名4、一键教学评估其中第2个功能是为了以后一键抢课功能做准备的,等选课系统开放就开搞!前置要求需要百度OCR的API,主要为了自动识别验证码登录,所以要去https://login.bce.baidu.com/?account=&redirect=ht

2020-08-17 15:48:13 650 2

原创 制作自己的随机图API,快速、稳定、简易!

写在前面之前尝试过直接用服务器跑,但是我可怜的阿里云学生机那1M带宽单图还好,多图加载10s+,后来用vultr的vps试了试,虽然带宽很大,国内访问依旧很慢。突然想起都是用 jsdelivr 引用css和js文件,为什么不直接引用图片呢?开始干活1、首先找到想要的图片2、改变图片分辨率+push到github为了尽量让图片保持1920*1080的比例,用opencv调整分辨率,同时想要加快访问也可以压缩图片,不过我用的是无损压缩,相当于没变。我直接将图片放在了本地git目录下,同时输出访问

2020-08-11 22:08:43 5399 7

原创 第六章 总线系统

第六章 重点内容1、基本概念2、总线接口的逻辑结构、功能3、多总线结构、PCI总线辨析1、基本概念总线:总线是一组能为多个部件分时共享的信息传送线,用来连接多个部件并为这些部件提供信息交换服务。总线带宽:总线在单位时间内可以传输的数据总量,即总线的数据传输速率,单位是兆字节每秒(MB/s)总线仲裁:当总线上的多个主设备(主方)同时竞争使用总线时,必须通过总线仲裁部件,以某种方式和策略选择其中一个主设备(主方),接管总线的控制权,传送信息。总线定时:一次总线操作由若干的事件(基本操作)组成,而且这

2020-08-02 20:46:02 492

原创 第九章 并行体系结构

文章目录1、基本概念2、体系结构的分类(Flynn分类法)1、基本概念并行性:并行性是指计算机系统具有可以同时进行运算或者操作的特性,它包括同时性与并发性两种含义;同时性是指两个或两个以上的事件在同一时刻发生;并发性是指两个或两个以上的事件在同一时间间隔发生(如分时交替执行、重叠执行等)。VLIW处理机:由编译程序在编译时找出指令间潜在的并行性,进行适当调度安排,把多个能并行执行的操作组合在一起,成为一条具有多个操作段的超长指令。由这条超长指令去控制VLIW处理机中多个互相独立工作的功能部件,

2020-08-02 20:41:27 935

原创 HHU 《计算机组成原理》复习指南

往年重点题型和分布题型:名词解释(2’×10 = 20’)多项选择(2’×10 = 20’)简答题(5’×4 = 20’)综合题(10’×4 = 20’)浮点加减内存扩展指令格式分析指令周期流程分布:第1章(5%)第2章(20%)——运算器第3章(20%)——存储器第4章(10%)第5章(25%)——控制器第6章(5%)第8章(10%)——输入设备、输出设备第9章(5%)...

2020-08-02 20:38:25 491

原创 两种方式自动登入 HHU 教务系统

以下两种方式都使用了百度 API 文字识别接口,需要指导的可以去 这里,运行只需把代码中“*”部分替换自己的账号密码即可。seleniumselenium 的测试功能可以模拟人进行浏览器操作,这个方法比较简单和使用,但是忽忽悠的网页是用各种 Frame 搭建的,如果用这个方法爬会比较麻烦,要去抓包找到对应的request url 才行,我嫌烦直接截图保存了查询结果,下面贴出代码:import timefrom selenium import webdriverfrom aip import Aip

2020-07-30 13:27:09 956

原创 HHU 快捷面板

效果图简介基于selenium和Chrome,为了避免无法运行,确保您的电脑已经安装Chrome(谷歌)浏览器,如果打包后的exe依然无法运行,可以试试 下载驱动第一次运行会加载配置文件必然会失败,第二遍运行就可以啦!上面的AppID之类指的是百度OCR的API,主要为了自动识别验证码登录,所以要去https://login.bce.baidu.com/?account=&redirect=http%3A%2F%2Fconsole.bce.baidu.com%2F%3Ffromai%3

2020-07-30 12:43:51 407

原创 最长公共子序列/子串

有两个序列 A 和 B, 问最长的公共序列的长度是?DP时间复杂度: O(N×M)O(N \times M)O(N×M)空间复杂度: O(N×M)O(N \times M)O(N×M)一维数组可以将空间复杂度降至 O(min(N,M))O(min(N,M))O(min(N,M))定义 same(i,j):A[ i ] = B[ j ] 时取1,否则取0所以两个序列可以用same矩阵表示:A = [1,2,3,2,1] B = [3,2,1,4,7]则,最长公共序列长度 = 最长斜线长度

2020-07-25 15:14:26 121

原创 批量修改文件名中相同部分(Python)

在网上找了很多方法,最多的是写一个bat文件,在尝试之后发现只能批量修改前后缀,中间部分无法直接修改,索性自己用python的os模块写了一个简单的批量修改代码。直接修改代码中的dirpath, originalname, modifyname即可注意:可以修改当前文件下下所有文件(包括子文件夹下的文件,但是不会修改文件夹的名字)如果要批量删除,令modifyname=""批量修改后缀名需要在查看中开启文件拓展名,然后在originalname里输入原来的拓展名即可修改import osdef

2020-07-23 22:58:51 1742

原创 HHU 《算法与数据结构》复习指南

文章目录树1、​结点个数计算2、​树的三种表示方法3、树的遍历字典1、顺序检索,二分检索2、顺序检索,​二分检索的查找长度3、散列,碰撞,除余法4、​线性勘察法(开地址法处理碰撞)5、拉链法解决碰撞二叉排序树平衡二叉排序树图1、基本概念,度和边的关系2、邻接矩阵(带权不带权),计算度(出入度),邻接关系3、邻接表(两个结点是否连接),计算度,删除边,边反向4、图的遍历(dfs,bfs)序列,两种生成树,最小生成树两种方法5、最短路径(distance数组),给出数组,求出最短路径6、拓扑排序概念和序列7、关

2020-07-15 22:58:33 802

原创 DjangoBlog,仿用 NextT 主题

文章目录简介主要功能配置迁移数据库创建超级用户配置主题效果图主页:文章页:分类页:归档页:留言页:文章markdown编辑:文章后台管理:PS:简介基于 Python 3.8 + django 3.0 的博客系统, 仿用了经典的NextT主题。Github下载地址:https://github.com/FakerVi/Blog主要功能文章,分类,标签的添加,删除,编辑等。文章支持Markdown,支持代码高亮。有留言板和归档页面。支持开启live2d和播放网易云音乐歌曲。配置首先

2020-07-10 22:54:40 411

转载 Linux 指令入门:系统管理

终于补完,希望有用。以下所有内容都来自 https://developer.aliyun.com/,仅供自己学习用。文章目录1、常用系统工作命令echo :在终端输出字符串或变量提取后的值date :显示和设置系统的时间和日期wget :在终端中下载文件ps :查看系统中的进程状态top :动态地监视进程活动与系统负载等信息pidof :查询指定服务进程的PID值kill :终止指定PID的服务进程killall :终止指定名称的服务对应的全部进程reboot :重启系统poweroff :关闭系统.

2020-07-01 13:04:31 222

转载 Linux 指令入门:文本处理

之前自己想更换Linux sourcelist时出现Vim完全摸不懂,网上教程只教你粘贴,可是在Vim里完全不一样,这个场景总算解决了疑惑。以下所有内容都来自 https://developer.aliyun.com/,仅供自己学习用。文章目录1、文本编辑工具Vim命令模式输入模式底线命令模式2、文本文件查看命令cat :查看内容较少的纯文本文件more :从前向后分页显示文件内容less :对文件或其它输出进行分页显示head :查看文件开头指定行数的内容tail :查看文档的后N行或持续刷新内容.

2020-07-01 11:13:55 195

转载 Linux 指令入门 :文件与权限

体验了阿里云开发者云的一些场景,尝试了上面的一些操作,但是印象还是不深刻,而且要用的时候还要打开就比较麻烦,所以去CSDN搜了一圈都没找到相关的总结博客,白嫖不了只能自己记笔记了。以下所有内容都来自 https://developer.aliyun.com/,仅供自己学习用。文章目录文件与权限1、文件目录管理命令tree :以树状图列出目录的内容ls :显示指定工作目录下的内容pwd :获取当前工作目录的绝对路径cd :切换工作目录touch :修改文件或者目录的时间属性mkdir :新建子目录rm.

2020-06-30 22:55:17 187

原创 Git 常用操作集

GIT (分布式版本控制系统):一个开源的分布式版本控制系统,可以有效、高速地处理从很小到非常大的项目版本管理。目录一、基本操作二、其他操作1、新建仓库 init / clone2、配置文件 config3、增加/删除文件 add / rm4、提交文件 commit5、分支 branch6、标签 tag7、查看信息 status / log / diff / show ...8、远程同步 remote / fetch / pull / push9、撤销 checkout / reset10、合并.

2020-06-30 13:20:26 122

原创 HHU自动打卡脚本

建议配合Pycharm使用,当然如果会在命令行运行,那也可以1、安装 selenium点击 Terminal 打开控制台,输入pip install selenium2、安装ChromeDriverpy程序调用浏览器需要驱动支持,这里用的是谷歌浏览器。打开右上角三点点击帮助-关于,查看Chrome版本:打开 http://npm.taobao.org/mirrors/chromedriver/ 下载对应的驱动:根据自己的系统下载:下载完成后解压,不要点击运行,把它放到安装python

2020-06-24 19:03:01 1655 1

原创 集合 Stack

栈,先进后出(FILO)Java没有单独的Stack接口,使用Deque模拟的操作代码作用push(E)/addFirst(E把元素压栈pop(E)/removeFirst()把栈顶的元素删除peek(E)/peekFirst()取栈顶元素但不删除单独作为Stack用一般使用前一种表示方法,即:push()/pop()/peek()方法创建Deque<E> que = new LinkedList<>();...

2020-06-18 19:08:49 121

原创 集合 Queue

目录操作创建PriorityQueue创建Deque队列,先进先出 (FIFO)Queue只有两个操作:把元素添加到队列末尾从队列头部取出元素操作代码作用int size()获取队列长度boolean add(E)/boolean offer(E)添加元素到队尾E remove()/E poll()获取队首元素并从队列中删除E element()/E peek()获取队首元素但并不从队列中删除E peek()获取队首元素,不从队列中删除元

2020-06-14 22:19:34 297

原创 集合 Set

还是一样,和C++ STL中的 set 类似。如果我们只需要存储不重复的key,并不需要存储映射的value,那么就可以使用Set。Set:无顺序,不包含重复的元素HashSet:为快速查找设计的Set。存入HashSet的对象必须定义hashCode()。TreeSet: 保存次序的Set, 底层为树结构。使用它可以从Set中提取有序的序列。操作代码作用add(E e)添加元素addAll(Collection<? extends E> c)复制到此集

2020-06-14 14:58:54 137

原创 集合 Map

和 C++ STL 中的map很像,就是换了代码键-值对应下面直接给出操作操作Map中不存在重复的key,因为放入相同的key,只会把原有的key-value对应的value给替换掉代码作用Object put(Object k, Object v)将指定的值与此映射中的指定键关联void putAll(Map m)从指定映射中将所有映射关系复制到此映射中Object get(Object k)返回指定键所映射的值;如果此映射不包含该键的映射关系,则返回 nu

2020-06-14 11:07:34 147

原创 集合 List

List (有序列表) 是最基础的集合。基本和数组相似,都是从下标0开始,不过添加和删除等操作比数组的执行效率更高,具体试下可以去 廖雪峰的教程 查看详解。List接口可以通过 数组(ArraylList) 和 链表(LinkedList) 实现常用操作List< E >作用void add(E e)在末尾添加一个元素void add(int index, E e)在指定索引添加一个元素int remove(int index)删除指定索引的元素

2020-06-13 22:21:06 135

原创 关键路径

关键路径完成工程的最短时间?关键路径 critical path:从“源点”到“汇点”的‘最长路径’长度

2020-06-10 20:35:15 350

原创 拓扑排序

拓扑排序拓扑序列:所有顶点的一个线性序列{vi1, vi2, …, vin},且若图中有1条vj到vk的路径,则 vj排在vk之前。总的来说,拓扑排序就是所有活动可顺利完成的1种方案所以:若AOV网中有回路,工程能否完成?不能有向图存在1个拓扑序列 <-> 无回路AOV网的拓扑序列,唯一?不一定以上均是拓扑排序,只是选取策略不一样步骤:选择入度为0的顶点v,输出v;从图中删除v、及v的所有出边;重复1和2,直到没有入度为0的顶点,若.

2020-06-10 14:23:02 286

原创 第八章 输入输出系统

第八章重点内容1、基本概念2、程序查询方式处理过程3、程序中断方式处理过程4、基本 DMA 控制器的逻辑结构1、基本概念名称概念直接内存访问(DMA)方式是一种完全由硬件(称为 DMA 控制器)执行、在 I/O 设备和内存之间直接交换批量信息的工作方式,包括 DMA 请求、DMA 响应、DMA 传输、DMA 结束处理等步骤。在 DMA 传输过程中,DMA 控制器从 CPU 接管总线控制权,向内存发出地址和控制信号、修改地址、计数、以中断方式向 CPU 报告 DMA 传输结束,数据交

2020-06-08 10:40:36 416

原创 pycharm:Make sure that you use the correct version of pip installed for your Python

Make sure that you use the correct version of 'pip' installed for your Python

2020-06-03 23:33:58 8202

原创 JSP中使用XML

目录1、XML文件的基本结构空标记非空标记CDATA段属性2、DOM解析器1.使用DOM解析器的基本步骤2.Document对象3、SAX解析器1.使用SAX解析器的基本步骤2.SAX解析器的工作原理3. 事件的产生与处理4、XML与CSS1.样式表2.文本的显示方式3.字体4.文本样式5.显示数学公式和化合物分子式5、小结1、XML文件的基本结构XML是eXtensible Markup Language 缩写,称之为可扩展置标语言。规范的XML文件应当用“XML声明”开始。根标记可以有若干个子

2020-06-01 23:00:31 1690

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除