0%

最近在一个网站上,看到了很炫的网页特效:视频背景透明。该网址是:http://videostir.com/。他们还为用户提供了制作透明视频的服务。用户只需要上传他们要求的格式的视频,就可以生成一个透明的视频。

正如该网站所演示的,这种视频作为网站的引导,效果非常赞,互动的感觉非常强烈。

阅读全文 »

重复触发Jenkins build

当使用Jenkins build我们的一个repo的时候,一般我们会想要build master分支。在Jenkins添加git repo的时候,默认添加的监控branch为*/master,这个默认的设置就可以满足我们的需求。

但是,事实上*/master是可以匹配master xx/master分支的。如果当前repo里面有一个branch为xx/master,那么就会匹配到两个分支。在这样的设置之下,如果master有新的commit,Jenkins就会尝试build这两个分支,于是就会触发两次build。

grunt在压缩文件的时候,一些自动生成的文件没有包含进去,但当第二次运行编译,文件又被编译进去了

grunt可能在编译之前生成的待压缩的文件列表,由于第一次编译的时候,编译文件没有生成,在压缩的时候就不会包含这个中间文件。第二次编译的时候,中间文件已经存在(可能会在编译过程中更新这个文件),这个时候就可以包含这个文件了。

概述

From Martin Fowler microservices:

微服务架构即是采用一组小服务来构建应用的方法。
每个服务运行在独立的进程中,不同服务通过一些轻量级交互机制来通信, 例如 RPC、HTTP 等。
服务围绕业务能力来构建,并依赖自动部署机制来独立部署。

From Sam Newman [Building Microservices]:

You should instead think of Microservices as a specific approach for SOA in the same way that XP or Scrum are specific approaches for Agile software development.

微服务即SOA的一种实现方式。企业服务总线(ESB)设计的失败给SOA带上了负面的标签。

阅读全文 »

昨晚老婆在家玩游戏,遇到一个关卡,挺有意思,找不到图了,姑且文字描述一下。

  • 游戏模型:[1, 1, 1, 0, -1, -1, -1]
  • 规则:1或-1可以移动到其旁边0的位置,或者移动到间隔一个障碍的下一个0的位置;1只能向右移动,-1只能向左移动
  • 目标:所有-1移动到左边,1移动到右边,即最后状态为[-1, -1, -1, 0, 1, 1, 1]
阅读全文 »

保存客户端状态,Session Storage是用于

The sessionStorage property allows you to access a session Storage object. sessionStorage is similar to Window.localStorage, the only difference is while data stored in localStorage has no expiration set, data stored in sessionStorage gets cleared when the page session ends. A page session lasts for as long as the browser is open and survives over page reloads and restores. Opening a page in a new tab or window will cause a new session to be initiated, which differs from how session cookies work.

总纲

差的测试会增加维护的负担,好的测试才能指导开发。品质差的测试可能让开发慢如蜗牛。
测试需要达到目的的同时尽量保证不要给重构及变更带来阻碍。

阅读全文 »

常见误解

  1. 需求是被引出或者捕捉出来的(用户也不知道需求,需求只能被拖网捕捞,有大有小,有死有活,还有漏网的)
  2. 用户知道所有需求
  3. 原型要在开发阶段一直保留

tips

https://therealba.com/2016/10/26/working-effectively-in-a-distributed-team-across-australia-china-and-new-zealand/comment-page-1/#comment-31

今天跟大家分享一下时下非常流行的一个机器学习框架:TensorFlow。希望大家可以一瞥TensorFlow的易用性和强大功能。

TensorFlow目前在我司的技术雷达上面处于assess阶段。

TensorFlow是什么

TensorFlow诞生于Google公司Google Brain项目。其前身是一个名为DistBelief的系统,DistBelief是Google内部使用非常广泛的一个机器学习系统。TensorFlow作为github上面的一个很火的开源项目,它的第一个提交是在2015年11月。到现在也不过刚好一年时间。

TensorFlow提供的API库可以用于编写富有表现力的程序。同时TensorFlow底层使用c++实现,其性能也是不错的。

TensorFlow在系统设计上使用一个有状态的数据流图来描述计算。使用TensorFlow时,需要先定义好计算图,以便TensorFlow可以在内部进行分布式的调度,然后一般会使用向计算图填充数据的形式进行迭代计算。

TensorFlow支持的系统非常广泛,从移动设备到桌面电脑再到大型分布式系统,从CPU到GPU,TensorFlow都提供了支持。

TensorFlow为了便于高效率的开发,同时也是顺应社区的技术潮流,提供的是Python的API。同时,也可以直接使用C++进行开发。目前还有Rust,Haskell的方言支持。

阅读全文 »

本文试图帮大家理解深度学习中的两大重要而基础的模型RNN和LSTM,并结合google在udacity上面关于深度学习的课程习题进行实践。

近两年深度学习在自然语言处理领域取得了非常好的效果。深度学习模型可以直接进行端到端的训练,而无须进行传统的特征工程过程。在自然语言处理方面,主要的深度学习模型是RNN,以及在RNN之上扩展出来的LSTM。RNN和LSTM也可以广泛用于其他序列处理和预测的机器学习任务。

RNN,全称为Recurrent Neural Network,常译为循环神经网络,也可译为时序递归神经网络,很多人直接简称为递归神经网络。另一个模型Recursive Neural Network,缩写也同样是RNN,译为递归神经网络。递归神经网络是时序递归神经网络的超集,它还可以包括在结构上有递归的神经网络,但是结构递归神经网络使用远没有时序递归神经网络使用得广泛。

本文包括四个部分:

  • NLP
  • 单词的向量表示
  • RNN和LSTM理论介绍
  • 训练一个LSTM模型
阅读全文 »