文章分类 - 极客时间
摘要:你好,我是陈皓,网名左耳朵耗子。 上面的技术都讲完了,前端还有一个很重要的事就是设计。作为前端人员,我们有必要了解现在的一些知名且流行的设计语言或是一些设计规范或是设计方法,学习它们的设计思想和方法,有助于我们拓宽眼界、与时俱进。我并不觉得这些内容是设计师要学习的,如果你要成为一个前端程序员,那么学
阅读全文
摘要:你好,我是陈皓,网名左耳朵耗子。 前端性能优化 首先是推荐几本前端性能优化方面的图书。 Web Performance in Action ,这本书目前国内没有卖的。你可以看电子版本,我觉得是一本很不错的书,其中有CSS、图片、字体、JavaScript性能调优等。 Designing for Pe
阅读全文
摘要:你好,我是陈皓,网名左耳朵耗子。 对于前端的学习和提高,我的基本思路是这样的。首先,前端的三个最基本的东西HTML 5、CSS 3和JavaScript(ES6)是必须要学好的。这其中有很多很多的技术,比如,CSS 3引申出来的Canvas(位图)、SVG(矢量图) 和 WebGL(3D图),以及C
阅读全文
摘要:你好,我是陈皓,网名左耳朵耗子。 我之前写过一篇机器学习的入门文章,因为我也是在入门和在学习的人,所以,那篇文章和这篇机器学习和人工智能方向的文章可能都会有点太肤浅。如果你有更好的学习方式或资料,欢迎补充。 基本原理简介 我们先来介绍一下机器学习的基本原理。 机器学习主要有两种方式,一种是监督式学习
阅读全文
摘要:你好,我是陈皓,网名左耳朵耗子。 这篇文章我们来重点学习 Docker 和 Kubernetes,它们已经是分布式架构和自动化运维的必备工具了。对于这两个东西,你千万不要害怕,因为技术方面都不算复杂,只是它们的玩法和传统运维不一样,所以你不用担心,只要你花上一点时间,一定可以学好的。 Docker
阅读全文
摘要:你好,我是陈皓,网名左耳朵耗子。 微服务是分布式系统中最近比较流行的架构模型,也是SOA架构的一个进化。微服务架构并不是银弹,所以,也不要寄希望于微服务架构能够解决所有的问题。微服务架构主要解决的是如何快速地开发和部署我们的服务,这对于一个能够适应快速开发和成长的公司是非常必要的。同时我也觉得,微服
阅读全文
摘要:你好,我是陈皓,网名左耳朵耗子。 要学好分布式架构,你首先需要学习一些架构指导性的文章和方法论,即分布式架构设计原则。下面是几篇很不错的文章,值得一读。 Designs, Lessons and Advice from Building Large Distributed Systems,Googl
阅读全文
摘要:你好,我是陈皓,网名左耳朵耗子。 经典图书 首先,我推荐几本分布式架构方面的经典图书。 Distributed Systems for fun and profit,这是一本免费的电子书。作者撰写此书的目的是希望以一种更易于理解的方式,讲述以亚马逊的Dynamo、谷歌的Bigtable和MapRed
阅读全文
摘要:你好,我是陈皓,网名左耳朵耗子。 学习分布式系统跟学习其它技术非常不一样,分布式系统涵盖的面非常广,具体来说涵盖如下几方面: 服务调度,涉及服务发现、配置管理、弹性伸缩、故障恢复等。 资源调度,涉及对底层资源的调度使用,如计算资源、网络资源和存储资源等。 流量调度,涉及路由、负载均衡、流控、熔断等。
阅读全文
摘要:你好,我是陈皓,网名左耳朵耗子。 对于数据库方向,重点就是两种数据库,一种是以SQL为代表的关系型数据库,另一种是以非SQL为代表的NoSQL数据库。关系型数据库主要有三个:Oracle、MySQL 和 Postgres。 在这里,我们只讨论越来越主流的MySQL数据库。首先,我们要了解数据库的一些
阅读全文
摘要:你好,我是陈皓,网名左耳朵耗子。 前两篇文章分享的是系统底层方面的内容,今天我们进入高手成长篇的第二部分——Java底层知识。 Java 字节码相关 首先,Java最黑科技的玩法就是字节码编程,也就是动态修改或是动态生成Java字节码。Java的字节码相当于汇编,其中的一些细节你可以从下面的这几个教
阅读全文
摘要:你好,我是陈皓,网名左耳朵耗子。 异步I/O模型 异步I/O模型是我个人觉得所有程序员都必需要学习的一门技术或是编程方法,这其中的设计模式或是解决方法可以借鉴到分布式架构上来。再说一遍,学习这些模型,是非常非常重要的,你千万要认真学习。 史蒂文斯(Stevens)在《UNIX网络编程》一书6.2 I
阅读全文
摘要:你好,我是陈皓,网名左耳朵耗子。 这一篇章,是本系列中最长的一篇,其中包括了如下的内容。 系统底层相关。 主要是以Linux系统为主,其中有大量的文章可以让你学习到Linux内核,以及内存、网络、异步I/O模型、Lock-free的无锁编程,还有其它和系统底层相关的东西。注意,系统底层要是深下去是可
阅读全文
摘要:你好,我是陈皓,网名左耳朵耗子。 学习软件设计的方法、理念、范式和模式,是让你从一个程序员通向工程师的必备技能。如果你不懂这些设计方法,那么你将无法做出优质的软件。这就好像写作文一样,文章人人都能写,但是能写得有条理,有章法,有血有肉,就不简单了。软件开发也一样,实现功能,做出来并不难,但是要做漂亮
阅读全文
摘要:你好,我是陈皓,网名左耳朵耗子。 进入专业的编程领域,学习系统知识是非常关键的一部分。 首先推荐的是翻译版图书《深入理解计算机系统》,原书名为《Computer Systems A Programmer’s Perspective》。不过,这本书叫做《程序员所需要了解的计算机知识》更为合适。 本书的
阅读全文
摘要:你好,我是陈皓,网名左耳朵耗子。 进入专业的编程领域,算法、数据结构、网络模型、计算机原理等这样的计算机科学专业需要学习的理论知识是必须要学习的。下面我们先来看看数据结构和算法。 数据结构和算法 算法是比较难学习的,而且学习“算法”是需要智商的。数组、链表、哈希表、二叉树、排序算法等一些基础知识,对
阅读全文
摘要:你好,我是陈皓,网名左耳朵耗子。 为了进入专业的编程领域,我们需要认真学习以下三方面的知识。 编程语言。你需要学习C、C++和Java这三个工业级的编程语言。为什么说它们是工业级的呢?主要是,C和C++语言规范都由ISO标准化过,而且都有工业界厂商组成的标准化委员会来制定工业标准。次要原因是,它们已
阅读全文
摘要:你好,我是陈皓,网名左耳朵耗子。 在完成上述的入门知识学习之后,我们要向专业的计算机软件开发进军了。但是在学习那些专业的知识前,我们先要抽一部分的篇幅来说一下程序员的修养。这是程序员的工程师文化,也就是程序员的价值观,因为我觉得如果你的技术修养不够的话,你学再多的知识也是没有用的。 要了解程序员的修
阅读全文
摘要:你好,我是陈皓,网名左耳朵耗子。 学习了前面文章中的入门级经验和知识后,你可能会有两种反应。 一种反应可能是,你对编程有一点的兴趣了,甚至有一点点小骄傲,可能还会四处炫耀。我想说,请保持这种感觉,但是你也要清醒一下,上面的那些东西,还不算真正的入门,你只是入门了一条腿。 另一种反应也可能是,你被吓着
阅读全文
摘要:你好,我是陈皓,网名左耳朵耗子。 如果你从来没有接触过程序语言,这里给你两个方面的教程,一个偏后端,一个偏前端。对从零基础开始的人来说,最重要的是能够对编程有兴趣,而要对编程有兴趣,就要有成就感。而成就感又来自于用程序打造东西,所以,我推荐下面这份不错的入门教程。 第一份入门教程,主要是让你体会到编
阅读全文