热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

33KStar?这才是程序员需要的神器。。。

程序员宝藏库:https:gitee.comsharetech_leeCS-Books-Store你想要的,这里都有!作为程序员用的比较多





程序员宝藏库:https://gitee.com/sharetech_lee/CS-Books-Store


你想要的,这里都有!


作为程序员用的比较多的工具是什么?

我觉得搜索引擎绝对能名列前茅。

在开发过程中,总会遇到这样或者那样的问题超出我们自身的知识范围。这些问题可能是编程语言方面的,可能是Linux操作系统方面的,可能是服务部署方面的等等。

当遇到这种问题时,很多同学会选择求助于搜索引擎,懂得懂得,搜索引擎搜出的很多结果要么和问题无关、要么是个大坑。

所以,从事开发工作这么多年,我深刻意识一个道理,能够快速解决问题真的是一项非常突出的本领,哪怕是在借助于互联网的情况下。

话说回来,正是因为寻求问题的道路非常曲折繁琐,因此,网上出现了各种各样的速查表「CheatSheet」,估计有不少同学过去都看到过很多了。

但是,我认为这并没有从效率上彻底解决问题。

今天我在浏览Github时发现一款非常不错的开源工具,真的让我眼前一亮。

img

这款开源工具的名字叫做cheat.sh,目前已经33K+ Star了。

这款工具的简洁是「你唯一需要的速查表」,简单概括,这款工具把知名、权威社区的答案、资料进行了统一汇总,我们只需要这一款工具就可以快速得到最准确、最可靠的答案。

img

它背后的知识来源于tldr、StackOverflow、cheat.sheets等社区或者开源项目。

为了更加清晰的理解它的用处,下面先来看一个示例:

$ curl cht.sh/lua/table+keys
-- lua: retrieve list of keys in a table
local keyset={}
local n=0
for k,v in pairs(tab) do
n=n+1
keyset[n]=k
end
--[[
[ Note that you cannot guarantee any order in keyset. If you want the
[ keys in sorted order, then sort keyset with table.sort(keyset).
[
[ [lhf] [so/q/12674345] [cc by-sa 3.0]
]]

上面执行的curl命令包含下面几个信息:


  • cht.sh:工具名称
  • lua:编程语言
  • table+keys:要查询的问题,多个关键词用加好链接

img

通过这样,它就可以快速在终端下给出问题的答案。

如果你不想要文字描述,只想要「纯净」的答案,还可以通过参数来处理:

$ curl cht.sh/lua/table+keys\?Q
local keyset={}
local n=0
for k,v in pairs(tab) do
n=n+1
keyset[n]=k
end

想必到这里,很多同学都已经知道它的用法了,概括一下这款工具的价值,主要有以下几点:


  • 简洁——它应该只包含你需要的东西,没有杂乱的信息
  • 快速——能够快速得到问题的答案,「所见即所得」
  • 全面——编程语言、操作系统等等,覆盖面非常全
  • 通用——随时随地可用,

可能很多同学还有一丝疑虑,感觉用curl每次都要输入很长的命令,太麻烦。

img

没事,前面只是一个小示例,下面系统的介绍一下如何安装并使用客户端。


安装

方式1:

PATH_DIR="$HOME/bin" # or another directory on your $PATH
mkdir -p "$PATH_DIR"
curl https://cht.sh/:cht.sh > "$PATH_DIR/cht.sh"
chmod +x "$PATH_DIR/cht.sh"

方式二:

curl -s https://cht.sh/:cht.sh | sudo tee /usr/local/bin/cht.sh && sudo chmod +x /usr/local/bin/cht.sh

安装后就可以在终端下使用了。

如果想用交互式命令模式,还需要通过命令sudo apt install rlwrap安装rlwrap。


用法

通过上述命令安装客户端之后,就不用再像前面curl命令那样每次输入很长的命令,可以用更加贴近人为描述的方式查询问题答案。

举几个例子:

$ cht.sh go reverse a list
$ cht.sh python random list elements
$ cht.sh js parse json

这样看,估计很多开发同学都能够懂得它的用法了,「命令+语言+问题」。

可以看看效果:

$ cht.sh python random number
# Try:
from random import randrange
print(randrange(10))
# **Docs:**
# https://docs.python.org/3/library/random.htmlrandom.randrange
#
# [kovshenin] [so/q/3996904] [cc by-sa 3.0]

再尝试一个:

$ cht.sh python matplotlib plot line
# You can directly plot the lines you want by feeding the `plot` command
# with the corresponding data (boundaries of the segments):
#
# `plot([x1, x2], [y1, y2], color='k', linestyle='-', linewidth=2)`
#
# (of course you can choose the color, line width, line style, etc.)
#
# From your example:
import numpy as np
import matplotlib.pyplot as plt
np.random.seed(5)
x = np.arange(1, 101)
y = 20 + 3 * x + np.random.normal(0, 60, 100)
plt.plot(x, y, "o")
# draw vertical line from (70,100) to (70, 250)
plt.plot([70, 70], [100, 250], 'k-', lw=2)
# draw diagonal line from (70, 90) to (90, 200)
plt.plot([70, 90], [90, 200], 'k-')
plt.show()
# ![new chart](https://i.imgur.com/76drc.png)
#
# [gcalmettes] [so/q/12864294] [cc by-sa 3.0]

可以看得出来,它不仅支持编程语言的基本语法,还支持查询语言基础之外的工具包的用法。


IDE+编辑器

前面介绍了它在命令行下的用法,其实,cht.sh更强大的是它不仅支持命令行,它还可以在常用的IDE、编辑器下用。

例如:


  • Vim
  • Emacs
  • Sublime
  • IDEA
  • VS Code
  • IDEA

除此之外,它还是跨平台的,在Windows、Linux、macOS下都可以用。

另外,这款工具在编辑器、IDE下功能更加丰富,甚至可以自动生成代码片段,直接补全答案。

下面看一下效果!

Sublime:

img

IDEA:

img

VS Code:

img

最后再补充一点,在知识方面,它覆盖也非常全,Python、Javascript、Go、C++、Linux、php,我们在开发中遇到的很多问题通过cht.sh都可以快速得到答案!

传送门:

建议大家有空可以多浏览Github,有很多好用的开源免费工具。但是,目前Github上项目多如牛毛,而且刷榜现在也非常严重,想要找到优质的项目变得越来越难。这里,给大家推荐Github上一个非常不错的项目《DevWeekly》,这个项目每周都会精挑细选一些优质的开源项目,涵盖C++、JAVA、Javascript、Python、Go等不同编程语言。此外,还有一些开源工具、优秀的技术文章:

https://github.com/Jackpopc/DevWeekly







推荐阅读
  • YOLOv7基于自己的数据集从零构建模型完整训练、推理计算超详细教程
    本文介绍了关于人工智能、神经网络和深度学习的知识点,并提供了YOLOv7基于自己的数据集从零构建模型完整训练、推理计算的详细教程。文章还提到了郑州最低生活保障的话题。对于从事目标检测任务的人来说,YOLO是一个熟悉的模型。文章还提到了yolov4和yolov6的相关内容,以及选择模型的优化思路。 ... [详细]
  • 本文介绍了Python高级网络编程及TCP/IP协议簇的OSI七层模型。首先简单介绍了七层模型的各层及其封装解封装过程。然后讨论了程序开发中涉及到的网络通信内容,主要包括TCP协议、UDP协议和IPV4协议。最后还介绍了socket编程、聊天socket实现、远程执行命令、上传文件、socketserver及其源码分析等相关内容。 ... [详细]
  • 学习SLAM的女生,很酷
    本文介绍了学习SLAM的女生的故事,她们选择SLAM作为研究方向,面临各种学习挑战,但坚持不懈,最终获得成功。文章鼓励未来想走科研道路的女生勇敢追求自己的梦想,同时提到了一位正在英国攻读硕士学位的女生与SLAM结缘的经历。 ... [详细]
  • 开发笔记:加密&json&StringIO模块&BytesIO模块
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了加密&json&StringIO模块&BytesIO模块相关的知识,希望对你有一定的参考价值。一、加密加密 ... [详细]
  • Centos7.6安装Gitlab教程及注意事项
    本文介绍了在Centos7.6系统下安装Gitlab的详细教程,并提供了一些注意事项。教程包括查看系统版本、安装必要的软件包、配置防火墙等步骤。同时,还强调了使用阿里云服务器时的特殊配置需求,以及建议至少4GB的可用RAM来运行GitLab。 ... [详细]
  • 本文介绍了Hyperledger Fabric外部链码构建与运行的相关知识,包括在Hyperledger Fabric 2.0版本之前链码构建和运行的困难性,外部构建模式的实现原理以及外部构建和运行API的使用方法。通过本文的介绍,读者可以了解到如何利用外部构建和运行的方式来实现链码的构建和运行,并且不再受限于特定的语言和部署环境。 ... [详细]
  • 计算机存储系统的层次结构及其优势
    本文介绍了计算机存储系统的层次结构,包括高速缓存、主存储器和辅助存储器三个层次。通过分层存储数据可以提高程序的执行效率。计算机存储系统的层次结构将各种不同存储容量、存取速度和价格的存储器有机组合成整体,形成可寻址存储空间比主存储器空间大得多的存储整体。由于辅助存储器容量大、价格低,使得整体存储系统的平均价格降低。同时,高速缓存的存取速度可以和CPU的工作速度相匹配,进一步提高程序执行效率。 ... [详细]
  • 使用正则表达式爬取36Kr网站首页新闻的操作步骤和代码示例
    本文介绍了使用正则表达式来爬取36Kr网站首页所有新闻的操作步骤和代码示例。通过访问网站、查找关键词、编写代码等步骤,可以获取到网站首页的新闻数据。代码示例使用Python编写,并使用正则表达式来提取所需的数据。详细的操作步骤和代码示例可以参考本文内容。 ... [详细]
  • SpringBoot整合SpringSecurity+JWT实现单点登录
    SpringBoot整合SpringSecurity+JWT实现单点登录,Go语言社区,Golang程序员人脉社 ... [详细]
  • 开源Keras Faster RCNN模型介绍及代码结构解析
    本文介绍了开源Keras Faster RCNN模型的环境需求和代码结构,包括FasterRCNN源码解析、RPN与classifier定义、data_generators.py文件的功能以及损失计算。同时提供了该模型的开源地址和安装所需的库。 ... [详细]
  • Python使用Pillow包生成验证码图片的方法
    本文介绍了使用Python中的Pillow包生成验证码图片的方法。通过随机生成数字和符号,并添加干扰象素,生成一幅验证码图片。需要配置好Python环境,并安装Pillow库。代码实现包括导入Pillow包和随机模块,定义随机生成字母、数字和字体颜色的函数。 ... [详细]
  • 本文整理了Java中java.lang.NoSuchMethodError.getMessage()方法的一些代码示例,展示了NoSuchMethodErr ... [详细]
  • Python教学练习二Python1-12练习二一、判断季节用户输入月份,判断这个月是哪个季节?3,4,5月----春 ... [详细]
  • 花瓣|目标值_Compose 动画边学边做夏日彩虹
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了Compose动画边学边做-夏日彩虹相关的知识,希望对你有一定的参考价值。引言Comp ... [详细]
  • 很多时候在注册一些比较重要的帐号,或者使用一些比较重要的接口的时候,需要使用到随机字符串,为了方便,我们设计这个脚本需要注意 ... [详细]
author-avatar
n大牙
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有