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

Spring Boot的热部署,告别修改代码后重启!

所谓热部署就是在你修改代码的时候重修编译程序,使用过Tomcat也许知道在Tomcat中可以进行热部署或者热加载,那么Spring Boot该如何在内置服务器中进行热部署呢?...它为我们提供了一个模块叫做devtools 在maven中依赖spring-boot-devtools,注意看(无法实现的是一般是没注意看) ?...接下来我们要打开IntelliJ IDEA的自动编译Class文件 热部署的原理是产生一个新的类加载器,所以我们一个类在JVM中可能会产生两个独立的类 我们打开IntelliJ IDEA的首选项,进行如下设置...OK,现在把项目重启后,每当你修改代码时,便会启动热部署 以上便是Spring Boot热部署的开启步骤 谢谢关注~记得点个赞再走哦

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

    看代码学安全(10)程序未恰当exit导致的问题

    漏洞解析 : 这道题目实际上讲的是当检测到攻击时,虽然有相应的防御操作,但是程序未立即停止退出,导致程序继续执行的问题。...但是这里注意了,网站在弹出告警信息后,并没有退出,而是继续执行,所以我们在不删除 INSTALL 文件的情况下,仍可以重装网站。...比较有趣的是,原本网站网站成功后,程序会自动删除 upload 目录下的所有文件,来防止攻击者重装网站,然而这段代码却在注释当中,具体原因不得而知。 ?...而且程序的安装逻辑其实是有问题的,安装步骤由 $setup** 变量控制,而 **$setup 变量可以被用户完全控制(如上图 第10行 代码),攻击者完全可以控制网站的安装步骤。...结语 看完了上述分析,不知道大家是否对 未正确退出程序 导致的攻击有了更加深入的理解,文中用到的 CMS 可以从这里( FengCms 1.32 、 Simple-Log1.6 )下载,当然文中若有不当之处

    44920

    解决ubuntu16.04中codeblocks中文显示不全的问题

    大家好,又见面了,我是你们的朋友全栈君。 ubuntu16.04中codeblocks对中文的支持,需要以下几方面的保证。 文章目录 1. ubuntu16.04是否安装了中文语言包?...设置codeblocks代码编码的编译选项 6.codeblock设置字体为:kacstdigital 或 century schoolbookl ubuntu添加字体 Ubuntu16.04更换漂亮绚丽...设置codeblocks工作空间编码为utf-8(或windows-936即gbk) 5. 设置codeblocks代码编码的编译选项 Ubuntu默认的中文字符编码为zh_CN.UTF-8。...所以可执行的代码编码设置为utf-8....字体,完美显示中英文 经过上面6个步骤可完全解决中文的支持问题,但是codeblocks中字体显示的代码样式很丑,windows下常用的consolas字体在ubuntu codeblocks下显示也很丑

    2.1K20

    我见过的最糟糕的程序代码

    这个程序出了点问题,公司派了一个去修复这个问题,等他回来后发现精神有点反常,不是哭就是笑,嘴里嘟囔着什么“匹萨调用汉堡并且传入了包子”。...程序员的代码里通常体现着自己对幽默的理解以及对‘工作保密’这个词的认识。...就这样,我接手了这个费力不讨好的烂摊子,努力的把程序恢复到一个可维护的状态。 说实话,这是一个极好的加密形式,只有拿到密钥你才能让这些“代码沙拉“变得有意义。...把已知的函数和源代码进行恢复要比对未知的代码进行反向解析容易的多,因为首先你要分清代码里哪些是程序,哪些是数据,而放在我前面的这些程序显然都是明文,所有这活儿并不是不可能完成,或者说是格外的困难,只是这活儿太乏味太无趣了...另外一个问题是,代码写的太烂,事实上,这意大利面条式的代码比这些毫无意义的符号更让人困惑,等我把函数名和变量名都改回有意义的名称后,我开始把一大堆的代码重写,让它们易于理解、效率更高。

    67450

    公开代码,我的量化程序的开发历程!

    今天给大家分享一位好朋友的六年量化程序开发历程,最后他的策略实现了很高的收益,身边有很多朋友也都是主业码农,副业量化,这种搭配是现在非常流行的,量化代码给大家放在了文章末尾,看完后希望对你有所启发与帮助...~ 一、起始 2018年大概11月份的时候,忽然想到一个点子,就是用LSTM模型根据前几天的股票价格来预测后一天的股票价格。...先是用tushare简单写了一个下载股票数据的程序,把A股日线数据都下载了下来保存在本地,然后用LSTM模型用前15天的数据预测后一天的数据,由于数据量不大,程序跑得也很快,我记得执行结果的预测准确率大概是...于是我很快花了一两天时间写了一个简单的回测程序(看了一下,这个程序还在我的硬盘里,1000行左右的代码,逻辑比较完整,不但可以回测,还可以暴力搜索参数,也是开始回测我设计的那些交易系统。...现在策略已经基本上到达很难改进的程度了,而且理论收益也已经到了我无法更加满意的程度,至于说后面还能有什么改进,我想看机缘吧。 对了,最后说一下程序的规模。程序主体大概4w行,其它辅助代码1w行。

    97440

    CodeBlocks 配色方案设置

    官方配色 ---- codeblocks是一个功能很强大编程软件,我们在安装codeblocks后软件默认的是白底黑字界面,这种界面在长时间写代码时会对眼睛造成很大伤害,增加眼疲劳,因此我们需要一个清晰干净明了...我的是Win7系统,XP系统可能略有差异。一般cb_share_config.exe程序中选择的默认路径即是。...第二种方法: 首先进入codeblocks官网找到colour theme代码,链接如下 Syntax highlighting custom colour themes 将配色方案的代码,保存为...重启codeblocks后,在Settings->Editor->左侧Syntax highlighting,可以看到配色方案已经添加成功: ?...回到配色方案那里,这里使用sumblime配色,需要调整的地方就是代码中未激的区域(inactive),比如: #if 0 int element; #endif 把所有的inactive区域全部调整与正常代码相同的配色

    3.4K20

    99%的程序猿写完代码后都是这个样子!

    1、当你改错一行代码的时候 2、当你想要重构别人的代码时 3、当你尝试想要修复一个bug时的样子 4、当你凌晨4点还在工作时的样子 5、星期五下午项目经理给你分配任务时的样子 6、当你尝试修复别人代码的时候...8、终端用户不知道该如何使用你开发软件的时候 9、市场部的那些人告诉你他们是这样销售软件的 10、当你看到第一次使用CSS美化页面时的效果时的样子 11、当你经过一夜鏖战后第一次运行开发出的脚本时的样子...12、当老板想要找你来修复这个严重bug时样子 13、当你发现没有按control-s就关闭文件时的样子 14、当你在没有使用谷歌的情况下解决了严重问题时的样子 15、你往运行服务器上直接上传文件时的样子...16、当你发现有东西上周五还非常好用,到了周一却不灵时的样子 17、当所有人都在办公室挥汗如雨的加班,而你却能安然的回家度周末时的样子 18、当你听到老板说项目如果能赶在最后期限前,开发完成将会有一笔奖金时的样子...19、当你使用正则表达式返回了想要的结果时的样子 20、当你终于把代码写完时的样子

    77850

    优秀的代码是反复修改后创造出来的

    优秀的代码是反复修改后创造出来的  近些年来,越来越多的人开始转向敏捷开发,而且这些敏捷开发的技术已不再新鲜,大多都是在80和90年代设计形成的。...少写一些无谓的代码,多一些思考 。 ?   在我们现在的项目中,几乎所有重要的功能都要从零开始写,并且重复修改很多次。这虽然很慢,但确定的是写出的代码越来越好了。...当你修改某一部分的 代码已经 三到四次,或又修补了这里的一个bug,你就开始有点想躲避这部分代码,如果不再处理它你就会很高兴。当有了这样的想法后,你肯定会删了这些代码。...你的需求是这样,你的代码和架构也要这样。   写两遍代码会花费两倍的时间?   当我告诉人们所有的程序都要至少写两遍时,他们担心这样会使完成整个项目的时间加倍。...但事实不是这样的,我来告诉你原因:   1.第二次写代码,只会花费你第一次写代码时的部分时间;   2.重写之后的代码在质量上会有显著提高,而且维护性和可扩展性都会更好,你的编程速度也会越来越快。

    690100

    上微前端后,我司的祖传代码有救了

    但是我理解是借鉴了后端微服务这个轮子,加以改进优化,应用到了前端框架上,提升了现代前端框架很多方面的体验。 InfoQ:什么样的业务需要用到微前端?这些场景真的有必要用微前端吗?...杨昊一: 我一直觉得使用什么技术一定要用最适合自己的,不能仅仅因为微前端很火就强行给自己的项目上这个技术。...InfoQ:引入微前端需要天时地利人和,请从引入时机、自身的资源条件、人员三个方向对此做出解析。 杨昊一: 我觉得在项目开始的时候就需要对今后的发展进行一些预判。...就像上面我提到过的,我们使用微前端技术是项目发展到一定程度水到渠成的事儿。 我们的大框架是基于 Vue 的,并不涉及到需要使用另一种前端框架的情况(比如 React)。...在改造后,因为每个微前端模块是单独打包编译的,热更新只需要零点几秒即可完成。 其次,我们的微前端框架也做到了页面模块化配置,通过配置文件就可以把很多模块拼成一个页面。每个小模块的功能更加清晰明了。

    60220

    代码的“真面目”---如何查看cpp预处理后程序代码

    cpp中预处理必不可少,如何查看预处理后的程序代码呢?单文件?CMake+makefile?CMake+ninja?ndk-build? XCode? 答案都在这里。...一、问题缘起 cpp的宏定义,适当的使用既可以减少重复代码,又避免了模板带来的代码膨胀,是很顺手的利器。...但使用宏定义后,宏在预处理阶段才展开,会造成代码阅读的不便;尤其是宏嵌套,会极大加深代码阅读和了解难度。 [恐怖的宏定义] 用宏封装后,使用起来会非常方便。但是第一次阅读时,会比较难以理解。...如果能阅读宏展开后的代码,会轻松方便很多。 所以本文目的就是如何方便快捷的获得宏展开后的代码?...CMake + make 平常验证cpp代码喜欢使用CLion,CLion默认使用CMake + make构建系统,项目结构如下: [Clion项目结构] 分析了CMake默认生成的makefile,意外发现里面就有我需要的

    6K41

    创建新的分支修改本地代码后并进行分支提交合并

    :【已指明当前所处分支】 git branch 2、修改本地代码 例如: 创建 tabBar 页面 配置 tabBar 效果 等等。。。...修改 3、分支的提交与合并  3.1  将本地的 tabbar 分支进行本地的 commit 提交: 将所有文件都加入到暂存区: git add ....执行下面命令,查看页面状态,出现一堆绿色文字,证明已经将所有文件都加入到暂存区 git status 进行本地提交:【本地的tabBar代码是最新的,但是远程的还没有提交】 git commit -m..."完成了 tabBar 的开发" 3.2  将本地的 tabbar 分支推送到远程仓库进行保存: 未推送远程: git push -u origin tabbar 执行上面命令后: 3.3...tabbar 分支合并到本地的 master 分支: git merge tabbar 3.4  推送本地代码到远程仓库 git push 3.5  删除本地的 tabbar 分支: 删除本地【已完成使命

    9510

    程序员:请不要对我的代码指手画脚!

    程序员对于别人指手画脚的容忍度有多高?特别是一个自以为十分精通实则只是个门外汉的上司?本文我们来讨论下,面对这种情况程序员该怎么办。 ?...以下为译文: 假如有这样一个故事背景: 你自己在家的时候,发现房子里有地方积水。估计是水管漏水,也有可能是水龙头漏水。于是你打电话找了个水管工,他检查后找到了问题。...,但是老板说因为你最近向产品推送了一批JavaScript的代码。开发人员说,“我很确信我的代码不会引发这样的问题,而且时间也不对,因为我在两天前推送的代码,当时并没有这个问题。...10-15分钟后,开发人员回来说,“这貌似是个回车键的问题(回车键输入为\r)”,而老板说,“不对,我已经试过了,回车键并不能解决问题,这就是个JavaScript的问题。”开发人员有点摸不着头脑。...几经周折,最终程序员正确地清除了输出中的回车键,从而修复了这个问题。 像这样的事情经常发生在开发人员与领导或老板之间。很多人以为他们比那些受过训练的开发人员懂得更多。

    42620

    EasyCVR程序启动后,流量统计在配置中修改未能生效的问题修复

    平台可对接入的视频资源进行统一的整合、分析和处理,并提供视频数据共享、分发等功能,采用高效率的H.265/H.264数字视频编码技术,以及视频处理技术、智能分析等技术,平台已经在大量的线下场景中落地应用...image.png 在测试使用时发现,EasyCVR程序启动过后,出现流量统计从配置文件中修改未生效的问题。...image.png image.png 在分析原因时发现,在程序启动时,处理了流量统计功能的开关,当启动时没有开放流量的功能,那么功能就退出了。 可添加如下代码,对流量统计的开关进行定时判断。...isTrafficSum = module.Key("is_traffic_sum").MustBool(false) if isTrafficSum { break } } } 修改后再次查看流量统计...SDK、大华SDK等,能兼容多类型的设备接入,可覆盖市面上大多数的视频源设备。

    75020

    史上最强IDE集成开发环境——Code::Blocks简介及安装

    Code::Blocks至本文发表时,只出过一个正式版,是2008年2月出来的,所以这个正式版的版本号为:8.02。 对于非正式版,Code::Blocks采用其源代码管理工具svn的代码版本号。...3.安装正式发行版 Code::Blocks 的第一个正式发行版 8.02 (2008年2月发行) 是必须的。升级包必须在发行版安装后,才能安装。 3.1 下载正式版安装程序。...3.3 运行安装程序 3.1 步中,下载得到一个执行的文件,双击后运行,请按照以下说明进行安装。 3.3.1 选择“Full/完整”安装,以免重要插件没有被安装上。 ?...前一文件由本站提供改进,后一文件由本站在原英文版上自行提供。 如果您正在使用CodeBlocks,请确保先退出该程序。...(图7:系统路径修改内容) 修改完之后,别忘了复制修改后的全部内容,粘贴,替换图6中,第二个编辑框原有内容。 一路“确定”,关掉各级对话框。

    3.3K20

    35岁程序员:被大厂裁员后,我赚的更多了!

    认识一兄弟,技术不错,p7,干架构的,也在这场风波中“光荣毕业”了,前段时间找我出去小聚,聊起了这事儿: “比起惆怅,我更多的是感到自由了”,他中途说到,“其实在大厂工作的时候就接触过一些兼职。...这下就放手去做了,一年快过去了,也确实小有成效,拿到手的不比以前少。” 我理了理咱对话的内容,大致如下,有更好建议的朋友也可以留言,一起讨论。 一、做什么副业?...在职的程序员,可以先尝试接触,把握好80%的时间在本职上,留出20%的余力处理兼职,而且一定要选择一个擅长的方向去做!...二、程序员可以做的3种副业 1、有技术的程序员 有的中小公司会找业内的技术专家,解决某个技术问题,又或许是针对开发需求组织的团队内训,包括一些程序员培训机构,也会邀请技术专家参与课程研发,都是为你的技能付费...1、程序员客栈 国内领先的程序员自由远程工作平台,这行的应该都知道吧。灵活度高,比较自由,单子比较多,个人推荐! 2、英选 平台以定制开发外包服务为主,也是外包项目平台。

    73930

    在别人写的代码上做修改我是这样保证正确性

    9年来我再也没有接手可以毫无负担,直接推倒重写的代码。就算有,不搞清楚以前的逻辑和背景,就直接抛掉这些历史包袱是不对的。在修改别人写的代码的时候,我们需要信奉黑格尔的名言:“存在即合理”。...一定要弄清楚之前这样编写代码是出于什么样的考虑。 项目背景 这段时间我们团队在修改之前的一个功能。在我接触到这个项目的时候,设计方案已经被讨论了多次,已经到了详细设计的阶段。...引起了高度的重视。因为这是修改之前几年前编写的几经易手、十分核心且之前没怎么敢改动的代码。...详细方案设计在别人写的代码上做修改,做详细设计时,第一步要做的是充分评估改动影响;第二步是画流程图梳理改动前后的调用链和数据流,列出修改点;第三步是定好测试关键案例,确保结果的正确性。...因为在编码阶段,不仅我自己用心了,CodeReview的同事也用心了,没有问题才是正常的。这也应该是编写提交后最普遍的结果。因为一旦问题让测试发现了,那这通常只是冰山一角,底下会隐藏更多的问题。

    1.2K20

    只因少写一个判空,我的代码上线后炸了!

    代码炸了 前一段时间,项目紧急迭代,临时加入了一个新功能:用户通过浏览器在系统界面上操作,然后Java后台代码做一些数据的查询、计算和整合的工作,并对第三方提供了操作接口。...很明显,后台代码炸了!拉了一下后台日志,原来又是烦人的空指针异常NullPointerException ! ? ?...为此,本文痛定思痛,关于 null空指针异常问题的预防和解决,详细整理成文,并严格反思:我们到底在代码中应该如何防止空指针异常所导致的Bug?...=null)判空,那么他的代码肯定是有一定 bug几率的。...上面所述的 Optional语法只是在 JDK 1.8版本后才开始引入,那还在用 JDK 1.8版本之前的老项目怎么办呢? 没关系!

    92920

    对不起,我的代码评审毁了一个程序员!

    我打开 pr,查看了它想要解决的问题,设想了一下我可能会采用的解决方案,然后开始阅读代码。与以前一样,这些代码纯粹是垃圾。与我设想的解决方案差远了。于是,我写了一些抱怨的评语后,又开始阅读细节。...当我把鼠标移到“提交评审”上时我突然想:我为什么要这样?我对这些代码如此愤怒也是有原因的。作为团队的一员,我需要对这个项目的代码负起全部责任,毕竟以后我要照看这些代码。这些代码是所有业务问题的根源。...那时我问了问题,也遭遇了很多凌辱:他们说我的问题是垃圾,解决方案更垃圾,还说我选错了语言,甚至不配成为“好”的程序员。 我想要变得更好,似乎只是为了把他们甩在身后。...上苍通过这种方式成全了我,所以我也可以唤醒其他年轻和没有经验的程序员的愤怒,这样他们才能成为更好的程序员,然后再对其他人做同样的事情,以此类推。...事实证明,你不必成为一名优秀的程序员,而只需要说服别人你是一个好的程序员。这种行为会造成一种恶性循环,不利于培养专业人员,而是有害的问题。 如果你想爬得更高,那么你会无时无刻不担心这种伪装会被识穿。

    78820
    领券