??xml version="1.0" encoding="utf-8" standalone="yes"?>亚洲欧美日韩精品久久亚洲区,亚洲国产成人久久一区WWW,久久久久久久综合狠狠综合http://www.shnenglu.com/chaogu/archive/2012/02/06/165047.htmlchaoguchaoguMon, 06 Feb 2012 11:03:00 GMThttp://www.shnenglu.com/chaogu/archive/2012/02/06/165047.htmlhttp://www.shnenglu.com/chaogu/comments/165047.htmlhttp://www.shnenglu.com/chaogu/archive/2012/02/06/165047.html#Feedback4http://www.shnenglu.com/chaogu/comments/commentRss/165047.htmlhttp://www.shnenglu.com/chaogu/services/trackbacks/165047.html
 弟怹未上Q上来发个招聘信息,如果有兴可以邮件䆾历给?nbsp;chaogu.c@qq.comQ如果没有兴直接忽视?br />工作圎ͼ深圳Q富士康隔壁的一家超U大型的IT公司Q由于有要求Q不能发公司名称Q不q深圳的同城应该能猜刎ͼU聊能提供公司名Uͼ
部门Q流E与IT理部(大部分做内部ITpȝQ下的ITq_部下的SOA服务?br />技术要求:Java、数据库、Web开发等相关的,.Net的也可以Q需求工E师{也要,主要做系l架构等Q先发简历,再私聊亦?br />性指标:本科5q以上(含)工作l验Q硕?q以上工作经验,p4U以上,211重点大学Q无中兴工作l历Q这个太明显了,有竞争,所以不让招Q?br />工资Q好像保密,q个要看能力Q大概年薪有?0W
如果w边有想x的也可以帮忙转发一?br />一q内有效~~?br />
理员看看要是不能发招聘信息不要删我号啊Q把文章删掉好了?/div>


chaogu 2012-02-06 19:03 发表评论
]]>
一二事http://www.shnenglu.com/chaogu/archive/2011/05/09/145991.htmlchaoguchaoguSun, 08 May 2011 17:55:00 GMThttp://www.shnenglu.com/chaogu/archive/2011/05/09/145991.htmlhttp://www.shnenglu.com/chaogu/comments/145991.htmlhttp://www.shnenglu.com/chaogu/archive/2011/05/09/145991.html#Feedback9http://www.shnenglu.com/chaogu/comments/commentRss/145991.htmlhttp://www.shnenglu.com/chaogu/services/trackbacks/145991.html    大四之后我一直很烦,很多很让人提不v_的事情要我去面对。最q一直想把这D늻历写出来Q算是发泄心中的郁结Q也分n一下个人的l历Q因为我觉得技术上我也没什么好跟h讨论的,反而我觉得有些l历可以拿出来分享一下?br>    从去q_2010Q的8月䆾我才开始准备考研Q因??7月期间一直在驾校lRQ每天都很篏Q主要不是练车篏而是学校的驾校烂Q每天都一大堆人,一上午或一下午也就l个三四把,其余的时间都是在{,而且每天早出晚归Q甚是摧DhQ所以一直没有开始复习考研。不q驾校这么做也无可厚非,毕竟要赚钱,我们学生交得又少Q可能有很大一部分q要孝敬学校Q。然后在7月中的时候就把驾校考完了,然后回了家。其实我在(2010q_3月䆾之前Q具体我也忘了)决心考研的。一般h会这栯为,考研是ؓ了逃避扑ַ作的压力Q其实不Ӟ我觉得考研要经受的压力和折ƈ不比扑ַ作大Q反而我觉得工作更好搞。我ȝ的原因估计与大多Ch考研的原因又不一P一部分研说不定还真是逃避工作Q有一部分人是Z找更好的工作Q有很少的一部分人是真的Z研究。我的原因是安向我读,他们说反正家里又不需要你养,你能d量读,也不是要你搞研究Q拿个研I生的文凭,安比较有面子。我是Z我们?#8220;面子”加入了考研大军。当然我也有自己x---我觉得度研究生的时候能有更多的旉做自己想做的事情---可能包括一些研I吧?br>    回家其实不是我想放自己大假,而是Z跟爷爷奶奶呆一下,毕竟他们老了。然?月就赶回武汉来,开始了地狱般的考研复习?br>    8月回到学校,据说武汉最热的那段日子在我来之前刚好过完,不过武汉q是很热。一回到学校我就跟我同学L都上课。我是什么都没有准备Q政沅R英语、数学、计机我一门也没有过Q就q考什么,用什么教材、辅g我都一无所知。然后就跑去了上辅导班。英语我是有一定把握的Q我同学认ؓ计算g辅导没多大区别,毕竟我们也一直接触着专业课,所以我报了数学跟政治?br>    老实说数学是我最怕的。我以前也算是个数学ZhQ虽然不是太强的那种Q最差也是个中上的U。上到大学以后我Ҏ学那是深恶痛l。大一上数学的时候每节课要不是在寝室睡觉是在教室睡觉,作业也就应付了事Q还好我跟老师的关pL较好Q所以还得了蛮高分。但真的我就没学CQ何东ѝ还有就是概率,我们根本没q门课。蛋疼的数学?#183;·······
    政治我还好,我发C了大学之后虽然政治课我一节都没听Q不q我发现我觉悟提升了不少Q感谢党国啊。听了辅导班的课之后Q也大概有个了解?br>    p---大学三年我就没怎么学过Q不q每天接触着p的专业书c、论文、blog、论坛,我自认ؓ我英语还是比较强悍的Q但是考研的那套根本就不来你会的那套。英语还是强化不来的那种Q所以我也只好硬着头皮上?br>    专业课,蛋疼的专业课?#183;·····?开始(考的那套跟我学的那套不是同一?img border=0 src="http://www.shnenglu.com/Emoticons/QQ/10.gif" width=20 height=20>Q?br>    老实说考研的四门我都是?开始,旉紧迫啊,每天打开书都是在自学Q每一门都是自?---高强度的?br>
--------------------------------------------------------------
--------------------------------------------------------------
    复习考研的那D|间是我最烦的一D|_持箋旉长,压力大。其实我不是那种考不上就会怎样的hQ反而我老想着考不上我q有很多\Q就这ơ考不上我q可以再考(考研大忌啊)。在q样一个复杂的心理情况下,到后面我都不怎么上自习了Q每天睡?1点,Lz脸吃饭上午直到2点,然后开始考虑要不要去上自习,所以后面基本没什么效果。直到考研的那天数学我q没有全部学完。反正刚考完那几天是我最开心的旉Q感觉心头悬着的那块重石终于落下来了?br>    反正考研是一个很痛苦的过E,考研有风险,入行需谨慎?br>    考完之后Q过q_q年蛮开心的。也是天天呆在安Q不出门Q什么也不干Q茶喝Q收U包?br>
-------------------------------------------------------------
-------------------------------------------------------------
    后来开学了Q也回到学校开始毕业设计,我们老师不知是不是变态,随便找了个题目就让我开始了。题目叫做《Sampling-base Contect-rich Motion Contorl》?br>    一边做一边等考研成W出来Q考完之后我也大概猜出我没什么希望,成W如下
         政治      74
         p      45
         数学      78
         计算?nbsp;   94
好像比我预计的还好,反正没上Q考华南理工)Q然后就一直在找调剂的学校Q因为按我推,我的肯定能上国家U,我还很积极地L了调剂的学校。我q去考了下公务员--q东公务?-3?7P我随便应付了一下(考了100+分,比较低,反正没戏Q,公务员要看命的,反正我觉得我不是那种命。考完之后Q在家呆了几天,因ؓ国家U也那几天出来Q我q成W出来Q好像是29/30L时候出来的QA区的没上Q也没戏了。我也就不想了?月䆾回到学校的时候有个研I生告诉我B区的中国U技大学的Y件工E可以去Q我也就L了一下,19号复试,反正复试很惨Q十问九不知Q一我没复习Q二我太高估自己了。也没上到。这期间我还找了下南昌大学的Q托关系找了人,后来说不要我q么低分的。死心塌地去中科大面试,面试被刷?9号当天下午赶回武汉,20号面试华为?br>
-------------------------------------------------------------
-------------------------------------------------------------
    q学期(2011q上半年Q开学之后,我感觉研I生没戏Q然后就一边等成W一Ҏ工作Q投q无数简历,有几家找我笔试面试,有些我直接没厅R第一安试的是广州的一ӞW试感觉良好Q当天晚上给我电话,W二天面试,也就跟BOSS谈,BOSS让我开P我就l开?500Q他说可以。其实我觉得工资不是最重要的,对于一个应届毕业生来说Q谈得很好,BOSS让我{,l我4000。当时研I生成Wq没下来Q我不敢{,然后找了个借口Q好Ҏ掉了。因Z公司招不够,我推荐了我们寝室的两个和一个隔壁班的去面试Q我们寝室的两个{了Q?500?br>    然后在去中科大面试之前又面试了一家公司,W试时神速做了两套试P我给开?500Q第二天面试Q谈了一个小Ӟ漫无目的地谈Q后来说{,?DQ我拖到华ؓ面试完才拒绝掉他---说v来还有点对不起那BOSS?br>    在中U大面试完,20号回来面试华为,华ؓ真是整死人的Q我9点到的,早饭吃了一根玉c烤肠,很小一根,?Q?0才吃的午饭。一面技术面Q没问什么,写了个冒泡,问了我一个很单的分布式应用的问题Q其实我不太懂分布式问题太简单了Q,然后p可以Q?分钟搞定。二面群面,辩论Q没什么好辩的Q也׃游戏Q表C错,三面其实׃是面试,做个心理试Q到2点多才完Q完了之后吃了顿KFC犒劳自己。第二天跟BOSS聊天QBOSS也没问什么,其他去都?5+分钟Q不?分钟我就出来了。然后就{了Q?000-IT工程师,好像是网,不清楚。据说今q华为招很多人,我不知道Q反正也有点难进Q我那组10人剩2个,我跟一个研I生?br>    华ؓ{了之后几天Q去了工商银行的W试Q那人多得,W试q比较简单,p部分不够旉Q后面瞎选,W二部分关于工行的,我一个不会,我又不是学金融的Q瞎选,W三部分Q行政能力测试,因ؓ有公务员的经验,{得比较好,旉也比公务员考试宽裕很多?br>   4?9号去了趟q州Q面试工商银行Y件开发中心,我感觉面试还不错Q只是听到我说签了华为,我问他薪酬,他说比华ZQ就不想它了。面试完之后回家Q在家时候收到工商银行数据中心的面试通知Q??1P懒得去,5号回到学校?br>-------------------------------------------END

chaogu 2011-05-09 01:55 发表评论
]]>
LOG-2011-04http://www.shnenglu.com/chaogu/archive/2011/05/03/145604.htmlchaoguchaoguTue, 03 May 2011 13:57:00 GMThttp://www.shnenglu.com/chaogu/archive/2011/05/03/145604.htmlhttp://www.shnenglu.com/chaogu/comments/145604.htmlhttp://www.shnenglu.com/chaogu/archive/2011/05/03/145604.html#Feedback0http://www.shnenglu.com/chaogu/comments/commentRss/145604.htmlhttp://www.shnenglu.com/chaogu/services/trackbacks/145604.html阅读全文

chaogu 2011-05-03 21:57 发表评论
]]>
~译Luxrenderhttp://www.shnenglu.com/chaogu/archive/2011/05/03/145603.htmlchaoguchaoguTue, 03 May 2011 13:42:00 GMThttp://www.shnenglu.com/chaogu/archive/2011/05/03/145603.htmlhttp://www.shnenglu.com/chaogu/comments/145603.htmlhttp://www.shnenglu.com/chaogu/archive/2011/05/03/145603.html#Feedback0http://www.shnenglu.com/chaogu/comments/commentRss/145603.htmlhttp://www.shnenglu.com/chaogu/services/trackbacks/145603.html  最q有人叫我编译这个渲染引擎,据说很难~译Q我~译无数代码Q一般别人的代码拿来~译都很隑֏Q因Z者的机器跟我的机器配|上都有些不痛,可能会丢了什么库之首先上Luxrender的官|,一般的开源项目都有个什么文之cȝ东西Q一般也会教怎么ȝ译代码。找找还真有Q文写得太他妈_辟了,׃点点Q这也符合我的风|说明简单?/p>

cȝ一大堆问题Q有时可能是~译器的不同Q有可能有出C么符h定义之类的问题。所以编译代码都是很隑֏的事情。耗时q耗精力?/p>

闲话不扯了之间正题?/p>

Luxrender 官网Q?a >http://www.luxrender.net/en_GB/index

~译的文档:http://www.luxrender.net/wiki/index.php?title=Building_on_Windows

据说我的机器q是WindowsXP所以找Windows下的文档?/p>

然后按它说的Ҏd?/p>

1.下蝲TortoiseHG

2.安装好后在某个盘里面新徏个文件夹Q这谁都会。我的文件夹名就叫Luxrender

3.然后选中那个文g?lt;Luxrender>叛_。鼠标移动到TortoiseHGQ会发现有个叫Clone…的东西,点击

4.然后再source pathQ也是源\径)里面输入http://src.luxrender.net/lux/

5.在destinationQ也是目标路径Q里面输?BASE/lux Q其实BASE可要可不要,只是lux文g跟windows和luxrays要在同一U)?/p>

6.然后点击CloneQ克隆)可以了

7.然后是{待

8.{待

9.再等?/p>

10.{它完成了,然后我们q是依照3的做法,选中文g?lt;Luxrender>Ud到TortoiseHGQ然后Clone…

11.在source path Q源路径Q里面输?http://src.luxrender.net/windows/

12.在destination Q目标\径)里面输入BASE/windows Q保证windows文g夹跟lux同񔞮可以了Q?/p>

13.点击Clone之后{吧

14.完成后再按照3的做法选中文g?lt;Luxrender>叛_Ud到TortoiseHG上然后Clone

15.在source path 里面输入http://src.luxrender.net/luxrays/

16.在destination 里面输入 BASE/luxrayse Q保证luxrays跟lux同񔞮可以了Q?/p>

17.然后点击Clone可以开始无限的{待

18.{都完成了之后,打开你的Visual Studio 2008的Command promptQVC2005的你快装个2008吧,VC2005隑֏M。~_~

19.然后CDC的windows文g夏V懂cd的蟩q去Q一般打开 Command prompt上的默认路径是你的Visual Studio的安装\径。比如我的是在D盘,但是我的Luxrender在G盘所以要换盘Q在黑屏上输?G: 。如果你的Luxrender在E盘就输入 E: 。如此类推。然后就?cd G:\luxrender\BASE\windows\ 我的是这P如果你的luxrender文gҎ在E盘里面的SRC文g夹中p?cd E:\SRC\luxrender\BASE\windows\?/p>

20.接着你会看到你的windows文g夹中有个叫做 getdeps.bat 的文件。在黑屏上输?getdeps

21.接着又是选择什么的反正getdeps是把所有的luxrender需要的cd之类的都下蝲下来Q然后解压到一个叫做deps的文件夹里面Qdeps文gҎ在Luxrender\BASE\文g夹中Q也是跟你的lux、windows、luxrays同一U?/p>

22.Get完之后就是导入注册表Q双击windows文g多w面的build-vars.reg,然后定导入p了。其实它是把像LUX_WINDOWS_BUILD_ROOTq样的环境变量设|一下。当然你也可以自׃个一个设|?/p>

23.接下来的事情是build你下下来的东?(<deps\>下的东西build一下,比如boost)。在你的Command prompt 里面输入build-deps-x86.bat。(惭愧我还是用32位的WindowsXPQ。你不要试使用cmd.exe去buildQ难受的是你?/p>

24.在无的{待回来后,你觉得差不多了,但是厄运才刚刚开?#8230;…..

 

开始编?/p>

1.然后是~译Q进入BASE/windows然后打开lux.sln

2.~译肯定不会成功的,但是要一边编译一边看有什么问题?/p>

问题Q?/p>

1.出现isatty()找不?/p>

加入#include <io.h>

isattyҎ   _isatty()

2.环境变量没设|,会有q个问题的,所以加上它提示的环境变?/p>

3.Yaccq回错误Q说pȝ找不到某个东ѝ要?BASE/windows/Projects里面的那个project文gQ?vcprojQ用文本文g打开然后?$(InputDir)/$(InputName)-hxx.cpp"的反斜杠Q?Q去掉。有几个文g要改q个的。当你遇C改一下。就是这个问题?/p>

4.moc.exe找不刎ͼ是QT没有~译好。打开visual studio 2008 的Command prompt 打开Q然后cd到QT的根目录比如我的是G:\Luxrender\BASE\deps\x86\qt-everywhere-opensource-src-4.6.2输入configure -debug-and-release -opensource -platform win32-msvc2008完成之后在输入nmake

5.miss python31.lib

   拯       python31.lib

       From

               G:\Luxrender\BASE\deps\x86\Python-3.1.2\PCbuild\  

   To

          G:\Luxrender\BASE\deps\x86\Python-2.6.6\PCbuild\

6.miss libboost_python-vc90-mt-lib

      create foulder <python2> in

             G:\Luxrender\BASE\deps\x86\boost_1_43_0\stage

      copy

             libboost_python-vc90-mt-lib

             libboost_python-vc90-mt-1_43.lib

             libboost_python-vc90-mt-gd-1_43.lib

             libboost_python-vc90-mt-gd.lib

      from

             G:\Luxrender\BASE\deps\x86\boost_1_43_0\stage\python3\lib\

      to

             G:\Luxrender\BASE\deps\x86\boost_1_43_0\stage\python2\lib\

       应该来说你就可以全部~译q去了?/p>

chaogu 2011-05-03 21:42 发表评论
]]>
一砣屎自述http://www.shnenglu.com/chaogu/archive/2010/08/29/125152.htmlchaoguchaoguSun, 29 Aug 2010 04:30:00 GMThttp://www.shnenglu.com/chaogu/archive/2010/08/29/125152.htmlhttp://www.shnenglu.com/chaogu/comments/125152.htmlhttp://www.shnenglu.com/chaogu/archive/2010/08/29/125152.html#Feedback3http://www.shnenglu.com/chaogu/comments/commentRss/125152.htmlhttp://www.shnenglu.com/chaogu/services/trackbacks/125152.html

     我是屎,但我是一砣自的屎、自信的屎、自以ؓ是的屎. 
  我不会搞W,也不会煽情,可能默默无闻的腐败,可能也招来一些厌Ӟ甚至唑ּQ但我义无反,也义不容辞自恋或自伤Q所以我选择了做屎. 
  当一砣屎没什麽大不了Q也没什麽小不然Q一砣屎是一砣屎Q他不能变成一块金子,也不能蜕变成ȝQ但他有归属Q他是属于马桶的Q刘德华_Q每个马桉是英雄"Q那归属于英雄的做砣屎又何妨Q一砣屎也就是一砣屎Q有可能做屎是低下的Q但我有自尊我就是第一的屎.他会腐化成惔土,但每一件物品都会腐化成泥土Q无论高或低贱Q无Z大或渺小Q?span lang="EN-US"> 
  我奉呈: 
While there is a lower class I am in it. 
While there is a crimical elememts I am of it. 
While there is a soul in prison i am no free.

 



chaogu 2010-08-29 12:30 发表评论
]]>
“三学校的学生又来了?/title><link>http://www.shnenglu.com/chaogu/archive/2010/08/25/124605.html</link><dc:creator>chaogu</dc:creator><author>chaogu</author><pubDate>Tue, 24 Aug 2010 17:47:00 GMT</pubDate><guid>http://www.shnenglu.com/chaogu/archive/2010/08/25/124605.html</guid><wfw:comment>http://www.shnenglu.com/chaogu/comments/124605.html</wfw:comment><comments>http://www.shnenglu.com/chaogu/archive/2010/08/25/124605.html#Feedback</comments><slash:comments>37</slash:comments><wfw:commentRss>http://www.shnenglu.com/chaogu/comments/commentRss/124605.html</wfw:commentRss><trackback:ping>http://www.shnenglu.com/chaogu/services/trackbacks/124605.html</trackback:ping><description><![CDATA[     摘要: 如果你认Z学校的人没资格在园子里发表看法Q不要点开看了?<br>如果你认为无x术的不应该发在首늲华,也不要点看看了?<br>如果你认为发在首늲华的都是关于”超高“技术含量的Q不要点开看了?<br>如果你看了,然后觉得我说得不对,请你不要ndQ我怕我受不了到时赖你就不好了?nbsp; <a href='http://www.shnenglu.com/chaogu/archive/2010/08/25/124605.html'>阅读全文</a><img src ="http://www.shnenglu.com/chaogu/aggbug/124605.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.shnenglu.com/chaogu/" target="_blank">chaogu</a> 2010-08-25 01:47 <a href="http://www.shnenglu.com/chaogu/archive/2010/08/25/124605.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>四年学q东?.......http://www.shnenglu.com/chaogu/archive/2010/08/19/123919.htmlchaoguchaoguWed, 18 Aug 2010 22:32:00 GMThttp://www.shnenglu.com/chaogu/archive/2010/08/19/123919.htmlhttp://www.shnenglu.com/chaogu/comments/123919.htmlhttp://www.shnenglu.com/chaogu/archive/2010/08/19/123919.html#Feedback1http://www.shnenglu.com/chaogu/comments/commentRss/123919.htmlhttp://www.shnenglu.com/chaogu/services/trackbacks/123919.html阅读全文

chaogu 2010-08-19 06:32 发表评论
]]>
关于造轮?Z么造轮子和想造怎么去造?Q我的意?求意见)http://www.shnenglu.com/chaogu/archive/2010/07/02/119126.htmlchaoguchaoguThu, 01 Jul 2010 17:03:00 GMThttp://www.shnenglu.com/chaogu/archive/2010/07/02/119126.htmlhttp://www.shnenglu.com/chaogu/comments/119126.htmlhttp://www.shnenglu.com/chaogu/archive/2010/07/02/119126.html#Feedback6http://www.shnenglu.com/chaogu/comments/commentRss/119126.htmlhttp://www.shnenglu.com/chaogu/services/trackbacks/119126.html

关于造轮子的问题Q褒贬不一Q我是赞成造轮子的Q很多时候我们没有必要再去造一个已l存在的轮子Q这是贬造轮子的重要的看法,我觉得没什么不对的Q如果是要立ȝ到实际中去,而且旉上很赶的时候造一个轮子出来不是什么好事情。但是造轮子也有很多好处,比如能学到很多东西,可以参见vczh?span lang="EN-US">关于造R?/span>Q虽然没有将所有造R轮的好处l计hQ但是很有参考h倹{当然你可以ȝ看国外的大学教程Q他们本U生的Q务大多就是造个车轮出来。比?span lang="EN-US">MITQ操作系l课E就是写个操作系l出来,数据库课E就是写个数据库出来Q图形学是写个raytracerQ光U跟t器Q出来。当然还有很多,比如StanfordQ计机|络是?span lang="EN-US">UDP实现TCP的功能,写个路由协议Q图形学是做一个Y?span lang="EN-US">openGLQ等{,所以造轮子(再造轮子)是很有实践h值的Q而且很多一学校就是这么干的。很多时候如果想创造轮子的话再造轮子所获得的经验和能力的提高是很有价值的?span lang="EN-US">

      那如果你肯定了再造轮子的好处那就多帮造轮子的点好话,当然也说明再造轮子的的限Ӟ不然误h子弟。但是如果你肯定了再造轮子的好处Q你惛_入再造轮子的大军那你该怎么办呢Q?span lang="EN-US">

       q点其实我也在想Q如果看到这文章而又很有Ʋ望表达自己的看法的前辈留下你的。在q里我也表达一下我的看法?span lang="EN-US">

一Q书

       如果我们都想造轮子,但是苦于没有l验而且对轮子的构造很不熟悉,很多时候我们只好放弃这U想法。如果有一本书教你怎么去造这个轮子的话说不定你的轮子造出来了Q而且q不差。所以如果想造一个轮子,很常用的Ҏ是找一些相关的书籍。优Ҏl构完整而且描述清晰Q而且q很pȝQ国内h写的书大多不好,所以还是先L找有没有国外人写的书Q老外写的书看得还比较爽)。缺Ҏ大多时候书都比较理论实늚东西,而且Ҏ们造轮子来说书上的那种l构不是很适合造轮子,如果是大部头书的话还很快把你的意志l削׃。所以书不是万能的,我看q一定数量的书,但是到头来还是没有太大的提高?span lang="EN-US">

二:评

       对于大多书学生来说这条是最好的。其实大多数学生都是很想学习的,苦于没有人指导加上老师无聊Q很多时候学生搞到最后都不想学了。如果你是一个学生,如果让你去造一个轮子出来,x那是世界上最牛的轮子Q{得最快)Q那是让人激动的Q学生学h也很有劲头。所以造轮子最好的方式是去找一些课E,而那门课E是教你怎么造轮子的Q按造那个课E的方式先去造一个出来,然后再想惌q轮子怎么造,然后你的轮子又是另一个最牛的轮子Q{得快不说Q还省材料)。优点:pȝ化,理论实际相结合,而且很多时候那些老师已经帮你完成了一些工作,适合菜鸟U别的h?span lang="EN-US">---不如说我。缺点:q没有找刎ͼ如果非得说有~点是Q让你见识了一个最牛的轮子Q让你觉得你自己独立造的轮子没有技术含量,让你攑ּ了想法?span lang="EN-US">

三:现成pȝ

       我们讨论的是再造轮子,所以这个轮子必然已l存在了Q我们仿q个轮子去造一个不p了。通过分析和比较,使用别h的轮子的时候想惛_人底层是怎么做的Q怎么设计的,意淫一番之后ȝ出经验,然后造自q轮子。而且造一个比原来更加强Q小而强大)的轮子,功能完整Q耗费资源,使用?span lang="EN-US">-----那不是我们惌的吗Q缺点就是可能要有些l验?span lang="EN-US">

四:论文

       如果你是一个骨灰的轮子玩家这点你应该是清楚的。看论文是一件很痛苦的事情,很多时候我们的理论基础没有论文的作者好Q或则论文作者的基础跟你的不一P比如他是学物理的Q而我们是学计机的)Q所以看不懂论文Q直接结果就是你的轮子造不出来。所以还是要很有l验和理论基?span lang="EN-US">

五:开源Y?span lang="EN-US">

       开源是一个好东西Q首先它是免费的Q再者可以看C码。这Ҏ不用说了Q找C怼的开源代码,M读,肯定有收莗?span lang="EN-US">

ȝ或者想法:

造轮子肯定不是一件简单的事情Q没有恒心就不要造轮子了Q而且会花费一些时间。当然如果你很想造轮子而且你确定你有一定的旉Q不用太多)你就去造吧。国内的开源Y件和基础软g不好Q说不定我们q代造了一些轮子之后,国内的基软g好了?span lang="EN-US">

很多时候如果你没有头AQ你写点代码吧Q古人写字静心,我们Z么不能写代码静心呢?说不定你写着写着轮子的框架就出来了,再写着写着轮子造好了?span lang="EN-US">

虽然上面我都说了点,但是很多情况下你找不C惌的资源,可以试问一下别人,说不定他能给你很好的---q个可能׃句话?/span>



chaogu 2010-07-02 01:03 发表评论
]]>
代理服务器的单实?/title><link>http://www.shnenglu.com/chaogu/archive/2010/06/28/118842.html</link><dc:creator>chaogu</dc:creator><author>chaogu</author><pubDate>Sun, 27 Jun 2010 17:52:00 GMT</pubDate><guid>http://www.shnenglu.com/chaogu/archive/2010/06/28/118842.html</guid><wfw:comment>http://www.shnenglu.com/chaogu/comments/118842.html</wfw:comment><comments>http://www.shnenglu.com/chaogu/archive/2010/06/28/118842.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://www.shnenglu.com/chaogu/comments/commentRss/118842.html</wfw:commentRss><trackback:ping>http://www.shnenglu.com/chaogu/services/trackbacks/118842.html</trackback:ping><description><![CDATA[ <p class="MsoNoSpacing"><span lang="EN-US" style="font-size:14.0pt;font-family: 华文楷体"><span style="mso-tab-count:1">      </span></span><span style="font-size: 14.0pt;font-family:华文楷体">W一ơ写关于技术的Q可能看的h不多Q骂烂的也不在少敎ͼ但是q是写一点,可能对一些h有帮助,也提高自q写作水^Q以后可以写出更好的东西来。当然我?span lang="EN-US">blog</span>里面会坚持写自己做过的东西,qv码不会误人子弟(高手直接跌Q?span lang="EN-US"><o:p></o:p></span></span></p> <p class="MsoNoSpacing"><strong style="mso-bidi-font-weight:normal"><span style="font-size:14.0pt;font-family:华文楷体">是什么?<span lang="EN-US"><o:p></o:p></span></span></strong></p> <p class="MsoNormal" style="text-indent:21.0pt"><span style="font-size:14.0pt; font-family:华文楷体">首先吹下_告诉你什么是代理服务器(<span lang="EN-US">proxy</span>Q?strong><span style="font-family:华文楷体;mso-bidi-font-family:"Times New Roman";mso-bidi-theme-font: minor-bidi;color:black;font-weight:normal;mso-bidi-font-weight:bold">代理服务?/span></strong><span><strong style="mso-bidi-font-weight:normal"><span style="color:black">Q?/span></strong></span><strong><span lang="EN-US" style="font-family:华文楷体;mso-bidi-font-family:"Times New Roman";mso-bidi-theme-font: minor-bidi;color:black;font-weight:normal;mso-bidi-font-weight:bold">Proxy</span></strong><span><strong style="mso-bidi-font-weight:normal"><span style="color:black">Q,</span></strong></span><strong><span style="font-family:华文楷体; mso-bidi-font-family:"Times New Roman";mso-bidi-theme-font:minor-bidi; color:black;font-weight:normal;mso-bidi-font-weight:bold">是一U特D的|络服务Q允许客L通过它与另一个网l服务进行非直接的连?/span></strong><span><strong style="mso-bidi-font-weight:normal"><span style="color:black">?/span></strong><span style="color:black">具体q程为:客户端首先与代理服务器徏立连接,接着发出一个对另外的目标服务器的文件或其它资源的连接请求,代理服务器通过与目标服务器q接或从~存中取得请求的资源Qƈq回l客L。通常在这个过E中Q代理服务器可能改变客户端请求或服务器端响应的一些内容以满各种代理需要?span lang="EN-US"><o:p></o:p></span></span></span></span></p> <p class="MsoNormal"><span><strong style="mso-bidi-font-weight: normal"><span style="font-size:14.0pt;font-family:华文楷体;color:black">Z么需要?<span lang="EN-US"><o:p></o:p></span></span></strong></span></p> <p class="MsoNoSpacing"><span lang="EN-US" style="font-size:14.0pt;font-family: 华文楷体"><span style="mso-tab-count:1">      </span></span><span style="font-size: 14.0pt;font-family:华文楷体">当我们知道什么是代理服务器之后我们就会想代理服务器能q什么?ȝ如下Q?span lang="EN-US"><o:p></o:p></span></span></p> <p class="MsoNormal"><span><span lang="EN-US" style="font-size:14.0pt;font-family:华文楷体;color:black">1</span></span><span><span style="font-size:14.0pt;font-family:华文楷体; color:black">、提高访问速度Q代理服务器通过讄一个较大的~冲区,当有外界的信息通过Ӟ同时也将其保存到~冲ZQ当其他用户再访问相同的信息Ӟ 则直接由~冲Z取出信息Q传l用P以提高访问速度?span lang="EN-US"><o:p></o:p></span></span></span></p> <p class="MsoNormal"><span><span lang="EN-US" style="font-size:14.0pt;font-family:华文楷体;color:black">2</span></span><span><span style="font-size:14.0pt;font-family:华文楷体; color:black">、控制对内部资源的访问:如大?span lang="EN-US">FTP</span>Q用教育网内地址D免费代理服务器Q就可以用于Ҏ育网开攄各类<span lang="EN-US">FTP</span>下蝲上传Q以及各c资料查询共享等服务。暂时我q没有找到我们学校内部的代理服务器?span lang="EN-US"><o:p></o:p></span></span></span></p> <p class="MsoNormal"><span><span lang="EN-US" style="font-size:14.0pt;font-family:华文楷体;color:black">3</span></span><span><span style="font-size:14.0pt;font-family:华文楷体; color:black">、过滤内容:</span></span><span style="font-size:14.0pt;font-family: 华文楷体;color:black;mso-font-kerning:0pt">例如限制对特定计机的访问,一U语a的数据翻译成另一U语aQ或是防御代理服务器两边的攻L访问。我们很多东襉K被和谐掉了,不知道代理服务器是神是鬼?span><span lang="EN-US"><o:p></o:p></span></span></span></p> <p class="MsoNormal"><span><span lang="EN-US" style="font-size:14.0pt;font-family:华文楷体;color:black">4</span></span><span><span style="font-size:14.0pt;font-family:华文楷体; color:black">隐藏真实<span lang="EN-US">IP</span>Q上|者也可以通过代理服务器隐藏自q<span lang="EN-US">IP</span>Q免受攻凅R当焉客可能用q项功能来隐藏自己,让你很难扑ֈ?span lang="EN-US"><o:p></o:p></span></span></span></p> <p class="MsoNormal"><span><span lang="EN-US" style="font-size:14.0pt;font-family:华文楷体;color:black">5</span></span><span><span style="font-size:14.0pt;font-family:华文楷体; color:black">、突破内容过滤机Ӟ讉K个别qo的网站。如?span lang="EN-US">Google</span>以后不能讉K的话看来我要找个代理服务器了。现在都很多优秀的网站我都访问不了了?span lang="EN-US"><o:p></o:p></span></span></span></p> <p class="MsoNormal"><span><strong style="mso-bidi-font-weight: normal"><span style="font-size:14.0pt;font-family:华文楷体;color:black">怎么dQ?/span></strong></span><strong style="mso-bidi-font-weight:normal"><span lang="EN-US" style="font-size:14.0pt; font-family:华文楷体;color:black"><o:p></o:p></span></strong></p> <p class="MsoNoSpacing"><span lang="EN-US" style="font-size:14.0pt;font-family: 华文楷体"><span style="mso-tab-count:1">      </span></span><span style="font-size: 14.0pt;font-family:华文楷体">当我们搞清楚是什么和Z么需要时Q我们就开始想怎么d一个出来(当然有h觉得没什么意思,也就没有兴致考虑怎么d了)?span lang="EN-US"><o:p></o:p></span></span></p> <p class="MsoNoSpacing"><span lang="EN-US" style="font-size:14.0pt;font-family: 华文楷体"><span style="mso-tab-count:1">      </span></span><span style="font-size: 14.0pt;font-family:华文楷体">首先我们需要知道代理服务器是怎么d成工作的。其实很单:<span lang="EN-US"><o:p></o:p></span></span></p> <p class="MsoNoSpacing" style="margin-left:36.0pt;text-indent:-36.0pt;mso-list: l2 level1 lfo1"><span lang="EN-US" style="font-size:14.0pt; font-family:华文楷体;mso-bidi-font-family:华文楷体"><span style="mso-list:Ignore">1><span style="font:7.0pt "Times New Roman"">             </span></span></span><span style="font-size:14.0pt;font-family:华文楷体">获得客户端的h<span lang="EN-US"><o:p></o:p></span></span></p> <p class="MsoNoSpacing" style="margin-left:36.0pt;text-indent:-36.0pt;mso-list: l2 level1 lfo1"><span lang="EN-US" style="font-size:14.0pt; font-family:华文楷体;mso-bidi-font-family:华文楷体"><span style="mso-list:Ignore">2><span style="font:7.0pt "Times New Roman"">             </span></span></span><span style="font-size:14.0pt;font-family:华文楷体">转发客户端的h<span lang="EN-US"><o:p></o:p></span></span></p> <p class="MsoNoSpacing" style="margin-left:36.0pt;text-indent:-36.0pt;mso-list: l2 level1 lfo1"><span lang="EN-US" style="font-size:14.0pt; font-family:华文楷体;mso-bidi-font-family:华文楷体"><span style="mso-list:Ignore">3><span style="font:7.0pt "Times New Roman"">             </span></span></span><span style="font-size:14.0pt;font-family:华文楷体">获得目标服务器的响应<span lang="EN-US"><o:p></o:p></span></span></p> <p class="MsoNoSpacing" style="margin-left:36.0pt;text-indent:-36.0pt;mso-list: l2 level1 lfo1"><span lang="EN-US" style="font-size:14.0pt; font-family:华文楷体;mso-bidi-font-family:华文楷体"><span style="mso-list:Ignore">4><span style="font:7.0pt "Times New Roman"">             </span></span></span><span style="font-size:14.0pt;font-family:华文楷体">q回<span lang="EN-US">target</span>的响?span lang="EN-US"><o:p></o:p></span></span></p> <p class="MsoNoSpacing" style="text-indent:21.0pt"><span style="font-size:14.0pt; font-family:华文楷体">当然刚开始我们不要去考虑太多复杂的内容,我们先要上面的功能实现了?span lang="EN-US"><o:p></o:p></span></span></p> <p class="MsoNoSpacing" style="text-indent:21.0pt"><span style="font-size:14.0pt; font-family:华文楷体">接着我就来代码了Q?span lang="EN-US"><o:p></o:p></span></span></p> <p class="MsoNormal" align="left" style="text-align:left;mso-layout-grid-align: none;text-autospace:none"><span lang="EN-US" style="font-size:12.0pt;font-family: "Courier New";color:blue;mso-font-kerning:0pt;mso-no-proof:yes">int</span><strong><span lang="EN-US" style="font-size:12.0pt;font-family:"Courier New";mso-font-kerning: 0pt;mso-no-proof:yes"> main(</span></strong><span lang="EN-US" style="font-size:12.0pt; font-family:"Courier New";color:blue;mso-font-kerning:0pt;mso-no-proof:yes">int</span><strong><span lang="EN-US" style="font-size:12.0pt;font-family:"Courier New";mso-font-kerning: 0pt;mso-no-proof:yes"> argc, </span></strong><span lang="EN-US" style="font-size:12.0pt; font-family:"Courier New";color:blue;mso-font-kerning:0pt;mso-no-proof:yes">char</span><span lang="EN-US" style="font-size:12.0pt;font-family:"Courier New";mso-font-kerning: 0pt;mso-no-proof:yes">** argv)<o:p></o:p></span></p> <p class="MsoNormal" align="left" style="text-align:left;mso-layout-grid-align: none;text-autospace:none"><span lang="EN-US" style="font-size:12.0pt;font-family: "Courier New";mso-font-kerning:0pt;mso-no-proof:yes">{<o:p></o:p></span></p> <p class="MsoNormal" align="left" style="text-align:left;mso-layout-grid-align: none;text-autospace:none"><strong><span lang="EN-US" style="font-size:12.0pt; font-family:"Courier New";mso-font-kerning:0pt;mso-no-proof:yes"><span style="mso-tab-count:1">   </span>cout<<</span></strong><span lang="EN-US" style="font-size:12.0pt;font-family:"Courier New";color:maroon;mso-font-kerning: 0pt;mso-no-proof:yes">"Demo HTTP Proxy Server ver. 0.1.0.0"</span><span lang="EN-US" style="font-size:12.0pt;font-family:"Courier New";mso-font-kerning: 0pt;mso-no-proof:yes"><<endl;<o:p></o:p></span></p> <p class="MsoNormal" align="left" style="text-align:left;mso-layout-grid-align: none;text-autospace:none"><strong><span lang="EN-US" style="font-size:12.0pt; font-family:"Courier New";mso-font-kerning:0pt;mso-no-proof:yes"><span style="mso-tab-count:1">   </span>cout<<</span></strong><span lang="EN-US" style="font-size:12.0pt;font-family:"Courier New";color:maroon;mso-font-kerning: 0pt;mso-no-proof:yes">"Developed by:Like Zhang"</span><span lang="EN-US" style="font-size:12.0pt;font-family:"Courier New";mso-font-kerning:0pt; mso-no-proof:yes"><<endl;<o:p></o:p></span></p> <p class="MsoNormal" align="left" style="text-align:left;mso-layout-grid-align: none;text-autospace:none"><strong><span lang="EN-US" style="font-size:12.0pt; font-family:"Courier New";mso-font-kerning:0pt;mso-no-proof:yes"><span style="mso-tab-count:1">   </span>RunServer();</span></strong><span lang="EN-US" style="font-size:12.0pt;font-family:"Courier New";mso-font-kerning:0pt; mso-no-proof:yes"><o:p></o:p></span></p> <p class="MsoNormal" align="left" style="text-align:left;mso-layout-grid-align: none;text-autospace:none"><strong><span lang="EN-US" style="font-size:12.0pt; font-family:"Courier New";mso-font-kerning:0pt;mso-no-proof:yes"><span style="mso-tab-count:1">   </span></span></strong><span lang="EN-US" style="font-size: 12.0pt;font-family:"Courier New";color:blue;mso-font-kerning:0pt;mso-no-proof: yes">return</span><strong><span lang="EN-US" style="font-size:12.0pt;font-family:"Courier New"; mso-font-kerning:0pt;mso-no-proof:yes"> 0;</span></strong><span lang="EN-US" style="font-size:12.0pt;font-family:"Courier New";mso-font-kerning:0pt; mso-no-proof:yes"><o:p></o:p></span></p> <p class="MsoNormal" align="left" style="text-align:left;mso-layout-grid-align: none;text-autospace:none"><span lang="EN-US" style="font-size:12.0pt;font-family: "Courier New";mso-font-kerning:0pt;mso-no-proof:yes">}<o:p></o:p></span></p> <p class="MsoNoSpacing"><span style="font-size:14.0pt;font-family:华文楷体; mso-bidi-font-family:"Courier New";mso-font-kerning:0pt;mso-no-proof:yes">dC么事情都没有做,是<span lang="EN-US">RunServer</span>Q将服务启动。那开始看?span lang="EN-US">server</span>是怎么工作的:<span lang="EN-US"><o:p></o:p></span></span></p> <p class="MsoNoSpacing"><span style="font-size:14.0pt;font-family:华文楷体; mso-bidi-font-family:"Courier New";mso-font-kerning:0pt;mso-no-proof:yes">文字描述<span lang="EN-US">(</span>代码太多Q伪码描q比较合?span lang="EN-US">)</span>Q?span lang="EN-US"><o:p></o:p></span></span></p> <p class="MsoListParagraph" align="left" style="margin-left:18.0pt;text-align:left; text-indent:-18.0pt;mso-char-indent-count:0;mso-list:l0 level1 lfo2;mso-layout-grid-align: none;text-autospace:none"><span lang="EN-US" style="font-size:14.0pt;font-family:华文楷体;mso-bidi-font-family:华文楷体;mso-font-kerning: 0pt;mso-no-proof:yes"><span style="mso-list:Ignore">1><span style="font:7.0pt "Times New Roman""> </span></span></span><span style="font-size:14.0pt;font-family:华文楷体;mso-bidi-font-family:"Courier New"; mso-font-kerning:0pt;mso-no-proof:yes">准备服务器套接字Q绑定套接字Q让套接字在一个端口上监听<span lang="EN-US"><o:p></o:p></span></span></p> <p class="MsoListParagraph" align="left" style="margin-left:18.0pt;text-align:left; text-indent:-18.0pt;mso-char-indent-count:0;mso-list:l0 level1 lfo2;mso-layout-grid-align: none;text-autospace:none"><span lang="EN-US" style="font-size:14.0pt;font-family:华文楷体;mso-bidi-font-family:华文楷体;mso-font-kerning: 0pt;mso-no-proof:yes"><span style="mso-list:Ignore">2><span style="font:7.0pt "Times New Roman""> </span></span></span><span style="font-size:14.0pt;font-family:华文楷体;mso-bidi-font-family:"Courier New"; mso-font-kerning:0pt;mso-no-proof:yes">然后甌<span lang="EN-US">N</span>多的U程<span lang="EN-US">(</span>叫?span lang="EN-US"><threadArray>)</span>Q放到数l中<span lang="EN-US"><o:p></o:p></span></span></p> <p class="MsoListParagraph" align="left" style="margin-left:18.0pt;text-align:left; text-indent:-18.0pt;mso-char-indent-count:0;mso-list:l0 level1 lfo2;mso-layout-grid-align: none;text-autospace:none"><span lang="EN-US" style="font-size:14.0pt;font-family:华文楷体;mso-bidi-font-family:华文楷体;mso-font-kerning: 0pt;mso-no-proof:yes"><span style="mso-list:Ignore">3><span style="font:7.0pt "Times New Roman""> </span></span></span><span style="font-size:14.0pt;font-family:华文楷体;mso-bidi-font-family:"Courier New"; mso-font-kerning:0pt;mso-no-proof:yes">然后q待客Lq接到服务器?span lang="EN-US">(</span>也就?span lang="EN-US">accept</span>?span lang="EN-US">)</span>Q一直等<span lang="EN-US">……<o:p></o:p></span></span></p> <p class="MsoListParagraph" align="left" style="margin-left:18.0pt;text-align:left; text-indent:-18.0pt;mso-char-indent-count:0;mso-list:l0 level1 lfo2;mso-layout-grid-align: none;text-autospace:none"><span lang="EN-US" style="font-size:14.0pt;font-family:华文楷体;mso-bidi-font-family:华文楷体;mso-font-kerning: 0pt;mso-no-proof:yes"><span style="mso-list:Ignore">4><span style="font:7.0pt "Times New Roman""> </span></span></span><span style="font-size:14.0pt;font-family:华文楷体;mso-bidi-font-family:"Courier New"; mso-font-kerning:0pt;mso-no-proof:yes">如果{到有客Lq接Q那将<span lang="EN-US">accept</span>到的套接字放到响应队?span lang="EN-US">(</span>叫?span lang="EN-US"><socketBuffer></span>?span lang="EN-US">)</span>中,当然׃q个队列是一个共享资源,使用互斥体保证它的安?span lang="EN-US">---</span>先加׃n锁,然后套接字攑օ队列Q然后再释放׃n锁?span lang="EN-US"><o:p></o:p></span></span></p> <p class="MsoListParagraph" align="left" style="margin-left:18.0pt;text-align:left; text-indent:-18.0pt;mso-char-indent-count:0;mso-list:l0 level1 lfo2;mso-layout-grid-align: none;text-autospace:none"><span lang="EN-US" style="font-size:14.0pt;font-family:华文楷体;mso-bidi-font-family:华文楷体;mso-font-kerning: 0pt;mso-no-proof:yes"><span style="mso-list:Ignore">5><span style="font:7.0pt "Times New Roman""> </span></span></span><span lang="EN-US" style="font-size:14.0pt;font-family:华文楷体;mso-bidi-font-family:"Courier New"; mso-font-kerning:0pt;mso-no-proof:yes"><threadArray></span><span style="font-size:14.0pt;font-family:华文楷体;mso-bidi-font-family:"Courier New"; mso-font-kerning:0pt;mso-no-proof:yes">里面的线E是怎样工作的呢Q接下来介绍U程函数<span lang="EN-US"><o:p></o:p></span></span></p> <p class="MsoNoSpacing"><span style="font-size:14.0pt;font-family:华文楷体; mso-bidi-font-family:"Courier New";mso-font-kerning:0pt;mso-no-proof:yes">文字描述U程函数Q?span lang="EN-US"><o:p></o:p></span></span></p> <p class="MsoNoSpacing" style="margin-left:36.0pt;text-indent:-36.0pt;mso-list: l1 level1 lfo3"><span lang="EN-US" style="font-size:14.0pt; font-family:华文楷体;mso-bidi-font-family:华文楷体;mso-font-kerning:0pt;mso-no-proof: yes"><span style="mso-list:Ignore">1><span style="font:7.0pt "Times New Roman"">             </span></span></span><span style="font-size:14.0pt;font-family:华文楷体; mso-bidi-font-family:"Courier New";mso-font-kerning:0pt;mso-no-proof:yes">首先加共享锁Q接着看下<span lang="EN-US">socketBuffer</span>有没有东西,如果没有东西Q也是有没有客hq接服务器)释放׃n锁接着循环Q如果有东西Q那将套接字弹出(C释放׃n锁)Q用q个套接字做事情?span lang="EN-US"><o:p></o:p></span></span></p> <p class="MsoNoSpacing" style="margin-left:36.0pt;text-indent:-36.0pt;mso-list: l1 level1 lfo3"><span lang="EN-US" style="font-size:14.0pt; font-family:华文楷体;mso-bidi-font-family:华文楷体;mso-font-kerning:0pt;mso-no-proof: yes"><span style="mso-list:Ignore">2><span style="font:7.0pt "Times New Roman"">             </span></span></span><span style="font-size:14.0pt;font-family:华文楷体; mso-bidi-font-family:"Courier New";mso-font-kerning:0pt;mso-no-proof:yes">做什么事情呢Q其实很单,是客L的请求拿q来Q然后{发出厅R?span lang="EN-US"><o:p></o:p></span></span></p> <p class="MsoNoSpacing" style="margin-left:36.0pt;text-indent:-36.0pt;mso-list: l1 level1 lfo3"><span lang="EN-US" style="font-size:14.0pt; font-family:华文楷体;mso-bidi-font-family:华文楷体;mso-font-kerning:0pt;mso-no-proof: yes"><span style="mso-list:Ignore">3><span style="font:7.0pt "Times New Roman"">             </span></span></span><span style="font-size:14.0pt;font-family:华文楷体; mso-bidi-font-family:"Courier New";mso-font-kerning:0pt;mso-no-proof:yes">转发出去之后接收目标服务器的响应Q请求完了,转发也完了,将套接字关掉,U程函数q回?span lang="EN-US"><o:p></o:p></span></span></p> <p class="MsoNoSpacing"><span style="font-size:14.0pt;font-family:华文楷体; mso-bidi-font-family:"Courier New";mso-font-kerning:0pt;mso-no-proof:yes">但是q里遇到了一些问题:怎么L到目标服务器Q怎么L受目标服务器的响应(性能考虑Q?<span lang="EN-US"><o:p></o:p></span></span></p> <p class="MsoNoSpacing"><span style="font-size:14.0pt;font-family:华文楷体; mso-bidi-font-family:"Courier New";mso-font-kerning:0pt;mso-no-proof:yes">熟悉<span lang="EN-US">HTTP</span>协议的h都是知道的,?span lang="EN-US">HTTP</span>h中就带有h?span lang="EN-US">URL</span>。所以我们只要解释一下客L的请求就知道了?span lang="EN-US"><o:p></o:p></span></span></p> <p class="MsoNoSpacing"><span style="font-size:14.0pt;font-family:华文楷体; mso-bidi-font-family:"Courier New";mso-font-kerning:0pt;mso-no-proof:yes">而接受目标服务器的响应我们?span lang="EN-US">IO</span>复用p了?span lang="EN-US"><o:p></o:p></span></span></p> <p class="MsoNoSpacing"><span style="font-size:14.0pt;font-family:华文楷体; mso-bidi-font-family:"Courier New";mso-font-kerning:0pt;mso-no-proof:yes">讲解完毕Q?span lang="EN-US"><o:p></o:p></span></span></p><p class="MsoNoSpacing"><font face="华文楷体" size="6"><span style="font-size: 19px;">看下代码Qwindows版本的是Like Zhang实现的,版权归他所有。这里只做交用,如果Like Zhang需要撤下我会撤下?/span></font></p><p class="MsoNoSpacing"><font face="华文楷体" size="6"><span style="font-size: 19px;">Linux版本是我实现的,没有实现IO复用Q也没有Windows的快QLinux开50个线E直接卡住)?/span></font></p><p class="MsoNoSpacing"><font face="华文楷体" size="6"><span style="font-size: 19px;"><a href="http://www.shnenglu.com/Files/chaogu/http_proxy.rar" title="http_proxy" target="_blank" style="color: rgb(255, 0, 0); ">http-proxy</a></span></font></p><p class="MsoNoSpacing"><font face="华文楷体" size="6"><p class="MsoNormal"><span style="font-size:14.0pt;font-family:华文楷体">功能是实CQ但是还是有很多的不I我从以下几点描述Q?span lang="EN-US"><o:p></o:p></span></span></p> <p class="MsoNormal"><span lang="EN-US" style="font-size:14.0pt;font-family:华文楷体">1></span><span style="font-size:14.0pt;font-family:华文楷体">性能Q测试结果表明性能不高Q特别是当客L也是多线E实现的时候,某个意义上说q个代理服务器没有Q何的性能提高和需要的价倹{所以还要优化性能Q主要是Q内存、线E的复用<span lang="EN-US">IO</span>上做优化?span lang="EN-US"><o:p></o:p></span></span></p> <p class="MsoNormal"><span lang="EN-US" style="font-size:14.0pt;font-family:华文楷体">2></span><span style="font-size:14.0pt;font-family:华文楷体">提供的功能:q是性能提高了,但是没有提供吸引人的功能时也没有存在的意义,所以还要提供一些实质上的功能:面~存、过滤信息和安全保护机制?span lang="EN-US"><o:p></o:p></span></span></p> <p class="MsoNormal"><span lang="EN-US" style="font-size:14.0pt;font-family:华文楷体">3></span><span style="font-size:14.0pt;font-family:华文楷体">设计Q如果看q代码可能知道这个东西的代码很差Q如果要扩展q个东西设计q是很重要的Q比如我们要加入更多的功能,这些功能差分开再进行编码会爽很多?span lang="EN-US"><o:p></o:p></span></span></p> <p class="MsoNormal"><span style="font-size:14.0pt;font-family:华文楷体">性能改进Q?span lang="EN-US"><o:p></o:p></span></span></p> <p class="MsoListParagraph" style="margin-left:36.0pt;text-indent:-36.0pt; mso-char-indent-count:0;mso-list:l0 level1 lfo1"><span lang="EN-US" style="font-size:14.0pt;font-family:华文楷体;mso-bidi-font-family:华文楷体"><span style="mso-list:Ignore">1><span style="font:7.0pt "Times New Roman"">             </span></span></span><span style="font-size:14.0pt;font-family:华文楷体">内存Q要惛_C个高效的q发的服务器E序是需要很多的努力Q在内存的管理上不能忽略Q还有比如缓存页面需要大量的内存使用Q如果能对内存用上做一些努力能获得很高的性能提升?span lang="EN-US"><o:p></o:p></span></span></p> <p class="MsoListParagraph" style="margin-left:36.0pt;text-indent:-36.0pt; mso-char-indent-count:0;mso-list:l0 level1 lfo1"><span lang="EN-US" style="font-size:14.0pt;font-family:华文楷体;mso-bidi-font-family:华文楷体"><span style="mso-list:Ignore">2><span style="font:7.0pt "Times New Roman"">             </span></span></span><span style="font-size:14.0pt;font-family:华文楷体">U程池:q个很重要,在线E的理上一炚w不能马虎Q动态的U程理是很有必要的Q当q接时要申请少量的U程Q当用户增多Qؓ了服务的质量要动态地d加线E?span lang="EN-US"><o:p></o:p></span></span></p> <p class="MsoListParagraph" style="margin-left:36.0pt;text-indent:-36.0pt; mso-char-indent-count:0;mso-list:l0 level1 lfo1"><span lang="EN-US" style="font-size:14.0pt;font-family:华文楷体;mso-bidi-font-family:华文楷体"><span style="mso-list:Ignore">3><span style="font:7.0pt "Times New Roman"">             </span></span></span><span style="font-size:14.0pt;font-family:华文楷体">~存面Q前面也提到要缓存页面,可以x如果在一Ҏ间段很多讉K<span lang="EN-US">Google</span>的网站(比如<span lang="EN-US">50</span>个)我们~存?span lang="EN-US">Google</span>的页面我们就只要下蝲一ơ。当然加入这个功能的时候要深入的去了解?span lang="EN-US">HTTP</span>协议Q比如怎么L换掉~存的页面,如果目标的页面更改了Q我们还是要重新下蝲一ơ的?span lang="EN-US"><o:p></o:p></span></span></p></font></p><p class="MsoNoSpacing"><font face="华文楷体"><span style="font-size: xx-large; "><br></span></font></p><img src ="http://www.shnenglu.com/chaogu/aggbug/118842.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.shnenglu.com/chaogu/" target="_blank">chaogu</a> 2010-06-28 01:52 <a href="http://www.shnenglu.com/chaogu/archive/2010/06/28/118842.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>再写一?---我属于哪个层?怎么L高层ơ(求意见)http://www.shnenglu.com/chaogu/archive/2010/06/19/118214.htmlchaoguchaoguFri, 18 Jun 2010 19:06:00 GMThttp://www.shnenglu.com/chaogu/archive/2010/06/19/118214.htmlhttp://www.shnenglu.com/chaogu/comments/118214.htmlhttp://www.shnenglu.com/chaogu/archive/2010/06/19/118214.html#Feedback12http://www.shnenglu.com/chaogu/comments/commentRss/118214.htmlhttp://www.shnenglu.com/chaogu/services/trackbacks/118214.html

   上一提C?span lang="EN-US">blog写泄愤的话,好像自己没有做到q一点,也扯太远了,在这一里道个歉希望博友见谅?span lang="EN-US">

   我ƈ不是什么技术牛人,但是我想写一些自ql验l各位看看,如果觉得没什么意思,qW,如果对你有帮助也W笑------W一W,十年?/span>

   我的专业是这个的Q当然少不了要编E但是编来编M知道方向了,也不知道怎么再去提高了,q是一个很恐怖的事情Q有时我׃问自己我是属于哪个层ơ的Q我q有什么不I我该怎么L高?q些Ҏ来说都是比较实在的问题?span lang="EN-US">

   我是两年前开始学~程的,如果不算我浪费的大学W一q。大一的时候,我们是有?span lang="EN-US">C++Q有上机实习Q当时在我看来那都是瞎扯淡,q函数都不知Z物,拼凑一些我都不知道q什么用的代码,然后当作作业提交上去Q如果不是那该死?span lang="EN-US">MFC我也不会q样Q因为我q函数变量这些基本的东西都不懂,你叫我用MFC那不如杀了我。再加上没有人给我讲MFCQ我感觉代码是一U神U的东西。其实也不能说我不努力,其实努力了,只是没有得到该有的回报。可能\走错了,走错路是一件很可怕的事情Q比如你C一个反方向的\Q当然地球是圆的Q你最l会到达l点Q不q你错过了好的时机,费了大把的旉和精力。如果走错了方向及时Ҏq来q是可以?span lang="EN-US">-----如果你没有放弃的?span lang="EN-US">

   是的Q我没有攑ּQ虽然我惌Q,我及时的改变的方向。从学到高中我都想q老师的方向,最l我q是不敢q老师的方向。不q在大学我没有想到我无意间脱M老师的方向,是圆了我的梦。大二开了门JavaQ老师不错Q然后我?span lang="EN-US">Java学会了编E然后我再去?span lang="EN-US">C++Q很讽刺Q我现在喜欢的是C++Q而我?span lang="EN-US">C++是从Java里面学来的。其实如果你遇到了好的老师Q那个老师不需要很牛,也不需要h品很好,但是他能教会你东西,你算是捡到宝了。我是捡到宝的人,不要脸的说一句我是luck dog。然后我做一?span lang="EN-US">ACM的题目,q也是因为我遇到了好的朋?span lang="EN-US">----他叫我去做一?span lang="EN-US">ACM的题目,然后我通过做题-M-做题Q我的水q_提上MQ最L我对Coding有了从来没有的兴。做了一些题后我感觉没有什么代码我是写不出来的Q现在想惛_可笑Q。然后我又重新玩了一?span lang="EN-US">MFCQ看的是《深入浅?span lang="EN-US">MFC》和孙鑫?span lang="EN-US">MFC视屏。然后我懂了MFC的一些底层的东西Q做MFC有了Ҏ觉。不q我很讨?span lang="EN-US">MFCQ毕竟是它让我对~程失去了信心。在q段路我C弯\Q不q这个弯路是值得的,梅花香自苦寒来?span lang="EN-US">

   如果停留在做ACM的题目上的话我还是不可一世的人,因ؓ完成一个题目给你带来的满感是多么让h难以自拔的(我知道园子里很多题目达hQ不要拍我)。我承认?span lang="EN-US">ACM题目很锻ghQ能时刻保持住你的思维能力Q而且不断提高能力Q但是不要一直做题目Q要出来透透气Q我是U对什么都感兴的人,当然也是~Z耐心的h。所以玩了一些无关痛痒的东西Q比?span lang="EN-US">QT?span lang="EN-US">mingw?span lang="EN-US">Linux{等Q当然老师没有要求Q如果跟着老师我永q不知道外面的世界是什么样的,q好我看了很多这些东西,然后我对q些东西都多了解点Q自己做起事情来也知道怎么去选取不同的方案,Z么这么做。在q段旉我的操作pȝ的那个老师Ҏ帮助很大Q他每节N不务正业Q天天吹牛,然后在他的吹牛下我也变成一个会吹牛的h------他说了一些对我来说是新鲜的东西,然后我课下自己找到这些新鲜的东西Q然后自己消化,然后可以吹牛的Q不q水q也只限于吹牛?span lang="EN-US">

   很多时候h都是在浪Ҏ_我浪费了不少旉。然后也L了不守时Q做事情拖沓的习?span lang="EN-US">----现在在改。接着我大三的时候接触了高的东?span lang="EN-US">----囑Ş学。可能对有些人甚臛_多数人图形学不是什么高U的东西Q但对于我来说是高的。因为我一直在看没有做事情Q所以水q?span lang="EN-US">"?span lang="EN-US">"字来形容。我在这门课上学了很多东西,比如需求、测试、设计?span lang="EN-US">MVC、面向对象。我写了很多代码Q看了很多书Q然后我是现在q个水^?span lang="EN-US">

   那我现在是什么水q_Q我很难判断。对于自己都不了解是没有办法L到自q不Q也没有办法L高自q水^。所以我|列一下自己:1?span lang="EN-US">C++语法q没有学透。我l自q定义是低U?span lang="EN-US">C++E序员。虽然对于常用的C++是会用的Q用C++d出大多数功能是没有问题的。但是让我去设计一?span lang="EN-US">C++pȝq是不行Q简单的可以Q但是对于复杂的pȝq是不行。就设计出来了也可能设计得不好。所以这斚w需要自己努力一下?span lang="EN-US">2?span lang="EN-US">Java学得?span lang="EN-US">C++一栗?span lang="EN-US">3?span lang="EN-US">pythonq处于写demo阶段?span lang="EN-US">4、ȝ来说语言不是障碍了,但是设计和知识储备还不够?span lang="EN-US">5、没有处理过复杂的系l?span lang="EN-US">---比如一个游戏或一?span lang="EN-US">3D引擎?span lang="EN-US">6、没有经?span lang="EN-US">-----很少接触q真实的软g开发,基本不知道要q嘛。也是说我׃知道别h要一个什么样的程序?span lang="EN-US">

   别h说我~程很牛Q是的,我可以指gq的实习,我可以给低年U讲一些我熟悉的东西,但是很牛不上,q是叫我低E序员好一点,甚至是很低很低的那种。有时我q戏U自׃ؓQ写代码的小男孩?span lang="EN-US">

 



chaogu 2010-06-19 03:06 发表评论
]]>
þ99Ʒþþþþ벥| þ99Ʒþþþþ9| ҹƷþþþ9999| 91鶹Ʒ91þþ| 7777Ʒþþô߽| þùƷþùƷ| þavСݲ| vavavaþ| ɫۺϾþۺ| ˾þô߽ۺAv | ŷƷþþ| ݺɫݺݺݺݺɫۺϾþ| þҹɫƷ鶹| AVӰƬþþþþ| ھƷۺϾþþ40p| Ʒ˾þþþҹӰ | þԭƷ| Ʒþˬ| Ʒþþþþ˳| ޹պŷۺϾþ| ˾ƷѾþþþ| þ Ʒ| 99ȾþֻоƷ68| ޾ƷҾþþþþ| ާѡþþþƷ9966| þþƷһ| þþþþþ| պƷרþþ| 91޹˾þþƷַ| ˺ݺۺ88ۺϾþ| һۺϾþ| ŷһƷþ| þþþþþþþþþĻ| þþþרav| 99þ99þþƷ| þ˾Ʒԭ| 97þù޾Ʒ| þþŮһ| ٸþþþþñŪ߳| þþþavר| ާѡþþþƷ|