- 博客(74)
- 收藏
- 关注
转载 Golang Goroutine的调度机制
Goroutine Scheduler OverviewGoroutine 是 Golang 世界里的 Lightweight Thread 。Golang 在语言层面支持多线程,代码可以通过 go 关键字来启动 Goroutine ,调用者不需要关心调用栈的大小,函数上下文等等信息就可以完成并发或者并行操作,加快了我们的开发速度。 分析 Goroutine 调度有利于了解和分析 go...
2018-07-11 14:36:21
6695
原创 Flutter 学习【一、环境安装】
先看一波大概的流程 1、 下载flutter 仓库 以下是flutter 中文社区 的安装方法git clone -b beta https://github.com/flutter/flutter.git2、 配置环境变量 这里不需要多说是个程序员都会 还需要在环境变量加入两个:PUB_HOSTED_URL=https://pub.flutter-io.cn //...
2018-07-06 19:15:23
391
原创 Golang 结合wkhtmltopdf 生成pdf文档
准备工作: 1、本地下载wkhtmltopdf https://wkhtmltopdf.org/downloads.html 2、按照步骤安装完成后配置 PATH 环境变量 3、开发文档 https://wkhtmltopdf.org/usage/wkhtmltopdf.txt代码如下:package htmltopdfimport ( "co...
2018-06-12 10:11:25
5503
1
原创 Golang 自定义日志
package mainimport ( "log" "os" "fmt" "io" "io/ioutil")var ( Warning *log.Logger Info *log.Logger Error *log.Logger)func init(){ defer func() { ...
2018-04-05 12:19:27
1589
原创 Golang AES CBC 加密
package mainimport ( "bytes" "crypto/aes" "crypto/cipher" "encoding/base64" "fmt")const ( key = "2018201820182018" iv = "1234567887654321")func main() { str := "我勒个去"
2018-03-06 10:22:25
5570
原创 beego 使用session 遇到错误 :invalid memory address or nil pointer dereference
今天在开发登入系统 再使用session 的过程中遇到了个比较奇葩的问题 再中间件(过滤器)中使用this.GetSeeion()方法时总会报错 :invalid memory address or nil pointer dereference然而再控制器其中使用this.this.GetSeeion()则不会出现任何问题。经过一晚上的排查,最终找到了方法sess, _ ...
2018-03-01 14:06:52
4298
原创 PHP 随机生成红包算法
支持设置红包最小值//获取生成红包函数function getRedPackage($money, $num, $min){ //将最大金额 设为红包总数 $max = $money; $data = array(); //最小金额*数量 不能大于 总金额 if ($min * $num > $money) { return $dat
2018-02-08 15:38:06
575
原创 PHP 生成圆角图片
将中间的小程序码处理为圆角 public function radius_img($imgpath,$outpath) { $radius = 200; $ext = pathinfo($imgpath); $src_img = null; switch ($ext['extension']) { case
2018-02-08 11:35:48
2735
2
原创 PHP多图合并加水印
来凤姐般的图片·······················哈哈我就直接放自己的业务代码了,基本复制张贴就可以用了public function createImg($link,array $data){ //生成二维码 ob_clean(); QRcode::png($link, '../temp/qrcode.jpg',...
2018-02-08 10:10:42
520
原创 Thinkphp 请求返回 500
一大早碰到一个比较奇怪的问题,任何请求都返回header status都返回500 经过检查发现代码逻辑没有问题,而且返回的json数据也正常,后端业务页处理成功了,经过百度大法 发现了了问题,1、把debug模式关闭 但是这样好像并没有用,至少对我来说没有用,只是有一部接口没有问题,其他的还是老样子解决问题的思路: 看日志!看日志!看日志!(重要的事说三遍) 大概
2018-02-07 10:01:16
6323
1
原创 守护进程shell脚本
主要用来运行go程序,稍微改一下 也可以用在其他地方#!/bin/bash# @Author: haodaquan# @Date: 2017-06-29 17:44:45# @Last Modified by: haodaquan# @Last Modified time: 2017-06-29 17:44:45case $1 in start)
2018-01-30 21:10:20
234
原创 Golang进阶练习二:短链接服务
一个简单的短链接服务,其实本质上是一个中间件 在浏览器输入127.0.0.1:8080/baidu 就会跳转到百度涉及知识点 1. handler (重点) 2. mux 3. json 解析 推荐两个链接https://www.jianshu.com/p/be3d9cdc680bhttps://www.jianshu.com/p/16210100d43dpackage ma
2018-01-25 14:29:35
726
原创 Golang进阶练习一:答题游戏
一个简单的答题游戏完整项目 需要一个csv文件 涉及知识点命令解析selecttimerpackage mainimport ( "flag" "fmt" "os" "encoding/csv" "strings" "time" "math/rand")func main(){ csvFile
2018-01-24 12:29:08
1111
1
原创 Golang 交叉编译常用命令记录
Golang 支持交叉编译,在一个平台上生成另一个平台的可执行程序,最近使用了一下,非常好用,这里备忘一下。Mac 下编译 Linux 和 Windows 64位可执行程序CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build main.go CGO_ENABLED=0 GOOS=windows GOARCH=amd64 go build main.goLin
2018-01-22 09:27:35
2126
原创 Golang 将Excel导入Mysql
显然用Go处理表格不是很明智的事,用Python才是正确的选择 但是为了巩固一下知识,还是多辛苦一下,用Go 来处理,一天下来学到很多,因为坑多 最大的收获是 1、链式操作 2、反射 3、各种类型转换 使用的包有github.com/jinzhu/gormgithub.com/360EntSecGroup-Skylar/excelize这里如果不用orm 模型 能省很多代码,
2018-01-21 17:48:16
4728
原创 Golang json转换时间格式问题
今天在开发中发现在 将时间转换成json 时 会默认把时间转换为RFC3339 格式2018-01-14T21:45:54+08:00先来看看time包中对格式的常量定义const ( ANSIC = "Mon Jan _2 15:04:05 2006" UnixDate = "Mon Jan _2 15:04:05 MST 2006" RubyDate
2018-01-14 23:18:16
4886
原创 解决 axios post 后端无法接受数据
在后端 允许跨域的情况下,axios post 将数据传到后端,但是后端无法接受,始终为空请求能正常到达后端,那么肯定传数据的地方的问题了 所以这里headers设置为 headers:{"Content-Type":'application/x-www-form-urlencoded;charset=UTF-8'}另外transformRequest函数 transformRequest:
2018-01-14 14:47:36
4551
原创 PHP 依赖注入
当一些简单的开发技巧有一个高大山的名称时 总会给人一种难以接近的感觉,第一次接触依赖注入的时候我也挺蒙蔽的。 当我接触了使用java开发了一段时间后,在回过头来看依赖注入,怎么那么眼熟············只能用醍醐灌顶来形容使用依赖注入的目地是什么? 答:解耦!解耦!解耦!(重要的事情说三遍)我只讲一个超级简单的例子//上学接口interface GoSchool{ publ
2018-01-11 14:05:38
229
原创 PDO导入CSV错误:LOAD DATA LOCAL INFILE forbidden in
很简单只要在初始化的时候加上array(PDO::MYSQL_ATTR_LOCAL_INFILE => true)如下:$this->db = new PDO("mysql:host=127.0.0.1;post=3306;dbname=taobao","root","123456",array(PDO::MYSQL_ATTR_LOCAL_INFILE => true));
2018-01-05 15:37:40
2244
原创 并发编程(笔记)
并发编程计算机再处理并发程序时,也并不是同一时间执行,而是通过时间片来切换上下文的方式来执行 多个逻辑简单的一句话来概括就是 逻辑控制流再时间上重叠,那么他们就是并发 举几个简单的例子访问慢速I/O设备:当应用正再等待一个慢速I/O设备时,内核会运行其他进程,使CPU繁忙 人机交互:例如你在浏览文档使,希望改变窗口的大小,每次操作都是一并发逻辑服务多个客户端:多个客户端访问服务器时,每个客
2018-01-01 23:04:02
273
原创 Mysql 使用命令导入Excel
用工具导入excel 又慢 又弄容易出问题于是上网找到用命令的办法导入特别快········1、先要把EXCEL的标题行 和无用列处理掉、 2、数据库的主键字段也可以先删掉。 3、把excel 转成csv格式的文件 使用一下命令 注意:文件的编码 必须和表的编码一样,字段长度类型等不能有错load data local infile '[路径]' into table [表名] fiel
2017-12-27 13:33:23
7967
1
原创 TP5 提示 A non well formed numeric value encountered
class SysConf extends Model{ protected $pk = 'id'; protected $table = 'sys_conf'; protected $auto = ['create_time']; //返回原有数据 不自动进行时间转换 public function getCreateTimeAttr($time) {
2017-12-17 15:52:14
11547
4
原创 移动端rem 解决方案
JS代码//orientationchange方向改变事件(function (doc, win) { var docEl = doc.documentElement,//根元素html //判断窗口有没有orientationchange这个方法,有就赋值给一个变量,没有就返回resize方法。 resizeEvt = 'orientationchange
2017-12-15 15:43:42
249
原创 PHP微信上传素材
data format error hint 这段时间一直再调微信得各种接口,没想象中那么坑,主要是太久没更新了。真正坑的是网上那些全都一样得博客,简直害人不浅今天对接微信素材上传就碰到了一个坑,整整搞了一个晚上,马上就要睡着了,想起看看php手册 果然解决了!微信得官方文档接口是这样得http请求方式:POST/FORM,使用httpshttps://api.weix
2017-12-09 14:09:35
2429
3
原创 Golang实战【网页转码】
今天遇到帮公司爬小说遇到了点小问题。。。。。。。。。。。。。 加上今天公司网不好·····比较蛋疼 爬下来的网页是乱码一般有两种情况 最常见的就是编码问题如何解决呢?很简单·········· 由于被墙的原因找的是github 上的forkhttps://github.com/Tang-RoseChild/mahonia安装过程不在赘述了dec := mahonia.NewDecoder
2017-11-29 14:07:12
622
原创 深入了解PHP【工作原理】
叫我盗图小能手从图中可以看出PHP从下到上四层体系 1、Zend引擎 Zend可以比作PHP的发动机,它是PHP的内核部分,他将PHP翻译成C语言,并且市实现了基本的数据结构(hashtable,oo)内存分配及管理,提供了相应的api方法给外部调用 2、Extensions Extensions说简单点就是PHP的各种基础服务了,比如我们常用过的内置函数,各种标准库。
2017-11-26 17:59:45
253
原创 深入了解PHP【生命周期】
<?php echo "hello world!";这么一段简单的代码背后,发生了什么? 今天先从PHP 的生命周期开始聊吧?先了解一下过程:随着apache 的启动,PHP执行相关的进程PHP是通过mod_php5.so模块来和apache相关联的也就是sapiPHP总共三个模块:内核、zend引擎、扩展层PHP内核主要是处理请求、文件流、错误处理等等Zend引擎是负责将源文
2017-11-26 16:53:52
1762
原创 Golang实战【IP池-自动切换IP爬虫】
继上次爬boss直聘数据IP被封,虽然后面发现boss直聘 只要稍微没个请求停一秒钟就可以一直爬下去,但是任然心有不甘。欺负我ip少???于是这两天抽空写了个IP池加上可以自动切换IP 千千万万个IP 让你封···········哈哈我这边用的是西刺的代理 还是比较稳的········拿着西刺的免费IP 爬着西刺的免费IP [:P]实现效果如下 ···············
2017-11-22 21:44:29
10235
5
原创 Linux 编译安装PHP7
以前都是偷懒直接yum安装,今天勤奋那么一点点使用编译安装的方式老生常谈的问题了···········但是为了以后方便找到 还是记录一下由于拿了一台全新的服务器啥都没有 所以先装gcc1、安装GCCyum install gcc gcc-c++ autoconf automake2、安装PHP相关的扩展yum -y install libjpeg libjpeg-devel libpng libp
2017-11-22 00:20:35
597
原创 PHP多线程【处理文件】
后台的测试demo,实现了多线程拷贝文件,多线程上传文件至七牛 代码可能比较乱···············只是自己测试用的,特地留了一下,毕竟用Pthreads的实在太少,你要是找个资料真心不容易,用Pthreads有个坑就是 千万别和框架混着用,特别容易出问题,个人建议还是使用原生的PHP来实现最好,如果能用其他语言来实现那是最好的,PHP的多线程这一块还是比较弱的·········
2017-11-20 23:39:19
937
原创 Golang实战【web服务器】
使用Golang实现一个简单的web,并且得到表单数据 go 语言真的是太方便了,部署超级简单啊,爽歪歪啊哈哈package mainimport ( "net/http" "log" "fmt" "html/template")func main(){ http.HandleFunc("/",index) http.HandleFunc("/l
2017-11-19 14:19:55
1557
原创 Golang实战【简易爬虫】
周末无聊,之前看完了GO 的教程不知到写点什么,思来想去,爬虫不是很有趣吗? 实现效果如下(因为没什么有用的数据 就懒得存数据库了 嘻嘻 你们感兴趣的同学可以自己实现)之前打算爬boss直聘的数据,没想到才一次就挂了,IP被封了(下次出教程) 所以爬个简单点 https://studygolang.com/topics 看到网上好多教程都是爬这个呢哈哈其实很简单的,主要用的库就是goq
2017-11-18 16:43:41
7070
原创 PHP 平均拆分数组算法
public function chunk($list, $num) { $temp = []; //判断数组 if (!is_array($list)) { return false; } //判断数量是否小于列数 小于 直接返回第一列 if (count($list
2017-11-15 11:46:33
3375
原创 PHP 安装 Pthreads (解决 class Thread not found )
下载链接: http://windows.php.net/downloads/pecl/releases/pthreads/ 记住选择正确的版本可以查看自己的系统版本,是否支持线程安全,以及vc编译版本 以下是官方的安装教程 Move php_pthreads.dll to the 'bin\php\ext\' directory. Move pthreadVC2.dll
2017-11-15 09:34:15
5365
原创 laravel 开发RestFul接口【二、集成三方扩展 - jwt】
上一篇讲解了如何集成dingo api 在web开发中通常是使用session 来保持会话,在app接口开发中则是用携带token来保持会话!这里涉及到一个常见的面试题,如果客户端禁掉cookie,session 是否有用? 答案:肯定的! 只要你有办法带上自己sessionid 去服务端验证都是可以达到同样多的效果 在开发api也是同样只不过稍微麻烦一点需要自己来实现这么一
2017-11-13 12:47:07
849
原创 laravel 开发RestFul接口【一、集成三方扩展 - dingo/api】
1、在laravel的根目录的composer.json 文件中引入 "dingo/api": "1.0.*@dev" 2、更新 composer执行composer update 3.注册服务提供者 在config/app.php注册到 providers 数组: Dingo\Api\Provider\LaravelServiceProvider::class,4.生成dingo/api
2017-11-12 16:15:05
6679
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人