C语言实现循环冗余码CRC12

CRC是一种常用的错误侦测编码,例如,字符串"test"的CRC12余数计算结果为:

CRC12 remainder of str "test" is 679
The binary string is:
01110100 01100101 01110011 01110100 011001111001

计算CRC12的C语言代码如下:


/**
CRC12
*/
#include <cstring>
#include <stdlib.h>
#include <cstdio>
#include <iostream>
#define CHAR_SIZE 8
#define CRC_SIZE 12
using namespace ...

继续阅读

IaaS vs. PaaS vs. SaaS云计算服务模式对比

各种形式的云计算服务如雨后春笋般不断涌现,而这些服务形式各有其优点和缺点。各式各样容易混淆的缩写词充斥其中,让人难以做出最佳选择。

云计算服务最主要的3种模式为IaaS,PaaS和SaaS,分别代表基础设施即服务,平台即服务以及软件即服务。当你仔细观察你会发现,从中做出选择的关键是公司的实际需求。

虚拟化技术、高速网络的普及与当今浏览器的功能使得这些服务成为可能。有了这些现成的服务,人们不再需要拥有自己的基础设施,甚至不再需要拥有自己的软件。当需要时,你可以随时从云端获取自己所需的东西。

理解这些“即服务"产品最简单的方式是从SaaS开始,这是最抽象的一层并且你现在可能已经在使用了,即使在个人层面上。SaaS的一个简单的例子就是在线邮件服务,例如Gmail。如果你使用Gmail,你并没有架设自己的邮件服务器。Google托管了这些服务器,你只需通过浏览器客户端访问服务。不过电子邮件只是你的公司使用的应用之一,目前还有许多商业用途的在线应用。

SaaS其实面向的是公司的终端用户并且很容易上手。服务提供商计算你的应用需要多少资源。服务提供商计算出需要多少服务器,虚拟机,网络设备,所有一切。你只需用浏览器访问就可以了。

IaaS位于云图谱的另外一端。在此场景中,你需要维护控制你的网络环境,但是不想维护任何设备 ...

继续阅读

bootstrap标签页使用方法

Bootstrap的JS插件中包含了标签页组件,使用步骤如下:

1. 在页面中添加bootstrap的样式与js引用,例如可以从百度CDN获取:


<script src="http://libs.baidu.com/bootstrap/3.0.3/js/bootstrap.min.js"></script>
<link href="http://libs.baidu.com/bootstrap/3.0.3/css/bootstrap.min.css" rel="stylesheet" />

2. 添加标签头部 ...

继续阅读

基于nodejs与phantomjs在heroku搭建网页截图服务

heroku网页截图服务搭建流程:

基于nodejs与phantomjs可以在heroku上搭建网页截图服务(Screenshot as a Service)

示例页面:http://screenshot.bookshadow.com/

该服务基于github的项目https://github.com/fzaninotto/screenshot-as-a-service的heroku分支版本

部署具体步骤如下:

继续阅读

年度归档