编程

罗马数字和 Bash

复古编程罗马数字转换器带来的乐趣——我回到大学时代,重新解决我的家庭作业!我在计算机科学的黎明时期获得了计算机科学学士学位。好吧,也许没有那么久远,但我们在课堂上确实讨论了 Ada 和 FORTRAN。然而,作为 UCSD 的校友,UCSD Pascal 是首选编程语言也就不足为奇了。别担心;我的教育经历中没有涉及穿孔卡片和纸带。

使用 Bash 规范化文件名和数据

URLify:将字母序列转换为具有十六进制等效值的安全 URL。这是我的第 155 篇专栏文章。这意味着我为 Linux Journal 写作的时间是:$ echo "155/12" | bc 12 不,等等,这不对。让我们再试一次

Linux Journal 2018年10月刊:编程

欢迎来到 Linux Journal 2018年10月刊“编程”特辑。本月,我们重点介绍新旧编程语言,包括 Go、Rust、Clojure 和 Bash。看看本月的完整阵容:本期特色文章包括:* 理解 Bash:编程要素 * Rust 入门:文件操作和文件 I/O * Go 编程入门教程 * 使用 Clojure 创建 Linux 命令行工具

编写更简洁的 Bash 代码

在任何编程语言中,都可以使用一些从手册中可能不明显的惯用法。通常,这些语言用法代表了使您的代码更紧凑(例如,需要更少的代码行)的方法。当然,有些人会避开这些惯用法,认为它们代表不良风格。当然,风格是仁者见仁智者见智的,本文并非旨在定义好或坏的风格。因此,对于那些可能想以风格为由发表评论的人,我将(重新)将您的注意力转移到 /dev/null。

使用 Bash 创建记忆力游戏 PAIRS

探索使用 Bash 编写配对记忆游戏和一维数组的细微之处。我一直是鲁德亚德·吉卜林的粉丝。他写了一些很棒的小说和故事,大多是关于英国殖民时代的印度。在我们现代社会政治正确吗?没那么正确,但尽管如此,他的书对读者来说仍然很有趣,并且仍然被认为是那个时代的伟大文学作品。他的作品包括《丛林之书》、《勇敢的船长》、《恰如其分的故事》和《想成为国王的人》等等。

介绍 Python 3.7 的 Dataclasses

Python 3.7 的 dataclasses 减少了类定义中的重复。Python 的新手常常惊讶于完成相当多的工作只需要很少的代码。在可以完成您大部分需求的强大的内置数据结构、处理许多涉及可迭代对象的任务的推导式以及类定义中缺少 getter 和 setter 方法之间,难怪 Python 程序往往比静态编译语言的程序更短。

为 IoT 设备构建语音控制前端

苹果、谷歌和亚马逊正在将语音控制提升到一个新的水平。但是语音控制可以是一个 DIY 项目吗?事实证明,它可以。而且,它并不像您想象的那么难。Siri、Alexa 和 Google Home 都可以将语音命令转换为基本活动,特别是当这些活动仅涉及共享音乐和电影等数字文件时。与家庭自动化的集成也是可能的,尽管可能没有用户期望的那么简单——至少,目前还没有。

LJ 密码生成器工具

助记密码通常很糟糕。字母、数字和标点符号的随机序列更安全——只是不要像《头号玩家》中的笨蛋反派那样写下你的密码!

介绍 PyInstaller

想将 Python 程序分发给没有 Python 的客户吗?PyInstaller 就是答案。如果您习惯于使用编译型语言,那么您需要拥有编程语言的概念,不仅是为了开发,而且是为了运行应用程序,这似乎有点奇怪。仅仅因为程序是用 C 语言编写的,并不意味着您需要 C 编译器才能运行它,对吧?

使用 Golang 备份 GitHub 和 GitLab 仓库

想学习 Golang 并构建一些有用的东西吗?学习如何编写一个工具来备份您的 GitHub 和 GitLab 仓库。GitHub 和 GitLab 是两个流行的 Git 仓库托管服务,用于托管和管理开源项目。它们也已成为内容创作者邀请他人共享和协作而无需设置自己的基础设施的简便方法。

生成好的密码,第二部分

密码。它们是计算机用户的祸根和必要的罪恶,但它们也存在相关的风险和挑战。没有哪个选择是完美的。如果依赖您的记忆力,您最终会一遍又一遍地使用相同的密码。使用像 1Password 这样的密码管理器,您就依赖于其数据库的安全性和可移植性。双因素身份验证?嗯,我可以借用你的手机一分钟吗?

生成好的密码,第一部分

Dave 开始了一种借助 1Password 生成安全密码的新方法。前段时间,我分享了一个脚本概念,它允许您输入帐户的建议密码,并评估它是否非常好(嗯,也许“安全”是描述这组测试的更好词,以确保建议的密码包含大写字母、小写字母、数字和标点符号,使其更难猜测)。

使用 Bash 开发控制台应用程序

作为一名新手软件开发人员,我在选择编程语言时寻找的一件事是:是否有一个库允许我与系统交互以完成任务?如果 Python 没有 Flask,我可能会选择另一种语言来编写 Web 应用程序。出于同样的原因,我已经开始使用 Bash 开发许多(诚然很小的)应用程序。虽然例如 Python 有许多模块可以导入和扩展功能,但 Bash 有数千个命令可以执行各种功能,包括字符串操作、数学计算、加密和数据库操作。在本文中,我将介绍这些功能以及如何在 Bash 应用程序中轻松使用它们。

在 Shell 脚本中随机切换大小写

Dave 总结了 shell 脚本 L33t 生成器 上次,我谈到了非正式地称为 l33t-speak 的东西,这是一系列字母和字母对替换,标志着黑客精英(或黑客精英的某个子集)的行话,因为我很确定真正的计算机安全专家不需要用数字替换元音来听起来很酷和时尚。

更多 L337 翻译

Dave 继续他的 shell 脚本 L33t 翻译器。在我的上一篇文章中,我谈到了黑客和计算机极客的内部行话,被称为“Leet Speak”或简称为“Leet”。当然,那是 Elite 这个词的缩写版本,最好写成 L33T,或者可能是 L337,以达到最终的酷炫效果。但是,嘿,我不评判。

Python 中的多进程

Python 的“multiprocessing”模块感觉像线程,但实际上启动的是进程。许多人在开始使用 Python 时,很高兴听到该语言支持线程。而且,正如我在之前的文章中讨论的那样,Python 确实支持具有易于使用和方便的界面的本机级线程。