GitHub 2016 章鱼猫观察报告

GitHub 2016 章鱼猫观察报告

GitHub 又发布了一年一度的章鱼猫观察报告。在这个报告中,分别对开源和社区做了一些有趣的统计,现将其中一些有趣的数据和趋势撷取出来分享给大家。
百度运用 FPGA 方法大规模加速 SQL 查询

百度运用 FPGA 方法大规模加速 SQL 查询

百度坐拥超过 1 EB 的数据,每天处理大约 100 PB 的数据,每天更新 100 亿的网页,每 24 小时更新处理超过 1 PB 的日志更新,这些数字和 Google 不分上下,正如人们所想象的。百度采用了类似 Google 的方法去大规模地解决潜在的瓶颈。
MySQL 8.0.0 发布

MySQL 8.0.0 发布

MySQL 开发团队于 12 日宣布 MySQL 8.0.0 开发里程碑版本(DMR)发布!
Swift 3.0 发布!

Swift 3.0 发布!

这是 Apple 开源 Swift 之后首次发布的重大版本。Swift 3 是一个重要版本,包含了多达上百项的主要改进,包括对语言核心和标准库的改进,Linux 版本增加了核心库,并首次发布了 Swift 包管理器。
使用 Python 和 Asyncio 编写在线多人游戏(一)

使用 Python 和 Asyncio 编写在线多人游戏(一)

最近版本的 Python 对 asyncio 的引入和一个特别的 async/await 语法使得异步代码看起来像常规的阻塞代码一样,这使得 Python 成为了一个值得信赖的异步编程语言,所以我将尝试利用这些新特点来创建一个多人在线游戏。
为 Github 创造集成件(Integration)

为 Github 创造集成件(Integration)

我们邀请了具有不同层面的专长的开发人员,来创造有助于开发者更好的工作的集成件。如果你曾经为 Github 构建过一个很棒的集成件,我们希望来让更多人知道它! Gitter、AppVeyor 和 ZenHub 都做到了,你也可以!
Turtl:安全、开源的 Evernote 替代品

Turtl:安全、开源的 Evernote 替代品

Turtl 是一个安全、开源的 Evernote 替代品,在Linux、Windows、Mac 和 Android 等系统上都能使用。iOS版本仍在开发当中,Firefox 和 Chrome 也有扩展程序可以使用。
使用 Github Pages 发布你的项目文档

使用 Github Pages 发布你的项目文档

你可能比较熟悉如何用 Github Pages 来分享你的工作,又或许你看过一堂教你建立你的第一个 Github Pages 网站的教程。近期 Github Pages 的改进使得从不同的数据源来发布您的网站更加的方便,其中的来源之一就是你的仓库的 /docs 目录。
JavaScript 现状:方言篇

JavaScript 现状:方言篇

从 2009 年 CoffeeScript 出现开始,近几年出现了大量基于 JavaScript 语言,或者叫方言,例如 ES6、TypeScript、Elm 等等。它们都有自己的优势,且都可以被完美编译成标准 JavaScript。
Linux 将成为 21 世纪汽车的主要操作系统

Linux 将成为 21 世纪汽车的主要操作系统

AGL 发布了新的 AGL Unified Code Base (UCB) ,这个新的 Linux 发行版基于 AGL 和另外两个汽车开源项目: Tizen 和 GENIVI Alliance 。 UCB 是第二代 Linux 汽车系统。它从底层开始开发,一直到特定的汽车应用软件。它能处理导航、通信、安全、安保和信息娱乐系统。
5 个给 Linux 新手的最佳包管理器

5 个给 Linux 新手的最佳包管理器

在 Linux 中,包管理器非常重要,知道如何使用多种包管理器可以让你像一个高手一样活得很舒适,从在仓库下载软件、安装软件,到更新软件、处理依赖和删除软件是非常重要的,这也是Linux 系统管理的一个重要部分。
Linux 中国志愿者翻译小组 LCTT 三岁啦!

Linux 中国志愿者翻译小组 LCTT 三岁啦!

不知不觉,LCTT 已经成立三年了,对于我这样已经迈过四张的人来说,愈发的感觉时间过得真快。 这三年来,我们 LCTT 经历了很多事情,有些事情想起来仍恍如昨日。
Linux 的逆袭

Linux 的逆袭

Linux 系统在早期的时候被人们嘲笑,它什么也干不了。而现在,Linux 无处不在!
用 Python 实现 Python 解释器

用 Python 实现 Python 解释器

Byterun 是一个用 Python 实现的 Python 解释器。随着我对 Byterun 的开发,我惊喜地的发现,这个 Python 解释器的基础结构用 500 行代码就能实现。
对比 Android 和 iPhone 的优缺点

对比 Android 和 iPhone 的优缺点

当我们比较 Android 与 iPhone 的时候,很显然 Android 具有一定的优势,而 iPhone 则在一些关键方面更好。但是,究竟哪个比较好呢?
Azure SQL 数据库已经支持 JSON

Azure SQL 数据库已经支持 JSON

我们很高兴地宣布你现在可以在 Azure SQL 中查询及存储关系型数据或者 JSON 了、Azure SQL 数据库提供了读取 JSON 文本数据的简单的内置函数,将 JSON 文本转化成表,以及将表的数据转化成 JSON。
GitHub 上十个最流行的安全项目

GitHub 上十个最流行的安全项目

搜寻这些安全相关的开源软件最好的地方显然是 GitHub。你可以使用该网站上的搜索功能来找到这些有用的工具,但是有一个地方可以让你找到那些安全方面最流行的项目,那就是 GitHub 的展示区,可能知道它的人不多。
谷歌是怎样做开源的?

谷歌是怎样做开源的?

谷歌是开源领域领先的贡献者之一,但是这个搜索巨头不是所有的开源许可证都喜欢。
浅谈 Linux 容器和镜像签名

浅谈 Linux 容器和镜像签名

从根本上说,几乎所有的主要软件,即使是开源软件,都是在基于镜像的容器技术出现之前设计的。这意味着把软件放到容器中相当于是一次平台移植。这也意味着一些程序可以很容易就迁移,而一些就更困难。
25 个你可能不知道的 Linux 真相

25 个你可能不知道的 Linux 真相

“就是个个人爱好”,他说,“不会像 gnu 那样庞大而专业。” 这个孩子并不知道他的操作系统将永远的改变了软件世界。
Linux 历史上 25 个里程碑事件回顾

Linux 历史上 25 个里程碑事件回顾

虽然对 Linux 正式生日是哪天还有些争论,甚至 Linus Torvalds 认为在 1991 那一年有四个日子都可以算作 Linux 的生日。但是不管怎么说,Linux 已经 25 岁了,这里我们为您展示一下这 25 年来发生过的 25 件重大里程碑事件。
爱 Vim 的七个理由

爱 Vim 的七个理由

我从来没有像讨厌 vi 一样讨厌过其它的编辑器,现在我已经使用它 17 年了,因为我想象不出一个更好的编辑器。
DevOps 的弹性合作

DevOps 的弹性合作

那些熟悉 DevOps 的人通常认为与其说 DevOps 是一种技术不如说是一种文化。在 DevOps 的有效实践上需要一些特定的工具和经验,但是 DevOps 成功的基础在于企业内如何做好团队和个体协作,从而可以让事情更快、更高效而有效的完成。
如何在 nginx 中缓存静态文件

如何在 nginx 中缓存静态文件

这篇教程说明你应该怎样配置 nginx、设置 HTTP 头部过期时间,用 Cache-Control 中的 max-age 标记为静态文件(比如图片、 CSS 和 Javascript 文件)设置一个时间,这样用户的浏览器就会缓存这些文件。
LXD 2.0 系列(三):你的第一个 LXD 容器

LXD 2.0 系列(三):你的第一个 LXD 容器

由于在管理 LXD 容器时涉及到大量的命令,所以这篇文章的篇幅是比较长的,如果你更喜欢使用同样的命令来快速的一步步实现整个过程,你可以尝试我们的在线示例!
在推特上我关注的人 72% 都是男性

在推特上我关注的人 72% 都是男性

我 写了一个程序 ,根据姓名猜测他们的性别。在那些关注我的人当中,性别分布甚至更糟,83% 的是男性。据我所知,其他的还不全都是女性。
生日快乐,Debian GNU/Linux 23 岁啦!

生日快乐,Debian GNU/Linux 23 岁啦!

是的,你没看错,就是 23 年前, 1993 年的今天, Debian GNU/Linux 发行版呱呱落地,项目创始人 Ian Murdock 发布了第一个开发版 0.01。并于三年后,发布了第一个官方正式版本 1.0。
GCC 内联汇编 HOWTO

GCC 内联汇编 HOWTO

本 HOWTO 文档将讲解 GCC 提供的内联汇编特性的用途和用法。对于阅读这篇文章,这里只有两个前提要求,很明显,就是 x86 汇编语言和 C 语言的基本认识。
LXD 2.0 系列(二):安装与配置

LXD 2.0 系列(二):安装与配置

有很多种办法可以获得 LXD。我们推荐你配合最新版的 LXC 和 Linux 内核使用 LXD,这样就可以享受到它的全部特性。需要注意的是,我们现在也在慢慢的降低对旧版本 Linux 发布版的支持。
搭个 Web 服务器(二)

搭个 Web 服务器(二)

你的 Web 服务器必须实现 WSGI 接口的服务器部分,而现代的 Python Web 框架均已实现了 WSGI 接口的框架部分,这使得你可以直接在 Web 服务器中使用任意框架,而不需要更改任何服务器代码,以对特定的 Web 框架实现兼容。
五条强化 SSH 安全的建议

五条强化 SSH 安全的建议

当你查看你的 SSH 服务日志,可能你会发现充斥着一些不怀好意的尝试性登录。这里有 5 条常规建议(和一些个别特殊策略)可以让你的 OpenSSH 会话更加安全。
Python 高级图像处理

Python 高级图像处理

构建图像搜索引擎并不是一件容易的任务。这里有几个概念、工具、想法和技术需要实现。主要的图像处理概念之一是逆图像查询(reverse image querying :RIQ)
smem – Linux 下基于进程和用户的内存占用报告

smem – Linux 下基于进程和用户的内存占用报告

和其它传统的内存报告工具不同的是,它有个独特的功能,可以报告 PSS(按比例占用大小 Proportional Set Size),这种内存使用量表示方法对于那些在虚拟内存中的应用和库更有意义。
5 个最受人喜爱的开源 Django 包

5 个最受人喜爱的开源 Django 包

Django 具有一个丰富多样的、由可供你使用的可重用应用组建起来的生态系统——PyPI 列出了超过 8000个 Django 应用——可你该如何知道哪些是最好的呢?
Python 3: 加密简介

Python 3: 加密简介

Python 3 的标准库中没多少用来解决加密的,不过却有用于处理哈希的库。在这里我们会对其进行一个简单的介绍,但重点会放在两个第三方的软件包:PyCrypto 和 cryptography 上。我们将学习如何使用这两个库,来加密和解密字符串。
ownCloud 的六大神奇用法

ownCloud 的六大神奇用法

现在,让我们一起来看看在 ownCloud 上的六个创造性的应用方式。其中一些是由于 ownCloud 的开源才得以完成,而另外的则是 ownCloud 自身特有的功能。
Flatpak 为 Linux 带来了独立应用

Flatpak 为 Linux 带来了独立应用

Flatpak (以前在开发时名为 xdg-app)为应用提供了捆绑为一个 Flatpak 软件包的能力,可以让应用在很多 Linux 发行版上都以轻松而一致的体验来安装和运行。将应用程序捆绑成 Flatpak 为其提供了沙盒安全环境,可以将它们与操作系统和彼此之间相互隔离。
Linux 命令行下的最佳文本编辑器

Linux 命令行下的最佳文本编辑器

正如你所了解的,Linux 真正的魅力在于命令行。当你正在用命令行工作时,你就需要一个可以在控制台窗口运行的文本编辑器。
一位女军官的 Linux 探索之路

一位女军官的 Linux 探索之路

一些新的 GNU/Linux 用户很清楚 Linux 不是 Windows,但其他人对此则不甚了解,而最好的发行版设计者们则会谨记着这两种人的存在。
Python 学习:urllib 简介

Python 学习:urllib 简介

Python 3 的 urllib 模块是一堆可以处理 URL 的组件集合。如果你有 Python 2 的知识,那么你就会注意到 Python 2 中有 urllib 和 urllib2 两个版本的模块。这些现在都是 Python 3 的 urllib 包的一部分。
awk 系列:如何使用 awk 内置变量

awk 系列:如何使用 awk 内置变量

在本节中,我们将介绍 awk 内置(built-in)变量的概念。你可以在 awk 中使用两种类型的变量,它们是:用户自定义(user-defined)变量(我们在第八节中已经介绍了)和内置变量。
Linux 下的密码管理器:Keeweb

Linux 下的密码管理器:Keeweb

我将在本文中介绍 Keeweb,它是一款 Linux 密码管理器,可以为你安全地存储所有的密码,无论是离线还是在线。
Drupal、IoT 和开源硬件之间的交集

Drupal、IoT 和开源硬件之间的交集

IoT 与 Web Service 以及 Drupal 分层趋势实际并没有太大差别。就是将数据从一个东西传送到另一个东西,然后将数据转换成一些有用的东西。
bc : 一个命令行计算器

bc : 一个命令行计算器

bc 工具可以为你提供的功能可以满足你对科学计算器、金融计算器或者是简单计算器的期望。另外,假如需要的话,它还可以从命令行中被脚本化。这使得当你需要做复杂的数学运算时,你可以在 shell 脚本中使用它。
伴随 Linux 成长的职业生涯

伴随 Linux 成长的职业生涯

在使用 Linux 过程中的乐趣和不断进步是在过去的 18 年里一直驱动我的动力。我从 Linux 2.0 内核开始看着它变成现在的这样。
Git 系列(三):建立你的第一个 Git 仓库

Git 系列(三):建立你的第一个 Git 仓库

虽然 Git 确实是被许多重要软件选作版本控制工具,但是并不是仅能用于这些重要软件;它也能管理你购物清单(如果它们对你来说很重要的话,当然可以了!)、你的配置文件、周报或日记、项目进展日志、甚至源代码!
如何用 Python 和 Flask 建立部署一个 Facebook Messenger 机器人

如何用 Python 和 Flask 建立部署一个 Facebook Messenger 机器人

这是我建立一个简单的 Facebook Messenger 机器人的记录。功能很简单,它是一个回显机器人,只是打印回用户写了什么。 回显服务器类似于服务器的“Hello World”例子。 这个项目的目的不是建立最好的 Messenger 机器人,而是让你了解如何建立一个小型机器人和每个事物是如何整合起来的。
Vim 起步的五个技巧

Vim 起步的五个技巧

我使用了这么多年的 Linux ,我会的只是 Vim 的最最基本的操作。我的技能水平只能让我在终端使用 Vim 修改文本,但是它并没有任何一个我想象中强大的文本处理功能。这样我完全无法用 Vim 发挥出胜出 Pico 和 Nano 的能力。
用 VeraCrypt 加密闪存盘

用 VeraCrypt 加密闪存盘

要是你需要在 Windows 系统,苹果的 OS X 系统或者 Linux 系统上加密以及访问文件,开源软件 VeraCrypt 提供绝佳的选择。
在浏览器中体验 Ubuntu

在浏览器中体验 Ubuntu

为了进一步推广 Ubuntu Linux,Canonical 把它放到了浏览器里,你可以在任何地方使用这个 Ubuntu 演示版。 它将帮你更好的体验 Ubuntu,以便让新人更容易决定是否使用它。
JStock:Linux 上不错的股票投资组合管理软件

JStock:Linux 上不错的股票投资组合管理软件

对于我们这些 Linux 爱好者们,我也找到了一些好用的开源投资组合管理工具,用来在 Linux 上管理和跟踪股票的投资组合,这里高度推荐一个基于 java 编写的管理软件 JStock。
Fedora 中的容器技术:systemd-nspawn

Fedora 中的容器技术:systemd-nspawn

systemd 项目认为应当将容器技术变成桌面的基础部分,并且应当和用户的其余系统集成在一起。为此,systemd 提供了 systemd-nspawn,这款工具能够使用多种 Linux 技术创建容器。它也提供了一些容器管理工具。
使用 Python 创建你自己的 Shell (上)

使用 Python 创建你自己的 Shell (上)

我很想知道一个 shell (像 bash,csh 等)内部是如何工作的。于是为了满足自己的好奇心,我使用 Python 实现了一个名为 yosh (Your Own Shell)的 Shell。
LXD 2.0 系列(一):LXD 入门

LXD 2.0 系列(一):LXD 入门

简单地说, LXD 就是一个提供了 REST API 的 LXC 容器管理器。

LXD 最主要的目标就是使用 Linux 容器而不是硬件虚拟化向用户提供一种接近虚拟机的使用体验。

玩转 Windows 10 中的 Linux 子系统

玩转 Windows 10 中的 Linux 子系统

首先,我会展示 WSL 所集成的那些主要命令(比如 ssh)是如何操作服务器和设备的。其次,我会演示使用 Bash 脚本是如何以简明的方式来自动化执行任务的。其三,我会利用极棒的命令行编译器、一些其它工具以及对 *nix 兼容的能力来玩一个轻量级的古典黑客级游戏: NetHack。最后,我会展示如何使用已有的 Python 脚本和其它来自网上的脚本。
如何在 Ubuntu 上搭建网桥

如何在 Ubuntu 上搭建网桥

顾名思义,网桥的作用是通过物理接口连接内部和外部网络。对于虚拟端口或者 LXC/KVM/Xen/容器来说,这非常有用。网桥虚拟端口看起来是网络上的一个常规设备。
IT 运行在云端,而云运行在 Linux 上

IT 运行在云端,而云运行在 Linux 上

IT 正在逐渐迁移到云端。那又是什么驱动了云呢?答案是 Linux。 当连微软的 Azure 都开始拥抱 Linux 时,你就应该知道这一切都已经改变了。
Linus Torvalds 是一个糟糕的老板吗?

Linus Torvalds 是一个糟糕的老板吗?

因为 Linus Torvalds 的管理风格,他正遭到严厉的炮轰。Linus 无法忍受胡来的人。“代码的质量有多好?”这是他在 Linux 内核的开发过程中评判人的一种方式。
用 Python、 RabbitMQ 和 Nameko 实现微服务

用 Python、 RabbitMQ 和 Nameko 实现微服务

"微服务是一股新浪潮" - 现如今,将项目拆分成多个独立的、可扩展的服务是保障代码演变的最好选择。在 Python 的世界里,有个叫做 “Nameko” 的框架,它将微服务的实现变得简单并且强大。
用树莓派计算模块搭建的工业单板计算机

用树莓派计算模块搭建的工业单板计算机

在 Kickstarter 众筹网站上,一个叫 “MyPi” 的项目用树莓派计算模块制作了一款 SBC(单板计算机, Single Board Computer ),提供一个 mini-PCIe 插槽,串口,宽范围输入电源,以及模块扩展等功能。
用 Netdata 监控 Linux

用 Netdata 监控 Linux

Netdata 是一个实时的资源监控工具,它拥有基于 web 的友好界面。它很像 Nagios 等别的监控软件;但是,Netdata 仅仅支持通过 Web 界面进行实时监控。
微软和 SUSE Linux 宣布在公有云方面达成新的合作

微软和 SUSE Linux 宣布在公有云方面达成新的合作

今天,这个软件巨人宣布了和 SUSE Linux 的新的合作关系,以延续他们在公有云服务方面的合作,这是这两个公司在今年发布的首次公告。 新的合作关系更新了一些条款和承诺,但是暂时还未对外公布细节。
DistroWatch 评估 XStream 桌面 153 版本

DistroWatch 评估 XStream 桌面 153 版本

XStreamOS 是一个由 Sonicle 创建的 Solaris 的一个版本。XStream 桌面将 Solaris 的强大带给了桌面用户,同时新手用户很可能有兴趣体验一下。
Linux 开发者如何看待 Git 和 Github?

Linux 开发者如何看待 Git 和 Github?

Git 和 Github 在 Linux 开发者中有很高的知名度。但是开发者如何看待它们呢?另外,Github 是不是真的和 Git 是一个意思?一个 Linux reddit 用户最近问到了这个问题,并且得到了很有意思的答案。
在 Linux 上管理加密密钥的最佳体验

在 Linux 上管理加密密钥的最佳体验

存储 SSH 的加密秘钥和记住密码一直是一个让人头疼的问题。但是不幸的是,在当前这个充满了恶意黑客和攻击的世界中,基本的安全预防是必不可少的。
在 Linux 下使用任务管理器

在 Linux 下使用任务管理器

当你刚使用 Linux 的时候,你也会寻找一个在 Linux 相当于任务管理器的一个东西。一个 Linux 使用专家更喜欢使用命令行的方式查找进程和消耗的内存等等,但是你不用必须使用这种方式,至少在你初学 Linux 的时候。
Securi-Pi:使用树莓派作为安全跳板

Securi-Pi:使用树莓派作为安全跳板

简而言之,我把家中的树莓派设置成了一个 OpenVPN 的端点和 SSH 端点,同时也是一个 Apache 服务器,所有这些服务都监听在 443 端口上,以便可以限制我不想暴露的网络服务。
大量 Redis 服务器存在 SSH 权限窃取风险

大量 Redis 服务器存在 SSH 权限窃取风险

当你把无安全验证的 Redis 服务器暴露在互联网上,任何人都可以在其上的 authorized_keys 文件中存储 SSH 密钥——这意味着,攻击者将不需要任何密码即可取得 Redis 服务器上的 SSH 访问权限。
把你的旧笔记本变成 Chromebook

把你的旧笔记本变成 Chromebook

你可以轻松地将你的旧笔记本或电脑转换成强大的 Chromebook。我在一台 Dell Mini 和一台 2009 年购买的 Dell 笔记本上进行了尝试。那两台设备都在吃灰,而且本来注定是要被回收的,因为现代的操作系统和桌面环境,比如 Unity,Plasma 以及 Gnome 它们跑不动。
构建在开源之上的商业软件市场持续成长

构建在开源之上的商业软件市场持续成长

有很多客户想要利用开源项目的优势,而又不想建立和支持一支工程师队伍来调整那些开源项目以满足自己的需求。这些客户愿意为开源项目和在这之上的专有特性之间的差异付费。
如何在 Ubuntu 15.04/CentOS 7 中安装 Lighttpd Web 服务器

如何在 Ubuntu 15.04/CentOS 7 中安装 Lighttpd Web 服务器

Lighttpd 是一款开源 Web 服务器软件。Lighttpd 安全快速,符合行业标准,适配性强并且针对高配置环境进行了优化。相对于其它的 Web 服务器而言,Lighttpd 占用内存更少;因其对 CPU 占用小和对处理速度的优化而在效率和速度方面从众多 Web 服务器中脱颖而出。
ReactOS 新手指南

ReactOS 新手指南

ReactOS 是一个比较年轻的开源操作系统,它提供了一个和 Windows NT 类似的图形界面,并且它的目标也是提供一个与 NT 功能和应用程序兼容性差不多的系统。
全球 Linux 桌面份额勇破 2% !

全球 Linux 桌面份额勇破 2% !

据市场调研机构的数据,在刚刚过去的六月份,Linux 桌面的全球市场份额突破了 2%——如果笔者没有记错的话,这是有史以来第一次达到 2%。
Ruby on Rails 5.0 发布

Ruby on Rails 5.0 发布

这是由数百位贡献者,历经上千次的提交而达成的一个新的里程碑,Rails 5.0 无疑是迄今为止最好、最完善的 Rails 版本。 经过了这么久的发展,社区依然具有如此活力,感谢每一位帮助过我们的人们!
与 Linux 一同驾车奔向未来

与 Linux 一同驾车奔向未来

人们已经对汽车改装了许多年,所以对于许多人来说,在汽车上修修改改是自热而然的做法。对于汽车来说,软件是一个新的领域,希望能为对汽车和开源软件有兴趣的人打开这扇门。
vlock – 一个锁定 Linux 用户虚拟控制台或终端的好方法

vlock – 一个锁定 Linux 用户虚拟控制台或终端的好方法

vlock 是一个用于锁定一个或多个用户虚拟控制台用户会话的工具。在多用户系统中 vlock 扮演着重要的角色,它让用户可以在锁住自己会话的同时不影响其他用户通过其他虚拟控制台操作同一个系统。必要时,还可以锁定所有的控制台,同时禁止在虚拟控制台间切换。
用 Docker 创建 serverless 应用

用 Docker 创建 serverless 应用

serverless 是指将你的应用程序按功能来部署,这些功能在被用到时才会启动。你不用费心去管理服务器和程序规模,因为它们会在需要的时候在一个集群中启动并运行。