Browsed by
标签:Swift

How to Write a Spelling Corrector

How to Write a Spelling Corrector

閱讀本文約花費: 14 (分鐘)One week in 2007, two friends (Dean and Bill) independently told me they were amazed at Google’s spelling correction. Type in a search like [speling] and Google instantly comes back with Showing results for: spelling. I thought Dean and Bill, being highly accomplished engineers and mathematicians, would have good intuitions about how this process works. But they didn’t, and come to think of it, why should they know about something so far outisde their specialty? I figured they, and others, could benefit from an explanation. The full details of an…

Read More Read More

苹果电脑为什么要换 CPU:Intel 与 ARM 的战争

苹果电脑为什么要换 CPU:Intel 与 ARM 的战争

閱讀本文約花費: 12 (分鐘)三个月前,新款 iPad Pro 发布,支持触摸板和鼠标。 上图的黑点就是鼠标。苹果公司显然打算,平板电脑当作笔记本使用。 我们知道,iPad 的操作系统跟 iPhone 是一样的,都是基于 iOS。如果 iOS 可以用于笔记本,就意味着可以跟桌面系统 MacOS 统一了。如果 MacBook 和 iPhone 都用同一个操作系统,App 就能通用了。 苹果公司显然也是这么打算的。几天后的6月22日将举行 WWDC(苹果全球开发者大会)。媒体报道,苹果公司将在那一天宣布,更换 Mac 电脑的 CPU,从 Intel 公司的 x86 架构改成 ARM 架构。 一旦 Mac 跟 iPhone 使用同样架构的 CPU,那就铺平了统一操作系统的道路。操作系统无法通用的最主要原因,就是 CPU 架构不同。 本文回顾苹果公司的 CPU 架构变化历史,帮助大家理解这件事的技术含义,以及未来的影响。 一、CPU 架构是什么 CPU 的全称是”中央处理单元”,它是计算机的核心,计算都由它来完成。但是,CPU 本身只是一个概念,每家芯片公司都有自己的具体实现。 不同的 CPU 设计实现,就称为” CPU 架构”(CPU architecture)。 不同的 CPU 架构有不同的指令集,彼此不通用,这导致运行在上面…

Read More Read More

OpenStack 开发入门

OpenStack 开发入门

閱讀本文約花費: 5 (分鐘)什么是 OpenStack? 官方网站给出的定义是: OpenStack is a cloud operating system that controls large pools of compute, storage, and networking resources throughout a datacenter, all managed through a dashboard that gives administrators control while empowering their users to provision resources through a web interface. 粗略翻译:OpenStack 是一个可以控制整个数据中心里大量的计算、存储和网络资源池的云操作系统,它通过一个既能赋予管理员控制资源的能力,也能让普通用户调配资源的可视化控制面板(Dashboard)来管理这一切。 Openstack 介绍 对开发者来说,我们需要知道的是,OpenStack 是由一系列开源组件构成的基础设施即服务(Infrastructure as a Service,简称IaaS)范畴的云平台解决方案,它让用户方便的构建和管理自己的云平台,它正在解决以及将要解决的主要问题就是如何自动管理物理主机上虚拟出来的虚拟机和虚拟资源。 虚拟资源…

Read More Read More

如何阅读OpenStack源码

如何阅读OpenStack源码

閱讀本文約花費: 28 (分鐘)原文:https://github.com/int32bit/openstack-workflow http://www.talkwithtrend.com/Article/240391 1 关于该项目 本项目使用在线绘图工具web sequencediagrams完成,目标是图形化OpenStack的所有操作流程,通过操作序列图能快速学习Openstack的工作原理,理清各个组件的关系,运维人员也能根据操作序列图进行更精确的故障定位和排查. 注意,该操作序列图基于L版OpenStack源码,未来版本的操作可能会有变化,请以最新版的源码为准,该项目提供的序列图仅供参考。 2 OpenStack基础 2.1 OpenStack组件介绍 OpenStack是一个IaaS层的云计算平台开源实现,其对标产品为AWS。最开始OpenStack只有两个组件,分别为提供计算服务的Nova以及提供对象存储服务的Swift,其中Nova不仅提供计算服务,还包含了网络服务、块存储服务、镜像服务以及裸机管理服务。之后随着项目的不断发展,从Nova中根据功能拆分为多个独立的项目,如nova-volume拆分为Cinder项目提供块存储服务,nova-image拆分为Glance项目,提供镜像存储服务,nova-network则是neutron的前身,裸机管理也从Nova中分…

Read More Read More

理解裸机部署过程ironic

理解裸机部署过程ironic

閱讀本文約花費: 27 (分鐘)部署物理机跟部署虚拟机的概念在nova来看是一样,都是nova通过创建虚拟机的方式来触发,只是底层nova-scheduler和nova-compute的驱动不一样。虚拟机的底层驱动采用的libvirt的虚拟化技术,而物理机是采用Ironic技术,ironic可以看成一组Hypervisor API的集合,其功能与libvirt类似。 操作系统安装过程 Linux系统启动过程 bootloader(引导程序,常见的有GRUB、LILO) kernel(内核) ramdisk(虚拟内存盘) initrd/initramfs (初始化内存磁盘镜像) 下面我们分别介绍每个概念: 引导加载程序是系统加电后运行的第一段软件代码。PC机中的引导加载程序由BIOS(其本质就是一段固件程序)和位于硬盘MBR(主引导记录,通常位于第一块硬盘的第一个扇区)中的OS BootLoader(比如,LILO和GRUB等)一起组成。BIOS在完成硬件检测和资源分配后,硬盘MBR中的BootLoader读到系统的RAM中,然后控制权交给OS BootLoader。 bootloader负责将kernel和ramdisk从硬盘读到内存中,然后跳转到内核的入口去运行。 kernel是Linux的内核,包含最基本的程序。 ramdisk是一种基于内存的虚拟文件系统,就好像你又有一个硬盘…

Read More Read More

The Swift Programming Language in Chinese

The Swift Programming Language in Chinese

閱讀本文約花費: 1 (分鐘) Wiki 移动开发 iOS The Swift Programming Language 中文版 2016.9.23: 已经更新到 Swift 3.0。 3.0 更新说明 Swift 3.0 是自 Swift 开源以来第一个大的版本更新。从语言角度不兼容之前的 Swift 2.2 和 Swift 2.3 版本。Swift 3.0 的更新说明,大家可以查看官方blog的说明,也可以关注 SwiftGG 最新的文章。学习官方文档,是掌握语言特性点的最佳途径,感谢翻译的小伙伴们为 Swift 社区所做贡献! 3.0 译者记录 相关issue Functions: crayygy Control Flow: Realank Closures: LanfordCai Protocols: chenmingbiao The Basics:chenmingbiao Advanced Operators: mmoaay Language Reference: Attributes: WhoJave Statements: chenmingjia Declarations: chenmingjia Expressions: chenmingjia Types: lettleprince Generic Parameters and Arguments: chenmin…

Read More Read More

Scroll Up