部署Spring Boot应用
SpringBoot 应用可直接打包成 Jar、War,运行时执行 java -jar *.jar/*.war
。但将其“解压”并以不同的方式运行也往往是一种优势,这在启动时(取决于jar的大小)实际上比从一个未“解压”的归档文件中运行要稍快一些。
部署Spring Boot应用
SpringBoot 应用可直接打包成 Jar、War,运行时执行 java -jar *.jar/*.war
。但将其“解压”并以不同的方式运行也往往是一种优势,这在启动时(取决于jar的大小)实际上比从一个未“解压”的归档文件中运行要稍快一些。
随着前端技术的快速发展,页面的很多功能和组件都有开源的实现,只需要把对应的开源项目的依赖加入到 package.json 的 dependencies 节点,配置好坐标中的项目名称和版本,便可直接使用。
但依赖的开源项目中往往只用到了其中的少部分功能或代码,但在使用 webpack
打包时会把开源依赖包中所有的资源全打包,这时需要进行相应的优化。
我们会在“管钱”上栽跟头、走弯路,不是因为这事有多困难,而是因为我们没有像重视自己的工作一样重视它。
也许你会说,我当然要重视工作了,要不然挣不到钱,又何谈管钱呢?这种想法不是没有道理,但是你有没有想过:为了挣钱而行色匆匆的我们,愿意花100% 的精力在工作上,却从没有停下脚步,花哪怕是 5% 的时间认真思考下关于“钱”的问题。我们为了挣钱,可以用996 的节奏工作,但真的挣到钱了,却总是往那里一放,任其贬值,或者随便投到某些看似会赚钱的地方,被别人收割。这不是很荒谬吗?
英文中有个词叫“low hanging fruit”,字面意思是“挂得很低的、容易摘的果实”,含义是那些容易实现的目标。我相信,一个真正的聪明人,应该学会用更少的精力去摘到那些生活中的 low hanging fruit。和解决你工作中那些极端刁难人的问题相比,进行有效的财富管理就是“容易摘的果子”。而我要做的,就是教给你正确的财富管理方法,让你能不那么费力地跳一跳,就能摘到这些果子。
如果你现在把 100%的时间都放在工作、学习上,那么不妨挤出 5%的时间,学习正确的财富管理方法。随着时间的推移,我相信财富管理带给你家庭的收益将逐渐超过工资收入。用5% 的时间,换取至少 50% 的收益,聪明的你不可能错过这笔买卖吧。
极客时间《MySQL实战45讲笔记》学习笔记
Server 层包括连接器、查询缓存、分析器、优化器、执行器等,涵盖 MySQL 的大多数核心服务功能,以及所有的内置函数(如日期、时间、数学和加密函数等),所有跨存储引擎的功能都在这一层实现,比如存储过程、触发器、视图等。
而存储引擎层负责数据的存储和提取。其架构模式是插件式的,支持 InnoDB、MyISAM、Memory 等多个存储引擎。现在最常用的存储引擎是 InnoDB,它从 MySQL 5.5.5 版本开始成为了默认存储引擎。
Spring的核心思想就是容器,当容器refresh的时候,外部看上去风平浪静,其实内部则是一片惊涛骇浪,汪洋一片。Springboot更是封装了Spring,遵循约定大于配置,加上自动装配的机制。很多时候我们只要引用了一个依赖,几乎是零配置就能完成一个功能的装配。
我非常喜欢这种自动装配的机制,所以在自己开发中间件和公共依赖工具的时候也会用到这个特性。让使用者以最小的代价接入。想要把自动装配玩的转,就必须要了解spring对于bean的构造生命周期以及各个扩展接口。当然了解了bean的各个生命周期也能促进我们加深对spring的理解。业务代码也能合理利用这些扩展点写出更加漂亮的代码。
在网上搜索spring扩展点,发现很少有博文说的很全的,只有一些常用的扩展点的说明。
所以在这篇文章里,我总结了几乎Spring & Springboot所有的扩展接口,以及各个扩展点的使用场景。并且整理出了一个bean在spring内部从被加载到最后初始化完成所有可扩展点的顺序调用图。从而我们也能窥探到bean是如何一步步加载到spring容器中的。
深度学习离不开数学分析(高等数学)、线性代数、概率论等知识,更离不开以编程为核心的动手实践。
无论是在机器学习还是深度学习中,Python 已经成为主导性的编程语言。而且,现在许多主流的深度学习框架都提供Python接口,Python被用于数据预处理、定义网络模型、执行训练过程、数据可视化等
熟悉 Python 的基础语法,并掌握 NumPy,Pandas 及其他基础工具模块的使用对深度学习实践是非常重要的!