后端

2023.01.28

(61)sheep  n.绵羊 (62)deer    n.鹿 (63)  Alpha  n.阿尔法;希腊字母表的第1个字母 (64)  Bravo        int.(喝彩声、叫好声)好哇 v.向…喝采叫好 n.刺客;歹徒;亡命之徒;喝彩声 记忆 brav〔= brave勇敢的〕+ o 人 → 不要命的人 → 歹徒 (65)Charlie        n.查理(人名) (66)Del

Android开发之MVVM模式实践(五):async/await与suspend的讲解

前言 大家好,我是小益!在上章内容中,我们简单了解了什么是协程以及协程的基本使用,主要提到了协程的launch与withContext用法。但是launch与withContext并不适合用于需要返回结果的并发场景,在并发场景中,我们一般会使用协程的async/await。 推荐 文章将率先在公众号「码途有道」上发布,如果本文对你有帮助,就关注一下公众号吧! 一、async与awiat async

微服务架构下网关的技术选型

1 简介 当使用单体应用程序架构时,客户端(Web 或移动端)通过向后端应用程序发起一次 REST 调用来获取数据。负载均衡器将请求路由给 N 个相同的应用程序实例中的一个。然后应用程序会查询各种数据库表,并将响应返回给客户端。微服务架构下,单体应用被切割成多个微服务,如果将所有的微服务直接对外暴露,势必会出现安全方面的各种问题,另外内外耦合严重。 客户端可以直接向每个微服务发送请求,其问题主要如

webpack4+react项目搭建(一)

webpack配置 1.初始化项目 npm init 安装webpack npm install webpack 2.创建配置目录结构 build---webpack配置 webpack.common.js webpack基础配置 webpack.dev.js webpack开发配置 webpack.prod.js webpack生产配置 config---项目环境配置 scripts---

第9章·代码的进化

书名:代码本色:用编程模拟自然系统 作者:Daniel Shiffman 译者:周晗彬 ISBN:978-7-115-36947-5 总目录 第 9 章 代码的进化 1、目录 9.1 遗传算法:启发自真实现象 9.2 为什么使用遗传算法 9.3 达尔文的自然选择 9.4 遗传算法,第一部分:创建种群 9.5 遗传算法,第二部分:选择 9.6 遗传算法,第三部分:繁殖 9.7 创建

Spring源码启动过程以及拓展点

容器启动过程 第一步先调用this();构造方法,这时父类构造器会初始化容器的 beanFactory 属性,属性为DefaultListableBeanFactory,带有存储BeanDefinition 和单例 bean 的功能 新建一个注解Bean定义读取器 new AnnotatedBeanDefinitionReader(this); 这个读取器主要是初始化环境变量,以及注册 一些

算法与活法

最初听到算法这个词的时候, 头脑中闪现出来的第一印象就是数学, 等到深入了解的时候, 才发现算法之中的奇妙之处。 某些方面来看, 一个人都有自己的人生算法, 这些人生算法也决定了会有什么样的活法。 这一句话也可以反过来看, 有什么样的活法, 背后就是与之匹配的算法。 某个层面上来看, 任何的事物都有一套自己的算法, 也可以说, 你有你的算法, 别人有别人的算法, 当这些算法接近的时候, 大家得到

LeetCode练习day7-贪心

* [1. 分配饼干] * [2. 不重叠的区间个数] * [3. 投飞镖刺破气球] * [4. 根据身高和序号重组队列] * [5. 买卖股票最大的收益] * [6. 买卖股票的最大收益 II] * [7. 种植花朵] * [8. 判断是否为子序列] * [9. 修改一个数成为非递减数组] * [10. 子数组最大的和] * [11. 分隔字符串使同种字符出现在一起] 保证每次操作都是局部最

图解LeetCode——792. 匹配子序列的单词数(难度:中等)

一、题目 给定字符串 s 和字符串数组 words, 返回 words[i] 中是s的子序列的单词个数 。 字符串的 子序列 是从原始字符串中生成的新字符串,可以从中删去一些字符(可以是none),而不改变其余字符的相对顺序。 例如, “ace” 是 “abcde” 的子序列。 二、示例 2.1> 示例 1: 【输入】 s = "abcde", words = ["a","bb","

代码坏味道:大类

一个类之所以成为大类,一种表现形式是长函数,还有一种表现形式是类里面有特别多的字段和函数,也许,每个函数都不大,但架不住数量众多。这次我们就主要来说一下这种形式的大类。 之所以说大类是一个坏味道,因为一个人理解的东西是有限的,没有人能同时面对所有细节。而人类面对复杂事物给出的解决方案是分而治之。经过分解拆分,人们面对的不再是细节,而是模块,模块的数量显然会比细节数量少,这样人们的理解成本就降低了。