- [WEB开发, IIS, 性能] 一些重要的计数器 >>
分析性能日志的时候,我会重点观察下面这些计数器 - [开发工具, Javascript] 不可多得的Javascript(AJAX)开发工具 - Aptana >>
Aptana是一个java开源项目(.NET程序员应该扪心自问了吧),现在还在beta阶段(从版本号你就可以看出来了)。所以它是跨平台的。你在windows上运行它可能会觉得有一点点慢(比VS快多了)。其实Aptana的内存占用很少,才2M多,不过JVM...我就不想说什么了。 - [算法] 内存整理的原理是什么? >>
我个人认为,垃圾收集技术的普及是大势所趋,这就像生活会越来越好一样毋庸置疑。今天的程序员也许会因为垃圾收集器要占用一定的 CPU 资源而对其望而却步,但二十多年前的程序员还曾因为高级语言速度太慢而坚持用机器语言写程序呢!在硬件速度日新月异的今天,我们是要吝惜那一点儿时间损耗而踟躇不前,还是该坚定不移地站在代码和运行环境的净化剂——垃圾收集的一边呢? - [Rewrite, .NET开发] ASP.NET 2.0 中的URL 重写技术 >>
在这篇文章里我们可以学习到怎样用Application_BeginRequest 和HttpContext.RewritePah()来重写URL。这是一个快速实现实际请求页面和我们看到的URL不同的方法。 - [NHibernate, .NET开发] NHibernate 实战 -- 挑战传统无限级分类 >>
在某一天忽然觉得用 NHibernate 来实现无限级将会是多么简单,简单到你做梦都无法想到,似乎它天生就具备了处理这种情况的超能力。就连数据表的设计也被简化到了极致。下面我会简单说明一下实现的步骤并给出源码下载,同时它也是 ASP.NET 2.0 + Spring.Net + Nhibernate + MYSQL 的一个实例,之所以使用了几个框架组合和 MYSQL 做为数据库,完全是出于自娱自乐,但我还是更希望大家把重点放在 NHibernate 实现无限级分类上。 - [.NET开发, IDE] 《Visual Studio.NET Tips and Tricks》第五章的翻译 >>
这章包含与.NET相关的技巧。它们中的大多数与VS.NET并没有关系。但是,我决定包含到这本书中,因为它们适用于大多数的VS.NET开发者。.NET亲手可能不熟悉这些技巧。 - [.NET开发, IDE] 《Visual Studio.NET Tips and Tricks》第四章的翻译 >>
这章集中于所有前面的版本并没有实现的新的特性。这并不意味着前三章的内容在VS.NET2005中不能使用。事实上,它们中的大多数仍然能工作并有了重大的改善。 - [.NET开发, Cache] PetShop之ASP.NET缓存 >>
.Net 2.0引入的自定义缓存依赖项,特别是基于MS-SQL Server的SqlCacheDependency特性,使得我们可以避免“数据过期”的问题,它能够根据数据库中相应数据的变化,通知缓存,并移除那些过期的数据。事实上,在PetShop 4.0中,就充分地利用了SqlCacheDependency特性。 - [.NET开发, DataSet, 压缩] Compress DataSet with .net 2.0 >>
NET Framework 2.0 版中新增GZipStream 类,对了就是它了!啥也不说了,咣咣的,别整那些没用的,代码说明一切! - [ajax] SIMILE | Timeline >>
Timeline is a DHTML-based AJAXy widget for visualizing time-based events. It is like Google Maps for time-based information. Below is a live example that you can play with. Pan the timeline by dragging it horizontally. MIT研究生 David Huynh 有一个叫Timeline的AJAX widget,可以显示基于时间的数据(接受XML或JSON数据格式),譬如象大事年表类的东西。类似于Google Map,你可以横着拖拉来展现这些数据是如何随时间变化的。在他的网站上,有几个示范,Monet生平大事年表 ,JFK暗杀时间线,犹太历史年表 ,基督教历史年表 ,宗教历史年表,立体主义历史年表,恐龙史年表等等,非常酷。 - [Python, .NET开发] IronPython for ASP.NET >>
由于目前的ASP.NET的扩展性模型采用的是CodeDOM模型,是针对静态编译的语言的。为解决这个问题,他们引入了一个新的扩展性模型,采用了ASP.NET的No-Compile特性,修改了System.Web.dll中的PageParserFilter API,通过几个基类(ScriptPage, ScriptUserControl, ScriptMaster)来参与页面的生命周期。这个新模型也为其他动态语言与ASP.NET协作指明了方向。新的模型好处多多,与静态语言比,除了页面初始处理快外,还提高了扩缩性,他们的加载测试标明,同样的硬件配置,一个拥有一万个静态编译的ASP.NET网页的一个网站已经不堪重负,却可以轻松处理一百万个动态编译的IronPython 网页! - [eBay] eBay 的数据量 >>
站点处理能力平均每天的 PV 超过 10 亿 ; 每秒钟交易大约 1700 美元的商品 ; 每分钟卖出一辆车A ; 每秒钟卖出一件汽车饰品或者配件 ; 每两分钟卖出一件钻石首饰 ; 6 亿商品,2 亿多注册用户; 超过 130 万人把在 eBay 上做生意看作是生活的一部分。 - [流氓软件] 流氓软件及反流氓软件的技术分析 >>
对于上面的流氓软件的方法一些驱动层下的反流氓软件工具又有点束手无策了。因为同是驱动程序相互拦截irp等于大家都无法操作,反流氓软件工具的删除irp会被拦截,或者删除函数会被替换。删除注册表函数会被替换。虽然驱动的加载有先后,但是无法保证能完全的删除流氓软件,从而出现了一些更顶级的反流氓软件,他直接发删除文件irp到文件系统.,删除注册表也直接发送到文件系统。这类流氓软件又能有效的完成了反流氓任务,但是根据我了解,这样的软件不多。现在火热的360安全卫士都还只是使用了笨办法,优先于驱动流氓软件启动,创建一个驱动流氓软件同设备名的设备,,使流氓驱动创建不成功。具我了解他优先于流氓驱动启动是把自己创建于PNP_TDI这个组下面,就是简单的ndis就能优先于360启动。如果前面的组,那360就束手无策了。所以对付这类流氓驱动只能用直接发irp到文件系统。 - [Comet, google, IM] Kudos to Google For The Google Talk Integration in Gmail >>
While the XMLHTTPRequest object works perfectly to request data from the server, being notified by the server requires the client to open a connection with the server, keep it open indefinitely, and have the server send notification to the client over this connection. As the XMLHTTPRequest object cannot be used for this purpose, people have been using an invisible iframe to establish the connection with the server. The idea is that the iframe loads an “infinitely long” page which contains JavaScript. The page is “rendered” as data is received by the browser, so when the server wants to send a notification to the client, it sends some JavaScript over that connection, and the JavaScript is instantly executed by the browser. - [Comet] Comet: Low Latency Data for the Browser >>
As is illustrated above, Comet applications can deliver data to the client at any time, not only in response to user input. The data is delivered over a single, previously-opened connection. This approach reduces the latency for data delivery significantly. - [Comet, ajax] Comet,Ajax的后续者? >>
当然,Comet不能取代Ajax,但是Comet的应用范围应该也非常广,比如上面说的IM软件,聊天室,证券系统等等实时性比较高的应用。目前比较成功的应用有gamil还有meebo(www.meebo.com)。这种服务器推数据的方式,应该要保持一个长时间的浏览器到服务器的连接,目前还不清楚gmail的实现方式,自己模拟了一个。实现浏览器访问一个web服务器,一直处于联机状态,如果有数据就把上把数据推倒浏览器上,这里我们用WebServices来发数据。 - [.NET开发, ORM] NBearV3.0.0 Preview发布 - 全新ORM实现! >>
NBearV3新增/修改功能列表:1、完全重新设计的ORM实现,支持实体继承,实体间复杂关联(一对一、一对多、多对多)及透明的级联插入、更新、删除,LazyLoad等。2、提供用于整个开发过程的更易使用的代码生成工具,支持:实体设计代码、实体代码、实体配置文件和数据库创建脚本生成。3、精简优化了底层数据访问代码,进行了更细致的单线程/多线程性能测试。4、实体及关联关系可以使用任意标准的.Net Framework支持的语言,使用interface、Attribute、接口继承等语言的自然元素作为实体设计元数据,并使用VS.NET2005的类设计器进行设计。5、自动生成的实体类是标准的class,避免了V2中基于Emit生成代码的性能损失和可能的内存泄露,集成用于强类型查询的查询代码到每个实体类,并支持标准的各种系统序列化(XML,Binary,WebService SOAP)。生成的实体类代码不依赖于实体设计元数据。6、对于ServiceFactory部分,增加了SerializationManager类,用于增加自定义类型序列化实现,从而使得service能够支持任意类型的自定义参数和返回值。7、重新优化设计的Gateway类,新增PageSelector强类型数据分页器,强/弱类型数据访问,批处理数据访问更简洁高效。8、NBear.Web模块中,删除了UrlRewrite模块。因为,这样的模块市面上太多了,有些也很强大,因此NBear没必要内置一个轻量级实现了。 - [开发工具, 调试] Web Development Helper >>
Web Development Helper is an Internet Explorer plugin that provides a set of useful tools to both Ajax/JavaScript developers as well as ASP.NET page and control developers. - [计算机图书, 出版社] 李建忠与《CLR Via C#》失之交臂 >>
为什么我们的出版社总以“无私奉献的雷锋精神”去要求作译者,但实际上却将这种“别人无私奉献所获得的利益”收入自己的腰包?坦白来讲,我也很有奉献精神,也常常体会到奉献的快乐。但是这种在出版社“胁迫”下的“奉献”,我怎么也快乐不起来。如果出版社确实真有奉献精神,那可以在要求译者不收取合理的翻译费用的同时,是不是也应该将第2版的书直接免费赠送给购买了第1版的读者?如果真有这样的出版社,我非常乐意免费翻译。 - [ajax] Streaming over HTTP with JavaScript: AJAX video player >>
Streaming is mostly referred as a delivery system for media content or dynamic data where it is beneficial to begin processing while data is being delivered. In reality HTTP was not designed for data streaming. HTTP communications are stateless and they take place over TCP/IP where there is no continuous connection between the ends. Usually HTTP responses are buffered rather than streamed. HTTP 1.1 added support for streaming through keep-alive header so data could be streamed but yet for performance proposes the majority of implementations including ASP.NET tend to buffer the content, send it and close the connection. As a result there are few real world applications that use HTTP for streaming data and normally an additional protocol is built on top of HTTP for reconnection and error detection. However this does not pose a problem because there are other UDP-based protocols that can be used for streaming where it is needed. - [SQL_Server] 海量数据库的查询优化及分页算法方案 >>
本篇文章汇集了笔者近段在使用数据库方面的心得,是在做“办公自动化”系统时实践经验的积累。希望这篇文章不仅能够给大家的工作带来一定的帮助,也希望能让大家能够体会到分析问题的方法;最重要的是,希望这篇文章能够抛砖引玉,掀起大家的学习和讨论的兴趣,以共同促进,共同为公安科技强警事业和金盾工程做出自己最大的努力。 - [P2P, .NET开发] P2P And C# >>
The C# language make life very easy with the help of the TCPListener and the TCPClient classes. - [ajax] 关注AJAX(3):你需要知道的有关AJAX的七件事情 >>
AJAXWorld杂志主编 Dion Hinchcliffe 不久前发表了《你需要知道的有关AJAX的七件事情(Seven Things You Need to Know About AJAX)》一文。大意如下:1。浏览器并不适合AJAX。2。你不需要你想象中的那么多 Web 服务。3。Ajax比传统Web设计和开发更棘手。4。Ajax 工具和组件仍在涌现,现今还没有明显的领先者。5。优秀的Ajax 程序员很是难找。6。必须积极地对付浏览器模型对Ajax的限制。7。Ajax 只是成功RIA策略的一个因素。 - [安全, DDOS, HttpModule] Tools : ReverseDOS.Home >>
ReverseDOS is a very simple HttpModule that checks various parts of incoming requests against a list of crap that you don't want pushed on to your site. If ReverseDOS detects a match, it attempts to stall the requesting client for a number of seconds (specified in a .config file). During this loop, which uses virtually no server resources - and only a tiny smidgen of bandwidth, ReverseDOS checks every .3 seconds to see if the client is still connected. If the spammer disconnects, good riddance. If the spammer sticks around, they're finally rewarded with the Response Headers - containing an HTTP 403 - Access Denied Response Code. (Awwwhh tooo bad...) - [开发工具] Source Insight程序编辑器和分析工具 >>
Source Insight Source Insight是一个革新的面向项目开发的程序编辑器和代码浏览器,它拥有内置的对C/C++, C#和Java等程序的分析。Source Insight能分析你的源代码并在你工作的同时动态维护它自己的符号数据库,并自动为你显示有用的上下文信息。Source Insight不仅仅是一个强大的程序编辑器,它还能显示reference trees,class inheritance diagrams和call trees。Source Insight提供了最快速的对源代码的导航和任何程序编辑器的源信息。就将Source Insight应用到你的项目开发过程中并切实感受它为你项目开发的效率带来的变化。 - [ajax, jQuery] 关注AJAX (1):AJAX框架的竞争将在UI widgets层展开 >>
在近期举行的 AJAX 体验大会上, jQuery 的作者John Resig 提出了选择一个AJAX框架的标准,主要在文档,社区支持,下载文件大小和受欢迎程度四个方面,而在技术上,则在DOM,Events, Animations,AJAX方面比较。微软Atlas 产品组的主管 Brad Abrams 在他的博客里指出,ASP.NET AJAX框架在文档,社区支持,下载文件大小和受欢迎程度上可以和任何AJAX框架匹敌。Brad Abrams的博客里还指出了几个有意思的地方, 基本的 XmlHttp 抽象和 JavaScript 语言扩展大家都做得差不多了,有区别也不是很大。真正的竞争将在UI widgets层次上展开,有意思的是,这些UI widgets 是不大容易从一个框架移植到另一个框架的,在接下来的6个月至1年内,框架的与众不同之处将渐渐展现出来。 有人指出“Better is Simpler”,应该是指AJAX的易用性,surface area小,而且更加直观。 在客户端和服务器端之间的平衡。AJAX 模型把焦点从一个项目UI模型转移到更着重于应用层次服务的集成。ASP.NET 和Atlas的结合是绝配。 性能随应用场景而变,没有绝对的答案,应该测量的是用户对性能的感觉(user perception of performance),而不是raw throughput。 在用户点击提交按钮前把数据传回服务器,不纯是一个技术性的问题,而是用户的感知模型的问题,因为用户根据以往体验的理解是,在点击提交前,数据是不应该记录的。 - [超级解霸, 梁肇新, 融资并购] 消息称超级解霸将可能被收购 >>
据透露,超级解霸创始人梁肇新及其核心技术团队将加入新组建的北京东尚科技有限公司,梁将出任首席策略架构师一职。公司执行董事兼CEO许强是原中天通信产业集团(第一视频前身)负责运营管理的高层。而董事长张虞周曾任网通湖南公司总经理、友通数字媒体总裁,在电信领域从业近20年。 - [Prototype, .NET开发] Script.aculo.us, Prototype and Asp.Net Best Friends Forever >>
This article will cover the following:An introduction to Script.aculo.us and Prototype How to use Script.aculo.us and Prototype with Asp.Net Resouces to learn more about them and other JavaScript frameworks - [敏捷, 软件工程] 敏捷的底线 - Robert C. Martin >>
诸如极限编程这样的敏捷方法每一、两周就能提供出可靠的数据,而管理者们就可以运用这些数据来为此项目的做出管理上的决策。他们可以运用数据来预测项目何时能完工,或是下个发布会在什么时候;他们可以运用数据来做出扩充编制或裁减人员的抉择;他们可以运用它们来达成最终期限并让成就客户的预期。产品研发中的这些数据才是敏捷方法的最终底限。这些数据是敏捷存活的基石,如果你正在使用敏捷方法,却没能用到过这些数据,那你所做得就不是真正意义上的敏捷。 - [jQuery, Javascript] jquery翻译资料 >>
- [jQuery, Javascript, ajax] jQuery: New Wave Javascript >>
jQuery is a Javascript library that takes this motto to heart: Writing Javascript code should be fun. jQuery achieves this goal by taking common, repetitive, tasks, stripping out all the unnecessary markup, and leaving them short, smart and understandable. - [开发工具, IDE] 微软发布了VS2005 IDE增强工具 >>
近期微软发布了一款针对VS2005 IDE的增强工具。该增强工具具有以下几个特性:1. Index Find 该功能需要Index服务。2. 代码结构查看器 可以将代码按照树型结构的方式展示出来,同时单击树上节点的时候可以定位到特定的函数或者变量定义,的确是方便了许多。不过这个功能在Delphi很早很早就有了,不知道微软怎么现在才会想到这个?3.提供了一个文件比较工具。 - [开源, sun, java] Sun创始人宣布:60天内将核心Java平台开源 >>
Sun公司CEO兼总裁Jonathan Schwartz在Oracle OpenWorld大会上宣布,Sun计划在未来30-60天内将核心Java平台开源,比原计划和人们预期的脚步更快。 - [Javascript, effect] Fireworks.js: A DHTML fireworks effect >>
Fireworks.js is a bit of Javascript that creates starburst-type explosions in a web document; in short, it's a fireworks effect someone could theoretically use on their site. And come on, who doesn't want something like that? As far as appropriateness is concerned, this effect could be compared to the dripping-blood-line, skull and fireball animated .GIF images so popular on the web in 1997. Exploding firework animations are hot, the new black, the script equivalent of the blink tag. Mmm, blink tag. - [OpenID, Passport] OpenID介绍与使用指南(附支持服务商) >>
OpenID最初是由大型社区LiveJournal(建立于开源软件基础之上)的创办人Brad Fitzpatrick 在2005年6月27日开发推出的一套身份识别系统。它采用分布式认证系统用于用户留言身份认证,而不是像微软Passport、SixApart的TypeKey这类集中式身份认证系统。
CSDN技术网摘生成。更多技术动态,请访问我的技术网摘(RSS)