关闭WindowsServer2008 R2 关闭事件跟踪程序
1.打开开始--运行--键入gpedit.msc 2.管理模版--系统,“显示‘关闭事件跟踪程序’” by:wangbin5542 家园原文: http://www.wowpc.cn/thread-14932-1-1.html
View Details文件头信息
根据文件的后缀名识别文件类型并不准确,可以使用文件的头信息进行识别: 以下是各类文件的头: JPEG (jpg),文件头:FFD8FFE1 PNG (png),文件头:89504E47 GIF (gif),文件头:47494638 TIFF (tif),文件头:49492A00 Windows Bitmap (bmp),文件头:424D CAD (dwg),文件头:41433130 Adobe Photoshop (psd),文件头:38425053 Rich Text Format (rtf),文件头:7B5C727466 XML (xml),文件头:3C3F786D6C HTML (html),文件头:68746D6C3E Email [thorough only] (eml),文件头:44656C69766572792D646174653A Outlook Express (dbx),文件头:CFAD12FEC5FD746F Outlook (pst),文件头:2142444E MS Word/Excel (xls.or.doc),文件头:D0CF11E0 MS Access (mdb),文件头:5374616E64617264204A WordPerfect (wpd),文件头:FF575043 Postscript (eps.or.ps),文件头:252150532D41646F6265 Adobe Acrobat (pdf),文件头:255044462D312E Quicken (qdf),文件头:AC9EBD8F Windows Password (pwl),文件头:E3828596 ZIP Archive (zip),文件头:504B0304 RAR Archive (rar),文件头:52617221 Wave (wav),文件头:57415645 AVI (avi),文件头:41564920 Real Audio (ram),文件头:2E7261FD Real Media (rm),文件头:2E524D46 MPEG (mpg),文件头:000001BA MPEG (mpg),文件头:000001B3 Quicktime (mov),文件头:6D6F6F76 Windows Media (asf),文件头:3026B2758E66CF11 MIDI (mid),文件头:4D546864 转自:http://hi.baidu.com/eggpai/item/8f212b2485917f899c63d100?qq-pf-to=pcqq.c2c
View DetailsC#的Byte[]和stream
1、Byte[] ===== 1. BitConverter 将基础数据类型与字节数组相互转换。注意string不是基础类型,而且该方法在不同平台间传递可能有误。 int i = 13; byte[] bs = BitConverter.GetBytes(i); Console.WriteLine(BitConverter.ToInt32(bs, 0)); 2. Encoding 注意慎用Encoding.Default,其值取自操作系统当前的设置,因此在不同语言版本的操作系统是不相同的。建议使用UTF8或者GetEncoding(”gb2312″)。 string s = "abc"; byte[] bs = Encoding.UTF8.GetBytes(s); Console.WriteLine(Encoding.UTF8.GetString(bs)); 3. BinaryFormatter 以二进制格式将对象或整个连接对象图形序列化和反序列化。 using System.Runtime.Serialization; using System.Runtime.Serialization.Formatters.Binary; [Serializable] class Data { private int x = 13; public void Test() { Console.WriteLine(x); } } static void Main(string[] args) { Data data = new Data(); MemoryStream stream = new MemoryStream(); BinaryFormatter formatter = new BinaryFormatter(); formatter.Serialize(stream, data); byte[] bs = stream.ToArray(); MemoryStream stream2 = new MemoryStream(bs); Data data2 = (Data)formatter.Deserialize(stream2); data2.Test(); } […]
View Details谷歌员工吐槽对公司不满:优秀人才从事无聊工作
导语:美国社交问答网站Quora上近期发起讨论,多名谷歌员工对于在谷歌的工作提出多方面的不满。美国科技博客Business Insider今天刊文,总结了谷歌员工的这些不满。 以下为文章全文: 1.所有人都很优秀,因此谷歌可以招聘最杰出的人才从事最无聊的工作 “对许多人来说,在谷歌工作最糟糕的是,他们的能力远远超出所从事的的工作。由于品牌效应、薪酬和福利,以及非常积极的工作文化,因此谷歌有着极高的招聘门槛。所以,谷歌可以选择最优秀的候选人,即使是一些低级别职位。” “美国前10名大学的一些学生为谷歌的广告产品提供技术支持,或人工下线一些YouTube内容,或是为网站一个按钮的配色撰写基本的A/B测试代码。” 2.谷歌员工非常杰出,谷歌内部甚至出现了相关的笑话 “我曾经和同事开玩笑说,佩奇和布林乘着游艇出游,将游艇靠在一起,躺在与喷气式飞机上相同的躺椅上,抽着雪茄,拿起谷歌员工的照片说:‘他曾 经是跨国电信公司的总经理,拥有哈佛大学MBA学位,而现在则在解答Orkut的问题。’随后他们放声大笑,并拿起雪茄和苏格兰威士忌庆祝。当然这一部分 不太可能,因为他们两人都不会抽雪茄或是喝苏格兰威士忌。但其他部分可能是真的。” 3.谷歌已不再是创业公司,而是一家非常庞大的公司 “当我离职时,谷歌已不再具备创业公司的氛围。同样出现了办公室政治。如果你从事适当的项目,并以正确的方式进行自己的工作,那么很容易得到晋升。” 4.许多工程师都很傲慢 “不幸的是,尽管有着共同的信念,但我发现一般的谷歌工程师都很平庸,同时也非常傲慢。所有人都认为,他比自己的同事更好。因此除非是和朋友, 否则很难讨论任何问题。由于每个人的领域不同,因此客观的讨论非常少,而除非对方是‘重要的上帝’,所有人都对其他人的意见不感兴趣。” 5.谷歌非常庞大,你无法对其施加任何影响 “我在谷歌工作了3年。离开非常困难,但一个重要因素使我做出了这一决定:作为一个个人,我对谷歌业务可能产生的影响非常小。与之前的一些回答 类似,谷歌是一架不可思议的机器,依靠AdWords印刷钞票。除非你是极具才能的工程师,能创造一些新东西,否则你只是给这台机器加油的人。” 6.中层管理者很平庸 “我只能说,中层管理者总是保持中庸的思想,只关注指标而没有其他任何东西。他们不想打破现状,不知道如何激励下属,非常依赖谷歌的名声为自己谋取利益。” 7.谷歌可能懂工程,但不懂设计 “谷歌缺乏对产品和视觉设计的足够专注。这带来了许多被放弃,或是只取得一半成功的产品,例如Wave、谷歌视频、Buzz、Dodgeball、Orkut、Knol和Friend Connect。谷歌过于关注纯工程。” 8.办公室空间太小 “如果你只能在4栋主要园区大楼之一工作,那么可能会感到空间很挤。3到4名员工共用一个隔间,或几名经理共用一间办公室很常见。由于所有开开放空间都提供食物、游戏、电视或科技谈话,因此很难找到一个安静、私密的空间用于思考。” 9.事情一定要写在纸面上 “如果你正在与谷歌进行招聘谈判,那么要确保所有一切都必须写在纸面上,谷歌开出了太多空头支票,最终都没有兑现。” 10.谷歌员工可能被琐事困扰 “在苏黎世的办公室有一个安静的房间,员工可以在那里休息或午睡。那里有着非常漂亮的鱼缸,你可以将工作时间花在那里。超过100个邮件讨论搬走房间中的按摩椅,因为许多人抱怨按摩椅太吵,影响了他们的睡眠。” 11.文化并不成熟 “这里就像是世外桃源,人们永远不会长大。他们整天都在喝东西,社交,玩游戏,但工作做得很少。” 12.你无法远程办公 “对我来说问题在于无法远程办公,而过去5到6年中我一直都这样做。” 13.谷歌员工不尊重临时工 “我曾在谷歌从事临时工的工作,最糟糕的是谷歌正式员工自以为是的态度。他们似乎认为,非正式员工在精神上要低他们一等。” 转自:http://www.oschina.net/news/45645/google-employees-are-not-satisfied-with-the-company
View Details12 大仍在使用的过时技术
虽说科技在近年来迎来了前所未来的巨大飞跃,在对于许多普通人来说,我们的日常生活中还是能够时时刻刻看到许多“古老”技术的存在。比如,对于诸如拨号上网、磁带播放器、录像机等这些物品相信大家都不会陌生。就此,美国消费电子协会(CEA)行业分析主管史蒂夫-科尼格(Steve Koenig)就表示:“真正淘汰一项技术所需要的时间恐怕会超出你的想象。” 与此同时,美国消费电子协会日前公布的一份研究报告也指出,“大约仅有13-15%的人们是新兴技术的早期试用者,另有超过60%的人则通常会在一段时间以后才选择升级自己的老设备、或者采纳新技术。 对此,美国知名科技媒体日前就对“现代人们仍然使用的12大过时技术”进行了一番盘点,具体内容如下: 1. 拨号上网 我 记得在我上一次使用拨号上网的时候是希望从某网站上下载一份学习报告,但在忍受了长时间的蚂蚁网速后,我终于下定决心同拨号上网说拜拜。然而,根据皮尤公 布的《互联网与美国人生活习惯研究项目》(Pew Internet & American Life Project)数据显示,大约有4%的 美国人仍然在使用拨号上网。这也就是说,有超过1000万人在以不超过56.6k/s的速度访问互联网! 需要指出的是,这4%的拨号上网用户中可能有一部分是由于地处偏远地区而没有宽带互联网连接(这部分人群大约占据全美总人口的6%),剩下的一部分人则可能是基于费用或者其他原因而没有安装宽带。 2. 传呼机 在上世纪90年代,人们彰显自己身份的标志之一便是传呼机。在那个年代,如果你拥有一部传呼机的话,人们通常会把你认作是企业CEO,或者是一名外科医生,因此续续时刻同外界保持联系。但在几年的时间内,可以同时让人们收发信息手机的出现已经逐渐使传呼机退出了历史舞台。 尽 管目前手机已经拥有着绝对统治地位,但传呼机仍然拥有着一定的市场份额。根据美国消费电子协会的报告指出,2012年美国人总共采购了总金额为700万美 元的传呼机,数量约为1万部左右。如果说你希望在能够保持同外界接触的情况下保留一定个人隐私的话,传呼机似乎的确是一个不错的选择。 说到这里,你可能会想象到一个个其貌不扬的毒品贩子在街头通过传呼机联络的画面。但事实上,现在有许多医院仍然倾向于为医生配备一部传呼机,因为他们认为传呼机网络相比手机网络更加可靠,尤其是在紧急情况发生的情况时。 3. 点阵打印机 尽 管在很多场合内,点阵打印机的地位早已被喷墨打印机所取代,但根据知名市场研究公司NPD公布的数据显示,美国人在2012全年还是购买了大约2万部全新 点阵打印机。而且,在亚马逊购物网站上,我们仍然发现点阵打印机拥有一个完全独立的板块,其售价也往往比普通的喷墨打印机贵上了一倍左右(最低售价为 205美元)。 那么,现在还有哪些企业或者工作人员需要使用到这个出生于1983年的老旧技术呢?事实上,许多仓库、销售点或者其他一些业务系统都仍然十分依赖于这一设备,因为他们往往需要开具一式五联的单据,而开具这样单据的最好方法便是通过点阵打印机来实现。 4. PDA(个人数字助理) 在 很久以前,我曾经拥有过一部Palm Pilot个人助理设备,这是有史以来用户第一次可以从通讯录里直拨电话的设备。随后,我又用上了拥有彩色显示屏幕 的Cassiopeia。但是,我和个人数字助理设备之间的情缘也就到此为止了,因为智能手机的出现几乎使PDA变得一无是处。 然而,根据美国消费电子协会给出的数据显示,去年美国地区依然卖出了大约35万部全新PDA设备。该协会行业分析主管史蒂夫-科尼格透露,“人们购买PDA并不是因为他们因循守旧,而是因为许多垂直市场依旧需要使用随身PDA来收集数据,尤其是在仓库和医院这样的特殊办公场所”。 5. 公共电话 根 据美国公共交流委员会(American Public Communications Council)在2012年第三季度给出的数据显示,全美境内 目前仍然拥有多达30500个公共电话,对于知名乐队Maroon 5的粉丝来说,这或许是个不错的消息(该乐队的最近一张专辑的主打歌曲就是 “Pay Phone”)。 事实上,这些公共电话直到现在也仍然在发挥着自己的巨大作用。美国公共交流委员会透露,2012年人们总计使用这些公共电话拨打了超过5000万次电话。那么,到底有哪些人会直到现在仍然在使用公共电话呢? 分析人士认为,那些无力购买一部手机的低收入群体、希望保持自己匿名身份的人、手机在路上突然没电的用户以及那些突然无法接收运营商信号的人都有可能使用到公共电话服务。 6. 录像带和磁带 在互联网高速发展的时代,人们已经可以在线下载许许多多的音乐和其他数字内容。亦或者,用户也可以选择继续沉浸在1985年的生活中,也就是利用磁带录下广播中的歌曲、利用录像带录下电视中正在播放的节目。 7. 固定电话 在2012年中期,全美大约34%成年人家中没有安装固定电话。但与此同时,仍有66%的成年人不仅在家里安装了固定电话,而且还会为这套系统购买新硬件。根据美国消费电子协会给出的数据显示,美国人2012年总共购买了500万部固定电话和2150万部无绳电话。 8. CRT电视 虽 然目前仍然有相当数量的美国家庭在使用老旧的CRT电视,但大多数消费者电子产品公司已经基于种种理由而停止了这类产品的生产、开发工作。因为这些CRT 电视不仅丑陋、过时,其内部笨重零部件的生产和海外运输成本也十分高昂。但是,根据知名市场研究机构NPD给出的数据显示,美国人在去年总计购买了1万台 全新CRT电视,其中大多数CRT电视的主要观看群体是儿童。 9. 胶卷 现在,绝大多数用户手中的智能手机都已经配置了高清摄像头,但传统一些的卡片式照相机以及数码单反相机也依旧十分流行,现在用户甚至只需要花费不到100美元的价格便可以购买一部成像效果相当不错的数码相机。因此,考虑到用户利用数码相机所拍摄图片的持久性、可分享性以及高品质,我们实在很难想象现在依旧有人在使用老式胶卷相机。 然而根据NPD给出的数据显示,美国人似乎依旧对于这种老式的生活记录方式情有独钟,因为美国地区在去年依旧卖出了高达3500万卷相机胶卷。其中,部分人们是Lomo拍摄方式的狂热爱好者,另有一部分人则仅仅是不愿意同自己的宝丽来相机说分手而已。 10. Windows 98和Windows 2000操作系统 虽然绝大多的人们都喜欢驾驶配置了诸如先进燃油喷射、安全气囊和操控体验的新款汽车,但世界上总有那么一部分人更喜欢驾驶老式的本田Civic车型,而这一点在人们所使用的一些复古操作系统中也可见一斑。 据 市场调研究公司网络应用(Net Applications)公布的数据显示,目前仍然有0.05%的美国人在使用Windows 98和 Windows 2000操作系统。与此同时,The Computer Industry Almanac则表示,考虑到目前美国总计拥有3.11亿部电脑的事实,我们可以发现仍有超过15万人在使用来自上个世纪的操作系统。 11. 传真机 早在上世纪70年代,传真机就成为了一款必不可少的办公室设备。但在过去了整整40年后,随着电子邮件、即时通讯应用等服务的兴起,传真机似乎已经失去了自己继续存在下去的理由。然而,事情的发展却没有同人们的想象保持一致,由于许多商业合同的签订仍然需要企业高层的亲笔签名,因此传真机在现代企业中仍然十分普遍。 根据NPD的数据显示,美国人总计在2012年内购买了35万部新传真机,但相比2011年同比下降了14%。 12. 黑胶唱片机 当猫王正处于流行舞台最中央的时候,黑胶唱片机也成为了当时许多年轻人听歌的第一选择。但是,在当今数字音乐下载和流媒体服务大红大紫的年代,看似“过时”的黑胶唱片却显示出了卷土重来之势。 尽 管这一技术已经面世了很长时间,但现在有越来越多的新唱片开始以黑胶唱片的形式发行,其中就包括来自蠢朋克乐队(Daft.Punk)和僵尸周末乐队 (Vampire Weekend)的最新作品。根据美国知名数据分析机构Nielsen SoundScan日前公布的数据显示,美国人在2012年总 计购买了460万张黑胶唱片,同比上升了17.7%。尽管这一数字相比2012年1.18亿数字专辑的销量还相去甚远,但这一“古老”产业的复兴似乎已经 成为了一件不争的事实。 转自:http://www.oschina.net/news/45650/12-outdated-technology
View DetailsNBA明星前锋克里斯·波什:我们为何要学习编程
导语:NBA热火球员克里斯·波什还是个极客,对科学和编程有着浓烈的兴趣。被问及为何学习编程时,他说“仅仅是为了理解这个世界的运转方式。如果说蛮力开创了人类第一个纪元,自动化技术就是第二个,(学编程)是我们跟上时代步伐的唯一手段“。来听他谈谈编程如何影响这个时代的进程吧! 我知道,要求每个人——从流浪汉到小屁孩——都去学习编程,多少有些可笑。因为有一些更重要的事情,同样等着你去完成。 但我不认为,我们可以忽视学习编程的重要性。 作为一个生长在90年代,且有着技术控父母的小孩,我注意到我周围的世界全绕着一个轴在转,1和0组成的不同模型就是驱动世界运转的力量。忽视设计和编写这些模型的学习,我们就都太傻了。如果说,蛮力开创了人类第一个纪元,自动化是第二个,那编程是我们与时俱进的唯一手段。在未来,大多数工作会赋予那些懂编程的人。 上网,打电话,外出购物,我们无时不刻不在使用代码,它是这个世界运转的基础。能够对如此重要的事物有所了解,我觉得非常有益。 大部分运动员,在学校的时候就已选择了自己日后的职业运动项目。对我来说,这是在高中,一切发生的时候。一方面,你身体长得很快,长于运动;另一方面,大人们告诉你,要不论喜恶地去尝试不同事物,从中找到自己的规划。在那个年纪,尝试是一件很有意思的事情。 在加入NBA前我就清楚知道,要让我的未来——也是每个人的未来——足够有保障,我必须要有掌控0和1的能力,尽管此时我的球衣正挂在林肯高中的体育馆里。幸运的是,总在测试小物件、操作眼花缭乱的CAD软件的极客父母,帮助我把手放到学习编程的键盘上,而不是托着篮球,或阻止对手的进攻。 从我记事起,我的妈妈就经营着一个“电脑帮帮忙”的生意。可以说我是在电脑堆里长大的。后来,她去了德州仪器工作。每当我们放学回家,都会有一堆我妈从公司里带回来的新奇玩意可以把玩。那是我接触第一台数码相机的时候!当人们还在用着AutoCAD时,我父亲做上了职业管道施工,工程实施,并为多家不同的公司做设计。 我是幸运的,因为我的父母在子女教育上有很高水准,他们都是受科学驱使的人。高中时,我加入“天才儿童”组织,一个二年级学生组成的电脑绘图俱乐部。在这里我如鱼得水。高三时,我还加入了少数派工程师协会和全国黑人工程师协会。 我得到高中文凭,但没有从大学毕业。但即使只在佐治亚理工学院(Georgia Tech)待了一年,我依旧保持了对科学和求知的浓烈兴趣。我知道我可以靠这生存。在某些关键时刻,职业运动员要问自己,如果不成功怎么办。于我而言,我想我会拿计算机科学和编程来教育小朋友——越小越好。 关于编程,有趣的是,当我高中第一次摸索图形设计和计算机时,我完全不知道编程为何物。它是几乎一切科技的基础。如果当初在学校有人告诉我,编程可以直接或间接地让上百万人生活得更好,这会更早地激发我的兴趣。只是,我不认为那时候,人们真的意识到编程对当今世界的影响。 像所有精彩的篮球赛事一样,我们仍然可以追赶。 即使现在我的主要兴趣是篮球,我仍旧在学习和探索。我想教孩子编程,因为它可以创造出如此吸引人的应用。只要肯下功夫,这并不难。你尽可心说“但这对你的事业没有帮助”——我会告诉你,确实有。透过编程,让我明白了很多人生道理。 此时,学习编程对我而言,仅仅是为理解这个世界的运转方式。 而且,它很酷。我打的是篮球,但我知道我学编程的同辈们在“酷”之前需要面对非常多的嘲笑、戏弄。很多人无法想像一个将近七尺高的人也会成为攻击对象,但我也被欺负了好一阵。我很幸运,体育给了我在极客上的自信。我打的是篮球,所以我能按照自己的节奏来突围,并逆转观众的想法。 这些年来我看过很多有我的视频——赛事、MV、广告——但在code.org视频中是我人生最酷的时刻。当粉丝发推@我,说老师给他们看的视频中,我同世界上最有名的科技符号一并出现时,我明白了一件事:书呆子们终于一雪前耻。 我是麦阿密热火队员,我的球衣背面是“1”。对我来说,胜利并不是“胜利”,它是01110111 01101001 01101110 01101110 01101001 01101110 01100111(胜利"winning"的二进制代码)。 (本文为迈阿密热火1号球员克里斯·波什发表在《连线》文章) 转自:http://www.oschina.net/news/45652/why-we-should-learning-programming
View Details20 个用于处理页面滚动效果的 jQuery 插件
对设计和开发一个网站来说,web开发者不能低估了网站滚动效果的重要性。如今,设计者们都视为一大挑战了,在网站中设计出吸引眼球的高效视觉滚动效果。幸运的是有各种各样的jquery 滚动插件可供他们使用,有了这些插件,他们可以根据页面滚动的位置做出很多吸引眼球的效果,像背景变换、动画等等。 本文中我收集了20款可以帮你实现很绚效果的Jquery滚动插件。 有了下面的这些jQuery滚动插件,你可以随意的让网站中的任何元素滚动, 使网站变得更加绚丽、吸引眼球。 1. One Page scroll One Page Scroll,一个jQuery插件,简化了类似网站的创建。它需要很少的设置,只需要创建HTML结构,调用函数就可以了。 可选的,easing功能,它的速度和循环行为也可以设置。而且,它已经支持对每个页面SEO友好的URL。 2. Scrolld Scrolld.js是一个jQuery的独特开源插件。Scrolld.js提供了一种完美的高精度的布局方法,且使用实时更新的数据值生成导航。使用Scrolld.js滚动到项目将永远精准且将提供最好的用户体验。Scrolld.js是专门为支持响应式布局而设计的,可以将页面长导航变成一个简单的任务栏。Scrolld.js设计初衷是为能方便使用,并能够在几分钟内快速部署。 3. Animate Scroll AnimateScroll 是一个简单的jQuery插件,它用来为滚动增加延迟效果. 可以自定义滚动样式(30多种滚动效果)和滚动速度. 还有一个可以操纵"滚动结束位置"的"padding"选项. 这个插件不局限于整个页面,某个特定的包裹元素也可以作为其目标. 4. JInvertScroll jInvertScroll 是一个操纵默认滚动行为和强制水平滚动的jQuery插件.它通过onScroll回调函数简化了视察效果的创建,我们可以在onScroll回调函数中为任意元素增加动画效果.该插件很小,只有不到1KB大小,而且几乎不需要任何配置就可以工作. 为某个包裹元素添加一个特定的样式类然后调用一个JS方法就足够了. 5. Smint Smint 是一个帮助开发者在单页面风格的网站中创建导航. 它有两个主要的元素, 一个是不动的导航条,当你向下滚动页面的时候它会停留在页面的顶部,另一个是菜单按钮,当你点击的时候会自动将页面滚动到相应的区域. SMINT插件很简单,所以只有一个控制页面滚动速度的选项. 默认的速度是500毫秒 (半秒钟),但你可以将它设置为任意你喜欢的值. 下载的文件中包含一个demo,所以你可以轻松地将它作为你自己单页面网站的模板. 6. jQuery Arbitrary Anchor Plugin jQuery Arbitrary Anchor Plugin 允许页面滚动到页面中任意的基于jQuery/CSS选择器的对象上. 你可以通过在页面URL的#后面添加一个jQuery/CSS选择器来创建一个有用并且整洁的动态锚点滚动效果. 该插件继承了普通锚点的功能,也就是说,一个拥有名值属性的锚点标签仍然可以被正常地滚动到. 一个具有与锚点相同值的ID属性的元素也具有同样的效果. 这个小小的插件可以被应用到任何元素上. 7. ScrollUp ScrollUp 是一个轻量级的jQuery插件,它用来轻松实现自定义可以在任意网站使用的"滚动到顶部"效果.如果想创建一个可见的线条来帮助确定距离顶端的理想滚动距离,你需要为activeOverlay设置项制定一个有效的CSS颜色.ScrollUp可以通过CSS实现完全可定制,这使得它可以被很容易的应用到你的项目中. 只需要在你的CSS文件中scrollUp生成的ID设置你的样式即可. 它是基于MIT协议发布的. 8. jQuery Stick ‘em jQuery Stick ‘em 可以使内容在滚动的时候固定在某个点上.有时候,我们有一些很高的图片. 所以当你滚动到图片的底部之后,你将不得不滚回到描述你刚才看的图片的文字处. 解决办法就是当你滚动页面的时候把内容固定. 坑爹的是,我们不能仅仅把文字的位置设置为:fixed,一旦滚动到页面底部就玩完了.由于有时候页面上会有很多部分,我们不得不在某个点将内容"取消固定". 那么让我们来解决这个问题,jQuery Stick’em就能够实现该功能. 9. Infinity.js Infinity.js是用于web的表格视图UI库:它能够加速长列表的滚动并且保证你的无限的数据流畅和稳定。它体积小,久经测试而且性能很好。这是Github上最火的代码,并且以BSD协议分发。被注释的源代码作为演示Infinity关闭与开启是可用的。 Infinity.js是Airbnd公司开发的,除了流行许愿列表和朋友订阅部门,现在已经子啊日常的生产中使用。它只依赖于jQuery。 11. Mobiscroll Mobiscroll 是一个为移动设备(Android手机,iPhone,iPad,Galaxy Tab)准备的轮式滚动日期和时间的选择器.它可以被自定义来支持任意自定义的数值,也可以被用作对于本土选择控制的一个直观的替换. 它的样式是可以改变的. 12. Page Scroller Page Scroller 是一个基于JavaScript的强大的流畅滚动导航系统,它使用强大的jQuery库. 该插件可以在任何网站上轻松创建.你可以选择导航菜单的位置,也可以轻松地改变滚动速度.滚动插件需要依赖jQuery1.3以上的版本. 13. WayPoints Waypoints是一个比较小的jQuery框架,通过它可以轻松的在任何滚动元素滚动情况下执行函数。Waypoints可根据用户在页面滚动的位置生成一个比较稳定的流行UI模式。Waypoints遵循MIT和GPL双重协议。 据测试,在jQuery 1.4版本以上兼容IE6+, FF3+, Safari 4+, 和 […]
View DetailsWebRequest之Post写法
Web.Config
1 |
<globalization responseEncoding="gb2312"/> |
CS文件
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 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 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 |
using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; using System.Net; using System.Text; using System.IO; using System.Xml; using System.Collections; using System.Diagnostics; namespace WebPortal { public partial class _Default : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { } protected void Button1_Click(object sender, EventArgs e) { CoreProxy.Class1 c = new CoreProxy.Class1(); c.test1(); } protected void Button2_Click(object sender, EventArgs e) { webquerst1(); } public void webquers2() { string html = null; string url = "http://china.alibaba.com/keyword/promotion.htm?catId=14"; WebRequest req = WebRequest.Create(url); req.Method = "POST"; WebResponse res = req.GetResponse(); Stream receiveStream = res.GetResponseStream(); Encoding encode = Encoding.GetEncoding("gb2312"); StreamReader sr = new StreamReader(receiveStream, encode); char[] readbuffer = new char[256]; int n = sr.Read(readbuffer, 0, 256); while (n > 0) { string str = new string(readbuffer, 0, n); html += str; n = sr.Read(readbuffer, 0, 256); } System.Console.Write(html); } //成功!,利用WebRequest 一次Post提交XML内容 public void webquerst1() { WebRequest request = WebRequest.Create("http://192.168.1.244/WebPortal/PortalHandler.ashx"); // Set the Method property of the request to POST. request.Method = "POST"; // Create POST data and convert it to a byte array. System.Xml.XmlDocument xmlpostdata = new System.Xml.XmlDocument(); xmlpostdata.Load(Server.MapPath("XML/20097.xml")); string postData = HttpUtility.HtmlEncode(xmlpostdata.InnerXml); //普通字符串内容 //string postData = "你好,1232355 abdcde"; byte[] byteArray = Encoding.UTF8.GetBytes(postData); // Set the ContentType property of the WebRequest. request.ContentType = "application/x-www-form-urlencoded"; // Set the ContentLength property of the WebRequest. request.ContentLength = byteArray.Length; // Get the request stream. Stream dataStream = request.GetRequestStream(); // Write the data to the request stream. dataStream.Write(byteArray, 0, byteArray.Length); // Close the Stream object. dataStream.Close(); // Get the response. WebResponse response = request.GetResponse(); // Display the status. //Console.WriteLine(((HttpWebResponse)response).StatusDescription); // Get the stream containing content returned by the server. dataStream = response.GetResponseStream(); // Open the stream using a StreamReader for easy access. StreamReader reader = new StreamReader(dataStream); // Read the content. string responseFromServer = reader.ReadToEnd(); // Display the content. //Console.WriteLine(responseFromServer); // Clean up the streams. reader.Close(); dataStream.Close(); response.Close(); } protected void Button3_Click(object sender, EventArgs e) { WebClientPost(); } //重点!! 成功 利用Webclient Post 按字段的方式提交每个字段的内容给服务器端 public void WebClientPost() { System.Xml.XmlDocument xmlpostdata = new System.Xml.XmlDocument(); xmlpostdata.Load(Server.MapPath("XML/OrderClient.xml")); string OrderClient = HttpUtility.HtmlEncode(xmlpostdata.InnerXml); xmlpostdata.Load(Server.MapPath("XML/Order.xml")); string Order = HttpUtility.HtmlEncode(xmlpostdata.InnerXml); xmlpostdata.Load(Server.MapPath("XML/TargetOut.xml")); string TargetOut = HttpUtility.HtmlEncode(xmlpostdata.InnerXml); xmlpostdata.Load(Server.MapPath("XML/ArrayOfOrderDetail.xml")); string ArrayOfOrderDetail = HttpUtility.HtmlEncode(xmlpostdata.InnerXml); System.Net.WebClient WebClientObj = new System.Net.WebClient(); System.Collections.Specialized.NameValueCollection PostVars = new System.Collections.Specialized.NameValueCollection(); //添加值域 PostVars.Add("OrderClient", OrderClient); PostVars.Add("Order", Order); PostVars.Add("TargetOut", TargetOut); PostVars.Add("ArrayOfOrderDetail", ArrayOfOrderDetail); try { byte[] byRemoteInfo = WebClientObj.UploadValues("http://192.168.1.244/WebPortal/PlaceOrder.ashx", "POST", PostVars); //下面都没用啦,就上面一句话就可以了 string sRemoteInfo = System.Text.Encoding.Default.GetString(byRemoteInfo); //这是获取返回信息 Debug.WriteLine(sRemoteInfo); } catch { } } //未测试,使用WebClient 一次性提交POst public static string SendPostRequest(string url, string postString) { byte[] postData = Encoding.UTF8.GetBytes(postString); WebClient client = new WebClient(); client.Headers.Add("Content-Type", "application/x-www-form-urlencoded"); client.Headers.Add("ContentLength", postData.Length.ToString()); byte[] responseData = client.UploadData(url, "POST", postData); return Encoding.Default.GetString(responseData); } /// <summary> /// 这个是用WEbRequest 提交到WEbService 的例子 /// </summary> /// <param name="URL"></param> /// <param name="MethodName"></param> /// <param name="Pars"></param> /// <returns></returns> public static XmlDocument QueryPostWebService(String URL, String MethodName, Hashtable Pars) { HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create(URL); request.Method = "POST"; request.ContentType = "application/x-www-form-urlencoded"; SetWebRequest(request); byte[] data = EncodePars(Pars); WriteRequestData(request, data); return ReadXmlResponse(request.GetResponse()); } private static void SetWebRequest(HttpWebRequest request) { request.Credentials = CredentialCache.DefaultCredentials; request.Timeout = 10000; } private static void WriteRequestData(HttpWebRequest request, byte[] data) { request.ContentLength = data.Length; Stream writer = request.GetRequestStream(); writer.Write(data, 0, data.Length); writer.Close(); } private static byte[] EncodePars(Hashtable Pars) { return Encoding.UTF8.GetBytes(ParsToString(Pars)); } private static String ParsToString(Hashtable Pars) { StringBuilder sb = new StringBuilder(); foreach (string k in Pars.Keys) { if (sb.Length > 0) { sb.Append("&"); } sb.Append(HttpUtility.UrlEncode(k) + "=" + HttpUtility.UrlEncode(Pars[k].ToString())); } return sb.ToString(); } private static XmlDocument ReadXmlResponse(WebResponse response) { StreamReader sr = new StreamReader(response.GetResponseStream(), Encoding.UTF8); String retXml = sr.ReadToEnd(); sr.Close(); XmlDocument doc = new XmlDocument(); doc.LoadXml(retXml); return doc; } private static void AddDelaration(XmlDocument doc) { XmlDeclaration decl = doc.CreateXmlDeclaration("1.0", "utf-8", null); doc.InsertBefore(decl, doc.DocumentElement); } protected void Button4_Click(object sender, EventArgs e) { } } } |
ashx
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 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 58 59 60 61 62 63 64 65 |
using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.Services; using System.Diagnostics; using System.IO; using System.Xml; namespace WebPortal { /// <summary> /// $codebehindclassname$ 的摘要说明 /// </summary> [WebService(Namespace = "http://tempuri.org/")] [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)] public class PortalHandler : IHttpHandler { public void ProcessRequest(HttpContext context) { string testGet = context.Request["testGet"]; string testPost = context.Request["testPost"]; Debug.WriteLine(testGet); Debug.WriteLine(testPost); //一次性提交的方式 //获得内容长度 int len = context.Request.ContentLength; //获得所有内容流 StreamReader reader = new StreamReader(context.Request.InputStream); //读取内容 string responseFromServer = reader.ReadToEnd(); //字段提交Post方式 string a1 = context.Request["A1"]; string a2 = context.Request["A2"]; string a3 = context.Request["A3"]; //解析Html编码 string re = HttpUtility.HtmlDecode(a1); XmlDocument xd = new XmlDocument(); //加载XML xd.LoadXml(re); context.Response.ContentType = "text/plain"; context.Response.Write(testGet); } public bool IsReusable { get { return false; } } } } |
转自:http://www.cnblogs.com/goody9807/archive/2011/10/08/2202265.html
View Details自己项目中使用的信息采集类(WebRequest)
using System; using System.IO; using System.Net; using System.Text; using System.Web; namespace HP.Common { /// <summary> /// 信息 /// </summary> public class InfoCollect { /// <summary> /// 获取内网页面内容 /// </summary> /// <param name="url"></param> /// <returns></returns> public static string GetPageByInner(string url) { return GetPage("http://" + HttpContext.Current.Request.ServerVariables["SERVER_NAME"] + (HttpContext.Current.Request.ServerVariables["SERVER_PORT"] == "80" ? "" : ":" + HttpContext.Current.Request.ServerVariables["SERVER_PORT"]) + url); } /// <summary> /// 获取公网url内容(GET) /// </summary> /// <param name="url"></param> /// <returns></returns> public static string GetPage(string url) { return GetPage(url, "GET", null); } /// <summary> /// 获取公网url内容(Post方法) /// </summary> /// <param name="url"></param> […]
View Details罗马尼亚程序员的幸福生活
我做了三年的+Perl程序员,以编程为生已经有7年。我生活中克路治-那波卡市(Cluj-Napoca),这是罗马尼亚第二大城市。 四年前我就开始困惑于一个问题:作为一个程序员,我的生活水平和其他国家的程序员有多大差距?那时候我的税后收入大概是每月700欧元(约5830 元,1欧元=8.331人民币)。就当时罗马尼亚的经济水平,整个社会的平均工资低于每月325.91欧元(2715元),我的收入差不多是全国水平的两 倍,这让我产生了一种打死都不离开这里的感觉。然而,这只是一种心理感觉,尽管和其他人比起来我挣得很多,但事实上每月我都挣扎在贫困线上。这种拮据归咎 于我缺乏收入管理,背后的原因是我的妻子刚刚成为一名律师,她现在的收入几乎为0, 克路治-那波卡市的程序员的收入情况 尽管市场在不断的浮动变化,那波卡市里一名有经验的程序员的基本收入大概是这个水平(这里说的收入都是税后水平——净收入): 最初是每月400欧元(3330元) 每6个月涨100欧元(833元)工资 根据个别情况,这个数目会有差异,可能更好,可能更坏。 从好的情况讲,一个程序员的工资水平可以用以下方式获得跳跃式的增长: 通过直接要求 通过跳槽 通过离开公司然后反聘回来 当然,还可以卓越的成绩来跟公司讨价还价,获得涨薪 从不好的情况讲,如果发生下列情况,一个程序员的工资会增长的很慢: 公司的运营状况不好 不善于谈判 一个不关心员工的老板。 自己表现不好 所以,当发现一个有5年经验的程序员拿月薪税后1500欧元(12.5K元)而一个7年经验的只拿月薪1700欧元(14k元)时,就不足为奇了。 几大城市收入/消费水平的比较 最近我发现了这个numbeo网站,它收集世界上各大城市的消费及收入信息,而且,它能让你将两个城市的物价水平,工资及购买力进行比较,你能根据它估算出在另一个城市生活所需要的收入水平。根据它提供的数据,我发现以我现在在那波卡市的收入水平不可能在世界其它城市里生活的很好。(表中的金额都以欧元为单位) 城市 参考收入 收入1 租房价格 收入2 年净收入 伦敦 4762 5,396.93 1,884.00 7,280.93 87,371.20 柏林 2784 3,155.20 800.00 3,955.20 47,462.40 阿姆斯特丹 3826 4,336.13 3,026.00 7,362.13 88,345.60 纽约 4848 5,494.40 2,214.00 7,708.40 92,500.80 旧金山 4484 5,081.87 2,216.00 7,297.87 87,574.40 这些数字的含义 参考收入 – 是指在那个城市如果想让生活质量达到我现在在那波卡市的生活水平,你需要达到的收入水平。按我在那波卡市每月1500欧元收入算。上表中显示的都是税后收入或净收入。 收入1 – 是指如果想在那个城市的生活质量达到在那波卡市的每月1700欧元生活水平质量,你需要达到的净收入。我列出1700欧元水平的原因是它很接近我的水平,这是有7年工作经验的程序员的平均水平。 租房价格 – 一个三居室的价格,非市中心。 收入2 – 这是收入1栏和租房价格的汇总 年净收入 – 是指收入2栏乘以12个月 需要更多的数据 如果在上表中再加入一列各城市的程序员的平均收入信息,那就更清晰了。遗憾的是,我搜查过的大多数网站上只提供税前年收入。因为各地的税收情况各 异,不可能计算出税后收入。所以,如果你是一个在上述城市生活的程序员,并且知道当地平均净收入的情况,请在评论里分享给大家,我会更新到文章里。 克路治-那波卡市(Cluj-Napoca)程序员的生活情况 因为罗马尼亚较低的购买力水平,人们日常的消费水平也比较低。看一下numbeo网站上关于那波卡市的价格水平信息。 1700欧元每月你可以过上任何想要的生活——如果你是个喜欢聚会的人。你的生活大概可以是这样: 一顿三餐(3餐12欧元 * 30 days = 360 欧元/月). 每个周末去最贵的俱乐部玩乐(一晚30欧元 * 8晚 = 240欧元/月) […]
View Details