Becomin' Charles

算法 | LNMP | Flutter | Mac

Becomin' Charles

我是一个 Python 入门级别用户,虽然我一天到晚黑 Python,但是到了用的时候,又不得不用,这真的很悲哀。我讨厌 Python 就因为一个原因,就是其垃圾一样的文档。

这次我被一个绊脚石绊住两次,是因为有点搞不明白 Python 函数的参数。Python 语言的函数参数,到底是用值传递,还是引用传递?其实要思考这个东西,都是从 C++ 带来的一些习惯,虽然我不是一个 C++ 的程序员,但是也是通过学习 C++ 来学习编程的,不可避免地就要带有 C++ 的习惯。在那个语言里,是需要搞清楚这些东西的,编程语言并没有向程序员隐藏这些细节。以至于到了使用动态语言的时候也很容易陷在这种细节里面。

阅读全文 »

在使用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就一招鲜吃遍天。

阅读全文 »