web app、native app、hybrid app的差异

移动应用程序大体分为三类:Web App、 Native App、Hybrid App

要问世界最强悍的开源网站程序是哪个?答案只有一个:wordpress 之前一直认为W(简称)只是一个blog程序,可以发布文章和页面,是一个小网站程序。当深度使用后,才发现W是不简单的,它的强大远超乎你的相像。另外本博客是采用W,2009年3月开始使用,至今爱不释手。 在这个7月炎热的天气里,W突然爆发,在毫无预兆的情况下,有3个站点采用。深度使用下来,由心自发的惊叹:W好牛B,智慧的结晶!尤其是高扩展性,便捷的二次开发,数以万计的主题和插件,让国内所有开源程序(phpwind、discuz、php168等)相形见黜。不仅可做BLOG,还可以做EMS(企业网站系统)、SNS、BBS、CMS….. 特此表扬一下:

获取优酷视频缩略图

优酷并不像youtube那样提供获取缩略图的API,要获取优酷缩略图, 一种方法是用ffmpeg直接读取上述网站的某个视频,然后截取其中的某帧作为 该视频的缩略图; 另外一种方式则是想办法读取网站自身提供的视频缩略图。前者需要安装ffmpeg,暂不便测试。所以选用第二种方法,通过正则表达 式获取优酷自身提供的视频缩略图。活在21世纪,可以不会写字,但一定得会搜索。一番摸索之后发现已有行家分享。

桌面之争:Vc对比Delphi,MFC对比VCL

(注:本文源于网络,寻踪至2008年3月,当时delphi所属的Borland公司已与Inprise合并,在2008 5.7 被出售给Embarcadero(易博龙)公司,so Delphi现属于Embarcadero) VC和Delphi作为开发平台,很重要的一点就是提供了一个”无所不包”的应用框架:VC的 MFC和Delphi的VCL。MFC是用C++写的,VCL是用Object Pascal写的。当然,我们都知道,C++的使用范围比Object Pascal广得多,移植性也好得多。这本来是优点,但很有意思的是,正因为如此,微软写MFC时必须考虑最大限度减少对语言本身的改动,而把功夫下在源 代码级,以便能尽可能支持ANSI等标准,结果导致MFC的封装复杂而不直观。(尤其是它对消息的封装,下文还会提到)。太多的宏定义和含义模糊且自动生 成、不得改动的注释使MFC乃至VC让很多新手望而生畏,不敢”下水”深入学习。而Object Pascal几乎是Inprise”专用”的,不必考虑”标准”问题,因此Inprise写VCL时就把全部精力放在了结构与性能上,结果语言与框架的磨 合程度非常好。VCL框架的结构清晰,VCL代码的可读性非常好。许多人说Delphi比较容易上手,也是这个缘故。天下没有白吃的午餐。你要工业标准 吗?你要可移植性吗(关于可移植性和兼容性,下文会详细比较)?那么请面对MFC的”天书”级代码吧。

prefix让你深刻认识/etc/ld.so.conf

话说这两天在装一个叫libmodbus的c函数库,linux系统在pc上极少用,但在server上是另一片天,在linux系统装一个c函数库,其实就是安装一软件源代码包。下载的源码包名 libmodbus-3.0.3.tar.gz,对付tar.gz包,哥一向二话不说按解压、编译、安装的步骤走,安装目录/usr/local/modbus/是自己指定的,安装完还顺道把 /usr/local/modbus/libmodbus-3.0.3/src/ 下的所有.h 文件复制了一份到/usr/include/, 接着在/usr/test/目录下写了一个test.c的测试文件,见图一

Linux下软件的安装与卸载    ? 在Windows下安装软件时,只需运行软件的安装程序(setup、install等)或者用zip等解压缩软件解开即可安装,运行反安装程序 (uninstall、unware、“卸载”等)就能将软件清除干净,完全图形化的操作界面,简单到只要用鼠标一直点击“下一步”就可以了。而 Linux好象就不一样了,很多的初学者都抱怨在Linux下安装和卸载软件非常地困难,没有像使用Windows时那么直观。其实在Linux下安装和 卸载软件也非常简单,同样也有安装向导或解压安装的方式,不相同的只不过是除了二进制形式的软件分发外,还有许许多多以源代码形式分发的软件包,下面就来 详细地讲一讲这些软件的安装与卸载: 一、二进制分发软件包的安装与卸载 Linux软件的二进制分发是指事先已经编译好二进制形式的软件包的发布形式,其优点是安装使用容易,缺点则是缺乏灵活性,如果该软件包是为特定的硬件/操作系统平台编译的,那它就不能在另外的平台或环境下正确执行。 1、*.rpm形式的二进制软件包 安装:rpm  -ivh  *.rpm 卸载:rpm  -e  packgename 说明:RPM(RedHat  Packge  Manager)是RedHat公司出的软件包管理器,使用它可以很容易地对rpm形式的软件包进行安装、升级、卸载、验证、查询等操作,安装简单,而 卸载时也可以将软件安装在多处目录中的文件删除干净,因此推荐初学者尽可能使用rpm形式的软件包。rpm的参数中-i是安装,-v是校验,-h是用散列 符显示安装进度,*.rpm是软件包的文件名(这里的*.rpm特指*.src.rpm以外的以rpm为后缀的文件);参数-e是删除软件包, packgename是软件包名,与软件包的文件名有所区别,它往往是文件名中位于版本号前面的字符串,例如apache-3.1.12- i386.rpm和apache-devel-3.1.12-i386.rpm是软件包文件名,它们的软件包名称分别是apache和apache- devel。更多的rpm参数请自行参看手册页:man  rpm。 如果你不喜欢在字符界面下安装或卸载这些软件包,完全可以在X-Window下使用图形界面的软件包管理程序,如glint、xrpm这样的图形接口,或者是KDE的kpackge等,这样对软件包的安装、升级、卸载、验证和查询就可以通过点击鼠标来轻松完成。

nginx的rewrite重写规则与apache对比    nginx rewrite规则相关指令有if、rewrite、set、return、break等,其中rewrite是最关键的指令。一个简单的nginx rewrite规则语法如下:       rewrite ^/b/(.*).html /play.php教程?video=$1 break;       如果加上if语句,示例如下:       if (!-f $request_filename)     {     rewrite ^/img/(.*)$ /site/$host/images/$1 last;     }

常用vi,哪能不记命令啰!

最近对Linux的使用增多,像vi这种必不可少的编辑利器,俺不敢不从,先记点常用命令: ★命令模式 移动光标 h 或 向左方向键(←) → 光标向左移动一个字元 j 或 向下方向鍵(↓) → 光标向下移动一个字元 k 或 向上方向鍵(↑) → 光标向上移动一个字元 l 或 向右方向鍵(→) → 光标向右移动一个字元 [Ctrl] + [f] → 屏幕『向下』移动一页,相当于 [Page Down]按键 [Ctrl] + [b] → 屏幕『向上』移动一页,相当于 [Page Up] 按键 n<space> → n 表示『数字』。按下数字后再按空白鍵,光标会向右移动这一行的 n 个字元 0 → 数字『 0 』:移动到这一行的最前面字元处 $ → 移动到这一行的最后面字元处 G → 移动到这个文件的最后一行 […]

Linux查看系统信息的一些命令(转)

最近Linux用得较多,不记不行呀!特此一记: 系统 # uname -a # 查看内核/操作系统/CPU信息 # head -n 1 /etc/issue # 查看操作系统版本 # cat /proc/cpuinfo # 查看CPU信息 # hostname # 查看计算机名 # lspci -tv # 列出所有PCI设备 # lsusb -tv # 列出所有USB设备 # lsmod # 列出加载的内核模块 # env # 查看环境变量资源 资源 # free -m # 查看内存使用量和交换区使用量 # df -h # 查看各分区使用情况 # du -sh […]

在Windows上安装Django_v1.2

       最近看贴发现有不少业内人提到Python(一种简捷而功能强大的程序语言),前天在看一篇关于YouTube视频网架构的文章时,发现YouTube的后端采用过Python, 由于偶一直觉得YouTube的视频清晰度高,看着也流畅,这与它的后端架构及开发技术分不开。于是python让偶感觉越来越神奇,憋不住了,直接动手,就拿python做点Web应用吧,开发Web应用,想提高效率,开发框架是不可或缺的,Django就是这样一个框架,并且开源。要玩就玩真的,一口气,把运行环境、开发环境、框架都装了吧。 首先要准备好相关软件: Python 2.6.5 PIL for py2.6 Mysqldb for py2.6 Apache 2.2.x mod_python 3.3.1 for py2.6 Django 1.2.1 以上软件在网上的下载地址: