木子屋 Dnawo's BLOG

2013-04 归档

共 21 篇

电脑上使用Wireshark进行http抓包

上图是Wireshark抓取浏览器访问百度的http数据包,红色框中第一行为http请求数据,第二行为http响应数据。明细窗口中的"Line-based text data",表示请求/响应内容,右键单击,在弹出菜单选择"Copy→Bytes→Printable Text Only"即可复制。 Wireshark能抓取TCP、UDP、HTTP等多种协议数据包,可编写条件对结果进行筛选方便分析: tcp udp tcp.port==80 tcp.srcport==80 or tcp.dstport==80 ip.addr==42.121.105.222 ip.src==42.121.105.222…

如此理解面向对象编程[转]

从 Rob Pike 的 Google+ 上的一个推看到了一篇叫《Understanding Object oriented Programming》的文章,我先把这篇文章简述一下,然后再说说老牌黑客 Rob Pike 的评论。 先看这篇教程是怎么来讲述 OOP 的。它先给了下面这个问题,这个问题需要输出一段关于操作系统的文字:假设 Unix 很不错,Windows 很差。 这个把下面这段代码描述成是Hacker Solution。(这帮人觉得下面这叫黑客?我估计这帮人真是没看过C语言的代码) 然后开始用面向对象的编程方式一步一步地进化这个代码。 先是以过程化的思路来重构之。 过程化的方案 然后是一个幼稚的面向对象的思路。…

window.location.hash在Ajax页面中的作用

众所周知,Ajax页面的特点是用一个页面来处理所有的事务,页面无需刷新,虽然这样提高了用户体验,但却存在以下不足: ·用户不能添加收藏喜欢的页面; ·导致浏览器前进、后退按钮失效; 使用window.location.hash(锚点)能很好的解决上边两个问题,下边是一个简单的示例: 参考资料 .从QQ密码修改的小问题回顾下URL Fragment:http://www.cnblogs.com/chyingp/archive/2013/03/31/url-fragment.html .window.location.hash属性介绍:http://www.cnblogs.com/china-aspx/archive/2008/04/20/1162597.html

Android应用(测试/正式)服务器端接口切换方法

有时开发的Android应用需服务器端支持,服务器端提供接口供应用调用。在开发过程中,一般会有两台服务器,一台本地测试服务器和一台发布服务器,在开发阶段,应用调用本地测试服务器接口,发布后,应用调用正式服务器接口。 通常实现的方法是声明一个参数保存服务器端地址,在开发阶段该地址指向测试服务器,发布时修改为正式服务器地址。这样导致的问题是每次升级发布时,这个地址会不停的修改切换,有修改就有可能出错。有一次在查看手机hosts时,突然想可以用它来解决上边的问题,这样服务器端地址始终指向正式服务器地址,开发时修改手机hosts将域名解析到本地测试服务器即可,最终经测试验证是可行的。 常见问题 问:手机是否需要root?…

计算机是如何启动的?[转]

从打开电源到开始操作,计算机的启动是一个非常复杂的过程。 我一直搞不清楚,这个过程到底是怎么回事,只看见屏幕快速滚动各种提示......这几天,我查了一些资料,试图搞懂它。下面就是我整理的笔记。 零、boot的含义 先问一个问题,"启动"用英语怎么说? 回答是boot。可是,boot原来的意思是靴子,"启动"与靴子有什么关系呢? 原来,这里的boot是bootstrap(鞋带)的缩写,它来自一句谚语: "pull oneself up by one's bootstraps" 字面意思是"拽着鞋带把自己拉起来",这当然是不可能的事情。最早的时候,工程师们用它来比喻,计算机启动是一个很矛盾的过程:必须先运行程序,然后计算机才能启动,但是计算机不启动就无法运行程序!…

没有错误的错误[转]

我投资的两家公司的 CEO 性格迥异(在此权用 A 和 B 代替他们的姓名)。 A 有着近乎完美的资深职业经理人形象,他热忱外向,和蔼可亲,我从没见过他和任何人发生争执,认识他的人都喜欢他。每次董事会之前,他都会请董事们吃一顿可口的晚餐;他访问我上海的办公室时会给我的助理小姐带旧金山特产的巧克力。 B 则恰恰相反,他穿着随意,初次和他接触的人往往会觉得他内向而冷淡,说话极少寒暄,总是直入主题,有些人很不喜欢 B。和 B 聊天是很累的,因为常找不到共同的话题,间或被难堪的沉默所打断。B 有时显得固执,常和董事会发生争论。在 B 的公司开董事会总是吃盒饭工作餐,他也从不送任何人小礼物。 A 和 B 的业绩也是天壤之别的。在 A 领导公司的约三年里,该公司总计亏损一亿多美元,市值跌掉约 96%,A 最终被董事会炒鱿鱼。而 B 则在约四年里将其公司扭亏为盈,创造了一亿多美元的价值,最终成功卖掉。…

你是想读书,还是想读完书?[转]

以前,读书前会很想读一本书,但实际读书时,经常是“想读完书”,而不是“想读书”。这种想法经常会让我的生活变得很痛苦,当你做一件事想着快点做完时,你的心思其实已经不在这件事上了。 这个问题在我大学时困扰了我很久。我没有意识到这本身其实是一个价值观问题,以至于我常在一些时间管理的书中寻找答案。那些书都只能让你更高效地“做完事”,却不能让你在做的过程中更投入一分。 直到后来离开学校,了解了一小部分禅宗思想,我开始豁然开朗。禅宗讲求摒除心中的杂质,全部精神专注于当下,摒弃过去摒弃未来,任何的多余的念头都可能使你正在做的事情不纯粹。禅宗上,这叫“正念”,我非常非常欣赏。 想想看,你去旅行,那你是为了旅行和生活本身呢,还是为了旅行回来能增加一点谈资、写一篇游记呢?答案是显然的。…

小米手机1S卡刷和线刷刷机示例

小米手机1S刷机方法比较多,常见的有OTA升级、本地包升级、Recovery刷机和Fastboot刷机四种,前两种在MIUI系统下直接进行,比较简单,后两种即是我们常说的卡刷和线刷。 1.小米手机1S卡刷和线刷刷机示例 1).小米手机1S卡刷刷机示例 ①.在电脑下载并复制卡刷包到SD卡根目录,重命名为update.zip; ②.手机关机,按"电源键+音量上键"开机进入Recovery模式; ③.在主菜单选择清除数据(三清):清空缓存/清空用户数据/清空所有数据,可选; ④.在主菜单选择"将update.zip安装至系统一",安装完成重启手机即可; 2).小米手机1S线刷刷机示例 ①.在电脑下载并解压线刷包到磁盘;…

小米手机1S Recovery中系统一和系统二的区别

小米手机1S重启到Recovery,点击重启手机,会进一步让选择重启进入系统一还是系统二: 这边的系统一和系统二是两个系统,即通常说的双系统。在MIUI下使用OTA升级或本地包升级时,若当前使用系统一,则升级系统安装在系统二中,升级完成重启后自动进入系统二,反之亦然。 小技巧:若是升级/降级失败无法进入新系统,可以选择重启进入另一个系统到(旧系统),没有标"最近"的即为旧系统。

手动编译生成ASP.NET MVC3 Web应用程序项目示例

执行下边命令可手动编译生成ASP.NET MVC3 Web应用程序项目,生成的站点文件保存在输出路径的_PublishedWebsites文件夹中: 为方便编译生成,将命令写成批处理保存到SendTo文件夹,只需右键单击项目文件,在菜单中选择发送到Release.bat即可: 问题答疑 问:为什么编译生成上传到服务器发现一些视图文件丢失了? 答:打开项目文件(csproj),搜索了下,发现如下内容: 正常它们应该是这样的: 查了MSDN,对于None的解释是: None - 不在项目输出组中包含该文件,并且在生成进程中不会对其进行编译。例如包含文档的文本文件,如自述文件。 在vs打开丢失文件属性,可以看到生成操作为无,设置为内容,重新编译生成即可:…