2018年11月7日
摘要: 公司推进Jenkins自动化部署,因为web站点都是集群部署,部署需要测试指定服务器web服务是否成功启动,页面是否正常访问,经过不断baidu发现,python的request模块可以很好的解决这一问题。本文记录了解决这一问题的过程。 安装包管理工具pip 安装requests模块 请求http资 阅读全文
posted @ 2018-11-07 22:34 陈晨 阅读(517) 评论(0) 推荐(0) 编辑
  2018年9月10日
摘要: 公司对外提供了http接口服务,涉及到了des加密,有客户用Python开发,但搞不定加密,客户的问题就是大问题,虽然以前没接触过Python,也只能硬着头皮上,不停的baidu各种资料,从环境搭建、到hello world、最后到des加密实现,终于在半天之内帮客户搞定。感叹Python强大的类库 阅读全文
posted @ 2018-09-10 22:20 陈晨 阅读(1267) 评论(0) 推荐(0) 编辑
  2014年12月30日
摘要: 通过前面两篇《Request 接收参数乱码原理解析一:服务器端解码原理》和《Request 接收参数乱码原理解析二:浏览器端编码原理》,了解了服务器和浏览器编码解码的原理,接下来结合项目中遇到的具体问题,分析乱码问题的解决方法。 1.用户身份验证Cookie乱码问题 用户登录后,通常用Co... 阅读全文
posted @ 2014-12-30 22:35 陈晨 阅读(3420) 评论(2) 推荐(0) 编辑
  2014年12月24日
摘要: 上一篇《Request 接收参数乱码原理解析一:服务器端解码原理》,分析了服务器端解码的过程,那么浏览器是根据什么编码的呢? 1. 浏览器解码 浏览器根据服务器页面响应Header中的“Content-Type: text/html;charset=gb2312”解码。修改web.co... 阅读全文
posted @ 2014-12-24 22:29 陈晨 阅读(28264) 评论(0) 推荐(2) 编辑
  2014年12月18日
摘要: “Server.UrlDecode(Server.UrlEncode("北京")) == “北京””,先用UrlEncode编码然后用UrlDecode解码,这条语句永远为true吗?答案是否定的,结果可能与很多人预想的不大一样。本文主要分析这一问题出现的原理,研究下Server.UrlEn... 阅读全文
posted @ 2014-12-18 22:15 陈晨 阅读(21950) 评论(10) 推荐(5) 编辑
  2014年12月13日
摘要: Newtonsoft.Json,一款.NET中开源的Json序列化和反序列化类库(下载地址http://json.codeplex.com/)。下面是Json序列化和反序列化的简单封装: /// /// Json帮助类 /// public class JsonHelp... 阅读全文
posted @ 2014-12-13 23:07 陈晨 阅读(164824) 评论(17) 推荐(33) 编辑
  2014年12月10日
摘要: List和Dictionary泛型类查找效率存在巨大差异,前段时间亲历了一次。事情的背景是开发一个匹配程序,将书籍(BookID)推荐给网友(UserID),生成今日推荐数据时,有条规则是同一书籍七日内不能推荐给同一网友。 同一书籍七日内不能推荐给同一网友规则的实现是程序不断优化的过程,... 阅读全文
posted @ 2014-12-10 22:55 陈晨 阅读(17609) 评论(8) 推荐(3) 编辑
  2014年8月4日
摘要: 何为跨域访问,为什么会有跨域限制?一切还得从浏览器的同源策略说起。 同源策略:是浏览器最核心也是最基本的安全功能,如果缺少了同源策略,则浏览器的正常功能可能会受到影响,可以说Web是构建在同源策略基础之上的,浏览器只是针对同源策略的一种实现。 浏览器的同源策略:限制了来自不同源的“document... 阅读全文
posted @ 2014-08-04 23:03 陈晨 阅读(15228) 评论(1) 推荐(1) 编辑
  2014年6月9日
摘要: Memcached分布式缓存策略不是由服务器端至支持的,多台服务器之间并不知道彼此的存在。分布式的实现是由客户端代码(Memcached.ClientLibrary)通过缓存key-server映射来实现的,基本原理就是对缓存key求hash值,用hash值对服务器数量进行模运算,该key值被... 阅读全文
posted @ 2014-06-09 22:37 陈晨 阅读(3577) 评论(1) 推荐(1) 编辑
  2014年5月25日
摘要: 最近修改的几个 bug,问题不大,查找起来却几番周折,汇总起来如下。 1.诡异电话号码 客服邮件反馈,很多用户服务热线变成了“0371-45875487”。看到这问题的第一反映是可能因为程序某个地方有人不小心写死了“0371-45875487”,因为服务热线对应数据库为一个字段Serv... 阅读全文
posted @ 2014-05-25 11:50 陈晨 阅读(1615) 评论(1) 推荐(0) 编辑
  2013年2月28日
摘要: 在解析xml时,经常因为文件中含特殊字符而解析失败。原因有两个:一是内容中含有XML预定义好的实体,二是内容中含有低位非打印字符。 1.内容中含有xml预定好的实体,如“<”和“&”,对xml来说是禁止使用的,针对这种字符,解决方式是使用CDATA部件以"<![CDATA[" 标记开始,以"]]>"标记结束,是CDATA内部内容被解析器忽略。具体说明参考《XML CDATA是什么?》。 2.内容中含有低位非打印字符,解析时会报错:""(十六进制值 0x1D)是无效的字符.加载或保存XML时引发的异常.Syst 阅读全文
posted @ 2013-02-28 18:29 陈晨 阅读(47852) 评论(0) 推荐(0) 编辑
  2013年1月19日
摘要: Windows下MemCache环境安装配置的文章很多,但大部分都是用的默认端口11211,如何修改默认端口、如何在一台服务器上配置多个MemCache端口?这正式本文要解决的问题。 1.从微软官网下载rktools.exe (安装只为得到两个exe程序,可以先检查步骤2中的程序文件是否存在。如果不存在,也可以从其它服务器上复制相应的文件到相应目录下。可以直接跳过此步),然后进行安装。下载地址:http://www.microsoft.com/downloads/details.aspx?FamilyID=9D467A69-57FF-4AE7-96EE-B18C4790CFFD&dis 阅读全文
posted @ 2013-01-19 20:49 陈晨 阅读(9886) 评论(1) 推荐(0) 编辑
  2012年9月9日
摘要: 有用户反映用IE6访问网站,鼠标悬停在搜索输入框时,鼠标会一直闪烁并呈沙漏等待状,还录制了视频,截图如下。看到这问题,有点懵了,网页什么元素还能控制到鼠标呢?这不是鼠标忙的手势吗?程序员的思维来了,肯定电脑问题,和程序无关,叫客服搞定吧。不行,客户一直纠结,必须得解决了。静下心来想解决问题的方法,开始尝试baidu搜索了一些“鼠标 web 忙 闪”之类的关键词,无果。后来仔细分析,应该是鼠标滑到输入框后,执行操作造成的,检查代码,发现有onmousemove="this.className='inputstyle_move'" 事件,会不会是这个造成的呢?改 阅读全文
posted @ 2012-09-09 17:43 陈晨 阅读(1318) 评论(2) 推荐(0) 编辑
  2011年11月25日
摘要: 网上合并DataTable通用方法的文章很多,结合项目开发中的常用需求,并借鉴网上的做法,写了一个合并DataTable的通用方法,主要功能是合并两个DataTable(结构可以不同,如字段不完全一致),并可以根据某一列值进行排重处理。代码如下:View Code ///<summary> /// 将两个列不同的DataTable合并成一个新的DataTable ///</summary> ///<param name="dt1">源表</param> ///<param name="dt2"... 阅读全文
posted @ 2011-11-25 22:04 陈晨 阅读(6684) 评论(1) 推荐(0) 编辑
  2011年10月30日
摘要: 分组取TOP数据是T-SQL中的常用查询, 如学生信息管理系统中取出每个学科前3名的学生。这种查询在SQL Server 2005之前,写起来很繁琐,需要用到临时表关联查询才能取到。SQL Server 2005后之后,引入了row_number()函数,row_number()函数的分组排序功能使这种操作变得非常简单。 阅读全文
posted @ 2011-10-30 10:06 陈晨 阅读(3569) 评论(2) 推荐(2) 编辑