我使用的操作系统是OS X Lion,各位在看我写的文章的时候请注意这个问题! 有些内容可能需要稍作修改才能完全与你使用的系统相适应。 :)

如何让OS X系统的堆栈高亮显示文件?

2012年5月14日 没有评论

你是否想让你的dock上的堆栈有这样的效果?其实lion早就预置了这个效果,只是没有打开,现在我们来手动打开它:

首先打开“终端”(应用程序->实用工具),然后输入以下命令:

defaults write com.apple.dock mouse-over-hilite-stack -bool TRUE;killall Dock

这时候可能系统会稍微卡顿几秒,然后重新点开堆栈,看吧!鼠标滑过,漂亮的高亮显示。

如果你想关闭,就在终端中输入:

defaults delete com.apple.dock mouse-over-hilite-stack;killall Dock

 

以上内容整理自这里

 

分类: 笔记本 标签: ,

《C程序设计》真的不是一本好书⋯⋯

2012年5月7日 没有评论

继续读着我这本《C程序设计》,就是谭浩强的那本,第三版。我买的还是正版呢,真是不知道为什么网上那么多人推荐这本书,天!

那个关于void main()的惊天错误我就不再做多吐槽了,,,

话说今天做练习,果断发现了个错误。

就在书的89页,练习习题4.5,他的题里的例子是这样的:

  1. #include<stdio.h>
  2. int main(void)
  3. {
  4. int a = 5,b = 7;
  5. float x = 67.8564,y = -789.124;
  6. char c = ‘A’;
  7. long n = 1234567;
  8. unsigned u = 65535;
  9. printf(“%d%d\n”,a,b);
  10. printf(“%3d%3d\n”,a,b);
  11. printf(“%f,%f\n”,x,y);
  12. printf(“%-10f,%-10f\n”,x,y);
  13. printf(“%8.2f,%8.2f,%.4f,%.4f,%3f,%3f\n”,x,y,x,y,x,y);
  14. printf(“%e,%10.2e\n”,x,y);
  15. printf(“%c,%d,%o,%x\n”,c,c,c,c);
  16. printf(“%ld,%lo,%x\n”,n,n,n);
  17. printf(“%u,%o,%x,%d\n”,u,u,u,u);
  18. printf(“%s,%5.3s\n”,”COMPUTER”,”COMPUTER”);
  19. return 0;
  20. }
看出来了吗?看出来了吗?
当然没有。
我就知道呵呵,可能大家买这本书很少有人去看习题吧~更会少有像我这样真的打到电脑上去编译⋯⋯
可能更多的人用tc,,,不过我觉得就算是tc,也会提示吧!
大家注意16行~

printf(“%ld,%lo,%x\n”,n,n,n);

看见了吧看见了吧!哼哼⋯⋯  声明部分n 明明是long型,后面的输出到了x那里l就没了!就那么刷的没了!!!

= =我说怎么gcc死命提示我%x不对呢⋯⋯

开始还以为自己打错了⋯⋯

怎么可以这样么!对于那些只在纸上练习c语言的筒子们,伤害多深呀~

嗯⋯⋯吐槽到此结束。

另外,你能在纸上写出程序编译后运行的结果么?

我可是先写出来再编译对照的哦~结果是~全对!啊哈哈

手把手教你科学上网系列之三:MAC OS X篇

2012年5月4日 没有评论

其实这篇才是咱的重点,另外,在os x下是有图形界面的哦~

好了, 直接开讲。

首先,到这里下载源码这个软件叫做GoAgentX,是专门为在OS X上使用goagent用户开发的哦

当然,编译需要用到Xcode,由于大多数筒子并没有下载这个巨型的软件,我为大家编译好了,用的是Xcode4.0

大家直接下载就好。下载解压后将app文件直接拖放到应用程序里面就好。然后双击启动。

这里值得一提的是如果你使用了lion自带的防火墙,可能每次使用都会被提示,,这也是我测试的时候遇到的一个比较麻烦的问题。因为开发者只给出了源码,使用软件只能自己编译,我又没有签名,so。。。。,最后,我建议大家关掉那个苦逼的自带防火墙吧,lion自带防火墙是多么2!推荐第三方防火墙little snitch。

好,打开软件后先点击“服务配置”然后在下面选择“goagent服务端

然后填入appid,用|分隔,“|”输入的方法是shift+回车键上面那个按键:)

用户名就是谷歌帐号,也就是谷歌邮箱的地址,密码就是谷歌帐号的密码。

输入完成后先不要急着动,打开Finder,选择“前往”“文件夹”然后输入下面的地址进入。

/Applications/GoAgentX.app/Contents/Resources/goagent

在打开的文件夹里找到proxy.ini,双击编辑。

上图是windows下的编辑截图,mac下同样适用,找到[age]appid=

然后将“goagent”换成你刚才在goagentX里输入的那几个appid,同样用|分隔,算了,你就直接复制过来就好了= =。

值得注意的就是不必要把里面的空格弄没了。然后关闭就好。

接下来回到软件界面,点击“状态”。然后在左侧的下拉菜单中选择第二个,然后点击启动来上传配置文件。

耐心等待上传成功,然后再点击服务配置,在下面选择goagent选项卡,继续填写appid,恩,你刚才没有复制别的东西的话就直接command+v就好啦哈哈。(如果刚才没有复制,那就耐心输入吧,同样用|分隔),本地端口就写8087即可,服务密码同样无视掉,连接模式就选择http,服务器cn,代理服务器不要打勾,下面不要动即可。

配置好后再次回到“状态”,下拉菜单选择第一个,也就是“goagent”,点击启动。这样,就完成了。

接下来我们再说说“其他设置

按照上面截图,所有的勾都打上,然后下载这个pac文件备用

再次打开Finder,前往-文件夹,输入

/Applications/Safari.app/Contents/Resources/

将那个pac文件拖放到这里,可能你需要输入电脑密码来鉴定。

总之复制进去后,在软件的地址栏里输入这个地址。

file://localhost/Applications/Safari.app/Contents/Resources/autoproxy.pac

然后点击状态栏上的图标,点击“正在运行,端口8087”来关闭服务,然后再点击之重新开启

这样,你就可以在safaril里畅享智能代理带来的快感啦!

而且开机自动启动!

手把手教你科学上网系列之二:windows平台配置篇

2012年5月4日 没有评论

嗨大家好,前面我们已经注册好了appid,为什么没有设置那个16位密码呢?因为咱们不是很需要那么大的安全,反正你的谷歌帐户也不用来做什么机密的事情呗!总之,我是没有弄的。哈哈

好了,现在,咱们来配置你的pc电脑上网。

首先,来下载需要的文件。官方的话是这里这个是1.8.4稳定版,如果打不开的话,就下载我这里备份的吧!

下载好了以后,就把goagent文件夹解压出来,放在C盘或者D盘的根目录吧!方便查找呵呵。

然后打开目录下的local文件夹,找到里面的proxy.ini这个文件,直接双击就会出现记事本编辑界面啦。

找到[gae]下的appid=

将后面的goagent换成你自己之前记录的appid,如果是多个,记得要用竖线“ | ”隔开哦!如果不知道是哪个按键,就复制我这里的啊哈哈||||||||||||||||||这么多,随便选一个吧:)还有就是不要顺手把里面的空格删掉了就好。修改完成了,就保存关闭吧。

接下来,我们打开goagent文件夹下local文件夹旁边的server文件夹,找到里面的upload.bat,点击右键选择以管理员身份运行,(双击应该也可以啦)

出现上面这个对话框,然后根据提示输入你的appid,同样如果有多个,就用“|”分隔(这下,我想你还得去找找在键盘上怎么输入“|”了,其实这个按键就在回车键上面,上档键(shift)+回车上面那个键就是了。)

输入完按回车键,然后会提示输入邮箱地址,这个地址就是你注册的谷歌帐号,也就是gmail的邮箱啦,再回车,就要求输入密码,因为我们没有设置烦人的16位密码,就输入设置好的谷歌帐户密码即可:),值得注意的是:在输入密码的时候,界面是没有显示的,你输入了什么,不会在屏幕上显示,只有你自己和程序知道:)

按回车后程序就会自动上传配置文件,大家就安心等待吧。

上传完成后,每次要科学上网,就打开local文件夹下的goagent.exe即可

好了,使用第三方浏览器的筒子们请等待后面的教程。

另外,本文内容部分来自这里这里

手把手教你科学上网系列之一:注册appid

2012年5月3日 没有评论

可能是今天我在人人上发的状态太有诱惑力,搞得大家都在问我科学上网的问题。。so,我也就来整理个教程把!其实这个不是什么高深的技术也不是什么秘密,恰恰相反,我用的这个方法还是网络上挺火的方法。至于原理,它是基于GAE应用,你可以参照这个图来理解。(点击查看大图)

 

我们就基于这个原理,在本地搭建代理服务器罢了。然后使用一个软件,叫做goagent。大家也可以去谷歌搜索一下试试看。会有很多信息。

这一类的教程有好多好多,都写的十分详细,所以重复的地方我就不再过多赘述,直接引用了,嘿嘿,小小的偷个懒,不过源网页我会给出链接,算是大家的参考。

另外,这个方法是跨平台的,我会逐步写出各个平台的配置方法!

好了,不多说 了,开始今天的第一步吧!

注册appid

首先,你得去申请Google App Engine(GAE)账号(其实就是申请Gmail账号,两者通用,如果有可以直接用。)

这些截图来自http://maolihui.com,源网页在这里

打开链接后应该是这个样子啦

 

就像我刚才说的,没有的点击注册,去注册谷歌帐户,如果有了,就直接登陆。

对于没有谷歌帐户的筒子,现在谷歌推出了新政策,强制注册google+,反正就如实填写吧,手机写自己正在用的,邮箱也要写正在用的(qq邮箱也行)因为完成后会有验证邮件的。另外说一句,如果过程中要求手机短信验证神马的,如果页面没有标注会收费,那就一定是免费的。:)

总之,拥有了一个帐户并且登陆后,我们继续。点击Creat an Application

 

接着输入你正在使用的手机号码,国家选择Other(Not Listed)就像这样:(哦对了,别忘了手机号输入后在前面加上“+86”比如说+8613800138000这个样子。

 

然后点击发送,然后谷歌会发来短信(免费的),里面有一串数字,填上即可。

 点击send后,Google App Engine账号即被激活,然后就可以创建新的应用程序了。页面会自动转入“My Applications”页面,点击“Create an Application”新建应用,如下图:

然后就按照下面的解释来填写应用的信息:

 

在上图中第一处添加一个应用名称,如123abc验证一下是否可用,如果通过那么123abc就是你的Appid一定要记住这个id!我的建议是新建一个文本文档,然后把每一个id都复制进去哈哈。值得注意的是,创建多个id,id必须是唯一的,不可重复。),而123abc.appspot.com就是你的应用服务器地址了。第二个空格就是给你的应用取个名字,可以随便填,最后点击提交按钮,如果能看到下图这个页面,就说明你成功创建了一个新的应用

至此,你已经完成了一个应用的申请,现在强烈建议不要关闭网页,转到http://appengine.google.com页面,再重复几次,我个人申请了六个,最多10个你也可以都申请的。记住一定要把应用的id记下以备用!

好今天的教程就到这里~

 

vim设置语法高亮后有时无效

2012年4月30日 没有评论

我学习c语言编程并没有用老掉牙的tc2.0,也没有用新的tc,之前是在linux下学的,学了一小段时间后放弃了。

现在再开始,实在lion下的,使用的是控制台+vi(vim)+gcc编译。

关于vi的高亮语法和首行缩进等等的设置,我前面的文章也介绍了解决办法,用起来还是挺舒心的。

但这几天使用过程中,还是出了点说不上意外的意外。就是在用vi创建文档写代码的时候有时会无法高亮代码。好奇怪,命名已经设置,但就是没用,再三检查配置文档也无效。

但是保存关闭后再次打开又能用了,后来自习比对,终于叫我找到了原因——我还真是2啊!

原因是lion祖上是unix,和linux某些特性是一样的,因为它们祖上都是unix,比如说这个文件的后缀问题!

很多时候在linux上是没有后缀的,你写个c语言代码不加人和后缀甚至胡乱加个后缀gcc都能给你编译⋯⋯但是vi它不认识啊,它得靠后缀猜你文档将要写什么语言的代码,才能高亮⋯⋯

so,不加后缀,vi果断不高亮,权当扑通文档处理了。然后保存,再打开,它可能是根据内容分析,发现是c语言代码,所以就又高亮了⋯⋯汗死。

vi program

这样打开一个空文档,vi就果断不高亮

vi program.c

这样打开,才有哦

= =不知道有没有新手和我犯同样的2

哈哈

如何学好C语言

2012年4月30日 没有评论

今天上网无聊搜文章,找到这篇,很不错,酷壳网,嗯,,转帖以收藏。原文链接在此

我相信,这可能是很多朋友的问题,我以前也有这样的感觉,编程编到一定的时候,发现能力到了瓶颈,既不深,也不扎实,半吊子。比如:你长期地使用Java和.NET ,这些有虚拟机的语言对于开发便利是便利,但是对于程序员来说可能并不太好,原因有两个:

  1. 虚拟机屏蔽了操作系统的系统调用,以及很多底层机制。
  2. 大量的封装好的类库也屏蔽了很多实现细节。

一段时间后,你会发现你知其然,不知所以然。。我以前在CSDN上写过一篇《Java NIO类库Selector机制解析(》,在那篇文章中我说提到过(有讥讽的语气)Java的程序员不懂底层实现,所以很难把技术学得更扎实。此时,一部分程序员会不自然地想学学底层的技术,很自然的,C语言就被提了上来。

下面是我给这位朋友的一些建议:

 

  • 鼓励并为你叫好。我鼓励你想要去学C语言的想法和精神,很多人都觉得C语言好学,其实并不然。(你可以看看《C语言的迷题》)现在的这个社会更多地去关注那些时髦的技术,而忽略了这个流行了40+年的C语言。一门技术如果能够流行40多年,这才是你需要去关注和学习的技术,而不是那些刚出来的技术(过度炒作的技术Windows编程史)。这才是踏踏实实的精神。
  • 不要找借口。这一条路走下来并不容易,不要给自己找借口。我最不喜欢听到的就是“很忙,没有时间”这样的借口。我以前在银行做项目,早9点到晚10点,周一到周六,我一样可以每天抽1个小时来看书和专研,一年下来也能精读5、6本书。我现在的工作项目和招聘任务很紧张,刚生的小孩只有自己和老婆两人带,还需要准备讲课,但是我还是能够找到时间看文章写文章维护酷壳。所以,我可以告诉你,“时间就像乳沟,只要你肯挤,就一定会有”。

如果你能在2-3年内精读完这些书,并全部融会贯通,那么你就明白什么是一览众山小的感觉了!我足足花了5年时间才算是真正全部读完这些书的。最后,祝你好运!努力!

——-更新:2011/03/29 20:00——-

我想,这篇文章主要想告诉大家这么几件事:

  • 编程编到一定时候,你就需要了解底层系统的机制,否则,知其然不知所以然。
  • 我没有否定非C的程序员的逻辑,真正的逻辑是——如果你想要了解底层机制,请学习C语言和操作系统。
  • 40多年的Unix/C影响深远。包括影响了Windows。如果你想一通百通,一定要了解Unix。那是计算机文化真正的根。
  • 不要肤浅地去思考问题。比如,不要以为一个DBA就不会考虑数据库引擎的内存页面的问题。也不要以为Web程序员就不需要了解后台的服务器和脚本的运行性能以及TCP/IP的问题。

高手往往都是有很强的系统的基础知识的,表面的东西永远是肤浅的。

分类: C语言, 编程语言 标签:

写一写vi吧!在OS X lion下学编程。

2012年4月27日 没有评论

 

 

这几天开始学习c语言编程了,作为所有程序员推荐的入门语言,看着《c程序设计》我依旧是感到亚历山大呵呵。这本书应该不是最好的教程吧,不过我手头正好有这本书和相应的指导,就将就着看了。

我是在lion下学习编程的,所以直接下了Xcode,哦,当然我果然不会用。。。。汗

后来经推荐,还是用回了vi+gcc的老方法,而且似乎这样是很多高手们的使用方法啊哈哈~咱也显得高深嘛。

然后vi编辑,好在我以前一直用linux发行版,所以vi无压力了,至少基本操作还是没有问题的,但用来编程,还是得稍微个性化一番。

下面我就直接提供代码了,直接用vi在用户目录创建.vimrc就好。

然后按 i 变为插入模式,然后粘贴进下面的代码

"這個檔案的雙引號 (") 是註解
set hlsearch            "高亮度反白
set backspace=2         "可隨時用倒退鍵刪除
set autoindent          "自動縮排
set ruler               "可顯示最後一行的狀態
set showmode            "左下角那一行的狀態
set nu                  "可以在每一行的最前面顯示行號啦!
set bg=dark             "顯示不同的底色色調
syntax on               "進行語法檢驗,顏色顯示。

这些代码来自鸟哥的私房菜

另外,说说vi和vim的关系,vim是vi的扩展吧,一般这样理解就好了,另外,所有unix系统都会有vi,而且更多时候,vi都映射了vim,即vi=vim

分类: C语言, 编程语言 标签:

Xcode 4.3 with NO GCC!?

2012年4月27日 没有评论

终于咱鼓起勇气再次拿起《c程序设计》,安装完xcode后却发现居然没有gcc等一系列东东,,,郁闷,上网谷歌之,得解

 

解决方法是Preferences > Downloads > Command Line Tools > Install

 

呵呵,因为找到了遇到相同问题的朋友,他的原文在这里,还有另外的解决办法。

分类: 笔记本 标签:

如何解决iphone不能拍照故障

2012年3月29日 1 条评论

Iphone不能拍照也是很常见的软件问题,如果你遇到这样的问题不妨这样解决:

用91手机助手的文件管理功能,定位到/private/var/mobile/Media目录,找到DCIM目录,在此目录上点击右键,选择属性,然后更改用户为mobile,权限为777,并勾选底部的“将更改应用于该文件夹、子文件夹和文件”前面的勾后,再按确定,然后重启您的iPhone让后看看你的手机能不能拍照,要是还是不能解决问题,建议你重新刷机,要是还是解决不了,那就有可能是硬件的问题了 

我是按照上面的方法解决的。把权限改称777确实可以。

另外,修复之后我想到,或许也可以用sbs里的修复权限吧⋯⋯不过问题既然已经修复就不再测试了⋯⋯

毕竟,我的3g老了⋯⋯

 

最后,方法参考自这里

分类: 笔记本 标签: