首页
学习
活动
专区
圈层
工具
发布

类型安全 ≠ 数据安全:TypeScript 没承诺过的事

我天天写它,编辑器一片绿,编译一次过。 然后呢?我照样把一个带 bug 的表单发上了线,三周后才被工单砸醒。 今天就聊聊这事:TypeScript 给你的那种"稳了"的感觉,到底能信几分。...= 'string' && item.label.length > 0 && typeof item.value === 'string' ); } 我拿六种脏数据测过这个函数...我出完这个 bug 之后搜过一次。那个数字让我沉默了一会儿。...最后总结成一句话,也是我这几年最大的心得: TypeScript 保证的是"你按说好的形状写了代码",从来没保证过"世界会按说好的形状给你数据"。 前者归编译器管,后者归你自己管。...评论区聊聊:我这次是被一个空行坑了,但被"后端数据跟说好的不一样"坑过的,肯定不止我一个——字段突然变 null、数字变字符串、时间戳从秒变毫秒……你踩过最离谱的数据坑是什么?

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

    「全栈开发的10个大坑」:踩过的人都懂,没踩过的迟早要踩

    这篇文章记录了我这几年踩过的10个坑,有些现在想起来还会脸红。如果你也在做全栈,或许能帮你少走点弯路。 1. 新技术成瘾,啥都想试试 那时候每天刷技术博客,看到新框架就兴奋得不行。...真正开始学后端后才发现,很多概念其实没那么复杂。HTTP就是请求和响应,数据库就是存数据的地方,认证就是验证用户身份。...因为我根本没理解代码的逻辑,只是碰运气。 现在的习惯: 看到解决方案后,先理解原理,然后根据自己的需求改写。即使多花点时间,但避免了后续的麻烦。 7....你踩过哪些坑?欢迎在评论区聊聊,说不定能帮到其他正在爬坑的同学。 我是一个还在学习路上的全栈开发者,会持续分享一些实际的开发经验和踩坑记录。如果对你有帮助,欢迎关注交流。

    34310

    从事Java软件开发工程师所需的职业素质

    过去,Java开发人员都是依赖Web浏览器作为应用程序的前端。但过程往往令人沮丧:HTML笨拙,JavaScript缓慢而难用,缺乏调试工具,想让应用程序兼容所有的浏览器是一个非常艰苦的过程。...下面就盘点一下HTML5能为Java开发人员带来的5点好处。 1、跨平台部署 ? 跟Java一样,HTML5的核心优势之一便是跨平台运行。...HTML5通过标准化一系列针对常用Web应用程序的APIs实现了跨平台,还包括开发离线应用程序、浏览器数据存储和免插件的视音频APIs。 2、用户界面控件 ?...过去,让Java开发人员在一个运行环境下编写代码,然后在不同的浏览器下测试代码是一件非常痛苦的事情。幸运的是,HTML5已经将所有跨浏览器开发的障碍进行了标准化。...结语 HTML5尽管还有很多问题亟待解决,但不得不承认,HTML5已经解决了Java开发中的大部分痛点,让开发进程越来越无缝化。

    1.6K110

    这个Jedis的坑你肯定没踩过!记一次深坑排查过程

    过来说碰到一个诡异的Redis的问题: 在UT(单元测试)中,通过Jedis的client执行lua脚本,每次都是lua脚本正常执行正常返回,但是Redis服务器挂了,执行其他的命令(非lua脚本)就没这个问题...Redis源码中有两处调用到了这个函数,第一次是在serverCron()研究过Redis源码的同学应该都知道这个方法是干嘛的`方法里面: int serverCron(struct...不管是不是,反正现在也没其他思路了,就先试试这种可能性吧,万一真的这么傻逼呢?...除了Spring的方式外,Java7引入了AutoCloseable接口,所有实现了AutoCloseable接口的对象会自动调用close()方法。...•001:《Java并发与高并发解决方案》学习笔记;•002:《深入JVM内核——原理、诊断与优化》学习笔记;•003:《Java面试宝典》•004:《Docker开源书》•005:《Kubernetes

    7.4K52

    Java内存模型的那些坑,我踩过

    # Java内存模型的那些坑,我踩过 ## 前言 说实话,刚开始接触Java的时候,对内存模型这种东西感觉挺抽象的。那时候觉得只要写好代码就行,反正JVM会自动处理这些事。...现在回想起来,Java内存模型不是什么高深莫测的东西,它就是一套规则,告诉你数据在不同线程之间怎么传递、怎么可见。但很多人因为没搞懂这些,写了大量有问题的代码,还觉得自己没问题。...## 为什么Java内存模型这么重要? 这个问题其实很基础,但很多人忽略它的意义。...Java内存模型(JMM)定义了线程和主内存之间的交互方式,比如变量如何从主内存读取到线程本地内存,又如何写回主内存。如果你不了解这个机制,就很难写出正确的并发代码。...## 结语 写到这里,我想说,Java内存模型并不是什么遥不可及的东西。它其实就是一套规则,告诉我们数据在不同线程之间是怎么传递的。如果你在写多线程代码时总是出问题,那很可能就是没理解JMM。

    24510
    领券