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

原创 使用scrapy-deltafetch实现爬虫增量去重
scrapy-deltafetch简介scrapy-deltafetch通过Berkeley DB来记录爬虫每次爬取收集的request和item,当重复执行爬虫时只爬取新的item,实现增量去重,提高爬虫爬取性能。Berkeley DB简介Berkeley DB是一个嵌入式数据库,为应用程序提供可伸缩的、高性能的、有事务保护功能的数据管理服务。主要特点:嵌入式:直接链接到应用程序中,与应用程序运
2016-10-24 16:42:11
13584
原创 写文件
代码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
446
原创 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
621
原创 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
5957
原创 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
6041
原创 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
5550
原创 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
3914
原创 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
473
原创 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
235
原创 工厂方法模式
定义工厂父类负责定义创建产品对象的公共接口,工厂子类则负责生成具体的产品对象,将产品类的实例化操作延迟到工厂子类中完成。角色抽象产品(Product)具体产品(ConcreteProduct)抽象工厂(Factory)具体工厂(ConcreteFactory)工厂方法模式 VS 简单工厂模式工厂方法模式是简单工厂模式的进一步抽象和推广,工厂方法模式保持了简单工厂模式的优点,...
2018-12-30 15:47:17
175
原创 简单工厂模式
定义简单工厂模式专门定义一个类来负责创建其他类的实例,可以根据参数的不同返回不同类的实例,被创建的实例通常都具有共同的父类。角色工厂角色(Factory) :负责实现创建所有实例的内部逻辑抽象产品角色(Product):描述所有产品实例所共有的公共接口具体产品角色(ConcreteProduct):具体产品角色是创建目标,所有创建的对象都充当这个角色的某个具体类的实例。优点让...
2018-12-30 15:27:45
166
原创 设计模式分类
分类GoF对设计模式分为3大类:创建型模式结构型模式行为型模式创建型模式简单工厂模式(Simple Factory)工厂方法模式(Factory Method)抽象工厂模式(Abstract Factory)单例模式(Singleton)原型模式(Prototype)建造者模式(Builder)结构型模式适配器模式(Adapter)桥接模式(Bridge)组...
2018-12-29 17:26:45
229
原创 设计模式六大原则
一、单一职责(Single Responsibility Principle)理解单一职责适用于接口、类、方法,只负责一项职责优点降低类的复杂度,一个类只负责一项职责,逻辑简单提高类的可读性可维护性提高:可读性提高,那当然更容易维护了降低变更引起的风险:如果接口的单一职责做得好,一个接口修改只对相应的实现类有影响,对其他的接口无影响,这对系统的扩展性、维护性都有非常大的帮助。...
2018-12-28 18:16:00
370
原创 设计模式简介
一、设计模式是什么?设计模式是一种驾驭抽象概念的技术:针对实际项目需求进行抽象,细分业务颗粒度,业务模块之间尽可能的解耦设计模式是针对某些具体场景提供了一些效率较高的以复杂度换灵活性的手段:对于可能存在变动的业务,考虑增加复杂度来换取灵活性描述了在我们周围不断重复发生的问题, 以及该问题的解决方案的核心。设计模式是一套被反复使用的、多数人知晓的、代码设计经验的总结。...
2018-12-28 16:39:51
163
原创 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
664
原创 macos masm5 Warning level (0-2) expected after W option
解决将汇编文件放在masm挂载的目录下即可:
2018-08-09 11:51:20
359
原创 macos 汇编 debug环境搭建
安装masm5下载masm5解压家目录新建masm5目录,解压在该目录下安装Dosbox下载Dosbox 运行DOSBox.dmg: 挂载debug
2018-08-06 11:58:48
1992
原创 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
2756
原创 使用php soap client自定义请求获取webservice封装的数据
github地址soapClient-php场景公司业务需要调外部公司使用.net webservice封装的接口,因此使用php(版本:5.6)创建soap client调取接口。外部公司规定的传输数据格式&lt;?xml version="1.0" encoding="UTF-8"?&gt;&lt;soapenv:Envelope xmlns:soapen
2018-03-06 15:18:14
3390
原创 yii2.0依赖注入DI代码实例
场景用户评论成功后可以灵活配置选用GMAIL、qq或其他邮箱发送邮件。文件功能EmailSenderInterface.php 邮件服务定义接口GmailSender.php gmail类实现EmailSenderInterfaceQqSender.php qq类实现EmailSenderInterfaceComment.php 评论类DiController.php...
2018-02-23 16:39:46
332
原创 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
4251
原创 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
886
原创 iTerm2连接远程服务器断线
问题如下: 使用向上箭头查看上一条命令: 解决方法: 修改Ubuntu的/bin/sh指向的dash为bash:
2017-12-27 15:07:24
1627
原创 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
283
原创 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
4473
原创 单台服务器安装部署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
3432
原创 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
10490
原创 修改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
3374
原创 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
1679
原创 Vagrant was unable to mount VirtualBox shared folders
使用vagrant up命令启动虚拟机遇到如下错误:Vagrant was unable to mount VirtualBox shared folders. This is usuallybecause the filesystem &quot;vboxsf&quot; is not available. This filesystem ismade available via the VirtualBox G
2017-05-24 13:06:28
1935
原创 Mysql高效分页
前言通常针对mysql大数据量的查询采取“分页”策略,但是如果翻页到比较靠后的位置时查询将变得很慢,因为mysql将花费大量的时间来扫描需要丢弃的数据。基本分页技巧通常为了实现高效分页,通常情况下,需要在查询中WHERE条件列和排序列应用组合索引。 例如,建立索引a_b_c使得以下查询可以使用索引,提高查询效率: 1、字段排序ORDER BY a ORDER BY a,bORDER BY a
2017-01-17 14:51:43
1021
原创 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
1316
原创 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
709
原创 python中yield和return对比
相同点功能都是返回程序执行结果区别yield返回执行结果并不中断程序执行,return在返回执行结果的同时中断程序执行。
2016-09-28 16:22:47
11851
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
2031
原创 运行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
1820
原创 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
5136
原创 python2和python3差异对比
1. 获取用户输入 python2使用函数raw_input() python3使用函数input() 2. 定义类 python2定义类需要在括号里写上object:class ClassName (object): ...python3定义类:class ClassName (): ...
2016-09-14 17:53:58
1533
原创 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
1351
原创 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
848
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人