'Web开发' Category

  • 用Fiddler代理调试Javascript

    最近在调试JS程序的时候力不从心……就是因为服务器端的程序“太过灵活”,绑host的方式满足不了需求了,还好前两天从同事那里接触到Fiddler这个东西。 Fiddler就是为了这个生的: 当我们发现更改代码不能即时生效,还要等一个不算漫长的服务器Cache;或者某些时候我们要调试的代码依赖于线上的某段代码,调试环境很难构建…… 很多时候Geeker们都是想到“SSH”这个东西, 其实没必要这么纠结! Fiddler原理就是一个本地代理(跟翻墙的AutoProxy差不多),这样它就能在中间截获所有请求,在这过程中Fiddler提供了一系列贴心的功能:筛选、暂停、自动回复……主要的就这几个(现在Fiddler支持IE和Firefox,其他浏览器用着不是很方便) 一次调试的基本流程: 发现问题:上述,没办法通过绑host的方式调试,想起来Fiddler 分析需要调试的几个程序文件,地址、域名 打开Fiddler,清空记录,填写fliter条件 一次完整的页面请求,列表中找出需要调试的程序文件,添加到AutoResponse,要返回什么就是我们说了算了(一般情况是拷一份线上的文件进行调试) 这个时候就跟绑host的调试完全一样了,而且对于那种页面上的空间有概率显示的时候更有效,因为我们可以决定返回给浏览器的内容。 其中,AutoResponse可以用正则表达式,用regex:开头就可以了,别忘了给网址的“.”转译 待续

  • 我的最佳实践 – 软件组合

    总结我用到的实用软件、必装软件、提高工作效率的软件…… windows下: CintaNotes:笔记、任务管理、便笺,可以设置快捷键Ctrl+Alt+F12 Everything: 一个小巧高效的本地硬盘搜索软件,更方便的是可以设置快捷键Win+Space显示主界面,简单的关键字搜索直接进入深层的目录 Launchy:用键盘(而不是鼠标)启动软件,快捷键Alt+Space Notepadd++:编辑各类纯文本文件(hosts、脚本、html) foxmail:邮件(虽然也不是很完美) Firefox:DeveloperTools、Firebug、TabMixPlus、… Workrave:定时提醒休息,样子不太好看,有时候也还挺烦的,但是Windows下真没发现比这更好的了 TweakUI:定制Windows的一些细节选项(鼠标激活窗口的条件,这样不用切换到那个窗口就可以直接用鼠标滚轮在窗口上滚屏) Mac下: iTerm:第三方的Shell,支持多标签,更多实用功能 TextMate、MacVim:按需要选择合适自己的编辑器,都很强大 Evernote: 多平台同步的笔记软件,基本上满足个人知识管理的需求 Quicksilver:系统增强的一个小工具,快速启动软件…… Isolator:灰屏、高亮显示当前窗口,集中精力 OmniOutliner:大纲,记录,用来做结构化的资料整理比较合适 OmniGraffle:画各种图,包括思维导图、组织结构图、程序架构图、产品线框图 AntiRSI:很优雅的定时提醒休息的软件,劳逸结合 等待继续……

  • “并行”让我郁闷了两个星期

    还有一个名字叫“异步”,这的确是一个Javascript一个非常值得初学者注意的特性!!他的存在让我们对Javascript的效率感到放心,可是有些情况下他的确会很容易产生陷阱! 第一次遇到是Google的一段代码,引用广告系统的js代码(Google Ad Manager) 很郁闷 他的代码必须要 分开写在好几个<script>标签里,后来发现他们之间会动态加载一些数据…… 第二次是自己写的代码,两个函数顺序的调用,地二个函数要用到第一个函数算出来的几个数据…… 结果 第二个函数输出的全都是undefined!!! 第三次 SBB的在一段HTML代码被动态插入页面之前,就用$去取……自己还纳闷这东西没问题呀!!! 用简单的一句话总结:浏览器按照script标签出现的顺序挨个解释执行嵌入的javascript代码,(挨个执行就是执行完一个才会去执行下一个)同一段javascript代码内部,顺序调用的函数会并行执行。除非把另一个函数的调用拿到上一个函数体尾部。

  • 我对UML的理解

    高中的时候就听说过UML,当时只记得一句:有了UML,程序员不再是吃青春饭的职业了,用UML越是有经验的工程师在行业里面越吃香…… 刚开始接触UML,第一感觉就是一大堆类图,用来描述程序结构的图。完全错了…… UML是软件工程师经验的总结,不是一门技术,是假借别人的经验。 “统一建模语言”这个名字精确的概括了UML的作用,其中的“统一”就是说在软件开发过程中从始到终一直使用UML这个工具;“建模”是他的主要功工作。 UML是一种工具,用来标准化的描述我们构造出来的模型。 从刚接手一个项目,对它没有一点了解的时候,我们通过实地考察、采访了解问题存在的那个空间内的每一个细节(行业规则、用户特征、工作环境……)。然后总结、建模,用UML描述问题和问题所在的空间环境。这一步叫做业务建模。 然后有了“理想化”的模型,我们开始需求分析(目前流行的说法是“系统分析”)。用计算机软件解决问题,那一部分由人来做,那一部分必须由计算机实现……我们要计算机做什么,达到什么标准……至于怎么样来描述这些,UML里面没有严格的定义。 然后就是UML的核心部分了,软件设计(类图、结构图、),根据需求构建想象中的软件模型,经过设计用UML来描述这个软件模型,接下来就是根据这个模型编程实现了。 总得来说,UML是一种语言工具,用来描述脑海中的各种模型,既能帮助设计人员理清思路、更方便开发人员之间的交流,因为是统一的语言,在理解上比自然语言要准确、不会产生模糊概念。UML在设计上更总结了丰富的开发经验,既准确、消除歧义,又灵活很容易跟其他工具配合使用。 说起来,UML还真有点像我们数学中的εδ语言,不懂外文没关系,只要是εδ学数学的人都看得懂。

  • 配置Aptana Web开发环境

    之前在Windows下,一直是老套路Eclipse-PHP + XAMPP,一直没有心情去尝试新东西 刚刚转到Mac平台下,准备尝试新的“开发体验”,然后发现了Aptana…… 也遇到一些问题,这里写一些经验: 简介: Aptana是基于Eclipse开发的,有商业支持的开发工具,专注于Web开发(包括Web2.0以来引发的桌面新技术,AIR)。 国内刚刚开始流行,这方面的资料还比较少,大多数介绍的时候都说:Ajax开发利器 不仅仅是Ajax(Javascript),他适用于Web开发的各个方面,他的编辑器是特殊设计的有很多HTML/CSS的快捷功能 …………… 遇到问题1: 安装很简单,跟Eclipse一样,下载下来解压,不过官方网站只能下载到Studio,没有PHP组件,也没有Javascript库支持,这些东西都要通过软件自带的“Install Aptana Features”来安装,他是自动从网络下载。问题就是:国外的服务器!网速超慢!!没法正常安装,如果幸运地话(不出错)要等上两个小时。 解决办法:直接到更新站点下载插件的压缩包,本地安装各种插件。 具体这么做: 获取下载地址: Help -> Install Aptana Features 安正常的方法找到你想要的插件 到这一步{Locating Selected Feature …} 然后是 {Available Software} 这时候,取消安装。 菜单 Preferences  搜索 Available Software Sites 进入 找到相应的更新站点,Edit复制地址,浏览器进入 例如:PHP插件的更新地址 http://update.aptana.com/update/php/

  • Web虚拟主机管理系统实现(1)

    现在的IDC(互联网数据中心)提供的Web虚拟主机服务(就是平常说的那个‘网页空间’)一般都是自动化的管理,一套自助的 空间申请、付费、自助开通 的服务器管理系统。 随着观海听涛的发展逐渐成熟,计划中的服务也越来越多,也像做一个类似的自动化的管理系统。 Google了半天,希望能找到一款合适的产品来实现:最好是开源的,可扩展性好一点,管理方便易用,稳定,不依赖于某个平台的!最好是现有的Apahce+PHP+MySQL不变的! 逐渐缩小范围,终于确定使用DTC这套系统:http://www.gplhost.com/software-dtc.html 另外还有一款据说是极其强大的GNU Hosting Helper 支持机群,但是太高级了,配置起来不是很容易,可能将来有特殊需求的时候会考虑这个项目的! 但是现在最大的一个不确定就是那个DTC系统是否能工作在集群上,需要一个什么样的集群系统…… 主要是因为现在我对集群还不太了解,只是知道大概的工作原理,具体的实现,还有各种实现方案的差异,这些我都不太清楚,还要进一步学习,然后才能确定下一步 Web服务器集群自动换管理的系统搭建 Do the simple thing!现在先只做单机的 ‘虚拟主机管理系统’,主要就是服务器的搭建、DTC系统的安装配置了。 DTC官方上的资料: 待续…………

  • 选择一个IDE

    当然,我需要一个IDE. 之前也试着装过Eclipse,因为我身边的很多人都用这个东西,而且看网上的评论也不错,很强大的IDE,据说是通过插件可是支持几乎所有的编程语言…… 但是,那天我花了一大堆时间在那里研究他的配置,实在是太乱了!!!被迫放弃了(另一个主要原因是,他是Java写成的,速度在我的破电脑上及慢!!) 前段时间发现有人推荐这个NetBeans,好像有点印象,记得好像是三年前在Sun公司的网站上看到过,可是后来就消声匿迹了,(实话说,在我印象中现在的Eclipse就是当初的NetBeans,因为那时的Sun公司对NetBeans这款产品实在是投了很大的力度来宣传,所以印象中应该是发展的不错,应该就是现在的这个Eclipse吧!呵呵,谁知道,那个Eclipse竟然是IBM公司的!) 今天打算花点时间给自己选择一个好用的IDE,不只是为我自己,我想经过我的试用,可以给我们开源组织里的其他人推荐一个好用的IDE,让他们少走弯路,不要在进入开源的门槛上卡住了! 看到了这篇文章:Eclipse还是开源IDE的领头羊吗? 决定试用一下这个NetBeans! 首先是安装: NetBeans同样是Java写成的,所以需要安装JDK才能运行(The Java SE Development Kit (JDK) includes the Java Runtime Environment (JRE)) 完全图形画的安装,很简单,没有任何阻力(在过程中会安装JRE,两个分开的窗口) 然后是NetBeans的安装,也是图形化界面,不需要手动的修改配置文件 安装完成后,有一个提示注册软件,不用担心这个是开源软件,不收费,这个注册只是更好的为你提供服务的!(免费的教程、各种课程、技术支持)建议有时间的话注册一下! 打开了一个示例程序,发现NetBeans提示“找不到g++!” 原来NetBeans里面没有集成安装g++编译器,装一个就是了:Windows下建议装这个:MinGW 和那个Cygwin一样诡异,在线安装,下载速度超慢!!!!! 我先把他下载下来,打个包分享给大家吧,耐心等待……

 
Powered by Wordpress. Design by Bingo - The Web Design Experts.