- 博客(85)
- 收藏
- 关注
原创 Linux下通过定时任务检测进程并重启
一、重启特定进程的脚本#! /bin/bashps -ef | grep "进程名字" | grep -v grep#如果进程搜索不出来,则$?的值为1,否则值为0#当$?值不等于0的时候,重新启动进程if [ $? -ne 0 ]thencd "进程所在目录" && "执行进程的语句"elseecho "running"fi二、将上述脚本设置为定时任务设置定时任务需要用到crontabcrontab [-u username] //省略用户表表示操作当前用
2022-01-04 13:16:22
3418
原创 maven配置本地仓库&&国内镜像源
本地仓库找到以下标签,在内部填充本地的文件夹,要求为文件夹的本地绝对路径<localRepository>D:\maventools\repository</localRepository>配置镜像源<!-- 找到以下标签,配置其中一个mirror就可以 --><mirrors> <mirror> <id>alimaven</id> <name&g
2021-12-30 12:00:41
896
原创 python导包
模块一个 .py文件就是一个模块包一个包下必须有__init__.py文件,此文件标志着当前文件夹是一个包(package)。此文件也是一个模块,其模块名字就是顶层包到当前目录的点路径。比如,A/B/C,A为顶层包,B为中层包,C为底层包,此时C包中的__init__.py模块的名字为A.B.C而并不是其自身的__init__。模块作为入口文件和包时的名称不一样模块作为入口文件的时候,其模块名字会被指定为__main__;当模块作为被导入的部分的时候,模块名字就是.py文件不带后缀的名字。这.
2021-12-27 02:44:22
860
原创 VScode搭建python虚环境
VScode下载Python插件编译安装Python到一个目录中在一个文件夹下,执行命令,之后,此文件夹会被认定为工程根目录python -m venv .执行完毕后,发现创建了一个.venv文件夹,这个文件夹就是python的虚环境。虚拟环境激活和关闭#激活虚拟环境,只需要执行.venv/bin/active脚本便可以#<venv>是.venv文件夹source <venv>/bin/activate#激活需环境之后,pip安装的依赖库都会安装在..
2021-12-26 23:24:16
1184
1
原创 centos7下编译安装python3
一、下载python源代码wget xxx具体内容可以在国内镜像网站找进入一个版本中,寻找.tar.xz结尾的源码推荐一个:http://npm.taobao.org/mirrors/python/解压缩tar -xvJf Python-3.7.0.tar.xz剩下内容参考二、修改pip源在当前用户目录下创建.pip文件夹:mkdir ~/.pip 然后在该目录下创建pip配置文件touch pip.conf编辑pip.conf文件例如,使用阿里云提供的pip源[g
2021-12-26 17:11:16
527
原创 在linux下安装软件的位置
简单介绍linux系统环境配置文件/etc/profile:此文件为系统的每个用户设置环境信息,当用户第一次登录时,该文件被执行.并从/etc/profile.d目录的配置文件中搜集shell的设置./etc/bashrc:为每一个运行bash shell的用户执行此文件.当bash shell被打开时,该文件被读取.~/.bash_profile:每个用户都可使用该文件输入专用于自己使用的shell信息,当用户登录时,该文件仅仅执行一次!默认情况下,他设置一些环境变量,执行用户的.bashrc
2021-12-26 16:34:44
1097
原创 CMake构建项目
一、基本的CMake语法标准的CMake工程结构应该是这样的:CMakeLists.txt此CMakeLists.txt是顶层CMake文件,内容包括:#指定版本号CMAKE_MINIMUM_REQUIRED(VERSION 3.17.5)#指定工程名字,工程语言,定义了PROJECT( DIR ),则此CMake文件所在的目录会被视为全局变量PROJECT_SOURCE_DIR的值PROJECT(demo4 CXX)#添加源文件所在的目录ADD_SUBDIRECTORY(${PRO
2021-12-22 16:43:04
2863
原创 记一次使用frpc/frps进行内网穿透
1. 前提条件:有一个公网ip,这里用x.x.x.x代替2. 配置【服务器端】#服务端口bind_port = 7000#监听地址bind_addr = 0.0.0.0#认证tokentoken = abcatwwwabc【客户端】(也就是需要被内网穿透的服务器)[common]#自己的公网地址server_addr = x.x.x.x#用于服务器和客户端之间通信的端口server_port = 7000#认证令牌,需要和服务器端保持一致token = abcatwwwa
2021-12-20 00:47:06
1520
原创 word使用经验
从指定页面开始编号在指定页面的头部插入分节符将指定页面的页脚取消与前一节的联系设置页脚起始编号为1设定页脚格式(此步设置好之后,会直接呈现页脚编号)注意:不能在设定页码之前使用word的自动目录功能,因为自动目录会包含对页面的引用。但是一开始的页面的页码是从第一页为1开始算起的。如果先生成了自动目录,再设置指定页起始。这时候设置页码起始为1的时候会弹到其他页面,而不能设置成功。这时候应该先把目录删除,然后按上述方式设置页面编号,最后在指定页面生成目录。此时生成的目录和设置的页号也是对应的
2021-12-19 18:19:52
200
原创 时区的有关知识
GMT:Greenwich Mean Time 格林尼治标准时间。这是以英国格林尼治天文台观测结果得出的时间,这是英国格林尼治当地时间,这个地方的当地时间过去被当成世界标准的时间。UT:Universal Time 世界时。根据原子钟计算出来的时间。UTC:Coordinated Universal Time 协调世界时。因为地球自转越来越慢,每年都会比前一年多出零点几秒,每隔几年协调世界时组织都会给世界时+1秒,让基于原子钟的世界时和基于天文学(人类感知)的格林尼治标准时间相差不至于太大。并将得
2021-11-10 16:24:36
4207
原创 Mysql外码
明确几个定义:码,主码,外码。码:唯一标识实体的属性集。主码:多个候选码中选择其中一个为主码。外码:属性或属性组X不是关系模式R的码(既不是主码也不是候选码),但X是另一个关系模式的码,则称X是R的外部码,也称外码。看外码定义,有两个要求,一是不能是本关系的码,还必须是另一个关系的码。回到开头的码的定义,就知道了,外码不能是码,否则两个关系模式就成一个关系模式了,没有分开的必要了。这就是问题答案了。但是,外码可以为主属性!即,可为主码的部分属性集。这点要注意!当然此时的外码不能为空。...
2021-10-24 00:14:26
3973
原创 git配置本地仓库
1. 变量的配置1.1 全局变量的配置git --gloabal config user.name用于回显全局用户名,必须是account中的@xxx后面的名字,而不是自己起的别名git --gloabal config user.email用于回显全局邮箱地址,注册时的邮箱地址git --gloabal config user.xxx “xxx”用于配置全局用户名或者地址1.2 局部变量的配置在0.1基础上去掉–gloabal参数,配置的即为局部用户名或者地址局部变量多用于特定仓
2021-10-22 00:50:46
7643
原创 网络适配器简介
作用为当前主机在特定局域网中虚拟出一块网卡,此网卡包含一套ip地址和mac地址。vmware虚拟机配置时,有两张虚拟网卡会被安装在主机中。在虚拟机局域网中,主机的ip地址和mac地址就是相应的虚拟网络适配器中的信息。所以桥接模式配置代理,应该直接就是主机的ip地址+端口NAT模式配置代理,应该是主机的虚拟适配器8的ip地址+端口只有NAT模式和仅主机模式主机才有虚拟适配器。...
2021-10-20 05:00:07
2270
原创 vscode task.json configuratrion
tasks.json文件简介用来执行一些指定的任务,可以将指定的命令行或者其他命令包装到一个task中整体形式[{第一个任务} ,{第二个任务},…]{ "version": "2.0.0", "tasks": [ //第一个任务 { "label": "compile",//第一个任务的名字 "type": "shell",//第一个任务用shell命令行执行(linux命令行) "com
2021-10-18 20:37:44
245
原创 网络中数据的传递
局域网中:在数据链路层传递,依据mac地址识别目的主机以交换机做媒介数据被发送方发送给交换机,交换机查找对应的mac地址对应的端口,发送出去网段中:在网路层传递数据以路由器做媒介发送方将数据包发送给网关路由网关路由处2.1 根据路由表确定发出端口2.2 根据arp解析协议,将其目的主机的ip地址解析为mac地址,将信息填入数据链路层的目的主机mac地址中,然后将数据包传送出去。从网络层转为数据链路层的数据传输过程路由器工作在网络层,但它也有数据链路层的功能即路由器有路由和交换机的
2021-10-17 22:42:56
778
原创 JavaScript学习3——页面的渲染过程
请求html文件,得到后,将二进制文件解码为文本文件。将文本文件转化为token文件,每个token都有自己的属性值,而后将token转化为节点对象,再将这些节点对象连接在一起,构成dom树。dom是浏览器自己的语言。html文件可以部分解析,在html文件解析过程中。头部遇见css文件链接时,请求下载css文件到本地。而后二进制->文本->token->cssom。由dom和cssom合作构成渲染树。页面根据渲染树的结构样式进行渲染。渲染树上的样式是页面能够呈现的内容,没有在即ht.
2021-09-29 16:39:31
2031
原创 JavaScript学习2——异步编程Promise&&async/await
1. 关系asyncawait是基于promise函数es6新特性。async将函数包装成promise。await等待异步执行结束。2. 用法2.1 Promisepromise对象在构建的时候会执行其参数中传入的函数excutor,此函数的执行是同步的。then中参数传递的函数的执行是异步的,then中有两个参数,分别传递两个函数,第一个函数是excutor中执行resolve(…)之后会自动执行的,第二个参数是excutor中执行reject(…)之后会自动执行的。then的回调函数中可
2021-09-29 15:53:21
215
原创 JavaScript学习笔记1——异步编程与事件循环机制(Event Loop)
1. 单线程js是单线程语言其异步执行其实是通过事件循环机制模拟出来的,而不是真正的开辟新的物理线程。为什么js是单线程呢浏览页面是应用需求,没有很高的实时性需求。js设计为单线程避免了页面交互时因线程执行顺序的不确定给页面渲染带来的不确定(比如一个线程删除这个组件,而另一个线程改变这个组件的样式)。但是js设计者为提高页面的渲染效率,设计了事件循环机制。将异步事件的处理函数放在任务队列中(比如setTimeout定时到期则将回调函数注册入任务队列,定时的动作是系统完成的,在倒计时期间,浏览器可以
2021-09-29 14:07:23
236
原创 vscode配置
task.json用于g++编译和事后处理{“version”: “2.0.0”,“tasks”: [{//生成编译文件任务“type”: “shell”,“label”: “C/C++: g++.exe build active file”,“command”: “C:\MinGW\bin\g++.exe”,“args”: [“-g”,“file","−o","{file}", "-o", "file","−o","{fileDirname}\KaTeX parse e
2021-06-09 22:21:35
125
1
原创 windows主分区不能删除问题
一、问题描述我起初在电脑已经有windows的情况下安装了Ubuntu。利用一块未分配的分区去分配了Ubuntu系统空间,/boot,swap等。然后我把Ubuntu删除了,做法是直接格式化了Ubuntu所在的那几个磁盘分区。然后我发现在window10上,我有一块512MB(分配来作为Linux的/boot分区的)分区用不了了,并且右键也没有删除选项。二、解决办法按照博客中的做...
2021-05-29 11:48:03
1758
原创 Linux五种IO模型 与 阻塞/非阻塞/异步/非异步 的识别
看了知乎大佬的文章,写点总结。一、linux的IO操作分为两个阶段:数据准备阶段: 内核接收来自外部的数据数据拷贝阶段: 内核缓冲区 —> 用户缓冲区二、几种IO模型:阻塞模型recvfrom一直等着IO操作的两个阶段。非阻塞模型recvfrom不会一直等,但会过一段事件就查看以下IO第一阶段是否完成,如果完成继续执行第二阶段。IO多路复用:select、poll、epoll这三个函数本身是阻塞的,即调用之后会卡在这三个函数这,直到函数处理完毕。但是没
2021-05-18 20:48:00
164
原创 make使用心得
CC = g++CF = -Walltestname: test.cpp${CC} ${CF} -o $@ $<.PHONY:cleanclean:del *.exe依赖的查找,会从第一个目标文件的依赖处查找,找不到则往下找其他语句,看看其他语句执行完是否能够产生第一条语句的依赖文件...
2021-05-13 01:04:26
106
原创 利用正态分布中三西格玛原理检查坏值
有一组数据(a1,a2,a3…an)均值 μ方差 σ²如果数据落在(μ-3σ, μ+3σ)中即为好值,否则为坏值。
2021-04-21 10:21:07
1733
原创 ActiveMQ消息中间件开发过程
消息中间件直连的坏处:直接连接的方式不利于异步传送信息和确保消息的准确到达。消息中间件的好处:可以将消息生产者产生的消息先缓存起来,这样保证了信息传输的确定性。可以设置不同的通讯方法,队列模式和订阅模式。队列模式中,可以设置多个消息生产者,多个消息消费者,消息的消费可以采用均衡负载策略。订阅模式可以做到很好的消息广播和组播。可以采用异步方式使得通信效率更高(在消息消费者处设置监听)ActiveMQ使用过程—一个轻量级消息中间件将想要使用的消息中间件的JMS Provider加入到工程之
2021-04-20 23:29:28
182
原创 在任何地方可以右键打开终端
将以下文件保存为a.reg而后点击,确认就可以在任何时候都可以鼠标右键选择cmdWindows Registry Editor Version 5.00[HKEY_CLASSES_ROOT\Directory\Background\shell\OpenCMDHere]"ShowBasedOnVelocityId"=dword:00639bc8[HKEY_CLASSES_ROOT\Directory\Background\shell\OpenCMDHere\command]@="cmd.exe
2021-04-20 21:52:55
204
原创 java TCP/IP通信与多线程,线程池的使用
分布式通信技术—Java中的Socket:基于tcp的点对点通信技术服务端: 客户端创建套接字(socket) 绑定服务器地址和端口(bind)监听端口(listen) 创建套接字接受客户端请求(accept) 客户端发送请求回送响应(write) 客户端接收响应关闭套接字(close) 关闭套接字在服务器端::监听socket只负责三次握手的监听创建成功的时候会生成一个握手成功队列。将握手成功的客户端
2021-04-20 15:21:08
616
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人