摘要:作为一个有点追求的程序员,应该每天练习写代码,而夜深人静的时候,似乎比较合适,至少对我来说是这样。 ? 我可真没时间写代码 写代码是我的工作,也是我的兴趣,本来以为,我应该可以一直写下去。...然而,现在的我,同时负责了多个工作:产品、开发、运营、运维、以及测试。还有,写博客也是我的工作之一。每天的工作充实而快乐,唯一的问题在于:我似乎越来越没有时间写代码了。...Fundebug提供实时、专业的错误监控服务,为您的线上代码保驾护航,欢迎大家免费使用! 我为什么晚上写代码 套用海贼王的热血台词,我是要成为专家的程序员!...; 夜深人静,思路更加清晰,至少我是这样的; 现在,我每天晚上大概会写1~2个小时代码,工作量不会太多,但是对代码质量的要求会更高。...或者,并不一定非得晚上写代码,重要的是你应该在找到合适的时间段,专注地练习,这样才能真正有所提高。
为什么是skywalking呢?因为它对代码没有业务入侵(这点非常重要,所以哪怕它粗略些,也能接受)。...那有什么办法可以比较好的了解代码呢? 在IDEA中,有个非常有用的插件,那就是SequenceDiagram,它可以快速生成时序图,让你看代码轻松许多。...安装好SequenceDiagram后,你可以在代码的controller层中,找到对外暴露的接口,右键快速生成时序图。...这样,每次代码发布前,就可以通过检查CHANGELOG中的信息,就可以知道精确的发布范围,减少测试遗漏或者发布范围超纲。...如果想阅读更多文章,请关注我的公众号。
我的代码日程 强烈推介IDEA2020.2破解激活,IntelliJ IDEA...打印100~200 之间的素数 2. 输出乘法口诀表 3....判断1000年---2000年之间的闰年 1*1=1 2*1=2 2*2=4 3*1=3 3*2=6 3*3=9 。。。
嗯,我的代码没有else系列,一个设计模式业务真实使用的golang系列。 ? 前言 本系列主要分享,如何在我们的真实业务场景中使用设计模式。...关于怎么用,完全可以生搬硬套我总结的使用设计模式的四个步骤: 业务梳理 业务流程图 代码建模 代码demo 业务梳理 我通过历史上接触过的各种抽奖场景(红包雨、糖果雨、打地鼠、大转盘(九宫格)、考眼力、...------------ //我的代码没有`else`系列 //模板模式 //@auhtor TIGERB //------------------...//------------------------------------------------------------ //我的代码没有`else`系列 //模板模式 //@auhtor TIGERB...我的代码没有`else`,只是一个在代码合理设计的情况下自然而然无限接近或者达到的结果,并不是一个硬性的目标,务必较真。 2.
嗯,我的代码没有else系列,一个设计模式业务真实使用的golang系列。 ? 前言 本系列主要分享,如何在我们的真实业务场景中使用设计模式。...关于怎么用,完全可以生搬硬套我总结的使用设计模式的四个步骤: 业务梳理 业务流程图 代码建模 代码demo 业务梳理 按照如上某东的订单结算页面的示例,我们得到了如下的订单结算页面模块组成图: ?...注:模块不一定完全准确 代码建模 责任链模式主要类主要包含如下特性: 成员属性 ChildComponents: 子组件列表 -> 稳定不变的 成员方法 Mount: 添加一个子组件 -> 稳定不变的...我的代码没有`else`,只是一个在代码合理设计的情况下自然而然无限接近或者达到的结果,并不是一个硬性的目标,务必较真。 2....---- 我的代码没有else系列 更多文章 代码模板 | 我的代码没有else 链式调用 | 我的代码没有else 点击https://github.com/TIGERB/easy-tips/tree
我经常被问的一句话就是:为什么代码无法运行?然后细看有些问题,真是让我哭笑不得,比如no module name pygame…… ?...今天来谈谈运行代码遇到问题时,怎样做才是最好的解决方案吧~授人以鱼不如授人以渔! 大家关注公众号下载代码运行,肯定是出于各种各样目的。...针对各类情景,我做了个分析和总结,大家可以根据自己的场景选择合适的解决方案。 情景1:我只是为了完成老师或者boss的一个作业,仅此而已。...这种情景就非常简单了,只是完成任务的话,直接花点钱去某宝买个现成的就行了。也没必要用代码来折磨自己,把时间花在更重要的地方~ 情景2:我是小白,刚接触编程,跟着文章一步一步操作最后也没成功。...很多奇奇怪怪的需求自己也完全没有经验,都是一路连爬带滚过来的,所以第一次做的东西也特别慌,因为没有经验,不知道这样的做法会带来什么问题会导致什么bug等。但是编程这东西吧,很多东西都是能融会贯通的。
加固软件主要做的两件事,对软件中关键代码的保护以及提高对软件逆向反编译的门槛。 那么软件安全性防护墙的第一道门那就是反调试。反调试技术又细分为静态反调试和动态反调试。...进程环境块NtGlobalFlag检测 进程环境块PEB中NtGlobalFlag是一个DWORD值,这个值包含操作系统设置的许多标志,这些标志会影响进程的运行方式。...CloseHandle 检测 利用异常捕获机制,给CloseHandle函数一个无效的句柄作为输入参数,在程序在没有被调试时,将会返回一个错误代码;而程序被调试器调试时,将会触发一个EXCEPTION_INVALID_HANDLE...硬件断点反调试检测 硬件断点是intel在其处理器体系结构中实现的一种技术,通过使用Dr0-Dr7的特殊寄存器进行控制。...在32位寄存器中Dr0-Dr3是保存断点地址,只要识别Dr0-Dr3寄存器的值不为0,那么就属于调试状态。
b = true } else { b = false } // good b = a === 'a' 2.在if中判断数组长度不为零的正确姿势 // bad if (arr.length...== 0) { // todo } // good if (arr.length) { // todo } 3.同理,在if中判断数组长度为零的正确姿势 // bad if (arr.length...(value in obj) { keys.push(value) } // good let keys = Object.keys(obj) // ['a', 'b'] 巧用解构简化代码...,我叫${person.name},我今年${person.age}了`) } // best function sayHi ({name, age}) { console.log(`大家好,...我叫${name},我今年${age}了`) } 19.函数使用箭头函数 let arr [18, 19, 20, 21, 22] // bad function findStudentByAge
代码混淆是保护数据不受入侵者侵害的众多措施中的一种,虽然它可能不会带来世界和平,但至少可以给你带来一些安心。...在本文中,我们将关注源代码保护中的一个小层面——代码混淆。 混淆处理是一种强大的安全保护措施,但它常常被忽视,或至少被误解。代码混淆可以让代码变得难以理解,可以阻止未经授权的人轻易地反编译或反汇编它。...图 3 显示了当我们插入随机公式时,混淆的代码是什么样子的。 图 3. 使用不同类型的公式(如 x=z-y 或 z=y+z)随机地替换值。...添加“垃圾”数据 隐藏代码内容的另一种方法是在真实数据中随机地添加垃圾数据,这样会让解析和反向工程变得更加困难。...自动添加注释,方便跟踪被混淆的原始字符串以及什么时候被混淆的。 示 例 我们用下面的例子来测试字符串混淆是如何工作的。假设我们有下面这行代码。
#和##对于大部分C语言玩得还算比较溜的朋友并不是很陌生,不过能把这两个知识点游刃有余的应用到所在代码中的每个角落,似乎并没有几个人能够做到,学的时候朗朗上口,而编码的时候却抛之脑后。...首先要知道原因 : 进行宏定义嵌套的情况,#或者##仅在当前宏有效,嵌套宏中不会再次展开,既然当前宏无法展开,那么我只能再加一级宏定义作为转换宏进行展开,看能不能解决该问题: #include <stdio.h...1、在结构体定义中的妙用 下面是bug菌经常在项目代码中用到的##结构体定义法,也是非常多开源代码中惯用的做法,相比常规的结构体定义法,确实省去很多重复的代码。...bug菌在代码中跟大家都标注了,相信大家一眼就能看懂,似乎并没有想象中那么难。...,我仍然是我,一直没变,觉得有所收获,记得点个赞~
说是管理其实就是把常用的一些JS方法,自己保存下来,这样的以后的工作中可以比较方便的使用。 哪些方法可以、或是说值得保存呢?...还有一些是扩展型的函数,例如,判断数组,增加、删除数组什么的, 还有一些工具类的,什么复制属性啊,字数判断啊,DOM节点操作啊,轮播广告啊,日期操作 总之,上面列出的那些内容的JS代码都是与具体业务逻辑无关的...这里的关键是命名,要有自己的命名规则。这个规则不是JS的方法、函数的名字,而是你自己保存这些JS文件时的目录名啊,zip包名什么的,因为时间一长就找不着了嘛,谁能记得N年前你写过一个什么方法。。。...这也是我为什么很少写JS的具体实现的原因,我总觉得应该给我的粉丝们一些不一样的东西,一些别的地方得不到的东西。因为网上JS教程很多,我又写不好JS教程,我没耐心一步一步的详细写。...要看JS教程有很多地方可以看到很好的教程。 我希望关注我的朋友们,看我的微信公众号,能够体会一种“变通”的能力。不要我说一就是一,要懂得举一反三啊。 我再三提醒啊,不要僵化的去看待文中的内容。
面向过程OR面向对象 面向过程的代码 在说面向对象前我们来说说什么是面向过程。什么是面向过程呢?...那时书本或者网上是这么解释的 ““面向对象”是专指在程序设计中采用封装、继承、多态和抽象等设计方法。 ” 那么上面的案例代码也有抽象,也有封装,为什么还是算面向过程思维呢。 那么什么是面向对象呢?...我们可以在Entity类中这样写: 我们在实体类中的这个字段写成List形式的,在上面添加@ColumnType注解。这个注解用来实现List与Json之间的自动互转。...这样我们下代码存数据的时候就是添加List而不是Json了。...那么建议你多做一些的思考: 1.我的代码是不是面向对象的代码 2.我的代码设计是否遵循 高内聚,低耦合的设计标准 3.我的代码是否遵循设计原则,如单一职责原则,开闭原则等 4. ...
一份整洁的代码对于一个系统是多么重要。如果代码写的乱七八糟,最后的结果就是无法对这些代码进行有效的管控。很有可能会毁掉这个系统。 什么才是整洁的代码?...: (1) theList中是什么类型的东西?...(2) theList零下标条目的意义是什么? (3)值4的意义是什么? (4)我怎么使用返回的列表? 可能当时人知道意思,但接手开发肯定会一脸懵逼的。...不过我会配上一套单元测试,覆盖每行丑陋的代码。 然后我打磨这些代码,分解函数、修改名称、消除重复。我缩短和重新安置方法有时我还拆散类。同时保持测试通过。...满足于仅仅让代码能工作的程序员不够专业。他们会害怕没时间改进代码的结构和设计,我不这么认为。没什么能比糟糕的代码给开发项目带来更深远和长期的损害了。进度可以重订,需求可以重新定义,团队动态可以修正。
导读 程序员痛恨遇到质量低劣的代码,但在高压环境下,我们常为了最快解决当下需求而忽略代码规范,在无意识中堆积大量债务。我们还观察到许多开发者被迫加班的罪魁祸首便是写低效代码、不重视代码优化。...接下来,我将为各位列举9种我个人工作中高频遇到的不整洁代码行为,并提出针对性优化建议。...1.1 变量命名不规范 在编程中,变量命名是非常重要的,良好的变量命名能够提高代码的可读性和可维护性。...6.1 单元测试 单元测试是验证代码中最小可测试单元的方法,下面是不添加单元测试的案例: def add_number(a, b): return a + b 在这个示例中,我们没有进行单元测试来验证函数...我们应该在保持代码清晰和易读的前提下,进行适度的优化。
我对低代码开发平台的浅见 出于职业习惯,我对不少低代码平台都做了一些肤浅的尝试。它们在各自的细分领域都有不俗的表现,但没有特别让我眼前一亮的通用开发平台。...它允许你撰写 yaml 和 SQL 处理大多后端需求,撰写少量 JSX 和 react 代码处理前端展示,这一切既可以在可视化工具中拖拽完成,也可以直接撰写代码,存入 git repo 中,享受其版本控制...如果我来开发一款 LCNC 产品,会是什么样子的? 首先,我的用户定位会放在程序员群体。程序员一般需要开发两类应用:公司的内部系统,以及业务系统。...那么,什么样的代码维护成本比较小呢?在我看来,如果后端组件(如上所示)已经使用了模板来进行复用,前端没道理抛开模板另开一套方案。所以,也许我们可以让前端倒退 10 年,走回模板的老路?...圣诞节返回西雅图的航班上,我本欲为文章做最后的收尾,无奈航班全程颠簸,害得我忍了四个多小时最终在最后一次跟不稳定气流对抗的过程中败下阵来,吐了一口袋的胃酸。
代码 附魔剑 锋利,火焰附加,击退 /give @p minecraft:diamond_sword 1 0 {ench:[{id:16,lvl:10000},{id:20,lvl:10000},{...id:19,lvl:10000}]} 附魔泥块 有附魔剑的属性 /give @p minecraft:dirt 1 0 {ench:[{id:16,lvl:10000},{id:20,lvl:10000
需要在修改函数中加入一个去除空字符串的函数. /** * 去除数组中的空字符串 */ function removeEmpty($arr) { $array = $arr; foreach
本文记录我写的代码逗比代码 C++ 篇 其实我发现使用 C++ 写逗比代码比 C# 更开森 #define !...std::cout << b; } 你猜猜输出是什么 本文所有代码放在 github 和 gitee 欢迎小伙伴访问
我将借此机会,与您分享我那段令人难忘的编程初体验,那段充满了繁复、愚蠢和迷茫,却也锻造了我如今的编程能力。让我们一同走进我的编程时光隧道,重温那个曾让我笑与泪交加的糟糕时光。...我还记得那天,我迫不及待地想要用编程解决一个简单的问题:判断一个给定的整数是否为素数。对于一个编程新手来说,这似乎是一个令人兴奋的挑战,但我的完美主义倾向却导致了我写下了一段极度繁复而愚蠢的代码。...我的代码开始于一个庞大的 if 语句,里面包含了各种条件,以确定一个数是否为素数。我试图在一个函数中完成这一任务,但不幸的是,我的代码很快就失控了。...这个代码的问题在于,我试图手动检查了所有可能的除数,但却忽略了素数的基本定义:只有两个正除数,1 和自身。我的愚蠢代码反映了我对问题的过度复杂化,以及对基础知识的不足。...这段修正后的代码更加简洁和高效,而且在正确性上也毫无问题。但是,我却花费了大量时间和精力在一个愚蠢而繁复的代码上。 这个故事告诉我们,编程不是追求繁复和复杂性的游戏,而是要注重简洁和正确性。
每当读懂软件的精彩设计,赞叹优美整洁的代码,甚至发现藏在注释中的彩蛋时,都好像在不同的时空与作者产生了交叉,畅快地聊了会儿天。 读代码很有趣,但要读通读懂也很费功夫。...本文是我在日常读代码中积累的一点心得,分享出来,希望能与大家产生共鸣。 1. 寻找一位好老师 优秀的项目就像一位好老师,我们可以从它身上全方位地学到各种领域知识。...这个时候,就应该进一步的思考,如果是我自己来解决问题,我会怎么做?我能比原作者做得更好吗(通常不能)?...经过这一阶段的思考并结合其他人的理解之后,我们就能清楚地意识到,软件所面临问题的限制条件是什么,作者这样设计的好处有哪些。把这部分写完,添加到文章的最开始,就比较完美了。...最后祝愿所有读者都能从代码中获得最大的乐趣。 ---- - 相关阅读 - 技术改变了什么? 失败驱动开发
领取专属 10元无门槛券
手把手带您无忧上云