Becomin' Charles

算法 | LNMP | Flutter | Mac

Becomin' Charles

在使用Git作为版本控制工具的时候,如何撤销某个文件的本地更改?

为什么要撤销本地更改?

Git规定,在本地变更没有提交的时候,不能够同步其它版本库的更新到对本地,为了防止本地变更丢失,如果本地变更只是一些试验性的调试语句,那就可以完全抛弃(discard),可以使用checkout命令进行撤销。

阅读全文 »

说实在的不喜欢Python,这主要是相对于PHP而言的,Python在Web相关领域里面,缺少了PHP的丰厚家学和积淀,但是有时候没有办法,还是得学一点的。在PHP里,用惯了strtotime这种神奇函数,在Python里面,到底该如何处理时间呢?

阅读全文 »

最近几天,微博上有一个戏谑的帖子,把程序员按照等第分为了几档,从“死掉的程序员”开始,有“成功程序员”,“著名程序员”,“普通程序员”,“无名程序员”,“烂程序员”,等等几个档次。按照描述,我对号入座,觉得自己现在算得上是“无名程序员”这个级别,在中国,处于我这个级别的程序员有千千万万,也就是人们常说的“码农”。《代码大全》这书,依我看,其面向读者群,就是“码农”。

阅读全文 »

想当年,Gmail第一个给用户提供了1G大的邮件存储空间,在今天,云存储铺天盖地的时候,1G真的是不算什么,随便什么服务,起步都是2.5G以上,但是那个时候的Gmail,竟然就已经看到了,这是何等的远见卓识啊,不得不赞叹一下。那时候起,Gmail就试图传递给用户一个观念,邮件不需要删除,用搜索来替代删除,但是,那时候的理念太过超前了,真的有人能够理解并操作么?我持深刻怀疑态度,直到今天,我终于逐渐看到了、并且理解了里面的一些门道,在我工作了3年以后时候。

阅读全文 »

vsftpd 是Very Secure FTPd的缩写,是一款小巧简单的ftp服务器软件,一般如果不需要对ftp帐号的流量做限制,不需要根据不同目录配置不同的属性的情况下,使用此款小巧的ftp软件,就再好不过了。vsftpd支持anonymous帐号登录和本地实体帐号登录,通过简单的配置,即可以运行。

阅读全文 »

Web开发人员,经常要做的一个事情,就是将源代码上传到服务器。但是这是一个极其痛苦的过程,因为这个过程机械,重复,无技术含量,关键是因为Web应用往往没有调试环境,一般的调试方法,都是改了代码,然后马上刷新浏览器来看结果,所以上传代码变成了一个太过频繁的事情,以至于频繁到了让人厌倦的地步。

阅读全文 »

监控文件系统的变化,不是一个常见的需求,但是随着对PHP使用的深入,不可避免的会碰到这类问题。我所在的公司,在服务器端,使用PHP进程常驻内存,来完成一些任务,甚至伺服服务。我们知道,PHP作为服务器动态语言,是不需要编译的,但是代码的生命周期是仅限于一次请求的,一次请求结束,下次请求,就会重新加载代码,除非安装了Opcode Cache,但是如果PHP常驻进程,这种自动加载更新代码的能力就失去了。这时候,我们有一种弥补方案,就是使用inotify。

阅读全文 »

PHP里面最强大的工具,就是数组,它融合了多种数据结构的特点,数组、队列、栈、哈希表等等,而且容器可以兼容各种类型,任意嵌套,简直无所不能。围绕着数组,PHP原生支持了一些列的函数,使得数组在实际编程实践中,可以有更强的表达能力和更高的编程效率。但是这要求我们用PHP的方式去思考,尽量使用PHP原生的函数解决问题,而不是掌握了一个foreach就一招鲜吃遍天。

阅读全文 »

开发WordPress插件,总是免不了要存储一些数据的。这些数据一般有两种类型,配置信息或者数据本身。配置信息一般可以用来定制插件运行时的一些参数,属于插件的属性。对于配置信息的存储,一般都是用WordPress Option API。WordPress自己就存储了很多博客运行时的自定义参数,这个接口也可以用来给插件存储自己的配置信息,其数据结构通用程度相当高,主要就是键值对(key-value)的形式。使用API get_optionupdate_option即可实现读写。具体用法和注意事项,本文不再展开,查看相关文档即可,下文基本关注另一个方面,就是如何存储纯数据。

阅读全文 »