2006-02-18 11:59:43
在交流中,开放式问题鼓励对方自由表达,通常以“谁、为什么、何时、何地、如何”开头,如“你每周用多少汽油?”而封闭式问题则只能用“是”或“否”回答,可能结束对话,但有助于核实事实。多重问题可能导致混淆,应避免。引导性问题暗示期望的答案,限制自由表达,应避免。假设性问题有助于探索可能性,但答案与实际情况关系不大。探究性问题用于跟进信息,但可能导致长篇对话,应谨慎使用。
2006-02-18 11:59:43
在交流中,开放式问题鼓励对方自由表达,通常以“谁、为什么、何时、何地、如何”开头,如“你每周用多少汽油?”而封闭式问题则只能用“是”或“否”回答,可能结束对话,但有助于核实事实。多重问题可能导致混淆,应避免。引导性问题暗示期望的答案,限制自由表达,应避免。假设性问题有助于探索可能性,但答案与实际情况关系不大。探究性问题用于跟进信息,但可能导致长篇对话,应谨慎使用。
2006-02-18 10:39:52
在伦敦未来网络应用大会上,Cal Henderson分享了关于构建Flickr的经验。他强调了理解用户需求、网络效应、数据聚合、开放API、简洁URL、AJAX、Unicode、桌面/平台集成、移动设备优化、开放数据和内容的重要性。Henderson提出,通过这些策略,可以提升用户体验,增强服务吸引力。
2006-02-18 10:05:24
在2006年2月8日伦敦未来网络应用大会上,Joshua Schachter分享了关于网站开发的宝贵经验。他强调,del.icio.us最初只是一个包含25000多个链接的文本文件,每个链接都有一个描述性的句子,后来简化为标签。他提出,构建应用时,要解决实际问题,并保持热情。他还提到,要关注浏览器兼容性、优化应用性能、监控用户行为,并利用RSS等技术。此外,他建议开发者要理解用户动机,进行用户接受测试,并尊重用户数据所有权。Schachter还强调了构建API、优化URL、避免重复功能、以及理解网络设计语法的重要性。
2006-02-17 18:19:46
文章主要讨论了代码注释的重要性以及如何避免编写无用的注释。作者指出,许多代码注释过于冗长、重复或不准确,反而降低了代码的可读性。他强调,注释应该简洁、准确,避免陈述显而易见的事实,并建议在编写注释时思考其是否真正有助于理解代码。文章还讨论了在特定情况下,如生成API文档时,注释的适当使用,并提出了关于IDE中注释功能的建议。
2006-02-17 17:01:52
在《实用程序员》邮件列表中,关于代码注释的讨论引发了对时间利用效率的思考。文章指出,在有限的时间内,面对存在问题的代码库,最有效的时间利用方式并非总是添加注释。代码质量、测试覆盖率等因素决定了是否应该增加注释。如果代码具有良好的测试覆盖,则可以通过重构来改进,这可能比增加注释更有价值。因此,如何分配时间是一个优先级问题。
2006-02-16 10:37:24
在维护和升级在线Web应用时,即使不是为了性能或可靠性,集群化也是至关重要的。通过在公共Web地址上使用分发器代理请求到多个后端服务器,可以在升级或维护时最小化停机时间。使用粘性会话来保持用户会话在单个服务器上,避免会话复制的复杂性和性能损失。Apache、pound和perlbal等前端分发器软件可以简化集群设置。此外,集群化还能减少服务器故障时的紧急处理,将HTTPS处理卸载到代理,允许进行私有测试,并通过限制直接访问来增强安全性。
2006-02-15 10:18:23
本文介绍了作者从使用mod_jk连接Apache和Tomcat服务器切换到使用mod_proxy、mod_proxy_balancer和mod_proxy_ajp的过程。作者详细描述了如何配置Apache以使用mod_proxy_balancer,包括在httpd.conf中指定集群和服务器,以及设置代理和应用位置。同时,作者还介绍了在Tomcat的server.xml中设置jvmRoute以匹配定义的路由,并提供了故障排除的技巧,如调整LogLevel以调试会话粘性。文章强调了使用这些模块可以简化连接过程,并提供了详细的配置步骤和注意事项。