首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏未闻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)里面。

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

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

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

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

    我会从 Java Developer 角度来谈谈一些常见的代码测试陷阱,分析他们和操作系统底层以及 Java 底层的关联性,并借助 JMH 来帮助大家摆脱这些陷阱。 使用 JMH 解决 12 个测试陷阱 陷阱1:死码消除 ? 这是由于 JIT 擅长删除“无效”的代码,这给我们的测试带来了一些意外,当你意识到 DCE 现象后,应当有意识的去消费掉这些孤立的代码,例如 return。JMH 不会自动实施对冗余代码的消除。 死码消除这个概念很多人其实并不陌生,注释的代码,不可达的代码块,可达但不被使用的代码等等,我这里补充一些 Aleksey 提到的概念,用以阐释为何一般测试方法难以避免引用对象发生死码消除现象: Fast 陷阱5:方法内联 熟悉 C/C++ 的朋友不会对方法内联感到陌生,方法内联就是把目标方法的代码“复制”到发起调用的方法之中,避免发生真实的方法调用(减少了操作指令周期)。

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

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

    在使用Scala编写代码时,由于语法和编写习惯的不同,很多开发者会犯相同或相似的错误。一位Scala狂热爱好者近日总结了十大这样的错误,以供参考。 如果使用正确,Scala可以大量减少应用程序对代码的需求。 对于Scala编程, 我们收集了这些常见代码编写中的陷阱。 比如: val xml=<root/> 这段代码真正的意思是: val xml.$equal$less(root). Scala编译器和库代码常使用私有值的别名和缩写,反之公有的getters和setters则使用fullyCamelNamingConventions(一种命名规范)。 例如,下面这些代码将不会工作: def checkList[A](l: List[A]) = l match { case _ : List[Int] => println("List of Ints

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

    CSS 陷阱

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

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

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

    css大家都认为是很简单东西,但是是代码就有让人头疼的时候,只是多少的问题,伴着小编走过的路,在前端多少也滚了一些坑,今天为了方便后来者,把收集到的东西跟大家分享一下,有需要的朋友可以当作参考,希望对各位盟友有帮助 deedf6 #deedf6 #fff;}.tab th{background:#edf4f0;}.tab tr.even td{background:#fff;} 7. min-height: 最小高度兼容代码 0,startColorstr='#50000000',endColorstr='#50000000')\9; 看哪个startColorstr和endColorstr,一共8位,后6位是RGB的颜色代码 ms-linear-gradient(top, #fff, #ddd); ie10渐变 http://www.iefans.net/ie10-yulanban-css3-jianbian/ alpha透明兼容代码生成 (min-width:1151px) { #wrapper {font-size:15px;}} 5.阻止默认事件 pointer-events:none; 以上是小编整理的部分常用的css代码

    88350发布于 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() 方法是避免这个陷阱的关键。

    28910编辑于 2024-07-13
  • 来自专栏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
  • 来自专栏全栈程序员必看

    FabricJS gotchasFabricJS陷阱

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

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

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

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

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

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

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

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

    82140发布于 2018-08-29
  • 来自专栏日积月累1024

    smarty的replace陷阱

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

    1.3K20发布于 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) --- // fastlocals 真面目 PyObject * PyEval_EvalFrameEx(PyFrameObject *f, int throwflag){ // 省略其他无关代码

    92420发布于 2018-10-22
  • 来自专栏HHTjim'S 部落格

    Goroutine 循环变量陷阱

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

    31600编辑于 2025-02-26
  • 来自专栏学习与分享

    Integer的128陷阱

    128陷阱指的是,两个Integer数据类型(包装类)在一定范围内用 == 判断,会返回true。

    27510编辑于 2024-02-20
  • 来自专栏FunTester

    逃离过度努力陷阱

    一般来讲,陷入过度努力陷阱自然也是经历过轻松行动的过程,就是尝过甜头了,但是形成了路径依赖。由于没有及时调整努力策略,就陷入了过度努力的陷阱。 当我们付出了足够努力却没有得到应有的回报,不妨试试回头往往自己走过的路,是否已经越过了轻松行动的界限,步入努力过头的陷阱。 Go高性能队列之channel性能测试 动态模型之动态增减【FunTester测试框架】 白盒测试扫盲 6个重要的JVM性能参数 Java&Go三种HTTP客户端性能测试 测试人员常用借口 又双叒叕一行代码

    59920编辑于 2022-05-17
  • 来自专栏逸鹏说道

    上传文件的陷阱

    0x00 背景 现在很多网站都允许用户上传文件,但他们都没意识到让用户(或攻击者)上传文件(甚至合法文件)的陷阱。 什么是合法文件?

    1.2K70发布于 2018-04-10
  • 来自专栏钱塘小甲子的博客

    Python的诡异陷阱

    函数内部引用的错误 va = 100 def df_f(): print va va = 9 print va df_f()         没有接触过的同学,恐怕觉得上面这段代码是没有问题的

    77420发布于 2019-01-28
  • 领券