作者|DeepKolos 链接 | http://imweb.io/topic/595e0bfef6476c7715208a2f 背景 横线是本来应该和跟随页面一并滚动的, 之前通过Udacity的浏览器渲染优化课程了解到其中有讲到一个...Layer管理 , 但是课程并没有细讲 , 今天遇到一个Layer层导致的Bug , 刚好用上了。...还原Bug现场 横线是本来应该和跟随页面一并滚动的, 但是这里并没有: 此时看看Layer: 因为横线是使用::after + position:absolute; + margin偏移 来画的,...所以会导致浏览器会绘制单独一层的Layer 那么课程里面有说的可以通过will-change 和 transform: translate 来告诉浏览器这里需要创建Layer(只是可选 , 浏览器在一定情况会不创建...会导致很多的工作量 , 就是前面话的时候的漏画了...不然不需要这样来实现这条横线了~~ 因为用的是padding , 如果使用border需要再div.name和big-notification再套一层
Bug在软件开发迭代的全生命周期中不可避免,对于开发人员来说,如果工作中没有做好Bug跟踪和梳理,对整个项目的进程、开发团队的工作效率和工作质量都会有影响。 那么,如何做好Bug管理?...首先,我们需要了解Bug管理的流程。 Bug管理流程 1.收到提交的新Bug。 2.进行Bug分类和分配。 3.开发人员负责Bug修复并提交修复时长。 4.测试人员进行测试。 ...了解管理流程之后,我们需要选择合适的Bug管理工具落地整个流程,一个好的管理工具,不仅满足开发人员实际工作需求,更能为项目管理者提供一种管理思维。...便于Bug管理,设置问题优先级 对Bug的分类是修复前很重要的一步,因此,要提前做好筛选工作。...针对重量级的Bug,可在流程设置中直接转需求处理。 同时,在表单中设置了Bug复现链接、重现Bug的完整步骤等问题描述的填写,方便开发人员更好的了解问题,由此正确进行Bug分配和优化。 ?
我回顾了我所有的194个条目(从13岁开始),看看有什么经验教训是我可以学习的。下面是我总结的最重要的经验教训,包括编码,测试和调试三个方面。...下面是我经历过的bug所教会我的关于测试的一些重要的经验教训: 8.零和null。如果可行的话,确保总是用零和null来测试。对于字符串,这意味着要测试长度为零的字符串以及字符串为null两种情况。...又如:测试TCP连接的断开,要在发送数据给它发送之前。不使用这些组合方法测试是导致bug出现的首位原因。 9.添加和删除。...在工作于C++时所遇到的几类bug已经完全消失,像堆栈溢出,内存损坏,字符串问题和某种形式的内存泄漏。 其他问题,如循环错误和边界情况,我看到的要少得多。但是,这并不意味着那里没有bug。...这篇文章中的经验教训旨在帮助减少编码,测试和调试三个阶段的bug。如果大家有什么有用的预防和发现bug的技术方法,欢迎不吝指导。
在《Learning From Your Bugs》一文中,我写了关于我是如何追踪我所遇到的一些最有趣的bug。最近,我回顾了我所有的194个条目(从13岁开始),看看有什么经验教训是我可以学习的。...下面是我总结的最重要的经验教训,包括编码,测试和调试三个方面。 ? 编码 下面这些都是我经历过的会导致难点bug的问题: 1.事件顺序。...下面是我经历过的bug所教会我的关于测试的一些重要的经验教训: 8.零和null。如果可行的话,确保总是用零和null来测试。对于字符串,这意味着要测试长度为零的字符串以及字符串为null两种情况。...在工作于C++时所遇到的几类bug已经完全消失,像堆栈溢出,内存损坏,字符串问题和某种形式的内存泄漏。 其他问题,如循环错误和边界情况,我看到的要少得多。但是,这并不意味着那里没有bug。...这篇文章中的经验教训旨在帮助减少编码,测试和调试三个阶段的bug。如果大家有什么有用的预防和发现bug的技术方法,欢迎不吝指导。
下面是我经历过的bug所教会我的关于测试的一些重要的经验教训: 8.零和null。如果可行的话,确保总是用零和null来测试。对于字符串,这意味着要测试长度为零的字符串以及字符串为null两种情况。...又如:测试TCP连接的断开,要在发送数据给它发送之前。不使用这些组合方法测试是导致bug出现的首位原因。 9.添加和删除。...其他观察结果 在这13年来我一直在跟踪我所遇到的最棘手的bug,很多事情由此而改变。我工作过小的嵌入式系统,大的电信系统以及基于web的系统。我使用过C ++,Ruby,Java和Python。...在工作于C++时所遇到的几类bug已经完全消失,像堆栈溢出,内存损坏,字符串问题和某种形式的内存泄漏。 其他问题,如循环错误和边界情况,我看到的要少得多。但是,这并不意味着那里没有bug。...这篇文章中的经验教训旨在帮助减少编码,测试和调试三个阶段的bug。如果大家有什么有用的预防和发现bug的技术方法,欢迎不吝指导。
因为 LogRecord 只是承载每条日志内容和属性的对象,在一条 log 产生的时候就被创建了,而日志的输出格式则是在被输出时才确定,由 Formatter 来控制。...根据 Filter 和日志级别的设置,来决定哪些日志可以被传入给下一个流程处理, 将日志传递到所有相关的 Handler 中。...相比于日志级别,Filter 可定制性更丰富,可以在 Logger 和 Handler 上实现颗粒度更细的控制。例如希望只记录长度大于 10 的日志,可以用如下的代码实现。...实践中的一些经验 在使用 Python logging 库的过程中,我们发现了一些容易容易忽视的细节,这些细节可能会导致一些预期之外的情况,在此做以总结。...,这能解释为什么无法输出日志,但是下一行代码输出了 WARNING 级别的日志,显然又是和这个猜测违背的,原因到底是什么呢?
最近的畅销书《华为数据之道》对华为的数字化转型方法和经验进行了系统性地披露。...企业的数字化转型,数据治理是关键,数据的分类管理又是数据治理的核心,本文将通过《华为数据之道》这本书的部分内容来详细看一看华为的数据分类管理框架是如何搭建的,以及华为在数据分类管理方面的实战经验。...华为在业界的数据分类基础上,结合自身多年的实践,已形成完整的数据分类管理框架。华为对数据进行分类的目的,是为了针对不同特性的数据采取不同的管理策略,以期实现最大的投入产出比。...图10 华为元数据管理整体方案 华为经过多年实践,已经建立了相对完整的数据分类管理框架,为数据治理奠定了基础。...随着数字化转型的深入开展,尤其是面向未来海量的非结构化数据、IoT 场景的观测数据、外部合规日趋严格的外部数据等,华为将不断丰富每一类数据的治理实践。
Go语言官方提供的依赖包管理工具已经发布很久了,有很多大佬的文章对Go Modules做了非常详尽的介绍,比如煎鱼大佬的: Go Modules终极入门(文章链接:https://juejin.cn/post...今天的文章我想跟大家聊一下我们项目在从govendor迁移到Go Modules这个过程中总结的几点经验,如果你平时负责的项目早已开始使用Go Modules,这些内容可能对你来说有点小儿科。...不过也正好有replace命令,才能解决好几个软件包版本兼容的问题,我遇到的软件包兼容问题主要出在Etcd和gRPC上。...再加上Etcd提供的软件包与v1.30版本以上的gRPC相互之间不兼容,所以如果gRPC使用了Etcd Naming做服务发现和负载均衡,目前只能通过replace指令对这两个模块进行版本替换。...测试和生产阶段的模块版本管理 假如我们对公司的公共包做了修改,那么怎么对公共包打标签呢?不能说在测试、仿真和生产阶段给都要给软件包打上不同版本的标签吧,这样代码仓库的标签管理起来容易混乱。
特性 作为分布式数据库 每一个Spanner的实例都是在不同数量的节点上运行的,每一个节点都是由Google云平台服务去自动管理的。...数据结构 Cloud Spanner和传统RDBMS的数据模型基本一致,都是由行、列和值组成,并且含有主键。...Cloud Spanner 会根据大小和/或负载自动添加和移除分片边界,这样做会改变数据库中的分片数量。...Cloud Spanner在保证关系型数据库管理系统的特性前提下,同时提供数据库的超强延展性,并且可以在特定情况下对已存在的表的表结构进行结构更新。...并且因为Cloud Spanner支持用户在不停机的情况下对数据库进行水平或垂直的缩放(由Cloud Spanner自动管理数据切片和数据复制)或对表结构进行更新例如添加索引等操作。
最近我重新浏览了这所有的 194 个条目(历时 13 年),看看我从这些 bug 中学到了学到了那些重要的经验教训。我分为编码、测试和调试三大类。...下面是 bug 在测试方面给予我的一些重要的经验教训: 8.零(zero)和空(null) 务必要以零和空(合适的情况下)来进行测试。...没有使用这些组合来测试是 bug 悄然出现的头号原因,我在测试时是原本可以发现这些 bug 的。 9.添加和删除 新功能常常需要能够为系统添加新配置,比如说用于电话号码翻译的新配置文件。...我使用的语言包括 C++、Ruby、Java 和 Python,若干类的 bug 在我使用 C++ 的日子里就已经不再出现了。像堆栈溢出,内存损坏,字符串的问题以及某些形式的内存泄漏。...其他的问题,像回路错误和极端案例,我见的少得多,因为我单元测试了更多逻辑,但这并不意味着那里没有 bug。这篇文章总结的经验教训,帮助我在编码、测试和调试这三个阶段尽量减小破坏。
最近我重新浏览了这所有的 194 个条目(历时 13 年),看看我从这些 bug 中学到了学到了那些重要的经验教训。我分为编码、测试和调试三大类。 ?...下面是 bug 在测试方面给予我的一些重要的经验教训: 8. 零(zero)和空(null) 务必要以零和空(合适的情况下)来进行测试。...没有使用这些组合来测试是 bug 悄然出现的头号原因,我在测试时是原本可以发现这些 bug 的。 9. 添加和删除 新功能常常需要能够为系统添加新配置,比如说用于电话号码翻译的新配置文件。...我使用的语言包括 C++、Ruby、Java 和 Python,若干类的 bug 在我使用 C++ 的日子里就已经不再出现了。像堆栈溢出,内存损坏,字符串的问题以及某些形式的内存泄漏。...其他的问题,像回路错误和极端案例,我见的少得多,因为我单元测试了更多逻辑,但这并不意味着那里没有 bug。这篇文章总结的经验教训,帮助我在编码、测试和调试这三个阶段尽量减小破坏。
时间管理 你是不是还在使用todolist管理每天要做的事情?你是不是感觉自己每天忙忙碌碌但是又不知道忙了些啥?今天这篇文章用于分享下我的时间管理经验,希望你能有所收获。...在之前的我文章中我也提到过——《数文明》的作者涂子沛老师在书中写道:对信息的记录的精细和全面程度,反应了文明的进步程度。...对应到时间管理上来说就是,对自己的时间花费在哪里记录得越清楚,就越能发现可以改进的地方。 时间方法论 我的时间管理方法论就是GTD工作法,目前是参考L先生提供的流程图来进行实践的,如下图所示。...这个流程图,还需要一件事才能完整,就是定期检查,建议你每天晚上都看下自己的各个收集箱,做下总结和梳理,然后记录日记——工作日志和生活日记。...习惯管理软件 我使用iBetter管理自己的习惯,目前在坚持的几个习惯有:日记、椭圆机、篮球、公众号原创文章。 iBetter 注意力管理软件 我使用Forest来管理自己的注意力,实践番茄工作法。
以精益的视角,如何打造强大的生产现场是每个制造企业所追求的目标。强大的现场意味着高效的生产运转状态,业绩指标行业领先,系统实践的管理方法。...本文结合中小企业生产现场管理和改善经验,和各位共同探讨分享:图片第一阶段:面向现场状态的整顿,持续开展四定管理。四定,定置、定品、定量、定人。...示范线花钱和花时间的改善,可能一部分改善是试验品,但班组长参与过程会改变思想认知,科学引导会总结出适合本企业的现场管理套路。...忌:参观线以外的产线按照四定管理实践,可以按照现场诊断体系评价,系统提升(参考前期分享内容)。对于示范线案例,推广实用且收益的案例,对于注重美观且不适用的案例不做推广。...精益产线的建设是班组长对现场维稳(一阶段)及冒进(二阶段)方案的综合评估,结合现场管理业务及经营指标,有的放矢。如此才能一步步做到,经营指标和现场的状态同时变好。
bug分支 在开发中,会经常碰到bug问题,那么有了bug就需要修复,在Git中,分支是很强大的,每个bug都可以通过一个临时分支来修复,修复完成后,合并分支,然后将临时的分支删除掉。...多人协作 当你从远程库克隆时候,实际上Git自动把本地的master分支和远程的master分支对应起来了,并且远程库的默认名称是origin。...一些修复bug分支不需要推送到远程去,可以先合并到主分支上,然后把主分支master推送到远程去。 抓取分支 多人协作时,大家都会往master和dev分支上推送各自的修改。...这回git pull成功,但是合并有冲突,需要手动解决,解决的方法和分支管理中的解决冲突完全一样。解决后,提交,再push: ? ? ? ...这就是多人协作的工作模式,一旦熟悉了,就非常简单。 标签管理 git里边默认的版本好不容易记。
因为流行,Apache基金会可以通过提供完善的文档以及系统集成支持给其他软件项目来获取收益。 因为Apache的灵活性,性能和广泛支持,它经常被系统管理员选择作为web服务器。...对于服务器管理员来说,这个意味着你必须配置Nginx和外部处理器之间的交互,这种交互必须基于一种Nginx能理解的协议(http, FastCGI, SCGI, uWSGI, memcache)。...分散的目录级别的配置也同时把安全配置web服务的责任分散到了每一个用户(web应用管理员)头上,他们可能无法胜任这个任务。...尤其对那些只会安装发布版本而不熟悉通过编译来管理维护自己软件的用户来说,这确实是一个问题。...伴随着这个项目的普及,产生了很多文档,并且在Nginx的网站以及第三方站点上有非常多的管理员资源。
在当今的互联网环境中,后端性能优化是确保卓越用户体验的关键。一个快速响应的网站或应用程序不仅能提升用户满意度,还能直接影响业务的转化率和品牌形象。...索引优化:为经常用于搜索和排序的字段创建索引,但也要注意过度索引可能导致写操作变慢。 表结构优化:合理设计数据模型,减少冗余数据,考虑使用分区和分片以分散负载。...查询优化 配置说明:优化查询通常涉及SQL语句的重构和索引的合理使用。在MySQL中,可以使用EXPLAIN命令分析查询性能。...通过合理配置缓存策略,可以显著提升网站性能和用户体验。 三. 服务器配置优化 服务器配置是影响性能的另一个重要因素: 硬件升级:根据需求选择合适的CPU、内存和硬盘,确保足够的处理能力。...10240; # 单个工作进程的最大连接数 } 对于Java应用,通过JVM的-Xms和-Xmx设置初始和最大堆大小,避免内存溢出: java -Xms2g -Xmx4g -jar myapplication.jar
作为码农,我相信写代码总是会有bug,为什么会有bug呢,这个更多的原因可能是由于知识欠缺,需求理解方面不够好,从而造成写出来的程序有漏洞。...今天给大家分享一篇我这里总结的通用测试思路,主要是把测试的需要考虑的通用要点整理出来,希望能对大家有所帮助。...如果涉及到旧系统的改造,如果涉及到修改数据结构,需要注意新老系统的数据结构存储的兼容问题。 数据的加密和安全性问题,一般涉及到重要的数据需加密处理,需要注意到此问题。...服务启动之后需要注意内存和cpu使用问题。 web端通用测试要点: 常规参数缺失,参数长度,参数枚举值,参数是否为空,参数类型方面测试和验证。...关于服务端和web端通用测试经验总结,有同学有更好的也可以后台私信分享给我哦~
2.配置文件管理 放在gitlab上,主要是为了方便管理,以及追溯修改历史。当然,我们有自己的配置中心,能走配置中心的都尽量走配置中心,只有必须是文件配置管理的才放在gitlab上。...3.发布脚本管理 jenkins需要使用到的发布脚本。根据环境、源代码语言、部署方式等有所不同 ? jira jira敏捷开发管理工具,管理需求、研发迭代等。...而密码的使用方有2个,一个是jenkins在部署的时候新机器在创建SSH免密登录的时候要用一次,还有就是远程管理工具要用,所以对密码的使用单独写了个小组件用私钥解密获得密码,然后把发布系统和小组件单独管理...分环境、分开发语言单独编写的构建或部署脚本。 为什么每一个站点都有一个脚本的原因则是总有那么一些站点是那么的特殊和优秀,当然觉得多数系统都可以走一个公共的构建脚本。...每周出一份代码质量报告,统计一周内已上线的项目和上一周相比错误,漏洞,坏味道,覆盖了等数据的变化。弄个定时任务,sonar 2个接口获取一下数据,存储对比结果,发个邮件就完事了。
领取专属 10元无门槛券
手把手带您无忧上云