Lennoo

技术随笔

0%

cURL是一个利用URL语法的文件传输工具,是基于libcurl的前端命令行工具。它支持很多协议:FTP, FTPS, HTTP, HTTPS, GOPHER, TELNET, DICT, FILE 以及 LDAP。 它同样支持HTTPS认证,HTTP POST方法, HTTP PUT方法, FTP上传, kerberos认证, HTTP上传, 代理服务器, cookies, 用户名/密码认证, 下载文件断点续传, 上载文件断点续传, http代理服务器管道( proxy tunneling), 甚至它还支持IPv6, socks5代理服务器,通过http代理服务器上传文件到FTP服务器等等,功能十分强大。

Vim是功能强大的文本编辑器,但是每个工具都有其针对的适用群体。如果你只是偶尔做些文本编辑工作的话,那灵活而又显得繁琐的设置,以及特别的操作方式可能不适合你。但是你是跟我一样,是个平平凡凡的程序员,每天要花费大量时间在写代码,把弄着各式各样的程序语言:C\C++,Python,Tcl,Html,Xml,…,那么你可能需要像Vim这样的工具,即使你要在它上面花费些时间去熟悉和适应它。

先讲述一下,我跟Vim相处的过程,这是个从认识,到抛弃,到再认识,到再学习,到喜欢的过程。最早接触到Vim是在Solaris上,需要修改编辑一些配置文件,看着其他工程师们手指随意地在键盘上敲击,就完成内容的修改,根本没有动用到什么鼠标,那是好生羡慕。严格意义来说,那时候碰到还不是Vim,只是VI而已。在终端上工作,没有什么Notepad之类的程序,只好把指令抄在纸上,查查网上的资料,学会了h,j,k,l,w,q,e,这几个简单指类来进行简单的文本查看工作,仅此而己。后来在Windows上安装了VIM,但是挣腾了几下,没有适应过来,也就只好使用UltraEdit了。UltraEdit对一般的纯文本,按Windows习惯来说是蛮好使的。再后来,玩了会儿ruby,又装起了Vim,但是那时候的对Vim的使用也只是限于上面的简单的指令,再加上Vim的插件,来完成语法高亮,ruby中的MVC文件的方便跳转而已,还是没有习惯Vim,有时候还是不经意用UltraEdit来打开查看编辑文件。直到最近,需要编写Docbook,以及用Python,才真正花费了大量时间来学习使用Vim,才真正认识到到它的可爱。

Boost.Lambda是什么?

Boost Lambda库是C++模板库,以C++语言实现了lambda抽象.Lambda这个术语来自函数编程语言和lambda闭包理论,lambda抽象实际上定义了匿名函数.了解过C#新引入的匿数函数特性或Lisp编程的人,对这些概念理解会有很大帮助.Lambda库设计的主要动机是为STL算法提供灵活方便的定义匿名函数对象的机制.这个Lambda库究竟是有什么用呢?代码胜千言!看下面将STL容器中的元素打印到标准输出上的代码.

Glade是针对GTK+工具箱与GNOME桌面开发环境的快速图形界面开发工具.用Glade设计的用户接口以XML的文件形式保存,然后根据需要由程序通过libglade库文件来动态加载.因为使用了libglade库,Glade XML文件能够被C,C++,Java,Perl,Python,C#等等语言所支持.针对其他未涉及的语言的支持也是方便的.

在网上可以见到某些关于Glade的教程,大都是关于Linux平台和Glade 2的,因为原先Glade作为快速开发工具,集成代码生成功能,生成C文件.所以常常有初学者对网上某些教程所提及的"generate"(生成代码)功能表示迷惑,在新版本的Glade-3上找不到对应的功能.

Windows下的C++程序员在开发图形用户界面时,首先想到可能就是MFC了.对于 GTK+ 这种GNU/Linux上出生出来的东西,就感到陌生了.GTK+是类似于MFC的图形界面库,跟MFC不同的是,它不是用C++,而是用C语言实现了面对对象的机制,但能与许多语言绑定,并具有跨平台的特性.比如与Python的结合,就产生PyGTK,“初识PyGTK"就介结了其在Windows平台的安装.