自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(185)
  • 资源 (3)
  • 问答 (1)
  • 收藏
  • 关注

原创 golang高级进阶(二):goroutine性能、channel管道

一、goroutine性能对比1. 素数算法package mainimport "fmt"func main() { // 获取1-100之间的素数:除了1和它本身整除外不能被任何数整除,1不是素数 for i := 2; i <= 100; i++ { var flag bool = true // 假设是素数 for j := 2; j < i; j++ { // j从2开始,是因为1可以被0除外的所有数整除 if i%j == 0 { f

2022-05-10 17:08:46 1029

原创 golang高级进阶(一):进程、线程、并发、并行、goroutine协程

目录一、关于进程和线程1. 进程(Process)2. 线程二、关于并发和并行1. 并发2. 并行3. 通俗讲三、goroutine协程以及主线程1. 主线程2. 协程3. 多协程和多线程四、go关键词实操1. 顺序执行2. 加入go3. 加入时间4. 主线程执行快的情况5. sync.WaitGroup解决不等待6. 多协程并发并行执行五、设置golang运行时占用的cpu核数量(不是很重要)重点:这一篇全是干货,一定要多

2022-04-21 17:25:19 4848 3

原创 golang中级进阶(五):接口接收者、结构体多接口、接口嵌套、空接口类型断言使用细节

目录一、结构体值接收者和指针接收者实现接口的区别1. 值接收者2. 指针接收者二、结构体实现多接口三、接口嵌套四、空接口和类型断言使用细节一、结构体值接收者和指针接收者实现接口的区别1. 值接收者如果结构体中的方法是值接收者,那么实例化后的结构体值类型和结构体指针类型都可以赋值给接口变量package mainimport "fmt"// 结构体值接收者和指针接收者实现接口的区别type Usber interface { Start() Stop

2022-04-21 11:39:29 1648

原创 golang中级进阶(四):接口详解、空接口、类型断言

一、接口介绍Golang 中的接口是一种抽象数据类型,Golang 中接口定义了对象的行为规范,只定义规范 不实现。接口中定义的规范由具体的对象来实现。通俗的讲接口就一个标准,它是对一个对象的行为和规范进行约定,约定实现接口的对象必 须得按照接口的规范。二、基础接口操作方法1. 定义接口:所有接口后面最好跟上er// 定义接口 usbtype Usber interface { Start() Stop()}2. 使用接口定义的Phone结构体中必须要含有接口中的所有方

2022-04-20 10:30:58 1037

原创 golang中级进阶(三):go mod 和 golang包

目录一、包的定义二、包管理工具 go mod1. go mod init 初始化项目2. golang中自定义包3. 自定义包别名4. init魔术方法的执行顺序三、golang中使用第三方包1. 查找第三方包2. 安装第三方包3. 根据三方包文档使用一、包的定义包(package)是多个 Go 源码的集合,是一种高级的代码复用方案,Go 语言为我们提供了 很多内置包,如 fmt、strconv、strings、sort、errors、time、encod

2022-04-13 14:24:11 1287

原创 golang中级进阶(二):结构体

一、结构体详解1. 结构体定义Golang 中没有“类”的概念,Golang 中的结构体和其他语言中的类有点相似。和其他面向对 象语言中的类相比,Golang 中的结构体具有更高的扩展性和灵活性。Golang 中的基础数据类型可以表示一些事物的基本属性,但是当我们想表达一个事物的全 部或部分属性时,这时候再用单一的基本数据类型就无法满足需求了,Golang 提供了一种 自定义数据类型,可以封装多个基本数据类型,这种数据类型叫结构体,英文名称 struct。 也就是我们可以通过 struct 来定

2022-04-12 15:11:30 526

原创 golang中级进阶(一):time包、日期函数、指针详解

一、time包1. time包的基本使用package mainimport ( "fmt" "time")func main() { // 1.time包引用及基本使用 now := time.Now() fmt.Println(now) // 2022-04-08 15:07:36.11502 +0800 CST m=+0.000130549 // 获取可阅读的 Y := now.Year() m := now.Month() d := now.D

2022-04-11 14:46:48 1068

原创 golang初级进阶(四):函数(下)

一、defer运用1. defer定义defer 定义:Go 语言中的 defer 语句会将其后面跟随的语句进行延迟处理。在defer归属的函数即将返回时,将延迟处理的语句按 defer 定义的逆序进行执行,也就是说,先被 defer 的语句最后被执行,最后被 defer 的语句,最先被执行。2. 基础运用 // 1. defer 基础使用 fmt.Println("开始") fmt.Println(1) defer fmt.Println(2) defer fmt.Pr

2022-04-07 15:27:56 323

原创 golang初级进阶(三):函数(上)

一、函数定义函数是组织好的、可重复使用的、用于执行指定任务的代码块。1. 初级定义函数:5种方式// 定义函数 第一种方式:每个参数都有规定类型,返回值类型。func sum1(x int, y int) int { sum := x + y return sum}// 第二种方式:参数的类型一致func sum2(x, y int) int { sum := x + y return sum}// 第三种方式:不规定参数数量,此时接收到的参数是一个切片func su

2022-04-06 17:50:06 370

原创 golang初级进阶(二):map详解

1. 定义mapmap 是一种无序的基于 key-value 的数据结构,Go 语言中的 map 是引用类型,必须初始化 才能使用。定义map的两种方式: // 定义map 第一种通过make函数定义 mapArr := make(map[string]string) mapArr["username"] = "张三" fmt.Println(mapArr) // map[username:张三] // 第二种定义方式 mapArr2 := map[string]string

2022-04-01 16:44:34 1123

原创 golang初级进阶(一):顺序排序、冒泡算法、sort排序

目录一、排序算法1. 顺序排序2. 冒泡排序二、sort排序1. sort升序2. sort降序一、排序算法1. 顺序排序package mainimport "fmt"func main() { slice1 := []int{3, 11, 32, 1, 4} //顺序排序:由大到小 => 从第一个一直比到最后一个 for i := 0; i < len(slice1); i++ { for j := i + 1; j <

2022-04-01 14:21:25 348 1

原创 golang基础(五):数组、多维数组、切片

目录一、数组1. 定义数组:四种方式2. 遍历数组3. 练习题二、多维数组1. 两种定义方式2. 遍历多维数组3. 数组与切片的不同三、切片1. 定义切片:4种方式2. 遍历切片3. 切片的长度容量解释4. 使用make()函数创建切片5. 直接相等的切片与copy()切片的区别6. 切片追加、合并、删除元素一、数组1. 定义数组:四种方式package mainimport "fmt"func main() { .

2022-03-31 14:20:17 1255

原创 golang基础(四):条件判断、循环体、跳出循环

一、条件判断1. ifif 格式有两种写法:package mainimport "fmt"func main() { a := 1 if a < 10 { fmt.Println("第一种写法,此时a是函数体内的变量") } if b := 1; b < 10 { fmt.Println("第二种写法,此时b是if中的变量") }}2. if, else if, elsepackageimport "fmt"func main

2022-03-29 12:00:51 1877

原创 golang基础(三):类型转换、各种运算符

一、各种类型相互转换1. 整形间相互转换一般都是由小转大,不建议由大转小,会有数值的误差package mainimport "fmt"func main() { var a int8 = 20 var b int16 = 40 var c = int16(a) + b // int8 转成 int16 fmt.Println(c) // 60}2. 整型转浮点型package mainimport "fmt"func main() {

2022-03-28 15:49:57 550

原创 golang基础(二):常量、类型、字符串常用操作

一、定义常量const 定义常量,不可更改。可以一次性定义多个常量,但必须都要赋值。package mainimport "fmt"func main() { const username = "张三" fmt.Println(username) // 定义多个常量 const ( username = "张三" age = 12 sex = "男" ) fmt.Print

2022-03-26 16:03:06 1103

原创 golang 基础(一):安装、IDE、fmt、变量

一、下载安装Go 官网下载地址:https://golang.org/dl/ Go 官方镜像站(推荐):https://golang.google.cn/dl/自行根据自己的系统进行下载1. windows安装双击 一直下一步下一步即可安装完毕后打开cmd测试是否成功go version出现以下信息,说明安装成功2. mac 安装双击打开,把go直接拖进 Application即可安装完毕后打开 iterm终端查看是否安装成功go ..

2022-03-25 10:09:29 1293

转载 linux 删除所有子目录下的指定文件/文件夹

阅读目录采用find+exec组合来完成find alipay-demo -type d -name "__pycache__" -exec rm -rf {} \;说明:alipay-demo:为待查询的开始目录,从此目录开始搜索,包括本目录下的子目录 -type d:文件类型为目录 若目标文件是普通文件,则使用-type f -name "__pychche__":指定待删除的目录名(此处可以使用正则表达式匹配目标文件或目录) -exec rm -rf {}exec要执行的命.

2022-02-07 10:33:53 2285

原创 老神棍之小六壬速断

小六壬迷断大全011,大安;身不动时,属青龙木,凡谋事一五七(属四肢)贵人西南,冲犯东方,小孩婆姐六畜惊,大人青面阴神。断曰;大安事事昌,求财在坤方,失物去不远,宅舍保安康。行人身未动,病者主无妨,将军回田野,仔细兴推祥。日加时断;(1),大安加留连,办事不周全,失物西北去,婚姻晚几天。(2),大安加速喜,事事自己起,失物当日见,婚姻自己提。(3),大安加赤口,办事不顺手,失物不用找,婚姻两分手。(4),大安加小吉,事事从己及,失物不出门,婚姻成就地。(5),大安加空

2022-01-13 10:32:36 12555

转载 ssh命令-使用密钥pem文件进行登陆

在linux/mac上面就可以使用系统自带的命令工具来连接

2022-01-04 16:07:03 2045

原创 python 获取百度地图坐标,入库

需求:读取excel得到位置,根据位置名称获取到百度地图的坐标,然后更新数据库信息。读完此篇文章,能学到的知识:1、 python操作数据库2、requests请求url得到数据3、xlrd读取excel文件4、parse转码5、hashlib加密计算sn一、环境python 3.9.2pip 21.2.4windows / linux二、需要用到的包requests 请求url获取返回内容 pymysql 连接数据库 xlrd 读取excel文件,注意新版

2021-11-25 17:05:58 1525

转载 打包python文件为exe

前言上大学的时候有老师不给上课的PPT,就总想有个程序能偷偷复制老师的U盘。。。。一直没有去实现,最近不想看论文,就想起来这个事情了,发现其实用几行python代码就能搞定了。分两步,首先写出来python代码,其次把.py文件转换成exe文件,直接在windows电脑上后台运行。代码# -*- coding:utf-8 -*-import osimport timefrom datetime import datetimeimport shutil# U盘的盘符usb_path

2021-10-11 17:15:16 130

原创 Please make sure that the app id is set correctly.

事件重现:laravel 8 利用bootstrap包 npm run watch-poll时出现的问题npm run dev / npm run watch-poll 后项目报 Please make sure that the app id is set correctly. 问题原因:WIN10 通知关闭的原因,禁用NPM运行开发人员未使用错误通知为用户编译资产。解决方式:打开win10的通知 即可下方是问题出现以及如何解决win10 打开通知:设置-》系统-》通知和操作,关闭项全部.

2021-09-07 16:40:41 1810 2

原创 php打包zip解压,备份还原数据库

先说下需求吧:做的桌面管理软件(不联网,只有更新时联网),然后有更新版本需求,故用到的方法为:把开发完的代码及环境一块打包,通过curl下载至本地某盘,通过解压命令覆盖本地代码及环境;但是数据库在线下,也就是说必须先备份原数据在执行还原。一、解压打包zip/** * 生成压缩包 * @param $files 数组:['d:/test/1.jpg', 'd:/test/2.jpg'] 文件路径绝对路径 * @param $filePath 输出路径 d:/test/new.zip * @r

2021-08-06 11:55:45 184

原创 git命令操作帮助文档

1. 生成ssh key目录1. 生成ssh key2. 代码操作3. 日常开发1)首先查看是否有ssh key打开git bush here,如果有则查看cat id_rsa.pub,进行复制输入: cd ~/.ssh/输入:ll 进行查看复制整段框起来的,然后去git服务器粘贴即可2)如果没有进行生成绑定用户名和邮箱生成ssh key,要按上三次回车最后查看ssh key,去git服务器粘贴即可2. 代码操作1)首次..

2021-06-30 09:30:59 225 2

原创 vue预览 pdf、word、xls、ppt、txt文件方法

首先说下为什么要分享:特么的,网上教的都是特么的啥玩意!!!真特么垃圾,各种方法说不到点子上!!!真是特么气死我了,还有那群只会复制粘贴的帖子狗!妈的,自己都不做测试就会复制粘贴别人的,然后就发出来误人子弟,我真是醉了!...

2021-06-19 16:58:08 19275 43

原创 linux 定时任务及编写xshell及开启超级账户

一、定时任务这里说明两个系统:centos和ubuntu 两个系统的共同点,编辑定时任务脚本 crontab -e1. 编辑定时任务文件crontab -e crontab -e 第一次执行会让你选择编辑器,这里我选择的vim 直接输入数字即可2. 定时任务说明直接再上一步打开的文件中往下添加以下命令即可。* * * * * command分 时 日 月 周 命令举例0 23 * * * /home/test.sh每天23点执行 test.sh 脚本3. 保存

2021-05-15 15:16:20 917

原创 vue-element-admin 扩展sso单点登录注册退出(八)

有点复杂,一定要耐心看,看完之后你会对单点登录有个神奇的看法

2021-04-16 15:42:51 2286 1

原创 vue-element-admin 利用echarts做数据展示以及自适应屏幕和统计插件(七)

一、安装1.安装echartsecharts百度插件,官方地址:https://echarts.apache.org/zh/index.html在项目中安装 npm install echarts --save 还有一种安装指定版本的echarts 比如 npm install --save [email protected]卸载echarts命令 npm uninstall echarts2.在项目中安装vue-count-to 这个是vue的统计展示组件,主要作用就是平滑加载数量np..

2021-04-14 14:42:58 4434 5

原创 vue-element-admin 利用es6语法总结以及多级联动和Markdown组件(六)

1. async await 异步同步用法2. {code, data} = xxx 解构赋值3.() => {} 箭头函数4. “...” 变量追加

2021-04-07 11:02:15 390 2

原创 vue-element-admin 增删改查(五)

此篇幅比较长,涉及到的小知识点也比较多,一定要耐心看完,记住学东西没有耐心可不行!!!一、添加和修改注:添加和编辑用到了同一个组件,也就是此篇文章你能学会如何封装组件及引用组件;第二能学会async和await;第三父向子传递数据props和子向父传递数据$emit();1.添加数据(1)请求地址:/article/category利用post传递数据(2)编写api:注意add的url地址用的 反单引号,可以在url后面进行组合数据,这个知识点在编辑和删除你会看到详细的解释。(

2021-04-02 17:37:47 2057 8

原创 vue-element-admin 列表页以及分页(四)

一、mock生成数据看过我之前的文章的小伙伴都知道我有一个接口地址:https://mock.mengxuegu.com/mock/6063d952f2e38f3a2f6ba42f/xzec 没有意外的话,我做完基本就不更改了,你们可以拿着测试用,我用到接口的地方都会给大家说明。生成的数据图二、编写api在src/api里面进行编写接口,注意:import request 引用的utils/request.js;es6 新语法 ...xx 向xx对象中追加属性;current: c.

2021-04-01 17:55:34 3746 6

原创 vue-element-admin 快捷标签导航(三)

一、实现的效果:给vue-admin-template添加头部快捷导航标签二、需要操作的具体位置及代码修改1.先把vue-element-admin中的 TagsView组件复制过来并在index.js中暴露出来,后边引用2.在index.js文件中暴露3.修改TagsView中的index.vue代码中的routes,也就是获取路由;由于没有做权限验证,所以注释的return是检测当前用户权限路由改为获取全部路由。4.在layout/index.vue中引用刚才复制的T

2021-04-01 11:28:26 4779 22

原创 vue-element-admin 路由(二)

一、菜单展示文件:sidebar文件地址:/src/layout/components/Sidebar/SidebarItem.vue二、路由编写方式:应该很好理解,不多解释,不明白的留言咨询。三、头部面包屑导航dashboard更改:通过读layout中Navbar.vue文件发现,面包屑引用了breadcrumb组件,也就是elementui封装的组件,然后发现引用的位置为@/components/Breadcrumb,然后找到这个文件发现在levelList钱新增了个dashboard

2021-03-31 17:34:01 491

原创 vue-element-admin 初识(一)

一、下载安装1.安装不在赘述,去官网查就得了对了 装完 node之后 别忘了 npm init -y 因为绑定下面淘宝镜像的时候可能会出现composer.json不存在或者其他未知错误。2.最好npm绑定淘宝镜像,国内速度快:(1)npm install -g registry=https://registry.npm.taobao.org (2)npm config set registry https://registry.npm.taobao.org 两种方式都可以绑定,另外绑定完毕之后

2021-03-31 11:59:41 869 3

原创 curl 远程下载大文件

网上流传的几种方法,我只测试了其中的一个1.curl 流方式下载大文件 只测试了这一个// 写视频文件, 并重命名 $videoUrl = $data2[$s]['video_url']; if (!empty($videoUrl)) { #下载文件 set_time_limit(0); $ch = curl_init(); curl_setopt($ch, CURLOPT_URL,$videoUrl);

2021-03-16 10:45:02 1626

原创 GatewayWorker+Thinkphp5.1编写聊天系统记录(一)

初衷:本来想学习Workerman的流程,但是发现GatewayWorker已经把Workerman的一些东西:长连接、心跳、聊天等封装好了,所以先来学习一下GatewayWorker。注意:此篇教程只是做了点对点通信(也就是一对一聊天),但是里面有第三者可以跟前面两个进行通信,也就是说得等第二篇教程出来;记住每次修改GatewayWorker的events文件后都要重新启动服务。一、GatewayWorker下载地址及手册 1.下载地址:https://www.workerman.net..

2021-03-12 17:58:37 534

原创 1024

写这个博客没有别的意思 就是要个1024徽章 哈哈哈 一无是处的我啊

2020-10-24 20:00:23 2393

原创 php 利用pclzip压缩文件并下载

由于官方文档及地址bug了 所以推荐composer下载,文档地址为:https://github.com/vikyd/pclzip-doc-zh-cn下载:composer require pclzip/pclzip由于php7.0以上对时间戳做了int限制所以下载好了之后,去更改 pclzip.lib.php 大概在1788行。如果你是7以下版本则不用修改$v_memory_limit = trim($v_memory_limit); 改为 $v_memory_limit = i

2020-10-07 19:52:10 599

原创 ubuntu、deepin为所下载的软件创建桌面快捷方式

一、确定下载解压软件位置首先找到你下载软件以及解压到哪里的路径 比如:我下载的phpstorm 放在了 /opt/文件夹内二、编写 **.desktop 文件打开 /usr/share/applications 编写对应的 **.desktop方便大家复制:[Desktop Entry]Encoding=UTF-8Name=phpstorm IDEComme...

2020-04-24 10:16:10 452

原创 利用nativefier把网站生成绿色版linux、windows桌面客户端

一、首先得保证本机安装node.jslinux、windows、mac都可在官网进行下载安装,根据自己的操作系统进行下载官方下载地址:https://nodejs.org/en/download/win安装的话,如果不清楚没接触过就下一步下一步把所有需要勾选的都勾选就行了。安装完之后测试 linux打开终端 windows打开cmd统一测试安装成功与否需要执行两个命令:两个命令...

2020-04-23 11:09:43 1552

plugins.zip

支持多款身份证读卡器,附有htmldemo文件。支持IE内核,多浏览器。不支持chrome、火狐,只能是IE内核。需要的小伙伴尽情下载吧,我也是搞了好久才算勉强搞出来一个都能用的,不容易啊,心酸~~~

2020-04-28

微信分享标题简介图片设置

微信分享链接,链接有标题、简介、图片,包括微信分享朋友、朋友圈,QQ分享朋友、朋友圈。index.php文件是微信认证的文件,把微信公众号appid和screte填好修改微信服务器配置并启用,然后在需要转发的链接文件里面引入demo.php文件即可

2017-11-29

phpmailer邮件系统

邮件发送

2017-08-20

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

TA关注的人

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