首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

如何使用EvilTree文件搜索正则或关键字匹配的内容

但EvilTree还增加了文件搜索用户提供的关键字或正则表达式的额外功能,而且还支持突出高亮显示包含匹配项的关键字/内容。  ...工具特性  1、当在嵌套目录结构的文件搜索敏感信息时,能够可视化哪些文件包含用户提供的关键字/正则表达式模式以及这些文件文件夹层次结构的位置,这是EvilTree的一个非常显著的优势; 2、“tree...接下来,使用下列命令将该项目源码克隆至本地: git clone https://github.com/t3l3machus/eviltree.git(向右滑动、查看更多)  工具使用样例  样例一...-执行一次正则表达式搜索,/var/www寻找匹配“password = something”的字符串: 样例二-使用逗号分隔的关键字搜索敏感信息: 样例三-使用“-i”参数只显示匹配的关键字/...正则式内容(减少输出内容长度):  有用的关键字/正则表达式模式  搜索密码可用的正则表达式 -x ".{0,3}passw.{0,3}[=]{1}.{0,18}" 搜索敏感信息可用的关键字

4K10

yieldWCF错误使用——99%的开发人员都有可能犯的错误

昨天写了《yieldWCF错误使用——99%的开发人员都有可能犯的错误[上篇]》,引起了一些讨论。...我们一个Console应用编写了如下一段简单的程序:返回类型为IEnumerable的方法GetItems以yield return的方式返回一个包含三个字符串的集合,而在方法开始的时候我们打印一段文字表明定义方法的操作开始执行...Main方法,我们先调用GetItems方法将“集合对象”返回,然后调用其ToArray方法。调用该方法之前我们打印一段文字表明对集合对象进行迭代。...也就是说,一旦我们一个返回类型为IEnumerable或者IEnumerable的方式通过yield return返回集合元素,意味着这个定义方法操作会被“延后执行”——操作的真正执行不是发生在方法调用的时候...错误使用——99%的开发人员都有可能犯的错误[上篇]》中提到的例子,现在来解释为什么针对如下两段代码,前者抛出的异常不能被WCF正常处理,而后者可以。

1.5K90

yieldWCF错误使用——99%的开发人员都有可能犯的错误

这里要说的是另一个问题:对于返回类型为IEnumerable的方法来说,我们可以使用yield return的方式来输出返回集合的元素。...但是如果我们不了解yield 关键字背后的实现机制,很有可能造成很大的问题。 这是一个WCF相关的问题,我想99%的人都有可能会犯这样的错误——即使你对yield了解得非常透彻。...如果category参数提供的字符串为Null或者是空字符串,抛出一个FaultException异常并提示“Invalid Category”,这样客户端输入不合法参数的情况下可以得到错误消息。...,如下所示的是客户端调用服务时指定一个空字符串参数情况下得到的错误。...这实际上就是因为“yield”作祟,不相信的话可以将定义DemoService的GetItems方法替换成如下的定义,即直接返回一个string[]对像。

1.2K90

使用 Babel 将基于 ES6 的 SAP UI5 的代码转译成传统 JavaScript 代码

使用下面的命令行添加依赖: npm install --save-dev @babel/core @babel/cli @babel/preset-env npm install --save-dev...@babel/preset-typescript babel-preset-transform-ui5 ui5 项目根目录新建一个文件 .babelrc.json,这个文件告诉 babel 需要具体执行的任务.../preset-typescript" ] } 使用下面的命令行触发 babel 构建: npx babel src --out-dir webapp --extensions “.ts,.js...JavaScript 语言级别,因此项目根目录中使用以下设置创建一个 .eslintrc.json 文件: { "env": { "browser": true,...浏览器了解这一点,因此即使它们实际上在后台运行已编译的 JavaScript 代码,它们也可以调试器启用对原始 TypeScript 代码的单步执行。

1.3K20

嘿,不要给 async 函数写那么多 trycatch 了(偏原理)

作者:yeyan1996 原文:https://juejin.im/post/5d25b39bf265da1bb67a4176 前言 开发,你是否会为了系统健壮性,亦或者是为了捕获异步的错误,而频繁的...错误捕获 } //... } 但是这么做有一个缺陷就是每次使用的时候,都要引入 errorCaptured 这个辅助函数,有没有“懒”的方法呢?...开发环境不需要任何多余的代码,让 webpack 自动给生产环境的代码注入错误捕获的逻辑,接下来我们来逐步实现这个 loader loader 原理 实现这个 webpack loader 之前,...语法分析会将 token 结合当前语言(JS)的语法转换成 Node(节点),同时 Node 包含一个 type 属性记录当前的类型,例如 let JS 中代表着一个变量声明的关键字,所以它的 type...AST 树后,使用 @babel/core 包的 transformFromAstSync 方法将 AST 树重新转为对应的代码字符串返回即可 const parser = require("@babel

83510

一文助你搞懂 AST

语法如果有错的话,抛出语法错误。 { ......那么我们就在 babel使用 AST,看看 babel 是如何编译代码的(不讲源码啊) 需要用到两个工具包 @babel/core、@babel/preset-env 当我们配置 babel 的时候...babel 插件的使用 现在我们有一个箭头函数,要想把它转成普通函数,我们就可以直接这么写: const babel = require('@babel/core') const code = `const...+ b; }; 特殊情况 我们知道剪头函数是可以省略 return 关键字,我们上面是处理了省略关键字的写法,但是如果用户写了 return 关键字后,我们写的这个插件就有问题了,所以我们可以优化一下...Babylon 并非 babel 团队自己开发的,而是 fork 的 acorn 项目,acorn 的项目本人在很早之前兴趣部落 1.0 构建中使用,为了是做一些代码的转换,是很不错的一款引擎,不过

1.5K40

嘿,不要给 async 函数写那么多 trycatch来捕获异常

前言 开发,你是否会为了系统健壮性,亦或者是为了捕获异步的错误,而频繁的 async 函数写 try/catch 的逻辑?...错误捕获 } //... } 复制代码 但是这么做有一个缺陷就是每次使用的时候,都要引入 errorCaptured 这个辅助函数,有没有“懒”的方法呢?...开发环境不需要任何多余的代码,让 webpack 自动给生产环境的代码注入错误捕获的逻辑,接下来我们来逐步实现这个 loader loader 原理 实现这个 webpack loader 之前,...语法分析会将 token 结合当前语言(JS)的语法转换成 Node(节点),同时 Node 包含一个 type 属性记录当前的类型,例如 let JS 中代表着一个变量声明的关键字,所以它的 type...AST 树后,使用 @babel/core 包的 transformFromAstSync 方法将 AST 树重新转为对应的代码字符串返回即可 const parser = require("@babel

1.4K20

前端异步代码解决方案实践(二)

注意此时 onRejected 不会被触发执行,因为 onResolved 内部异常并不会改变当前 promise 状态(仍为 resolved),而是改变 then 返回新的 promise 状态为...注意,yield 关键字只可在生成器内部使用,在其他地方使用会导致语法错误。即使在生成器内部函数中使用也是如此。...比如在异步流程,生成器函数执行到 yield 关键字处挂起,异步操作完成后须传递当前异步值供迭代器后续流程使用。...}) 执行器相关代码先执行 Generator 函数获取遍历器对象,然后使用 next() 执行异步任务的第一阶段, fetch 返回的 promise.then 方法调用 next 方法执行第二阶段操作...可以参考两篇文章,babel-polyfill使用与性能优化,babel-runtime使用与性能优化。

3.2K60

JavaScript 实现 JSON 解析器

fakeParseJSON = JSON.parse; 但是,我想,我已经写了不少关于 AST 的文章: •使用Babel创建自定义JavaScript语法[2]•编写自定义babel转换的逐步指南[...这是因为一篇文章实现JavaScript编译器对我来说是一项艰巨的任务。 好吧,不用担心。JSON 也是一种语言。它具有自己的语法,您可以从规范[5]参考。...图片来源:https://www.json.org/img/object.png 这是 JSON “对象”的语法。 我们从左边开始,沿着箭头走,然后右边结束。...对于解析器,这意味着使用适当的错误消息对开发人员进行提醒。...有很多比大喊大叫来处理错误消息的更好的方法,您可以考虑将以下几点添加到解析器错误代码和标准错误消息 这对于用户向 Google 寻求帮助作为标准关键字很有用。

3.4K30

webpack4学习+配置实现简单的多页面jq开发脚手架

一些升级到 webpack4 的 tips: extract-text-webpack-plugin 必须 4+版本才可以 webpack4 中用 webpack4 必须提供 mode 参数,process.env.NODE_ENV...使用各种高大上的 ES6789 语法来写 js,但是浏览器不兼容就需要 babel 来进行转码了。 babel 是不转换新的关键字那些语法。...需要通过yarn add babel-plugin-transform-runtime --dev和yarn add babel-runtime --save。再.babelrc 配置。... webpack4 的文档,官方也推荐我们使用 mini-css-extract-plugin 代替 extract-text-webpack-plugin,并且该 plugin 配合 css-hot-loader...loader 的原理其实就是接受上次的处理结果,把返回值传给下个 loader 使用。我们 js 文件 babel 处理前使用该 loader 即可 { test: /\.

93110

为什么 Eslint 可以检查和修复格式问题,而 Babel 不可以?

Eslint 可以检查出代码错误和一些格式问题,并能自动修复,它的实现原理就是基于 AST (抽象语法树)。...(token 是指最小的不可再细分的单词,比如关键字、变量名等标识符、各种分隔符等) 如果是同一行,则说明了是符合规范的。...然后调用它的 lintText 代码来测试,返回的结果使用 formatter 打印: (async function main() { const results = await engine.lintText...其实 Babel 和 Eslint 原理差不多,但是 Eslint 是被设计来做代码错误和格式检查与修复的,而 Babel 是被设计用来做代码分析和转换的,目的不同,所以也就提供了不同的 api,能够做不同的事情...总结 Eslint 是用来检查代码错误和格式问题的,基于 AST,Babel 也是基于 AST 做的代码分析和转换,但是却不能检查格式。

34810

阿里面试官:如何给所有的async函数添加trycatch?

.'); } fn() 导致浏览器报错:一个未捕获的错误 开发过程,为了保证系统健壮性,或者是为了捕获异步的错误,需要频繁的 async 函数添加 try/catch,避免出现上述示例的情况...插件的实现思路 1)借助AST抽象语法树,遍历查找代码的await关键字 2)找到await节点后,从父路径查找声明的async函数,获取该函数的body(函数包含的代码) 3)创建try/catch...比如let a = 1,对应的AST是这样的 语法分析 语法分析阶段会把token转换成 AST 的形式,这个阶段会使用token的信息把它们转换成一个 AST 的表述结构,使用type属性记录当前的类型...例如let val = await f() ObjectMethod 对象定义的方法 例如 let obj = { fn () {} } NewExpression New 表达式 通常指使用 New...插件的安装使用 npm网站搜索babel-plugin-await-add-trycatch 有兴趣的朋友可以下载玩一玩 babel-plugin-await-add-trycatch 总结 通过开发这个

96150

前端 JS 异常那些事

err instanceof ApiError 一种常见的应用就是 axios 处理的异常抛出一个扩展的 ApiError 对象,传递错误信息、错误等,错误处理时对于这种错误进行特殊处理。...同理,因为事件回调函数的处理不是 React 处理阶段(初始化或者事件处理setState驱动 react 进行下次渲染的),所以事件处理函数的报错同样不会触发白屏 Error Boundary 既然白屏问题如此严重...用于捕获渲染时的错误,也仅能捕获上面提到的白屏异常(如异步错误等也是没有办法被捕获到),也就是说如果我们Error Boundary捕获到错误并上报,这个错误通常是非常严重的。...const [error, resetError] = useErrorBoundary(); 用法也是非常简单,子组件触发异常会触发函数组件的 render 并且 error 是对应的错误信息,并且还提供了对应的...; 使用场景:我们可以组件库等场景使用 errorCaptured,捕获内部异常并上报,从而避免和业务代码报错混淆; renderError renderError 只开发者环境下工作,当 render

7210

Es6浅析

我们可以把babel简单地理解为从源代码到源代码的编译器。 以下是ES6新特性Babel下的兼容性列表 ?...今天我就使用babel编译器这个强大的工具来理解Es6的一些语法,主要从以下几个方面的对比来进行理解: Let、const与var 箭头函数与普通函数 原型方法静态方法 let、const与var...使用babel编译工具我们发现let const编译以后都变成了var,那他们和var到底有哪些方面的区别呢?...那const关键字又如何理解呢? const代表一个值的常量索引,也就是说变量名字在内存的指针不能够改变,但是指向这个变量的值可能改变。...const testConst= [ ] ; testConst=[]; 在上面的例子我们想修改索引到一个新的数组,所以会报出TypeError的错误

60670

SQL-GROUP BY语句MySQL的一个错误使用被兼容的情况

执行语句如下: SELECT * FROM stud GROUP BY saddress; 显示了如下错误: ERROR 1055 (42000): Expression #1 of SELECT list...然后我们用MySQL,再执行前面那句错误的代码: 也就是: SELECT * FROM stud GROUP BY saddress; 我们看结果: ?...其实这个结果是不对,但是MySQL应该是兼容了这个错误! 而DOS却是严格按照SQL的语法来的。...SQL的grop by 语法为, select 选取分组的列+聚合函数 from 表名称 group by 分组的列 从语法格式来看,是先有分组,再确定检索的列,检索的列只能在参加分组的列中选...但是DOS是不能的。所以出现了DOS下报错,而在MySQL能够查找的情况(其实这个查找的结果是不对的)。

2K20
领券