- 博客(387)
- 资源 (18)
- 收藏
- 关注
原创 Linux 安装Python3.7
系统为Centos7.8,默认已经安装了Python2.7.5。Python3和Python2可以共存,安装Python3不要卸载Python2,因为yum依赖于Python2。刚开始不清楚,按照网上教程删除了Python2和yum。1、删除现有Pythonrpm -qa|grep python|xargs rpm -ev --allmatches --nodepswhereis python |xargs rm -frvwhereis python2、删除现有的yumrpm -
2022-01-05 16:57:59
1881
原创 Linux 卸载OpenJDK
1、查询jdk版本java -version结果如下:openjdk version "1.8.0_312"OpenJDK Runtime Environment (build 1.8.0_312-b07)OpenJDK 64-Bit Server VM (build 25.312-b07, mixed mode)2、查找已安装的jdkrpm -qa | grep jdk结果如下:java-1.8.0-openjdk-1.8.0.312.b07-1.el7_9.x
2022-01-04 21:32:57
3142
原创 Linux 安装和配置ActiveMQ Artemis
1、ActiveMQ Artemis官网下载https://activemq.apache.org/components/artemis/download/当前版本2.20.0,不支持JDK8,JDK8需要下载版本2.19.0的,本人下载的是2.19.0https://activemq.apache.org/components/artemis/download/past_releases2、上传安装压缩包apache-artemis-2.19.0-bin.tar.gz到服务器/opt目录上3
2022-01-04 11:08:24
1294
原创 Linux 查询和开启端口
查询已开启的端口firewall-cmd --list-port查询指定的端口是否开启(如80)firewall-cmd --query-port=80/tcp开启指定的端口(如80)firewall-cmd --zone=public --add-port=80/tcp --permanent防火墙重新加载配置firewall-cmd --reload...
2021-12-28 15:25:52
1019
原创 Linux 安装和配置Elastiscsearch
1、上传Elastiscsearch安装压缩包到服务器/opt目录上2、修改内核参数max_map_countmax_map_count包含限制一个进程可以拥有的VMA(虚拟内存区域)的数量vim /etc/sysctl.conf在最后添加下面一行vm.max_map_count = 262144加载配置生效sysctl -p查看当前值sysctl -a|grep vm.max_map_count3、解压Elastiscsearch安装包、重命名cd /opttar -zx
2021-12-27 17:01:31
1168
原创 Linux 安装和配置Redis
1、上传Redis安装压缩包到服务器/opt目录上2、redis是由C语言编写,运行需要C环境,安装gcc等yum install -y gcc gcc-c++ tcl3、创建redis用户组和用户groupadd redisuseradd redis -g redis -s /sbin/nologin4、解压cd /opttar -zxvf redis-4.0.14.tar.gz5、编译、指定目录安装cd redis-4.0.14make MALLOC=libcmake .
2021-12-26 13:37:24
484
原创 Linux 安装和配置MySQL
1、准备好MySQL安装包,官网下载地址:https://downloads.mysql.com/archives/community/2、把MySQL安装压缩包包上传到Linux服务器的/opt目录3、XShell连上Linux服务器4、运行下面命令查看是否已安装MySQLrpm -qa|grep mysql5、运行下面命令查看是否已安装mariadbrpm -qa|grep mariadb本机输出:mariadb-libs-5.5.65-1.el7.x86_64可使用下面命令卸载
2021-12-26 12:27:02
514
1
原创 Linux 安装和配置 jdk1.8
1、如果本地已经有jdk压缩包,可以使用SecureFx软件上传到Linux服务器的/opt目录。如果知道jdk压缩包的线上地址,也可以在Linux服务器上通过“wget -O 保存文件名 压缩包地址”命令下载。本文用的是jdk-8u251-linux-x64.tar.gz。2、逐条执行下面命令cd /opttar -zxvf jdk-8u251-linux-x64.tar.gzmv /opt/jdk1.8.0_251 /usr/local/jdkecho "export JAVA_HO
2021-12-25 21:03:26
453
原创 Linux 修改默认yum源为阿里云
备份当前的yum源,重命名mv /etc/yum.repos.d /etc/yum.repos.d.backup4comex新建空的yum源设置目录mkdir /etc/yum.repos.d下载阿里云的yum源配置wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo重建缓存yum clean allyum makecache备注:其它的yum源
2021-12-25 20:15:46
629
原创 Linux 查看内存空间、磁盘空间、进程等信息
查看内存使用情况,以MB为单位free -m查看内存使用情况,以GB为单位free -g查看磁盘使用情况,以GB为单位df -h查看当前目录大小(-h表示人性化表示,-s只显示总量,不显示子目录)du -sh查看当前目录的子目录或文件的大小du -sh `ls`查看用户mysql运行的进程ps -u mysql查看非root运行的进程ps -U root -u root -N...
2021-12-25 19:20:44
896
原创 Linux 目录和文件管理的命令
目录或文件常用命令cd:切换目录pwd:显示目前的目录ls: 列出目录及文件名(用ls | cat -n 可显示行号)部分参数:-l :列出文件的详细信息-r :对目录反向排序-t :以时间排序-a :列出目录下的所有文件,包括隐藏文件mkdir:创建一个新的目录rmdir:删除一个空的目录mv: 移动或重命名文件与目录cp: 复制文件或目录rm: 删除文件或目录参数:-f :force,忽略不存在的文件,不出现警告信息-i :互动模式,在删除前会询问是否删除-r :递归删除
2021-12-25 18:11:11
260
原创 Linux中vim的基本用法总结
vim是一个功能强大的文本编辑器。vim有3种模式:命令模式,编辑模式,底线命令模式。每种模式下面对应不同的操作。一、命令模式输入“vim”或“vim 文件名”会进入命令模式,此时键盘的输入会被当做命令。输入i,I, o, O,a,A可进入编辑模式。命令模式的一些命令如下:i 在光标所在位置插入字符I 在光标所在行的行首插入字符o 在光标所在行的下一行新行插入字符O 在光标所在行的上以行新行插入a 光标所在字符的下一个字符插入A 光标所在行的行尾插入字符s 删除光标所在字符并插入字
2021-12-25 15:08:27
4301
原创 Node.js Express RESTful 简单例子
Node.js Express RESTful一个简单例子,实现对数据的查询和删除基本功能。用一个json文件作为读写的数据源[ { "id": 1, "name": "aa" }, { "id": 2, "name": "bb" }]创建 RESTfulconst express = require('express');const app = express();const fs = require("fs");app.se.
2021-03-24 17:35:32
448
2
原创 Node.js Express框架基本用法
Express是Node.js的轻量Web应用开发框架。安装模块Express框架及几个相关的重要模块安装cnpm install --save expresscnpm install --save body-parsercnpm install --save cookie-parsercnpm install --save multer --savebody-parser - node.js 中间件,用于处理JSON, Raw, Text 和 URL 编码的数据。cookie-p
2021-03-24 11:39:46
178
原创 Node.js axios库基本用法
axios是基于Promise的HTTP客户端,可以在浏览器和Node.js中使用。GitHub地址:https://github.com/axios/axios安装npm install axios新建一个服务器并启动,做为数据请求响应的例子。const http = require('http');const url = require("url");const util = require('util');const querystring = require('quer
2021-03-23 18:04:20
7319
原创 Node.js 创建HTTP服务器和GET/POST请求
Node.js自带的http模块可以创建服务器,也可以发送GET和POST请求。一、创建服务器使用http.createServer()方法创建服务器,使用listen方法绑定端口3000。通过req, res参数来接收和响应数据。//httpserver.jsconst http = require('http');const url = require("url");const util = require('util');const querystring = requi.
2021-03-23 11:32:31
2531
原创 Node.js 模块和包管理器NPM
Node.js模块可以让文件导入其他 Node.js 文件公开的功能。一个 Node.js文件就是一个模块,这个文件可能是JavaScript 代码、JSON 或者编译过的C/C++ 扩展。导出有两种方式。方式一:使用module.exports导出指定对象新建一个module1.js文件,导出const user = { userName: 'admin', password: '123'};module.exports = user;新建一个getModul
2021-03-23 10:20:27
124
原创 Node.js入门Hello World例子
Node.js是一个基于Google V8引擎,可以让JavaScript脱离浏览器,运行在服务器端的平台。Node.js主要特点基于Google V8引擎,性能高;单线程,提供了异步式I/O与事件驱动,代替多线程;不运行在浏览器中,不存在JavaScript浏览器兼容性问题;可以通过更改 Node.js版本使用新的ECMAScript标准。Node.js下载官网:https://nodejs.org/en/中文网:http://nodejs.cn/download/淘宝镜像:ht
2021-03-23 10:14:59
379
原创 深入理解ES6读书笔记10:模块
模块使用不同方式加载的JS文件。模块化分为导出(export)@与导入(import)两个模块。特点:(1)模块自动开启严格模式;(2)每一个模块内声明的变量都是局部变量;(3)模块中可以导入和导出各种类型的变量;(4)每一个模块只加载一次(是单例的),若再去加载同目录下同文件,直接从内存中读取;(5)对于需要让模块外部代码访问的内容,模块必须导出它们;基本的导出使用export关键字将已发布代码部分公开给其他模块。新建一个example.js文件,内容如下:// 导出数.
2021-03-22 09:08:16
117
原创 深入理解ES6读书笔记9:数组扩展
Array.of()与Array.from()方法ES6之前创建数组使用Array构造器与数组字面量写法。ES6新增了Array.of()与Array.from()方法。Array.of():创建一个包含所有传入参数的数组,不管参数的数量与类型。Array.from():将可迭代对象或者类数组对象转换为数组。let items1 = new Array(); //创建数组,使用Array构造器let items2 = new Array(3); //创建数组,只有一个参数且为整数类型.
2021-03-22 09:05:29
130
原创 深入理解ES6读书笔记8:类
ES6新增了类。类的创建方式有:类声明、类表达式、具名类表达式。//类声明 class PersonClass {//类表达式 let PersonClass = class{//具名类表达式 let PersonClass = class PersonClass2{class PersonClass{ //构造器 constructor(name){ this.name = name; } //方法 sayName(){ .
2021-03-22 09:04:22
106
原创 深入理解ES6读书笔记7:迭代器与生成器
迭代器是被设计专用于迭代的对象,带有特定接口。所有的迭代器对象都拥有 next() 方法,会返回一个结果对象。该结果对象有两个属性:对应下一个值的 value ,以及一个布尔类型的 done ,其值为 true 时表示没有更多值可供使用。ES5中创建一个迭代器function createIterator(items) { var i = 0; return { next: function() { var done = (i >.
2021-03-22 09:02:43
88
原创 深入理解ES6读书笔记6:Set和Map
Set 是不包含重复值的列表。Map 是键值对的有序列表,键和值都可以是任意类型。一、Set1、Set的创建、增加、删除、和数组互转等//创建Set和添加项目let set = new Set(); set.add(5);set.add(5); //多次添加相同值,只保留第一个set.add("5");console.log(set.size); // 2//使用数组来初始化一个 Setlet set2 = new Set([1, 2, 3, 4, 5, 5, 5, 5.
2021-03-22 09:01:11
97
原创 深入理解ES6读书笔记5:解构
解构是将一个数据结构分解为更小部分的过程。一、对象解构对象的属性值存储到本地变量。let node = { type: "Identifier", name: "foo"};let { type, name } = node;console.log(type); // "Identifier"console.log(name); // "foo"说明:使用解析配合var、let、const声明变量时,必须初始化。例如下面会报错。let { typ..
2021-03-22 08:58:40
93
原创 深入理解ES6读书笔记4:扩展的对象功能
一、对象字面量语法的扩展1、属性初始化器的简写ES6中函数的属性名和参数名相同时,可以省略属性名后面的冒号和值。因为当对象字面量中的属性只有名称时,JS 引擎会在周边作用域查找同名变量。//ES5及更早版本function createPerson1(name, age){ return{ name: name, age: age };}var person1 = createPerson1('张三', 20);console.lo.
2021-03-22 08:56:41
110
原创 深入理解ES6读书笔记3:函数
参数默认值未提供参数,或将参数值指定为undefined时,默认值会被使用。function add(a, b = 2, c = 3){ let result = a + b + c; console.log(result);}add(1); //6add(1,2); //6add(1,undefined,4); //7add(1,null,4);参数默认值表达式参数默认值除了是基本类型的值,也可以执行一个函数来产生默认值。function...
2021-03-22 08:55:00
92
原创 深入理解ES6读书笔记2:模板字面量
模板字面量提供了创建领域专用语言(domain-specific language,DSL)的语法,处理内容更安全。模板字面量的最简单语法,是使用反引号( ` )来包裹普通字符串。字符串中包含反引号,使用反斜杠( \ )转义。let message = `Hello world!`;console.log(message); // "Hello world!"console.log(typeof message); // "string"console.log(message.length)
2021-03-22 08:52:32
118
原创 深入理解ES6读书笔记1:块级绑定
var 声明与变量提升使用 var 关键字声明的变量,无论其实际声明位置在何处,都会被视为声明于所在函数的顶部(如果声明不在任意函数内,则视为在全局作用域的顶部)。这就是变量提升,不过变量的声明虽然被提升到了顶部,但初始化工作还保留在原处。function getValue(condition) { if (condition) { var value = "blue"; // 其他代码 return value; } else.
2021-03-21 08:53:00
114
原创 ECMAScript6中箭头函数的基本用法
箭头函数的作用是更简短的函数并且不绑定this。箭头函数表达式更适用于那些本来需要匿名函数的地方,并且它不能用作构造函数。箭头函数在“=>”的左边是参数,参数可空或多个。右边的是函数体,有一个“简写体”或“块体”,在一个“简写体”中,只需要一个表达式,并附加一个隐式的返回值。在“块体”中,必须使用明确的return语句。语法://没有参数,使用一对圆括号() => { statements }//只有一个参数,圆括号可选(singleParam) => { .
2021-03-21 08:49:41
154
原创 ECMAScript7中async await的基本用法
async await主要功能可以简化Promise then写法,代码更简洁。async函数返回一个 Promise 对象,可以使用then方法添加回调函数。当函数执行的时候,一旦遇到await就会先返回,等到异步操作完成,再接着执行函数体内后面的语句。await命令只能用在async函数之中。例子,用Promise then实现: function f1(){ var p = new Promise(function(resolve, reject){ .
2021-03-21 08:47:54
222
原创 ECMAScript6中Promise对象的基本用法
Promise是处理异步代码的一种方法,避免了层层嵌套的回调函数,且支持链式操作。Promise 对象代表一个异步操作,有三种状态:pending: 初始状态,不是成功或失败状态。fulfilled: 意味着操作成功完成。rejected: 意味着操作失败。Promise 对象的状态改变,只有两种可能:从 Pending 变为 Resolved 和从 Pending 变为 Rejected。一、Promise的创建Promise的构造函数接收一个函数作为参数,该函数的两个参数:resol
2021-03-21 08:45:53
144
原创 Oracle wm_concat函数排序的解决方法
默认情况下,使用wm_concat和group by拼接字段时,拼接的字段顺序是无规则的。创建测试数据:create table tb( seq number(10), remark varchar2(100), createtime date);insert into tb(seq, remark, createtime)select 1, '说明1', to_date('20210101','yyyymmdd') from dualunion allselec.
2021-03-21 08:43:18
6573
1
原创 Windows Server 2008使用计划任务每天定时执行vbs文件
某台服务器上,数据库每天的备份文件有好多GB,如果不定期删除,会很快占满硬盘空间。所以需要一个定时任务,每天自动运行,定期执行删除掉一些备份文件。下面为完整的过程。1、准备好删除文件的脚本 oldfiledelete.vbs,下面文件是删除D:\dbbak目录里面创建日期为10天前的文件Dim fso, f, f1, fc, s ,ff ,strFilePath strFilePath="D:\dbbak" Set fso = CreateObject("Scripting.Fi.
2021-03-21 08:41:29
2162
原创 Python标准库timet和datetime模块用法
Python的time和datetime模块提供了各种与日期时间相关的函数。一、time模块time()当前时间(新纪元1970年1月1日到访问时的秒数,也叫时间戳)localtime([secs])将时间戳转换为表示当地时间的间元组mktime(tuple)将时间元组转换为时间戳sleep(sesc)休眠secs秒strptime(string[, format])将字符串转换为时间元组strftime(format[, t])将时间元组转换为字符串 importtime ...
2021-03-21 08:39:00
203
1
原创 Python标准库random模块用法
random模块包含生成伪随机数的函数。random()返回一个[0,1)范围内的随机实数,0<=N<1import random for i in range(10): print(random.random())'''结果:0.472027392717309540.99545373678663980.89668893935903490.215265042578677070.51771438307347330.070589720650598760.763.
2021-03-21 08:38:09
149
原创 ORACLE数据库逐步解决ORA-12541、ORA-01034和ORA-27101、ORA-00119和ORA00132的过程
刚开始时,有一台服务器的ORACLE 11G数据库连接不上,报错:ORA-12541:TNS:无监听程序重启服务里面的两个Oracle服务,都没解决。在网上看到一篇文章说另一种可能是oracle目录目录下listener.log日志文件过大(达到4G,据说这是oracle在windows系统下的bug)导致的。搜索找到listener.log,果然文件已经是4GB。于是停止服务里面的Oracle监听服务,重命名listener.log做备份,例如listener.log.bak。启动Oracle监
2021-03-21 08:32:18
142
原创 Windows下MySQL主从复制的配置
MySQL主从复制允许将来自一个数据库(主数据库)的数据复制到一个或多个数据库(从数据库)。主数据库一般是实时的业务数据写入和更新操作,从数据库常用的读取为主。主从复制过程:1、主服务器上面的任何修改都会通过自己的 I/O tread(I/O 线程)保存在二进制日志 Binary log 里面。2、从服务器上面也启动一个 I/O thread,通过配置好的用户名和密码, 连接到主服务器上面请求读取二进制日志,然后把读取到的二进制日志写到本地的一个Realy log(中继日志)里面。3、从服务器上
2021-03-21 08:29:56
604
原创 Windows下Git的使用
Git官网:https://git-scm.com/一、Git下载官网首页下载本人下载的是Git for Windows版本二、安装基本上按照默认选项安装即可。安装成功后在开始菜单生成Git目录和3个子菜单。Git Bash:一个封装过的cmd命令行,并在其中加入了一些新的命令与功能。(linux风格)Git CMD(Deprecated):cmd命令行界面,提示已弃用。(windows风格)Git GUI:可视化图形界面。三、Git工作流程1、工作流..
2021-03-20 12:33:04
281
原创 spring boot 2 集成JWT实现api接口认证
JSON Web Token(JWT)是目前流行的跨域身份验证解决方案。官网:https://jwt.io/本文使用spring boot 2 集成JWT实现api接口验证。一、JWT的数据结构JWT由header(头信息)、payload(有效载荷)和signature(签名)三部分组成的,用“.”连接起来的字符串。JWT的计算逻辑如下:(1)signature = HMACSHA256(base64UrlEncode(header) + "." + base64UrlEncode(pay
2021-03-20 12:26:31
615
原创 spring boot 2 全局统一返回RESTful风格数据、统一异常处理
全局统一返回RESTful风格数据,主要是实现ResponseBodyAdvice接口的方法,对返回值在输出之前进行修改。使用注解@RestControllerAdvice拦截异常并统一处理。开发环境:IntelliJ IDEA 2019.2.2jdk1.8Spring Boot 2.2.21、创建一个SpringBoot项目,pom.xml引用的依赖包如下 <dependency> <groupId>org.spri.
2021-03-20 12:22:38
487
PL/SQL美化器规则文件,用于格式美化sql语句
2022-06-09
开源.NET FTP组件edtFTPnet.dll
2013-09-26
HTML解析工具Html Agility Pack v1.4.6
2013-09-18
文件比对工具WinMerge v2.14
2013-09-18
SQLite数据库管理工具SQLiteStudio 2.1.4
2013-09-18
.net程序反编译工具ILSpy 2.1
2013-09-18
读写Excel的组件npoi
2013-07-26
CnPlugin_1.5.4.rar
2013-04-16
winform制作的精美时钟
2013-03-08
winform 为图片添加当月的日历并设为壁纸
2013-02-28
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人