menu 蘑菇大叔自留地
more_vert

题目:给定一个数组,它的第 i 个元素是一支给定股票第 i 天的价格。设计一个算法来计算你所能获取的最大利润。你可以尽可能地完成更多的交易(多次买卖一支股票)。注意:你不能同时参与多笔交易(你必须在再次购买前出售掉之前的股票)。示例 1:输入: [7,1,5,3,6,4] 输出: 7 解释: 在第 2 天(股票价格 = 1)的时候买入,在第 3 天(股票价格 = 5)的时候卖出, 这笔交易所能获得

题目:给定一个排序数组,你需要在 原地 删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度。不要使用额外的数组空间,你必须在 原地 修改输入数组 并在使用 O(1) 额外空间的条件下完成。示例 1: 给定数组 nums = [1,1,2], 函数应该返回新的长度 2, 并且原数组 nums 的前两个元素被修改为 1,你不需要考虑数组中超出新长度后面的元素。 示例 2:

​敏捷这个词,这些年已经被大家都提的不想再提了。 各个公司也都在推行自己的敏捷策略,意在提高团队的工作效率,提高团队产出质量。个人对敏捷有下面的几点看法:快速迭代只是表象, 不断完善才是王道之前在的公司做智能硬件,软件团队采用敏捷方式运作,硬件团队采用传统的流程来。领导的意思是硬件团队需要保持稳定,不需要快速迭代。但是敏捷真的只能用于软件项目么?当然是不。 敏捷并不是简单的将大的项目周期拆解成

软件行业的外包公司一直是个被大多数诟病的对象。“打酱油”,“二等公民”,“没有团队归属感”,“混日子”等等的词语仿佛就是为了形容外包公司而生的。笔者11年毕业,13年底的时候因为种种不可抗拒的原因,被迫转到了“中软国际”这个外包公司,感到16年,在创业公司待了一年多,后来又因为某种原因,转到了“软通动力”这个外包集团。一直到现在,我仍然服务于软通动力。上面是笔者关于外包公司任职的背景。 现在的外包

通过前面的项目我们已经了解了很多和微服务项目相关的知识点,但是这些服务都没有界面,本章我们将为customer微服务项目添加一个界面,展示个别用户的详情。注意:虽然微服务化后的系统都提倡前后端分离,但是传统的前端模版还是很有用的,本书将在后面对前后端分离进行专门讲解。9.1 认识ThymeleafSpring Boot作为一个快速开发框架,本身对前端模板的支持是很完善的,比如Freemarker、

前面讲了这么多,都没有涉及到数据的存储。现在的软件系统多多少少都会涉及到数据库的存储。不管做什么,App、web、C/S客户端软件,都需要将涉及到的数据存储起来,一般来说,目前最常用的数据存储方式还是关系型数据库。本章我们就一起来看下在以Spring Boot为基础的项目中,如何方便地操作数据库。Spring Boot应用中访问数据库的方式有多种。常用的有下面几种:JdbcTemplateSpri

7.1 基础概念2020年3月,受疫情影响,美股迎来了4次熔断,为啥要熔断?因为如果不熔断美国股市这个大系统会面临系 统崩溃的风险。以前家里的保险丝有时候会被烧断,现在改成了跳闸,这些都是家庭用电时候触发了家庭电力系统的熔断机制引起的。如果没有这个机制, 随着家里电力负荷的增大,很有可能烧坏电路,引发短路甚至火灾。熔断,是分布式系统中非常重要的一个概念。一个典型的场景就是在多次发现某个接口或者

截止目前,我们已经构建了Eureka注册中心,customer和order微服务,并且创建了配置中心,让微服务可以远程获取配置中心的配置项,同时,我们还研究了微服务之间是如何不通过域名来进行服务间调用。本章我们要通过外部来调用微服务,在本章,我们要为我们的微服务系统树起一道大门,使用Spring Cloud Netflix的Zuul构建一道网关。服务网关最基本的功能是用来作为服务客户端和被调用服务

在第3章讲解Eureka时,我们提到了Eureka会保存各个服务的元数据,元数据中包含了各个服务的地址等信息。那么服务之间到底是怎样通过这些信息进行交互的呢?Spring Cloud服务间的调用默认支持两种方式:Ribbon和Feign,具体来说就是使用RestTemplate和FeignClient来调用。不管使用什么方式,本质上都是通过REST接口调用服务的HTTP接口,参数和结果默认都是通过

在前面有提到,微服务系统是一种典型的分布式系统,我们会将每个功能都尽可能地拆分一个可独立部署、运行的服务,服务部署完成后,每一次请求的完成,都可能涉及到多个服务的协调作业,面对越来越多的微服务,我们需要有一个东西可以方便地管理配置文件、最好可以在一个地方管理所有微服务的配置,这个就是我们接下来要说的分布式配置组件了。在接下来的内容中,简称这个分布式配置组件为配置中心。4.1 初识分布式配置在开始介

基于构建单个微服务,我们已经可以使用 Spring Boot 编写自己的微服务了。但是在系统微服务化后,我们的服务会越来越多。面对越来越多的微服务,难道真的要让大家一直分开“自生自灭”吗?当然不是,我们可以引入一个大管家——注册中心。在Spring Cloud框架中,我们选择Eureka来担当这个重任。3.1 认识Eureka首先,我们从注册中心产生的必要性来认识下 Eureka。在微服务这个概念

在深入接触微服务之前,首先得知道怎么创建单个微服务工程。2.1 使用Spring Boot构建第一个微服务Spring Boot的设计目标是用来简化新Spring应用的初始搭建以及开发过程。它是建立在Spring标准上的一个抽象层,使用特定的方式进行配置,从而使开发人员不再需要定义样板化的配置。Spring Boot的简单是相对于以前的SpringFramework入门容易,但是要完全掌握,用好S