最新 | 最热门 | 最高评价

+0  Bash 脚本 set 命令教程

Tag: Developer
阮一峰 发于 2017年11月15日 08:19 | 点击: 405 | 展开摘要
服务器的开发和管理离不开 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 | 点击: 552 | 展开摘要
所谓认证(authentication)就是确认用户的身份,是网站登录必不可少的步骤。

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

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

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

一、双因素认证的概念

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

秘密信息:只有该用户知

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

+0  CSS 框架 Bulma 教程

Tag: Developer
阮一峰 发于 2017年10月24日 07:48 | 点击: 474 | 展开摘要
网页样式需要大量时间开发,最省事的方法就是使用 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 | 点击: 595 | 展开摘要
作为一个开发者,如果你打算开源自己的代码,千万不要忘记,选择一种开源许可证(license)。

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

一、什么是开源许可证

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

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

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

+0  如何读懂火焰图?

Tag: Developer
阮一峰 发于 2017年09月26日 07:48 | 点击: 574 | 展开摘要
软件的性能分析,往往需要查看 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 | 点击: 825 | 展开摘要
软件开发(尤其是商业软件)离不开项目管理,Issue 是最通用的管理工具之一。

本文介绍 Issue 的基本用法。

一、Issue 是什么?

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

一个软件的 bug

一项功能建议

一项待完成的任务

文档缺失的报告

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

历史上,I

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

+0  全文搜索引擎 Elasticsearch 入门教程

Tag: Developer
阮一峰 发于 2017年08月17日 07:36 | 点击: 944 | 展开摘要
全文搜索属于最常见的需求,开源的 Elasticsearch (以下简称 Elastic)是目前全文搜索引擎的首选。

它可以快速地储存、搜索和分析海量数据。维基百科、Stack Overflow、Github 都采用它。

Elastic 的底层是开源库 Lucene。但是,你没法直接用 Lucene,必须自己写代码去调用它的接口。Elastic 是 Lucene 的封装,提供了 REST API 的操作接口,开箱即用。

本文从零开始,讲解如何使用 Elastic 搭建自

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

+0  窗口管理器 xmonad 教程

Tag: Developer
阮一峰 发于 2017年07月29日 08:25 | 点击: 903 | 展开摘要
开发者最需要的,就是一个顺手的开发环境。

每个人的偏好不一样,我的开发环境是 Fish Shell + Xfce + xmonad + Vim,已经用了好多年,非常满意。

三个月前,我介绍了 Fish Shell,今天就来介绍 xmonad。根据本文,读者可以从零开始配置并使用 xmonad。

xmonad 的所有操作都通过键盘,只适合命令行的重度用户。如果你喜欢鼠标和图形界面,xmonad 不适合你。另外,它本身也不支持 Windows 系统。

一、xmonad 是

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

+0  Pull Request 的命令行管理

Tag: Developer
阮一峰 发于 2017年07月18日 18:06 | 点击: 646 | 展开摘要
Github 的一大特色就是 Pull Request 功能(简写为 PR)。

对于多人合作的项目,该功能简直必不可少。大部分人都是使用 Web 界面(如上图),本文介绍如何在命令行下处理 PR,翻译自 Cédric Beust 的文章。

一、Pull Request 是什么?

Github 官方文档的定义如下。

"Pull Request 是一种通知机制。你修改了他人的代码,将你的修改通知原来的作者,希望他合并你的修改,这就是 Pull Request。"

Pul

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

+0  HTML 自定义元素教程

Tag: Developer
阮一峰 发于 2017年06月22日 11:50 | 点击: 504 | 展开摘要
组件是 Web 开发的方向,现在的热点是 JavaScript 组件,但是 HTML 组件未来可能更有希望。

本文就介绍 HTML 组件的基础知识:自定义元素(custom elements)。

文章结尾还有一则 React 培训消息(含 React Native),欢迎关注。

一、浏览器处理

我们一般都使用标准的 HTML 元素。

<p>Hello World</p>

上面代码中,<p>就是标准的 HTML 元素。

如果使用非标准的自定

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

+0  树莓派新手入门教程

Tag: Developer
阮一峰 发于 2017年06月15日 17:41 | 点击: 621 | 展开摘要
树莓派(Raspberry Pi)是学习计算机知识、架设服务器的好工具,价格低廉,可玩性高。

本文根据我的亲身经验,介绍如何从零开始,搭建一个树莓派服务器,控制 LED 灯。你会看到,树莓派玩起来实在很容易。

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

一、型号

树莓派是一个迷你电脑,集成在一块电路板。目前,最新的型号有两个。

(1)Raspberry Pi 3代

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

+0  Server-Sent Events 教程

Tag: Developer
阮一峰 发于 2017年05月27日 15:49 | 点击: 626 | 展开摘要
服务器向浏览器推送信息,除了 WebSocket,还有一种方法:Server-Sent Events(以下简称 SSE)。本文介绍它的用法。

一、SSE 的本质

严格地说,HTTP 协议无法做到服务器主动推送信息。但是,有一种变通方法,就是服务器向客户端声明,接下来要发送的是流信息(streaming)。

也就是说,发送的不是一次性的数据包,而是一个数据流,会连续不断地发送过来。这时,客户端不会关闭连接,会一直等着服务器发过来的新的数据流,视频播放就是这样的例子。本质上

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