ARTS挑战打卡第十六周

2023-10-31

Algorithm-一周至少一道算法题

Review-阅读并点评至少一篇英文技术文章

Tip-学习至少一个技术技巧,总结和归纳在日常工作中所遇到的知识点

Share-分享一篇有观点和思考的技术文章

01-Algorthm

   ———————  

https://leetcode.com/problems/same-tree

判断两个树是否相同,思路很简单,先序遍历,判断完根结点再递归判断左右子节点。

02-Review

——————

阅读Nginx官网文章:

https://www.nginx.com/blog/introduction-to-microservices/

介绍了单体服务的缺点,推荐使用微服务。

单体服务的缺点:

1、强耦合

2、难维护

3、启动慢

拆分成微服务有利于维护和部署,优点是很明显的,但是没有银弹,微服务也会带来困扰,缺点如下:

1、多小的粒度才是合适的微服务?

2、分布式系统情况下,服务间的通信会带来延迟

3、增加测试复杂度,有时需要同时启动多个微服务

微服务还是推荐使用的,优点大于缺点,可以使用其他技术去解决它的缺点,享受它带来的优点。

03-Tip

——————

最近在使用pulsar,据说可靠性比NSQ强,结合使用心得和目前的理解认知经验,个人认为分布式消息队列中丢消息分为3种:

1.发送前

这种情况,中间件无法保证,使用方需要在发送前记录下消息,发送成功后,自行标记消息已成功发送,如果消息失败,使用方自己做重试,这就保证了发之前不丢了。这种情况下在数据一定不能丢且需要很高的一致性的情况下,需要在发送前记录下消息

2.发送到中间件

pulsar这边是落盘后,内部做ACK,副本ACK后才给使用方回复ACK。

3.发送后

消费者消费成功后放回ACK,提交消息就行了。下游一定要做好幂等性,避免重复消费带来的数据错误。

如果这三步都做了,也几乎接近百分百不丢消息了,至少可以做到99.999%吧。

04-Share

—————

分享一个摆脱拖延症的方法-72小时法则

如果想做一件事情,那么就为它设置一个期限,72小时。因为一件事情,如果你72小时内都没有去完成,那么很有可能你接下来几年甚至一辈子都不会去完成了。

手上事情太多,那就不断精简,选出一件最想做的事情,下定决心,在72小时内完成,否则就换另一件事情。

最近这个方法有短暂的解决了我的拖延症,看完了《Java并发编程实战》前三章,本来拖了好几个月了,因为一直在忙着学其他东西。看了这个72小时法则后,这周下定决心,定下目标三天要把第三章看完,最终完成了。选择少一点的目标,并设置一个期限,有利于目标的完成。

原创文章,文笔有限,才疏学浅,文中若有不正之处,万望告知。

如果本文对你有帮助,麻烦顺手点个赞吧,谢谢

推荐阅读:

ARTS挑战打卡的100天,我学到了这些


本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

ARTS挑战打卡第十六周 的相关文章

  • JSON - 使用Gson反序列化动态对象

    假设我有一个以下类型的 Java 类 public class MyClass public String par1 public Object par2 然后我有这个 String json par1 val1 par2 subpar1
  • 在 Windows 7 中,不从命令行强制终止 JVM

    我在 JVM 中运行了 Cobertura 仪器化 jar 当我在运行应用程序的 Windows 控制台中按 Ctrl C 时 JVM 结束并Cobertura 结果已成功刷新到 cobertura ser 文件 但我需要使用命令 工具 不
  • 哪个 new 首先执行——在构造函数中还是在构造函数外?

    如果我定义一个类如下 public class myClass private x new anotherClass private y public myClass y new anotherClass 哪个变量会更早获得实例 x 或 y
  • Maven 配置文件相当于 Gradle

    我试图在我的 spring boot 项目构建中实现一个简单的场景 包括 排除依赖项以及根据环境打包 war 或 jar 例如 对于环境dev包括开发工具和包 jar 用于prod包战等 我知道它不再是基于 XML 的配置 我基本上可以在
  • 使用 Java NIO 直接访问 Windows 磁盘

    我正在使用一个使用 Java NIO 的库来直接将文件映射到内存 但我在直接读取磁盘时遇到问题 I can直接使用读取磁盘FileInputStream与 UNC 合作 例如 File disk new File PhysicalDrive
  • 在 Java 和 C 中在运行时调用名为“string”的方法

    我们如何调用名称为的方法string在运行时 谁能告诉我如何在 Java 和 C 中做到这一点 在java中可以通过反射api来完成 看一下Class getMethod String methodName Class parameterT
  • 如何使用 Apache Camel 路由从授权服务器获取访问令牌?

    我有一个授权服务器 带有注释的简单类 SpringBootApplication RestController Configuration EnableAuthorizationServer oauth2 security 在端口上运行80
  • Android 背景 + 文本 + 按钮图标

    我想要一个图像设置为文本的背景 并在文本的左侧设置一个图标 在iPhone中非常简单 但不知道如何在Android上做到这一点 调整按钮的大小并保持图标 文本的位置和距离正确 iPhone 安卓我有这个 xml代码是
  • 指定自定义应用程序上下文

    我们正在将一些数据服务从使用 jersey spring 的 Jersey 1 x 迁移到使用 jersey spring3 的 Jersey 2 x 我们有一些继承自 JerseyTest 的测试类 其中一些类使用 web xml 文件中
  • Maven:缺少工件 org.springframework:spring:jar:4.2.6

    我在 SpringToolSuite 中有一个动态 Web 项目 它被转换为 Maven 项目 我遇到问题 缺少工件 org springframework spring jar 4 2 6 我已经尝试清理 重建和运行该项目 它给 读取文件
  • Maven:如何获取捆绑在包中的 .so 库

    我有一个带有 jar 和 so 文件的第三方库 我配置了 pom xml 如下
  • 用 Java 捕获扬声器输出

    使用Java可以捕获扬声器输出吗 此输出不是由我的程序生成的 而是由其他正在运行的应用程序生成的 这可以用 Java 完成还是我需要求助于 C C 我有一个基于 Java 的应用程序 使用过的爪哇声音 https stackoverflow
  • 如何更改tomcat jmx密码的文件权限

    我正在尝试保护 Windows 平台上托管的本地 tomcat 实例上的 JMX 访问 我已经创建了访问权限和密码文件 并使用以下 VM 参数插入这些文件 Dcom sun management jmxremote password fil
  • 使用 java.nio.file.Paths 接口时缺少方案(IllegalArgumentException)

    这是一个非常简单的java问题 我在 Linux 系统上使用 Java 8 和 eclipse kepler 我一直在尝试尝试NIO 2 我的代码是 package lucasTest import java io IOException
  • 如何根据服务器/环境动态加载服务器配置?

    目前 我设置了 Maven 配置文件 以便能够为不同的环境 开发 演示 暂存 生产等 部署我的项目 并且它工作得很好 但问题是 对于我拥有的每个模块 Web 应用程序 我需要复制 粘贴此配置文件 它们都是属性文件 当我需要更改环境 服务器配
  • Java可以进行进程监控吗?

    是否可以用Java编写一个在托盘中运行的应用程序 并且当启动某个应用程序时 它可以检测到它 我想对某些程序执行此操作 以了解我每周使用它们多长时间 我是 Java 新手 所以我不知道 Java 是否是最适合此操作的语言 或者它是否具有对操作
  • Jersey bean 验证 ParameterNameProvider

    我正在阅读关于泽西岛的文档Bean验证 https jersey java net documentation latest bean validation html The ParameterNameProvider示例显示如何定义方法的
  • Selenium Webdriver 中的 IF 语句

    我想知道是否有人可以帮助我解决我正在尝试解决的问题以及 Java 中 Webdriver 的 If 语句 当登录到我正在测试的应用程序时 可以在主页之前进入安全问题页面 如果是新用户等 我希望测试中的代码做的是 如果出现安全问题页面 请填写
  • Ant 类路径和 junit.jar

    我有一个 build xml 它允许我运行 junit 测试 这是相关部分
  • 如何获取 EC2 实例的 CloudWatch 指标数据

    我想获取我的 EC2 实例的 Cloudmetrics 数据 以便我可以使用这些数据绘制图表并将其显示在我的 Android 设备上 我怎么做 有相同的示例程序或教程吗 提前致谢 这就是我正在做的 private static void f

随机推荐

  • 用 Git 作对比分析工具

    使用命令 将两个文件的差异输出到一个新文件 git diff bare jrnl compsoc tex bare jrnl compsoc z tex gt diff tex
  • ios 字符串压缩

    实现对字符串进行压缩解压操作 前提需要导入libz 1 2 5 dylib 库 import BYViewController h import zipAndUnzip h interface BYViewController end im
  • 算法与数据结构 树

    树的定义 树是由n n gt 0 个结点所构成的有限集合 当 n 0时 称为空树 当n gt 0时 n 个结点满足以下条件 1 有且仅有一个称为根的结点 2 其余结点可分为 m m gt 0 个互不相交的有限集合 且每一个集合又构成一个树
  • Java 终端设备消息ID-雪花算法简化版

    Java 终端设备消息ID 雪花算法简化版 一 雪花算法 简化版 二 代码示例 三 总结 一 雪花算法 简化版 雪花算法 SnowFlake 是推特 Twitter 开源的分布式高并发环境生成消息唯一ID的方案 目前被广泛使用 雪花算法相对
  • linux如何查看ip

    这本阿里P8撰写的算法笔记 再次推荐给大家 身边不少朋友学完这本书最后加入大厂 Github 疯传 史上最强悍 阿里大佬 LeetCode刷题手册 开放下载了 Linux下查看IP地址的命令 ifconfig ifconfig命令用于查看和
  • Error: got unexpected status: BAD_REQUEST -- error validating channel creation transaction for new

    INFO 003 Endorser and orderer connections initialized Error got unexpected status BAD REQUEST error validating channel c
  • deepin下linux找不到mysql头文件的解决方法

    在deepin下安装好mysql后 发现在c语言中没有
  • What went wrong: Could not determine the dependencies of task :url_launcher:compileDebugAidl

    运行项目时候出来这个错误 1 先 flutter doctor 如果有错误 按照提示改错误 2 在运行 flutter pub cache repair 上述方法并未完全解决该问题 运行几次后还会出现上述问题 最后我把flutterSDK替
  • 数据库并发技术

    数据库并发技术 并发的提出与问题 并发造成的数据不一致 并发控制技术 封锁 封锁带来的问题与解决策略 并发调度 封锁的粒度 意向锁 并发的提出与问题 并发造成的数据不一致 并发控制技术 封锁 1 排他锁 2 共享锁 封锁带来的问题与解决策略
  • Python3.x 提示 ‘xxx ’is not a registered namespace

    产生问题场景 引入a href标签时显示student没有注册命名空间 解决办法 1 检查项目中的settings文件是否注册了应用名名称 2 在app urls下加上app name from django urls import pat
  • stylegan2 训练终极解决(包括训练环境搭建)

    背景 需要搭建stylegan2训练环境 训练自己的MAT模型 python环境依赖真实烦人 用docker镜像是方案 谚词 懂原理 可灵活搭建 要符合大脑的学习规律 懂了 而且要懂原理 stylegan2官方的github网址 GitHu
  • GO+Selenium批量关注各大网站实战 2 (今日头条,批量关注)

    作为第一个练习 我选择的是今日头条批量关注好友这个功能 今日头条每天关注量有200人限制 满了再点击关注 就会提示已达上限 所以我刷了几天 现在是4600个人 我们先来讲讲思路 1 登录自己的头条号 2 打开头条号的粉丝列表页 3 获取关注
  • HDMI接口协议

    文章目录 背景 一 HDMI简介 1 高清多媒体接口 2 DIV与HDMI 1 DVI接口 2 DVI编码 1 DVI编码时序图 2 DVI编码器示意图 3 HDMI接口 1 接口类型 2 A型接口引脚图 4 HDMI编码机制图 二 TMD
  • C++基础语法——内存管理

    目录 1 C C 中的内存管理 2 C C 中的动态内存管理 C语言的动态内存管理 C 的动态内存管理 操作内置类型 操作自定义类型 3 operator new与operator delete函数 4 new与delete的实现原理 操作
  • 关于idea中maven,pom.xml文件导jar包时没有提示,以及阿里云镜像不能用的解决办法

    最近电脑由于自己改注册表 被自己搞挂了 无奈重新装系统 之前用的idea为2019 3 5版本的 想尝尝新 随整了个2020 1 4版本的 但出现了pom xml文件导jar包没有提示的问题 网上搜的大部分都是这样 点击update按钮更新
  • STM32CubeMX时钟树(72MHZ主频配置)

    目录 一些基础概念 时钟树配置图 第一步 第二步 这里我只是配置常用的72MHZ主频 很多时候新手都在时钟树这里被劝退了 其实不知道没关系 我用STM32这么久了 也只知道大概 我们绝大多数时候不需要配置这个时钟 记住72MHZ主频配置即可
  • Bayer模型的颜色插值算法

    图像采集的功能一般用CCD和CMOS传感器来实现 但是这两种图像传感器在一个像素上只能采集 RGB颜色的一个分量 为了获得最佳的图像效果 需要3个图像传感器分别采集不同的颜色分量 但考虑 到产品的成本及设计复杂度 通常的数字成像设备用一个传
  • ​JVM第五讲 JVM内存结构

    JDK体系结构 Java语言的跨平台特性 JVM整体结构及内存模型 在minor gc过程中对象挪动后 引用如何修改 对象在堆内部挪动的过程其实是复制 原有区域对象还在 一般不直接清理 JVM内部清理过程只是将对象分配指针移动到区域的头位置
  • robot framework 使用三:他们主动浏览器的兼容性

    robot framework 浏览器兼容性测试 上图中黄色圈的地方默认什么都不写 是firefox浏览器 写上ie就是ie浏览器了 firefox最新版本号即可 ie须要设置 1 IE选项设置的安全页中 4个区域的启用保护模式的勾选都勾上
  • ARTS挑战打卡第十六周

    Algorithm 一周至少一道算法题 Review 阅读并点评至少一篇英文技术文章 Tip 学习至少一个技术技巧 总结和归纳在日常工作中所遇到的知识点 Share 分享一篇有观点和思考的技术文章 01 Algorthm https lee