自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

咖啡如同生活的专栏

从不羡慕别人的优秀,因为相信自己也可以优秀。 闲下来时看看书,书本里的故事,总有你学到的人生。

  • 博客(161)
  • 资源 (18)
  • 收藏
  • 关注

原创 go: cannot find main module; see ‘go help modules‘

进到项目根目录下面运行:go mod init 就会产生go.mod文件,就正常了。

2020-09-11 11:45:28 487

原创 go make和new的区别

make 的作用是初始化内置的数据结构,也就是我们在前面提到的切片、哈希表和 Channelnew 的作用是根据传入的类型分配一片内存空间并返回指向这片内存空间的指针make的用法slice := make([]int,0,20);hash := make(map[int]string,10)ch := make(chan int,5)slice 是一个包含 data、cap 和 len 的结构体hash 是一个指向 runtime.hmap 结构体的指针;ch 是一个指向 ...

2020-09-09 23:20:22 33

原创 Go切片详细讲解长度和容量

//切片的声明方式 //1.nil方式 var slice []int; //2.make方式 var slice_01 = make([]int,3);相当于长度和容量都是3; 或者指定长度和容量var slice_01 = make([]int,3,5); //3. var slice_02 = []int{1,2,3}; //4.m<=n var slice_03 = [m:n]; 切片的长度就是len比较简单也是我们明面能够看得到的,容量和长度有些不...

2020-09-03 21:42:38 332

原创 剑指 Offer 15. 二进制中1的个数

//计算二进制中的1个个数 ,利用php的位运算符 按位与(&) 和 >>(按位右移)按位与 对位是1的就是110011011----1001按位右移(9>>2 = 2)1001右移20010function hammingWeight($number){ $count = 0; while ($number){ //判断对位是否是1,如果是1说明存在1 $count = $count + ($.

2020-08-17 22:03:16 27

原创 不使用中间变量交换2个变量的值

首先最简单的是加减乘除,但是这些运算会出现精度问题。。如果使用整数测试,肯定没问题,但是极端情况就会出现精度问题。具体想看的鸟哥博客传送门:https://www.laruence.com/2013/03/26/2884.html不出现上面的问题就使用位运算 ^ $a = 9;$b = 5;$b = $a^$b;$a = $b^$a;$b = $a^$b;var_dump($a);var_dump($b);首先搞清楚^ 是代表什么意思,就是按对应的二进位相异或,当两对应的二进位.

2020-08-16 09:43:23 23

原创 旋转数组 解决字符串翻转 www.baidu.com ==> com.baidu.www 字节面试一道算法

<?php//www.baidu.com ==>com.baidu.wwwfunction strreverse($str){ if(empty($str)){ return ''; } $str_len = strlen($str); $arr = []; for ($i = 0;$i<$str_len;$i++){ $arr[] = $str[$i]; } $k = 3; //.

2020-08-16 01:11:26 45

原创 golang 运行go的gin框架

首先安装go环境,官网下载,可以下载最新版,也可以选择稳定版本golang1.14安装完毕之后安装golang2020.1.4百度网盘地址链接:https://pan.baidu.com/s/1Wo_fSQEDVxp5KimNfKfnBg提取码:dxid创建一个项目文件夹D:\goworkspace然后下面分别创建bin、pkg、src三个文件夹其中,bin存放编译后的可执行文件;pkg存放编译后的包文件;src存放项目源文件。一般,bin和pkg目录可以不创建,go命令会自动创建(..

2020-07-18 23:10:51 224

原创 docker 里面安装mysql

# docker 中下载 mysqldocker pull mysql:8.0.15#启动docker run --name mysql8 -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 -d mysql:8.0.15#进入容器docker exec -it mysql8 /bin/bash#登录mysqlmysql -u root -pALTER USER 'root'@'localhost' IDENTIFIED BY '123456';C.

2020-07-15 23:34:46 33

原创 Golang import 带有 _ 和不带有什么区别?

带下划线的,是虽然导入,但是你不会在这个包里面用对应的方法。只是让引用包执行包内对应的init() 方法。不带下划线的,就是正常导入,你会直接引用里面的方法的。补充一点,带_的第三方库可以在不调用库内方法的情况下也不报错。...

2020-07-15 23:31:52 116

原创 docker 安装mysql

# docker 中下载 mysqldocker pull mysql:8.0.15#启动docker run --name mysql8 -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 -d mysql:8.0.15#进入容器docker exec -it mysql8 /bin/bash#登录mysqlmysql -u root -pALTER USER 'root'@'localhost' IDENTIFIED BY '123456';C.

2020-07-14 23:00:07 34

原创 Error response from daemon: Get https://index.docker.io/v1/search?q=mysql&n=25: dial tcp: lookup ind

使用docker报错 :Error response from daemon: Get https://index.docker.io/v1/search?q=mysql&n=25: dial tcp: lookup index.docker.io: no such hostdig @114.114.114.114 index.docker.ious-east-1-elbio-rm5bon1qaeo4-623296237.us-east-1.elb.amazonaws.com. ..

2020-07-04 21:12:53 375

原创 docker 里面安装php扩展

进入docker 容器docker exec -it myphp7(容器名称) /bin/bashapt-get updateapt-get install yum -y#安装peclwget http://pear.php.net/go-pear.phar -O go-pear.phpphp go-pear.php##一直回车默认安装#使用pecl命令安装pecl install redispecl install swoole安装完毕进入/usr/local/e.

2020-07-02 23:28:06 130

原创 php版本小于 5.5的 支付宝调整

php版本小于 5.5的 支付宝调整AopClient 搜索OPENSSL_ALGO_SHA256 替换为 sha256WithRSAEncryptionAlipayTradePagePayContentBuilder 中$this->bizContent = json_encode($this->bizContentarr, JSON_UNESCAPED_UNICODE)替换一下:this->bizContent = $this->my_json_encode.

2020-07-02 10:28:26 48

原创 docker 安装php,nginx搭建php环境

docker pull nginx:1.17.2docker run -it -d --name mynginx -p 8080:80 -v /home/nginx/conf/nginx.conf:/etc/nginx/nginx.conf(这个镜像内的路径的nginx.conf不能写错了) -v /home/nginx/www:/home/nginx/www(只需要映射存在的路径即可,起码在本地操作方便) --privileged --net=host(网络映射模式) nginx:1.17.2把n

2020-06-17 21:07:32 68

原创 docker 容器里面无法找到vim命令

执行命令:apt-get update然后执行:apt-get install vim就可以正常使用vim 编辑文件了。

2020-06-07 10:28:57 78

原创 docker的安装以及docker中安装nginx以及文件配置映射

对于Docker,应该不需要进行详细的介绍了。它是最火热的开源项目之一,通过在容器中增加一个抽象层(a layer of abstraction),就可以将应用程序部署到容器中。在看似稳定而成熟的场景下,使用Docker的好处越来越多。初步试探docker,安装过程开始:顺序执行命令:1.yum install-yyum-utils device-mapper-persistent-data lvm22.yum-config-manager --add-repo https://d...

2020-06-06 22:38:59 404

原创 swoole协程

为什么下面的代码不是顺序执行的呢? 实际执行过程:运行此段代码, 系统启动一个新进程遇到 go(), 当前进程中生成一个协程协程中遇到 IO阻塞 (这里是 Co::sleep() 模拟出的 IO等待), 协程让出控制, 进入协程调度队列进程继续向下执行, 输出 主作业执行下一个协程, 输出 作业02之前的协程准备就绪, 继续执行, 输出 作业01 go(function...

2019-11-04 23:07:15 313

原创 swoole协程(Coroutine\Channel)

swoole使用协程顺序执行任务,就需要依赖Channel了。Channel特点与容量有关如果channel未满,push不阻塞,如果已满,push让出控制流;如果channel为空,pop让出控制流。具体例子:<?phpuse \Swoole\Coroutine\Channel;$chan = new Channel(50);function provider...

2019-10-31 20:37:24 591

原创 php 使用swoole多进程执行任务,避免mysql has gone away

swoole多进程处理数据速度很快,但是会遇到mysql has gone away的情况需要小心:Mysql.php:<?phpclass Mysql{ private $host; private $user; private $password; private $charset; private $database;...

2019-10-25 21:41:13 466

原创 PHP代码执行原理

//PHP代码执行过程//1.将PHP代码转换成有标识的Token,可以使用token_get_all函数来进行查看//2.语法分析将Token和符合规则的代码生成抽象语法树//3.根据抽象语法树生成opcode,当虚拟机调用opcode的时候会找到背后的处理函数执行真正的处理,例如echo 对应的opcode是ZEND_ECHOvar_dump(token_get_a...

2019-09-22 00:45:22 107

原创 PHP源码阅读工具介绍(Source Insight)

Source Insight工具下载很简单,官网下载就可以,收费的,直接百度搜索破解方法就可以搞定。首先第一步:点击上方的Project,New Project,点击OK,设置好源码路径,点击确定就好了,记得点击下那个P(Project Window);已经能方便的阅读源码了。...

2019-09-21 22:04:36 369

原创 聊聊PHP数组底层是如何实现的

最近一直整理资料,搞的自己挺烦躁的,静下心,写一篇博客压压惊。今天就聊聊PHP最核心的数组array;话不多说,直接打开源码,看看array到底是如何实现的?PHP 数组的底层实现是散列表(也叫 hashTable ),散列表是根据键(Key)直接访问内存存储位置的数据结构,它的key - value 之间存在一个映射函数,可以根据 key 通过映射函数得到的散列值直接索引到对应的 val...

2019-09-17 22:10:53 250

原创 YII2自定义错误输出

有些时候我们不需要yii2框架输出一大堆的html错误定位,只需要简单的核心错误描述即可,这个时候需要继承yii2框架的ErrorHandler类,重写renderException方法即可。<?phpnamespace app\components;use app\Utils\ResponseUtil;use yii\helpers\Json;class ErrorHa...

2019-09-16 21:36:50 496

原创 PHP 使用ImageMagic正片叠底

<?php/** * -compose 后面的参数为混合模式 * 混合模式中英文对照1. 正常(Normal)模式2. 溶解(Dissolve)模式3. 变暗(Darken)模式4. 正片叠底(Multiply)模式5. 颜色加深(ColorBurn)模式6. 线性加深(LinearBurn)模式7. 变亮(Lighten)模式8. 滤色(Screen)模式9. 颜...

2019-06-29 12:10:03 370

原创 linux centos yum安装遇到 Geladene Plugins: fastestmirror

centos使用yum安装的时候会去读取镜像,但是如果墙比较高的时候就无法获取的镜像了,就会一直提示这个错误,这个时候,只需要关闭掉fastestmirror,fastestmirror是yum安装选择镜像地址的助手,关闭不会影响我们的正常安装流程,所以墙高就关闭掉吧。vi/etc/yum/pluginconf.d/fastestmirror.confenabled=1改成0保存,搞定...

2019-06-22 23:31:30 462

原创 go语言的协程和信道高效率,并发执行代码

Go 协程是与其他函数或方法一起并发运行的函数或方法。Go 协程可以看作是轻量级线程。与线程相比,创建一个 Go 协程的成本很小。因此在 Go 应用中,常常会看到有数以千计的 Go 协程并发地运行。信道可以想像成 Go 协程之间通信的管道。如同管道中的水会从一端流到另一端,通过使用信道,数据也可以从一端发送,在另一端接收。通过信道来实现 Go 协程间的通信。代码实现如下:pack...

2019-05-12 12:13:49 260

原创 记录一次windows平台python解决zipfile解压乱码的问题

工作中使用到了解压文件,提取压缩文件,很简单python的zipfile是一个很成熟的库,没错,直接上手使用了,刚开始运行还是正常的,中间突然大批量的文件无法正常提取文件了,经过多方测试,发现是中文命名乱码导致无法正常解压,很多人说直接decode这些知识点,都无法正常解决问题,最后彻底解决问题的方法是直接执行压缩包的命令进行操作,记录代码如下:#!/usr/bin/python# -*-...

2019-05-11 11:06:37 387

原创 php实现接口限流

php接口限流主要是防止高并发造成服务器扛不住的情况下,需要限制数据的获取,简单实现就是结合redis实现。<?php/** * api 接口限流 * */class api{ public function get_client_ip($type = 0) { $type = $type ? 1 : 0; sta...

2019-04-22 22:21:22 2936

原创 php socket实现简单的http服务器

&lt;?phpfunction onMessage($connection){ //拼装返回的html内容 $content = '&lt;html&gt;&lt;title&gt;hello,world&lt;/title&gt;&lt;body&gt;hello,world,http&lt;/body&gt;&lt;/html&gt;'; //拼装头信息 ...

2019-03-15 22:51:40 684

原创 swoole多进程任务

swoole发展很快版本迭代也很快,是弥补了PHP的缺点,提升了PHP的性能,唯一的不足就是文档太差了点,很多想入门的人在官方文档并不能够顺利的进行学习。我也是开始研究swoole的一些知识,下面是总结的swoole多进程的一些知识点。swoole多进程例子1:&lt;?php//单进程发送10封邮件/*$start_time = microtime(true);for ($k ...

2019-03-12 22:34:51 706

原创 PHP设置多个Access-Control-Allow-Origin

<?php $http_origin = 'xx.588ku.com'; //方法一 if (preg_match('/588ku.com|shop.588ku.com|xx.588ku.com$/i', $http_origin)) { header('Access-Control-Allow-Origin:...

2018-10-12 17:49:14 4306

原创 go自定义包,并且使用

记录一次比较深刻的go的包引入问题,这个go语法挺有意思,无论是变量类型指定,还是func的写法,都让我觉得有意思,包的引入没想到有点变态;我使用的是 JetBrains GoLang工具进行的开发,额这个包引入,首先你必须在你所创建的工程下面保持三个文件夹:src,bin,pkg;然后在src下面创建要自定义的包的文件夹我按照官方的创建的:完毕之后创建个测试文件packag...

2018-10-08 22:42:20 2325

原创 electron打包完毕,应用程序空白

electron打包完成之后,运行程序,一片空白,醉了,各种折腾,解决方式:找到webpack.renderer.config.js,下面直接截图:就是改成上面的方式:nodeModules:path.resolve(__dirname, '../node_modules')搞定~...

2018-06-15 18:30:51 8317 5

原创 electron打包出现 Error: Unresolved node modules: vue

electron打包的时候遇到各种奇怪的问题,遇到了vue模块不能解析,醉了,各种折腾发现了解决方式,就是本地使用了淘宝镜像的原因:解决方式把node_modules 文件夹删除掉,使用npm install安装所有的模块或者使用 yarn安装模块,就可以避免这个错误,真的蛋疼。...

2018-06-15 18:28:01 8868 2

原创 node 远程下载文件

直接上代码:let fs = require('fs'); let http = require("https"); //注意自己的是http的话,就选择 require('http') let url = "https://bpic.588ku.com/art_origin_min_pic/18/05/28/1518e5055708bad03daec3bceb3868af...

2018-06-15 09:43:42 2059

原创 electron 读取注册表,以调用Photoshop为例

首先需要安装  "regedit":"3.0.0" 添加在 package.json的dependencies中,然后npm install第二步,首先理解windows注册表的4个分类:就会出现下面的目录列表:我们所寻找的软件安装路径会在HKEY_LOCAL_MACHINE下面简称:HKLM,下面是代码let regedit = require('regedit'); let f...

2018-06-12 21:20:01 3535 1

原创 electron 主进程向渲染进程发送事件,渲染进程监听事件

有时候需要主进程向渲染进程发送消息,代码如下:主进程执行:mainWindow.webContents.send('main-process-messages', 'nihao');渲染进程监听:&lt;script&gt;           let ipcRenderer = require('electron').ipcRenderer;      ipcRenderer.on('main-...

2018-06-05 22:50:00 9219

原创 electron ipc 通讯

ipc通讯主要是 界面层和gui后台进程的通讯;从渲染器进程到主进程的异步通信后台主进程:import { app, BrowserWindow,ipcMain } from 'electron'直接在app的监听时间后面追加就行了app.on('activate', () =&gt; { if (mainWindow === null) { createWindow() ...

2018-06-05 22:03:22 785

原创 vue 全局事件(eventBus)设置

使用vue的时候,我们有时候需要不同的组件之间进行数据的传递,这个时候就需要使用emit和on进行数据传递,当然子父组件还有props数据传递,今天主要讲解emit和on全局事件的数据传递,代码如下:import Vue from 'vue'import axios from 'axios'import App from './App'import router from './route...

2018-06-03 14:09:23 10487

原创 vue 自定义components

使用vue编写界面的时候,我们需要把一个界面里面的不同功能进行拆分,拆分到其他的文件里面,这样的逻辑更加清晰,不多说了,直接上代码,看下如何进行拆分:&lt;template&gt; &lt;div &gt; &lt;div id="header"&gt; &lt;h1&gt;头部&lt;/h1&gt; &lt;/div&gt; &lt;di

2018-06-03 13:59:26 4793

app自动化测试代码包

app自动化测试代码包,大家自行下载吧,为什么要描述100个字,好变态。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。

2017-09-02

java 高级报表导出Excel

java 做的高级报表导出Excel

2016-03-15

Quartz定时器web应用

quartz的web整合简单小例子,比较适合做一些方便的工作,定时器可以轻松搞定。

2014-05-22

ssh整合 适合初学者

非常适合初学的ssh整合,本人的一点心得。

2013-10-14

struts2spring3hibernate4整合开发实例

整合最新的SSH技术例题,供大家参考,并且带有完整代码,共大家分享

2012-11-20

java桌面程序swing demo实例

java桌面程序swing demo实例,java桌面程序swing demo实例

2018-05-20

大规模分布式存储系统 杨传辉

大规模分布式存储系统的讲解,数据库分布式系统的讲解,项目分布式讲解

2018-04-08

app测试代码包

app测试代码包app测试代码包app测试代码包app测试代码包app测试代码包app测试代码包app测试代码包app测试代码包app测试代码包

2017-09-02

剑指offer 名企面试官精讲典型编程题

剑指offer 名企面试官精讲典型编程题

2017-08-23

一些工具文件

PHP写扩展的工具文件

2016-05-24

plupload-2.1.8.zip

plupload上传插件带断点续传,分片上传等

2016-03-01

openssl for windows

openssl for windows 生成RSA密匙的工具

2016-02-25

mybatis-generator-core-1.3.2修复版

mybatis通过数据表自动生成相应的映射文件,实体类,dao层的接口文件。

2016-02-22

spring4+springMVC+Mybatis3.2整合源码

spring4+springMVC+Mybatis3.2详细的配置文件说明,最新的jar包。

2016-02-15

mybatis-generator-core-1.3.2

mybatis通过数据表自动生成相应的映射文件,实体类,dao层的接口文件。

2016-02-15

android的Slidingmenu和Actionbarsherlock的基本使用

代码完成的Slidingmenu和Actionbarsherlock的基本操作和使用,适合初学者。

2015-11-23

spring+struts+hibernate整合

非常适合初学者的框架整合,详细的解释了整合过程中需要怎么去做,以及注意的细节。

2015-04-30

jquery图片裁剪压缩

非常方便实用的图片裁剪工具,包括头像的裁剪和压缩,支持php版本的

2015-04-30

空空如也

空空如也

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

TA关注的人 TA的粉丝

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