期权知识 第602页
-
持续集成服务 Travis CI 教程
编写代码只是软件开发的一小部分,更多的时间往往花在构建(build)和测试(test)。 为了提高软件开发的效率,构建和测试的自动化工具层出不穷。Travis CI 就是这类工具之中,市场份额最大的一个。 本文介绍 Travis CI 的基本用法。用好这个工具不仅可以提高效率,还能使开发流程更可靠和专业化,从而提高软件的价值。而且,它对于开源项目是免费的,不花一分钱,就能帮你做掉很多事情。 一、什么是持续集成? Travis CI 提供的是持续集成服务(Continuous Integration,...
-
你所不知道的 AI 进展
人工智能现在是常见词汇,大多数人可能觉得,它是学术话题,跟普通人关系不大。 但是实际上,AI 突飞猛进,正在脱离实验室,进入日常生活。仅仅是现在的技术水平,就足以模糊现实与虚拟的界限,颠覆一般民众的认知。 (图1:2018年10月,世界第一幅 AI 生成的肖像画,拍卖成交价43.25万美元。) 为了让普通人了解 AI 的进展,谷歌的机器学习专家格里高利·萨普诺夫(Grigory Sapunov)写了一篇通俗的科普文章,介绍目前的技术成果。这盘文章非常精彩,有大量的图片,加上一些简单的解释,信息量很大,对...
-
Docker 入门教程
2013年发布至今, Docker 一直广受瞩目,被认为可能会改变软件行业。 但是,许多人并不清楚 Docker 到底是什么,要解决什么问题,好处又在哪里?本文就来详细解释,帮助大家理解它,还带有简单易懂的实例,教你如何将它用于日常开发。 一、环境配置的难题 软件开发最大的麻烦事之一,就是环境配置。用户计算机的环境都不相同,你怎么知道自家的软件,能在那些机器跑起来? 用户必须保证两件事:操作系统的设置,各种库和组件的安装。只有它们都正确,软件才能运行。举例来说,安装一个 Python 应用,计算机必...
-
关于计算机科学的50个误解
计算机科学(Computer Science,简称 CS)是大学的热门专业。但是,社会上对这个专业有很多误解,甚至本专业的学生也有误解。 一个美国的 CS 老师写了一份清单,列出了许多关于计算机科学的伪命题。它们都是 CS 学生信以为真,以后才慢慢明白,这些都是不正确或不完全正确的命题。 下面就是计算机科学的50个常见误解,欢迎补充。 1、 CS 毕业生懂 C 和 C ++ 语言。 2、 Java 语言是几乎所有编程任务的合理选择。 3、 懂得编程 == 懂得计算机科学。 4、 CS 毕业...
-
Docker 微服务教程
Docker 是一个容器工具,提供虚拟环境。很多人认为,它改变了我们对软件的认识。 站在 Docker 的角度,软件就是容器的组合:业务逻辑容器、数据库容器、储存容器、队列容器......Docker 使得软件可以拆分成若干个标准化容器,然后像搭积木一样组合起来。 这正是微服务(microservices)的思想:软件把任务外包出去,让各种外部服务完成这些任务,软件本身只是底层服务的调度中心和组装层。 微服务很适合用 Docker 容器实现,每个容器承载一个服务。一台计算机同时运行多个容器,从而就能...
-
Nginx 容器教程
春节前,我看到 Nginx 加入了 HTTP/2 的 server push 功能,就很想试一下。 正好这些天,我在学习 Docker,就想到可以用 Nginx 容器。万一哪里改乱了,直接删掉,再重启一个容器就可以了。 下面就是我搭建 Nginx 容器的过程,以及如何加入 SSL 证书。你会看到 Docker 用来测试软件的新功能,真的很方便,很值得学习。如果你还不会 Docker,可以先看《Docker 入门教程》,非常简单,半小时以内就能学会。 一、HTTP 服务 Nginx 的最大作用,就是搭...
-
HTTP/2 服务器推送(Server Push)教程
HTTP/2 协议的主要目的是提高网页性能。 头信息(header)原来是直接传输文本,现在是压缩后传输。原来是同一个 TCP 连接里面,上一个回应(response)发送完了,服务器才能发送下一个,现在可以多个回应一起发送。 服务器推送(server push)是 HTTP/2 协议里面,唯一一个需要开发者自己配置的功能。其他功能都是服务器和浏览器自动实现,不需要开发者关心。 本文详细介绍服务器推送的原理和配置方法。 一、传统的网页请求方式 下面是一个非常简单的 HTML 网页文件index.h...
-
Systemd 定时器教程
Systemd 作为 Linux 的系统启动器,功能强大。 本文通过一个简单例子,介绍 Systemd 如何设置定时任务。这不仅实用,而且可以作为 Systemd 的上手教程。 一、定时任务 所谓定时任务,就是未来的某个或多个时点,预定要执行的任务,比如每五分钟收一次邮件、每天半夜两点分析一下日志等等。 Linux 系统通常都使用 cron 设置定时任务,但是 Systemd 也有这个功能,而且优点显著。 自动生成日志,配合 Systemd 的日志工具,很方便除错 可以设置内存和 CPU...
-
DDOS 攻击的防范教程
一个多月前,我的个人网站遭受 DDOS 攻击,下线了50多个小时。这篇文章就来谈谈,如何应对这种攻击。 需要说明的是,我对 DDOS 并不精通,从没想过自己会成为攻击目标。攻击发生以后,很多素昧平生的朋友提供了各种帮助和建议,让我学到了很多东西。这里记录的就是对我最有帮助的一些解决方案。 一、DDOS 是什么? 首先,我来解释一下,DDOS 是什么。 举例来说,我开了一家餐厅,正常情况下,最多可以容纳30个人同时进餐。你直接走进餐厅,找一张桌子坐下点餐,马上就可以吃到东西。 很不幸,我得罪了一...
-
JSON Web Token 入门教程
JSON Web Token(缩写 JWT)是目前最流行的跨域认证解决方案,本文介绍它的原理和用法。 一、跨域认证的问题 互联网服务离不开用户认证。一般流程是下面这样。 1、用户向服务器发送用户名和密码。 2、服务器验证通过后,在当前对话(session)里面保存相关数据,比如用户角色、登录时间等等。 3、服务器向用户返回一个 session_id,写入用户的 Cookie。 4、用户随后的每一次请求,都会通过 Cookie,将 session_id 传回服务器。 5、服务器收到 sessio...
最新留言
说:asdasd
2023-05-26 10:48:03说:I
2023-04-07 09:22:25说:2366
2023-03-30 09:40:21说:1
2023-03-30 09:40:16说:6
2023-03-03 17:48:00说:发的太多人
2023-02-27 15:34:13说:1
2023-02-02 19:12:01说:我靠
2023-01-26 10:55:41