20121117某个周六骑行香山防火道

十一月 21st, 2012
通往香山防火道的路有好多条,我是在网上搜索了一条线【邮局后面上山】,在文章的最后给出了地图,有缘人可以参考。
我是一个人去香山的,前一天约的朋友不能去了,我不能浪费了这么美好的天气,于是就冲动一次,单独挑战香山防火道。
自己也懒,十一点半才从芍药居动身出发,结果回到家时已经是晚上六点多了。
其实一个人上山也挺害怕的,去的路上我一直在想会不会迷路之类的,山上那么多条路,走错方向就完蛋了。离开家的时候再三检查有没有漏掉的工具或食物什么。感觉自己什么都带齐了,结果快到香山的时候才想起来,TMD没带打气筒,抽自个俩大嘴巴子,带那么多工具备胎有毛用呀,难不成用嘴吹。。。
所以我到香山下时第一反应就是能不能结伴,结果在香山邮局哪里停下还没两分钟,正在翻地图,就有俩哥们找我:哥们,认识上山的路不? 汗!我也是第一次来,不过有地图看过,好像这里可以上山【邮局后面那条路】。
那两个哥们看了看我,都惊呆了,不认识路你也敢一个人上山。我说想不想挑战下,一起找条路上山?这俩哥们也胆大,走吧。。。

一路寻摸,看地图,寻路。碰巧也有下山的骑友们指路,我们顺利上山。
我们走的这条路上山时坡度太陡,大多数情况下我们三人是推上去了,前面有俩哥们一直S方式骑行,体力真好!

途中还结识了一位朋友,一起寻路,哈哈,咱们都是胆大一组啊!最后我们经过鬼见愁、香山围墙那边直奔八大处公园。下山时本来有条道可以直接骑行下山,可从那边上来的一队骑友各个车上都糊满了黄泥,想想还是算了,选别的路吧,后来得一位徒步老先生指点【大爷谢谢您了!】,我们从八大处公园的七处下的山,只是下山途中有一段是车骑人的。。。

这一趟可是辛苦风暴的刹车了,改天好好保养下!

上图吧,尾部有三张是地图。

风暴在香山留念

碧蓝碧蓝的天空

光明大道哈

Read the rest of this entry »

十一骑行秦皇岛

十一月 21st, 2012
北京至秦皇岛往返
2012年9月30号出发,10月5号晚10点多到家。
去的时候走的G102国道,回来时走的唐山、宝坻、香河这条线。
去的时候边玩边走,用时2天半,回来时直接杀回京城两天,最后一天骑行200多,太累了!
玩的几天中花费平均在100/天,住宿吃饭超便宜。
途中各种好玩的、新鲜事,百感交集,骑行是别的旅行方式无法感受到的那种快乐!

文采不行,懒得写了,看图吧。

整装代发

战队合影

悲催的被扎胎了,一路上被炸了三次【全是美利达,还好我家风暴是捷安特的后代】,导致我们现在换备胎仅需数分钟,以前连车都没拆过。。。

Read the rest of this entry »

走向骑行者

九月 15th, 2012

曾经的梦,今天终于实现了,希望能坚持,成为一名真正的骑行者!

ATX770

Unix哲学中人类创造的三个系统理念

九月 10th, 2012

以下是结合书本和工作得出的一些认知:

第一个系统是精简、其貌不扬的,主要用途是激发他人的想法和创造力,它成功的几率很小;

第二个系统是由专家来设计的,商业化、臃肿而缓慢,功能丰富,成功率最高;

第三个系统保留了第一和第二系统中最佳特性和被大家完全接受和理解的部分的结合。

Unix人员的开发步骤:

1、撰写一份简短的功能规格文件;

2、编写软件;

3、使用迭代的软件测试/重新编写代码的开发过程,直至完成全部功能;

4、如果有必要的话,在撰写一份详细的文档。

他们没有臃肿的解说文档,但他们用可见的demo来告诉需求方软件将来是这样的,我们是否需要做出调整?

通过demo的确认保证了他们不走弯路,并且激发了需求方的创造力,使最终产品更加完美。

他们采用迭代式的开发,不断的从需求方哪里获得反馈消息来修正软件的方向;他们采用组件式的开发,颗粒度精细到合理,所以不必担心他们的重构。

所有功能开发完成后再编写出程序员或者专业感兴趣的人能看懂的文档就可以了,文档不是给需求方看的,不需要那么臃肿。

其实所有的系统都可以用三个系统的理念去构建,任何系统都不可能一蹴而就,其实当你开始创建一个系统的时候,可以说你同时也在创建第三个系统。

非主场会议切忌

九月 9th, 2012

切勿喧宾夺主,确切到了发言机会时:一定要简明扼要的阐述自己的观点,按权重顺序整理;

 

不可废话过多,可以适当开玩笑调整气氛;

 

大多问题及现状大家心里都清楚,很多人不善于表达,但是你不能说,这里不是你的主场,机会让给会议主人;

 

对他人有意见或建议可以私下沟通。

 

在百度编辑器【uEditor】中扩展粘贴按钮

九月 3rd, 2012

为什么会有这个需求呢。。。。说实话,我们网站的用户年龄端都比较大,使用者有很多都是电脑初级水平,他们设置只会用鼠标,不会用Ctrl+v来粘贴,所以只能给他们一个点击的按钮了。

前提:您需要了解如何在百度编辑器【uEditor】中添加一个新的功能按钮,详细方法: http://ueditor.baidu.com/website/document.html 这个地址中的二次开发会教你如何添加。

这里我重点描述一下实现功能的思路:

首先,我们需要获取剪切板的HTML代码,获取的方法有:clipboardData.getData("text") 和 document.execCommand('paste') 。 这两个方法的详细参数大家搜索一下吧,这里不细说了。关键是这里两个方法直接console.log或者直接innerHTML出来的都是不带HTML文本内容,这里要注意,我们需要将它们的值直接放在拥有contentEditable属性的iframe或者其他节点中,推荐用iframe,因为IE6认识他,这样IE就可以得到完整的剪切板中HTML代码了,这些方法非IE不支持,他们安全级别太高,搜索到的资料暂时突破不了;

IE获取剪切板内同的不同:ie6可以直接获取,IE7及以上需要授权提示,这样就会产生没有授权的状态;

针对非IE和IE没有授权进行处理,这两者可视为一个状态,我们只能让用户使用邮件或者快捷键来实现,这是我们弹出一个拥有contentEditable属性的节点,让用户可以用右键或者快捷键将内容放进节点内,得到内容后交给编辑器,大功告成。

以上思路是CKEditor的做法,本人只是参考模仿。

Read the rest of this entry »

关于邮件传输HTML附件产生邮件签名代码的注意

九月 3rd, 2012

今天又发现一个这样的现象,看看下面这行代码:

<!– saved from url=(0022)http://internet.e-mail –>

 

这是因为同学们在用邮件传输HTML附件的时候邮件系统自动给HTML源码第一行添加的代码,至于那个邮件系统没有追踪,但希望大家以后在传递html附件的时候打包传输。

 

就是这行代码,他会产生很多莫名其妙的兼容问题等,今天发现的问题是因为它导致IE8中无法正常读取iframe的高度。

iframe页面是编辑们经常更新的,难免通过邮件传输,结果就产生了一行莫名其妙的签名,导致我抓耳挠腮思索半天才发现这货的存在。

 

在这里祈祷我们可爱的同事们不要再直接HTML附件了,因为这行代码导致的问题已经不是第一次了,阿弥陀佛!

 

某些编程或是做事的思想哲学

七月 1st, 2012

Unix思想:

小即是美:小巧的事物有着无可比拟的巨大优势,它能够以独特有效的方式结合其他小事物,它能带给最初设计者意想不到的开心;

只做好一件事:集中精力完成单一任务,程序可以减少冗余代码,从而避免过高的资源开销、不必要的复杂性和缺乏灵活性;

尽快建立原型:『或许是先建立程序结构或主线路吧,本人还没有完全参透』;

舍高效而取可移植性:作为前端开发着,我完全支持这个观点;

充分利用软件的杠杆效应:其实就是对可重用代码模块的认知,代码重用能帮助人们在相对较短的时间内编写出大量的应用程序;

让每一个程序都成为过滤器:『未能理解』。

允许用户制定环境:『片面理解为允许用户配置功能参数』;

尽量使操作系统内核小而轻巧:尽管对新功能的追求永无止境,但我们必须让最核心的部分保持最小的规模;『所以现在前端行业越是小巧灵活的框架月受青睐』;

并行思考:大多数任务都能分解成更小的子任务,这些子任务可以并行运行,因而在完成一项大任务的时间内可以完成更多的子任务;

各部分之和大于整体:小程序集合而成的大型应用程序比单个的程序更灵活,也更为实用。小程序集合的大型应用更具有前瞻性;

寻找90%的解决方案:百分之百的完成任何事情都是很困难的。完成90%的目标会更有效率,并且节省成本。剩下的10%任由其自生自灭;

更坏就是更好:『是讲包容么?不理解』;

层次化思考:任何设计都需要层次化。

这是一份不完全的Unix思想,很多地方我还未能完全理解,接续努力,牢记这些对我们的以后会有很大的帮助。

CSS在IE中的一些HACK

四月 20th, 2012

了解一下就可以了,不建议广泛使用。。。

* html #selector {} /* ie 6 */
*+html #selector {} /* ie 7 */

_property:value; /* ie 6 */
*property:value; /* ie 6/7 */
property:value!ie; /* ie 6/7 */
property:value\0; /* ie 8/9 */
property:value\9\0; /* ie 8/9 */ 某些只支持ie9【background-color:red\9\0;】,某些支持8和9【background:red\9\0;】,不建议使用
property /*\**/:value\9; /* ie 7/8/9 */
property:value\9; /* ie 6/7/8/9 */ font缩写不支持
property /**/:value; /* ! ie 6 */ 除IE6之外的所有浏览器

更多更详细的参考:http://www.swordair.com/tools/css-hack-table/

有关JS的继承

三月 23rd, 2012
    在JS中继承是一个非常复杂的话题,比其他任何面向对象语言中的继承都复杂得多。在大多数其他面向对象语言中,继承一个类只需使用一个关键字即可。在JS中想要达到继承公用成员的目的,需要采取一系列措施。
 
    Js的继承在很多书里面细致的分了很多种类型和实现方式,大体上就是两种:对象冒充、原型方式。这两种方式各有优点和缺陷。
对象冒充继承:
【优点】可以实现多重继承;
【缺点】无法继承prototype域的变量和方法;
        所有的成员方法都是针对this而创建的,所有的实例都会拥有一份成员方法的副本,属于深copy,比较浪费资源
 
原型继承:
【优点】所有实例共用一个pototype域,性能好些;
【缺点】不能传递参数;
        注意 constructor 会指向父对象;

Read the rest of this entry »