最新 | 最热门 | 最高评价

+0  Systemd 定时器教程

Tag: Developer
阮一峰 发于 2018年03月30日 08:01 | 点击: 361 | 展开摘要
Systemd 作为 Linux 的系统启动器,功能强大。

本文通过一个简单例子,介绍 Systemd 如何设置定时任务。这不仅实用,而且可以作为 Systemd 的上手教程。

一、定时任务

所谓定时任务,就是未来的某个或多个时点,预定要执行的任务,比如每五分钟收一次邮件、每天半夜两点分析一下日志等等。

Linux 系统通常都使用 cron 设置定时任务,但是 Systemd 也有这个功能,而且优点显著。

自动生成日志,配合 Systemd 的日志工具,很方便除错

查看全文: http://www.udpwork.com/item/16758.html

+0  HTTP/2 服务器推送(Server Push)教程

Tag: Developer
阮一峰 发于 2018年03月05日 07:58 | 点击: 465 | 展开摘要
HTTP/2 协议的主要目的是提高网页性能。

头信息(header)原来是直接传输文本,现在是压缩后传输。原来是同一个 TCP 连接里面,上一个回应(response)发送完了,服务器才能发送下一个,现在可以多个回应一起发送。

服务器推送(server push)是 HTTP/2 协议里面,唯一一个需要开发者自己配置的功能。其他功能都是服务器和浏览器自动实现,不需要开发者关心。

本文详细介绍服务器推送的原理和配置方法。

一、传统的网页请求方式

下面是一个非常简单的

查看全文: http://www.udpwork.com/item/16689.html

+0  Nginx 容器教程

Tag: Developer
阮一峰 发于 2018年02月27日 08:05 | 点击: 460 | 展开摘要
春节前,我看到 Nginx 加入了 HTTP/2 的 server push 功能,就很想试一下。

正好这些天,我在学习 Docker,就想到可以用 Nginx 容器。万一哪里改乱了,直接删掉,再重启一个容器就可以了。

下面就是我搭建 Nginx 容器的过程,以及如何加入 SSL 证书。你会看到 Docker 用来测试软件的新功能,真的很方便,很值得学习。如果你还不会 Docker,可以先看《Docker 入门教程》,非常简单,半小时以内就能学会。

一、HTTP 服务

查看全文: http://www.udpwork.com/item/16675.html

+0  Docker 微服务教程

Tag: Developer
阮一峰 发于 2018年02月13日 09:31 | 点击: 859 | 展开摘要
Docker 是一个容器工具,提供虚拟环境。很多人认为,它改变了我们对软件的认识。

站在 Docker 的角度,软件就是容器的组合:业务逻辑容器、数据库容器、储存容器、队列容器......Docker 使得软件可以拆分成若干个标准化容器,然后像搭积木一样组合起来。

这正是微服务(microservices)的思想:软件把任务外包出去,让各种外部服务完成这些任务,软件本身只是底层服务的调度中心和组装层。

微服务很适合用 Docker 容器实现,每个容器承载一个服务。一台计

查看全文: http://www.udpwork.com/item/16660.html

+0  Docker 入门教程

Tag: Developer
阮一峰 发于 2018年02月09日 05:53 | 点击: 650 | 展开摘要
2013年发布至今, Docker 一直广受瞩目,被认为可能会改变软件行业。

但是,许多人并不清楚 Docker 到底是什么,要解决什么问题,好处又在哪里?本文就来详细解释,帮助大家理解它,还带有简单易懂的实例,教你如何将它用于日常开发。

一、环境配置的难题

软件开发最大的麻烦事之一,就是环境配置。用户计算机的环境都不相同,你怎么知道自家的软件,能在那些机器跑起来?

用户必须保证两件事:操作系统的设置,各种库和组件的安装。只有它们都正确,软件才能运行。举例来说,安装一

查看全文: http://www.udpwork.com/item/16655.html

+0  持续集成服务 Travis CI 教程

Tag: Developer
阮一峰 发于 2017年12月19日 20:09 | 点击: 522 | 展开摘要
编写代码只是软件开发的一小部分,更多的时间往往花在构建(build)和测试(test)。

为了提高软件开发的效率,构建和测试的自动化工具层出不穷。Travis CI 就是这类工具之中,市场份额最大的一个。

本文介绍 Travis CI 的基本用法。用好这个工具不仅可以提高效率,还能使开发流程更可靠和专业化,从而提高软件的价值。而且,它对于开源项目是免费的,不花一分钱,就能帮你做掉很多事情。

一、什么是持续集成?

Travis CI 提供的是持续集成服务(Continu

查看全文: http://www.udpwork.com/item/16550.html

+0  Bash 脚本 set 命令教程

Tag: Developer
阮一峰 发于 2017年11月15日 08:19 | 点击: 831 | 展开摘要
服务器的开发和管理离不开 Bash 脚本,掌握它需要学习大量的细节。

set命令是 Bash 脚本的重要环节,却常常被忽视,导致脚本的安全性和可维护性出问题。本文介绍它的基本用法,让你可以更安心地使用 Bash 脚本。

一、简介

我们知道,Bash 执行脚本的时候,会创建一个新的 Shell。

$ bash script.sh

上面代码中,script.sh是在一个新的 Shell 里面执行。这个 Shell 就是脚本的执行环境,Bash 默认给定了这个环境的各种参

查看全文: http://www.udpwork.com/item/16500.html

+0  双因素认证(2FA)教程

Tag: Developer
阮一峰 发于 2017年11月02日 08:06 | 点击: 877 | 展开摘要
所谓认证(authentication)就是确认用户的身份,是网站登录必不可少的步骤。

密码是最常见的认证方法,但是不安全,容易泄露和冒充。

越来越多的地方,要求启用双因素认证(Two-factor authentication,简称 2FA)。本文介绍它的概念和实现方法。

文章结尾有一则活动消息,优达学城(Udacity)的"双十一优惠",课程最高减免1111元。

一、双因素认证的概念

一般来说,三种不同类型的证据,可以证明一个人的身份。

秘密信息:只有该用户知

查看全文: http://www.udpwork.com/item/16487.html

+0  CSS 框架 Bulma 教程

Tag: Developer
阮一峰 发于 2017年10月24日 07:48 | 点击: 615 | 展开摘要
网页样式需要大量时间开发,最省事的方法就是使用 CSS 框架。

Bootstrap 是最著名的 CSS 框架,但是今天我想推荐另一个更轻量化、更易用的框架----Bulma。有了它,即使完全不懂 CSS,也可以轻而易举做出美观的网页。

我要感谢 100offer 对我提供赞助。100offer 是国内第一流的人力资源网站,本文结尾有他们的简介,最近想换工作的朋友可以看一下。

一、简介

Bulma 框架最大的特点,就是简单好用。所有样式都基于class,只需为 HTML

查看全文: http://www.udpwork.com/item/16470.html

+0  开源许可证教程

Tag: Developer
阮一峰 发于 2017年10月11日 20:30 | 点击: 765 | 展开摘要
作为一个开发者,如果你打算开源自己的代码,千万不要忘记,选择一种开源许可证(license)。

许多开发者对开源许可证了解很少,不清楚有哪些许可证,应该怎么选择。本文介绍开源许可证的基本知识,主要参考了 OpenSource.com (1,2)。

一、什么是开源许可证

开源许可证是一种法律许可。通过它,版权拥有人明确允许,用户可以免费地使用、修改、共享版权软件。

版权法默认禁止共享,也就是说,没有许可证的软件,就等同于保留版权,虽然开源了,用户只能看看源码,不能用,一

查看全文: http://www.udpwork.com/item/16450.html

+0  如何读懂火焰图?

Tag: Developer
阮一峰 发于 2017年09月26日 07:48 | 点击: 707 | 展开摘要
软件的性能分析,往往需要查看 CPU 耗时,了解瓶颈在哪里。

火焰图(flame graph)是性能分析的利器。本文介绍它的基本用法。

一、perf 命令

让我们从 perf 命令(performance 的缩写)讲起,它是 Linux 系统原生提供的性能分析工具,会返回 CPU 正在执行的函数名以及调用栈(stack)。

通常,它的执行频率是 99Hz(每秒99次),如果99次都返回同一个函数名,那就说明 CPU 这一秒钟都在执行同一个函数,可能存在性能问题。

$

查看全文: http://www.udpwork.com/item/16431.html

+0  如何使用 Issue 管理软件项目?

Tag: Developer
阮一峰 发于 2017年08月29日 08:23 | 点击: 1063 | 展开摘要
软件开发(尤其是商业软件)离不开项目管理,Issue 是最通用的管理工具之一。

本文介绍 Issue 的基本用法。

一、Issue 是什么?

Issue 指的是一项待完成的工作,通常与系统的改进相关,中文可以译为"问题"或"事务"。下面这些都是 Issue 的例子。

一个软件的 bug

一项功能建议

一项待完成的任务

文档缺失的报告

每个 Issue 应该包含该问题的所有信息和历史,使得后来的人只看这个 Issue,就能了解问题的所有方面和过程。

历史上,I

查看全文: http://www.udpwork.com/item/16397.html
|<<<123456>>>| 一共6页, 67条记录