- 博客(123)
- 资源 (14)
- 收藏
- 关注
原创 优秀博客
1.资料下载http://cmsblogs.com/?page_id=19422.mysql资料http://www.cnblogs.com/lyhabc/p/3802704.html3.spring、springmvc、mybatis整合http://blog.csdn.net/zhshulin/article/details/379561054.git学习资料https://www...
2017-04-18 12:12:52 546
原创 Linux中目录与文件的权限意义
最近在看鸟哥的私房菜,对目录和文件的权限意义有点模糊了,记录一下。一、权限对文件的意义文件时实际含有数据的地方,包括一般文本文件、数据库内容文件、二进制可执行文件等。因此权限对于文件来说,具有很大意义。r(read):可读取文件的实际内容,如读取文本文件的文字内容等。 w(write):可以编辑、新增或者修改文件的内容(但不包含删除该文件,删除文件的权限由这个文件所在目录控制着);...
2020-04-16 15:20:18 906
原创 跨域问题的梳理
前两天面试问到了跨域问题,答得不是很好,所以总结一下跨域问题。1.产生原因由以下三个条件同时满足时,才会产生跨域问题。浏览器限制浏览器处于安全的考虑会对请求做校验,校验不通过就会报跨域的问题。Access to XMLHttpRequest at 'XXX' from origin 'XXXX' has been blocked by CORS policy: No 'Acces...
2020-04-04 21:48:36 460
原创 GO语言中的字符串
1.简介字符串是不可变字节(byte)序列,其本身是一个复杂的结构。默认以UTF-8编码存储Unicode字符,内置函数len()返回字节数组长度。字符串默认值不是nil,而是""。func main(){ strChinese :="我爱我的祖国" strEnglish := "I love my country" fmt.Printf("strChinese len:%d,st...
2020-03-26 12:54:27 1239
原创 GO语言中的panic、recover、defer
前言在go语言中不存在try catch异常处理逻辑,而我们可以使用panic recover defer来程序执行流程,借此来达到异常处理的目的。Panic是一个可以停止程序执行流程的内置函数。 假设当前F函数当中某处代码触发panic函数,则F函数停止后面代码的执行,转而执行F函数内部的defer函数(前提已经声明了defer函数),然后结束F函数,将当前处理权转给F的调用函数。若果...
2020-03-24 11:00:10 370
原创 Go语言中复杂类型的初始化
对复杂类型如数组,切片,字典,结构体初始化时,会有一些语法限制。初始化表达式必须含有类型标签 左花括号必须在类型尾部,不能另起一行 多个成员初始值以逗号分隔 允许多行,但每行必须以逗号或花括号结束例如以下正确示例:func main(){ type student struct { name string age int sex string } s:=...
2020-03-18 10:28:02 984
原创 GO语言中的strconv包
在go语言中经常用到字符串和其它类型进行转换,strconv包能实现这个功能。1.string转int有两种方法,可以使用func Atoi(s string) (i int, err error),Atoi代表Ascii to Integer。还可以使用func ParseInt(s string, base int, bitSize int) (i int64, err error),...
2020-03-17 09:25:21 3077
原创 GO语言中的数组
1.数组的声明var varName [n]Type比如声明一个长度为10的整型数组:var arr1 [10]int。注意一点,数组长度也是类型的一部分,因此不同长度的数组为不同类型。2.数组的赋值var arr1 [10]int = [10]int{1,2,3,4,5,6,7,8,9,10}以上声明并初始化了长度为10的整型数组。也可以使用new()来初始化,返回的是一...
2020-03-12 09:07:18 663
原创 GO语言中的切片
1.切片声明及创建声明一个切片int型的切片var s []int初始化一个长度为len,容量为cap的切片s = make([]int,len,cap) cap可以省略,省略后cap等于len也可以简洁的初始化s:=make([]int ,len,cap)还可以指定值的创建切片s:=[]int{1,2,3,4}指定索引值式的创建s:=[]int{3:5} ...
2020-02-29 23:42:45 279
原创 strtotime()函数可以用来判断是否是日期类型
strtotime()函数将任何英文文本的日期或时间描述解析为 Unix 时间戳,如echo(strtotime("+1 week") . "<br>");echo(strtotime("2019-07-27"));这个函数的返回值也有很大的作用,若成功则返回时间戳,失败则返回 FALSE。利用这个可以判断变量是否是日期类型$data="aaaaa";//可以任...
2019-07-24 18:46:35 793
原创 使用vim编辑文件时报Swap file "*.swp" already exists!错误分析
使用vim编辑文件时,超时退出终端,或者没有退出直接关闭终端,造成异常退出的场景,再次编辑时会报以下错误:E325: ATTENTIONFound a swap file by the name ".test.txt.swp" owned by: root dated: Thu Jun 27 14:38:06 2019 file name: ~roo...
2019-06-27 15:20:44 2550
原创 vim的几种模式
1.正常模式(normal)正常模式是使用vim打开文件时的默认模式,无论在哪种模式下,按下Esc键就会进入正常模式。在这个模式下,可以移动光标,删除某个字符,删除某行,复制多行,粘贴多行。x删除光标后的一个字符,X删除光标前的一个字符,nx删除光标后的n个字符,dd剪切光标所在的那一行,ndd剪切光标所在行后的n行,p光标所在行开始,向后粘贴已经复制的内容,P光标所在行开始,向前粘贴已经...
2019-06-27 14:42:09 12745
原创 Linux命令之cat、tac、tail、head命令的使用
对文件内容正序查看时,可以使用cat命令。还可以两多个文件输出到一个文件中。也可以新建一个文件。下面就介绍一下cat命令的用法。cat filename 正序查看文件所有内容cat -n filename 带行号正序查看文件所有内容cat -b filename 忽略空白行,带行号正序显示文件所有内容cat > filename 新建一个文件cat filename1...
2019-06-26 19:52:04 6603
原创 phpStudy2018中Apache启动失败
集成软件中的nginx能正常启动,但是Apache启动失败,查看apache的错误日志没找到问题,安装了VC9也不行,最后查看Windows日志找到了问题,右键此电脑(我的电脑系统是win10),管理,windows日志,应用程序,找到报错的Apache Service,点开查看详情,看到是The Apache service named reported the following error...
2019-05-25 17:13:48 3989 1
原创 docker常用命令
1.docker version 查看docker的版本号,包括client客户端和server服务端的版本号。2.docker info 查看docker的详细信息,包括有几个容器,正在运行的、停止的容器有几个,镜像有几个,客户端与服务端的版本号,插件信息,挂载点信息等,非常详细。3.docker search[OPTIONS] TERM 在docker hub中搜索镜像,如docke...
2019-05-06 16:56:38 209
原创 C语言中的字节对齐
在看php源码时,分析变量大小时遇到了问题,结构体所占用的大小并不是简单的将里边成员所占大小相加,而是有字节对齐的问题,先看一个小例子:#include <stdio.h>int main(){ struct _s{ char a;//1字节 int b;//4字节 long c;//8字节 void* d;//8字节 int e;//4字节 cha...
2019-04-24 16:22:52 750
原创 hadoop执行过程中reduce没有执行,没有将key相同的value放在一起的问题
hadoop在过滤重复数据的问题中出现了一些问题,没有将相同的数据去掉,而是排好序都呈现了出来,于是我又写了一个字符计数的程序,也是这种效果,没有将同一个key的value放在一起,效果图如下这个是原始数据这个是处理之后的数据仅仅是将每行的数据进行切分了,没有将key相同的放在一起。原始代码如下package ccnu.eisr;import java.io.IO...
2019-03-05 10:59:28 1683
原创 c语言中typedef的用法
typedef是为现有的类型起一个别名,使使用起来更加的方便,注意一点,它并没有产生新的类型。typedef int BOOL;为int型起了一个新的别名BOOL。例如下边的代码,BOOL为int的别名,然后就可以直接使用了。typedef int BOOL;#define TRUE 1#define FALSE 0BOOL flag = TRUE;在结构体中的用法typ...
2019-02-23 11:56:50 26287 4
原创 C语言中数组指针与指针数组的理解
1概念的区分 数组指针:数组的指针,首先说它是一个指针,一个指向数组的指针。指针数组:指针的数组,它是一个数组,数组中存放的内容为指针。 2优先级 优先级为 () > [] > *比如int (*p)[n],因为()的优先级最高,p先于*结合,所以p是一个指针,后面是数组,于是这个就是数组指针。在如int *p[n],[]优先级比*高,p先与[]结合,所以...
2019-02-21 18:58:37 724
原创 C语言字符串中的指针与数组
先说一下字符串字面量(字符串常量):双引号中的字符和编译器自动加入末尾的\0字符,都作为字符串储存在内存中。字符串常量属于静态存储类别,说明如果在函数中使用字符串常量,该字符串只会储存一次,在整个程序的生命周期内存在,即使函数被调用多次。用双引号扣起来的内容被视为指向该字符串储存位置的指针。字符串的赋值可以用指针与数组,请看下面的例子char str1[] = "I am a stude...
2019-01-23 15:02:18 982
原创 指针与数组
数组和指针是区别不开的,数组的表示方法其实就是在变相的使用指针。数组的表示方法为 int arr[10],声明了一个长度为10的int型的数组,数组名是首元素的地址,也就是arr == &arr[0],这两个是相等的,那arr+1是什么呢,这个代表当前的指针地址加一个存储单元,也就是arr[1]的地址。注意一下,一个存储单元不是一个字节,int型占四个字节,在这里一个存储单元等于四个字...
2019-01-22 20:24:30 165
原创 C语言指针理解
PHP底层是C语言,在看php源码的时候,遇到了指针,有点迷惑,当初学的比较浅,只是为了过计算机二级,到现在也忘得差不多了,所以现在需要重新温习一下C语言的指针。对于指针,想象成一个模型便于理解,可以想象成一个房间,变量看成房间,变量的值看成房间里住的人,这个变量的地址看成房间的门牌号。举个例子int x;x = 4325;第一行为声明了一个int型的变量,并给它分配了一个内存...
2019-01-18 14:14:27 203
原创 动态语言、静态语言、脚本语言、解释型语言、编译型语言
本人是php程序员,也做过一年java的开发,学习过c语言,会JavaScript,再回想起来,感觉语言之间的区别有点迷惑,所以整理一下。1.动态语言动态语言是在运行时才确定数据类型的语言。变量使用之前不需要类型声明,通常变量的类型是被赋值的那个值的类型。 例如PHP、ASP、Python、SQL、JavaScript、Unix Shell等等。动态语言的优势:思维不受束缚,可以任意发...
2019-01-04 22:02:00 6649
原创 shell命令之case
先看例子#!/bin/bash#case的练习#2018-12-19SWITCH=$1case $SWITCH in apache) echo "安装apache" ;; mysql) echo "安装mysql" ;; php) echo "安装php"...
2018-12-19 16:13:05 920
原创 shell命令之for循环
1.先看个小例子,打印出1-15#!/bin/bashfor i in `seq 15`do echo "NUM is $i"done seq 15是将1-15的数都列出来。关键字是for do done。2.求和#!/bin/bashsum=0for((i=1;i<=100;i++))do sum=`expr $i + $s...
2018-12-18 19:53:23 837
原创 shell命令备份数据库
#!/bin/bash#数据库的备份#2018-12-18#备份的数据库名MYSQLDB=blog#用户名MYSQLUSER=root#密码MYSQLPWD=root#备份的文件名BACKDIR=/usr/local/$MYSQLDB_backup_`date +%Y%m%d`#mysql备份命令的地址COMMAND=/usr/bin/mysqldump#判断是不是ro...
2018-12-18 18:45:35 705
原创 初识shell命令
1. 文件以#! /bin/bash开头,其中的#!是约定的标记,告诉系统这个脚本需要什么编译器来执行,即使用哪一种shell。2.新建一个文件,first_shell.sh,然后输入以下内容#! /bin/bashecho "hello world"用./first_shell.sh命令执行,如果输出hello world,则说明执行成功了,如果显示-bash: ./first_...
2018-12-17 22:48:26 175
原创 crontab的用法
使用crontab你可以在指定的时间执行一个shell脚本或者一系列Linux命令。例如系统管理员安排一个备份任务使其每天都运行。1.cron服务service crond start //启动服务service crond stop //关闭服务service crond restart //重启服务service crond reload //重新载入配置s...
2018-11-28 10:21:35 295
原创 centos关闭防火墙
CentOS默认使用的是firewall作为防火墙,使用iptables必须重新设置一下1、直接关闭防火墙systemctl stop firewalld.service #停止firewallsystemctl disable firewalld.service #禁止firewall开机启动2、设置 iptables serviceyum -y install iptabl...
2018-11-01 14:54:49 339
原创 php 实现 strToInt
将一个字符串转换成一个整数的功能,但是string不符合数字要求时返回0,要求不能使用字符串转换整数的库函数。 数值为0或者字符串不是一个合法的数值则返回0。function StrToInt($str){ $flag = 1;//判断正负数,默认为正数 $number = 0; if(strlen($str)==0){ return 0; ...
2018-10-11 12:58:56 656
原创 求无序数组中第k大的数
如果是排好序的数组,则比较简单,直接$arr[$k-1]就能求出,如果不是排好序的就需要先排序,但这种时间复杂度为O(n2),所以不能直接排序。我们知道快速排序就是找一个哨兵,使左边的数比它大,右边的数比它小,然后在对左右两边的数重复上次的动作。可以利用快速排序中的步骤,找的哨兵,在排完一步的序后,如果等于$k,则这个位置就是要找的,如果小于哨兵的位置,则重新对哨兵左边的数进行排序就好,没必要在对...
2018-10-08 11:09:00 2512
原创 C语言中scanf与getchar的用法
最近看C语言书,看到getchar()函数后,和scanf()函数有点混淆,下面就来区分一下这两个函数吧。1.首先看一下scanf的用法char s;scanf("%s",&s);函数输入字符串时存在一个问题,就是如果输入了空格会认为字符串结束,空格后的字符将作为下一个输入项处理。2.getchar的用法int ch;ch = getchar();putch...
2018-09-24 16:21:12 8775 2
原创 关于vim常用命令
一移动命令1.跳到文本的最后一行:shift+g2.跳到文本的首行 :输入两个g,即gg3.跳到当前行的首字母:在当前行按04.向下移动一屏:ctrl+f5.向上移动一屏:ctrl+b6.向上移动半屏:ctrl+u7.向下移动半屏:ctrl+d8.移动到指定行数,输入:n ,n是要移动到的行数二插入命令1.在当前行进行插入:i,如果在当前行的首字母进行插入...
2018-09-19 17:34:11 225
原创 1-999中求出重复的一个数
题干:一共1000个数(无序),大小1-999,其中有一个数是重复的,求出这个数这个题用到了异或(^),异或的用法:两个相同的数按位异或结果为0,任何数和零按位异或结果为这个数本身所以这道题可以用这个数组和1-999这个数都异或,最后的结果就为要求的数。举个例子,比如这个数组就是[1,2,3,4,5,5,6,7,8,9...999]和[0,1,2,3,4,5,6,7,8,9...999]数组按位异...
2018-05-18 18:10:40 664 1
原创 php实现2-bitmap
1.前言先说一下什么是2-bitmap,为每个数分配2bit,00表示没有出现过,01表示出现过1次,10表示出现过2次及以上,11表示无意义。下面有个需求,求出一个数组中出现过一次的数字,显然用bitmap是无法实现的,位图法只能判断出是否出现过,但是只出现过一次是无法确定的,用2-bitmap正好能解决这种情况。2.数据结构既然连个bit表示一个数字,则能容纳的数字个数就是bitmap的一半插...
2018-05-12 18:26:21 1170
原创 php实现位图法,处理海量数据
1.前言我们知道一个1G=1024M,1M=1024K,1K=1024byte,1byte=8bit,所以1个字节等于8bit,也就是8个二进制位,位图法的概念是用一个位(bit)来标记某个数的存放状态,所以节省了大量的空间。2.数据结构unsigned int bit[N],在这个数组里面,可以存储N*PHP_INT_SIZE*8个数据,但是最大的数只能是N*PHP_INT_SIZE*8-1。例...
2018-05-10 22:30:39 1969
原创 git之撤销
如果用git,想撤销某个版本,怎么办呢?撤销也分多种情况,下面梳理一下这几种情况。1.先分析第一种情况,工作区中修改了,但是还没有add到暂存区$ git checkout -- filename这样就能使工作区中和中央版本库中的代码一致。2.第二种情况,工作区中修改了,add到了暂存区,但是还没有commit到中央版本库这个第二种情况又细分两小种情况。①工作区中add到暂存区后,工作区中没有修改...
2018-05-07 21:36:22 447
原创 git命令log与reflog的比较
用git命令,想看到自己的操作记录,则可以使用log与reflog,它两个的区别如下:1.git log 命令可以显示所有提交过的版本信息例如 如果感觉太繁琐,可以加上参数 --pretty=oneline,只会显示版本号和提交时的备注信息2.git reflog 可以查看所有分支的所有操作记录(包括已经被删除的 commit 记录和 reset 的操作)例如执行 git reset --har...
2018-05-07 20:26:29 83102 8
原创 git命令之diff
git命令用来查看两个状态下的文件的不同,加入不同的参数,能查看不同的状态,比如工作区与暂存区,工作区与本地版本库,暂存区与本地版本库,不同分支下等。下面就来看一下具体的命令吧。1.工作区VS暂存区$ git diff <filename>解释:查看文件在工作区与暂存区的差别。如果文件还没有add进暂存区,则查看文件自身修改前后的差别。也可以查看和另一个分支的区别,$ git diff...
2018-05-07 19:38:58 273
实战LINUX_SHELL编程与服务器管理.zip
2019-05-19
PHP秒杀系统 高并发高性能的极致挑战 从万次到亿万次的性能优化,从单机到分布式的架构升级
2019-05-03
PHP7内核剖析,包括php基本框架,变量,Zend虚拟机,php基本语法实现,内存管理,线程安全,扩展开发,命名空间等
2018-10-24
Javascript实现的超炫组织结构图
2018-10-24
jOrgChart-master
2018-10-18
复杂网络中最经典的BA无标度网络模型matlab源程序并且有求解度的程序代码
2018-03-08
mysqlbinlog工具
2018-01-20
UCINET6.212
2017-10-14
ucint中文版
2017-10-13
包含mybatis-generator1.3.2的jar包、mysql数据库连接jar包、mybatis3.2.7.jar以及自动生成代码的配置文件模板。
2017-07-02
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人