如果近几年从业于软件工程,特别是服务器端和后端系统开发,那么您很有可能已经被大量关于数据存储和处理的时髦词汇轰炸过了: NoSQL!大数据!Web-Scale!分片!最终一致性!ACID! CAP定理!云服务!MapReduce!实时! 在最近十年中,我们看到了很多有趣的进展,关于数据库,分布式系统,以及在此基础上构建应用程序的方式。这些进展有着各种各样的驱动力: 谷歌,雅虎,亚马逊,脸书,领英,
通过讲解 Flask 以及它的扩展们,介绍通用用法以及使用过程中的问题和坑,帮助读者使用 Python 编程语言快速得开发健壮的 Web(API)服务端程序。本书在编写之初以及编写过程中始终坚持以下几条原则: 让 Python 初学者/会其他语言但没用过 Python 的人能快速入手 循序渐进得让读者感受 Flask 的简便与强大 以生动有趣的语言讲述 Flask 从入门到着迷 Flask 简介
Kivy 是什么? Kivy 是一个开源的 Python 框架,用于快速开发应用,实现各种当前流行的用户界面,比如多点触摸等等。 Kivy 可以运行于 Windows, Linux, MacOS, Android, iOS 等当前绝大部分主流桌面/移动端操作系统。 Kivy 基于 Python,界面文件和程序文件相互分离的设计思路,设计简洁优雅,语法易学,适合新人入门。 目前 Kivy 的官方文档
这是一篇有关 Vim 脚本语言的入门与进阶教程。是“指北”,不是“指南”,所以如果不慎 指错了路,切勿见怪。不过要相信地球是圆的,绕了一圈之后,希望还是能找对目标的。 初学者如果第一章看不懂,建议直接看第二章;如果第二章看不懂,建议直接看第三章; 如果第三章也看不懂,建议直接放弃治疗,汝须先培养对 vim 的信仰习惯。 以下……开始严肃话题。 正名约定 Vim 是上古神器之一,且能历久弥新,与时俱
关于这本书 本书受 理解Unix进程 启发而作,用极简的篇幅深入学习进程知识。 理解Linux进程用Go重写了所有示例程序,通过循序渐进的方法介绍 Linux 进程的工作原理和一切你所需要知道的概念。 三位好朋友 阅读前介绍三位即将与大家打交道的小伙伴:Linux、Go 和 Docker。 Linux 是我们主要的研究对象,书中所有概念与程序都基于Linux,这同样适用于所有Unix-like系统
MATLAB是什么? MATLAB® 是一种对技术计算高性能的语言。它集成了计算,可视化和编程于一个易用的环境中,在此环境下,问题和解答都表达为我们熟悉的数学符号。典型的应用有: 数学和计算 算法开发 建模,模拟和原形化 数据分析,探索和可视化 科学与工程制图 应用开发,包括图形用户界面的建立 MATLAB是一个交互式的系统,其基本数据元素是无须定义维数的数组。这让你能解决很多技术计算的问题,尤其
当我学会如何使用Doker来发布一个容器,以及学会如何使用docker-compose来发布和管理服务时,我很惊讶Docker容器真的是一个好东西!在研究分布式系统、微服务框架时,Docker确实是一个很好的帮手。我们通过Docker能够在单主机上模拟分布式集群环境,当然你的主机在CPU/内存/硬盘等系统资源的性能如果能够尽可能高的话,你会感到你的学习和研究过程是多幺的流畅,让人心旷神怡! 在开发
本手册将指导你如何使用Hugo构建静态网站用于个人博客或者项目展示。 手把手教你如何从0开始构建一个静态网站,这不需要有太多的编程和开发经验和时间投入,也基本不需要多少成本(除了个性化域名),使用GitHub和Hugo模板即可快速构建和上线一个网站。 目标读者 本文档适用于以下用户: 对网站构建不太了解,没有web开发经验的用户 希望快速构建一个网站,个性化需求不多,不想花费太多精力打理,更新不多
如果你从事编译器或解析器的开发工作,你可能对lex和yacc不会陌生,PLY是David Beazley实现的基于Python的lex和yacc。作者最着名的成就可能是其撰写的Python Cookbook, 3rd Edition。我因为偶然的原因接触了PLY,觉得是个好东西,但是似乎国内没有相关的资料。于是萌生了翻译的想法,虽然内容不算多,但是由于能力有限,很多概念不了解,还专门补习了编译原理
作为一位程序员,面试过多次,也面试过很多人,最近又在找工作,总结一下面试经验和面试题,希望可以帮到正在找工作的小伙伴们。 先说一下面试时的心态,刚入门的程序员,技术实力不高,又大多不善言谈,面试一旦遇到难题,很容易心态失衡、惊慌失措、语无伦次,最终丢掉了 Offer。 其实大可不必,心态坦然,是面试必备的一点。 面试新手,面试官心中很清楚,你的实力有几分几两,一般不会过意的为难人,就算是面试真的出
什么是Serenity平台 Serenity 是建立在开源技术上的 ASP.NET MVC/Javascript 应用程序平台。 它旨在使开发变得更简单,同时避免重复代码,减少花在重复任务的时间并提供最佳的软件设计实践,从而降低维护成本。 谁适合使用该平台 Serenity 最适合应用于有大量数据输入的表单业务应用程序或者面向公众的后台管理网站,它的功能同样也适用于其他类型的Web应用程序。 在哪
事物并非总是简单明了,Rust 程序设计语言的本质在于 授权(empowerment):无论你现在编写的是何种代码,Rust 能授权你在更为广泛的编程领域走得更远,写出自信。 Rust 打破了这些障碍,其消除了旧的缺陷并提供了伴你一路同行的友好、精良的工具。想要 “深入” 底层控制的程序员可以使用 Rust,无需冒着常见的崩溃或安全漏洞的风险,也无需学习时常改变的工具链的最新知识。其语言本身更是被
在被虐中成长,在面试中进步 指缝很宽,时间太瘦,悄悄从指缝间溜走。转眼之间三年的研究生生活即将结束,即使很是不舍,也终将要走向社会,开始另一段新的旅程。此刻,看着下一届师弟师妹开始忙碌地准备找实习,便开始追忆起过去一年找实习和工作的历程,那是一段艰辛而又成长颇多的经历。 过去一年找实习和工作的经历还是那幺清晰,每每想起,都彷如发生在昨日。面试官问的问题以及那些踩过的坑却都一一浮现眼前,久久不能忘怀
前言和致谢 这是一份为操作系统课编写的教学草案。它通过研究一个名为 xv6 的操作系统内核来解释操作系统中的主要概念。xv6 是 Dennis Ritchie 和 Ken Thompson 合著的 Unix Version 6(v6)操作系统的重新实现。xv6 在一定程度上遵守 v6 的结构和风格,但它是用 ANSI C 实现的,并且是基于 x86 多核处理器的。 这本教材应该和 xv6 源代码一
计算时代在这已经进入异构计算时代,其意味着CPU和GPU可以同时处理同一计算任务。异构计算设计师们正在扩展异构计算的范围,为的就是让异构机器和硬件供应商能在更广阔的空间发挥自己的能量。硬件层面的变化为未来出现的新应用提供了更广阔的平台。不过,因为设计结构不同,传统编程模型在异构平台上的表现很难令人满意,这样就意味着要对新的编程模型进行学习,例如OpenCL中的编程模型。 OpenCL设计之初,设计