我想在 2012 储备的技术
所谓储备,就是未雨绸缪,觉得日后可能用得上,所以今天去学习。在这里公开我的规划而已,绝非想说服你跟我一同上路,谢绝粗暴告诉我方向有问题的言论,但欢迎你表达你与我不同的想法,互通有无。
rust
rust 是最近 mozilla 发布的一个新的系统编程语言,它支持多种编程范式,使用 actor model 并行执行。rust 是静态类型的编译型语言,使用 rust 编写的编译器前端(所谓的自举),后端则是久仰大名的 LLVM。rust 有指针,能够直接操作内存,加上前述的特性,我们有理由相信它“将会像 C++ 一样快”。rust 是 mozilla servo project 的副产品,计划中 rust 将替代 C++ 实现 firefox 的一部分核心;虽然 rust 似乎没有在服务器端的定位,但我觉得它日后必定不可能只蜗居在客户端,它的许多优秀的特质让我相信它可以在很多领域大展拳脚。除了上文提及的,rust 的还有几个比较重要的特性如下:类型推导(仅局部变量)、泛型(简单的,非图灵完备的)、隔离的 task 并发,使用消息传递进行通信、支持 move 语义的唯一性指针、更安全的内存机制,不会缓冲区溢出,使用前初始化、可选的部分的 GC、utf-8 字符串,国际化支持、类似 python/ruby 的简洁语法等。rust 在未来的对手应该有 google go 和 scala 等,我更看好 rust,下面是简单的 rust 代码。
use std;
import std::io;fn main() {for i in [1, 2, 3] {io::println(#fmt("hello %d\n", i));}
}
gizzard
现代应用需要在服务器端存储大量的数据,存储方案需要高效、高可用,所以一般的方法就是把数据分片存储在多台机器上。gizzard 是 twitter 开源的一个分片存储框架,它致力于解决两个问题:分区与复制。gizzard 使用 scala 写成,通过 thrift API 提供服务,底层可以更换多个存储后端,如 sql 数据库或 lucene 等。
gizzard 吸引的我的地方有两点:1、可用 sql 数据库作为存储后端,nosql 方兴未艾,甚至你还没有来得及学,但是业界的方向真的已经开始转回挖掘关系数据库的潜能了;2、它放弃了许多其它框架坚持的特性,符合我的技术观,比如它要求对数据库的操作是幂等的,虽然加大了 API 设计的难度,但是却更容易实现这个框架。
gizzard 不是我想要用在项目中的技术,事实上,我一直在开发一个类似的东西。但放弃了更多的特性,所以实用意义不大。gizzard 使用的是我不喜欢的 thrift API,以及 scala 所依赖的 JVM,但它对我的项目有指导意义,我希望能够通过学习 gizzard 能够在自己的项目中实现更多 gizzard 已经实现了的特性,并通过 protobuf RPC 提供给上层逻辑。
unity3d/UDK
这个没有什么好说的,我不看好 flash,又身处游戏行业,对客户端技术肯定要跟进一下的,所以从这两个相对比较有机会的中挑一个学习一下咯。
SCTP
全名 Stream Control Transmission Protocol,流控制传输协议,基本概念可以参考这里:http://en.wikipedia.org/wiki/SCTP。它跟 UDP/TCP 一样是传输层协议,你可以把它想像成拥有 TCP 的可靠性及 UDP 的高效性的协议,Message-based multi-streaming 特点写网络协议来是超级舒服的。SCTP 在 2000 左右就定了型了,距离现在 10 年出头,UDP/TCP 也是 RFC 出来 10 年左右的时候火起来的,有理由相信未来会有比较多的基于 SCTP 来实现的网络应用层协议了。下面简单的从 wikipedia 引用一些特性描述放到下面:
- Multihoming support in which one or both endpoints of a connection can consist of more than one IP address, enabling transparent fail-over between redundant network paths.
- Delivery of chunks within independent streams eliminate unnecessary head-of-line blocking, as opposed to TCP byte-stream delivery.
- Path selection and monitoring select a primary data transmission path and test the connectivity of the transmission path.
- Validation and acknowledgment mechanisms protect against flooding attacks and provide notification of duplicated or missing data chunks.
- Improved error detection suitable for Ethernet jumbo frames.
写在最后
把我这篇文章理解成我在说 C++、NoSQL、Flash、UDP/TCP 要死了的朋友,请你不要留言了。理解成我在说学 C++、NoSQL、Flash、UDP/TCP 就要失业或者其它后果的朋友,也请你不要留言了。
转载于:https://www.cnblogs.com/aiwz/archive/2012/02/21/6154313.html
我想在 2012 储备的技术相关推荐
- 2012 IBM软件技术峰会:IBM与开发者谈四大热门领域看法
8月23日,以"技术维新,预见未来"为主题的2012 IBM软件技术峰会在京举行,本次大会在"大数据.云计算.敏捷.移动"四个领域展开讨论,IBM全球副总裁兼中 ...
- 企业网络推广之下滴滴造车野心不减,“造车时代”想入局恐需技术先行
现如今站在"造车时代"的风口下,无数资本企业试图掺一脚造车事业谋取一杯羹,苹果.小米以及华为等各大科技企业表示将以不同程度参与"造车时代",作为国内出行领域巨头 ...
- 飞鸽传书2012发展触摸屏技术发展迅猛
触摸屏技术的 飞鸽传书2012 发展触摸屏技术发展迅猛,从技术原理来区别触摸屏,可分为五个基本种类:矢量压力传感技术触摸屏.电阻技术触摸屏.电容技术触摸屏.红外线技术触摸屏.表面声波技术触摸屏.对于消 ...
- 2012智能管道技术创新与应用实践论…
2012智能管道技术创新与应用实践论坛(2012年5月) IT\CT产业的结合ICT,产生了许多新应用及应用提供商(苹果.google,腾讯)及终端厂商(HTC),它们是ICT产业链中的中 ...
- 泥瓦匠想做一个与众不同的技术匠
2019独角兽企业重金招聘Python工程师标准>>> 本文阅读大约 3 分钟.谢谢你读到这篇文章 喝了最后一口百事可乐,想到它的 slogan:新一代的选择.新一代的选择,每个人选 ...
- 儿子读书成绩不好能学计算机专业吗,我的儿子十七岁了,学习成绩不好,也不爱念书,整天就是玩电脑和手机,我想让他学点儿技术不知道学什么适...
我的儿子十七岁了,学习成绩不好,也不爱念书,整天就是玩电脑和手机,我想让他学点儿技术不知道学什么适以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容,让 ...
- 写给想互联网创业, 但不懂技术的人
42区站长张沈鹏是个很有意思的互联网创业者,有不少想在互联网创业的互联网或者非互联网朋友跟他讨论创业问题.他最近整理的一篇文章<写给想互联网创业, 但不懂技术的人>,我认为是想在互联网创业 ...
- 想深入理解大数据技术 有哪些书籍值得学习
想要学好大数据开发技术,除了必要的学习路线和学习视频教程之外,辅助我们深入学习理解的还有书籍.想深入理解大数据技术,有哪些书籍值得学习?下面千锋老师给大家推荐一些学习大数据的书籍,希望能对大家的学习带 ...
- 2012最具有技术影响力本版图书评选
2012最具有技术影响力本版图书评选:一本好书也许可以改变自己的未来,哪本图书在你心目中最具吸引力? 数学之美(看完) 作者:吴军 出版社:人民邮电出版社 入选理由:数学之美在于其内容或许复杂而深奥, ...
最新文章
- Webpy 0.3新手指南
- 相继平均法matlab代码_模式识别matlab编程:用k次平均法将20个样本分成2类
- 假如有人在今天炸了支付宝的存储服务器...
- [转载] Java——toArray,集合转换为数组
- 花呗可延后还啦!支付宝“移动花卡”开启预约
- OpenVDB Download
- ansys icem cfd网格划分技术实例详解_新软速递极简的CFD软件in:Flux
- 从零开始刷Leetcode——数组(66.88)
- python 爬取妹子图
- 一、JDK下载安装、eclipse下载安装(带资源)
- [c++primer][05]表达式
- 基于JAVA获取行政区边界坐标_基于JavaScript实现高德地图和百度地图提取行政区边界经纬度坐标...
- 三菱plc控制步进电机实例_电工进阶PLC工程师!必学步进电机的编程控制指令,你掌握了吗...
- 《基于张量网络的机器学习入门》学习笔记9(HHL算法)
- 屏下摄像头,实现这一全面屏终极方案有多难?
- nginx resolver
- eCos编译Synthethic Target程序时无法解析__sprintf_chk的解决办法
- 双系统下卸载ubuntu 20.04再安装ubuntu 18.04的相关方法、软件以及出现ACPI Error错误和解决办法
- r720支持多少频率的内存吗_内存条全面选购指南,2020年有哪些内存条值得推荐...
- 终于把PID的原理搞懂了