飞污熊博客

静下心来做一件事

Http协议里包含了控制缓存的部分,以使Http客户端可以缓存和重用以前获取的资源,从而优化性能,提升体验。

在开发Web服务时,只需要关注请求头If-None-Match、响应头ETag、响应头Cache-Control就足够了。 因为这三个Http头就可以满足你的需求,并且,当今绝大多数的浏览器,都支持这三个Http头。

阅读全文 »

有时候内网很多机器都不能上外网,只能开放几个特定ip访问外网, 那么可以在这个可以上外网的机器上面搭建代理服务器,其他机器配置好代理就能上网了。

不管是测试用途还是自己使用,squid都是一个很不错的代理工具。支持正向代理、反向代理、还有透明代理。 本篇演示搭建了一个简单的squid的正向代理,同时支持认证,随便记记笔记。

阅读全文 »

作为互联网基础设施中重要一环的DNS域名解析服务,在互联网中所承担的重要角色和发挥的重要作用。 Bind是一款开放源码的DNS服务器软件,Bind由美国加州大学Berkeley分校开发和维护的, 全名为Berkeley Internet Name Domain,它是目前世界上使用最为广泛的DNS服务器软件。

本篇演示如何在CentOS 7上架设域名服务器,以及如何使用chroot牢笼机制插件来保障bind服务程序的可靠性, 并向大家演示如何在主服务器与从服务器之间部署TSIG密钥加密功能,来进一步保障迭代查询中数据的安全性。

阅读全文 »

ECharts是一款由百度前端技术部开发的,基于Javascript的数据可视化图表库,提供直观,生动, 可交互,可个性化定制的数据可视化图表。

提供大量常用的数据可视化图表,底层基于ZRender(一个全新的轻量级canvas类库),创建了坐标系,图例,提示, 工具箱等基础组件,并在此上构建出折线图(区域图)、柱状图(条状图)、散点图(气泡图)、饼图(环形图)、K线图、地图、 力导向布局图以及和弦图,同时支持任意维度的堆积和多图表混合展现。

官方网站:http://echarts.baidu.com/index.html

阅读全文 »

经常有这个需求,用用到树形菜单做展示或者选择,基于jquery的一个控件zTree非常简单好用,这里做一下记录。

官网介绍,zTree 是一个依靠 jQuery 实现的多功能”树插件”。优异的性能、灵活的配置、多种功能的组合是 zTree 最大优点。

官网地址:http://www.treejs.cn/v3/main.php

另外还有好多实际效果的演示,可以去看看。

阅读全文 »

CentOS 7继承了RHEL 7的新的特性,例如强大的systemd, 而systemd的使用也使得以往系统服务的/etc/init.d的启动脚本的方式就此改变, 也大幅提高了系统服务的运行效率。但服务的配置和以往也发生了极大的不同,同时变的简单而易用了许多。

CentOS 7的服务systemctl脚本存放在:/usr/lib/systemd/,有系统 system 和用户 user 之分, 即:/usr/lib/systemd/system/usr/lib/systemd/user

阅读全文 »

vim 是 Linux 系统上的最著名的文本/代码编辑器,也是早年的 Vi 编辑器的加强版, 而 gvim 则是其 Windows 版。它的最大特色是完全使用键盘命令进行编辑,脱离了鼠标操作虽然使得入门变得困难, 但上手之后键盘流的各种巧妙组合操作却能带来极为大幅的效率提升。

因此 vim 和现代的编辑器(如 Sublime Text)有着非常巨大的差异,而且入门学习曲线陡峭, 需要记住很多按键组合和命令,如今被看作是高手、Geek们专用的编辑器。尽管 vim 已经是古董级的软件, 但还是有无数新人迎着困难去学习使用,可见其经典与受欢迎程度。另外,由于 vim 的可配置性非常强, 各种插件、语法高亮配色方案等多不胜数,无论作为代码编辑器或是文稿撰写工具都非常给力。

阅读全文 »

你是否经常要在Windows 7或MAC OS X上面开发Python或Web应用程序,但是它们最后需要在linux上面来运行呢? 我们经常会碰到开发时没有问题但是到了正式的Linux环境下面却出现问题。那么怎样保证开发环境跟运行环境的一致呢?

通常有两种方法解决。一种是使用PyCharm内置支持的Vagrant, 这个教程可以参考Vagrant开发环境配置

不过很遗憾的是我自己在试验过程中启动VirtualBox虚拟机时候老是报错,暂时还没解决,读者可以自己试着测试看行不行。 第二种方式就是通过PyCharm的远程解释器加上文件同步功能,实现本地编辑代码->同步到服务器->通过远程debug来调试测试程序。 目前我选择的是第二种,虽然比第一种更笨拙点。

远程调试的功能在Eclipse、IntelliJ IDEA等大型IDE中均有支持,实现原理都基本相同,这里采用PyCharm进行说明。

阅读全文 »

python有时候简单起来连我自己都怕,有时候其他语言需要几十写出来的python几行搞定。 这里经常收集一些有趣的东西还是很好玩的。

阅读全文 »

以前一直使用virtualenv来管理python的包环境,但是有时候我需要多个python版本环境时候就不能愉快的玩耍了。 而pyenv可以帮到我。

pyenv是针对python版本的管理,通过修改环境变量的方式实现,在其官网说明上很清楚, 通过在PATH最前面插入shims来决定应用使用的python版本,从而将你的命令传递给正确的python程序。

我的系统环境是CentOS7.2

阅读全文 »