用于与非 Linux 用户一同工作的 Linux 命令行工具
如果你在 Linux 终端工作,那么与非 Linux 用户一同工作时可能遇到困难。这些工具有助于文档兼容性和企业即时消息。我大部分时间都在使用 Shell(命令行、终端或其它随便什么你使用的平台)上。但是,当我需要与大量其他人合作时,这可能会有点挑战,特别是…
在 Linux 中使用 top 命令的建议
通过这篇教程提升你的 top 命令的知识。尝试找出你的机器正在运行什么程序,以及哪个进程耗尽了内存导致系统非常非常慢 —— 这是 top 命令所能胜任的工作。top 是一个非常有用的程序,其作用类似于 Windows 任务管理器或 MacOS 的活动监视器。在 *nix 机器…
盘点 Python 的目标受众
Python 是为谁设计的?几年前,我在 python-dev 邮件列表中,以及在活跃的 CPython 核心开发人员和认为参与这一过程不是有效利用个人时间和精力的人中强调说,“CPython 的发展太快了也太慢了” 是很多冲突的原因之一。我一直认为事实确实如此,但这也是一…
netdev 第二天:从网络代码中移除“尽可能快”这个目标
嗨!今天是 netdev 会议的第 2 天,我只参加了早上的会议,但它非常有趣。今早会议的主角是 Van Jacobson 给出的一场名为 “从尽可能快中变化:教网卡以时间”的演讲,它的主题是关于互联网中拥塞控制的未来!!!下面我将尝试着对我从这次演讲中学到的东西…
什么数据对于云服务器来说风险很大
在这个关于混合多云陷阱的系列文章的最后一篇当中,让我们来学习一下如何设计一个低风险的云迁移战略。在这四篇系列文章中,我们了解到了每个组织在做云迁移的时候所应该避免的陷阱 —— 特别是混合多云的情况下。在第一部分,我们介绍了一些基本的定义以及…
从零开始学习 Go 语言的切片
这篇文章受到了我与同事讨论使用 切片(slice)作为 栈(stack)的一次聊天的启发。后来话题聊到了 Go 语言中的切片是如何工作的。我认为这些信息对别人也有用,所以就把它记录了下来。数组任何关于 Go 语言切片的讨论都要从另一个数据结构也就是 数组(array)开…
极客漫画:AI 监管
台上某疑似“钢铁侠”正在宣讲“AI 监管”,遭到了群嘲——怒极之下,却暴露出了其原本是一个“AI”。via: http://turnoff.us/geek/ai-regulation作者:Daniel Stori 译者:wxy 合成:Bestony本文由 LCTT 原创编译,Linux中国 荣誉推出
如何在 Linux 中查看系统硬件制造商、型号和序列号
对于 Linux 图形界面用户和 Windows 用户来说获取系统硬件信息都不算问题,但是对命令行用户来说想要获取这些细节时有点儿麻烦。甚至我们中的大多数都不知道获取这些信息最好的命令是什么。Linux 中有许多可用的工具集来获取诸如制造商、型号和序列号等硬件…
包管理器的进化
包管理器在 Linux 软件管理中扮演了重要角色。这里对一些主要的包管理器进行了对比。今天,每个可计算设备都会使用某种软件来完成预定的任务。在软件开发的上古时期,为了找出软件中的“虫”和其它缺陷,软件会被严格的测试。在近十年间,软件被通过互联网…
ArchI0:Arch Linux 应用自动安装脚本
Arch 用户你们好!今天,我偶然发现了一个叫做 “ArchI0” 的实用工具,它是基于命令行菜单的 Arch Linux 应用自动安装脚本。使用此脚本是为基于 Arch 的发行版安装所有必要的应用最简易的方式。请注意此脚本仅适用于菜鸟级使用者。中高级使用者可以轻松掌握…
使用 Kafka 和 MongoDB 进行 Go 异步处理
在我前面的博客文章 “我的第一个 Go 微服务:使用 MongoDB 和 Docker 多阶段构建” 中,我创建了一个 Go 微服务示例,它发布一个 REST 式的 http 端点,并将从 HTTP POST 中接收到的数据保存到 MongoDB 数据库。在这个示例中,我将数据的保存和 MongoDB 分…
UNIX 的怪东西
最近我在用我编写的各种工具做更多 UNIX 下的事情,我遇到了两个有趣的问题。这些都不是 “bug”,而是我没想到的行为。线程安全的 printf我有一个 C 程序从磁盘读取一些图像,进行一些处理,并将有关这些图像的输出写入 STDOUT。伪代码:for(imagefilename…
Linux 下如何通过两个或多个输出设备播放声音
在 Linux 上处理音频是一件很痛苦的事情。Pulseaudio 的出现则是利弊参半。虽然有些事情 Pluseaudio 能够做的更好,但有些事情则反而变得更复杂了。处理音频的输出就是这么一件事情。如果你想要在 Linux PC 上启用多个音频输出,你只需要利用一个简单的工具…
Yaourt 已死!在 Arch 上使用这些替代品
前略:Yaourt 曾是最流行的 AUR 助手,但现已停止开发。在这篇文章中,我们会为 Arch 衍生发行版们列出 Yaourt 最佳的替代品。Arch User Repository (常被称作 AUR),是一个为 Arch 用户而生的社区驱动软件仓库。Debian/Ubuntu 用户的对应类比是 PPA。AUR…
什么是持续集成(CI)/持续部署(CD)?
在软件开发中经常会提到 持续集成(Continuous Integration)(CI)和 持续交付(Continuous Delivery)(CD)这几个术语。但它们真正的意思是什么呢?在谈论软件开发时,经常会提到 持续集成(Continuous Integration)(CI)和 持续交付(Continuous Delivery)(…
VMware下共享文件夹的实现
在进行程序开发的过程中,我们经常要在主机与虚拟机之间传递文件,比如说,源代码位于虚拟机,而在主机下阅读或修改源代码,这里就需要使用到 「共享文件」 这个机制了。本文介绍了两种共享文件夹的实现机制:VMware自带功能及samba服务器。1 VMware自带共…
使用 MQTT 在项目中实现数据收发
从开源数据到开源事件流,了解一下 MQTT 发布/订阅(pubsub)线路协议。去年 11 月我们购买了一辆电动汽车,同时也引发了有趣的思考:我们应该什么时候为电动汽车充电?对于电动汽车充电所用的电,我希望能够对应最小的二氧化碳排放,归结为一个特定的问题…
使用 EduBlocks 轻松学习 Python 编程
EduBlocks 提供了 Scratch 式的图形界面来编写 Python 3 代码。如果你正在寻找一种方法将你的学生(或你自己)从使用 Scratch 编程转移到学习 Python,我建议你了解一下 EduBlocks。它为 Python 3 编程带来了熟悉的拖放式图形用户界面(GUI)。从 Scratch …
netdev 第一天:IPsec!
嗨!和去年一样,今年我又参加了 netdev 会议。(这里是我上一年所做的笔记)。在今天的会议中,我学到了很多有关 IPsec 的知识,所以下面我将介绍它们!其中 Sowmini Varadhan 和 Paul Wouters 做了一场关于 IPsec 的专题研讨会。本文中的错误 100% 都是我…
Mu 入门:一个面向初学者的 Python 编辑器
相识 Mu —— 一个可以使学生学习 Python 更轻松的开源编辑器。Mu 是一个给初学者的 Python 编辑器,它旨在使学习体验更加愉快。它使学生 能够在早期体验成功,这在你学习任何新知识的时候都很重要。如果你曾试图教年轻人如何编程,你会立即把握到 Mu 的重…