我的编程知识体系搭建

看了很多东西,努力的想去尽可能的适应、适用,但不可能也没有那么多精力的去学习多的新的东西。
照目前所学的和工作上的需要,我将C/C++/Python/C#作为我的编程知识体系基本语言。

C/C++:虽然做C/C++开发的很多,但不管是过去现在还是将来,不管在Windows还是在Linux,它都是编程语言中的王者。

Python:快速原型语言,用于实现程序原型。

C#:到目前为止还没用过C#开发,它是我目前刚开始学的语言,但是在Windows上开发(作为Windows程序员),学会一门微软专有的语言也是必要的,何况它的许多高级特性对于开发Windows应用程序很便利。

这四种语言之外暂时不打算学习新的编程语言,并主要使用这四种编程语言完成几乎所有的工作。

同时也将Delphi(Pascal)/Visual Basic将我所使用的编程语言中划掉,前者我自始至终都没有学会,后者一身诟病。

开发程序的同时不使用数据库是必然的,计划使用MS Access/SQLite/MySQL/MS SQL Server作为日常开发数据库。

MS Access:虽然它也是一身诟病,但是当前的工作需要使用它,并且长期一段时间会使用的,因而它还是在我的数据库使用列表中。

SQLite:同样是桌面型数据库,小巧快捷,在以后我单独开发的小型项目或者数据库不是需要很强大的项目中我将使用它以代替MS Access。

MySQL:作为中小型解决方案不错的,这么受宠的数据库我怎么能不使用。

MS SQL Server:主要是与微软的产品结合使用,我还是认为微软的东西要与微软的东西搭配使用才能发挥得好(微软与其它产品总是有这样那样的不兼容,这主要也是为了少折腾)。
-EOF-

Code::Blocks添加Link文件

使用Code::Blocks编译一些代码的时候会出现”undefined reference to `****’”类似的错误,这主要是因为没有添加所需要的Link文件。添加方式如下:

  1. 添加全局作用模式Settings->Compiler and Debugger->Global Compiler Setting->Linker settings选择add找到所有的文件添加进来即可。
  2. 添加项目作用模式Project->Project build options->Linker settings选择add找到所有的文件添加进来即可。

-EOF-

Code::Blocks ConsoleRunner改进版

Code::Blocks是开源的,好处就在于可以随意的修改它,然后自己编译。Code::Blocks默认提供了一个 ConsoleRunner程序,在Windows平台下它可以提供程序的返回码与程序启动到运行结束的时间,很实用。貌似,仅仅是返回码和时间是不够的,偶给它来了个小小的修改,添加了几个小功能:

* 显示程序运行内存使用峰值
* 显示程序运行用户时间
* 显示程序运行内核时间
* 显示程序运行时间(用户时间与内核时间和)

这样改进后更方便更实用了,喜欢自己动手的童鞋可以继续修改添加自己喜欢的功能。
使用方法很简单,下载后直接替换Code::Blocks安装目录下的cb_console_runner.exe文件即可。

以下是源代码:

-EOF-

两款开源IDE

搞开发离不开好的IDE,搞C++开发更离不开。除了微软的VC外,Code::Blocks和Dev-C++也是不错的选择。而且Code::Blocks和Dev-C++都是开源的,偶尔无聊的时候,还可以捣鼓捣鼓它的源代码,自己编译。

我个人推荐使用Code::Blocks,因为它还是跨平台的,拥有Windows、Linux、Mac OS X三大主流操作系统版本,就算以后换平台,工具也不用换。Dev-C++采用Delphi开发,虽然说现在Delphi的开发人员还有很大一部分,但是随着Delphi的没落,Delphi是早该淘汰的了,而且Dev-C++自20040904出了4.9.9.2版以后再也没有更新过,估计更新的希望也就不大了,对于这么一款方便的IDE来说,也是一个遗憾。
更遗憾的一点是这两款IDE集成的GCC版本较老(Code::Blocks使用GCC3.4.5,Dev-C++使用GCC3.4.2),不过喜欢自己动手的同学可以自己下载最新的GCC替换之。
好了,萝卜白菜各取所爱吧。
Code::Blocks
Dev-C++
-EOF-

Plink+SSH

有SSH帐号的童鞋们可以是用SSH+Plink翻墙哇,先去下载一个[download id=”28″]。在开始->运行或者命令行下执行

plink -N username@hostname -D 127.0.0.1:7070

这样需要每次输入密码,嫌麻烦的话就加一个-pwd参数建立快捷方式指向plink,以后每次执行快捷方式即可。

plink -N username@hostname -D 127.0.0.1:7070 -pwd password

各参数意义如下:

  • username:登录SSH用户名
  • hostname:登录SSH服务器IP或域名地址
  • 127.0.0.1:本地代理IP
  • 7070:本地代理端口
  • password:SSH登录密码

登录好SSH后,再将浏览器socks代理设置为127.0.0.1:7070,登录任意查看IP的站点看看,IP是不是已经变成SSH服务器数据的出口IP了。
-EOF-