2018年5月

Instagram 不需要介绍。它是像 Facebook 和 Twitter 之类的流行社交网络平台之一,它可以公开或私下分享照片和视频给确认过的粉丝。它是由两位企业家 Kevin SystromMike Krieger于 2010 年发起的。2012 年,社交网络巨头 Facebook 收购了 Instagram。Android 和 iOS 设备上可以免费下载 Instagram。我们也可以通过网络浏览器在桌面系统中使用它。而且,最酷的是现在你可以在任何类 Unix 操作系统上的终端中使用 Instagram。你兴奋了吗?那么,请阅读以下内容了解如何在终端上查看你的 Instagram feed。

终端中的 Instagram

首先,按照以下链接中的说明安装 pip3

然后,git clone 它的脚本仓库。

$ git clone https://github.com/billcccheng/instagram-terminal-news-feed.git

以上命令会将 instagram 脚本的内容克隆到当前工作目录中名为 instagram-terminal-news-feed 的目录中。cd 到该目录:

$ cd instagram-terminal-news-feed/

然后,运行以下命令安装它:

$ pip3 install -r requirements.txt

现在,运行以下命令在 Linux 终端中启动 instagram。

$ python3 start.py

输入你的 Instagram 用户名和密码,并直接从终端中浏览你的 Instagram feed。你的 instragram 用户名和密码将仅本地存储在名为 credential.json 的文件中。所以,你不必担心它。你也可以选择不保存默认保存的凭证。

下面是我的 Instagram 页面的一些截图。

请注意,你只能查看你的 feed。你不能关注任何人,喜欢或评论帖子。这只是一个 instagram feed 阅读器。

该项目可在 GitHub 上免费获得,因此你可以查看源代码,改进它,添加更多功能,修复任何 bug。

玩得开心!干杯!!


via: https://www.ostechnix.com/how-to-use-instagram-in-terminal/

作者:SK 选题:lujun9972 译者:geekpi 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

各位 Vim 使用者大家好!今天,我这里有个好消息告诉大家。我会向大家介绍 Vim-anywhere,这是一个简单的脚本,它允许你使用 Vim 编辑器在 Linux 中的任何地方输入文本。这意味着你能简单地调用自己最爱的 Vim 编辑器,输入任何你所想的,并将这些文本粘贴到任意的应用和网站中。这些文本将在剪贴板可用,直到你重启了系统。这个工具对那些喜欢在非 Vim 环境中使用 Vim 键位绑定的人来说十分有用。

在 Linux 中安装 Vim-anywhere

Vim-anywhere 工具可以运行在任何基于 GNOME(或其他衍生品)的 Linux 发行版上。另外,确保你已经安装了下面的依赖。

  • Curl
  • Git
  • gVim
  • xclip

比如,你可以用下面的命令在 Ubuntu 中安装这些工具:

$ sudo apt install curl git vim-gnome xclip

然后运行如下的命令来安装 Vim-anywhere:

$ curl -fsSL https://raw.github.com/cknadler/vim-anywhere/master/install | bash

Vim-anywhere 到此已经安装完成。现在我们来看看如何使用它。

在任何地方使用 Vim 编辑器输入文本

假如你需要创建一个 word 文档。但是你更愿意使用 Vim 编辑器,而不是 LibreOffice。没问题,这里 Vim-anywhere 就派上用场了。Vim-anywhere 自动化了整个流程。它仅仅简单地调用 Vim 编辑器,所以你能写任何你所想的,然后将之粘贴到 .doc 文件中。

让我给你展示一个用例。打开 LibreOffice 或者你选的任何图形文本编辑器。然后打开 Vim-anywhere。你只需要按下 CTRL+ALT+V 即可。它将会打开 gVim 编辑器。按下 i 切换到交互模式然后输入文本。完成之后,键入 :wq 关闭并保存文件。

这些文本会在剪贴板中可用,直到你重启了系统。在你关闭编辑器之后,你之前的应用会重新占据主界面。你只需按下 CTRL+P 将文本粘贴进去。

这仅仅只是一个例子。你甚至可以使用 Vim-anywhere 在烦人的 web 表单或者其他应用上进行输入。一旦 Vim-anywhere 被调用,它将会打开一个缓冲区。关闭 Vim-anywhere 之后,缓冲器内的内容会自动复制到你的剪贴板中,之前的应用会重新占据主界面。

Vim-anywhere 在被调用的时候会在 /tmp/vim-anywhere 中创建一个临时文件。这些临时文件会一致保存着,直到你重启了系统,并为你提供临时的历史记录。

$ ls /tmp/vim-anywhere

你可以用下面的命令重新打开最近的文件:

$ vim $( ls /tmp/vim-anywhere | sort -r | head -n 1 )

更新 Vim-anywhere

运行下面的命令来更新 Vim-anywhere:

$ ~/.vim-anywhere/update

更改快捷键

默认调用 Vim-anywhere 的键位是 CTRL+ALT+V。你可以用 gconf 工具将其更改为任何自定义的键位绑定。

$ gconftool -t str --set /desktop/gnome/keybindings/vim-anywhere/binding <custom binding>

卸载 Vim-anywhere

可能有些人觉得每次打开 Vim 编辑器,输入一些文本,然后将文本复制到其他应用中是没有意义也毫无必要的。

如果你不觉得这个工具有用,只需使用下面的命令来卸载它:

$ ~/.vim-anywhere/uninstall

via: https://www.ostechnix.com/how-to-use-vim-editor-to-input-text-anywhere/

作者:SK 选题:lujun9972 译者:paperzhang 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

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

安装编译器和工具

在 Fedora 中安装编译器或 Java Development Kit(JDK)很容易。在写这篇文章时,可以用 v8 和 v9 版本。只需打开一个终端并输入:

sudo dnf install java-1.8.0-openjdk-devel

这安装 JDK v8。对于 v9,请输入:

sudo dnf install java-9-openjdk-devel

对于需要其他工具和库(如 Ant 和 Maven)的开发人员,可以使用 Java Development 组。要安装套件,请输入:

sudo dnf group install "Java Development"

要验证编译器是否已安装,请运行:

javac -version

输出显示编译器版本,如下所示:

javac 1.8.0_162

编译程序

你可以使用任何基本的文本编辑器(如 nano、vim 或 gedit)编写程序。这个例子提供了一个简单的 “Hello Fedora” 程序。

打开你最喜欢的文本编辑器并输入以下内容:

public class HelloFedora {

      public static void main (String[] args) {
              System.out.println("Hello Fedora!");
      }
}

将文件保存为 HelloFedora.java。在终端切换到包含该文件的目录并执行以下操作:

javac HelloFedora.java

如果编译器遇到任何语法错误,它会发出错误。否则,它只会在下面显示 shell 提示符。

你现在应该有一个名为 HelloFedora 的文件,它是编译好的程序。使用以下命令运行它:

java HelloFedora

输出将显示:

Hello Fedora!

安装集成开发环境(IDE)

有些程序可能更复杂,IDE 可以帮助顺利进行。Java 程序员有很多可用的 IDE,其中包括:

然而,主要用 Java 编写的最流行的开源 IDE 之一是 Eclipse。 Eclipse 在官方仓库中有。要安装它,请运行以下命令:

sudo dnf install eclipse-jdt

安装完成后,Eclipse 的快捷方式会出现在桌面菜单中。

有关如何使用 Eclipse 的更多信息,请参阅其网站上的用户指南

浏览器插件

如果你正在开发 Web 小程序并需要一个用于浏览器的插件,则可以使用 IcedTea-Web。像 OpenJDK 一样,它是开源的并易于在 Fedora 中安装。运行这个命令:

sudo dnf install icedtea-web

从 Firefox 52 开始,Web 插件不再有效。有关详细信息,请访问 Mozilla 支持网站 https://support.mozilla.org/en-US/kb/npapi-plugins?as=u&utm_source=inproduct

恭喜,你的 Java 开发环境已准备完毕。


via: https://fedoramagazine.org/start-developing-java-fedora/

作者:Shaun Assam 选题:lujun9972 译者:geekpi 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

shuf 命令用于在类 Unix 操作系统中生成随机排列。使用 shuf 命令,我们可以随机打乱给定输入文件的行。shuf 命令是 GNU Coreutils 的一部分,因此你不必担心安装问题。在这个简短的教程中,让我向你展示一些 shuf 命令的例子。

带例子的 shuf 命令教程

我有一个名为 ostechnix.txt 的文件,内容如下:

$ cat ostechnix.txt
line1
line2
line3
line4
line5
line6
line7
line8
line9
line10

现在让我们以随机顺序显示上面的行。为此,请运行:

$ shuf ostechnix.txt
line2
line8
line5
line10
line7
line1
line4
line6
line9
line3

看到了吗?上面的命令将名为 ostechnix.txt 中的行随机排列并输出了结果。

你可能想将输出写入另一个文件。例如,我想将输出保存到 output.txt 中。为此,请先创建 output.txt

$ touch output.txt

然后,像下面使用 -o 标志将输出写入该文件:

$ shuf ostechnix.txt -o output.txt

上面的命令将随机随机打乱 ostechnix.txt 的内容并将输出写入 output.txt。你可以使用命令查看 output.txt 的内容:

$ cat output.txt

line2
line8
line9
line10
line1
line3
line7
line6
line4
line5

我只想显示文件中的任意一行。我该怎么做?很简单!

$ shuf -n 1 ostechnix.txt
line6

同样,我们可以选择前 “n” 个随机条目。以下命令将只显示前五个随机条目:

$ shuf -n 5 ostechnix.txt
line10
line4
line5
line9
line3

如下所示,我们可以直接使用 -e 标志传入输入,而不是从文件中读取行:

$ shuf -e line1 line2 line3 line4 line5
line1
line3
line5
line4
line2

你也可以传入数字:

$ shuf -e 1 2 3 4 5
3
5
1
4
2

要快速在给定范围选择一个,请改用此命令:

$ shuf -n 1 -e 1 2 3 4 5

或者,选择下面的任意三个随机数字:

$ shuf -n 3 -e 1 2 3 4 5
3
5
1

我们也可以在特定范围内生成随机数。例如,要显示 1 到 10 之间的随机数,只需使用:

$ shuf -i 1-10
1
9
8
2
4
7
6
3
10
5

有关更多详细信息,请参阅手册页。

$ man shuf

今天就是这些。还有更多更好的东西。敬请关注!

干杯!


via: https://www.ostechnix.com/the-shuf-command-tutorial-with-examples-for-beginners/

作者:SK 选题:lujun9972 译者:geekpi 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

想要实现 DevOps 但是不知道如何开始吗?试试这 5 个最佳实践吧。

 title=

想要采用 DevOps 的人通常会过早的被它的歧义性给吓跑,更不要说更加深入的使用了。当一些人开始使用 DevOps 的时候都会问:“如何开始使用呢?”,”怎么才算使用了呢?“。这 5 个最佳实践是指导你的 DevOps 之旅的很好的路线图。

1、 衡量所有的事情

除非你能够量化输出结果,否则你并不能确认你的努力能否使事情变得更好。新功能能否快速的输出给客户?带给他们的缺陷更少吗?出错了能快速应对和恢复吗?

在你开始做任何修改之前,思考一下你切换到 DevOps 之后想要一些什么样的输出。随着你的 DevOps 之旅,将享受到服务的所有内容的丰富的实时报告,从这两个指标考虑一下:

  • 上架时间 衡量端到端,通常是面向客户的业务经验。这通常从一个功能被正式提出而开始,客户在产品中开始使用这个功能而结束。上架时间不是工程团队的主要指标;更加重要的是,当开发出一个有价值的新功能时,它表明了你完成业务的效率,为系统改进提供了一个机会。
  • 时间周期 衡量工程团队的进度。从开始开发一个新功能开始,到在产品环境中运行需要多久?这个指标对于你了解团队的效率是非常有用的,为团队层面的提升提供了一个机会。

2、 放飞你的流程

DevOps 的成功需要团队布置一个定期(但愿有效)流程并且持续提升它。这不总是有效的,但是必须是一个定期的流程。通常它有一些敏捷开发的味道,就像 Scrum 或者 Scrumban 一样;一些时候它也像精益开发。不论你用的什么方法,挑选一个正式的流程,开始使用它,并且做好这些基础。

定期检查和调整流程是 DevOps 成功的关键,抓住相关演示、团队回顾、每日会议的机会来提升你的流程。

DevOps 的成功取决于大家一起有效的工作。团队的成员需要在一个有权改进的公共流程中工作。他们也需要定期找机会分享从这个流程中上游或下游的其他人那里学到的东西。

随着你构建成功,好的流程规范能帮助你的团队以很快的速度体会到 DevOps 其他的好处

尽管更多面向开发的团队采用 Scrum 是常见的,但是以运营为中心的团队(或者其他中断驱动的团队)可能选用一个更短期的流程,例如 Kanban。

3、 可视化工作流程

这是很强大的,能够看到哪个人在给定的时间做哪一部分工作,可视化你的工作流程能帮助大家知道接下来应该做什么,流程中有多少工作以及流程中的瓶颈在哪里。

在你看到和衡量之前你并不能有效的限制流程中的工作。同样的,你也不能有效的排除瓶颈直到你清楚的看到它。

全部工作可视化能帮助团队中的成员了解他们在整个工作中的贡献。这样可以促进跨组织边界的关系建设,帮助您的团队更有效地协作,实现共同的成就感。

4、 持续化所有的事情

DevOps 应该是强制自动化的。然而罗马不是一日建成的。你应该注意的第一个事情应该是努力的持续集成(CI),但是不要停留到这里;紧接着的是持续交付(CD)以及最终的持续部署。

持续部署的过程中是个注入自动测试的好时机。这个时候新代码刚被提交,你的持续部署应该运行测试代码来测试你的代码和构建成功的加工品。这个加工品经受流程的考验被产出,直到最终被客户看到。

另一个“持续”是不太引人注意的持续改进。一个简单的场景是每天询问你旁边的同事:“今天做些什么能使工作变得更好?”,随着时间的推移,这些日常的小改进融合到一起会带来很大的结果,你将很惊喜!但是这也会让人一直思考着如何改进。

5、 Gherkinize

促进组织间更有效的沟通对于成功的 DevOps 的系统思想至关重要。在程序员和业务员之间直接使用共享语言来描述新功能的需求文档对于沟通是个好办法。一个好的产品经理能在一天内学会 Gherkin 然后使用它以平实的英语构造出明确的描述需求文档,工程师会使用 Gherkin 描述的需求文档来写功能测试,之后开发功能代码直到代码通过测试。这是一个简化的 验收测试驱动开发(ATDD),能够帮助你开始你的 DevOps 文化和开发实践。

开始你旅程

不要自馁哦。希望这五个想法给你坚实的入门方法。

关于作者

Magnus Hedemark - Magnus 在 IT 行业已有 20 多年,并且一直热衷于技术。他目前是 nitedHealth Group 的 DevOps 工程师。在业余时间,Magnus 喜欢摄影和划独木舟。


via: https://opensource.com/article/17/11/5-keys-get-started-devops

作者:Magnus Hedemark 译者:aiwhj 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

开放式领导和耐心、倾听一样重要,它们都是关于执行的。

在我职业生涯的早期,我认为我能做的最重要的事情就是行动。如果我的老板说跳,我的回答是“跳多高?”

但是当我成长为一个领导者和管理者时,我意识到了我能提供的最重要的品质是 耐心 和倾听。耐心和倾听意味着我关注于真正重要的东西。我很果断,所以我会毫不犹豫地行动。然而我了解到,当我考虑来自多个来源的意见,并就我们应该做什么提供建议,而不仅仅是对眼前的请求做出反应时,我的行动更具影响力。

实行开放式领导需要培养耐心和倾听技能,我需要在最佳行动计划上进行合作,而不仅仅是最快的计划。它还为我提供了一些工具,以解释 为什么我会对某人说“不” (或者,也许是“不是现在”),这样我就能以透明和自信的方式领导。

如果你正在进行软件开发和实践 scrum 中,那么下面的观点可能会引起你的共鸣:在 sprint 计划和 sprint 演示中,耐心和倾听经理的表现和它的技能一样重要。(LCTT 译注: scrum 是迭代式增量软件开发过程,通常用于敏捷软件开发。 sprint 计划和 sprint 演示是其中的两个术语。)忘掉它们,你会减少你能够产生的影响。

专注于耐心

专注和耐心并不总是容易的。通常,我发现自己正坐在会议上,用行动项目填满我的笔记本时,我一般会思考:“我们只要做了某事,另外一件事就会得到改善”。然后我记得事物不是那么线性发展的。

我需要考虑可能影响情况的其他因素。暂停下来从多个人和资源中获取数据可以帮我充实策略,以确保组织长期成功。它还帮助我确定那些短期的里程碑,这些里程碑应该可以让我负责生产的业务完成交付。

这里有一个很好的例子,以前耐心不是我认为应该拥有、以及影响我的表现的东西。当我在北卡罗来纳州工作时,我与一个在亚利桑那州的人共事。我们没有使用视频会议技术,所以当我们交谈时我没有看到她的肢体语言。然而当我负责为我领导的项目交付结果时,她是确保我获得足够支持的两个人之一。

无论出于何种原因,当我与她交谈时,当她要求我做某件事时,我做了。她会为我的绩效评估提供意见,所以我想确保她高兴。那时,我还不够成熟不懂得其实没必要非要讨她开心;我的重点应该放在其他绩效指标上。我本应该花更多的时间倾听并与她合作,而不是在她还在说话的时候拿起第一个“行动项目”并开始工作。

在工作六个月后,她给了我一些负面的反馈。 我很生气,很伤心。 我没有做她所要求的一切吗? 我工作了很长时间,每周工作近七天,为期六个月。 她怎么敢批评我的表现?

然后,在我经历了愤怒和悲伤之后,我想到了她说的话,她的反馈很重要。

在 sprint 计划和 sprint 演示中,耐心和倾听经理的表现和它的技能一样重要。

她对这个项目感到担忧,她继续让我负责是因为我是项目的负责人。我们解决了问题,并且我学到了关于如何领导的重要课程:领导力并不意味着“现在就完成”。 领导力意味着制定战略,然后制定沟通和实施支持战略的计划。这也意味着犯错和从这些问题中学习。

经验教训

事后看来,我意识到我可以提出更多的问题来更好地理解她的反馈意图。如果她的指导不符合我收到的其他意见,我也可能会推迟。通过耐心倾听给我的关于项目的各种信息来源,综合我所学到的知识,并创建一个连贯的行动计划,我会成为一个更好的领导者。我也会有更多的目的来推动我正在做的工作。 我不会对单个数据点做出反应,而是会实施一项战略计划。 这样我也会有一个更好的绩效评估。

我最终对她有一些反馈。 下次我们一起工作时,我不想在六个月后听到反馈意见。 我想早些时候和更频繁地听到反馈意见,以便我能够尽早从错误中学习。 关于这项工作的持续讨论是任何团队都应该发生的事情。

当我成为一名管理者和领导者时,我坚持要求我的团队达到相同的标准:计划,执行计划并反思。 重复。 不要让外力造成的麻烦让你偏离你需要实施的计划。 将工作分成小的增量,以便反思和调整计划。 正如 Daniel Goleman 写道:“把注意力放在需要的地方是领导力的一个主要任务。” 不要害怕面对这个挑战。


via: https://opensource.com/open-organization/18/2/open-leadership-patience-listening

作者:Angela Robertson 译者:MjSeven 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出