首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

代码检视新姿势!IDEA得到沉浸式Code Review新体验

消失这段时间里,做了件大事,见证了儿子出生并陪伴其一天天成长。停止更文200多天里,还能得到小伙伴们持续支持,让备受鼓励。...停更小时这段时间里,还干了一件小事,将几年前开发一个IDEACode Review工具插件给重构了一版,还配套上对应服务端,从一个单机版本地review工具,摇身一变成为了支持团队协同作业检视平台...、跟踪闭环也比较麻烦代码开发与代码review相互分离,平时写代码时候发现个有问题逻辑,不能方便记录并传递、跟进其闭环...对于大部分程序员来说,IDE查看代码才是最佳模式,IDE才能给人阅读代码熟悉体验...最初插件版本,因为就是自己业务写着方便自己使用,所以很多代码检视属性字段都是固定。...比如别人给我提了评审意见,可以拉取到自己IDEA,双击跳转到对应代码位置,进行问题的确认处理,确认完成后,可以本地IDEA对评审意见进行答复,答复完成后提交本地数据到服务端,完成整个review

1.7K50

前端测试题:(解析)JavaScript能正确输出 Hello World代码是?

考核内容: JS基础应用 题发散度: ★ 试题难度: ★ 看看大家选择 解题: JS中常用输出方式(五种) 1、alert("要输出内容"); 浏览器中弹出一个对话框,然后把要输出内容展示出来...alert都是把要输出内容首先转换为字符串然后输出 2、document.write("要输出内容"); 直接页面展示输出内容 3、console.log("要输出内容"); 控制台输出内容...4、value ->给文本框(表单元素)赋值内容 获取文本框(表单元素)内容 document.getElementById("search").value = "要给#search这个文本框添加内容...string)是增强版字符串,用反引号(`)标识。...它可以当作普通字符串使用,也可以用来定义多行字符串,或者字符串嵌入变量。 模板字符串嵌入变量,需要将变量名写在${}之中。

1.9K20
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    ORG-12514:TNS:监听进程不能解析连接描述符给出SERVICE_NAME解决方案

    一、使用PLSQL连接ORACLE数据库时,报错信息如下: "ORG-12514:TNS:监听进程不能解析连接描述符给出SERVICE_NAME" ?...二、解决办法: 修改tnsnames.ora配置 如:本地为: 路径=D:\Program Files\oracle\Oracle9iClient\ora92\network\admin\tnsnames.ora...,可用SID_HOST来命名(按个人习惯) # --HOST指Oracle服务器机器名或IP # --PORT指端口,默认为1521 # --XIEHENG指的是OracleSID # --SERVER...= DEDICATED 不用改 # 请参照以下连接例子 XIEHENG_192.168.16.20 = (DESCRIPTION = (ADDRESS_LIST = (...,可用SID_HOST来命名(按个人习惯) # --HOST指Oracle服务器机器名或IP # --PORT指端口,默认为1521 # --XIEHENG指的是OracleSID # --SERVER

    93110

    详解线性回归、朴素贝叶斯、随机森林R和Python实现应用!(附代码

    来源| analyticsvidhya 编译| 火火酱,责编| Carol 出品 | AI科技大本营(ID:rgznai100) 谷歌自动驾驶汽车和机器人得到了媒体广泛关注,但是公司真正未来是机器学习领域...主要学习R语言和Python这些算法理论和实现应用。 谁能从这篇指南中获益最多? 本文要讲内容,可能是作者写过最有价值指南了。...将提供对于多个机器学习算法高水平理解,以及运行这些算法 R语言代码和Python代码。这些应该足够让你亲自动手试一试了。 ?...在这个等式: · Y – 因变量 · a – 斜率 · X – 自变量 · b – 截距 系数a、b是通过最小化数据点与回归线之间距离平方差之和而得到。...结语 至此,敢肯定你已经对常用机器学习算法有了一定了解了。作者写这篇文章并提供相应R语言代码和Python代码唯一目的就是帮助你找到起点。如果你想要完全掌握机器学习算法的话,那就马上开始吧。

    2.7K10

    Python爬取电影天堂网站

    一个爬虫首先要给它一个起点,所以需要精心选取一些URL作为起点,然后我们爬虫从这些起点出发,抓取并解析所抓取到页面,将所需要信息提取出来,同时获得URL插入到队列作为下一次爬取起点 。...这样不断地循环,一直到获得你想得到所有的信息爬虫任务就算结束了。我们通过一张图片来看一下。 ? 好 下面进入正题,来讲解下程序实现。 首先要分析一下电影天堂网站首页结构。 ?...pass else: #文件命名是不能出现以下特殊符号 filename=node.xpath("text()")...这一部分有两个需要注意地方。一是因为最终想要把资源保存到一个txt文件,但是命名时不能出现一些特殊符号,所以需要处理掉。...这段就比较简单了,将提取出来内容写到一个文件中就行了 为了能够提高程序运行效率,使用了多线程进行抓取,在这里是为每一个分类主页都开辟了一个线程,这样极大地加快了爬虫效率。

    1.2K20

    从字符串到常量池,一文看懂String类

    很多时候知道了一个东西概念并不能说你会了,对于程序员而言,如果你说你已经会了,那么最好证明是你能够通过代码将其描述出来,所以,接下来,想以一种直观方式让大家感受到常量池存在。...// String dmz 2: astore_1 3: return ldc:这个指令作用是将对应常量引用压入操作数栈,执行ldc指令时会触发对它符号引用进行解析,在上面例子对应符号引用就是...其实我们可以类比下面这段代码: HashSet persons = new HashSet; persons这个集合,存储是Person对象还是Person对象对应引用呢...------R 大博客 从上面我们可以知道 字符串常量池本质就是一个哈希表 字符串常量池中存储是字符串实例引用 字符串常量池在被整个 JVM 共享 解析运行时常量池中符号引用时,会去查询字符串常量池...大家可以自行思考~ 我们对字符串常量池有了一定理解之后会发现,其实通过String name = "dmz"这行代码申明一个字符串,实际执行逻辑就像下面这段代码所示 /** * 这段代码逻辑类比于

    91921

    批处理for详解_python批处理

    在这个系列教程将通过实际应用中频繁出现例子,带领大家步入for语句神奇之门,一步步迈向for语句魔幻殿堂,使得大家实际应用,能独立写出简洁高效代码批处理世界里自由驰骋。...所以“以上代码不能列出含有隐藏或系统属性文件”是不准确,而因该说成“以上代码不能列出含有隐藏属性文件”) 三、文本解析显神威:for /f 用法详解 前言  for /f 是个十分强大家伙。...在上面的讲解提到了指定分隔符号方法:添加一个形如”delims=符号列表”开关。不知道你注意到没有,说法是”符号列表”而非”符号”,这是大有讲究,因为,你可以一次性指定多个分隔符号!...对[txt2]这段文本,假设它们保存在文件test.txt,如果想提取“学好批处理没商量”这句话,该如何写代码呢?...至于把[code17]代码空格换成&后,CMD窗口会直接退出,那是因为&是复合语句连接符,CMD预处理时候,会优 先把&前后两部分作为两条语句来解析,而不是大家想象一条完整for语句,从而产生了严重语法错误

    3.5K20

    批处理-For详解

    在这个系列教程将通过实际应用中频繁出现例子,带领大家步入for语句神奇之门,一步步迈向for语句魔幻殿堂,使得大家实际应用,能独立写出简洁高效代码批处理世界里自由驰骋。...所以“以上代码不能列出含有隐藏或系统属性文件”是不准确,而因该说成“以上代码不能列出含有隐藏属性文件”) 三、文本解析显神威:for /f 用法详解 前言  for /f 是个十分强大家伙。...在上面的讲解提到了指定分隔符号方法:添加一个形如"delims=符号列表"开关。不知道你注意到没有,说法是"符号列表"而非"符号",这是大有讲究,因为,你可以一次性指定多个分隔符号!...对[txt2]这段文本,假设它们保存在文件test.txt,如果想提取“学好批处理没商量”这句话,该如何写代码呢?...至于把[code17]代码空格换成&后,CMD窗口会直接退出,那是因为&是复合语句连接符,CMD预处理时候,会优 先把&前后两部分作为两条语句来解析,而不是大家想象一条完整for语句,从而产生了严重语法错误

    36520

    用面向对象方式操作 JSON 甚至还能做四则运算 JSON 库

    前言 之前实现 JSON 解析当时只实现了将一个 JSON 字符串转换为一个 JSONObject,并没有将其映射为一个具体 struct;如果想要获取值就需要先做断言将其转换为 map 或者是切片再来获...最后解析完 token 时拿到 JSONObject 数据返回即可。 ---- 我们以这段查询代码为例: 首先第一步是对查询语法做词法分析,最终得到下图 token。...词法分析过程也可以做简单语法校验;比如如果包含数组查询,并不是以 ] 符号结尾时就抛出语法错误。 接着我们遍历语法 token。...,可以支持对 JSON 数据整形(int、float)做四则运算,虽然这是一个小众需求,但做完觉得还挺有意思,目前市面上还没发现有类似功能库,可能和小众需求有关。...总结 至此算是第一次利用编译原理知识解决了一点特定领域问题,大学以及工作这些年一直觉得编译原理比较高深,所以内心一直是抗拒,但经过这段时间学习和实践慢慢也掌握到了一点门道。

    89530

    看动画轻松理解时间复杂度(一)

    对于同一个问题,使用不同算法,也许最终得到结果是一样,比如排序就有前面的十大经典排序和几种奇葩排序,虽然结果相同,但在过程消耗资源和时间却会有很大区别,比如快速排序与猴子排序:)。...Landau符号作用在于用简单函数来描述复杂函数行为,给出一个上或下(确)界。计算算法复杂度时一般只用到大O符号,Landau符号体系小o符号、Θ符号等等比较不常用。...c * O(n) c 可能小于 1 ,比如下面这段代码: 1void reverse ( string &s ) { 2 int n = s.size(); 3 for (int i...),比如下面这段输出 30n 次 Hello,五分钟学算法:)代码。...) r = mid - 1; 7 else l = mid + 1; 8 } 9 return -1; 10} 二分查找法代码,通过while循环,成 2 倍数缩减搜索范围,也就是说需要经过

    55620

    冰与火之歌:「时间」与「空间」复杂度

    上面公式中用到 Landau符号是由德国数论学家保罗·巴赫曼(Paul Bachmann)在其1892年著作《解析数论》首先引入,由另一位德国数论学家艾德蒙·朗道(Edmund Landau)推广。...Landau符号作用在于用简单函数来描述复杂函数行为,给出一个上或下(确)界。计算算法复杂度时一般只用到大O符号,Landau符号体系小o符号、Θ符号等等比较不常用。...) r = mid - 1; 7 else l = mid + 1; 8 } 9 return -1; 10} 二分查找法代码,通过while循环,成 2 倍数缩减搜索范围,也就是说需要经过...target); // 右边 10} 比如在这段二分查找法代码,每次 [ l , r ] 范围中去查找目标的位置,如果中间元素 arr[mid] 不是 target,那么判断 arr[...最好情况时间复杂度就是最理想情况下执行代码时间复杂度,它时间是最短;最坏情况时间复杂度就是最糟糕情况下执行代码时间复杂度,它时间是最长

    70410

    「时间」与「空间」复杂度

    上面公式中用到 Landau符号是由德国数论学家保罗·巴赫曼(Paul Bachmann)在其1892年著作《解析数论》首先引入,由另一位德国数论学家艾德蒙·朗道(Edmund Landau)推广。...Landau符号作用在于用简单函数来描述复杂函数行为,给出一个上或下(确)界。计算算法复杂度时一般只用到大O符号,Landau符号体系小o符号、Θ符号等等比较不常用。...) r = mid - 1; 7 else l = mid + 1; 8 } 9 return -1; 10} 二分查找法代码,通过while循环,成 2 倍数缩减搜索范围,也就是说需要经过...target); // 右边 10} 比如在这段二分查找法代码,每次 [ l , r ] 范围中去查找目标的位置,如果中间元素 arr[mid] 不是 target,那么判断 arr[...最好情况时间复杂度就是最理想情况下执行代码时间复杂度,它时间是最短;最坏情况时间复杂度就是最糟糕情况下执行代码时间复杂度,它时间是最长

    66710

    初级程序员面试不靠谱指南(三)

    在编译器编译你程序时候,会将你程序里定义所有符号放在一个叫做符号物体之中,然后按照一定规律给符号内容分配内存。...可以看到swap1,传入两个参数地址就是main函数两个变量地址,而swap2两个参数地址是新,和原始变量地址没有任何关系(而且还很远,有兴趣的话这里也可以继续研究下去,但是想一起放在函数时候再写...,这样说好像有些逻辑不通,不过这个问题不大,因为有的书上也认为C语言有按址传递,想表达主要意思是,C语言中,不能使用swap1(int &i,int &j)。...const和引用结合也会有很多可能会咨询问题,先从最简单开始,下面的代码不能通过编译?...可以看到,输出a值并不正确了,查看一下各个函数地址信息,a所得到值正是第一个函数返回引用值(地址相同),但是第二个函数调用以后,可以看到x也用了第一个函数i地址,此时a所表示变量也在这个地址之中

    72590

    前端XSS相关整理

    服务端未进行处理或处理不当,返回内容也带上了这段XSS代码,最后浏览器执行XSS代码 比如在 phpsmarty模板中直接获取url参数值 Payload: alert(1)</...另外,这个配置只能充当辅助作用,不能完全依赖,其也可能会产生一些问题 不过Firefox并未屏蔽 IEXSS Filter也默认也开启了屏蔽,也可手动关闭试试,或者通过HTTP头部进行控制 ?...所以要先思考是:什么地方可以执行JS相关代码 然后要思考是:攻击者能不能在这些地方构造出能够执行脚本 1.2.1  标签 alert(1);...本文使用了模板Smarty,使用模板时候,一般都将模板变量放在了引号,需要带符号来闭合来实现攻击 "> " onclick=alert(1) 设置了特殊符号转义情况下...,可以改用将模板变量缓存在HTML属性,JS再进行取值 防止该 标签被恶意代码闭合,然后执行恶意代码,例子可见上文 Payload-6 还要注意JS语法,某些时候,特殊符号 反斜杠

    4.6K32

    把99%程序员烤得外焦里嫩JavaScript面试题

    ; console.log(a + b); } 这段代码解析同时就会执行,输出3。...如果有局部符号,执行级代码块会优先进行作用域提升,而非执行级代码块,会优先考虑局部符号 估计刚看到这两点区别,很多同学有点懵,下面就来挨个解释下。...这就是执行级代码作用域提升。如果在块外有同名符号,需要注意下面描述情况: 符号只有用var定义变量和函数可以被覆盖,类和用let、const定义变量不能被覆盖,会出现重复声明异常。...那么p1类肯定是第1遍处理了,只是处理方法与函数不同,只是将p1类作为符号保存到符号使用p1类时并没有检测当前作用域符号表,因此,只能在使用类前定义这个类。...而且变量a用var声明,就说明这是hello函数局部变量,而函数a已经第1遍扫描获得了,所以执行到var a = 99时,js解析器已经知道了函数a存在,由于变量a和函数a都在同一个作用域,所以可以覆盖

    49220

    深入理解Java位运算符

    小伙伴们批阅过程,如果觉得文章不错,欢迎点赞、收藏、关注哦。三连即是对作者写作道路上最好鼓励与支持!前言  Java是一门广泛使用编程语言,拥有丰富运算符来支持代码实现。...:  这段代码演示了Java按位取反运算符(~) 用法。...main方法,分别调用isEven方法,并输出其返回值,可以得到4是偶数,5是奇数结论。交换两个数值  交换两个数值可以使用按位异或运算符(^)。...测试代码分析  根据如上测试用例,在此给大家进行深入详细解读一下测试代码,以便于更多同学能够理解并加深印象。  这段代码实现了一个比较两个字符串是否相等方法。...此外,本文还分析了位运算符优缺点,展示了它们在编程一些常见应用场景,以及实现位运算相关类和方法。使用位运算符时,需要仔细确认数据符号位和二进制位,避免出现错误。

    52941

    不依赖yacc如何实现表达式按优先级解析

    理解表达式解析部分 这段代码功能是解析a+b+(c+d)*e*f+g;,包含符号优先级处理功能。...解析*e 进入后ExprPrec=21(因为加1后面遇到+可以退出递归,后面遇到比加号高不会退出递归,很巧妙做法),TokPrec < ExprPrec 即 40 < 21:不进入 TokPrec...(c+d)}、{*e}、{*f}、{+g},解析每一组时候,都是不断把rhs拼入lhs过程,rhs到底是什么,需要判断是否递归解析,比如前面是+b+(c+d)*e,解析第二个加号时候,rhs就不能是...三步解析: (外侧函数解析a) 解析+b 递归解析+(c+d)ef 解析+g 整个解析流程就是不断把RHS拼到LHS,最终返回LHS过程。...中间比较重要就是乘号和+号优先级问题,上述代码,进入递归含义为:把优先级高于当前符号所有后续表达式一块解析出来,直到遇到当前符号为止,那么这里就涉及递归进入条件和递归退出条件了: 递归进入条件

    24360

    编译原理初学者入门指南

    作者:pixelcao,腾讯 IEG 后台开发工程师 一、引子 最近工作需要用表达式做一些参数配置,然后发现大脑一片空白, Google 里试了几个关键词(起初搜了下“符号引擎”,发现根本不是想要...要记得,DSL 是面向特定用途语言,以 JSON 为例,得到 AST 就已经有完整信息结构了,面向对象语言里无非再多一步:利用反射将其映射到一个 class 所有字段里;以 HTML 为例,得到...可以这样来理解: 由词法解析器生成符号,也叫 token,是终结符。终结符是最小表义单位,无法继续进行拆解和解析 规则左侧定义符号,是非终结符。... goyacc ,lexer 本身相对简单,自己编写 go 代码实现就够了,parser 部分所需文法约定,需要我们编写 .y 文件,也就需要了解 yacc 文法约定。...而 yacc 只包含定义文法语法,不含各类编程语言语法,所以聪明你肯定能猜到,yacc 文件免不了会出现类似宏定义东西,会直接嵌入各类编程语言代码片段。

    2.4K21

    C代码如何使用链接脚本定义变量?

    mod=viewthread&tid=16231 链接脚本,经常有这样代码: SECTIONS { ..... . = ALIGN(4); .rodata : { *(.rodata) } ....我们想对这段空间清零时, 1.汇编代码,可以直接引用__bss_start, _end,比如: ldr r0, =__bss_start ldr r1, =_end 2.C代码,我们不能直接引用它们...C代码为什么要使用取址符号 & ?...原因: 一,C代码,这样语句: int foo = 1000; 会导致2件事情发生: 代码,留出4字节空间,保存数值1000 C语言symbole talbe,即符号,有一个名为foo...所以:C语言中,要去使用链接脚本定义值时,应该这样做: extern int __bss_start; int val = &__bss_start; 使用取址符号&去得到它在符号值。

    4K20

    深入浅出Lua虚拟机

    作者:郑小辉 | 腾讯 游戏客户端开发高级工程师 写在前面:本文所有的文字都是手工一个一个敲,以及本文后面分享Demo代码都是一行一行码之前已经有非常多前辈研究过Lua虚拟机了,所以本文很多思想必然是踏在这些巨人肩膀上...所以If a < b then a = c enddemo里面最后被翻译成了: 4.png     OK,我们现在大概明白了从Lua代码怎么变成指令集这件事了。    ...Demo例子是涉及到Lua源代码以及最终解析字节码得到信息分别是: 10.png 11.png     OK,本文现在就剩最后一点点东西了:Lua虚拟机是怎么执行这些指令呢?    ...为了真正执行起来,所以我们在数据结构上设计需要 1,寄存器:2,常量表:3,全局变量表: 为了能执行我们demo里面的例子: 实现了这段代码涉及到所有指令 insExecute[(int)OP_LOADK...OK,最后献上这个demo代码:这份源代码清明节在家时候瞎写

    3.6K152
    领券