2016年我所涉足的技术栈大盘点

为移动APP提供数据支持

REST全称是Representational State Transfer,中文意思是表述(编者注:通常译为表征)性状态转移。 它首次出现在2000年Roy Fielding的博士论文中,Roy Fielding是HTTP规范的主要编写者之一。 他在论文中提到:“我这篇文章的写作目的,就是想在符合架构原理的前提下,理解和评估以网络为基础的应用软件的架构设计,得到一个功能强、性能好、适宜通信的架构。REST指的是一组架构约束条件和原则。” 如果一个架构符合REST的约束条件和原则,我们就称它为RESTful架构。
  REST本身并没有创造新的技术、组件或服务,而隐藏在RESTful背后的理念就是使用Web的现有特征和能力, 更好地使用现有Web标准中的一些准则和约束。虽然REST本身受Web技术的影响很深, 但是理论上REST架构风格并不是绑定在HTTP上,只不过目前HTTP是唯一与REST相关的实例。 所以我们这里描述的REST也是通过HTTP实现的REST。

最开始没有使用RESTful接口,走了一些弯路。后来还找了一些有关RESTful的框架。最后发现自己在使用的Yii框架居然默认就支持。还真是绕了一大圈子。

基于个推的消息推送及聊天的实现

使用个推的SDK进行开发,大概猜测一下个推的工作原理,可能不一定正确但还是有必要了解一下:首先app端使用SDK并根据硬件ID生成唯一的ID号,向个推的服务器注册一个长socket链接;当有消息推送时就根据ID值对指定的socket发送消息。
还需要了解什么是透传消息?什么是通知?在苹果系统和安卓系统上有什么不同?

透传消息:消息直达app内部。
通知消息:消息会在通知栏上显示内容和图标。
安卓和IOS不同之处就是:android透传消息和通知消息是分开发送的,IOS下是同时发送的。

Sphinx搜索开发搜索引擎及数据缓存

这次使用Sphinx已经不是第一次了。这次主要是攻克了使用多值属性进行条件过虑,sphinx是支持以逗号或分号分隔的多值属性字段的,之前使用中所没有涉及到。使用主从索引合并的方式进行索引的更新操也是这一次使用过程中补上的一课。列表数据时会使用到的字段也都包含在索引里避免进行数据库查询操作。搜索引擎的核心部分使用python进行开发,基于tornado框架实现非阻塞的API接口提供给php和移动端等等第三方使用。

使用存储过程实现进销存报表

使用存储过程在数据库里创建进程临时表,然后从各数据表中把数据过滤并插入到临时表中。最后直接把临时表的内容列表显示出来。这一切都在数据库内部完成。减少了数据在程序之间传来传去的,效率非常的高。使用存储过程实现报表是最合适过的方案了。不过缺点也很明显,对数据操作的直观可读性,逻辑性没有程序上用ORM来的直观,也不易于修改。

基于mongoDB实现的跨平台图片管理系统

图片管理系统是一套独立的图片有存取PHP程序,对图片数据的存取是基于MongoDB实现的。使用MongoDB对平台图片进行存储有以下几个优势:
1. 图片文件不会零散的存放在磁盘的目标上,有效避免了文件寻址的效率问题;
2. 可以使用MongoDB自带的同步功能方便的实现分布式图片存储;
3. 可以使用MongoDB的分片功能对图片存储中心进行在线动态扩容;
图片管理系统还对上传的图片进行“指纹”提取,重复上传的图片将不进行重复写入,避免资源浪费。

图片系统部分功能已经开源 http://git.oschina.net/yagas/skypiea

web项目自动化打包发布脚本

自动化发布的基本流程:
1. 脚本的功能是从版本管理器中获取项目的发行版本的代码进行打包
2. 使用多线程的方式把包同时提交到多个不同的服务器上
3. 释放程序包到指定的发布位置并执行包中自动化配置脚本

使用Python+Fabric可以方便快捷的实现多线程推送到远程的操作。Python基于svn的发布脚本Perl基于git的发布脚本

Vue.js单页面应用开发

vue.js单页应用就是将功能进行模块化,然后基于ES6标准进行开发,模块可以引入重复使用。最后通过webpack编译为标准的Javascript文件。vue.js完整的单页应用还可以引入Vuex和vue-router,以实现路由及全局数据共享的功能。web单页面应用其实是由JS在客户端进行界面的渲染,除了一些需要进行远程请求的数据外全部工作在客户浏览器中完成。整个JS文件缓存在客户浏览器端无需重复下载,如果合理使用浏览器端DB的话可以实现离线浏览。这些优势对移动端来说,是一个比较不错的方向。

vuex 为vue.js提供全局的数据存储服务。vue.js可以直接读取存储在vuex容器里的数据,但是不能直接对数据进行操作。对数据的操作需要在vuex中封装操作的方法,调用封装的操作方法后由vuex对所有已绑定的组件的数据进行分发。所以不允许进行操作vuex中的数据。

vue-router是一个vue.js的路由器,通过路由器分析页面URL的变化实现对不同页面的渲染,实际上URL的变化并没有离开已打开的web页面。

TypeScript知识入门

TypeScript是为javascript(以下简称JS)加入静态类型支持使JS变成强类型语言。TypeScript语言可以编译为基于ES6标准的JS代码,著名的前端框架AngularJs就是使用TypeScript编写编译而成的。TypeScript支持类和对象,为JS提供了面向对象和强大抽象支持,使我们更直观且轻易的进行更复杂的功能的开发工作。随着前端框架的爆发微信小程序的流行,TypeScript的使用将会得以普及,是时间需要增加某技术栈方面的知识,所以借着过年放假期间的时间买了本书进行学习。目前已经阅读到类,函数,匿名函数部分的内容。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

yagas

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值