Linux DNS 查询剖析(第二部分)
在 Linux DNS 查询剖析 - 第一部分 中,我介绍了:nsswitch/etc/hosts/etc/resolv.confping 与 host 查询方式对比并且发现大多数程序选择要查询的 DNS 服务器时会参考 /etc/resolv.conf 配置文件。这种方式在 Linux 上比较普遍1。虽然我使用了特定的发行版 …
如何用 Python 读取 Outlook 中的电子邮件
从事电子邮件营销, 准入(opt-in)邮箱列表是必不可少的。你可能已经有了准入列表,同时还使用电子邮件客户端软件。如果你能从电子邮件客户端中导出准入列表,那这份列表想必是极好的。我使用一些代码来将 outlook 配置中的所有邮件写入一个临时文件中,现在…
JavaScript 框架对比及案例
在我的上一篇文章中,我试图解释为什么我认为 Hyperapp 是一个 React 或 Vue 的可用替代品,原因是,我发现它易于起步。许多人批评这篇文章,认为它自以为是,并没有给其它框架一个展示自己的机会。因此,在这篇文章中,我将尽可能客观的通过提供一些最小化…
使用 Docker 的用户名字空间功能
用户名字空间(User Namespaces) 于 Docker 1.10 版本正式纳入其中,该功能允许主机系统将自身的 uid 和 gid 映射为容器进程中的另一个 uid 和 gid。这对 Docker 的安全性来说是一项巨大的改进。下面我会通过一个案例来展示一下用户名字空间能够解决的问题,…
如何在 Linux 中切换相同程序的不同版本
几天前,我们曾经讨论如何在不同的 PHP 版本之间进行切换。在那篇文章中,我们使用 update-alternatives 命令实现从一个 PHP 版本切换到另一个 PHP 版本。也就是说,update-alternatives 命令可以将 系统范围(system wide)默认使用的 PHP 版本设置为我们希…
Linux DNS 查询剖析(第一部分)
我经常与虚拟机集群打交道(文1、文2、文3、文4、文5、文6),因此最终花费了大量时间试图掌握 DNS 查询的工作原理。遇到问题时,我只是不求甚解的使用 StackOverflow 上的“解决方案”,而不知道它们为什么有时工作,有时不工作。最终我对此感到了厌倦,决…
使用 Ptrace 去拦截和仿真 Linux 系统调用
ptrace(2)(“ 进程跟踪(process trace)”)系统调用通常都与调试有关。它是类 Unix 系统上通过原生调试器监测被调试进程的主要机制。它也是实现 strace( 系统调用跟踪(system call trace))的常见方法。使用 Ptrace,跟踪器可以暂停被跟踪进程,检查和设…
C指针-这该死的嵌入式学习生涯
01前言-嵌入式入门指导最近在公众号里面收到好几个同学关于嵌入式方面的咨询,再加上在知乎里面陆续推送了好几个嵌入式学习入门的问题,这次想统一整理一下,说说我这些年是如何被嵌入式按在地上摩擦的。 1、那一年夏天 2012年的夏天,我记得很清楚,我和XH…
Linux信号量-老子今天不干了
01前言今天下班的时候,下起了大雨,7点多的时候大家都躲在办公司等雨停,惊讶的是公司一位同事还去人才公园雨中漫步了一圈才回来。我想起刚毕业的那几年,工作的激情非常高,学习也像一个无头的小老虎,刚开始接触安卓,很多东西都不懂,那时候,自己写了…
Android系统充电系统介绍-预防手机充电爆炸
01 前言今天小庹给我发了下面的代码class MyThread implements Runnable{ private int ticket = 5; public void run(){ for (int i=0;i<10;i++) // 这里为什么加了循环 { if(ticket > 0){ System.out.println("ticket = " + ticket--); } }…
重温 wallabag:Instapaper 的开源替代品
这个稍后阅读应用增加了功能,使其成为诸如 Pocket、Paper 和 Instapaper 之类应用的可靠替代品。早在 2014 年,我写了篇关于 wallabag 的文章,它是诸如 Instapaper 和 Pocket 这样的稍后阅读应用的开源替代品。如果你愿意,去看看那篇文章吧。别担心,我…
献给命令行重度用户的一组实用 BASH 脚本
今天,我偶然发现了一组适用于命令行重度用户的实用 BASH 脚本,这些脚本被称为 Bash-Snippets,它们对于那些整天都与终端打交道的人来说可能会很有帮助。想要查看你居住地的天气情况?它为你做了。想知道股票价格?你可以运行显示股票当前详细信息的脚本。…
在 Linux 中如何以人性化的方式显示数据
许多 Linux 命令现在都有使其输出更易于理解的选项。让我们了解一些可以让我们心爱的操作系统更友好的东西。不是每个人都以二进制方式思考,他们不想在大脑中给大数字插入逗号来了解文件的大小。因此,Linux 命令在过去的几十年里不断发展,以更人性化的方…
用于与非 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中国 荣誉推出