如何在 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 的重…
面向系统管理员的 Bash 指南
使 Bash 工作的更好的技巧。每个行业都有一个该行业的大师们最常使用的工具。 对于许多系统管理员来说,这个工具就是他们的 shell。 在大多数 Linux 和其他类 Unix 系统上,默认的 shell 是 Bash。Bash 是一个相当古老的程序——它起源于 20 世纪 80 年代后…
如何查看 Linux 中所有正在运行的服务
有许多方法和工具可以查看 Linux 中所有正在运行的服务。大多数管理员会在 System V(SysV)初始化系统中使用 service service-name status 或 /etc/init.d/service-name status,而在 systemd 初始化系统中使用 systemctl status service-name。以上命令可…
如何在Linux上使用pbcopy和pbpaste命令
由于 Linux 和 Mac OS X 是基于 *Nix 的系统,因此许多命令可以在两个平台上运行。但是,某些命令可能在两个平台上都没有,比如 pbcopy 和 pbpast。这些命令仅在 Mac OS X 平台上可用。pbcopy 命令将标准输入复制到剪贴板。然后,你可以在任何地方使用 pbpa…
如何在 Git 中重置、恢复,返回到以前的状态
用简洁而优雅的 Git 命令撤销仓库中的改变。使用 Git 工作时其中一个鲜为人知(和没有意识到)的方面就是,如何轻松地返回到你以前的位置 —— 也就是说,在仓库中如何很容易地去撤销那怕是重大的变更。在本文中,我们将带你了解如何去重置、恢复和完全回到…
CSRF(跨站请求伪造)简介
设计 Web 程序时,安全性是一个主要问题。我不是在谈论 DDoS 保护、使用强密码或两步验证。我说的是对网络程序的最大威胁。它被称为 CSRF, 是 Cross Site Request Forgery (跨站请求伪造)的缩写。什么是 CSRF? csrf what is cross site forgery首先,CSRF…
手把手教你配置Linux虚拟机
在上一节 「手把你教你安装Linux虚拟机」 里,我们已经安装好了Linux虚拟机,在这一节里,我们将配置安装好的Linux虚拟机,使其达到可以开发的程度。Ubuntu刚安装完毕之后,还无法进行开发,因为有些环境还未设置好,比如:升级vi到vim,源的更换,等等。在…
手把手教你安装Linux虚拟机
前言作为一名Linux工程师,不管是运维、应用、驱动方向,在工作中肯定会需要Linux环境。想要获得Linux环境,一个办法就是将电脑系统直接换成Linux系统,但我们平常用惯了Windows系统,直接切换为Linux系统或多或少会有很多不方便的地方。另一个比较土豪的办…