如何在 Ubuntu 上使用 pm2 和 Nginx 部署 Node.js 应用

如何在 Ubuntu 上使用 pm2 和 Nginx 部署 Node.js 应用

pm2 是一个 Node.js 应用的进程管理器,它可以让你的应用程序保持运行,还有一个内建的负载均衡器。它非常简单而且强大,你可以零间断重启或重新加载你的 node 应用,它也允许你为你的 node 应用创建集群。
在没有 Kotlin 的世界与 Android 共舞

在没有 Kotlin 的世界与 Android 共舞

作为一个专业的工程师,你不能在没有同意的情况下私自去使用那些时髦的技术。我知道这听起来非常恐怖,特别当你已经品尝到 Kotlin 的好处时,不过不要失去生活的信念。
极客漫画:消沉的程序员 16

极客漫画:消沉的程序员 16

哎,又是 Bug 和 Debug! 感觉代码之中永远脱离不了这个魔咒啊!还真是尴尬。不知道,编码之间进行详细的规划,能不能尽量避免那些不必要的 Bug?
如何在 Ubuntu16.04 中用 Apache 部署 Jenkins 自动化服务器

如何在 Ubuntu16.04 中用 Apache 部署 Jenkins 自动化服务器

Jenkins 是从 Hudson 项目衍生出来的自动化服务器。Jenkins 是一个基于服务器的应用程序,运行在 Java servlet 容器中,它支持包括 Git、SVN 以及 Mercurial 在内的多种 SCM。Jenkins 提供了上百种插件帮助你的项目实现自动化。Jenkins 由 Kohsuke Kawaguchi 开发,在 2011 年使用 MIT 协议发布了第一个发行版,它是个自由软件。
极客漫画:消沉的程序员 15

极客漫画:消沉的程序员 15

不管是哪行哪业,诸如 It 行业的代码、生成加工等,安全大概都是可以作为一个永恒的话题。越是觉得可以忽略的细小事情,还真是月容易造成重大的安全事故。所以,不管何种情况下,该做的安全考虑都是必不可少的。
Linux 容器能否弥补 IoT 的安全短板?

Linux 容器能否弥补 IoT 的安全短板?

我们将探讨两种基于 Linux 的面向 Docker 的容器技术,这些技术被提出作为物联网安全解决方案。容器还可以帮助解决我们在物联网框架中探讨的开发复杂性和互操作性障碍的问题。
Fedora 官方合法地全面支持 MP3 编码方案

Fedora 官方合法地全面支持 MP3 编码方案

MP3 编码方案在过去十年间和开源界闹得颇不愉快,尤其是在美国。在历史上,由于许可证问题,Fedora 不能在其基础发行版上包括 MP3 解码或编码功能,所以,很多用户只能通过第三方软件库来提供 MP3 支持。
详解 UEFI 模式下安装 Linux

详解 UEFI 模式下安装 Linux

本页面是给 Linux 用户使用 EFI 技术的一个快速介绍,其中包括有关开始将 Linux 安装到此类计算机上的建议。不幸的是,EFI 是一个庞杂的话题;EFI 软件本身是复杂的,许多实现有系统特定的怪异行为甚至是缺陷。
Fedora 25: Wayland 大战 Xorg

Fedora 25: Wayland 大战 Xorg

大体上说,Wayland 还可以,并不差。性能可能不太是一个问题了,因为你可以放弃 1-2% 的变化;但是无法启动应用是个大问题。
如何备份一个磁盘分区

如何备份一个磁盘分区

通常你可能会把数据放在一个分区上,有时候可能需要对该设备或者上面的一个分区进行备份。
SSH 协议端口号 22 背后的故事

SSH 协议端口号 22 背后的故事

为什么 SSH(安全终端)的端口号是 22 呢,这不是一个巧合,这其中有个我(Tatu Ylonen,SSH 协议的设计者)未曾诉说的故事。
极客漫画:大数据婚姻

极客漫画:大数据婚姻

单身的时候,自己的生活过的清净而惬意。一旦你结了婚,你的妻子为了生活而忙碌,便开始关注生活中的点点滴滴,会给你说大量的话,传递大量的信息,这何尝不是一种“大数据”呢?
命令行的生活是如此的 F**K

命令行的生活是如此的 F**K

你是不是经常在终端敲错命令,其实这都是因为该死的终端不配合,不能领会你的意思。 每当这个时候,甚至当你一再敲错的时候,你的内心肯定是崩溃的,一定在默念“……”。 而现在,是让你的终端觉悟的时候了!
eval 之源

eval 之源

唉,eval 这个函数让我爱恨交织,而且多半是后者居多。
极客漫画:鸭子爸爸生活中的 Java 集合

极客漫画:鸭子爸爸生活中的 Java 集合

随着需求不断的增加,数据管理也将变得越发复杂。 从队列到集合,甚至用图来解决…… 有若一天,坐在办公桌前的鸭子爸爸发现,这些只不过都是个“堆栈”而已~
pyDash:一个基于 web 的 Linux 性能监测工具

pyDash:一个基于 web 的 Linux 性能监测工具

pyDash 是一个轻量且基于 web 的 Linux 性能监测工具,它是用 Python 和 Django 加上 Chart.js 来写的。经测试,在下面这些主流 Linux 发行版上可运行:CentOS、Fedora、Ubuntu、Debian、Raspbian 以及 Pidora 。
十分钟带你看遍 DockerCon 2017

十分钟带你看遍 DockerCon 2017

在刚刚过去的 4 月 20 日,Docker 公司在德克萨斯州的奥斯汀市召开了 DockerCon 17 大会。作为当下最受关注的容器公司,我们来看看他们在 DockerCon17 上都说了些什么。
如何在 CentOS 7 上安装 Elastic Stack

如何在 CentOS 7 上安装 Elastic Stack

我将向您展示如何在 CentOS 7 服务器上安装和配置 Elastic Stack 以监视服务器日志。 然后,我将向您展示如何在操作系统为 CentOS 7 和 Ubuntu 16 的客户端上安装 “Elastic beats”。
在 PC 上尝试树莓派的 PIXEL OS

在 PC 上尝试树莓派的 PIXEL OS

在过去四年中,树莓派基金会非常努力地针对树莓派的硬件优化了 Debian 的移植版 Raspbian。在去年圣诞节之前,我们发布了一个在 x86 PC 上运行的操作系统版本,所以现在可以将它安装在 PC、Mac 或笔记本电脑上。
在 Linux 上使用 Meld 比较文件夹

在 Linux 上使用 Meld 比较文件夹

你是否觉得使用 Meld 比较文件夹很容易呢 —— 事实上,我认为它相当容易。只有新建一个文件过滤器会花点时间,但是这不意味着你没必要学习创建过滤器。显然,这取决于你的需求。
Linux 下网络协议分析器 Wireshark 使用基础

Linux 下网络协议分析器 Wireshark 使用基础

Wireshark 相当的强大,当你第一次见到它的时候可能会被它吓到,但是它的目的始终就只有一个,那就是追踪网络流量,并且它所实现的所有选项都只为了加强它追踪流量的能力。
用 NTP 把控时间(一):使用概览

用 NTP 把控时间(一):使用概览

鲜有互联网上的服务能如时间服务一样重要。影响你系统计时的小问题可能需要一两天才能被发现,而这些不期而遇的问题所带来的连锁反应几乎总是让人伤脑筋的。
如何在现有的 Linux 系统上添加新的磁盘

如何在现有的 Linux 系统上添加新的磁盘

作为一个系统管理员,我们会有这样的一些需求:作为升级服务器容量的一部分,或者有时出现磁盘故障时更换磁盘,我们需要将新的硬盘配置到现有服务器。
Python 是慢,但我无所谓

Python 是慢,但我无所谓

优化你最贵的资源。那就是你,而不是计算机。 选择一种语言/框架/架构来帮助你快速开发(比如 Python)。不要仅仅因为某些技术的快而选择它们。 当你遇到性能问题时,请找到瓶颈所在。 你的瓶颈很可能不是 CPU 或者 Python 本身。 如果 Python 成为你的瓶颈(你已经优化过你的算法),那么可以转向热门的 Cython 或者 C。 尽情享受可以快速做完事情的乐趣。
极客漫画:软件测试

极客漫画:软件测试

软件开发的不规范,在开发者自己的电脑上运行正常,在质量检测团队测试时就出现了 Warning,在项目经理测试时已经发生了蓝屏,当用户测试时,发生了“核爆”。
观察:阿里巴巴的开源战略究竟怎么样?

观察:阿里巴巴的开源战略究竟怎么样?

为了对中国企业在开源方面的情况进行深入的了解,从而对开源和企业之间的关系做一些定性、定量的分析,那么,让我们来具体分析一下阿里高调开源几年以来的开源项目的发展情况。
使用 Cozy 搭建个人云

使用 Cozy 搭建个人云

我认识的大部分人为了他们的日历、电子邮件、文件存储等,都会使用一些基于 Web 的应用。但是,如果像我这样,对隐私感到担忧、或者只是希望将你自己的数字生活简单化为一个你所控制的地方呢? Cozy 就是一个朝着健壮的自主云平台方向发展的项目。
使用 LXDE 的 8 个理由

使用 LXDE 的 8 个理由

出于两个原因我决定尝试其它 Linux 桌面环境。第一,我需要完成我的工作。第二,一心使用 KDE 已经有很多年,我认为是时候尝试一些不同的桌面了。
让你的 Linux 远离黑客(三):FAQ

让你的 Linux 远离黑客(三):FAQ

这个系列的第一篇和第二篇文章覆盖了 5 个让你的 Linux 远离黑客的最简单方法,并且知道他们是否已经进入。这一次,我将回答一些我最近在 Linux 基金会网络研讨会上收到的很好的安全性问题。
Anbox:容器中的 Android

Anbox:容器中的 Android

Anbox 以基于容器的方式,在像 Ubuntu 这样的常规的 GNU Linux 系统上启动一个完整的 Android 系统。
lnav:Linux 下一个基于控制台的高级日志文件查看器

lnav:Linux 下一个基于控制台的高级日志文件查看器

基于消息的时间戳,lnav 能把多个日志文件合并到一个视图,从而避免打开多个窗口。左边的颜色栏帮助显示消息所属的文件。警告和错误的数量以(黄色和红色)高亮显示,因此我们能够很轻易地看到问题出现在哪里。它会自动加载新的日志行。
弃之如敝履,Ubuntu 加速逃离 Unity

弃之如敝履,Ubuntu 加速逃离 Unity

但无论社区是如何看待的, Ubuntu 17.04 还是在次日不慌不忙地陆续发布,就在我们以为 GNOME 成为 Ubuntu 主发行版本要在一年以后才能见分晓时,Canonical 内部却呈现加速逃离 Unity 8 的情形
漫画赏析:消沉的程序员 14

漫画赏析:消沉的程序员 14

不管什么是在什么事情上,你所期待的结果,都是通过尽心设计才能得到的。所以,有拖延症的各位亲们,切莫把所有都拖到最后一分钟才去考虑解决方案哦,不然会死的很惨的。
使用 tmux 打造更强大的终端

使用 tmux 打造更强大的终端

即使有一个大的终端窗口,整个窗口也只会显示一个会话。 这浪费了空间,特别是在大型显示器和高分辨率的笔记本电脑屏幕上。 但是,如果你可以将终端分成多个会话呢? 这正是 tmux 最方便的地方,或者说不可或缺的。
2016 Git 新视界

2016 Git 新视界

我决定整理这一年里六个我最喜爱的 Git 特性涵盖的改进,来做一次分类回顾。
调试器工作原理(一):基础篇

调试器工作原理(一):基础篇

我将为大家展示 Linux 中调试器的主要构成模块 - ptrace 系统调用。这篇文章所有代码都是基于 32 位 Ubuntu 操作系统。值得注意的是,尽管这些代码是平台相关的,将它们移植到其它平台应该并不困难。
深入解析面向数据的哈希表性能

深入解析面向数据的哈希表性能

最近几年中,面向数据的设计已经受到了很多的关注 —— 一种强调内存中数据布局的编程风格,包括如何访问以及将会引发多少的 cache 缺失。由于在内存读取操作中缺失所占的数量级要大于命中的数量级,所以缺失的数量通常是优化的关键标准。这不仅仅关乎那些对性能有要求的 code-data 结构设计的软件,由于缺乏对内存效益的重视而成为软件运行缓慢、膨胀的一个很大因素。
漫画赏析:消沉的程序员 13

漫画赏析:消沉的程序员 13

嘿嘿,明明你有很厉害的东西想要分享给自己的同伴,可是他们并不能理解那意味着什么,然后拿一些简单的不能再简单的事情来问你。是不是感觉好尴尬呢。看来有些事儿,分享也要看人的吧,否则表错情真的是大写的失落。
如何在 Ubuntu 和 Linux Mint 上启用桌面共享

如何在 Ubuntu 和 Linux Mint 上启用桌面共享

桌面共享是指通过图形终端仿真器在计算机桌面上实现远程访问和远程协作的技术。桌面共享允许两个或多个连接到网络的计算机用户在不同位置对同一个文件进行操作。
使用 AWS 的 GO SDK 获取区域与终端节点信息

使用 AWS 的 GO SDK 获取区域与终端节点信息

最新发布的 GO 的 SDK v1.6.0 版本,加入了获取区域与终端节点信息的功能。它可以很方便地列出区域、服务和终端节点的相关信息。可以通过 github.com/aws/aws-sdk-go/aws/endpoints 包使用这些功能。
使用 Exercism 提升你的编程技巧

使用 Exercism 提升你的编程技巧

Exercism 是一个 开源 的项目和服务,通过发现和协作,帮助人们提高他们的编程技能。Exercism 提供了几十种不同编程语言的练习。实践者完成每个练习,并获得反馈,从而可以从他们的同行小组的经验中学习。
深入理解 sudo 与 su 之间的区别

深入理解 sudo 与 su 之间的区别

两个命令的最大区别是:sudo 命令需要输入当前用户的密码,su 命令需要输入 root 用户的密码。另外一个区别是其默认行为。sudo 命令只允许使用提升的权限运行单个命令,而 su 命令会启动一个新的 shell,同时允许使用 root 权限运行尽可能多的命令,直到明确退出登录。
印度的社区如何支持隐私和软件自由

印度的社区如何支持隐私和软件自由

印度的自由和开源社区,特别是 Mozilla 和 Wikimedia 社区,它们正在引领两个独特的全球性活动,以提高隐私保护及支持自由软件。 1 月份的隐私月是由印度 Mozilla 社区领导,通过在线和线下活动向群众教育网络隐私。而 2 月份的自由月是由互联网与社会中心领导,教育内容创作者如博主和摄影师就如何在开放许可证下捐赠内容。
Linux 系统上的可视化比较与合并工具 Meld

Linux 系统上的可视化比较与合并工具 Meld

Meld 主要是一个可视化的比较和合并的工具,目标人群是开发者(当然,我们将要讲到的其它部分也会考虑到最终用户)。这个工具同时支持双向和三向的比较,不仅仅是比较文件,还可以比较目录,以及版本控制的项目。
开源啦!「运维密码」小程序携全新 UI 开源啦!

开源啦!「运维密码」小程序携全新 UI 开源啦!

“运维密码”小程序是一款工作在微信环境中的小程序,主要的功能是提供一款方便、可靠、美观的 TOTP 密钥管理工具。TOTP 是基于时间的一次性密钥方案,可以为用户认证提供双因子认证(2FA)的支持,即在通常的密码之外,还额外通过另外一种方式来交叉认证以提升安全。
《GitHub 风格的 Markdown 正式规范》发布

《GitHub 风格的 Markdown 正式规范》发布

五年前,我们在 Sundown 的基础之上开始构建 GitHub 自定义版本的 Markdown —— GFM (GitHub 风格的 MarkdownGitHub Flavored Markdown),这是我们特地为解决当时已有的 Markdown 解析器的不足而开发的一款解析器。 今天,我们希望通过发布 GitHub 风格的 Markdown 的正式语法规范及其相应的参考实现来改善现状。
如何在 Linux 中添加一块大于 2TB 的新磁盘

如何在 Linux 中添加一块大于 2TB 的新磁盘

你有没有试过使用 fdisk 对大于 2TB 的硬盘进行分区,并且纳闷为什么会得到需要使用 GPT 的警告? 是的,你看到的没错。我们无法使用 fdisk 对大于 2TB 的硬盘进行分区。
pyinotify:在 Linux 中实时监控文件系统更改

pyinotify:在 Linux 中实时监控文件系统更改

Pyinotify 是一个简单而有用的 Python 模块,它可用于在 Linux 中实时监控文件系统更改。 作为一名系统管理员,你可以用它来监视你感兴趣的目录的更改,如 Web 目录或程序数据存储目录及其他目录。
OpenSUSE Leap 42.2 Gnome - 好一些但还不够

OpenSUSE Leap 42.2 Gnome - 好一些但还不够

几周之前,我回顾了最新的 openSUSE 发行版的 Plasma 版本,虽然它火力全开,就像经典的帝国冲锋队,但是大多攻击没有命中要害。这是一个相对普通的,该有的都有,但是缺少精华的发行版。我现在将做一个 Gnome 的实验。为这个发行版搭载一个全新的桌面环境,看看它怎么样。
NMAP 常用扫描简介(二)

NMAP 常用扫描简介(二)

之前我们介绍过两种扫描类型 PING 扫描 和 UDP 扫描,这篇文章将介绍最后剩下的两种常用扫描类型:TCP SYN 扫描和 TCP Connect() 扫描。
什么是 Linux VPS 托管?

什么是 Linux VPS 托管?

如果你有一个吞吐量很大的网站,或者至少,预期网站吞吐量很大,那么你可以考虑使用 Linux VPS 托管 。如果你想对网站托管的服务器上安装的东西有更多控制,那么 Linux VPS 托管就是最好的选择之一。这里我会回答一些频繁被提及的关于 Linux VPS 托管的问题。
5 个开源 RSS 订阅阅读器

5 个开源 RSS 订阅阅读器

RSS 长存!我们最后一次是在 2013 年回顾了开源 RSS 阅读器选择,现在是更新的时候了。这里是我关于 2017 年开源 RSS 订阅阅读器的一些最佳选择,每个在使用上稍微不同。
微软 Office 在线版变得更好 - 在 Linux 上亦然

微软 Office 在线版变得更好 - 在 Linux 上亦然

对于 Linux 用户,影响 Linux 使用体验的主要因素之一便是缺少微软 Office 套装。如果你非得靠 Office 谋生,而它被绝大多数人使用,你可能不能承受使用开源产品的代价。理解矛盾之所在了吗?
Linux 命令行工具使用小贴士及技巧(三)

Linux 命令行工具使用小贴士及技巧(三)

CDPATH 环境变量时一把双刃剑,如果没有掌握完善的知识和随意使用,可能会令你陷入困境,并花费你大量宝贵时间去解决问题。当然,这不代表你不应该去试一下;只需要了解一下所有的可用选项,如果你得出结论,使用 CDPATH 会带来很大的帮助,就继续使用它吧。
用 Winetricks 配置 WINE

用 Winetricks 配置 WINE

如果 winecfg (WINE 的配置工具)是一把螺丝刀,那么 winetricks 就是一个钻床。它们各有特长,但是 winetricks 真的是一个强大的多的工具。实际上,它甚至可以启动 winecfg。
连接到 Linux 服务器时首先要运行的 5 个命令

连接到 Linux 服务器时首先要运行的 5 个命令

这些命令对于有经验的软件工程师来说都非常熟悉,但我意识到对于一个刚开始接触 Linux 系统的初学者来说却并非如此。这也是我为什么决定分享当我连上 Linux 服务器首先要运行的前 5 个命令的原因。
漫画赏析:Linux 版 SQL Server

漫画赏析:Linux 版 SQL Server

在那个 Apache 进程高高兴兴的走出去之后,下一位却被要求创建 Linux 版的 SQL Server,这简直让人气的跳起来!
如何在 Vim 中进行文本选择操作和使用标志

如何在 Vim 中进行文本选择操作和使用标志

基于图形界面的文本或源代码编辑器,提供了一些诸如文本选择的功能。我是想说,可能大多数人不觉得这是一个功能。不过像 Vim 这种基于命令行的编辑器就不是这样。
使用极简的 Min 浏览器消除 web 噪音

使用极简的 Min 浏览器消除 web 噪音

有时我希望有个快速、整洁的替代品来上网。随着多个项目的进行,我需要一个可以很快打开一大批选项卡甚至是独立窗口的强大浏览器。
在 shell 中使用 vi 模式

在 shell 中使用 vi 模式

没接触过的人和新手可能没有意识到 bash shell 的默认输入模式是 Emacs 模式,也就是说命令行中所用的行编辑功能都将使用 Emacs 风格的“键盘快捷键”。(行编辑功能实际上是由 GNU Readline 进行的。)
4 个开源在线调查工具

4 个开源在线调查工具

许多人开始使用专有工具,如 SurveyGizmo、Polldaddy、SurveyMonkey 甚至 Google 表单来设置他们的调查。但是如果你不仅是对这些应用还有你自己收集到的数据有更多的控制,那么你会希望使用开源工具。
为什么使用 Go 语言?

为什么使用 Go 语言?

他们知道我热衷于 Go 语言,但他们想知道为什么我认为其他人也应该关心。本文包含三个我认为 Go 是重要的编程语言的原因。
开发者的实用 Vim 插件(三)

开发者的实用 Vim 插件(三)

在一系列介绍 vim 插件文章中,我们介绍了使用 Pathogen 插件管理包安装基本的 vim 插件,也提及了另外三个插件:Tagbar、delimitMate 和 Syntastic。现在,在最后一部分,我们将介绍另一个十分有用的插件 a.vim。
一个值得推荐的发行版:Manjaro Linux

一个值得推荐的发行版:Manjaro Linux

Manjaro 是基于 Arch Linux 并且拥有一个漂亮的用户界面的操作系统。许多新手根本就无法在非图形界面下完成 Arch 的安装。与之相反,Manjaro 有着一个好用的图形安装界面。所以那些想要尝试 Arch 但是又被它的高难度操作所困扰的人们可以去试试 Manjaro。
wkhtmltopdf:一个 Linux 中将网页转成 PDF 的智能工具

wkhtmltopdf:一个 Linux 中将网页转成 PDF 的智能工具

wkhtmltopdf 是用 C++ 编写的,并在 GNU/GPL (通用公共许可证)下发布。它使用 WebKit 渲染引擎将 HTML 页面转换为 PDF 文档且不会丢失页面的质量。这是一个用于实时创建和存储网页快照的非常有用且可信赖的解决方案。
在 Linux 上用火狐浏览器保护你的隐私

在 Linux 上用火狐浏览器保护你的隐私

基于这些目的选择浏览器的时候,火狐或许是你的最佳选择。谷歌 Chrome 不能信任。它是属于谷歌的,一个众所周知的数据收集公司,而且它是闭源的。 Chromium 或许还可以,但并不能保证。只有火狐保持了一定程度的用户权利承诺。
如何在 Ubuntu 以及 Debian 中安装 DHCP 服务器

如何在 Ubuntu 以及 Debian 中安装 DHCP 服务器

动态主机配置协议(DHCP) 是一种用于使主机能够从服务器自动分配 IP 地址和相关的网络配置的网络协议。DHCP 服务器分配给 DHCP 客户端的 IP 地址处于“租用”状态,租用时间通常取决于客户端计算机要求连接的时间或 DHCP 服务器配置的时间。
使用开源工具探索气候数据的奥秘

使用开源工具探索气候数据的奥秘

遍览 NASA、美国国防部,以及其他机构针对气候的研究成果,我的心中有个疑惑。那就是是否有开源的工具,使对此感兴趣的人们能够自行去探索气候数据的奥秘,并总结出我们自己的结论。
LaTeXila 简介:Linux 上的一个多语言 LaTeX 编辑器

LaTeXila 简介:Linux 上的一个多语言 LaTeX 编辑器

LaTeXila 是一个多语言 LaTeX 编辑器,专为那些偏爱 GTK+ 外观的 Linux 用户设计。这个软件简单,但又足够强大,可定制性良好,所以如果你对 LaTeX 感兴趣,那么你就应该尝试一下这个工具。
Go 语言编译期断言

Go 语言编译期断言

这篇文章是关于一个鲜为人知的让 Go 在编译期断言的方法。你可能不会使用它,但是了解一下也很有趣。
一个可对显示器造成物理伤害的 Xfce Bug

一个可对显示器造成物理伤害的 Xfce Bug

使用这个轻量级 GNOME 和 KDE 替代品 Xfce 桌面的用户报告说,其选用的默认壁纸会造成笔记本电脑显示器和液晶显示器的损坏!!! 有确凿的照片证据来支持此观点。
漫画赏析: Vi 还是不 Vi,这是个问题

漫画赏析: Vi 还是不 Vi,这是个问题

上图展示了一个小伙子在有人注视自己工作的时候,使用 Vi 来编辑配置文件,装了一波十三。然后,在人离开后有赶紧拿起趁手的 Sublime 来使用。可能这幅漫画也是很多人的真实写照吧。
为什么(大多数)高级语言运行效率较慢

为什么(大多数)高级语言运行效率较慢

大部分高级语言运行效率较慢的原因通常有两点:没有很好的利用缓存;垃圾回收机制性能消耗高。但事实上,这两个原因可以归因于:高级语言强烈地鼓励编程人员分配很多的内存。
Linux Deepin :一个拥有独特风格的发行版

Linux Deepin :一个拥有独特风格的发行版

编者注:本文原文完成于 2014 年,现在的深度 Linux 发行版已经在此基础上获得更多改进,翻译分享此文是为了让大家看看国外的开源社区对一款来自中国的发行版是如何看的。
如何从 Vim 中访问 shell 或者运行外部命令

如何从 Vim 中访问 shell 或者运行外部命令

能够在 Vim 中运行外部命令在好多场景中(有些场景我们已经在这篇文章中提及了)都是一个很有用的特性。这个功能的学习曲线并不麻烦,所以初学者和有经验的用户都可以好好使用它。
EPEL-5 走向终点

EPEL-5 走向终点

在过去十年中,Fedora 项目一直都在为另外一个操作系统构建相同软件包。然而,到 2017 年 3 月 31 日,它将会随着 Red Hat Enterprise Linux(RHEL)5 一起停止这项工作。
如何更改 Linux 的 I/O 调度器

如何更改 Linux 的 I/O 调度器

Linux I/O 调度器的工作机制是控制块设备的请求队列:确定队列中哪些 I/O 的优先级更高以及何时下发 I/O 到块设备,以此来减少磁盘寻道时间,从而提高系统的吞吐量。
CentOS 与 Ubuntu 有什么不同?

CentOS 与 Ubuntu 有什么不同?

Ubuntu 还是 CentOS,两者都是非常优秀稳定的发行版。如果你想要一个发布周期更短的版本,那么就选 Ubuntu;如果你想要一个不经常变更包的版本,那么就选 CentOS。
看漫画学 SELinux 强制策略

看漫画学 SELinux 强制策略

SELinux 是一个功能强大的标签系统,控制着内核授予每个进程的访问权限。最主要的特性是类型强制,策略规则定义的进程访问权限基于进程被标记的类型和客体被标记的类型。也引入了另外两个控制手段,分离有着同样类型进程的叫做 MCS,而 MLS,则允许进程间存在支配等级。
CentOS 7 上的 FirewallD 简明指南

CentOS 7 上的 FirewallD 简明指南

FirewallD 是 CentOS 7 服务器上默认可用的防火墙管理工具。基本上,它是 iptables 的封装,有图形配置工具 firewall-config 和命令行工具 firewall-cmd。
Linux 爱好者的飞行棋

Linux 爱好者的飞行棋

今天为大家带来一款棋盘游戏 Sudo ,其得名于一款名为 Ludo (印度马棋)的一款棋盘游戏,它是飞行棋的前身。规则与飞行棋大体相同。我们平时玩的棋子,在这款游戏中叫做进程。而我们平时使用的骰子,也变成了二进制的了。
如何在 CentOS 7 上安装和安全配置 MariaDB 10

如何在 CentOS 7 上安装和安全配置 MariaDB 10

MariaDB 是 MySQL 数据库的自由开源分支,与 MySQL 在设计思想上同出一源,在未来仍将是自由且开源的。 在这篇博文中,我将会介绍如何在当前使用最广的 RHEL/CentOS 和 Fedora 发行版上安装 MariaDB 10.1 稳定版。
漫画赏析:Bash 的历史

漫画赏析:Bash 的历史

在 Linux 中,.bash_history 原本的功能为存储在 bash 下执行过的命令历史,在这里,引申为 bash 的历史。所以在展示 .bash_history 返回了下面的摘自维基百科的内容。
如何在 CentOS 7 中安装或升级最新的内核

如何在 CentOS 7 中安装或升级最新的内核

随着新的设备和技术定期出来,如果我们想充分利用它们,保持最新的内核就很重要。此外,更新内核将帮助我们利用新的内核函数,并保护自己免受先前版本中发现的漏洞的攻击。
使用 chroot 监狱限制 SSH 用户访问指定目录

使用 chroot 监狱限制 SSH 用户访问指定目录

将 SSH 用户会话限制访问到特定的目录内,特别是在 web 服务器上,这样做有多个原因,但最显而易见的是为了系统安全。为了锁定 SSH 用户在某个目录,我们可以使用 chroot 机制。
给新手的最佳类 Windows 界面的 Linux 发行版

给新手的最佳类 Windows 界面的 Linux 发行版

很多同学都是刚刚从熟悉的 Windows 系统来到陌生的 Linux 世界里,都希望使用一款既简单易用,又跟 Windows 长得很像的 Linux 发行版,因此我今天将给大家介绍几款这样的 Linux 发行版,它们的桌面环境跟 Windows 系统界面十分相似,咱们开始吧!
Orange Pi 新手起步指南

Orange Pi 新手起步指南

尽管 Orange Pi 是个略带酸味儿的名字,但是我仍然被 Orange Pi Zero 迷住了。我最近刚购买了一个 Orange Pi Zero 并将在本文中分享我的第一体验。真情提示:我是真的着迷了。
如何写出绝佳的发行说明

如何写出绝佳的发行说明

恭喜你!你已经准备发布你的软件包的最新版本了。现在,你需要保证你的发行说明整洁有序。当然,你可以写上一句“bug 修复以及性能改进”然后就算完成,但这并不能给你的用户传达任何信息。
如何定制 SSH 来简化远程访问

如何定制 SSH 来简化远程访问

SSH 使用系统全局以及用户指定(用户自定义)的配置文件。在本文中,我们将介绍如何创建一个自定义的 ssh 配置文件,并且通过特定的选项来连接到远程主机。
Linux 中六个最佳 PDF 页面裁剪工具

Linux 中六个最佳 PDF 页面裁剪工具

PDF(可移植文档格式,Portable Document Format )可谓是众所周知,并且可能是当今使用最广泛的文档类型,特别是在可靠呈现和分享文档、软硬件及系统无关性等方面有着很大优势。
开源 ERP 软件 Odoo 提速指南

开源 ERP 软件 Odoo 提速指南

Odoo 是最流行的 ERP(企业资源计划)软件,它由 Python 编写,使用 PostgreSQL 作为后端数据库。Odoo 社区版是免费的开源软件
如何修改 Linux 的 GRUB 启动背景

如何修改 Linux 的 GRUB 启动背景

GRUB 背景( Splash )只不过是一张图像,在 Linux 系统启动的时候显示为背景。如果你觉得默认的空白屏相当无趣,同时又想按照自己的意愿来修改它,那么赶紧阅读下方的每个步骤吧。
漫画赏析:80 端口之战

漫画赏析:80 端口之战

嗨,大家好,今天我们来聊聊 80 端口之战。著名的技术漫画站 turnoff.us 有这样的一副漫画,生动的描绘了固守 80 端口的 Apache 和新生代的 Nginx 之间的战争。
漫画赏析:Linux 内核到底长啥样

漫画赏析:Linux 内核到底长啥样

今天,我来为大家解读一幅来自 TurnOff.us 的漫画 “InSide The Linux Kernel”。 TurnOff.us 是一个极客漫画网站,他们会画一些关于编程语言、Web、云计算、Linux 相关的漫画。
超酷的 Vim 搜索技巧

超酷的 Vim 搜索技巧

尽管目前我们已经涉及 Vim 的多种特性,但此编辑器的特性集如此庞大,不管我们学习多少,似乎仍然远远不足。承接我们的 Vim 教程系列,本文我们将讨论 Vim 提供的多种搜索技术。
使用 Orange Pi 搭建 Time Machine 服务器

使用 Orange Pi 搭建 Time Machine 服务器

我的工作之一是为各类家用计算机安排进行自动备份,包括存放重要数据的一组 Mac 计算机。我决定使用运行 Armbian Linux 的便宜的 Orange Pi 做实验,目的是希望 Time Machine 可以通过网络使用挂载在 Orange Pi 主板上的 USB 驱动器。在这种情况下,我找到并成功地安装了 Netatalk。
如何在 Linux 启动时自动执行命令或脚本

如何在 Linux 启动时自动执行命令或脚本

我一直很好奇,在启动 Linux 系统并登录的过程中到底发生了什么事情。按下开机键或启动一个虚拟机,你就启动了一系列事件,之后会进入到一个功能完备的系统中,有时,这个过程不到一分钟。当你注销或者关机时,也是这样。
如何在 Ubuntu 中升级到最新内核

如何在 Ubuntu 中升级到最新内核

每过段时间,就有新的设备和技术出来,因此如果我们想要充分利用它,保持最新的 Linux 内核就显得很重要。此外,更新系统内核将使我们能够利用新的内核优化,并且它还可以帮助我们避免在早期版本中发现的漏洞。
如何在 Debian 和 Ubuntu 上安装 MariaDB 10

如何在 Debian 和 Ubuntu 上安装 MariaDB 10

MariaDB 是深受欢迎的数据库管理服务器软件 MySQL 的一个自由开源的分支。它由 MySQL 的原开发者在 GPLv2(通用公共许可证 2 版)下开发,并保持开源。
LFS 8.0 和 Beyond LFS 8.0 正式发布

LFS 8.0 和 Beyond LFS 8.0 正式发布

在此次 LFS 8.0 和 Beyond LFS 8.0 发布中所包含的最大的改变,是移除了 /lib 符号链接,用 /lib64 代替,并且彻底除去了 /usr/lib64。
LXD 2.0 系列(十一):LXD 和 OpenStack

LXD 2.0 系列(十一):LXD 和 OpenStack

conjure-up 是部署这种复杂软件的一个很好的工具,背后使用 Juju 驱动部署,为每个单独的服务使用 LXD 容器,最后是实例本身。

它也是少数几个容器嵌套多层并实际上有意义的情况之一!

哪个 Linux 系统最适合玩游戏?

哪个 Linux 系统最适合玩游戏?

在过去几个月中,出于游戏目的,我们尝试了多种 GNU/Linux 发行版,我们得出的结论是没有专为 Linux 游戏设计的完美的操作系统。
sudo 入门指南

sudo 入门指南

毫无疑问,sudo 是任何在 Linux 上使用命令行的人都必须知道的命令。但是,为了更负责、更有效地使用该命令,你还是要知道一些相关(及深入)的细节。这正是我们将会在这篇文章中讨论的。
Git 中的那些可怕的事

Git 中的那些可怕的事

“Git 的确让你可以做一些超级强大的事。‘强大’,在这次讲演中,这是一种说你愚蠢的委婉说法”。
LXD 2.0 系列(十):LXD 和 Juju

LXD 2.0 系列(十):LXD 和 Juju

Juju 与 LXD 是一个完美的解决方案,从一个小的 Web 服务到大规模的基础设施都可以简单开发,这些都在你自己的机器上,并且不会在你的系统上造成混乱!
浅述内核中“挂起到空闲”的实现

浅述内核中“挂起到空闲”的实现

它主要通过软件实现。一般平台的挂起过程包括冻结用户空间并将外围设备调至低耗电模式。但是,系统并不是直接关闭和热插拔掉 CPU,而是静静地强制将 CPU 进入空闲(idle)状态。
使用 Elizabeth 为应用生成随机样本数据

使用 Elizabeth 为应用生成随机样本数据

Elizabeth 以 21 个不同本地化信息提供了 18 种数据提供器,可用于生成随机信息(LCTT 译注:不仅是随机数),包括姓名和个人特征、地址、文本数据、交通信息、网络和 Internet 社交媒体数据、数字等等。
一个使用 asyncio 协程的网络爬虫(一)

一个使用 asyncio 协程的网络爬虫(一)

首先,我们会实现一个事件循环并用这个事件循环和回调来勾画出一只网络爬虫。它很有效,但是当把它扩展成更复杂的问题时,就会导致无法管理的混乱代码。
如何用 R 语言的 Shiny 库编写 web 程序

如何用 R 语言的 Shiny 库编写 web 程序

Shiny 是一个来自 RStudio 的工具包,它让创建 web 程序变得更容易。它能从 R 控制台轻松安装,只需要一行,就可以加载好最新的稳定版本来使用。
LXD 2.0 系列(九):实时迁移

LXD 2.0 系列(九):实时迁移

简单地说,检查点/恢复意味着正在运行的容器状态可以被序列化到磁盘,要么可以作为同一主机上的有状态快照,要么放到另一主机上相当于实时迁移。
在 Atomic 主机上远程使用 Docker

在 Atomic 主机上远程使用 Docker

来自 Atomic 项目 的 Atomic 主机是一个轻量级的容器基于的操作系统,它可以运行 Linux 容器。它已被优化为用作云环境的容器运行时系统。
这些计算机术语你读对了么?

这些计算机术语你读对了么?

石墨文档在 GitHub 上做了一个有趣的仓库,专门收集了许多中国程序员容易发音错误的单词;还有一位 lexrus 同学根据此库的数据,做了一个开源的 iOS 应用。