开源网络方面的职位:创新与机遇的温床
诸如容器、边缘计算这样的技术焦点领域大红大紫,对在这一领域能够整合、协作、创新的开发者和系统管理员们的需求在日益增进。Media
via https://linux.cn/article-9958-1.html
诸如容器、边缘计算这样的技术焦点领域大红大紫,对在这一领域能够整合、协作、创新的开发者和系统管理员们的需求在日益增进。Media
via https://linux.cn/article-9958-1.html
如何确定你的Linux发行版中有没有某个软件包
有时,你可能会想知道如何在你的 Linux 发行版上寻找一个特定的软件包。或者,你仅仅只是想知道安装在你的 Linux 上的软件包有什么版本。Media
via https://linux.cn/article-9960-1.html
有时,你可能会想知道如何在你的 Linux 发行版上寻找一个特定的软件包。或者,你仅仅只是想知道安装在你的 Linux 上的软件包有什么版本。Media
via https://linux.cn/article-9960-1.html
一套有用的 Unix 实用程序
还有更多有用的实用程序没有预装在类 Unix 操作系统中,它们汇集起来构成了 moreutilis 这个日益增长的集合。Media
via https://linux.cn/article-9962-1.html
还有更多有用的实用程序没有预装在类 Unix 操作系统中,它们汇集起来构成了 moreutilis 这个日益增长的集合。Media
via https://linux.cn/article-9962-1.html
使用 Fstransform 转换文件系统
Fstransform 可以几乎以任意组合将 ext2、ext3、ext4、jfs、reiserfs 或 xfs 分区转换成另一类型。更重要的是,它可以直接执行,而无需格式化或复制数据。Media
via https://linux.cn/article-9966-1.html
Fstransform 可以几乎以任意组合将 ext2、ext3、ext4、jfs、reiserfs 或 xfs 分区转换成另一类型。更重要的是,它可以直接执行,而无需格式化或复制数据。Media
via https://linux.cn/article-9966-1.html
为什么我仍然喜欢用 Alpine 在 Linux 终端中发送电子邮件
这个免费的邮件客户端使用直观、易于定制,并且可以在许多操作系统上使用。Media
via https://linux.cn/article-9967-1.html
这个免费的邮件客户端使用直观、易于定制,并且可以在许多操作系统上使用。Media
via https://linux.cn/article-9967-1.html
一个转换花引号的 gawk 脚本
得到我的 awk 秘籍。Media我管理着一个个人网站,用手工编辑网站上的网页。由于网站上的页面并不多,这种方法对我很适合,可以让我对网站代码的细节一清二楚。最近我升级了网站的设计样式,我决定把所有的普通引号都转换成“花引号”,即在打印材料中使用的那种引号:用 “” 来代替 “"。手工修改所有的引号太耗时了,因此我决定将这个转换所有 HTML 文件中引号的过程自动化。不过通过程序或脚本来实现该功能需要费点劲。这个脚本需要知道何时将普通引号转换成花引号,并决定使用哪种引号(LCTT 译注:左引号还是右引号,单引号还是双引号)。有多种方法可以转换引号。Greg Pittman 写过一个 Python 脚本 来修正文本中的花引号。而我自己使用 GNU awk (gawk) 来实现。下载我的 awk 秘籍。免费下载。开始之前,我写了一个简单的 gawk 函数来评估单个字符。若该字符是一个引号,这该函数判断是输出普通引号还是花引号。函数查看前一个字符;若前一个字符是空格,则函数输出左花引号。否则函数输出右花引号。脚本对单引号的处理方式也一样。
via https://linux.cn/article-9969-1.html?utm_source=rss&utm_medium=rss
得到我的 awk 秘籍。Media我管理着一个个人网站,用手工编辑网站上的网页。由于网站上的页面并不多,这种方法对我很适合,可以让我对网站代码的细节一清二楚。最近我升级了网站的设计样式,我决定把所有的普通引号都转换成“花引号”,即在打印材料中使用的那种引号:用 “” 来代替 “"。手工修改所有的引号太耗时了,因此我决定将这个转换所有 HTML 文件中引号的过程自动化。不过通过程序或脚本来实现该功能需要费点劲。这个脚本需要知道何时将普通引号转换成花引号,并决定使用哪种引号(LCTT 译注:左引号还是右引号,单引号还是双引号)。有多种方法可以转换引号。Greg Pittman 写过一个 Python 脚本 来修正文本中的花引号。而我自己使用 GNU awk (gawk) 来实现。下载我的 awk 秘籍。免费下载。开始之前,我写了一个简单的 gawk 函数来评估单个字符。若该字符是一个引号,这该函数判断是输出普通引号还是花引号。函数查看前一个字符;若前一个字符是空格,则函数输出左花引号。否则函数输出右花引号。脚本对单引号的处理方式也一样。
function smartquote (char, prevchar) { # print smart quotes depending on the previous character # otherwise just print the character as-is if (prevchar ~ /\s/) { # prev char is a space if (char == "'") { printf("‘"); } else if (char == "\"") { printf("“"); } else { printf("%c", char); } } else { # prev char is not a space if (char == "'") { printf("’"); } else if (char == "\"") { printf("”"); } else { printf("%c", char); } }}这个 gawk 脚本的主体部分通过该函数处理 HTML 输入文件的一个个字符。该脚本在 HTML 标签内部逐字原样输出所有内容(比如,<html lang="en">)。在 HTML 标签外,脚本使用 smartquote() 函数来输出文本。smartquote() 函数来评估是输出普通引号还是花引号。function smartquote (char, prevchar) { ...}BEGIN {htmltag = 0}{ # for each line, scan one letter at a time: linelen = length($0); prev = "\n"; for (i = 1; i <= linelen; i++) { char = substr($0, i, 1); if (char == "<") { htmltag = 1; } if (htmltag == 1) { printf("%c", char); } else { smartquote(char, prev); prev = char; } if (char == ">") { htmltag = 0; } } # add trailing newline at end of each line printf ("\n");}下面是一个例子:gawk -f quotes.awk test.html > test2.html其输入为:
<!DOCTYPE html><html lang="en"><head> <title>Test page</title> <link rel="stylesheet" type="text/css" href="/test.css" /> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width" /></head><body> <h1><a href="/"><img src="logo.png" alt="Website logo" /></a></h1> <p>"Hi there!"</p> <p>It's and its.</p></body></html>其输出为:
<!DOCTYPE html><html lang="en"><head> <title>Test page</title> <link rel="stylesheet" type="text/css" href="/test.css" /> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width" /></head><body> <h1><a href="/"><img src="logo.png" alt="Website logo" /></a></h1> <p>“Hi there!”</p> <p>It’s and its.</p></body></html>via: https://opensource.com/article/18/8/gawk-script-convert-smart-quotes作者:Jim Hall 选题:lujun9972 译者:lujun9972 校对:wxy本文由 LCTT 原创编译,Linux中国 荣誉推出Media
via https://linux.cn/article-9969-1.html?utm_source=rss&utm_medium=rss
极客漫画:函数式编程的世界
作者巧妙地指出了函数式编程不可变的特点。当你需要改变一个对象的属性的时候……嗯,销毁了再创建一个就是了。Media
via https://linux.cn/article-9970-1.html
作者巧妙地指出了函数式编程不可变的特点。当你需要改变一个对象的属性的时候……嗯,销毁了再创建一个就是了。Media
via https://linux.cn/article-9970-1.html
极客漫画:函数式编程的世界
Media作者巧妙地指出了函数式编程不可变(immultable)的特点。当你需要改变一个对象的属性的时候……嗯,销毁了再创建一个就是了。这里的老板想来份变量(改变全局变量的值),而所谓副作用(side effect),指的是在这种编程范式下,函数内部与外部互动可能会产生运算以外的其他结果,或导致程序出现不可预料的行为。或许,事件驱动的编程范式会好一点……?via: http://turnoff.us/geek/functional-world/作者:Daniel Stori 译者&点评:ItsLucas 校对&合成 :Bestony本文由 LCTT 原创编译,Linux中国 荣誉推出Media
via https://linux.cn/article-9970-1.html?utm_source=rss&utm_medium=rss
Media作者巧妙地指出了函数式编程不可变(immultable)的特点。当你需要改变一个对象的属性的时候……嗯,销毁了再创建一个就是了。这里的老板想来份变量(改变全局变量的值),而所谓副作用(side effect),指的是在这种编程范式下,函数内部与外部互动可能会产生运算以外的其他结果,或导致程序出现不可预料的行为。或许,事件驱动的编程范式会好一点……?via: http://turnoff.us/geek/functional-world/作者:Daniel Stori 译者&点评:ItsLucas 校对&合成 :Bestony本文由 LCTT 原创编译,Linux中国 荣誉推出Media
via https://linux.cn/article-9970-1.html?utm_source=rss&utm_medium=rss
Linux DNS 查询剖析(第三部分)
在第三部分中,我将介绍 NetworkManager 和 dnsmasq,简要说明它们如何影响 DNS 查询。Media
via https://linux.cn/article-9972-1.html
在第三部分中,我将介绍 NetworkManager 和 dnsmasq,简要说明它们如何影响 DNS 查询。Media
via https://linux.cn/article-9972-1.html
全面教程:在 RxJS 中创建流
有些时候,混用响应式和非响应式代码似乎很有用。然后大家就开始热衷流的创造。不论是在编写异步代码或者是数据处理时,流都是一个不错的方案。Media
via https://linux.cn/article-9973-1.html
有些时候,混用响应式和非响应式代码似乎很有用。然后大家就开始热衷流的创造。不论是在编写异步代码或者是数据处理时,流都是一个不错的方案。Media
via https://linux.cn/article-9973-1.html
理解 Python 的 Dataclasses(一)
如果你正在阅读本文,那么你已经意识到了 Python 3.7 以及它所包含的新特性。就我个人而言,我对 Dataclasses 感到非常兴奋,因为我等了它一段时间了。Media
via https://linux.cn/article-9974-1.html
如果你正在阅读本文,那么你已经意识到了 Python 3.7 以及它所包含的新特性。就我个人而言,我对 Dataclasses 感到非常兴奋,因为我等了它一段时间了。Media
via https://linux.cn/article-9974-1.html
基于日出和日落时间自动切换到明/暗 Gtk 主题
如果你在寻找一种基于日出和日落时间自动更改 Gtk 主题的简单方法,请尝试一下 AutomaThemely。Media
via https://linux.cn/article-9976-1.html
如果你在寻找一种基于日出和日落时间自动更改 Gtk 主题的简单方法,请尝试一下 AutomaThemely。Media
via https://linux.cn/article-9976-1.html
Go 编译器介绍
cmd/compile 包含构成 Go 编译器主要的包。编译器在逻辑上可以被分为四个阶段,我们将简要介绍这几个阶段以及包含相应代码的包的列表。Media
via https://linux.cn/article-9977-1.html
cmd/compile 包含构成 Go 编译器主要的包。编译器在逻辑上可以被分为四个阶段,我们将简要介绍这几个阶段以及包含相应代码的包的列表。Media
via https://linux.cn/article-9977-1.html
用 NodeJS 进行 Twitter 情感分析
今天,我会试着让你感受下关于 Twitter 的简单 情感分析,判断这个 Twitter 是正能量、负能量还是中性的。这不会像专业人士所用的那么复杂,但至少,它会让你知道挖掘观念的想法。Media
via https://linux.cn/article-9978-1.html
今天,我会试着让你感受下关于 Twitter 的简单 情感分析,判断这个 Twitter 是正能量、负能量还是中性的。这不会像专业人士所用的那么复杂,但至少,它会让你知道挖掘观念的想法。Media
via https://linux.cn/article-9978-1.html
Python 调试器入门
Python 标准库提供了一个名为 pdb 的调试器。此调试器提供了调试所需的大多数功能,如断点、单行步进、堆栈帧的检查等等。Media
via https://linux.cn/article-9979-1.html
Python 标准库提供了一个名为 pdb 的调试器。此调试器提供了调试所需的大多数功能,如断点、单行步进、堆栈帧的检查等等。Media
via https://linux.cn/article-9979-1.html
MPV 播放器:Linux 下的极简视频播放器
MPV 是一个开源的,跨平台视频播放器,带有极简的 GUI 界面以及丰富的命令行控制。Media
via https://linux.cn/article-9980-1.html
MPV 是一个开源的,跨平台视频播放器,带有极简的 GUI 界面以及丰富的命令行控制。Media
via https://linux.cn/article-9980-1.html