自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

zsl10的专栏

code life

  • 博客(103)
  • 资源 (3)
  • 收藏
  • 关注

原创 使用scrapy-deltafetch实现爬虫增量去重

scrapy-deltafetch简介scrapy-deltafetch通过Berkeley DB来记录爬虫每次爬取收集的request和item,当重复执行爬虫时只爬取新的item,实现增量去重,提高爬虫爬取性能。Berkeley DB简介Berkeley DB是一个嵌入式数据库,为应用程序提供可伸缩的、高性能的、有事务保护功能的数据管理服务。主要特点:嵌入式:直接链接到应用程序中,与应用程序运

2016-10-24 16:42:11 13420 4

原创 写文件

代码package mainimport ( "io" "log" "os")func main() { err := WriteToFile("result.txt", "Hello World\n") if err != nil { log.Fatal(err) }}func WriteToFile(filename string, data string) ...

2019-12-09 18:10:08 314

原创 go命令行传参

代码package mainimport ( "flag" "fmt")// Param 1: flag名称// Param 2: 默认值// Param 3: 提示信息// 返回值是指针类型var toRunTaskA = flag.Bool("taska", false, "Whether to run task A or taskB")func main() {...

2019-12-09 18:03:25 553

原创 go io.ReadCloser类型转换为string

package mainimport ( "bytes" "fmt" "net/http")func main() { response, _ := http.Get("https://www.baidu.com/") // response.Body类型为io.ReadCloser //fmt.Printf(response.Body) buf := new(bytes...

2019-12-05 16:01:39 5543

原创 go获取post请求参数

package mainimport ( "fmt" "io/ioutil" "log" "net/http")func main() { http.HandleFunc("/", ExampleHandler) if err := http.ListenAndServe(":8080", nil); err != nil { log.Fatal(err) }}fu...

2019-12-05 15:20:10 5953

原创 go获取get请求参数

代码package mainimport ( "encoding/json" "fmt" "log" "net/http")func main() { http.HandleFunc("/", handler) http.ListenAndServe(":8080", nil)}func handler(w http.ResponseWriter, r *http.R...

2019-12-05 11:44:06 5335

原创 go过滤非数字字母字符

package mainimport ( "fmt" "log" "regexp")func main() { example := "#test!$!" reg, err := regexp.Compile("[^a-zA-Z0-9]+") if err != nil { log.Fatal(err) } processedString := reg.Replac...

2019-12-05 11:07:03 3773

原创 go sleep

package mainimport ( "fmt" "time")func main() { fmt.Printf("Current Unix Time: %v\n", time.Now().Unix()) time.Sleep(2 * time.Second) fmt.Printf("Current Unix Time: %v\n", time.Now().Unix()...

2019-12-05 11:01:52 412

原创 go操作环境变量

package mainimport ( "fmt" "os")func main() { fmt.Println(os.Getenv("HOME")) os.Setenv("Site", "test") fmt.Println(os.Getenv("Site")) fmt.Println(os.Getenv("missing"))}

2019-12-05 10:34:47 195

原创 工厂方法模式

定义工厂父类负责定义创建产品对象的公共接口,工厂子类则负责生成具体的产品对象,将产品类的实例化操作延迟到工厂子类中完成。角色抽象产品(Product)具体产品(ConcreteProduct)抽象工厂(Factory)具体工厂(ConcreteFactory)工厂方法模式 VS 简单工厂模式工厂方法模式是简单工厂模式的进一步抽象和推广,工厂方法模式保持了简单工厂模式的优点,...

2018-12-30 15:47:17 146

原创 简单工厂模式

定义简单工厂模式专门定义一个类来负责创建其他类的实例,可以根据参数的不同返回不同类的实例,被创建的实例通常都具有共同的父类。角色工厂角色(Factory) :负责实现创建所有实例的内部逻辑抽象产品角色(Product):描述所有产品实例所共有的公共接口具体产品角色(ConcreteProduct):具体产品角色是创建目标,所有创建的对象都充当这个角色的某个具体类的实例。优点让...

2018-12-30 15:27:45 137

原创 设计模式分类

分类GoF对设计模式分为3大类:创建型模式结构型模式行为型模式创建型模式简单工厂模式(Simple Factory)工厂方法模式(Factory Method)抽象工厂模式(Abstract Factory)单例模式(Singleton)原型模式(Prototype)建造者模式(Builder)结构型模式适配器模式(Adapter)桥接模式(Bridge)组...

2018-12-29 17:26:45 193

原创 设计模式六大原则

一、单一职责(Single Responsibility Principle)理解单一职责适用于接口、类、方法,只负责一项职责优点降低类的复杂度,一个类只负责一项职责,逻辑简单提高类的可读性可维护性提高:可读性提高,那当然更容易维护了降低变更引起的风险:如果接口的单一职责做得好,一个接口修改只对相应的实现类有影响,对其他的接口无影响,这对系统的扩展性、维护性都有非常大的帮助。...

2018-12-28 18:16:00 335

原创 设计模式简介

一、设计模式是什么?设计模式是一种驾驭抽象概念的技术:针对实际项目需求进行抽象,细分业务颗粒度,业务模块之间尽可能的解耦设计模式是针对某些具体场景提供了一些效率较高的以复杂度换灵活性的手段:对于可能存在变动的业务,考虑增加复杂度来换取灵活性描述了在我们周围不断重复发生的问题, 以及该问题的解决方案的核心。设计模式是一套被反复使用的、多数人知晓的、代码设计经验的总结。...

2018-12-28 16:39:51 135

原创 debuginfo-install SyntaxError: invalid syntax

问题描述使用debuginfo-install出现如下问题: File "/usr/bin/debuginfo-install", line 68 print self.optparser.format_help() ^SyntaxError: invalid syntax解决主要原因是升级python导致的。解决如下:vi /usr/bin/de...

2018-10-10 10:44:02 615

原创 macos masm5 Warning level (0-2) expected after W option

解决将汇编文件放在masm挂载的目录下即可:

2018-08-09 11:51:20 325

原创 macos 汇编 debug环境搭建

安装masm5下载masm5解压家目录新建masm5目录,解压在该目录下安装Dosbox下载Dosbox 运行DOSBox.dmg: 挂载debug

2018-08-06 11:58:48 1913

原创 yii2自定义组件支持PHPStorm代码提示和跳转

具体实现项目根目录新建_ide_helper.php,具体内容如下:<?phpclass Yii{ /** * @var MyApplication */ public static $app;}/** * @property \common\components\Order $order */class MyApplicatio...

2018-03-26 17:46:56 2679

原创 使用php soap client自定义请求获取webservice封装的数据

github地址soapClient-php场景公司业务需要调外部公司使用.net webservice封装的接口,因此使用php(版本:5.6)创建soap client调取接口。外部公司规定的传输数据格式<?xml version="1.0" encoding="UTF-8"?><soapenv:Envelope xmlns:soapen

2018-03-06 15:18:14 3336

原创 yii2.0依赖注入DI代码实例

场景用户评论成功后可以灵活配置选用GMAIL、qq或其他邮箱发送邮件。文件功能EmailSenderInterface.php 邮件服务定义接口GmailSender.php gmail类实现EmailSenderInterfaceQqSender.php qq类实现EmailSenderInterfaceComment.php 评论类DiController.php...

2018-02-23 16:39:46 300

原创 netbeans插件推荐

一、常用1、Close unmodified documents 下载地址:软件插件库下载 二、PHP1、Php Manual Search 下载地址:http://plugins.netbeans.org/plugin/21086/php-manual-search 使用:ctrl/win+鼠标光标移动到函数上即可展示该函数文档

2018-02-01 18:16:20 4067

原创 Macos下netbeans常用快捷键

ctrl+q :返回上一个编辑位置shift+alt+上:复制当前行,鼠标留在上一行 shift+alt+下:复制当前行,鼠标留在下一行cmd+e:删除整行ctrl+shift+f:格式化代码 ctrl+tab:显示导航栏cmd+7:打开导航器shift+esc:全屏shift+cmd+→:向右选中一行 shift+cmd+←:向左选...

2018-01-05 15:39:05 845

原创 iTerm2连接远程服务器断线

问题如下: 使用向上箭头查看上一条命令: 解决方法: 修改Ubuntu的/bin/sh指向的dash为bash:

2017-12-27 15:07:24 1592

原创 centos 64位搭建kafka

一、安装java8下载地址:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html1、安装[root@localhost]# cd /usr/local[root@localhost]# mkdir java8[root@localhost java8]# cd java

2017-12-08 15:32:48 263

原创 php7安装kafka扩展

一、安装librdkafka# cd /usr/local/src/# git clone https://github.com/edenhill/librdkafka.git# cd librdkafka# ./configure# make# make install# ln -s /usr/local/lib/librdkafka.so.1 /usr/lib/二、安装php-rdk

2017-12-07 16:55:31 4405

原创 单台服务器安装部署fastdfs

一、安装依赖包:libevent[root@test-heji-web-165-217 src]# yum -y install libevent二、安装libfastcommon[root@test-heji-web-165-217 src]# wget https://github.com/happyfish100/libfastcommon/archive/V1.0.35.tar.gz[ro

2017-10-24 10:41:47 3376

原创 WARNING: Nothing matches the include pattern '/usr/local/php7/etc/php-fpm.d/*.conf'

源码编译安装php7出现如下错误: 解决方法:# cd /usr/local/php/etc/php-fpm.d/# cp www.conf.default www.conf# /usr/local/php/sbin/php-fpm -t[12-Oct-2017 08:33:29] NOTICE: configuration file /usr/local/php/etc/php-fpm

2017-10-15 14:48:11 10411

原创 修改php.ini配置文件无效的解决办法

1、确定修改的php.ini文件是否是加载的文件,使用命令:php -i | grep "php.ini"2、php-fpm.conf文件的配置可以覆盖php.ini文件的配置。 例如在php.ini文件修改配置display_errors=On,若php-fpm.conf文件下的配置:php_flag[display_errors] = off则配置不生效。 3、记得重启nginx和php-f

2017-08-09 18:08:13 3281

原创 centos6.5编译安装LNMP环境

安装编译工具及库文件yum install -y apr* autoconf automake bison bzip2 bzip2* cloog-ppl compat* cpp curl curl-devel fontconfig fontconfig-devel freetype freetype* freetype-devel gcc gcc-c++ gtk+-devel gd gettext

2017-07-29 14:44:11 1636

原创 Vagrant was unable to mount VirtualBox shared folders

使用vagrant up命令启动虚拟机遇到如下错误:Vagrant was unable to mount VirtualBox shared folders. This is usuallybecause the filesystem "vboxsf" is not available. This filesystem ismade available via the VirtualBox G

2017-05-24 13:06:28 1894

原创 Mysql高效分页

前言通常针对mysql大数据量的查询采取“分页”策略,但是如果翻页到比较靠后的位置时查询将变得很慢,因为mysql将花费大量的时间来扫描需要丢弃的数据。基本分页技巧通常为了实现高效分页,通常情况下,需要在查询中WHERE条件列和排序列应用组合索引。 例如,建立索引a_b_c使得以下查询可以使用索引,提高查询效率: 1、字段排序ORDER BY a ORDER BY a,bORDER BY a

2017-01-17 14:51:43 969

原创 pip安装UnicodeDecodeError: 'ascii' codec can't decode byte 0xb0 in position 1: ordinal not in range

错误描述使用pip安装lxml或scrapy时出现如下错误:Exception:Traceback (most recent call last): File "C:\Python27\lib\site-packages\pip-8.1.2-py2.7.egg\pip\basecommand.py", line 215, in main status = self.run(option

2016-10-31 17:47:31 1287

原创 win7搭建python开发环境

搭建python开发环境1、安装python2.7.6下载python2.7.6语言包并安装地址:https://www.python.org/download/releases/2.7.6/ 一路“next”完成安装添加环境变量2、安装setuptools地址:https://pypi.python.org/pypi/setuptools/#downloads 点击右侧“Downloads

2016-10-31 16:26:53 675

原创 python中yield和return对比

相同点功能都是返回程序执行结果区别yield返回执行结果并不中断程序执行,return在返回执行结果的同时中断程序执行。

2016-09-28 16:22:47 11776 1

原创 No module named downloader

代码如下:from downloader import Downloader报错: from downloader import DownloaderImportError: No module named downloaderdownloader 库不是python2.x 自带的需要安装:(python2.7-env01) [root@vagrant-centos65 vagrant]#

2016-09-23 16:38:17 1944

原创 运行scrapy爬虫出现错误:exceptions.ImportError: libmysqlclient.so.18: cannot open shared object file

错误原因: 找不到libmysqlclient.so.18文件 解决方法: 1.查找libmysqlclient.so.18文件位置:# find / -name 'libmysqlclient.so.18' -print/alidata/server/mysql/lib/libmysqlclient.so.182.设置软连接:ln -s /alidata/server/mysql/lib/

2016-09-15 23:38:38 1784

原创 ATOM基础教程一使用python编码规范检查插件linter-pep8(19)

linter-pep8简介linter-pep8是根据python的代码规范pep8而编写的插件,可以帮助python开发人员维护代码规范。安装linter-pep8首先需要先安装pep8包,使用pip安装:pip install pep8安装完成后将pep8的可执行文件添加到系统环境变量: 2. 安装linter-pep8配置linter-pep8安装完成后linter-pep8的配置项

2016-09-15 16:49:11 5091 1

原创 python2和python3差异对比

1. 获取用户输入 python2使用函数raw_input() python3使用函数input() 2. 定义类 python2定义类需要在括号里写上object:class ClassName (object): ...python3定义类:class ClassName (): ...

2016-09-14 17:53:58 1484

原创 centos7.0安装docker

检查前提条件1.docker要求linux内核必须大于3.8版本且为64位,检查内核版本:[root@localhost ~]# uname -r3.10.0-123.el7.x86_642.检查 Device Mapper [root@localhost ~]# ll /sys/class/misc/device-mapper/ total 0-r--r--r--. 1 root roo

2016-09-09 16:18:24 1319

原创 yum出错:[Errno 256] No more mirrors to try和Error: Cannot find a valid baseurl for repo: base

解决方法: 1. yum clean all 2. vi /etc/resolv.conf 添加如下代码:search localdomainnameserver 192.168.119.1 #本地ipnameserver 114.114.114.114 #DNS重启网卡service network restart

2016-09-08 15:40:43 807

js生成四位验证码并验证

js生成四位验证码并验证,一个可行的demo,记得给好评哦。

2015-08-31

seajs手册,教程

自己在公司需要使用seajs,就学习了seajs写了个手册和demo,欢迎阅读。

2015-08-26

Yii 添加Srbac模块安装配置详细教程

在工作中整理出的yii RBAC中Srbac的详细安装步骤,附截图。

2014-09-29

空空如也

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

TA关注的人

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