首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏未闻Code

    上古代码漫游记(二):把陷阱去掉了,反倒踩进了新的陷阱

    摄影:产品经理 炸牛奶 两个月之前,我写了一篇文章《长见识,让大家看看什么是垃圾代码》,不少同学都表示长见识了。今天我们再来看另外一个问题。 相信很多人都知道,Python有一个默认参数陷阱代码大概长成下面这样: def construct_exception(param_dict={}, msg='', extra_msg=''): """下面是具体代码""" 于是我就顺手把它改了 """ 理论上讲,我这样改移除了一个隐患,并且对后面的具体代码来说,param_dict始终都是一个字典,应该没有什么问题才对。 (param_dict, dict): msg = extra_msg.format(**param_dict) """其他代码""" 而上古代码里面,调用这个函数的时候,有下面两种写法 于是代码就会走到extra_msg.format(**param_dict)里面。

    41310编辑于 2023-01-03
  • AI 代码生成陷阱解析,如何识别与规避错误代码

    在软件开发领域,AI 代码生成技术的兴起为开发者带来了显著的效率提升,然而,如同硬币的两面,AI 代码生成在带来便利的同时,也隐藏着诸多陷阱。错误代码不仅会导致程序运行异常,还可能埋下安全隐患。 深入了解这些陷阱,并掌握识别与规避方法。接下来看飞哥是如何通过飞算JavaAI避免这些陷阱的? AI 代码生成的常见陷阱需求理解偏差飞算 JavaAI 依赖于开发者的指令来生成代码,但自然语言的模糊性可能导致 AI 对需求的理解出现偏差。 借助飞算 JavaAI 识别错误代码代码审查辅助飞算 JavaAI 具备代码审查功能,它能对生成的代码进行静态分析,检查语法错误、潜在的空指针异常等常见问题。 AI 代码生成虽然存在陷阱,但通过深入了解其原理,合理利用飞算 JavaAI 的各项功能,开发者能够精准识别和规避错误代码

    78910编辑于 2025-05-19
  • 来自专栏Kirito的技术分享

    JAVA拾遗 — JMH与8个代码陷阱

    我会从 Java Developer 角度来谈谈一些常见的代码测试陷阱,分析他们和操作系统底层以及 Java 底层的关联性,并借助 JMH 来帮助大家摆脱这些陷阱。 使用 JMH 解决 12 个测试陷阱 陷阱1:死码消除 ? 这是由于 JIT 擅长删除“无效”的代码,这给我们的测试带来了一些意外,当你意识到 DCE 现象后,应当有意识的去消费掉这些孤立的代码,例如 return。JMH 不会自动实施对冗余代码的消除。 陷阱5:方法内联 熟悉 C/C++ 的朋友不会对方法内联感到陌生,方法内联就是把目标方法的代码“复制”到发起调用的方法之中,避免发生真实的方法调用(减少了操作指令周期)。 陷阱6:伪共享与缓存行 又遇到了我们的老朋友:CPU Cache 和缓存行填充。

    1.8K40发布于 2018-09-30
  • 来自专栏Albert陈凯

    Scala代码编写中常见的十大陷阱

    在使用Scala编写代码时,由于语法和编写习惯的不同,很多开发者会犯相同或相似的错误。一位Scala狂热爱好者近日总结了十大这样的错误,以供参考。 如果使用正确,Scala可以大量减少应用程序对代码的需求。 对于Scala编程, 我们收集了这些常见代码编写中的陷阱。 比如: val xml=<root/> 这段代码真正的意思是: val xml.$equal$less(root). Scala编译器和库代码常使用私有值的别名和缩写,反之公有的getters和setters则使用fullyCamelNamingConventions(一种命名规范)。 ("too short") else super.name_=(newName) } val cust = new ValidatingCustomer("xyz123") 6.

    1.3K50发布于 2018-04-04
  • 来自专栏云游的小教程

    CSS 陷阱

    See the Pen Margin Collapse by YunYouJun (@YunYouJun) on CodePen.

    43640发布于 2021-05-21
  • 来自专栏程序员互动联盟

    【解疑答惑】css中经常被忽略的代码陷阱

    css大家都认为是很简单东西,但是是代码就有让人头疼的时候,只是多少的问题,伴着小编走过的路,在前端多少也滚了一些坑,今天为了方便后来者,把收集到的东西跟大家分享一下,有需要的朋友可以当作参考,希望对各位盟友有帮助 #deedf6 #fff;}.tab th{background:#edf4f0;}.tab tr.even td{background:#fff;} 7. min-height: 最小高度兼容代码 . ;background:-o-linear-gradient(top,#67bcf8,#3b96d6);background:linear-gradient(top,#67bcf8,#3b96d6);} RGB的颜色代码,前两位是16进制的 比如60%透明,就是256x0.6=154,再换算成16进制=9A background-image:-ms-linear-gradient(top, #fff, #ddd); ie10渐变 http://www.iefans.net/ie10-yulanban-css3-jianbian/ alpha透明兼容代码生成: http://leegorous.net

    89050发布于 2018-03-13
  • 来自专栏技术面面观

    go语言map拷贝陷阱、slice更新陷阱

    originalPointMap["minibear2333"] = &Person{age: 26} originalPointMap["minibear2333"].age = 5 slice复制陷阱

    1.8K40发布于 2021-07-20
  • 来自专栏CMS建站教程

    蜘蛛陷阱的利弊及如何识别蜘蛛陷阱

    什么是蜘蛛陷阱? 说到蜘蛛陷阱,这是个很虚的东西。 ,类似站群的思维方式,这种情况就被称之为蜘蛛陷阱。 如何判断识别网站是否存在蜘蛛陷阱? ,如果抓取频率突然出现异常的高时,那么很有可能出现蜘蛛陷阱的情况了。 哪些情况容易造成蜘蛛陷阱

    2K10编辑于 2022-02-17
  • 来自专栏学习与分享

    128陷阱详解

    在 Java 编程中,128陷阱(128 Trap) 是一个与 == 操作符和 equals() 方法有关的常见问题,特别是当我们比较 Integer 对象时。 这个陷阱涉及到 Java 的自动装箱(autoboxing)和整数缓存机制(Integer Cache)。 背景 Java 中的整数缓存机制用于提高性能和减少内存使用。 128陷阱的详细解释 整数缓存机制: Java 对于值在 -128 到 127 之间的 Integer 对象会自动缓存。 警惕自动装箱: 了解自动装箱和拆箱的行为及其在代码中的作用,尤其是当处理大范围的整数时。 总结 128陷阱是 Java 开发中容易遇到的一个问题,尤其在处理 Integer 对象的比较时。 理解整数缓存机制和正确使用 equals() 方法是避免这个陷阱的关键。

    30410编辑于 2024-07-13
  • 来自专栏奝-大周

    代码审计day6

    命令执行和代码执行的区别 代码执行:执行的效果完全受限于语言本身 命令执行:执行的效果不受限于语言语法本身,不受命令本身限制 命令执行类型: 1.代码层过滤不严 2.系统漏洞 3.第三方组件存在代码执行漏洞

    54710发布于 2020-08-19
  • 来自专栏java达人

    数字的陷阱

    Java中对数字的处理,如四舍五入,如加减乘除,貌似是一个很基础很简单的知识点,但是如果你没有对他进行充分了解,很容易掉进它的陷阱里。 BigDecimal.valueOf(4.015).multiply(BigDecimal.valueOf(100)).doubleValue()); 以上输出结果都是401.5,如果你觉得到此已经避开了精度缺失的陷阱 2、四舍五入 再来瞅瞅四舍五入,或许你觉得以下代码貌似可行: DecimalFormat df = new DecimalFormat("#.000"); System.out.println(

    1K80发布于 2018-02-01
  • 来自专栏高渡号外

    Python代码找bug(6

    Python代码找bug(6) 上期的代码设计需求: 一球从100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在第10次落地时,共经过多少米?第10次反弹多高? 代码如下: ? (2)正确理解和运用缩进语法 对了,昨天我们还提到一个有趣的问题就是关于python的代码基因,似乎偏好使用list列表等序列类型数据结构的问题。 这里我们把另外一种比较传统(其他语言)爱用的解决方案的代码列出来,供大家欣赏,品味两者风格的差异,看看基因的影响力是不是很强大? ? 代码如下: ? 兄弟,明察秋毫的你,看看bug在哪呢? 找出来,发到留言里,明天对答案。 提醒:惯例所有代码都是基于Pythpn3 的哦。

    85830发布于 2020-09-22
  • 来自专栏全栈程序员必看

    FabricJS gotchasFabricJS陷阱

    这发生在通过“top/left”或“scale”或“canvas”视口更改开发代码之后。在这些操作之后,相同的代码最终应该对所有对象调用“setCoords()”。 当将字符串转换为数字时,FabricJS不会检查类型也不进行转换,这是由于某些代码的副作用,而不是要依赖的功能。 在将值分配给需要数字的属性之前,请使用parseInt和parseFloat。

    1.8K10编辑于 2022-11-01
  • 来自专栏公共互联网反网络钓鱼(APCN)

    这封邮件,其实是用代码“画”出来的陷阱

    此类攻击不依赖任何图片文件,而是通过HTML代码“画”出类汉字指令或二维码,有效规避了图像识别与沙箱检测。 乍看之下,这似乎是普通的垃圾邮件内容,但深入分析其源码可知,这些“汉字”并非标准字符,而是一段精心构造的HTML代码。 关键词过滤失效:恶意内容以代码形式存在,无明文关键词;2. NLP分析失效:代码逻辑不具备自然语言特征;3. 图像识别失效:无图片文件可供扫描;4. 特征提取:自动检测邮件中是否包含大量CSS样式代码(如极小像素值的颜色定义),并提取

    等可能用于绘图的结构标签。此类结构常用于隐藏链接、像素追踪或混淆代码。2. 结语当攻击者不再用文字说话,而是用代码“画”出谎言时,传统的安全防线显得尤为脆弱。

    18410编辑于 2026-03-05
  • 来自专栏诸葛青云的专栏

    C语言陷阱「词法陷阱 之字符与字符串」

    C语言陷阱【词法陷阱 之字符与字符串】  字符与字符串 C语言中的单引号' ',与双引号" ",含义不同。

    82440发布于 2018-08-29
  • 来自专栏微信公号【Java技术江湖】

    Java基础6代码块与代码加载顺序

    本文主要介绍了三种代码块的特性和使用方法。 具体代码在我的GitHub中可以找到 https://github.com/h2pl/MyTech 文章首发于我的个人博客: https://h2pl.github.io/2018/04/24/javase6 代码块:用{}包围的代码 java中的代码块按其位置划分为四种: 局部代码块 位置:局部位置(方法内部) 作用:限定变量的生命周期,尽早释放,节约内存 调用:调用其所在的方法时执行 public class } } 静态代码块 位置:类成员位置,用static修饰的代码块 作用:对类进行一些初始化 只加载一次,当new多个对象时,只有第一次会调用静态代码块,因为,静态代码块 C(); C c2 = new C(); //结果,静态代码块只会调用一次,类的所有对象共享该代码块 //一般用于类的全局信息初始化 //静态代码块调用 //代码块调用

    61100发布于 2019-04-06
  • 来自专栏HHTjim'S 部落格

    Goroutine 循环变量陷阱

    Goroutine 循环变量陷阱 作者:matrix 被围观: 177 次 发布时间:2025-01-31 分类:Golang | 无评论 » 很经典的Golang问题,稍不注意处理这就是个坑

    32100编辑于 2025-02-26
  • 来自专栏日积月累1024

    smarty的replace陷阱

    在看这段代码时,第一反应是用replace替代regex_replace,效率会高些。 于是动手改了一行代码: {assign var="star" value="胡哥;吴秀波;王宝强;三小只"} {$star|replace:';':'/'} 测试无误,上线! 综合考虑,regex_replace不依赖环境,不用额外代码,速度也还好,性价比最高。

    1.4K20发布于 2020-12-07
  • 来自专栏技术栈大杂烩

    Python locals() 的陷阱

    aaaa() File "5.py", line 18, in aaaa print a NameError: global name 'a' is not defined 上下两段代码 , 区别就是, 下面的有显示赋值的代码, 虽然也是同样触发了NameError异常, 但是局部变量s的值被打印了出来. 想解决这个问题, 只能去看程序运行的真相了, 又得上大杀器dis~ 根源探讨 直接对第二段代码解析: 13 0 LOAD_GLOBAL 0 (locals) 3 CALL_FUNCTION 0 6 PRINT_ITEM 7 PRINT_NEWLINE --- // fastlocals 真面目 PyObject * PyEval_EvalFrameEx(PyFrameObject *f, int throwflag){ // 省略其他无关代码

    92820发布于 2018-10-22
  • 来自专栏王磊的博客

    6种限流实现,附代码

    合法性验证限流为最常规的业务代码,就是普通的验证码和 IP 黑名单系统,本文就不做过多的叙述了,我们重点来看下后两种限流的实现方案:容器限流和服务端限流。 我们使用单 IP 在 10ms 内发并发送了 6 个请求的执行结果如下:图片从以上结果可以看出他的执行符合我们的预期,只有 1 个执行成功了,其他的 5 个被拒绝了(第 2 个在 501ms 才会被正常执行 location / { limit_req zone=mylimit burst=4; }}burst=4 表示每个 IP 最多允许4个突发请求,如果单个 IP 在 10ms 内发送 6 请求记录 +1 return true; }}以上程序的执行结果为:正常执行请求:0正常执行请求:1正常执行请求:2正常执行请求:3正常执行请求:4正常执行请求:5正常执行请求:6正常执行请求 如果你嫌弃服务器端限流麻烦,甚至可以在不改代码的情况下直接使用容器限流(Nginx 或 Tomcat),但前提是能满足你的业务需求。

    1.1K10编辑于 2023-08-25
  • 领券