草庐IT

记录--千万别让 console.log 上生产!用 Performance 和 Memory 告诉你为什么

这里给大家分享我在网上总结出来的一些知识,希望对大家有所帮助很多前端都喜欢用console.log调试,先不谈调试效率怎么样,首先 console.log有个致命的问题:会导致内存泄漏。为什么这么说呢?用Performance和Memory工具分析下就知道了。我们准备这样一段代码:一个按钮,点击之后创建一个数组,执行一些计算。很常见的逻辑。我们最后加了一个console.log打印了下这个数组。起个静态服务:浏览器访问:  点击performance下的垃圾回收按钮,手动触发一次GC:  勾选Memory,然后开始录制,点击3次按钮,再执行一次GC:你会发现内存是这样的:内存占用有三次增长,因

记录--千万别让 console.log 上生产!用 Performance 和 Memory 告诉你为什么

这里给大家分享我在网上总结出来的一些知识,希望对大家有所帮助很多前端都喜欢用console.log调试,先不谈调试效率怎么样,首先 console.log有个致命的问题:会导致内存泄漏。为什么这么说呢?用Performance和Memory工具分析下就知道了。我们准备这样一段代码:一个按钮,点击之后创建一个数组,执行一些计算。很常见的逻辑。我们最后加了一个console.log打印了下这个数组。起个静态服务:浏览器访问:  点击performance下的垃圾回收按钮,手动触发一次GC:  勾选Memory,然后开始录制,点击3次按钮,再执行一次GC:你会发现内存是这样的:内存占用有三次增长,因

告诉你个广告业务存储神器

摘要:高性能、大容量、低成本、强稳定性,广告业务需要的Ta都有本文分享自华为云社区《广告业务存储神器:华为云GaussDBforRedis》,作者:GaussDB数据库。一、从需求场景说起,什么是RTA广告业务?在互联网时代,媒体平台逐渐成为广告业务的主体,而作为广告主的企业往往每年需花费数亿甚至数十亿广告费,却依然难以准确触达目标用户,这就造成大量资金浪费。在这样的需求场景下,RTA广告业务模式逐渐流行起来。RTA即RealtimeAPI的简称,是一套接口服务,用于满足广告主实时个性化的投放需求,在竞价中减少资金浪费。简单来说,RTA大体流程如下:媒体在将广告曝光给用户前,先通过RTA接口询

告诉你个广告业务存储神器

摘要:高性能、大容量、低成本、强稳定性,广告业务需要的Ta都有本文分享自华为云社区《广告业务存储神器:华为云GaussDBforRedis》,作者:GaussDB数据库。一、从需求场景说起,什么是RTA广告业务?在互联网时代,媒体平台逐渐成为广告业务的主体,而作为广告主的企业往往每年需花费数亿甚至数十亿广告费,却依然难以准确触达目标用户,这就造成大量资金浪费。在这样的需求场景下,RTA广告业务模式逐渐流行起来。RTA即RealtimeAPI的简称,是一套接口服务,用于满足广告主实时个性化的投放需求,在竞价中减少资金浪费。简单来说,RTA大体流程如下:媒体在将广告曝光给用户前,先通过RTA接口询

为什么Tomcat架构要这么设计?这篇文章告诉你答案!

Tomcat体系架构Tomcat项目结构bin目录bin目录主要是用来存放tomcat的命令,主要有两大类,一类是以.sh结尾的(linux命令),另一类是以.bat结尾的(windows命令)。很多环境变量的设置都在此处,例如可以设置JDK路径、tomcat路径startup文件:主要是检查catalina.bat/sh执行所需环境,并调用catalina.bat批处理文件。启动tomcat。catalina文件:真正启动Tomcat文件,可以在里面设置jvm参数。后面性能调优会重点讲shutdown文件:关闭Tomcat脚本version.sh、startup.sh、shutdown.sh

为什么Tomcat架构要这么设计?这篇文章告诉你答案!

Tomcat体系架构Tomcat项目结构bin目录bin目录主要是用来存放tomcat的命令,主要有两大类,一类是以.sh结尾的(linux命令),另一类是以.bat结尾的(windows命令)。很多环境变量的设置都在此处,例如可以设置JDK路径、tomcat路径startup文件:主要是检查catalina.bat/sh执行所需环境,并调用catalina.bat批处理文件。启动tomcat。catalina文件:真正启动Tomcat文件,可以在里面设置jvm参数。后面性能调优会重点讲shutdown文件:关闭Tomcat脚本version.sh、startup.sh、shutdown.sh

20 年老程序员告诉你的 20 条编码原则

我从1999年就开始了编程生涯,到今年已经有20多年了。我先是从Basic开始,很快转到了Pascal和C语言,然后又学习了面向对象编程语言Delphi和C++。2006年,我开始使用Java,2011年开始使用JavaScript。我参与过各个行业的软件开发,从机器人、金融科技、医疗到媒体和通信。我还担任过研究员、CTO、TPM(技术产品经理)、老师、系统架构师和技术负责人,但不管怎样,我一直都在编程。在我参与过的项目当中,有些为数百万人提供服务,有些在发布之前就宣告失败。我做过咨询顾问,还创办过自己的公司。我在开源项目、闭源项目和内部开源项目上花了很多时间,从微控制器到移动应用、桌面应用,

20 年老程序员告诉你的 20 条编码原则

我从1999年就开始了编程生涯,到今年已经有20多年了。我先是从Basic开始,很快转到了Pascal和C语言,然后又学习了面向对象编程语言Delphi和C++。2006年,我开始使用Java,2011年开始使用JavaScript。我参与过各个行业的软件开发,从机器人、金融科技、医疗到媒体和通信。我还担任过研究员、CTO、TPM(技术产品经理)、老师、系统架构师和技术负责人,但不管怎样,我一直都在编程。在我参与过的项目当中,有些为数百万人提供服务,有些在发布之前就宣告失败。我做过咨询顾问,还创办过自己的公司。我在开源项目、闭源项目和内部开源项目上花了很多时间,从微控制器到移动应用、桌面应用,

万字详文告诉你如何做 Code Review

  前言作为公司代码委员会golang分会的理事,我review了很多代码,看了很多别人的review评论。发现不少同学codereview与写出好代码的水平有待提高。在这里,想分享一下我的一些理念和思路。 为什么技术人员包括leader都要做codereview谚语曰:'TalkIsCheap,ShowMeTheCode'。知易行难,知行合一难。嘴里要讲出来总是轻松,把别人讲过的话记住,组织一下语言,再讲出来,很容易。绝知此事要躬行。设计理念你可能道听途说了一些,以为自己掌握了,但是你会做么?有能力去思考、改进自己当前的实践方式和实践中的代码细节么?不客气地说,很多人仅仅是知道并且认同了某个

万字详文告诉你如何做 Code Review

  前言作为公司代码委员会golang分会的理事,我review了很多代码,看了很多别人的review评论。发现不少同学codereview与写出好代码的水平有待提高。在这里,想分享一下我的一些理念和思路。 为什么技术人员包括leader都要做codereview谚语曰:'TalkIsCheap,ShowMeTheCode'。知易行难,知行合一难。嘴里要讲出来总是轻松,把别人讲过的话记住,组织一下语言,再讲出来,很容易。绝知此事要躬行。设计理念你可能道听途说了一些,以为自己掌握了,但是你会做么?有能力去思考、改进自己当前的实践方式和实践中的代码细节么?不客气地说,很多人仅仅是知道并且认同了某个