1. 微博"收藏/赞/转发"技术资料汇总

    使用新浪微博,我很少发状态,主要是跟踪技术圈的一些动态,技术牛人们都在搞些什么东东,因而收藏和转发了一些优秀的技术资源, 但有些资源当时并没有来得及阅读消化,也没必要马上就阅读学习的,所以这里整理汇总一下,以免湮没在浩瀚的网络信息海洋中。

    书籍

    Tagged as : 微博 技术
  2. 仓库作业机器监控系统设计与实现

    近期在参与一个仓库作业机器监控项目。该项目的需求背景是:公司的电商业务在全国各地有多处或大或小的仓库,仓库的作业人员(没有IT技术背景)经常反馈/投诉作业机器断网、断电、连不了服务等问题。实际情况经常与反馈的不一致,但运维侧并没有数据可以证明,所以才有了这个项目的需求。

    该项目第一期的目标仅是收集、展示作业机器某些监控指标数据,以便在快速定位解决问题,或至少有数据可查

    为了避免大量监控数据上报影响到生产系统的网络服务,系统采用如下结构:

    inner_warehouse_monitor

    1. 实现一个agent用于在仓库作业PC或作业PDA上获取机器的监控数据;
    2. 在仓库本地服务器上实现一个数据收集处理服务,提供API给agent上传监控数据;数据收集处理服务会将接收到的数据持久化到数据库,提供给仓库本地服务器上的webApp进行数据展示等;
    3. 中心服务器可以调用各个仓库本地服务器上的webApp提供的数据查询接口(数据用于定位、发现问题);定期按需对各个仓库本地服务器上的数据进行归档。

    这样,主要的工作都集中在作业机器上的agent数据收集处理服务、webApp。这其中最关键的又是数据收集处理服务。考虑到需要多地部署运维仓库本地服务器,而且某些大仓库作业机器的数目目前已多达800-1000,我们做了如下技术选型:

    1. Golang实现agent、数据收集处理服务、webApp;
    2. 以SQLite作为数据库来存储agent上报的所有数据;
    3. NSQ作为异步消息队列中间件;

    选用Golang的理由是:可以静态编译,部署简单,只需将编译好的可执行二进制程序丢到服务器上跑起来就可以了 …

    Tagged as : 技术 总结 笔记 Golang
  3. 编译安装MemcacheQ

    MemcacheQ是一个MemcacheDB的变种,用来提供简单的消息队列服务。(注:MemcacheDB并不是一个数据缓存解决方案,而是一个为数据持久化设计的分布式的键-值对数据存储系统,采用memcache协议,以BerkeleyDB作为存储后端,主页)。

    MemcacheQ依赖于BerkeleyDB和libevent,所以需先编译安装这两者。

    1. 从Oracle官网上下载某一版本的BerkeleyDB(这里以5.0.32版本为例)

    解压缩: tar -xvf db-5.0.32.tar.gz

    进入db-5.0.32/build_unix目录后执行: 1) ../dist/configure , 2) make , 3) sudo make install

    默认情况下,会把BerkeleyDB安装到/usr/local/BerkeleyDB.5.3目录下。

    2. 从libevent官网下载libevent …

  4. 回顾12,展望13(技术篇)

    终归是个搞技术的,所以怎么也得搞个总结与展望的特别篇,讲述过去一年的技术学习与成果,规划接下来一年技术学习的计划。

    2012年,阅读较少,写的代码较多,经过几个小项目以及实习,终于觉得自己有点攻城师的样子了,甚感欣慰,哈哈。

    罗列一下个人的小项目,虽然不复杂,代码量不多,代码也写得不漂亮,但自认为有那么点用。

    1. 百度音乐下载器:代码项目主页 (墙外)

    2. 简易FTP搜索引擎:代码项目主页 (墙外)应用(注:这个小项目断断续续做了一年,经历了几个版本,以及几次更新,目前看起来还不错)

    3. 基于Web的机器人远程控制:代码项目主页 (墙外)(注:这个项目就是我那尽是水的毕业设计啦,哈哈)

    4. 在线代码高亮,分享以及运行:代码(注:这个项目其实很不完整的啦,代码编译与执行部分根本没做防护措施,根本没法实际使用)

    5. Loven的个人静态站点:代码(注:其实绝大部分的代码都是loven自己写的啦,我主要写了实现总体动态效果的javascript程序,而且还是仿照的 …

    Tagged as : 总结 技术
  5. 关于技术的学习方法

    关于学习,时间短与效果好始终是一对矛盾的统一体。

    很多时候,要想在最短的时间内完成一件事情,最好的方法就是依葫芦画瓢,但这样的话,即使完成了事情,也只是知其然而不知其所以然,长久来看,对于学习者的能力不会有多大的提高。

    从长远来看,要想自己基础扎实,能力强,那就得一步一步的来,从基础知识开始,一点一点的搞懂,但这种方式需要花费很多时间,短时间内效果不明显。而且,可能效果没有预期的那么好。

    那么,如果做个权衡呢?

    我想,也许最好的学习方式是:先依葫芦画瓢地实践,获得一些直观感受,最好还有一些疑问。在实践完成之后,在整理自己的疑问,以及实践中涉及的知识要点,通过查阅图书或者网络资料,逐个知识点巩固,逐个解决疑问,并整理成文。这个整理总结的过程可能需要较长的时间。

    这种方式的优势在于:1.能让你快速地完成事情;2.实践中用到的知识多半会在以后的实践中经常用到,掌握的就是一些最重要的东西,而不会学习一些很少使用的深奥偏门知识。

    Tagged as : 技术 学习方法

Page 1 / 1