自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Mr.赵的专栏

正在路上的程序员...

  • 博客(37)
  • 收藏
  • 关注

原创 一文看懂JSONP原理和应用

什么是JSONP首先提一下JSON这个概念,JSON是一种轻量级的数据传输格式,被广泛应用于当前Web应用中。JSON格式数据的编码和解析基本在所有主流语言中都被实现,所以现在大部分前后端分离的架构都以JSON格式进行数据的传输。那么JSONP是什么呢? 首先抛出浏览器同源策略这个概念,为了保证用户访问的安全,现代浏览器使用了同源策略,即不允许访问非同源的页面,详细的概念大家可以自行百度。这里大家

2016-09-27 14:54:44 89925 28

原创 一个帮助你升职加薪的重要方法

原创公众号 二鱼先生,求支持今年有一个词不论是在政治环境中还是在商业环境中出现得都特别多,它就是不确定性。疫情的突然到来使得很多公司经营面临极大的挑战,很多公司倒下了,也有很多公司为了不倒下只能选择裁员的方式缩小规模,降低成本。因此对我们在职场中的大多数人,所面临的不确定性也大大增加,今天想聊聊如何在这种不确定性中找到更多的确定性。在股市投资中,有一类股票被称为成长股,这类股票现在的估值可能不高,但是它们的业绩保持高速增长,这样的股票往往会受到长期投资者的青睐。在职场中也是这样,一个.

2020-12-21 16:16:38 367 4

原创 Gin添加基于logrus的日志组件

概述在Web应用中,日志是非常重要的一部分数据,通过日志我们可以把控每天的请求情况和应用运行情况,还能够大大方便我们定位和追踪问题,所以非常有必要在开发时为Gin框架加入日志组件设计logrus是Go语言一款非常流行的日志库,其中封装了非常多方便易用的方法,所以我们也基于这个库来进行实现。需要实现的功能有:作为Gin的中间件记录每一次请求的信息,包括请求时间,运行时间,请求的Uri等封装一个记录日志的方法,可在其他模块中调用,用于记录业务相关的日志实现直接上代码第一步:封装logger

2020-11-26 16:26:11 2273 5

原创 使用py-spy解决scrapy卡死的问题

背景在使用scrapy爬取东西的时候,使用crontab定时的启动爬虫,但是发现机器上经常产生很多卡死的scrapy进程,一段时间不管的话,会导致有10几个进程都卡死在那,并且会导致数据产出延迟。问题定位使用py-spy这个非常好用的python性能分析工具来进行排查,py-spy可以查看一个python进程函数调用用时,类似unix下的top命令。所以我们用这个工具看看是什么函数一直在执行。首先安装这个工具pip install py-spy用py-spy看看scrapy哪个函数执行时间长

2020-07-30 16:11:39 1736 1

原创 解决go build报错cannot find main module; see 'go help modules'

描述:在学习golang的过程中,在$GOPATH/src/github.com/xxx/hello目录下执行go build和go test都会报下面的错误go: cannot find main module; see ‘go help modules’原因:之前为了提高依赖包的下载速度,使用了goproxy然后开启的时候使用了以下命令$ go env -w GO111MODULE...

2020-04-25 22:09:57 29189 4

原创 坑爹的URL编码-PHP正确处理URL中的加号(+)

问题背景接收客户端传入参数,base64解码失败,经过排查发现原因是参数上传前字符串中有+,但是PHP接收后,发现+变成了空格,导致base64解码失败。测试验证访问一个测试的接口 /internal/testcurl 'http://127.0.0.1/internal/test?a=abc+def'验证1:简单输出$_GETpublic function test() { ...

2020-03-24 12:17:59 2419

原创 PHP基于字典树算法实现搜索联想功能

搜索联想功能是各大搜索引擎具备的基础功能,如下图所示,这个功能简化了用户的输入行为,并且能够给用户推荐热门的搜索词,下面我们来讲一下如何用php实现搜索联想的功能。实现原理搜索联想功能拆解一下由两部分组成给定一个查询词,找出以他为前缀的其他目标查询词对目标查询词进行排序,选出权重高的若干个查询词本篇中重点讲解一下第一部分的实现,这里使用Trie树,也叫字典树,这个数据结构来解决这个...

2019-11-04 17:22:44 1490

原创 解决PHP连接Redis报read error on connection错误

背景项目由于并发很高,所以将之前连接redis使用短连接改成了长连接,结果导致出现了抛出了read error on connection出现原因php有一个配置项default_socket_timeout表示一个socket连接的超时时间,默认是60s,而phpredis这个扩展的底层连接redis是使用的socket,所以当一个连接在60秒内没有被使用的时候,下次连接就会抛出这个异常。...

2019-07-09 18:58:52 6356

原创 解决Keras报错AttributeError: 'NoneType' object has no attribute 'inbound_nodes'

背景在用Keras的时候遇到了这个报错AttributeError: 'NoneType' object has no attribute 'inbound_nodes'原因原来是对Tensor操作的方法用错了,做了一个扩展操作,将一个2D的张量扩展成一个3D的张量使用了K.repeat()的方法,这个方法返回的是一个Tensor,而不是一个Layer,当然没有入节点inbound_n...

2018-11-01 14:38:41 23102

原创 Spark简单读写Hive

Spark版本:1.6.0 语言:Python 2.7使用Spark写入Hive表# --coding=utf-8--from pyspark import SparkContextfrom pyspark import SparkConffrom pyspark.sql import HiveContextconf = SparkConf().setAppName('t...

2018-06-08 17:58:59 4481

原创 个性化阅读中的推荐系统(一)

最近要为一个资讯类的项目加入个性化推荐的逻辑,以给用户展示更加符合其阅读偏好的文章,提高点击率。之前研究过相关理论,这次在工程中应用上,也属于一边摸索一边实践的过程。概述推荐系统中常用的推荐算法有: - 基于内容的推荐content-based - 协同过滤collaborative filtering - 基于模型的推荐,隐语义模型(LFM, latent factor

2018-01-23 15:17:01 2314

原创 一文学会sklearn计算余弦相似度

余弦相似度在计算文本相似度等问题中有着广泛的应用,scikit-learn中提供了方便的调用方法 第一种,使用cosine_similarity,传入一个变量a时,返回数组的第i行第j列表示a[i]与a[j]的余弦相似度>>> from sklearn.metrics.pairwise import cosine_similarity>>> a=[[1,3,2],[2,2,1]]>>>

2018-01-17 11:18:13 20768 1

原创 Ueditor自定义图片上传接口-PHP版

百度的开源前端富文本编辑器Ueditor各种有着强大的功能,但是在实际项目中,往往不会把图片直接上传到后端服务器上,而是上传到图床或者CDN上,本篇文章介绍了如何在实际项目中使用 Ueditor将图片上传到图床或者CDN

2017-09-12 14:54:57 12547 4

原创 Nginx proxy_set_header中$proxy_host,$host,$http_host的区别

在使用Nginx做反向代理的时候,proxy_set_header功能可以设置反向代理后的http header中的host, 那么常用的几个设置中$proxy_host, $host,$http_host又都表示什么意思呢? Nginx的官网文档中说下面这两条是做反代时默认的,所以$proxy_host 自然是 proxy_pass后面跟着的host了 proxy_set_header Hos

2017-05-18 18:55:37 27062

原创 基于角色的权限管理系统设计思路

概述权限管理功能是项目中重要的部分,通过权限系统可以控制系统中各用户所拥有的权限,比如能否打开一个页面,能否进行某项操作,合理的权限控制可以规避误操作的风险,提高系统的可用性。 权限管理的思路一般为基于角色和基于资源两种,基于角色即对为用户赋予某些角色的权限,基于资源则为对用户赋予某些资源的权限。两种既可以单独实现,也可结合起来使用。设计思路系统中抽象出操作、角色、用户三个概念,其中操作由项目中抽

2017-05-18 18:05:11 10004 1

原创 PHP获取指定日期之间各月第一天和最后一天

主要用到了PHP强悍的strtotime和date函数。1.获取指定日期所在月的第一天function getMonthFirstDay($date) { return date('Y-m-01',strtotime($date));}2.获取指定日期所在月的最后一天function getMonthEndDay($date) { $firstDay = getMonthFirst

2017-05-08 18:35:20 1762

原创 Python Logging模块-配置文件说明

首先直接来看一个配置文件[loggers]keys=root,simpleExample[handlers]keys=consoleHandler,fileHandler[formatters]keys=simpleFormatter[logger_root]level=DEBUGhandlers=fileHandler[logger_simpleExample]

2016-04-26 16:02:40 2708 1

原创 Python Logging模块-Logger,Handler,Formatter

#

2016-04-25 21:30:09 3321

原创 Python Logging模块-介绍与使用

概述Logging模块是python自带的日志模块,提供了强大的API和配置系统,用于在项目中打印各级别的日志。日志级别Logging模块提供了5种日志的级别,如下表所示: 级别 说明 DEBUG 详细的信息,在进行诊断问题时使用 INFO 正常运行的信息 WARNING 警示发生了一些意外的情况,或者警示将会出现问题,比如磁盘空间不足。程序仍正常运行。 ERR

2016-04-25 17:21:48 689

原创 mac配置nginx+php

nginx1.mac下使用brew即可 brew install nginx2.使用sudo nginx 启动 访问localhost:8080 即可看到nginx的欢迎页面 3.使用#重新加载配置|重启|停止|退出 nginxnginx -s reload|reopen|stop|quit#测试配置是否有语法错误nginx -t4.设置开机启动ln -sfv /usr/local/opt/n

2016-04-14 17:00:06 768

转载 【转】分布式异步任务队列 Celery + rabbitmq (or redis )

最近的项目要使用异步的任务队列,初步选用了Celery,比较轻量级,但是对Task,Broker,Worker等概念有些理解的不透彻,找到以下文章,甚是透彻。 当我们需要处理一些比较耗时的任务时,我们就需要考虑启用“异步”这个概念。 比如以下两种情况:一,频繁读写 比如说,现在你一条“微博”,如果是使用 push 的机制,那则需要将这条“微博”告知所有关注你的人。 (这里是假设。实际的微博是

2016-03-29 10:53:23 2955

原创 centos 下redis安装与使用与配置

redis的安装redis可以用源码和yum安装,我这里用了yum安装,快捷方便 。 1.安装epel仓库 yum install epel-release 2.安装redis yum install redisredis的使用1.启动redis服务端 redis-server 2.启动redis客户端 redis-cli 3.测试下,在服务端执行

2016-03-24 10:54:31 736

转载 【消息队列MQ】各类MQ比较

最近项目用到消息队列,做了一些调研,转载下别人的文章:RabbitMQ是使用Erlang编写的一个开源的消息队列,本身支持很多的协议:AMQP,XMPP, SMTP, STOMP,也正是如此,使的它变的非常重量级,更适合于企业级的开发。同时实现了一个经纪人(Broker)构架,这意味着消息在发送给客户端时先在中心队列排队。对路由(Routing),负载均衡(Load bal

2016-03-18 16:25:51 836

原创 PHP 二维数组排序——array_multisort()

有时候我们要对一个多维数组进行排序,如对以下数组: $a = array( array( 'age' => 10, 'name' => 'John', ), array( 'age' => 11, 'name' ...

2016-03-18 10:23:43 651

转载 Centos 6.x 安装mysql

一、mysql简介说到数据库,我们大多想到的是关系型数据库,比如mysql、oracle、sqlserver等等,这些数据库软件在windows上安装都非常的方便,在Linux上如果要安装数据库,咱不得不首先推荐的是mysql数据库了,而且Mysql数据库的第一个版本就是发行在Linux系统上的。MySQL是一个关系型数据库管理系统,由瑞典MySQL AB公司开发,目前属于Orac

2015-12-23 15:46:35 572

原创 Centos6.3 Minimal 虚拟机安装与配置

Centos6.3 Minimal 虚拟机安装与配置安装下载ISO镜像,从网上一搜很多,Centos6.x的版本安装方法类似打开Vmware,选择新建虚拟机选择典型即可,安装过程第二步注意选择稍后安装操作系统 然后选择linux-centos,一直下一步一直到配置界面 新CD/DVD(IDE)选择使用ISO映像文件,然后选择下载的Centos镜像 网络连接选择桥接,关闭,

2015-10-19 23:45:26 646

原创 Python3使用mysql.connector操作mysql数据库

下载mysql.connector:到http://dev.mysql.com/downloads/connector/python/下载并安装

2014-11-04 21:08:56 2908

原创 OData SugarCRM插件末期总结

经过两个月的项目期,这次做的项目终于基本完成

2014-09-12 10:43:38 837

原创 (八)写文档的一些感想

代码的工作完成以后感觉博客要写什么实在不好把握,最近都在写文档,那么我就说说写文档的一些感受吧

2014-09-08 01:00:49 632

原创 七、文档撰写与更多环境测试

本次项目的开发工作在上上周基本已经完成,这两周主要是进行进一步完善和对文档撰写

2014-09-01 09:35:11 622

原创 六、撰写文档与编写测试用例

本周的的代码方面的工作比较少,主要是编写一个测试用例,然后开始撰写相关的文档,我们看

2014-08-17 22:19:43 837

原创 (五)中期总结——所做与所得

首先感谢陈岭导师和王工的

2014-08-06 08:13:01 806

原创 四、配置与调试

今天导师从美国回来,经过导师的悉心指导,

2014-08-04 20:13:31 665

原创 三、odataproducer代码改写

这两周导师一直在美国,所以联系起来很不方便,加上现有的资料很少,

2014-08-03 16:46:17 757

原创 二、OData for php与SugarCRM

一、什么是OData?

2014-07-26 00:49:19 1250

原创 SugarCRM安装与初探

什么是SugarCRm?

2014-07-13 23:02:00 8916 2

原创 win7,win8 64位php加载curl失败解决方法

首先要将PHP目录中的libeay32.dll 和 ssleay32.dll 两个文件到 system32 目录

2014-05-15 20:10:36 1011

空空如也

空空如也

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

TA关注的人

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