随笔分类 - Program
健康生活,快乐编程~~
摘要:我从2008年开始在博客园写技术类文档,最早的时候不知道Markdown,而且博客园也没有提供Markdown编辑器,当时都采用富文本编辑器来写,每次调整格式都需要挺长时间。当时笔记软件还用微软的OneNote,因为也不支持Markdown,因此用的也还算平稳。 2014年以后博客园开始支持Mark
阅读全文
摘要:平时测试过程中,经常会需要编辑HOST文件来访问特定的服务器。实际上,这个过程也可以在代码中完成。这个实现方式的根本,就是在HTTP请求的Header中,指定请求的HOST。 1、使用CURL $ curl --silent -H "Host:house.baidu.com" "60.28.244.
阅读全文
摘要:**快速排序(QuickSort)**是对冒泡排序的一种改进。由 C. A. R. Hoare 在1962年提出。它的基本思想是:通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按此方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,
阅读全文
摘要:最近有个同事找过来,希望我对在很早之前写的一个PHP网站上增加一些功能,当时开发使用xampp构建的本地开发环境,但是现在我的笔记本电脑已经更新,没有当时的开发环境。本着尽量不往电脑上装无用软件的原则,想到能不能用Docker来构建本地开发环境,因此本文介绍了如何基于Docker来快速构建本地PHP
阅读全文
摘要:Zookeeper 介绍 Zookeeper是一个分布式应用程序协调服务,主要负责集中维护配置信息的服务,提供分布式的同步机制。其所有的服务都是做为其他分布式应用的基础。Zookeeper是Google Chubby的一个开源实现,是现在很多分布式应用的重要组件,包括诸如Hadoop、HBase、K
阅读全文
摘要:1. 为什么要学习Go Go语言宣称为互联网时代的C语言,那她有那些特性值得我们必须学习呢: 并行与分布式支持。除了我们日常熟悉的进程和线程,Go语言中提供了协程coroutine,从而简化了并行开发的难度。 软件工程支持。这体现在很多方面,我觉得Go语言借鉴了Python的做法,通过代码风格规范进
阅读全文
摘要:最近在读《SRE Google运维解密》第20章提到数据中心内部服务器的负载均衡方法,文章对比了几种负载均衡的算法,其中随机选择算法,非常适合用 Numpy 模拟并且用 Matplotlib 画图,下面是我的代码: 整个模拟的思路就是首先随机生成一个二维数组,然后再统计每台服务器被选中的次数,并对次
阅读全文
摘要:最近开始做CMS后台与微信公众号的整合,在做被动回复消息时,按照官方文档的XML格式回复消息,总是提示“该公众号提供的服务出现故障,请稍后再试”。但是通过微信提供的 "接口调试工具" 看我的接口貌似也没什么问题,给出的提示也是请求成功。 最后认真学习了其它网友的方案,才发现官方文档上提供的XML格式
阅读全文
摘要:一道LeetCode题目 今天刷一道LeetCode的题目,要求是这样的: Given a binary search tree and the lowest and highest boundaries as and , trim the tree so that all its elements
阅读全文
摘要:IP地址(IPV4) IPV4的地址是一个32位的二进制数,由网络ID和主机ID两部分组成,用来在网络中唯一的标识一台计算机。IP地址通常用四组3位的十进制数表示,中间用**.**分割,例如:192.168.0.1。 IPV6用128位表示IP地址,表示位8组4位16进制数,中间用**:**分割,例
阅读全文
摘要:题目要求 计算两个复数的乘积。 参考题解 这道题感觉很简单,主要是对复数的表达式进行解析,然后套用公式,输出结果就可以了。 本文为作者原创,如果您觉得本文对您有帮助,请随意打赏,您的支持将鼓励我继续创作。 参考资料: 1、 "题目网址" 2、 "Complex Number"
阅读全文
摘要:题目要求 编写一个类,提供两个方法。一个可以将普通的网址编码成短网址,一个可以将短网址还原为普通网址。 参考题解 我这个过程遇到一个坑,本地环境是Python3,math.ceil函数返回了整型数,Leetcode是Python2的环境,所以返回了浮点数,需要做一下类型转换。看了一下其他解题方法,其
阅读全文
摘要:目标 想要获取一个整形数字的二进制表示 bin 内置函数 看一下官方的解释 Convert an integer number to a binary string prefixed with “0b”. The result is a valid Python expression. If x i
阅读全文
摘要:下载Tomcat 首先在 "Tomcat官方网站" 找到自己合适的版本,下载 tar.gz 版本的,下载完成后解压缩到一个目录,进入这个目录下的 bin 执行 startup.sh,如果看到下面的界面,表示已经启动了。 打开浏览器,输入 http://localhost:8080 能够看到界面显示,
阅读全文
摘要:ElasticSearch 安装 1、下载 "ElasticSearch" ,本文使用的版本为 5.5.1。 2、配置 如果不修改配置的话,默认的数据和日志都位于elasticsearch文件夹下。 默认地址会使用 192.168.0.1 的地址,此时ElasticSearch运行于开发模式,只能从
阅读全文
摘要:当调试开源的代码时,希望查看某个函数的定义,那么就需要定位其位置。特别是有的项目中,函数会有多个地方都有定义,那么如果我想知道当前调用的这个函数是在哪里定义的,可以用下面这个方法。 Zend studio 这样的 IDE 支持跳转到函数定义。
阅读全文
摘要:最近项目需要,分析了一下Wordpress的特色图像 Feature Image的上传、保存方式,这一分析觉得Wordpress的数据结构设计还真是有想法。 先简单说一下结论: Wordpress中图像物理文件保存在 目录下,相关信息保存在 wp_posts 表中。post_type 是 attac
阅读全文
摘要:PhpSpreadsheet是PHPExcel的替代版本,PHPExcel的作者已经停止了更新,今天尝试了使用PhpSpreadsheet生成Excel的时候支持单元格内的自动换行,发现用法其实差不多。 先来看一下Excel单元格中的换行,手工输入Alt+Enter可以进行换行,实际上是选择了一个“
阅读全文
摘要:什么是Composer 简单来说,Composer是PHP的包依赖管理器。但是Composer并不是类似于Yum、Apt的包管理器。Composer可以用于包或者第三方库的安装,但是可以选择在Project范围内进行安装。Composer是受到Node的 "NPM" 启发。 Composer可以在下
阅读全文
摘要:命名空间的支持版本:PHP 5 5.3.0,PHP 7 。 什么是命名空间 从广义上来说,命名空间是一种封装事物的方法。在很多地方都可以见到这种抽象概念。例如,在操作系统中目录用来将相关文件分组,对于目录中的文件来说,它就扮演了命名空间的角色。具体举个例子,文件 foo.txt 可以同时在目录/ho
阅读全文