Laravel程序员的命令行搜索工具

在过去的几年里,我通过一些面向程序员的工具改进了我的命令行搜索。这些工具可以帮助开发人员在不熟悉的代码库中查找文本文件中的短语和模式,而无需grep的复杂性。 搜索唯一的字符串或关键字是一种很好的方法,可以在不跳入文本编辑器的情况下找到功能所在的位置。我的另一个用途是查找以前通过history运行的命令,并使用类似grep的工具筛选与给定模式匹配的行。 以下是五个命令行搜索工具的列表,如果您对使用命令行查找代码、文本和,不依赖编辑器或IDE就可以快速创建文件。 有些工具是\"nix专用工具,但我列出了一些跨平台、速度惊人的工具!Grep 使用Grep的好处是它几乎可以在您可能使用的任何nix发行版上使用。它的实用程序在许多不同的上下文中都很强大,我将向您展示一些我最喜欢的: p>如果您只想在PHP文件中找到一个短语并输出行号: 1$ grep -RHn --include *.php Controller . ,假设您几天前在控制台中键入了一个命令,但您只记得命令的一部分。您可以通过管道(|)history命令用grep进行搜索: 1$ history | grep \"php artisan\" 您可以通过管道使用本文中列出的所有CLI工具,但我发现我只需要一个简单的grep来过滤历史。一个很好的副作用是,过滤后的结果会在开始时给你一个数字,你可以用它来重新运行命令: 1$ history | grep \"php artisan\"2284php artisan route:list34$ !2845$ php artisan route:listAck Ack是\"一个像grep这样的工具,为程序员优化的。\"默认情况下,它递归搜索(即你的项目),而忽略像.git这样的VCS目录,并且有方便的工具以相同的grep示例为例,我们将在PHP文件中搜索\"Controller\":假设您希望搜索除PHP以外的所有其他类型的文件,那么就可以使用更少的按键来探索代码。每个类型都有一个\"no\"标志: 1$ ack Controller --nophp 您可以通过~/.ackrc文件扩展ack来添加自定义类型,如--php。假设您通常只搜索这样的blade文件:要注册\"blade\"类型,您可以将以下内容添加到一个~/.ackrc文件中,然后上面的搜索将只搜索以blade.php结尾的文件: 以下是您作为Laravel开发人员在~/.ackrc文件: 1# Always use color 2--color 3 4# Ignore PhpStorm and NPM>> 7 8# Add to existing types>1011# Add new types Ack在不同位置查找.ackrc文件,但如果要在没有任何.ackrc文件的情况下运行Ack,请使用--noenv标志。 可以通过运行ack --help-types来验证自定义类型。Ack有大量的文档,可能做了一些我还没有发现的事情。查看man ack了解更多信息或在线查看ack手册。Silver Searcher Silver Searcher是另一个类似于ack的grep替代品,但性能更快。它会忽略在项目的.gitignore文件中找到的文件。 您可以在OS X上用自制软件安装Silver Searcher: 1brew install the_silver_searcher 您使用ag命令运行Silver Searcher: 1$ ag Controller --php 我不会详细介绍ag,但是,如果我想搜索很多文件,我有时会找到ag.Sift Sift是一个grep替代品,它是用Golang构建的,这意味着它在Linux、Windows、OS X和其他平台上广泛可用。它的速度快得离谱,而且它有一些很酷的用例,可以替换grep + awk个组合来提取数据。 我建议您查看这些示例,了解sift中的强大功能。 使用我们用于其他工具的基本PHP搜索,下面是在PHP文件中找到\"Controller\"的方法: ***29** RipGrep与Silver Searcher类似,但使用\"GNU grep的原始速度\",它可以在Mac、Linux和Windows上运行。自述文件声称RipGrep通常比其他任何东西都快,兜售Rust的正则表达式引擎,并像Silver Searcher一样尊重.gitignore文件。 下面是使用RipGrep搜索PHP文件以获得\"Controller\"的方法: 1rg> 下一步是什么? Ack是我值得信赖的搜索工具,我想你可以用它来代替grep。我强烈建议您先学习如何使用ack,但这些工具都有独特的功能,使它们具有不同的价值。 如果您需要搜索大量文件(我正在查看您的递归node_modules/文件夹),请使用Silver Searcher、Sift或RipGrep。在大型项目中,ack仍然是一个性能良好的工具,但您会注意到其他工具的速度改进。

CSS无头WordPress到底有多合适?

我想知道无头WordPress会在哪里登陆。\"headless\"指的是只使用WordPress管理,通过WordPress restapi构建面向用户的站点,而不是传统的WordPress主题结构?WordPress的未来?还是相对利基?需求在哪里?当然,对它有需求。我知道很多人都这么做。例如,Gatsby有一个gatsby-source-wordpress插件,它允许您以使用wordpressrestapi的方式从WordPress站点获取内容,并将其缓存为GraphQL,以便在React-power...

日期:2021-06-24 01:15:34 浏览:614

CSS制作带有粘性页眉和页脚的表格变得更容易了

不久前,当我在博客中看到HTML中的粘性页眉和页脚时,一个表同时有粘性页眉和粘性第一列。在它里面,我从来没有在任何、或元素上使用position: sticky,因为即使Safari和Firefox可以做到这一点,Chrome也做不到。但是它可以做表格单元格,比如和,这是一个相当不错的解决办法。好吧,这已经改变了。我通过Twitter听说Chrome在v91中\"重写了表格\"。https://t.co/vTBplXWWtT我看到它掉了下来,升级了,然后做了一个快速测试。嘿,看看有粘性的表格页眉和页脚。@C...

日期:2021-06-24 02:00:01 浏览:933

CSS技巧编年史XXXX

只是我最近做的一些非现场工作的一个小链接汇总。就像我习惯的那样。DevJourney播客#151 Chris Coyier从陶瓷到CSS技巧和代码笔\"Chris带我们从玩他的第一个C64到他的陶瓷文学学士,再回到web开发。我们讨论了他在这一过程中的不同立场,以及他们是如何缓慢但肯定地引导他走向web开发的。我们浏览了CSS技巧的创造和娱乐,在开放中学习,以及美好的一天是什么样子。Podrocket Podcast火箭手术:Kaelan和Chris Coyier比较笔记我被要求删除这里嵌入的音频,如果你想...

日期:2021-06-24 02:00:03 浏览:857

CSS使用子资源完整性保护您的网站

当您从外部服务器加载文件时,您相信您请求的内容是您期望的内容。由于您不自己管理服务器,因此您依赖于另一个第三方的安全性,从而增加了攻击面。信任第三方并不是天生的坏事,但它肯定应该在网站安全的背景下加以考虑。一个真实的例子这不是纯粹的理论危险。忽视潜在的安全问题可能而且已经造成严重后果。2019年6月4日,Malwarebytes宣布他们在网站上发现了一个恶意的略读程序NBA.com. 由于Amazon S3存储桶受损,攻击者能够修改JavaScript库以窃取客户的信用卡信息。值得担心的不仅仅是JavaSc...

日期:2021-06-24 02:00:03 浏览:763

CSS联合的可能性

这是首字母缩略词RSS中不是形容词的一个词。非常简单联合更新:Lol这里有两个错误。RSS是首字母缩写而不是首字母缩写,\"Really\"是副词而不是形容词。RSS不仅仅是RSS阅读器。尽管如此,如果我不喜欢RSS阅读器。它是关于把内容放在一种设计成可移植的格式。内容的API并不是一个隐喻,这就是它的字面含义。RSS一直在我的脑海中,因为它就像我的日报,但我敢打赌它并不是人们关注的最高峰,甚至是开发者。尽管如此,它还是受到了一点关注,因为谷歌在androidchrome中引入了一个\"following\...

日期:2021-06-24 03:00:02 浏览:591

CSS在开放细节元素上添加背景

关于元素有一点奇怪,那就是,当它打开时,并不总是100%清楚该元素内部的内容和不内部的内容。我不是说总是重要,或者说它是一个特别难解决的问题,我只是注意到它最近出现在我身上。这里有一个直观的例子:这里的文本在里面,什么不是?这个解决方案是…CSS。把的样式设计得有点独特,这样问题就解决了。即使你希望排版是一样的,或者你不想任何独家风格,直到被打开,这仍然是可能的。使用alpha透明填充,您甚至可以确保更深的嵌套保持清晰。对于只插入内联内容的<详细信息>(如\"spoiler\"UI或其他内容),...

日期:2021-06-24 03:00:04 浏览:756

CSS容器查询的聚宝盆

我不知道是什么原因,但是我的feed在过去的几周里充斥着关于CSS容器查询的文章。有关集装箱查询的热议实际上始于去年12月,当时米丽亚姆•苏珊娜(Miriam Suzanne)发布了一份提案(采纳了大卫•巴隆的提案),但3月底,Una Kravets在推特上发布的一条消息称,他们在chrome://flags的#enable-container-queries旗后投放了Chrome Canary 91.0.4459.0在如此短的时间内,容器查询已经覆盖了如此多的地方,而且规范甚至还不是最终的!我很高兴看到C...

日期:2021-06-24 03:00:04 浏览:912

CSS target=blank

那会不会让你的眼睛有点抽搐?就像…是打字错误。值的开头应该是带有下划线的>。就像…Welp, that\"s correct syntax!In the case of the no-underscore>, the blank部分只是一个名称。可能是任何东西。它可以是>,或者,可能是为了预示这里的目的:>。是一个特殊的关键字,它将在新选项卡中打开链接,每次都打开一个新选项卡。>将在新选项卡中打开第一个单击的链接,但任何共享>的链接都将在新打开的选项卡中打开。我从来不知道这一点!我相信这条微博的解释。我创建...

日期:2021-06-24 04:00:02 浏览:998

CSS查看WCAG 2.5.5以获得更好的目标尺寸

你有没有经历过这样的挫折:试图点击移动设备上的一个按钮却什么也不做,因为目标大小不够大,而且它在你的按键上不起作用?也许你有更大的手指,像我一样,也可能是由于灵活性有限。这是因为我们,即用户,必须与之交互的元素的目标区域越来越小,我们来谈谈如何使其足够大,以便用户能够轻松地与元素交互。如果用户在一个小型手持式触摸屏设备上访问内容,而这个设备的不动产要紧得多,那么这将是一个特别大的问题。成功标准重温我在上一篇涉及WCAG 2.1标准的文章中谈到了成功标准,Label in Name。简言之,WCAG标准是我们...

日期:2021-06-24 04:00:03 浏览:535

CSS Trickz:Netlify随需应变构建器的实验

默认情况下,WordPress站点有一个API。想看看这个网站的最新帖子吗,只是一组特定的数据…JSON格式?给你。Alex Riviere用它做了一个笑话站点。起初,当加载该API客户端时,该站点将fetch。很好,但是如果我们认真考虑一下,它对于访问站点的人来说是非常低效的(也就是说,比服务器呈现的HTML慢),对于API命中率也不是很高。所以,Alex用Netlify函数重新编写了它。然后Netlify函数将从API中fetch(在云中的节点中),并为预呈现的HTML提供服务。这可能更好一些,但正如亚...

日期:2021-06-24 04:00:04 浏览:585