Becomin' Charles

算法 | LNMP | Flutter | Mac

Becomin' Charles

tcpdump —— 打印出通过网口流入流出的数据内容,用于网络协议调试

tcpdump就是大家嘴里常说的抓包工具,在linux命令行下,使用tcpdump,可以查看服务器特定端口进出的数据包内容。
tcpdump -X -s0 -i any udp port 12009

阅读全文 »

昨天阅读了Yii框架中log部分的源代码,框架提供了灵活、强大的log功能,如果不是非常特殊的需求,框架中自带的类就已经能够满足一般的应用的需求了。实现log功能的源代码被存放在 framework/logging 目录下,这个目录下的代码都包含在包system.logging中。本文简要介绍一下我昨天阅读代码的所得。

阅读全文 »

Yii框架的官方网站上,有一个教学用demo,就是使用Yii框架开发一个blog。有非常详尽的文字描述,步骤基本也比较清楚。一遍走下来,基本上就差不多都学懂了。

上周正好要在公司做分享,害怕当堂演示会说不好,浪费时间,就在家里自己将blog的开发过程录制成了视频,这是我第一次录制视频,觉得格外新鲜,遂决定在这里分享给大家。大家一起乐一乐,O(∩_∩)O哈哈~

阅读全文 »

入手Nexus S一周了,主要感觉还是信号较弱,WiFi比较弱,通信信号也很弱。在室外空旷地稍微好一点,在办公室基本比较悲剧。按照我同事的说法,国外生产的手机,辐射量必须符合他们自己的标准,是考虑了辐射量不会影响身体健康的前提下制定的,所以在中国信号相比国产山寨机要弱。OK,听起来像是个不错的理由。那就这样吧。

阅读全文 »

移动互联网的飞速发展,真的让我眼热,虽然没哥什么鸟事,但是也还是想快速走入这个领域看看。于是乎,想要一尝Android之鲜。充分分析了现在经济状况,Android系统的相应机型,最终挑选了Google亲历打造的Nexus S。哥玩的就是血统。在辗转反侧想了很多个日夜后,终于出手,并于今天下午拿到了手上。

阅读全文 »

前一段日子,写了一篇《MVC就是一个选择题》,重点描述了我对MVC模式的迷惑。随着我对这个模式应用时间的深入,渐渐感到得心应手,这个模式早在30多年前就已经发明了,确实经受了时间的考验,可以说是千锤百炼。但是,实践过程中,我也发现,更多的时候照猫画虎还是有很多弊端的,想要真正做好MVC的选择题,必须在项目中不断犯错误,不断修正,才能逐渐走上正轨。我参加的项目主要运用了Yii框架,是目前比较流行的一个Web开发框架。随着前不久,1.1.6版本的发布,我发现Yii框架的文档中,多了一篇MVC最佳实践的文章。我想,这个文章对于初学者来说,应该具备相当的指导性,而且指导相当具体。如果也有跟我相同的迷茫,应该好好钻研一下这篇文章,并且身体力行去验证之,这里给出链接。我在这篇文章中,就是概括简述一下那篇文档的内容。

阅读全文 »

文章(post)是 WordPress 博客的核心价值所在,围绕一篇文章的增、删、改,我们可以开发很多有用的插件。近来,由于维护一款插件的需要,我碰巧研究了一下围绕文章发布流程而设立的一些钩子(hook)。微有所得,记录备查。

阅读全文 »

由于采用了Web开发框架来开发项目,所以我首次在真正的项目中采用MVC的开发模式。随着项目的不断深入,我也在不断反思,MVC设计模式到底给项目带来了什么?成倍的开发时间?复杂无比的目录结构?铺天盖地的文件数量?听起来都很难听对吗,但是确实如此。那么MVC所许诺的那些好处呢?清晰的代码结构,易于维护,易于扩展?真有吗?

阅读全文 »

初次打开Mac OS X的终端,我非常不习惯。以界面优美著称的苹果操作系统,终端竟然如此丑陋,实在是大出我的意料之外。别的我也就不说了,最不能容忍的是两个,一个是没有颜色的ls,还有一个就是那个命令提示符。

实际上,Mac OS X作为一个类Unix系统,或者说根本就是一个Unix系统,而且默认shell已经变更成了bash,那么它理应该可以配置到跟Linux下的表现一样才对。在Linux系统中,ls能呈现多彩的颜色,还需要终端的支持,而Mac OS里的终端显然是支持颜色的,那为什么ls就显示不出来颜色呢?网上有老外说,ls用的不是gnu的core-utils,给了一套更换core-utils的方案,太麻烦我没采纳。今天,静心看了下man,才发现,感情人家根本就是支持彩色的。只是参数变成了-G,而不是我们熟悉的–colors,唉,竟然这么简单。

另外提一点,如果大家想要自定义Mac下的bash的表现的话,那么不要像在Linux中一样使用.bashrc,因为在Mac下起作用的其实是.bash_profile文件。好了,这里把我配置上面说的两个特性的.bash_profile分享一下。

export PS1="\u@mac:\w > " export CLICOLOR="xterm-color" export LSCOLORS="gxfxcxdxbxegedabagacad" # aliases alias cd..="cd .." alias l="ls" alias ll="ls -l" alias la="ls -al" alias mysql='/usr/local/mysql/bin/mysql' alias mysqladmin='/usr/local/mysql/bin/mysqladmin'

苹果操作系统的Dock菜单,可能是个人桌面操作系统中,最成功的一种UI设计了。这个交互设计效果优美,使用简便,一目了然。无数爱好者,将Dock菜单的交互设计和视觉效果移植到了各种各样的系统和平台上。

在Web上实现Dock菜单,也不是什么新鲜事了,包括我以前想要汉化过的一个favourate类插件,也都是Dock的理念。

jQuery有个插件,就是专门实现这个Dock菜单的效果的。在这里可以看到例子。文章标题里说的,是一个WordPress的插件,插件的名字翻译成中文的话,叫动态WP鱼眼菜单。我不知道为什么作者要取这么难听的名字,而且并不让人一目了然,既然Dock已经是几乎人尽皆知的效果了,何必再去自己发明名字。不过呢,这并不妨碍作者实现了这么一个使用简便的插件。到这里可以看效果。

从一个插件开发者的角度来看,Charles觉得这个插件的结构是非常简单的,只是在WordPress的里面引入了一个jQuery的插件,顺便增加了后台管理界面。从一个用户的角度看,我觉得这个插件有一个值得赞扬的地方,它的后台非常之简单,简单到了一目了然的地步。应该成为所有插件作者设计插件后台时候参考的典范。不过呢,也有一个缺点,就是这个插件的安装却并不是那么简单。因为需要用户手动修改代码。我想,这会给这个插件的流行,带来巨大的阻力。我觉得这是每个插件开发作者应该竭力避免的事情。