自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(22)
  • 收藏
  • 关注

原创 【人工智能代码学习小记】numpy.stack()到底是干啥的

关于numpy.stack()的一些简单认知

2022-05-09 13:58:20 229

原创 Linux下使用bash脚本监控程序并自动在screen中重启

起因最近写了一个爬取程序,但是时不时的会因为网络波动断掉,又经常想不起来取检查,因此有时候一断就是浪费了好几天的时间,因此多方查找总结,自己写了一个bash脚本,可以实现:每隔一段时间检查一遍程序是否还在运行如果停止则自动在对应的screen窗口中运行对应的指令监控脚本#!/bin/shCheckProcess(){ if [ `ps -ef|grep $1 | grep -v grep |wc -l` -gt 0 ]; then echo "${1}正在运

2021-12-07 17:52:03 2193

原创 【数据库复习】数据库设计

数据库设计写在前面的话本文是本学渣因为考试需要写的一篇总结,只总结了需要考察的考点,所以可能有的内容引申的不多,请见谅。一、本节考点三种层次结构对于简单树的建模方式,只考对于单一节点简单树的(多副节点的复杂树不考),邻接模型、物化路径模型以及嵌套结构模型(嵌套基本不考)在某种查询过程中的分析过程上面两种模型,在建模方面两种建模的 表结构设计是什么样的自顶向下和自底向上查询大概是什么样的,效率是什么样,影响效率的因素是什么:如邻接模型要做一次迭代,效率影响较大,却又因为是数值比较,其速度反而

2021-04-17 21:39:53 430

原创 【数据库复习】SQL的逻辑

SQL写在前面的话本文是本学渣因为考试需要写的一篇总结,只总结了需要考察的考点,所以可能有的内容引申的不多,请见谅。一、本节考点从之前的线上考试中抽一组题考sql基本逻辑:查询优化器是怎么工作的,其中的步骤包括基于成本的优化器,基于规则的优化器的整个优化过程,比如:先是怎么做语义的检查,软解析硬解析等内容,最后形成一个二进制plan代码,整个过程中谁花的功夫最多二、查询优化器的相关概念优化器是sql分析和执行的优化工具,它负责制订sql的最高效的执行计划,基于关系理论给予用户无损原始查

2021-04-17 16:59:08 850

原创 【数据库复习】设计原则

设计原则写在前面的话本文是本学渣因为考试需要写的一篇总结,只总结了需要考察的考点,所以可能有的内容引申的不多,请见谅。一、本节考点集中式与分布式批处理与实时系统他们的好坏,选择,(选择的?)基本逻辑二、存储模式:集中式与分布式2.1 集中式数据库一种存储于单个物理位置的数据库。优点:集中存储,易于访问和协调数据集中存储,数据的冗余小更便宜缺点:几种存储数据流量大,并发性差发生故障的时候,整个数据将破坏2.2 分布式数据库一种由分布在不同物理位置并相互连接的数据

2021-04-17 13:28:33 198

原创 【数据库复习】分区

分区写在前面的话本文是本学渣因为考试需要写的一篇总结,只总结了需要考察的考点,所以可能有的内容引申的不多,请见谅。一、本节考点分区干嘛用的,为什么要分区有哪几种分区的方式根据example选择partition key选择key的原则是什么,原则分区的原则破例的原因是什么二、分区是什么分区就是将一个大表根据条件分割成若干个小表,将一张表从物理上划分到不同的介质中,但是逻辑上还是原来的那张表,是一种数据分组方式。分区能够提高并发性和并行性,从而增强可伸缩性提供了一种数据管理的方法

2021-04-17 11:05:42 683

原创 【数据库复习】索引

索引写在前面的话本文是本学渣因为考试需要写的一篇总结,只总结了需要考察的考点,所以可能有的内容引申的不多,请见谅。一、本节考点b树 b+树的结构什么时候能用什么时候不能用。要会画结构要理解能干什么不能干什么二、索引是什么索引是对数据库表中一列或多列的值进行排序的一种结构,使用索引可快速访问数据库表中的特定信息。是一种以原子粒度访问数据的手段(访问少数行),而不是为了大量数据的访问。三、B树和B+树是什么3.1 阶的定义对于B树,我们常常会说是M阶B树,这个M就是阶数,阶数表示了一

2021-04-17 10:04:31 708 1

原创 【算法复习】减治算法

减治算法写在前面的话本文是本学渣因为考试需要写的一篇总结,只总结了需要考察的考点,所以可能有的内容引申的不多,请见谅。一、 思想:减少问题规模与分治法不同,减治法只针对其部分子问题进行求解,同时也是采取划分后选择计算的思想利用了一个问题给定实例的解和同样问题较小实例的解之间的某种关系。一旦建立了这种关系,就可以从顶至下递归的来用该关系,也可以从底至上非递归的来运用该关系:减去一个常量减去一个常量因子减去的规模是可变的二、 生成组合对象2.1 Johnson-Trotter算法Joh

2021-04-16 14:40:02 1458

原创 【算法复习】分治算法

分治算法写在前面的话本文是本学渣因为考试需要写的一篇总结,只总结了需要考察的考点,所以可能有的内容引申的不多,请见谅。一、思想:分而治之分(Divide): 递归解决较小的问题,直到终止层或者可以解决的时候停下来治(Conquer): 递归求解,如果问题够小直接求解合并(Combine): 用子问题的解合并构建父问题二、归并排序:# 归一化def merge_sort(nums, begin, end): if begin < end: mid = (begin +

2021-04-16 14:39:04 154 1

原创 【算法复习】动态规划

动态规划写在前面的话本文是本学渣因为考试需要写的一篇总结,只总结了需要考察的考点,所以可能有的内容引申的不多,请见谅。一、思想动态规划与分治方法类似,都是通过组合子问题的解来来求解原问题的。分治方法将问题划分为互不相交的子问题,递归的求解子问题,再将它们的解组合起来,求出原问题的解。动态规划应用于子问题重叠的情况,即不同的子问题具有公共的子子问题(子问题的求解是递归进行的,将其划分为更小的子子问题)。这种情况下使用分治算法会重复求解那些子子问题而浪费时间。二、解决步骤解决动态规划问题一般分为

2021-04-16 14:37:59 239

原创 【算法复习】迭代改进

迭代改进写在前面的话本文是本学渣因为考试需要写的一篇总结,只总结了需要考察的考点,所以可能有的内容引申的不多,请见谅。一、思想从某个可行解出发,重复一些简单的步骤迭代改进它,逐渐将其优化为最优解表现为通过局部的小改变,生成另一个可行解,使问题的目标函数更加优化。当最终目标函数达到无法再优化,则得到最优解会遇到一些障碍:获得初始可行解有困难,例如用贪婪比较容易,但是也可能会和获得最优解一样困难判断是局部最优解还是全局最优解困难。二、线性规划问题在一系列线性约束下,求一个包含若干变量的线

2021-04-16 14:36:17 2738

原创 【算法复习】 变治算法

变治算法写在前面的话本文是本学渣因为考试需要写的一篇总结,只总结了需要考察的考点,所以可能有的内容引申的不多,请见谅。一、思想变,将问题的实例变得更容易求解治,对变化后的实例进行求解主要分为如下三种类型:问题化简:将一个问题的实例变为另外一个问题的实例例如堆排序实例化简:将问题的实例变为更简单的实例例如通过预排序,将问题变为排序好的列表的问题改变表现:将同一个实例变成不同的表现例如AVL树,多路查找树二、实例化简——高斯消去法本节考试重点:高斯消去法的过程**思想:**用于

2021-04-16 14:34:37 760 1

原创 【读书笔记】《人月神话》读后感

写在前面的话平时上课后,老师布置了不少经典的软件开发的书让我们阅读并写一篇阅读笔记作为课程笔记,因此有了这个系列。由于有时候为了赶作业有的文章写的不是很全面,希望大家见谅。正文起初看到人月神话这个名字让我很意外,就像看到没有银弹这个书名一样,我原以为是一本讲述了计算机发展历史中如同神话般的历史事件的书,但是在阅读完这本书后发现并不是这样,或者说绝大部分不是这样的。直到看了一会才知道“人月”说的不是人和月亮moon,而是月份month,主题是人数与工作所需要的时间月份之间的关系。这本书由被誉为“IB

2021-01-18 14:50:16 829

原创 【软件分析/静态程序分析学习笔记】8.指针分析基础知识(Pointer Analysis Foundations)

个人觉得指针分析这块内容还是挺复杂的,需要配合上一篇文章仔细看看才能大概搞懂,如果有写的不清楚的地方欢迎讨论

2020-11-13 15:51:39 2345 3

原创 【软件分析/静态程序分析学习笔记】7.指针分析(Pointer Analysis)入门

本文大概写了一下指针分析是什么,有哪些关注点,可以粗浅地了解一下什么是指针分析,具体的分析将在下一篇文章中进行。

2020-11-07 17:23:06 3235 1

原创 【软件分析/静态程序分析学习笔记】6.过程间分析(Interprocedural Analysis)

本文内容比较简单,只是将单个方法内的数据流分析扩展到数个方法中,之前的内容看懂的话这个还是很容易理解的,传递函数还是比较简单,就不多说啦。

2020-10-30 14:19:22 4348 6

原创 【软件分析/静态程序分析学习笔记】5.数据流分析基础(Data Flow Analysis-Foundations)

本篇文章比较长,看完本文需要掌握的知识点如下:- lattice和complete lattice的定义- 如何在lattice中总结may和must分析- 了解不动点定理- MOP与迭代算法产生的解之间的关系- Constant propagation analysis- worklist算法

2020-10-24 22:46:57 3482 1

原创 【软件分析/静态程序分析学习笔记】4.数据流分析(下):存活变量分析(Live Variables Analysis)及可用表达式分析(Available Expressions Analysis)

Reaching Definitions表示只要从赋值语句到点p存在1条路径,则为reaching,结果不一定正确;Live Variables表示只要从点p到Exit存在1条路径使用了变量v,则为live,结果不一定正确;Available Expressions表示从Entry到点p的每一条路径都经过了该表达式,则为available,结果肯定正确。

2020-10-23 11:30:18 3367

原创 【软件分析/静态程序分析学习笔记】3.数据流分析(Data Flow Analysis) (上):可达性分析(Reaching Definitions)

本文主要是介绍了数据流分析是什么,并首先介绍了一种数据流分析的算法:可达性分析(Reaching Definitions)

2020-10-21 21:35:50 4405 2

原创 【Python备忘录】Python函数中*的使用

简介萌新看代码的时候经常看到使用Python函数的时候用到*,以前用c或者java的时候从来没看过,看的是一脸懵逼,因此差了一点资料理解了一下使用方法,记录在此用以备忘。一、在定义函数时参数使用*1.1 定义时形参使用单*举个例子:def test(*args):意思是把传入的参数都装在元组args中。调用时使用test(1,2,3)就相当于传入了一个args=(1,2,3)的元组。1.2 定义时形参使用双*举个例子:def test(**kwargs):kwargs是关键字参数的意思

2020-10-21 11:23:41 548

原创 【软件分析/静态程序分析学习笔记】2.中间表示(Intermediate Representation)

以上就是本章的全部内容了,主要介绍了用于静态分析的中间表示,以及具体用于分析的控制流图形式,难度较低,看一遍基本就能理解了,如有错漏,欢迎指正,谢谢!

2020-10-17 15:32:39 5730 9

原创 【软件分析/静态程序分析学习笔记】1.静态程序分析(Static Program Analysis)介绍

0.写在前面的话本渣有幸成为南京大学软件学院研究生,在前往仙林校区蹭课的时候偶然发现了这门宝藏课程,听了以后感觉深有收获,但又因为课程难度较大,国庆假期归来发现遗忘较多,因此开了一坑来记录自己对每节课知识点的理解。也由于这是本人第一次开坑写博客,结构内容自有诸多不合理之处,希望有问题的地方大家可以指出。...

2020-10-13 16:07:14 10664 8

空空如也

空空如也

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

TA关注的人

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