深入实时 Linux (linux.cn)
实时 Linux(RTL)是一种启用 PREEMPT_RT 的主线 Linux,在过去十年中已经走了很长的路。大约 80% 的确定性的 PREEMPT_RT 补丁现在可用于主线内核本身。然而,Linux 上单内核 RTL 的最强大的替代品——双内核 Xenomai——继续声称在减少延迟上有巨大的优势。在去年 10 月的 欧洲嵌入式 Linux 会议的演讲中,Jan Altenberg 反驳了这些声明,同时对实时主题做了论述。
by @技术头条 2017-08-21 13:51 查看详情
Linux Bash 提示符的一些骚操作 (linux.cn)
一些能让你自定义 Bash 提示符的黑科技

当你在 Linux 环境下打开一个 Shell 终端时,会看到命令行中出现了类似下面的一个 Bash 提示符:
[user@$host ~]$

你知道命令行提示符其实是可以自己设置添加许多非常有用的信息的吗?在这篇文章中我就会教你如何自定义自己的 Bash 命令行提示符,想看的话就接着看吧~
by @技术头条 2017-08-21 13:51 查看详情
拯救者 Linux:我是如何给我的团队引入 Linux 的 (linux.cn)
在项目早期就遇到公开的失败后,一个著名大学的 IT 团队决定将他们的 web 注册系统部署到 Linux上,此举几乎将服务器的最大用户访问量提高了 3 倍.
by @技术头条 2017-08-21 13:46 查看详情
这些装备为我强力驱动 (xuexb.com)
其实很早以前我就注重我的装备, 也曾写过一篇 我是这样提高自己的效率 文章介绍, 但里面只是一笔带过, 这里就详细的描述下我如何使用我的装备让自己效率更高、更舒服, 因为我一天60%的时候都是在代码上, 那何不让自己更舒服呢?
by @技术头条 2017-08-21 13:46 查看详情
一键制作自适应等比缩放的雪碧图帧动画 (www.alloyteam.com)
雪碧图并不陌生,将多张图片合在一起来减少请求数,从而提升网站的性能。在你的网站未支持 HTTP2 前,还是值得这么处理。

为了适应不同的设备分辨率,一般会做几套不同大小的图去适配,那如何用一套图来自适应缩放呢?

本文对等比缩放的雪碧图动画的原理进行分步讲解,并使用 gka 进行一键生成。
by @技术头条 2017-08-21 13:44 查看详情
HTML5 file API加canvas实现图片前端JS压缩并上传 (www.zhangxinxu.com)
很多网站的图片上传功能都会对图片的大小进行限制,尤其是头像上传,限制5M或者2M以内是非常常见的。然后现在的数码设备拍摄功能都非常出众,一张原始图片超过2M几乎是标配,此时如果用户想把手机或相机中的某个得意图片上传作为自己的头像,就会遇到因为图片大小限制而不能上传的窘境,不得不对图片进行再处理,而这种体验其实非常不好的。如果可以在前端进行压缩,就不会有这种尺寸限制的问题,自然用户体验就可以大大提升,非常具有价值!
by @技术头条 2017-08-21 13:43 查看详情
ss:查看网络连接的另一种方法 (linux.cn)
在之前的文章中,我提到过 ss,它是 iproute2 包附带的另一个工具,允许你查询 socket 的有关统计信息。可以完成 netstat 同样的任务,但是,ss 稍微快一点而且命令更简短。

直接输入 ss,默认会显示与 netstat 同样的内容,并且输入类似的参数可以获取你想要的类似输出。
by @技术头条 2017-08-21 13:43 查看详情
教你如何比谷歌搜索更快速有效地利用 man (linux.cn)
我们通常通过 google 来查询 Linux 中的命令说明,但是其实还有一个更好的办法:那就是通过 Linux 自带的 man 帮助页来查询命令详尽完整的使用说明。

man 页面的历史本身比 Linux 还长,可以追溯到 Unix 早期那个年代。通过这个 Wikipedia 可以知道,Dennis Ritchie 和 Ken Thompson 在 1971 年写了第一个 man 帮助页,那个年代的计算器使用的还是像烤箱一样的计算机,个人电脑还未出世。man 帮助页也有它自己的一套设计精炼的语法,和 Unix 与 Linux 一样,man 帮助页也不是一成不变的,它就像 Linux 内核一样不停地发展更新。
by @技术头条 2017-08-21 13:43 查看详情
GPL 没落了吗? (linux.cn)
不久之前我看到了 RedMonk 的 Stephen O'Grady 发了一个关于开源协议的有趣的推特,那个推特里面有这张图。

这张图片显示了从 2010 到 2017 年间各种开源协议之间的使用率的变化。在这张图片里,显然 GPL 2.0 —— 最纯净的 copyleft 协议之一 —— 的使用率降低了一多半。该图表表明,开源项目中 MIT 协议和 Apache 协议开始受欢迎。GPL 3.0 的使用率也有所上涨。
这些意味着什么?

为什么 GPL 2.0 的使用率跌的这么多但是 GPL 3.0 仅仅是涨了一丁点?为什么 MIT 协议和 Apache 协议的使用率涨了那么多?

当然,有很多原因可以解释这件事情,但是我想这是因为商业开源项目的增多,以及商业社会对于 GPL 协议的担心导致的,我们细细掰扯。
by @技术头条 2017-08-21 13:41 查看详情
高级元编程指南:创建一个Ruby DSL (www.itran.cc)
在这篇文章,你将会学习到什么是领域特定语言,什么时候应该使用它们,以及如何使用Ruby的高级元编程技术创建你自己专属的DSL。
by @技术头条 2017-08-21 13:41 查看详情
Mysql中使用JDBC流式查询避免数据量过大导致OOM (ifeve.com)
java 中MySQL JDBC 封装了流式查询操作,通过设置几个参数,就可以避免一次返回数据过大导致 OOM。
by @技术头条 2017-08-21 13:40 查看详情
使用 Kdump 检查 Linux 内核崩溃 (linux.cn)
让我们先看一下 kdump 的基本使用方法,和 kdump/kexec 在内核中是如何实现。

kdump 是获取崩溃的 Linux 内核转储的一种方法,但是想找到解释其使用和内部结构的文档可能有点困难。在本文中,我将研究 kdump 的基本使用方法,和 kdump/kexec 在内核中是如何实现。

kexec 是一个 Linux 内核到内核的引导加载程序,可以帮助从第一个内核的上下文引导到第二个内核。kexec 会关闭第一个内核,绕过 BIOS 或固件阶段,并跳转到第二个内核。因此,在没有 BIOS 阶段的情况下,重新启动变得更快。

kdump 可以与 kexec 应用程序一起使用 —— 例如,当第一个内核崩溃时第二个内核启动,第二个内核用于复制第一个内核的内存转储,可以使用 gdb 和 crash 等工具分析崩溃的原因。
by @技术头条 2017-08-21 13:40 查看详情
【死磕Java并发】—–J.U.C之阻塞队列:PriorityBlockingQueue (cmsblogs.com)
我们知道线程Thread可以调用setPriority(int newPriority)来设置优先级的,线程优先级高的线程先执行,优先级低的后执行。而前面介绍的ArrayBlockingQueue、LinkedBlockingQueue都是采用FIFO原则来确定线程执行的先后顺序,那么有没有一个队列可以支持优先级呢? PriorityBlockingQueue 。

PriorityBlockingQueue是一个支持优先级的无界阻塞队列。默认情况下元素采用自然顺序升序排序,当然我们也可以通过构造函数来指定Comparator来对元素进行排序。需要注意的是PriorityBlockingQueue不能保证同优先级元素的顺序。
by @技术头条 2017-08-21 13:39 查看详情
Linux PID 1 和 Systemd (coolshell.cn)
要说清 Systemd,得先从Linux操作系统的启动说起。Linux 操作系统的启动首先从 BIOS 开始,然后由 Boot Loader 载入内核,并初始化内核。内核初始化的最后一步就是启动 init 进程。这个进程是系统的第一个进程,PID 为 1,又叫超级进程,也叫根进程。它负责产生其他所有用户进程。所有的进程都会被挂在这个进程下,如果这个进程退出了,那么所有的进程都被 kill 。如果一个子进程的父进程退了,那么这个子进程会被挂到 PID 1 下面。
by @技术头条 2017-08-21 13:38 查看详情
NoSQL: 如何在 Ubuntu 16.04 上安装 OrientDB (linux.cn)
通常在我们提及数据库的时候,想到的是两个主要的分类:使用用于用户和应用程序之间进行对接的一种被称为结构化查询语言(Structured Query Language ,缩写 SQL)的关系型数据库管理系统(Relational Data base Management System,缩写 RDBMS) 以及非关系型数据库管理系统(non-relational database management systems 或称 NoSQL 数据库)。

这两种模型在如何处理(存储)数据的方面存在着巨大的差异。
by @技术头条 2017-08-21 13:37 查看详情
深度学习(Deep Learning)发展史 (linux.cn)
本文节选自人民邮电出版社最新出版的 AI 圣经《深度学习(DEEP LEARNING)》。《深度学习(DEEP LEARNING)》英文版由美国麻省理工学院 MIT 出版社于 2016 年 12 月推出,一经出版就风靡全球。《深度学习(DEEP LEARNING)》的一大特点是介绍深度学习算法的本质,脱离具体代码实现给出算法背后的逻辑,不写代码的人也完全可以看。

由深度学习领域三位前沿、权威的专家 Ian Goodfellow、Yoshua Bengio 和 Aaron Courville 合著的人工智能领域的圣经、长期位居美国亚马逊人工智能类图书榜首的《深度学习(DEEP LEARNING)》中文版上市,为国内火热的人工智能大潮再添一把火。
by @技术头条 2017-08-21 13:36 查看详情
为什么你应该成为一名系统管理员? (linux.cn)
网络和系统管理工作工资高、岗位多。

为什么你应该成为一名系统管理员

我们为秩序而战,而服务器大叔则需要你成为系统管理员。

这是个很好的机会,因为你已经管理过你有的那些系统,你本可以不需酬劳地管理那些日逐一日地运行的系统。但还是有一些面试官,愿意拿一笔很不错的薪水来找一些人去管理他们的系统。目前,系统和网络管理的失业率几乎为零,但是美国劳工统计局估计到 2024 年该领域将持续 9% 的增长。

你可能会问,自动化运维怎么样?大概你已经听一些系统管理员说过,他们打算如何来自动化他们所有的工作,或者,他们如何在一个 shell 脚本里自动化完成他们前任者的工作。你听过的有多少成功的?自动化了某个任务,就会有更多的东西需要自动化。

如果你参加过系统管理者会议或观看过他们的视频,你会发现这是一个需要新鲜血液的领域。不仅仅是明显的缺少年轻人,而且相当地性别和种族不平等。虽然有点儿跑题,但是多样性已经被证明可以提高系统管理员非常感兴趣的自我恢复力、解决问题的能力,创新力和决策力。
by @技术头条 2017-08-21 13:35 查看详情
一次由于MTU设置不当导致的网络访问超时 (www.bo56.com)
现象 Server A 调用本机的接口,能正常返回。调用Server B的接口,总是超时。被调用接口是能正常执行的,而且有执行日志记录。 Server C 调用Server B的接口也能正常返回。 分析 根据以上,基本可以排除是Server B接口服务的问题导 …
by @技术头条 2017-08-21 13:35 查看详情
LXD 2.15 中的存储管理 (linux.cn)
长久以来 LXD 已经支持多种存储驱动。用户可以在 zfs、btrfs、lvm 或纯目录存储池之间进行选择,但他们只能使用单个存储池。一个被频繁被提到的需求是不仅支持单个存储池,还支持多个存储池。这样,用户可以维护一个由 SSD 支持的 zfs 存储池用于 I/O 密集型容器,另一个简单的基于目录的存储池用于其他容器。幸运的是,现在这是可能的,因为 LXD 在几个版本后有了自己的存储管理 API。
by @技术头条 2017-08-16 12:31 查看详情
API设计原则 (coolshell.cn)
Qt的设计水准在业界很有口碑,一致、易于掌握和强大的API是Qt最著名的优点之一。此文既是Qt官网上的API设计指导准则,也是Qt在API设计上的实践总结。虽然Qt用的是C++,但其中设计原则和思考是具有普适性的(如果你对C++还不精通,可以忽略与C++强相关或是过于细节的部分,仍然可以学习或梳理关于API设计最有价值的内容)。整个篇幅中有很多示例,是关于API设计一篇难得的好文章。
需要注意的是,这篇Wiki有一些内容并不完整,所以,可能会有一些阅读上的问题,我们对此做了一些相关的注释。
by @技术头条 2017-08-16 12:30 查看详情