大亮 的个人资料程序员的救赎照片日志列表更多 工具 帮助
DV奥斯卡

大亮

职业
地点
兴趣
真的猛男,并非压倒一切,而是不被一切所压倒。
songwsdy#msn.com

程序员的救赎

run,think, fool
11月18日

云南小结

自从云南之行归来,一直没时间来写一篇游记,
虽然,自认记忆力还可以,但是重温那每一天的行程和细节还是困难的。
只有罗列一些名词做为回忆的载体,才可以自私的梦回彩云之南。
多民族的体现:
白族(金花,阿朋G)纳西(胖金G,胖金M)彝族(阿诗玛,阿黑哥,白,花)香格里拉(骚多哩,猫多哩)
云南十八怪已经很难记得了。
只记得:什么三个蚊子一盘菜,鲜花论斤卖,躺在床上谈恋爱~~~
导游介绍的一些历史故事,却还能复述出来。
这次抱歉没有能图文相嵌,因为,我希望有空大家也要亲身去逛古街,搭讪下微笑的胖金妹,吃点特别的特色菜。
突然,发现自己在都市里变得像张白纸,而渴望去靠近五颜六色。
10月20日

[技]用xinetd系统服务来挂载socket服务端应用

1,准备好程序(本例程序或服务名为TVMsrv)
摘抄部分:
#if defined(__STDC__) || defined(__cplusplus)
main(int argc, char *argv[])
#else
main(argc, argv)
int argc;
char *argv[];
#endif
{
int sockfd,new_fd;
 sockfd=new_fd=0;
 WorkThread(&sockfd);
    close(sockfd);
    return 0;
}
2,在etc/services  中用vi在最后一行加入: TVMsrv             18023/tcp
3,在etc/xinetd.d/下建立文件TVMsrv,并加入如下内容:(注意服务名,文件名的统一)
service TVMsrv
{
        socket_type     = stream
        protocol        = tcp
        wait            = no
        user            = tbs
        server          = /home/tbs/bin/TVMsrv.sh
}
4,把启动服务程序的sh脚本,部署在相应描述的路径下。/home/tbs/bin/
当然,把编译好的程序也放在此目录下。(同时部署好供其使用的配置文件)
因为,脚本文件的最后一句,即是启动程序,例如:./TVMsrv $HOME/config/TVMsrv.cfg
5,然后,就等着准备客户端来测试吧,系统在帮助我们一直监听请求哟。
9月20日

[技]在linux下的配置(为适应ssh)

chkconfig --list | grep sshd    查看sshd服务在哪种级别下开启,建议only 3。

防火墙规则中必须允许sshd访问,可以:
1.清除防火墙规则,#iptables -F
2.#iptables -A INPUT -p tcp --dport 22 -j ACCEPT
   #iptables -A OUTPUT -p tcp --sport 22 -j ACCEPT

9月10日

英语角使用---功夫熊猫台词整理

(turtle immortal)
  4.俗语说,
  过去的,已经过去了
  未来的,还未可知
  现在,却是上苍的礼赠
  那就是为什么今天是present(现在/礼物)
  There is a saying,
  Yesterday is history
  Tomorrow is a mystery
  But today is a gift
  That is why it’s called the present (the gift)
  1.往往在逃避命运的路上,却与之不期而遇(in other words when we afraid of sth,than sth may come true)
  One meets its destiny on the road he takes to avoid it
  5.世间无巧合
  There are no accidents.(every accident happenned with many conditions,we should pay more attendtion to)
  10.我私家汤的绝密食材,就是…什么都没有。
  认为它特别,它就特别了。
  The secret ingredient of my secret ingredient soup is...nothing.
  To make something special ,you just have to believe it’s special.
  2.你的思想就如同水,我的朋友,当水波摇曳时,很难看清,不过当它平静下来,答案就清澈见底了.(let us know the process or rule thing goes,another famous guy of old china use to said the same kind of this idiom 浊者自浊,清者自清----老子.)
  Your mind is like this water, my friend , when it is agitated ,it becomes difficult to see ,but if you allow it to
settle , the answer becomes clear.
______________________________________________________________________________________________________________  
  (background)
  8.师傅:那你为什么不退出呢?
  你知道我一直想把你赶走,
  可你还是留下来了。
  Why didn’t you quit ? you know I was trying to get rid of you
  but you stayed
  阿宝:是啊,我留下来了。
  我留下来是因为每次你往我头上丢砖头,
  或说我难闻,这很伤我的心。
  可最伤我心的是,我每天努力练习,却还是这个我。
  我留下来,因为我以为,
  如果还有人能改变我,
  能让我焕然一新,
  那就是你--
  中国最伟大的功夫师父!
  Yes ,I stayed .
  I stayed ,because every time you threw up brick on the head
  or said I smelled ,it hurts.
  But it could never hurt more than I did everyday in my life just being me .
  I stayed ,because I thought ..
  If anyone could change me ,
  could make me not me ,
  it was you
  the greatest Kong Fu teacher in the whole of China!
________________________________________________________________________________________________________
  true warrior, but do not surrender真正的武士绝不放弃
  3.退出,不退出。做面条,不做面条。
  Quit don’t quit. Noodles don’t noodles.
  6.乌龟:是的,看着这棵树,
  我不能让树为我开花,
  也不能让它提前结果
  Yes ,look at this tree Chivu(师傅)
  I can not make it boloosm and suits me ,
  nor make it bear food before it’s time .
  师傅:但有些事情我们可以控制
  我可以控制果实何时坠落
  我还可以控制在何处播种
  那可不是幻觉 大师
  but there are things we can control
  I can control when the fruit will fall
  ... And I can control
  What time to seed
  That is not illusion , Master
  乌龟:是啊 不过无论你做了什么
  那个种子还是会长成桃树
  你可能想要苹果 或桔子
  可你只能得到桃子
  那个种子还是会长成桃树
  Yes, but no matter what you do,
  That seed will grow to be a peach tree
  You may wish for an Apple or an orange
  But you will get a peach
  师傅:可桃子不能打败太郎
  But peache can not defeate Tai Long
  乌龟:也许它可以的 ,如果你愿意引导它、滋养它、相信它。
  Maybe it can if you are willing to guide it , to nuture it , to believe in it .
  7.你不能走,真的武士决不会退却you cannot leave ,real warrior never quits.
  9. 阿宝,天不遂人愿,
  况且这本不是天意,
  阿宝,忘了其它的事情,
  你的使命一直都在向你召唤。
  我们是面条家族,
  血管中流着这样的血。
  I'm sorry things didn’t work out …
  It’s just what it’s meant to be
  Paul ,forget everything else ,your destiny still awaits.
  We are Noodle folk
  Broth runs deep through our veins
8月27日

[技]转帖的VC dll引用的实用技巧

有关DLL的问题现在资料很多,但是很多人写DLL时经常出现调用程序无法找到相关的导出函数的问题,这里主要的原因是DLL在声明时出的问题。
在这里主要有两个问题,一个是调用约定的问题,一个是函数名修饰的问题,而这两个问题又是相互影响的。
一:声明为:extern "C" int __declspec(dllexport)add(int x, int y);
这种声明是强制用C语言方式进行修饰,且用C的默认约定,即__cdecl方式。这种方式编译产生的DLL中有一个导出函数:add,不加任何修饰。
二:声明为:extern "C" int __declspec(dllexport) __stdcall add(int x, int y);
这种声明是强制用C语言方式进行修饰,且用stdcall约定,这种方式编译产生的DLL中有一个导出函数:_add@8,即前面有“_”,后面加了参数长。
三:声明为:int __declspec(dllexport) __stdcall add(int x, int y);
这种声明不强制用C语言方式进行修饰,但是用stdcall约定,这种方式编译产生的DLL中有一个导出函数:?add@@YGHHH@Z。这个名字很怪,后面的不好理解。
四:声明为:int __declspec(dllexport) __cdecl add(int x, int y);
这种声明是不强制用C语言修饰,且用cdecl约定,这种方式编译产生的DLL中有一个导出函数:?add@@YAHHH@Z,注意看,和第三种方有一点不同。

实验一:显式调用方式调用DLL中的add函数。
#include <stdio.h>
#include <windows.h>
typedef  int(_stdcall *lpAddFun)(int, int); //宏定义函数指针类型
int main(int argc, char *argv[])
{
HINSTANCE hDll; //DLL句柄
lpAddFun addFun; //函数指针
hDll = LoadLibrary("1.dll");
if (hDll != NULL)
{
addFun = (lpAddFun)GetProcAddress(hDll, "add");
if (addFun != NULL)
{
int result = addFun(2, 3);
printf("%d", result);
}
else
printf("No Function");
}
else
printf("NO DLL");
FreeLibrary(hDll);
return 0;
}
方式一:调用成功。另外三种方式全部出错
实验二:隐式调用DLL中的add函数
#include <stdio.h>
#include <windows.h>
#pragma comment(lib,"1.lib")
extern "C" int __declspec(dllimport) add(int x, int y);//声明方式随着DLL中的声明方式改变
int main(int argc, char *argv[])
{
int result = add(2, 3);
printf("%d", result);
return 0;
}
方式一:调用成功。另外发现一个奇怪现象:在调用程序中
声明函数时extern "C" int __declspec(dllimport) add(int x, int y);
写作:extern "C" int __declspec(dllecprot) add(int x, int y);同样成功,将__declspec(…)去掉也同样成功。换句话说,在调用DLL的程序中,导入是没有必要加的。
方式二:调用成功。同样出现上面导入标识可以不加的现象。
方式三:调用成功,同样也出现上面导入标识可以不加的现象。
方式四:调用成功,同样也出现上面导入标识可以不加的现象。
总结:对于DLL导出函数声明的四种写法,在动态调用时,
声明成这样:extern "C" int __declspec(dllimport) add(int x, int y);是最好的,其它声明方式调用都没有成功。但是众所周知,windows默认的调用约定是stdcall方式,如果想别的语言能用DLL的话,最好是将调用约定写成stdcall方式,但是这种方式又不能动态调用。
在隐式调用时,四种声明方式都是可以的,只要调用者的声明方式和DLL声明时的方式一致即可。另外,在调用程序中对于导入的声明是可以去掉的,大量书籍中关于导入、导出的问题都是利用宏来处理的,如:在头文件中写作:
#ifdef DLL_FILE
extern "C" int __declspec(dllexport) add(int x, int y);
#else
extern "C" int __declspec(dlleximport) add(int x, int y);
这样这个头文件既可以用在DLL工程中,又可以用在调用程序中,但是经过实验发现,这个根本就没有必要,在调用者程序中不管是写作__declspce(dllexport)还是写作__declspec(dllimport)或者不写都能成功调用。
关于DEF文件
在DLL工程中引用DEF文件,内容如下:
LIBRARY 1
EXPORTS
add @ 1
通过depends查看导出函数全是add,但是隐式方式调用时,还是要求调用者的声明方式和DLL中声明方式相同。
对于动态调用实验结果:
方式一:成功。方式二:不成功,但是将函数指针改为typedef int(_stdcall *lpAddFun)(int, int);成功,即调用者要声明约定方式与DLL中声明的调用约定方式相同,否则报错。
方式三:同方式二,同样要将函数指针改为typedef int(_stdcall *lpAddFun)(int, int);才成功完成调用。
方式四:成功。
总结:通过DEF文件来导出函数,调用者同样也要声明相同的调用约定,即_stdcall或是_cdecl必须要相同,其中_cdecl是C语言默认方式。

静态引用:
1、将   mydll.dll   放在你的工程目录下。  
  2、将mydll.lib   放在你的工程目录下。  
  3、Project-->Add   to   project-->Files-->mydll.lib  
  4、在你的工程的MyPrjHeader.h文件加上:  
      extern   "C"   __declspec(dllimport)   int   Max(int,   int);  
  5、在你的工程的.cpp文件种调用:  
      #include   "MyPrjHeader.h"  
  main()  
  {  
      int   i;  
      int   Input_1,Input_2;  
      Input_1=10,Input_2=20;  
      i=Max(Input_1,Input_2);     //Max   为MyDll.dll里面的函数  
      cout<<i<<endl;  
      return   0;  
  }  
8月26日

[技]RIA的学习笔记1

闲的无聊,研究一下被我搁置很久的技术flash ria。(因为一直在观望,以待它成熟)
下了几个小工具,买了本书,开啃。
按功能划分:
(开发类)
flex builder 的长处在于可视化的mxml编辑,然而,复杂的菜单和各种应用的集成,让它显的有点臃肿。智能提示度高于FD,比如对event的支持,并且经过配置得当,可以跟踪断点。当多平台应用开发时,首选,当然,熟悉eclips的就必须的了,对开发的支持是挺强大的。是java族的宠儿。
flash devolop 开源(需要安装.net framework,JRE,FlexSDk),对于各种工具的接口和语言版本的支持都很好,插件式的配置,让开发者的思路清晰,调试方便(虽无断点,但可以trace)。顺便提句,它和.net暧昧。
(前台类)
不用说,flash cs4 和flash player10是比较合适的,但是在现有版本的FD中调试时,得使用现有的9.0.
(后台数据类)
这个不用多说,各种平台都有支持,包括数据库,目前对偶来说,还没有发言权。
要想深入了解,得研究一个用例,或开发个东东。后台用.net2.0,数据层可以由access或xml应用,毕竟,服务器和空间是现成的,且部署也可以少些麻烦。
8月20日

读每一条后,都请停顿思考十秒

1.现在女人真伟大。不知不觉肚子大、有了孩子没有爸!
2.小时候我们把玩具当朋友、长大了朋友拿我们当玩具。
3.你不能让所有的人满意,因为不一定所有的都是人。
4.人生就象卫生纸、没事尽量少扯、!
5.有老公怎么的? 有守门员球还进呢!
6.谁是谁老公? 都他妈临时工!
7.如果你看到面前的阴影,别怕,那是因为你的背后有阳光!
8.踏遍青楼人未老,请用汇仁肾宝
9.最穷无非讨饭、不死终会出头
10.时间是最好的老师,但遗憾的是——最后他把所有的学生都弄死了
11.别总拿你那老百姓的身份给我讲述那黑社会的故事 !
    你再牛逼百度咋搜索不到你呢?
    你再有劲你能憋住尿吗?
12.在任何状况下,不能玩弄别人,玩人必被人玩。
    你再有心眼,也不是最厉害的那个。
13.世界上最动听的话不是我爱你,而是你的肿瘤是良性的!
14.唾沫是用来数钞票的,而不是用来讲道理的
15.不该看的不看,不该说的不说,不该听的不听,不该想的不想,

    请专心致志的打你的酱油
16.男人的谎言可以欺骗女人一夜      女人的谎言可以欺骗男人一生

17.如果可能的话,更强一些,宁可强的让人羡慕,也不能弱得让人可怜!

18.世界上唯一不用努力就能得到的只有年龄!

19.不要吹牛逼、请把牛逼还给牛、因为牛也需要性生活!

20.大起大悲看清自己、 大起大落看清朋友。

21.我们只有一个地球,所以大家要爱护地球;

    地球上只有一个我,所以大家也要爱护我!

22.有钱不一定有道、敢摸不一定敢草。

23.开心了就笑,不开心了就过会儿再笑

24.名花虽有主、我来松松土。 名花有主,锄头无情...

25.向新朋友介绍女友时,请搂着她的腰,而不是站在一旁用手指点

26.走的最快的是最美的风景 伤的最深的是最真的感情

27.人生最大的悲哀,并不是在于你得不到或者失去的,而是你根本不知道你自己要的是什么!

28.长大后之所以这么努力、只是因为小时候吹过的牛逼!

29. 所谓成功的女人就是白天特NB,晚上B特N

30.假如有个人愿在自己身边,就算没有任何语言只是在身边,我也觉得是一种幸福,即使失去了一切,只要停下脚步看一下四周,一定会有某个人在你看得见的地方。请别伤心、不要绝望,无论如何也请别忘记,自己决不是孤单一人的.


31.在你头上拉屎的未必是敌人 把你从屎堆拉出来的未必是朋友

32.我不能做到我所希望的一切,但是我应该做好我可以做到的一切.

33.有 尿 当 尿 直 须 尿.莫 等 无 尿 空 抖 鸟

34.无论什么时候打电话,摘起话筒的时候请微笑,因为对方能感觉到.

35.上帝给了我们七情六欲,我们却把它们变成了色情和暴力

36.拥有一颗知足的心,知足者常乐。若想得到快乐,就别让自己过得无精打采,想要获得快乐,不是增加财富,而是降低欲望。

37.找一个你爱聊的人结婚 , 因为当年龄大了以后,你会发觉喜欢聊天是一个人最大的优点。

38.只要锄头舞的好,哪有墙角挖不倒。

39.至今为止,地球仍在我的脚下.

40.心若没有栖息的地方,到哪里都是在流浪!

41.不要相信接吻时从不闭眼的伴侣。

42.最好的关系存在于对别人的爱胜于对别人的索求之上。

43.没能耐的看人装逼,有能耐的跟人装逼

44.虽然我不在江湖,但是江湖有我的传说

45.人不可以把钱带进坟墓。  但钱可以把人带进坟墓。

46.废话是人际关系的第一句

47.看透别说透、继续做朋友。

48.吸引住男人的办法就是让他一直得不到;吸引女人的办法正好相反,就是让她一直满足。

49.男人,上半身是修养,下半身是本质;女人,上半身是诱饵,下半身是陷阱。

50.在街上看美女,目光高一点就是欣赏,目光低一点就是流氓。

51.女孩买很多很多漂亮衣服穿,就是为了吸引男孩的目光,但男孩想看的,却是不穿衣服的女孩。

52.男人都喜欢江山,是因为他们觉得只有整个江山才能让他们的女人心动

53.小人物的时间是最不值钱的 他可以和一个菜贩为了两毛钱而斤斤计较

54.当我们把情感更多的 放在 友情 爱情上  可往往最后 能让你感动的 只有亲情

55.所谓忠诚、只是因为背叛的筹码不够!

56.你叫我滚,我滚了,你叫我回来,对不起滚远了。


57. 想知道一个人的内心缺少什么,不看别的,就看他炫耀什么。想知道一个人自卑什么,不看别的,就看他掩饰什么
 
第 1 张,共 40 张
不成熟的几个idea

Windows Media Player