热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

总结2013年干的几件小事

2013年是我毕业后第一次没写年度计划,少了些个人计划经济的痕迹,多了几分自由学习和投机的色彩年初,偶然进入移动前端领域今年年初在sae里面突然看到移动应用的选项,感慨万千,1不会java2

2013 年是我毕业后第一次没写年度计划,少了些个人计划经济的痕迹,多了几分自由学习和投机的色彩

年初,偶然进入移动前端领域

今年年初在sae里面突然看到移动应用的选项,感慨万千,1不会java2不会object c 微软又软,移动领域的机会是和我没什么关系。

不过十分好奇,sae的移动app到底包含哪些呢,有微软的没有,有的话练练c#也行。

意外的是发现 一个叫phonegap的东西,竟然可以直接用js+html+css开发移动应用,这种震撼就好比erp系统可以运行的浏览器里面一样的震撼。

于是我开始幻想,在电脑上bs系统取代winform的历史大戏,会不会在移动端上演呢?如果真的会出现我还等什么呢?

so 赶紧把自己的诺基亚手机扔了,心疼无比的买了1000快的手机,真奢侈

然后搜各种关于phonegap 花边新闻和吹牛逼的新闻给自己打气,搜集phonegap环境搭建的各种经验,也在这个过程中学会了安卓手机的使用

找各种面向移动前端开发的框架,糟了,框架太多了,已经不是只有jquery一家垄断的天下,深入学习jquery有风险咋整呢?

手机root,见到一个框架,用phonegap把官方的demo打包装装进手机,很快,我的手机被我装满了,过了一个月,也没见到新的框架出来。

我就在手机里面玩这些demo,一方面看手机前端到底是不是趋势,一方面测测这些乱七八糟的东西是不是向他们吹的那么牛逼

最后jquery 阵营落败 Sencha Touch 和appframework(基于Zepto.js) 胜出

前者具备迅速学习突入使用的各种条件

后者基于Zepto.js 简单高效 方便定制和深入研究

这个时候一边复习 js,从来没有如此认真的看js,博客园汤姆大叔的书一不小心买了两本,冲动是魔鬼咬牙切齿

一方面看phonegap api和各种吹牛逼的文章,我也在琢磨,我做什么东西玩玩呢?

古人云机会是给又准备的人的,博客园园长@dudu 同学的 api 私底下发布了,虽然是xml格式,我还得花时间写个代理,改成jsonp格式的,不过已经没有什么能阻挡我练手了。

首先用appframework 调取博客园api 做了首页文章、 分类页文章、个人首页文章、分类导航、文章详情、新闻列表和新闻详情,反复把玩,是在是太蛋疼了,Zepto的不稳定不成熟+appframework 的不稳定不成熟+一堆不成熟的框架,很快就我陷入了沼泽。

古人云学习新技术有风险,菜鸟学习新技术的风险更大,于是对微软mvp肃然起敬,想着他们面对一个BUG如山的产品在经验、写文章这是何等伟岸。

于是迅速进入了Sencha Touch 学习,一边学一遍看这个重量级框架。感觉这个东西就是为微软程序员定制的,asp.net web forms +asp.net mvc

真想让微软把这个公司收购了,这样就没白学一趟了。

从没见过一个js库如此的庞大、设计理念如此的nx。简直太好用了,学完后很快就把博客园rss阅读器重构了一遍

这是我当时做的http://lajixiu.sinaapp.com/ 由于读取首页是调用谷歌rss服务,把博客园的xml转换为jsonp的,有时候会出现百页,因为谷歌被墙了

image image

正当我着手解决1 自己js功力不足2安全问题3性能问题时候,我司大老板更换,移动端产品被另外一个集团拿走了,当时真想离职,但一想,明年的房租拿来?先攒一年房租再说~

源码 https://github.com/qqqzhch/cnblogs

年中,进入单元测试领域

从我第一次看到“单元测试”这个词语,到第一次看到老赵的单元测试ppt,到我写第一行单元测试代码,3年过去了。

单元测试是程序员的成人礼   -------by 互连网fans

一直以来都试图学单元测试,怎奈都是一些零碎的文章,想买本书都没有,直到我看了这些文章和一本书后,外加移动前端很多问题解决不了闲的蛋疼,开始写单元测试。

就是对我做了垃圾站重构,一次毫无压力,毫无风险,没有上线日期的学习之旅,真爽。

明年我会开源我这个项目前端web站点和单元测试,大家可以对比一下,一个项目写单元测试和不写单元有什么差别,也帮助那些想写单元测试但不会写,怕承担风险更不敢写的人走出单元测试死循环

这是我收集的一些文章资料

 

【测试驱动 ASP.NET MVC】

http://msdn.microsoft.com/zh-cn/magazine/jj190803.aspx 

【构建可测试 ASP.NET MVC 应用程序】

http://msdn.microsoft.com/zh-cn/magazine/dd942838.aspx

Pragmatic.Test.Drive.ASP.NET.MVC.Jun.2010
image

http://vdisk.weibo.com/s/DOlfks4ooGf 【图片可以点击】

 

这本很薄的小书,今年读了至少4边,汤姆大叔翻译的js也看了几遍,受益匪浅

现在已经完成了60%的代码重构,因为垃圾站很简单,

虽然现在还没有深入到复杂模块和高难度模块单元测试,但普通的单元测试已经解决了我很多问题了

1 拖沓,以前写一个模块用老长时间,都是周末或平时有空写写,有时候记不起来几个月前定的需求,就一直放着,等想起来在写

现在先写完单元测试代码,明确的具体的规则,和目标,每次写之前先运行一次单元测试看哪里还没写,拖沓的毛病得到治疗。

个人感觉对创业团队更为重要:1防止拖沓 2防止赶工期出垃圾工程

2长函数,以前也不是有意写长函数,只不过写着写着写着就边长了,我也没办法,

现在写的时候先要想,我要怎么测试这个东西,复杂的东西不会测,写简单点,好测试

3成就感,,,,每次看着X号变绿色,心情都好了

image
其他

今年坚持在博客园发水帖,博大家一笑

今年坚持分享自己建垃圾站的种种技术心得

最后祝福大家技术精进一步,钱包鼓起来,家庭幸福,屌丝们请和我一再在楼下回合

明年还要发水帖!热烈的笑脸


推荐阅读
  • 本文将详细介绍如何在ThinkPHP6框架中实现多数据库的部署,包括读写分离的策略,以及如何通过负载均衡和MySQL同步技术优化数据库性能。 ... [详细]
  • 微信小程序中实现位置获取的全面指南
    本文详细介绍了如何在微信小程序中实现地理位置的获取,包括通过微信官方API和腾讯地图API两种方式。文中不仅涵盖了必要的准备工作,如申请开发者密钥、下载并配置SDK等,还提供了处理用户授权及位置信息获取的具体代码示例。 ... [详细]
  • 地球坐标、火星坐标及百度坐标间的转换算法 C# 实现
    本文介绍了WGS84坐标系统及其精度改进历程,探讨了火星坐标系统的安全性和应用背景,并详细解析了火星坐标与百度坐标之间的转换算法,提供了C#语言的实现代码。 ... [详细]
  • 本文探讨了Web开发与游戏开发之间的主要区别,旨在帮助开发者更好地理解两种开发领域的特性和需求。文章基于作者的实际经验和网络资料整理而成。 ... [详细]
  • 本文介绍了Java语言开发的远程教学系统,包括源代码、MySQL数据库配置以及相关文档,适用于计算机专业的毕业设计。系统支持远程调试,采用B/S架构,适合现代教育需求。 ... [详细]
  • 交互式左右滑动导航菜单设计
    本文介绍了一种使用HTML和JavaScript实现的左右可点击滑动导航菜单的方法,适用于需要展示多个链接或项目的网页布局。 ... [详细]
  • 在Windows Server 2008 R2上配置IIS FTP服务
    本文详细介绍了如何在Windows Server 2008 R2操作系统上通过IIS配置FTP服务的过程,包括服务器角色的选择与安装、FTP站点的创建以及必要的服务和防火墙设置检查。 ... [详细]
  • 本文详细介绍了如何正确安装Java EE SDK,并解决在安装过程中可能遇到的问题,特别是关于servlet代码在Apache Tomcat 10中无法运行的情况。 ... [详细]
  • 本文深入探讨了JavaScript中实现继承的四种常见方法,包括原型链继承、构造函数继承、组合继承和寄生组合继承。对于正在学习或从事Web前端开发的技术人员来说,理解这些继承模式对于提高代码质量和维护性至关重要。 ... [详细]
  • 深入解析ES6至ES8的新特性与应用
    本文详细介绍了自2015年发布的ECMAScript 6.0(简称ES6)以来,JavaScript语言的多项重要更新,旨在帮助开发者更好地理解和利用这些新特性进行复杂应用的开发。 ... [详细]
  • 近期,谷歌公司的一名安全工程师Eduardo Vela在jQuery Mobile框架中发现了一项可能引发跨站脚本攻击(XSS)的安全漏洞。此漏洞使得使用jQuery Mobile的所有网站面临潜在的安全威胁。 ... [详细]
  • jQuery中 $(selector).each() 和 $.each() 的区别与应用
    在JavaScript开发中,jQuery库提供了两种遍历方法:$(selector).each() 和 $.each()。本文将详细探讨这两种方法的不同之处及其应用场景。 ... [详细]
  • 本文详细介绍了C#中的基本选择结构(如if、if-else、if-else-if及嵌套if)、switch结构、数组与循环控制结构(包括while、do-while、for和foreach循环)以及跳转语句(break和continue)。此外,还简要探讨了二重循环的应用和冒泡排序算法。 ... [详细]
  • 本文详细介绍了ASP.NET缓存的基本概念和使用方法,包括输出缓存、数据缓存及其高级特性,如缓存依赖、自定义缓存和缓存配置文件等。通过合理利用这些缓存技术,可以显著提升Web应用程序的性能。 ... [详细]
  • 深入解析 Golang 中的 Cache::remember 方法实现
    本文详细探讨了如何在 Golang 中实现类似于 Laravel 的 Cache::remember 方法,通过具体的代码示例和深入的分析,帮助读者更好地理解和应用这一技术。 ... [详细]
author-avatar
用户wuhqqnrd0m
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有