最新 | 最热门 | 最高评价

+0  SVG 图像入门教程

Tag: Developer
阮一峰 发于 2018年08月06日 12:59 | 点击: 489 | 展开摘要
一、概述

SVG 是一种基于 XML 语法的图像格式,全称是可缩放矢量图(Scalable Vector Graphics)。其他图像格式都是基于像素处理的,SVG 则是属于对图像的形状描述,所以它本质上是文本文件,体积较小,且不管放大多少倍都不会失真。

SVG 文件可以直接插入网页,成为 DOM 的一部分,然后用 JavaScript 和 CSS 进行操作。

<!DOCTYPE html>
<html>
<head></head>
<bo

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

+0  CSS 的空格处理

Tag: Developer
阮一峰 发于 2018年07月30日 20:25 | 点击: 386 | 展开摘要
一、空格规则

HTML 代码的空格通常会被浏览器忽略。

<p>◡◡hello◡◡world◡◡</p>

上面是一行 HTML 代码,文字的前部、内部和后部各有两个空格。为了便于识别,这里使用半圆形符号◡表示空格。

浏览器的输出结果如下。

hello world

可以看到,文字的前部和后部的空格都会忽略,内部的连续空格只会算作一个。这就是浏览器处理空格的基本规则。

如果希望空格原样输出,可以使用<pre>标签。

<pre>◡◡hel

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

+0  JSON Web Token 入门教程

Tag: Developer
阮一峰 发于 2018年07月23日 17:10 | 点击: 305 | 展开摘要
JSON Web Token(缩写 JWT)是目前最流行的跨域认证解决方案,本文介绍它的原理和用法。

一、跨域认证的问题

互联网服务离不开用户认证。一般流程是下面这样。

1、用户向服务器发送用户名和密码。

2、服务器验证通过后,在当前对话(session)里面保存相关数据,比如用户角色、登录时间等等。

3、服务器向用户返回一个 session_id,写入用户的 Cookie。

4、用户随后的每一次请求,都会通过 Cookie,将 session_id 传回服务器。

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

+0  DDOS 攻击的防范教程

Tag: Developer
阮一峰 发于 2018年06月26日 17:49 | 点击: 393 | 展开摘要
一个多月前,我的个人网站遭受 DDOS 攻击,下线了50多个小时。这篇文章就来谈谈,如何应对这种攻击。

需要说明的是,我对 DDOS 并不精通,从没想过自己会成为攻击目标。攻击发生以后,很多素昧平生的朋友提供了各种帮助和建议,让我学到了很多东西。这里记录的就是对我最有帮助的一些解决方案。

一、DDOS 是什么?

首先,我来解释一下,DDOS 是什么。

举例来说,我开了一家餐厅,正常情况下,最多可以容纳30个人同时进餐。你直接走进餐厅,找一张桌子坐下点餐,马上就可以吃到

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

+0  Systemd 定时器教程

Tag: Developer
阮一峰 发于 2018年03月30日 08:01 | 点击: 462 | 展开摘要
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 | 点击: 599 | 展开摘要
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 | 点击: 578 | 展开摘要
春节前,我看到 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 | 点击: 988 | 展开摘要
Docker 是一个容器工具,提供虚拟环境。很多人认为,它改变了我们对软件的认识。

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

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

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

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

+0  Docker 入门教程

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

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

一、环境配置的难题

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

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

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

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

Tag: Developer
阮一峰 发于 2017年12月19日 20:09 | 点击: 597 | 展开摘要
编写代码只是软件开发的一小部分,更多的时间往往花在构建(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 | 点击: 927 | 展开摘要
服务器的开发和管理离不开 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 | 点击: 1011 | 展开摘要
所谓认证(authentication)就是确认用户的身份,是网站登录必不可少的步骤。

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

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

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

一、双因素认证的概念

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

秘密信息:只有该用户知

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