404 Not Found

Personal Notes


  • 首页

  • 归档

  • 标签

  • 搜索

The NIST Definition of Cloud Computing(翻译)

发表于 Aug 23 2015

云计算是一种模型,它实现了无处不在的、便捷的、可通过网络按需访问的共享可配置计算资源池(例如网络、服务器、存储、应用程序和服务等资源),并在最小化管理开销或与服务提供商交互的前提下,实现这些资源的快速分配和释放。云计算模型有五个基本特性、三种服务模型和四种部署模型。

基本特征(Essential Characteristics)

  1. On-demand self-service(按需自助服务):不需要与服务提供商进行繁琐的交互, 消费者就可以单方面按需取用计算资源, 例如服务器时间和网络存储。
  2. Broad network access(带宽网络访问):各种各样的瘦或胖客户端平台(例如移动电话、平板电脑、笔记本电脑和工作站)都能使用标准机制通过网络访问资源。
  3. Resource pooling(资源池化):通过使用多租户模型,提供商的计算资源池可以服务于各种消费者,并根据他们的需求动态分配和重新分配不同的物理和虚拟资源。这些资源感觉上是与位置无关的,因为消费者通常无法控制或知晓资源的精确位置,但是他们可以指定更高抽象层面上的位置(例如国家、洲或者数据中心)。这些资源可能包括存储、处理器、内存和网络带宽。
  4. Rapid elasticity(快速弹性化):弹性地提供和释放计算能力以快速伸缩匹配等量的需求,这种伸缩在某些情况下是自动的。对消费者来说,可供调配的资源总是无限可用的,并且可在任意时间使用任意数量的资源。
  5. Measured service(服务可度量):通过利用与服务匹配的抽象层次的的度量机制(例如存储、处理器、带宽以及活跃用户帐户数),云计算系统能够自动控制并优化资源的使用。同时能够监控、控制和报告资源使用率,为服务提供商和消费者提供透明的服务。
    阅读全文 »

C++与类型转换有关的关键字

发表于 Jul 9 2015

我们知道,C++ 有四个与类型转换有关的关键字:const_cast、dynamic_cast、static_cast 和 reinterpret_cast,很容易混淆它们各自的用法,下面我来简单总结一下每个关键字的使用场景(原则上尽量不用类型转换操作,但是不得不用时也尽量使用这几个新式的转型操作,因为它们分工比较明确且容易识别):

1. const_cast 关键字

用途:转掉对象的 const 属性或者 volatile 属性,也是唯一能做到这一点的新式转型操作:

const int constant = 42; // local const
constant = 0; // error: read-only variable is not assignable
const_cast<int&>(constant) = 0; // normal expression
cout << constant << endl; // 42
cout << *(&constant) << endl; // 0

阅读全文 »

几个与概率有关的问题

发表于 Jul 1 2015

看过《概率面试题精讲》这个视频之后,来总结一下视频中讲过的几个比较重要的问题。

1. random shuffle 问题

问题描述:给定一个字符串,随机返回任意一种打乱顺序之后的字符串,保证每种情况出现的概率相等。下面是一份实现代码:

char *reshuffle(char *str)
{
for (int i = strlen(str) - 1; i > 0; --i) {
int j = rand() % (i + 1);
swap(str[i], str[j]);
}
return str;
}

阅读全文 »

图解 Git(转载 & 整理)

发表于 Jun 9 2015

这篇博文是我对 图解 git 的整理,按照我自己的理解加入了一些注释,在这里首先要感谢原作者和翻译者为我们带来这么精彩的图文,下面是我的整理:

1. git 常用操作

图 1:git 常用操作 1
注意:图 1 所示的四条命令在工作目录、暂存区域(又叫索引)和历史仓库之间复制文件。

git add files # 把当前文件放入暂存区域
git commit # 给暂存区域生成快照并提交到历史仓库
git reset -- files # 撤销最后一次 git add files,可用 git reset 撤销所有暂存区域文件
git checkout -- files # 把文件从暂存区域复制到工作目录,用来丢弃本地修改

阅读全文 »

使用共享内存和信号量:生产者和消费者问题

发表于 May 10 2015

共享内存和信号量都是 Linux 下 IPC(Inter-Process Communication)的重要手段,尤其是共享内存,是最快的 IPC 方式也是最常用的方式之一。共享内存的基本思想是:同一块物理内存被映射到多个进程各自的虚拟内存空间,一个进程对共享内存数据的更新对其他进程是立即可见的,所以需要使用信号量(或者其他同步原语)来同步多个进程对共享内存的访问。图 1 显示了共享内存在进程虚拟地址空间中的位置:

图 1:共享内存
阅读全文 »

1…6789
wind4869

wind4869

44 日志
12 标签
GitHub E-Mail
© 2014 - 2020 wind4869
由 Hexo 强力驱动
主题 - NexT.Pisces
0%