首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

当我看到一堆if else内心是奔溃

下面将会谈谈在工作中如何减少if else嵌套。 正文 在谈方法之前,不妨先用个例子来说明if else嵌套过多弊端。...当接手到这么一个业务,是不是觉得很简单,稍动下脑就可以动手了: 先定义分享类型、分享Bean和分享回调类: private static final int TYPE_LINK = 0; private...老实说,如果没什么追求的话,还真没什么问题,至少思路是清晰。但一周后呢?一个月后呢?或者一年后呢?share方法分支有15条,这意味着你每次回看代码得自己大脑变成微型处理器,考虑15种情况。...上面的代码是用java写,对于java程序员来说,空值判断简直使人很沮丧,人身心疲惫。...个人觉得用户了解多几个方法好过了解多几个类,而已方法名一看就能知道意图,成本还是挺小,是可以接受。 其实这种情况,更多人想到是使用工厂模式。

42440

干一遍也就罢了,居然还一次次给你,当我好欺负吗?

经理:王小面,给过生日客户定期发送祝福短信! 经理:王小面,上个月销量分析做出来了吗? 王小面:太难了@~@ 经理:你还在手工调用代码?...任务管理库,包括任务定义job,触发器trigger,特别是提出cron表达式,几乎奠定整个时间规则基础。...前提 我们自己有个独立应用系统,假设是一个springboot项目,功能已经开发完成 该系统里有几个java方法,需要定期执行,有的需要每天夜间执行,有的需要每隔一小执行一次,等等 典型任务包括:月末数据汇总统计...testService.saveObject(); } } 现在我们项目通过config配置了执行器,又建立了任务类,接下来需要配置他运行。...保存 回到列表,点击操作-启动,如果顺利,在项目控制台,就会每5秒看到输出日志了。 王小面:经理,做完了 经理:今天怎么这么快? 王小面:还是师父给力啊,谢谢XXL

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

    leader 设计实现多标签页~竟一没想到好实现~

    大家好,是若川。持续组织了近一年源码共读活动,感兴趣可以 点此扫码加我微信 ruochuan12 参与,每周大家一起学习200行左右源码,共同进步。...同时极力推荐订阅《学习源码整体架构系列》 包含20余篇源码文章。历史面试系列。另外:目前建有江西|湖南|湖北籍前端群,可加我微信进群。...文章分为三部分 设计思路 遇到问题 扩展到自建路由 一、设计思路 之所以要设计多页签,是因为现有的框架路由只能单开,Vue 里面即使有 keep-alive,当面对类似/detail:id这种路由也只能同时存在一个...四、总结 以上就是多页签总体设计思路,大家有什么想法,欢迎在评论区交流。 ················· 若川简介 ················· 你好,是若川,毕业于江西高校。...扫码加我微信 lxchuan12、拉你进源码共读群 今日话题 目前建有江西|湖南|湖北 籍 前端群,想进群可以加我微信 lxchuan12 进群。分享、收藏、点赞、在看我文章就是对最大支持~

    92910

    游戏一个“杀手级”特性相信它未来

    但是 30 多年过去了,反而觉得游戏机已经变得无关紧要了。未来将是云游戏天下,并且,正是 Xbox 笃信了这一观点。...因为它不具备这样性能,也不具备这样硬盘空间。不管 PS4 和 Xbox One 如何强大,最后都将面临相同处境。而这正是云游戏作用。云游戏不需要你家中硬件,而是转移到另一个位置:云端。...云游戏缺点 需要指出是,当前游戏也存在着一些不足之处。历史总在重演。在 Netflix 等流媒体服务刚刚面世,并没有多少流媒体内容。...科技公司正致力于解决这一问题,不管是提高互联网网速,还是采用更创新解决方案,比如在你做出游戏选择之前预测你游戏选择。但无论如何,在可以预见将来,云游戏在许多情况下并不会像本地游戏那样流畅。...然而,当我用流媒体形式打游戏通常无法获得完整游戏帧数,因此就丧失了游戏电视机某些优势。那不要紧,可以在大投影仪上切换到我 Xbox One。

    47720

    面试官:看看你Redis功力如何

    金三银四求职季,特地为大家汇总了涵盖Java基础、线程、并发编程及JVM等核心领域面试题集,希望能为正在准备或即将参与面试小伙伴们提供些许帮助。 以下是本文精心挑选15道Redis面试题。...最近给大家准备了一个关注领红包福利,欢迎大家加入技术交流群,一起抱团学习。一人走得更快,但是一群人才能走得更远。 2、为什么Redis单线程模型效率也能那么高?...案例:存储游戏玩家分数排行榜,根据分数高低进行排序。 HyperLogLog: 使用场景:HyperLogLog主要用于进行大规模数据去重或数据集基数估计。...4、Redis数据结构是如何组织? 为了实现从键到值快速访问,Redis 使用了一个全局哈希表来保存所有键值对。 哈希表最大好处很明显,可以用 O(1) 时间复杂度来快速查找到键值对。...所以,引入多线程主要是为了并行处理网络IO,命令执行仍然是单线程。 10、如何在100个亿URL中快速判断某URL是否存在?

    21810

    如何在面试别人Spring事务“套路”对方

    自从上次写了一篇“【面试】如何面试别人List相关知识,深度有点长文”文章后,有读者专门加我微信,说是“中国最好面试官”,这个可受不起呀。...明白你意思,就是@Transactional。 他:是的。 :与自己写代码来开启和提交事务相比,(先给他来个小套路),这种通过注解来使用事务方式叫什么?...他:那我就现学现卖,事务是由代理加进去,所以关键就是代理如何生成。...不过Spring选择protected方法和package方法不支持事务,所以只有public方法支持事务。...他:以前在网上也看到过有人说事务不生效情况,想,这个问题不会发生在身上了。 后记 本文循序渐进地介绍了什么是代理,代理具备特征,以及如何实现代理。它可是声明式事务赖以存在基石。

    40620

    如何登陆某知名主播游戏账号

    如何登陆某知名主播游戏账号 From ChaMd5安全团队核心成员 香香 在寒假时候在表姐带领之下迷上了某某狼人杀。玩着玩着想实现裸点场上全部人身份。...鸡汁就用wireshark抓包,但是并没有实现裸点全场身份。为什么呢?下图做出解释。 ?...所以这一步时候,写了个脚本去跑JYID,本以为会跑很久(几百万用户),可是没想到运气很好(老板是第一批用户,23333)。 ? 然后去越权登录JY账号装装逼啊!!! ?...漏洞发现时,已经第一间反馈给官方客服。 ? 这是给他们反馈另一个洞截图。前面的私信被我删了 = =。 那么如何防御这一类越权漏洞呢? 对ID进行另一个同密匙绑定传输,个人认为是最有效方案。...你光知道id不行,你还得知道密匙。 其次,用户ID传输时候不要用自加明文ID,加个密再传ID进行比较啊。----

    1.2K90

    游戏如何变成一个程序猿【Gaming】

    在很多方面,它成为一个英雄,或者至少扮演一个英雄角色。 NyxMud一个特殊特性是,每次连接到play,都是从一个空库存开始。...从来都不想通过出售装备来“支付商店税”,这意味着要熬夜、熬夜上生物课。每一个现代游戏设计师都想你说,“爸爸,现在不能吃晚饭了,必须继续玩,否则就有大麻烦了。”...NyxMud着迷,几十年前就这么说了。 所以,当到了“cast fireball”或者面对迫在眉睫、毁灭性死亡时候,被迫学习如何正确打字。...因此,他创造了一个复杂,神奇物体,可以用户产生新游戏元素。当这个魔杖被调用时,它会运行向导通过一个基于菜单工作流来创建房间和对象,建立任务目标,并设计可怕怪物。...作为一个没有玩过其他游戏巫师,没有错过从未拥有过东西。此外,没有办法访问任何系统,telnet在Nyx上就不能用了,这是互联网唯一方式。

    71550

    【面试】如何在面试别人Spring事务“套路”对方

    “中国最好面试官” 自从上次写了一篇“【面试】如何面试别人List相关知识,深度有点长文”文章后,有读者专门加我微信,说是“中国最好面试官”,这个可受不起呀。...明白你意思,就是@Transactional。 他:是的。 :与自己写代码来开启和提交事务相比,(先给他来个小套路),这种通过注解来使用事务方式叫什么?...他:那我就现学现卖,事务是由代理加进去,所以关键就是代理如何生成。...不过Spring选择protected方法和package方法不支持事务,所以只有public方法支持事务。...他:以前在网上也看到过有人说事务不生效情况,想,这个问题不会发生在身上了。 后记 本文循序渐进地介绍了什么是代理,代理具备特征,以及如何实现代理。它可是声明式事务赖以存在基石。

    36610

    问与答91:如何到点后Excel自动提醒要做工作?

    Q:由于工作太多太杂,导致经常忘记要做事情,希望利用Excel工作表来定时提醒当前要进行工作。也就是说,在到达某个时刻后,工作表中文本框会自动显示该时刻应该做工作。...如下面的图1和图2所示,图1为工作安排表,列A中为安排工作,列B中为相应工作开始时间;图2用于显示当前应进行工作。 ? 图1:工作安排表。...列A中是工作安排,列B中是工作开始时间,可根据需要修改和添加。 ? 图2:显示当前工作界面。单击“显示”按钮后程序开始工作,当达到某时刻后,文本框中会显示当前应进行工作。...rng.Find(dTime) Sheet5.TextBox1.Value =rngFind.Offset(0, -1).Value DisplayData End Sub 注意,工作表中“...显示”按钮关联子过程为“DisplayData”。

    1.3K10

    3小脱销!!!《真有绝招》项目要点揭露!值得每个做游戏玩家学习!

    回到今天主题,下面是「柳一刀」为我们提供真有绝招》项目要点,绝对能帮助购买用户进行二次创作。 就算不打算入手伙伴,也能从下文中学习到游戏设计相关干货,获得经验!...三、框架流程 框架模块 整理出项目的七大系统,可以帮助你理解游戏代码设计思路,分别是: 技能系统:主动技能、被动技能,技能可以升级,设置有技能点消耗; 能量系统:游戏中技能能量控制,攻击怪物时会自动恢复...) 抽奖系统:消耗怪物击杀点数兑换奖励,或直接看视频获得抽奖机会(需要接入小游戏视频广告) UI流程 一切罪恶起源Main.ts开始,先看一个简单流程图: 在这里只能介绍一些关键技术点,后面再想想怎么能把项目讲好...所有怪物控制类,里面包括了如何读配置、产生怪物、和怪物逻辑交互,是游戏最重要一个类; Role.ts:所有我方和敌方基类,里面包括了有限状态机,简单AI操作; Bullet.ts:伤害类,本游戏所有技能或道具伤害.../Behavior:怪物行为类目录,所有文件,多看一下基本就会懂啦; 四、更多分享 《真有绝招》这个游戏能得到你认可与喜爱,非常激动,后继还会有更多关于技术、策划方面的分享,比如: 游戏打击感还是不错

    87631

    Confluence 6 如何小组成员知道那些内容是重要

    空间(My Spaces) 添加任何你希望快速导航空间到 空间(My Spaces)列表中。这个列表可以在主面板下找到和空间目录下找到。...希望将一个空间从空间中删除,取消选择空间边上星号图标就可以了。 ? 为以后保存(Save for later) 如果你仅仅希望链接一些特定页面和博客页面而不是整个空间的话。...@mentions 使用 @mentions 功能能够你希望其他用户对这个内容进行评论或者修改,或者将一些任务指派给其他用户。这个功能称为提及(mentions)。提及用户工作原理和标签是类似的。...如果你是通过 creating a task 来提及用户,这些任务将会被指派给提及用户,同时这些任务也能够他们在他们属性页中找到。...同时他们还可以通过提及你来你知道他们工作已经完成了。 https://www.cwiki.us/display/CONF6ZH/Organize+your+Space

    1.1K10

    迈克尔·霍利:当我看到人们急着加入新行列、抛弃高度发展老技术就感到很伤心

    在这一区域最下边,你可以坐在水池里,热水冲击你背部,就像在按摩浴缸里一样。隔一会儿,就有一个大浪涌入,你冻得直发抖,然后,越来越多热水会流下来,你重新暖和起来。我们搭起帐篷,吃了晚饭。...在多年受挫之后,人们会对写蹩脚计算机程序感到厌倦。喜欢编程地方,则是它可以真正帮助你思考我们该如何沟通、如何思考,逻辑如何运作,创造性艺术如何产生。...可以在这个字处理器程序里打字,然后当我想找一下某本书或某个作者是怎么使用某个单词,只要用鼠标点一下,然后,呼拉,就会弹出一个小窗口,里面有五六条例子,展示数据库里那些伟大作家是如何使用这个词。...这不是计算机要做事情,当我看到人们急着加入新行列、抛弃高度发展老技术就感到很伤心。这是一个大问题。 采访者:你不是看到音乐中发生事情了吗?举一个例子,古典乐器。...我们需要是能够达到和理解图片或者声音美丽动人复杂度。模拟是理解问题好方法,但模拟不是目的。更有兴趣做以前没法做事情。

    54220

    不是修电脑!新年餐桌上,如何老妈搞懂自己“技术”工作

    这篇文章里,让我们尝试用最通俗易懂方式-一家烘培店,向餐桌上朋友和亲人解释技术相关基本概念。既然是在餐桌上,身为吃货我们,就用吃来解释这一切吧! 先来聊聊公司背景 你公司是一家烘焙店。...1、产品经理 你任务是弄清楚面包店整体经营策略,或者某种面包烘焙策略,比方说烘焙加什么香料,有什么特色,或者面包店应该提供什么新东西。 到了开发产品,你代表客户声音。...你不是面包师或厨师管理者,你只管理面包店烘焙食物:什么时候发售,推出它目标是什么,它目标受众是谁。...推出一个全新产品,你会确定它在技术上是否可行,但是你会尝试掌握你所需要任何技能来完成它。 4、运营 想象一个大规模面包店,店内有数千种不同糕点。...你还需要不断给团队提供信息,确保面包店客源不会流失。 如何工作? APIs 烤箱上刻度盘。 Cloud云 一个大型网络烤箱,可以帮助你快速地向世界各地提供商品。

    75430

    在中国,《世界》如何从“一款游戏”变成“一种教育”?

    开发商Mojang和微软专门为孩子设计世界》“编程一小”教程,恰恰是连接游戏与编程重要桥梁之一。它面向4岁以上中小学生,参与者在玩游戏同时,通过简单可视化模块关卡学习编程结构。...当孩子绞尽脑汁思考如何史蒂夫获取钻石镐,他们可能不知道鼠标键拖动五颜六色方框,就是一个个印象中枯燥乏味代码。有趣、方便、零门槛成为这个教程代名词。...面对目前“编程一小”活动所带来影响力,《世界》中国版制作人陈枫表示,“今年是微软编程一小项目的第4年,网易希望能够通过《世界》精神内涵与教育方式,全球更多青少年加入学习计算机科学行列中...三、从“游戏”到“教育”,《世界》如何创造更大想象空间?...在外界开始正视第九艺术并肯定《世界》教育意义的当下,你必须承认——《世界》不仅是作为游戏而存在,而且它甚至大众对“游戏”真正有了正面的印象。

    1.1K110

    如何一步步公司MySQL支撑亿级流量

    1 主从读写分离 当我们面临高并发查询数据请求,可以使用主从读写分离方式,部署多个从库分摊读压力。...大部分互联网业务都是读多写少,因此优先考虑DB如何支撑更高并发查询,首先就需要区分读、写流量,这才方便针对读流量单独扩展,即主从读写分离。...主从同步延迟也是排查问题容易忽略。 有时会遇到从DB获取不到信息诡异问题,会纠结代码中是否有一些逻辑把之前写入内容删除了,但发现过段时间再去查询又能读到数据,这基本就是主从延迟问题。...所以,一般把从库落后时间作为一个重点DB指标,做监控和报警,正常时间在ms级,达到s级就要告警。 主从延迟时间预警,那如何通过哪个数据库中哪个指标来判别?...3 如何访问DB 使用主从复制将数据复制到多个节点,也实现了DB读写分离,这时,对DB使用也发生了变化: 以前只需使用一个DB地址 现在需使用一个主库地址,多个从库地址,且需区分写入操作和查询操作,

    57930

    如何一步步公司MySQL支撑亿级流量

    1 主从读写分离 大部分互联网业务都是读多写少,因此优先考虑DB如何支撑更高查询数,首先就需要区分读、写流量,这才方便针对读流量单独扩展,即主从读写分离。...主从同步延迟也是排查问题容易忽略。 有时会遇到从DB获取不到信息诡异问题,会纠结代码中是否有一些逻辑把之前写入内容删除了,但发现过段时间再去查询又能读到数据,这基本就是主从延迟问题。...所以,一般把从库落后时间作为一个重点DB指标,做监控和报警,正常时间在ms级,达到s级就要告警。 主从延迟时间预警,那如何通过哪个数据库中哪个指标来判别?...3 如何访问DB 使用主从复制将数据复制到多个节点,也实现了DB读写分离,这时,对DB使用也发生了变化: 以前只需使用一个DB地址 现在需使用一个主库地址,多个从库地址,且需区分写入操作和查询操作,...这类中间件部署在独立服务器,业务代码如同在使用单一DB,实际上它内部管理着很多数据源,当有DB请求,它会对SQL语句做必要改写,然后发往指定数据源。

    74720

    如何公司后台管理系统焕然一新(下)-封装组件

    其实这个问题旨在了解你在遇到问题时候解决方法,毕竟现在前端技术领域广,各种框架和组件库层出不穷,而业务需求上有时纷繁复杂,观察一个程序员在面对未知问题如何处理,这个过程相对于只出一些面试题来考面试者更能了解面试者实际解决问题能力...其实也遇到过相同情况,和面试官说如何通过搜索引擎解决这些坑吧不太好,面试官认为你只是一个API Caller,但是又没有什么值得一谈项目难点 建议是,如果没有什么可以深聊技术难点,不妨在日常开发过程中...,试着封装几个常用组件,同时尝试分析项目的性能瓶颈,寻找一些优化方案,同样也能让面试官对你有一个整体了解 上篇分享了在项目中是如何根据功能划分模块以及性能优化技巧,这章我会记录设计和封装组件过程...,从而达到了模板和配置项解耦目的 交互复杂表头列解决方式 对于一些需要特别处理表头列数据,在组件内部利用插槽和作用域插槽,通过插槽定义表头列插入位置,再通过作用域插槽将信息返回给父组件,在父组件中定义如何显示...可以看到具名插槽名字也是通过配置项传入,并且作用域插槽将整个表单内部数据通过scope传给父组件,在复杂业务场景,无法通过配置项解决问题时候,通过插槽和作用域插槽父组件去决定如何去处理数据

    2.1K10

    如何公司后台管理系统焕然一新(上) -性能优化

    其实也遇到过相同情况,和面试官说如何通过搜索引擎解决这些坑吧不太好,面试官认为你只是一个API Caller,但是又没有什么值得一谈项目难点 建议是,如果没有什么可以深聊技术难点,不妨在日常开发过程中...,试着封装几个常用组件,同时尝试分析项目的性能瓶颈,寻找一些优化方案,同样也能让面试官对你有一个整体了解 在这篇文章中,我会分享在目前公司项目里,是如何在满足业务需求基础上,整个系统焕然一新过程...这里从以下4个方面分享一下在项目中是如何改善系统性能,系统"步履如飞" 网络请求相关 构建相关 静态资源优化 编码相关 网络请求相关 这部分旨在实现需求前提下尽量减少http请求开销,或者减少响应时间...,如何尽可能减少白屏对用户影响,目前选择是在html模版中,注入一个loading动画,这里拿D2-Admin中loading动画举例 <!...源代码 部分优化方案放在github上,有兴趣可以看看 源码地址 下篇在这里: 如何公司后台管理系统焕然一新(下)-封装组件 参考资料 vue-element-admin D2 Admin

    2.7K20

    程序员自白:如何失败项目起死回生,变成价值 270亿美元应用程序?

    不知不觉中,七岁 Stewart 就已经对编程有所了解。 “但等到上高中时候,计算机对来说已经不那么有趣了。好在进入大学之后,在学校 Unix 机器上得到一个账户,并首次接触到了互联网。...开发团队决定把制作游戏开发出技术用来构建其他产品,这就是后来 Flickr。 正所谓东边不亮西边亮,游戏意外夭折,但它留下遗产却让 Flickr 发展成极具商业可行性惊喜产品。...有那么几个月,开发团队一边做游戏,一边还得搞 Flickr。所以最终决定放弃游戏开发,Stewart 觉得很沮丧,参与过游戏测试的人们也很失望。...“我们大家失望了,很多参与测试朋友都很喜欢这款游戏,觉得它很酷。但好在 Flickr 也不错,很有前途,所以大家也不算是深受打击。” Flickr 也确实受到大家青睐,用户基础逐步积累了起来。...但到了 2009 年,Apache 基础已经强大且成熟,种种伟大网络科技再辅以性能更强计算机设备,开始更多人享受到「网上冲浪」快感。”

    68410
    领券