如何在 Fedora 上开始 Java 开发

如何在 Fedora 上开始 Java 开发

Java 是世界上最流行的编程语言之一。它广泛用于开发物联网设备、Android 程序、Web 和企业应用。本文将提供使用 OpenJDK 安装和配置工作站的指南。
5 个最佳实践开始你的 DevOps 之旅

5 个最佳实践开始你的 DevOps 之旅

想要采用 DevOps 的人通常会过早的被它的歧义性给吓跑,更不要说更加深入的使用了。当一些人开始使用 DevOps 的时候都会问:“如何开始使用呢?”,”怎么才算使用了呢?“。
强制关闭你的系统的内核模块

强制关闭你的系统的内核模块

一个同学通宵开发了一个名为 “Kgotobed” 的内核模块,它迫使你在特定的时间上床睡觉。也就是说它会强制关闭你的系统。
关于 BPF 和 eBPF 的笔记

关于 BPF 和 eBPF 的笔记

在 BPF 出现之前,如果你想去做包过滤,你必须拷贝所有的包到用户空间,然后才能去过滤它们
Red Hat 的去 Docker 化容器实践

Red Hat 的去 Docker 化容器实践

使用一系列更小、可协同工作的组件替代 Docker。他的战斗口号是“拒绝臃肿的守护进程”,理由是与公认的 Unix 哲学相违背。
在 GitLab CI 中使用 Docker 构建 Go 项目

在 GitLab CI 中使用 Docker 构建 Go 项目

这篇文章是我在 CI 环境(特别是在 Gitlab 中)的 Docker 容器中构建 Go 项目的研究总结。我发现很难解决私有依赖问题(来自 Node/.NET 背景),因此这是我写这篇文章的主要原因。
Dry:一个命令行交互式 Docker 容器管理器

Dry:一个命令行交互式 Docker 容器管理器

Dry 可以给出容器相关的信息,包括对应镜像、容器名称、网络、容器中运行的命令及容器状态;如果运行在 Docker Swarm 中,工具还会给出 Swarm 集群的各种状态信息。
如何使用 npm 管理 NodeJS 包

如何使用 npm 管理 NodeJS 包

在本指南中,我将解释使用 npm 基础知识,例如安装包(本地和全局)、安装特定版本的包、更新、删除和管理 NodeJS 包等等。
递归:梦中梦

递归:梦中梦

递归是很神奇的,但是在大多数的编程类书藉中对递归讲解的并不好。但这种建议是很糟糕的,因为在算法中,递归是一个非常强大的思想。
如何在 Linux 中快速监控多个主机

如何在 Linux 中快速监控多个主机

只要安装了 rwho 实用程序,它将立即快速地监控本地和远程系统。你什么都不用配置!你所要做的就是在要监视的系统上安装 “rwho” 工具。
Pet:一个简单的命令行片段管理器

Pet:一个简单的命令行片段管理器

我们不可能记住所有的命令,对吧?是的。除了经常使用的命令之外,我们几乎不可能记住一些很少使用的长命令。这就是为什么需要一些外部工具来帮助我们在需要时找到命令。
在 Linux 下 9 个有用的 touch 命令示例

在 Linux 下 9 个有用的 touch 命令示例

touch 命令用于创建空文件,也可以更改 Unix 和 Linux 系统上现有文件时间戳。这里所说的更改时间戳意味着更新文件和目录的访问以及修改时间。
假装很忙的三个命令行工具

假装很忙的三个命令行工具

有时候你很忙。而有时候你只是需要看起来很忙,就像电影中的黑客一样。有一些开源工具就是干这个的。
gdb 如何调用函数?

gdb 如何调用函数?

我发现我可以从 gdb 上调用 C 函数。这看起来很酷,因为在过去我认为 gdb 最多只是一个只读调试工具。
查看 Linux 发行版名称和版本号的 8 种方法

查看 Linux 发行版名称和版本号的 8 种方法

如果你加入了一家新公司,要为开发团队安装所需的软件并重启服务,这个时候首先要弄清楚它们运行在什么发行版以及哪个版本的系统上,你才能正确完成后续的工作。
在 Linux 命令行上使用日历

在 Linux 命令行上使用日历

通过 Linux 上的日历,不仅仅可以提醒你今天是星期几。诸如 date、cal、 ncal 和 calendar 等命令可以提供很多有用信息。
一个基于 Arch 的独立 Linux 发行版 MagpieOS

一个基于 Arch 的独立 Linux 发行版 MagpieOS

MagpieOS 非常简单。它基本上是 GNOME3 桌面环境的 Arch。 MagpieOS 还包括一个自定义的仓库,其中包含图标和主题(据称)在其他基于 Arch 的发行版或 AUR 上都没有。
对进程的监视

对进程的监视

对于进程监视我有一些思路。如果你对进程监视如何做的更好有任何建议,请通过评论区告诉我。
开发者的最佳 GNOME 扩展

开发者的最佳 GNOME 扩展

Fedora Magazine 已经介绍了一些很棒的桌面扩展,例如 EasyScreenCast、 gTile 和 OpenWeather ,本文接下来会重点报道这些为开发者而改变的扩展。
Fedora 社区的持续集成

Fedora 社区的持续集成

持续集成(CI) 是为项目的每一项变更运行测试的过程,如同这是新的交付项目一样。如果持续执行,这意味着软件随时可以发布。
初识 Python: global 关键字

初识 Python: global 关键字

在 Python 中,global 关键字允许你修改当前范围之外的变量。它用于创建全局变量并在本地上下文中更改变量。
八种敏捷团队的提升方法

八种敏捷团队的提升方法

在这个列表中,没有项目管理软件,这里不包含清单,也没有与 GitHub 整合,只是几种组织思维和提高团队交流的方法。
Linux 系统中 sudo 命令的 10 个技巧

Linux 系统中 sudo 命令的 10 个技巧

sudo 表示 “superuser do”。 它允许已验证的用户以其他用户的身份来运行命令。其他用户可以是普通用户或者超级用户。然而,大部分时候我们用它来以提升的权限来运行命令。
如何在Linux的终端测试网速

如何在Linux的终端测试网速

学习如何在 Linux 终端使用命令行工具 speedtest 测试网速,或者仅用一条 python 命令立刻获得网速的测试结果。
什么是 Linux “oops”?

什么是 Linux “oops”?

Linux 内核正在盯着你,当它检测到系统上运行的某些东西违反了正常内核行为时,它会关闭系统并发出一个“oops”!
面向企业的最佳 Linux 发行版

面向企业的最佳 Linux 发行版

所有这些可选的 Linux 具有的一个共同点是它们都是企业级 Linux 发行版 —— 所以你可以期待更高程度的功能性,当然还有支持程度。
如何使用 DockerHub

如何使用 DockerHub

在这个 Docker 系列的最后一篇文章中,我们将讲述在 DockerHub 上使用和发布镜像。
为初学者提供的 uniq 命令教程及示例

为初学者提供的 uniq 命令教程及示例

该命令会帮助你轻松地从文件中找到重复的行。它不仅用于查找重复项,而且我们还可以使用它来删除重复项,显示重复项的出现次数,只显示重复的行,只显示唯一的行等。
高级 SSH 速查表

高级 SSH 速查表

所有人都知道 SSH 是一种远程登录工具,然而它也有许多其他用途。
我的冒险旅程之迁移回 Windows

我的冒险旅程之迁移回 Windows

我已经主要使用 Linux 大约 10 年了,而且主要是 Ubuntu。但在最新发布的版本中,我决定重新回到我通常不喜欢的操作系统: Windows 10。
SQL 入门

SQL 入门

使用 SQL 构建一个关系数据库比你想的更容易。
Linux 中的 5 个 SSH 别名例子

Linux 中的 5 个 SSH 别名例子

我们可以用 定义在你的 .bashrc 文件里的别名 或函数来大幅度缩减花在命令行界面(CLI)的时间。但这不是最佳解决之道。最佳办法是在 ssh 配置文件中使用 SSH 别名 。
让我们做个简单的解释器(三)

让我们做个简单的解释器(三)

识别出记号流中的词组的过程就叫做 解析。解释器或者编译器执行这个任务的部分叫做 解析器。解析也称为 语法分析,并且解析器这个名字很合适,你猜的对,就是 语法分析器。
页面缓存:内存和文件之间的那些事

页面缓存:内存和文件之间的那些事

这一篇文章我们将专门去讲这个重要的主题 —— 页面缓存。文件和内存之间的关系常常很不好去理解,而它们对系统性能的影响却是非常大的。
尝试 H2o 做机器学习

尝试 H2o 做机器学习

我最初计划使用 R 来训练我的数据库,但老师建议我使用一个 FOSS 机器学习框架 H2o。
如何在 Ubuntu Linux 上使用 KVM 云镜像

如何在 Ubuntu Linux 上使用 KVM 云镜像

如何下载并使用运行在 Ubuntu Linux 服务器上的 KVM 云镜像?如何在 Ubuntu Linux 16.04 LTS 服务器上无需完整安装即可创建虚拟机?如何在 Ubuntu Linux 上使用 KVM 云镜像?
给初学者的 type 命令教程

给初学者的 type 命令教程

你可以使用 type 命令轻松找出给定的命令是否是别名、shell 内置命令、文件、函数或关键字。另外,你也可以找到命令的实际路径。
在 Debian 9 上使用 Rsyslog 安装一台中央日志服务器

在 Debian 9 上使用 Rsyslog 安装一台中央日志服务器

在 Linux 中,可以配置运行一个 Rsyslog 服务器来中央化管理日志,在流行的服务端—客户端模式中,通过 TCP 或者 UDP 传输协议基于网络来发送日志信息,或者从网络设备、服务器、路由器、交换机、以及其它系统或嵌入式设备中接受生成的日志。
10 个增加 UNIX/Linux Shell 脚本趣味的工具

10 个增加 UNIX/Linux Shell 脚本趣味的工具

shell 脚本可以使用一些 GUI 组件(菜单、警告框、进度条等),你可以控制终端输出、光标位置以及各种输出效果等等。利用下面的工具,你可以构建强壮的、可交互的、对用户友好的 UNIX/Linux bash 脚本。
在 Ubuntu 16.04 上配置 msmtp

在 Ubuntu 16.04 上配置 msmtp

我使用 msmtp 发送来自这个博客的邮件俩通知我评论和更新等。这里我会记录如何配置它通过 Google Apps 帐户发送电子邮件,虽然这应该与标准的 Google 帐户一样。
容器环境中的代理模型

容器环境中的代理模型

我们大多数人都熟悉代理如何工作,但在基于容器的环境中有什么不同?让我们来看看有什么改变。
计算机语言的巨变

计算机语言的巨变

我的上一篇博文《与 C 语言长别离》引来了我的老朋友,一位 C++ 专家的评论。在评论里,他推荐把 C++ 作为 C 的替代品。这是不可能发生的,如果 C++ 代替 C 是趋势的话,那么 Go 和 Rust 也就不会出现了。
六个例子带你入门 size 命令

六个例子带你入门 size 命令

正如你所知道的那样,Linux 中的目标文件或着说可执行文件由多个段组成(比如文本段和数据段)。若你想知道每个段的大小,那么确实存在这么一个命令行工具 —— 那就是 size。
使用 Vagrant 测试 Ansible 剧本

使用 Vagrant 测试 Ansible 剧本

我需要一种简单而迅速的方法来在我的本地笔记本上测试 Ansible 剧本的部署情况,尤其在刚开始写一个新剧本的时候,因为直接部署到生产服务器上不仅特别慢而且风险还很大。
计算机系统进化论

计算机系统进化论

纵观现代计算机的历史,从与系统的交互方式方面,可以划分为数个进化阶段。
如何在 Linux 中查找最大的 10 个文件

如何在 Linux 中查找最大的 10 个文件

当系统的磁盘空间不足时,您可能会使用 df、du 或 ncdu 命令进行检查,但这些命令只会显示当前目录的文件,并不会显示整个系统范围的文件。
gdb 如何工作?

gdb 如何工作?

最近,我使用 gdb 来查看我的 Ruby 程序,所以,我们将对一个 Ruby 程序运行 gdb 。
邮件传输代理(MTA)基础

邮件传输代理(MTA)基础

Linux 系统上的电子邮件是使用 MTA 投递的。你的 MTA 投递邮件到你的系统上的其他用户,并且 MTA 彼此通讯跨越系统投递到全世界。
COPR 仓库中 4 个很酷的新软件

COPR 仓库中 4 个很酷的新软件

COPR 中的软件不受 Fedora 基础设施的支持,或者是由项目自己签名的。但是,它是尝试新的或实验性软件的一种很好的方法。
如何用 Python 解析 HTML

如何用 Python 解析 HTML

用一些简单的脚本,可以很容易地清理文档和其它大量的 HTML 文件。但是首先你需要解析它们。
3 种扩展 Kubernetes 能力的方式

3 种扩展 Kubernetes 能力的方式

你需要扩展 Kubernetes。有三种方法可以做到这一点,从最灵活(但也更困难)到最简单的依次是:使用 Kube 聚合器、使用 API​​ 服务器构建器或创建自定义资源定义(CRD)。
如何搭建“我的世界”服务器

如何搭建“我的世界”服务器

我们将通过一个一步步的、新手友好的教程来向你展示如何搭建一个“我的世界(Minecraft)”服务器。这将会是一个长期的多人游戏服务器,你可以与来自世界各地的朋友们一起玩,而不用在同一个局域网下。
解读 ip 命令展示的网络连接信息

解读 ip 命令展示的网络连接信息

ip 命令可以告诉你很多网络连接配置和状态的信息,但是所有这些词和数字意味着什么? 让我们深入了解一下,看看所有显示的值都试图告诉你什么。
如何使用 GNU Stow 来管理从源代码安装的程序和点文件

如何使用 GNU Stow 来管理从源代码安装的程序和点文件

有时候我们必须从源代码安装程序,因为它们也许不能通过标准渠道获得,或者我们可能需要特定版本的软件。 GNU Stow 是一个非常不错的符号链接工厂(symlinks factory)程序,它可以帮助我们保持文件的整洁,易于维护。
我喜欢 Vue 的 10 个方面

我喜欢 Vue 的 10 个方面

在这篇文章中,我旨在解释为什么 Vue 适合我,为什么在上文中那些我尝试过的框架中选择它。也许你将同意我的一些观点,但至少我希望能够给大家使用 Vue 开发现代 JavaScript 应用一些灵感。
Linux 新用户?来试试这 8 款重要的软件

Linux 新用户?来试试这 8 款重要的软件

即便您不是计算机的新手,刚接触 Linux 时,通常都会面临选择使用应用软件的问题。在数百万 Linux 应用程序中,做起选择来并不轻松。本文中,您将能发现八个重要的 Linux 应用,帮助您快速选择应用程序。
LKRG:用于运行时完整性检查的可加载内核模块

LKRG:用于运行时完整性检查的可加载内核模块

开源社区的人们正在致力于一个 Linux 内核的新项目,它可以让内核更安全。命名为 Linux 内核运行时防护(Linux Kernel Runtime Guard,简称:LKRG),它是一个在 Linux 内核执行运行时完整性检查的可加载内核模块(LKM)。
RStudio IDE 入门

RStudio IDE 入门

用于统计技术的 R 项目是分析数据的有力方式,而 RStudio IDE 则可使这一切更加容易。
GNU GPL 许可证常见问题解答(五)

GNU GPL 许可证常见问题解答(五)

本文由高级咨询师薛亮据自由软件基金会(FSF)的英文原文翻译而成,这篇常见问题解答澄清了在使用 GNU 许可证中遇到许多问题,对于企业和软件开发者在实际应用许可证和解决许可证问题时具有很强的实践指导意义。
如何使用 GNOME Shell 扩展

如何使用 GNOME Shell 扩展

这是一份详细指南,我将会向你展示如何手动或通过浏览器轻松安装 GNOME Shell 扩展(Extension)。
Docker 容器中的老式 DOS BBS

Docker 容器中的老式 DOS BBS

事实证明这是可能的,但很难。我使用了所有三种主要的 DOS 模拟器(dosbox、qemu 和 dosemu)。我让它们都能在 Docker 容器中运行,但有很多有趣的问题需要解决。
Dnsmasq 进阶技巧

Dnsmasq 进阶技巧

今天我们将介绍进阶配置文件管理、如何测试你的配置、一些基础的安全知识、DNS 泛域名、快速 DNS 配置,以及其他一些技巧与窍门。
为初学者介绍的 Linux tee 命令(6 个例子)

为初学者介绍的 Linux tee 命令(6 个例子)

有时候,你会想手动跟踪命令的输出内容,同时又想将输出的内容写入文件,确保之后可以用来参考。如果你想寻找这相关的工具,那么恭喜你,Linux 已经有了一个叫做 tee 的命令可以帮助你。
使用 Showterm 录制和分享终端会话

使用 Showterm 录制和分享终端会话

Showterm 是一个可以非常容易地记录终端会话、上传、分享,并将它们嵌入到任何网页中的工具。一个优点是,你不会有巨大的文件来处理。
Linux 如何成为我的工作

Linux 如何成为我的工作

IBM 工程师 Phil Estes 分享了他的 Linux 爱好如何使他成为了一位开源领袖、贡献者和维护者。
有用的 Bash 快捷键清单

有用的 Bash 快捷键清单

学习更快地使用 BASH 不仅节省了更多时间,也让你因为学到了有用的知识而感到自豪。那么,让我们开始吧。