最后的作业

基于 Traefik 的激进 TLS 安全配置实践

前言 Traefik是一个现代的HTTP反向代理和负载均衡器,使部署微服务变得容易。 Traefik可以与现有的多种基础设施组件(Docker、Swarm模式、Kubernetes、Marathon、Consul、Etcd、Rancher、Amazon ECS...)集成,并自动和动态地配置自己。 ......
Traefik TLS

flutter系列之:flutter中listview的高级用法

简介 一般情况下,我们使用Listview的方式是构建要展示的item,然后将这些item传入ListView的构造函数即可,通常情况下这样做是够用了,但是不排除我们会有一些其他的特殊需求。 今天我们会来讲解一下ListView的一些高级用法。 ListView的常规用法 ListView的常规用法 ......
flutter listview

使用Prometheus监控docker compose方式部署的ES

需求 收集 ES 的指标, 并进行展示和告警; 现状 ES 通过 docker compose 安装 所在环境的 K8S 集群有 Prometheus 和 AlertManager 及 Grafana 方案 复用现有的监控体系, 通过: Prometheus 监控 ES. 具体实现为: 采集端 el ......
Prometheus compose 方式 docker

可视化—AntV G6 高亮相邻节点的两种方式

通过官方文档,可知高亮相邻节点分为两种方法,文档描述并不是很清楚,对刚接触这个库的小白并不是很友好,慢慢总结慢慢来吧 内置的高亮节点 是通过内置的Behavior **activate-relations**来实现,Behavior 是 G6 提供的定义图上交互事件的机制。与交互模式 Mode配合使 ......
节点 方式 AntV G6

Kubernetes的垂直和水平扩缩容的性能评估

Kubernetes的垂直和水平扩缩容的性能评估 译自:Performance evaluation of the autoscaling strategies vertical and horizontal using Kubernetes 可扩展的应用可能会采用水平或垂直扩缩容来动态调整云端资源 ......
Kubernetes 性能 水平

火山引擎DataLeap数据调度实例的 DAG 优化方案

更多技术交流、求职机会,欢迎关注字节跳动数据平台微信公众号,并进入官方交流群 实例 DAG 介绍 DataLeap 是火山引擎自研的一站式大数据中台解决方案,集数据集成、开发、运维、治理、资产管理能力于一身的大数据研发治理套件。在平台中,一个核心的功能为任务的调度,会根据任务设置的调度频率(月级,日 ......
火山 实例 DataLeap 引擎 方案

C# 正则表达式常用的符号和模式解析

〇、正则表达式的基本语法符号 若只简单匹配固定字符串,则无需任何修饰符,例如:需要匹配字符串 77,则可直接写:new Regex("77")。 下边例举一下常用的符号:(知道下面这些,一般的正则表达式便可清晰异常) 符号 释义 示例 1 示例 2 \ 转义字符,互相转换一个具有特殊功能的字符 和一 ......
正则 表达式 符号 常用 模式

设计模式实践---策略模式实现对大量计算公式的处理

业务流程: 1.用户根据需要选择的实验方案,每个实验方案对应一种计算公式,计算公式例如下面这种 2.将带有实验数据的PDF文件上传到特定位置,对PDF文件进行解析后将数据数据保存到数据库。 3.遍历所有方案,对每种方案使用特定的公式对数据库中的数据进行 重构前实现: 遍历方案,使用IF语句对使用的公 ......
模式 设计模式 对大 公式 策略

不规则图形背景排版高阶技巧 -- 酷炫的六边形网格背景图

今天,收到一个很有意思的提问,如何实现类似如下的背景效果图: 嗯?核心主体是由多个六边形网格叠加形成。 那么我们该如何实现它呢?使用纯 CSS 能够实现吗? 当然可以,下面我们就将尝试如何使用 CSS 去实现这样一个背景效果。 如何绘制六边形? 首先,看到这样一个图形,如果想要使用一个标签完成整个背 ......
背景 六边形 高阶 网格 图形

5个接口性能提升的通用技巧

前言 作为后端开发人员,我们总是在编写各种API,无论是为前端web提供数据支持的HTTP REST API ,还是提供内部使用的RPC API。这些API在服务初期可能表现不错,但随着用户数量的增长,一开始响应很快的API越来越慢,直到用户抱怨:“你的系统太糟糕了。” 我只是浏览网页。为什么这么慢 ......
接口 性能 技巧

模型驱动设计的构造块(下)——DDD

3. 领域对象的生命周期 每个对象都有生命周期,如下图所示。对象自创建后,可能会经历各种不同的状态,直至最终消亡——要么存档,要么删除。当然很多对象是简单的临时对象,仅通过调用构造函数来创建,用来做一些计算,然后由垃圾收集器回收。这类对象没必要搞得那么复杂。但有些对象具有更长的生命周期,其中一部分时 ......
模型 DDD

【架构设计】你的应用该如何分层呢?

前言 最近review公司的代码,发现现在整个代码层级十分混乱,一个service类的长度甚至达到了5000多行。而且各种分层模型DTO、VO乱用, 最终出现逻辑不清晰、各模块相互依赖、代码扩展性差、改动一处就牵一发而动全身等问题。 我们在吸取了阿里巴巴的分层规范以及网上的一些经验后,重新梳理总结了 ......
架构

Proxyless Mesh 在 Dubbo 中的实践

背景 随着 Dubbo 3.1 的 release,Dubbo 在云原生的路上又迈出了重要的一步。在这个版本中添加了 Proxyless Mesh 的新特性,Dubbo Proxyless Mesh 直接实现 xDS 协议解析, 实现 Dubbo 与 Control Plane 的直接通信,进而实现 ......
Proxyless Dubbo Mesh

Triple 协议支持 Java 异常回传的设计与实现

作者:Apache Dubbo Contributor 陈景明 背景 在一些业务场景, 往往需要自定义异常来满足特定的业务, 主流用法是在catch里抛出异常, 例如: public void deal() { try{ //doSomething ... } catch(IGreeterExcep ......
Triple Java

正确理解和使用JAVA中的字符串常量池

前言 研究表明,Java堆中对象占据最大比重的就是字符串对象,所以弄清楚字符串知识很重要,本文主要重点聊聊字符串常量池。Java中的字符串常量池是Java堆中的一块特殊存储区域,用于存储字符串。它的实现是为了提高字符串操作的性能并节省内存。它也被称为String Intern Pool或String ......
常量 字符串 字符 JAVA

90%的Java开发人员都会犯的5个错误

前言 作为一名java开发程序员,不知道大家有没有遇到过一些匪夷所思的bug。这些错误通常需要您几个小时才能解决。当你找到它们的时候,你可能会默默地骂自己是个傻瓜。是的,这些可笑的bug基本上都是你忽略了一些基础知识造成的。其实都是很低级的错误。今天,我总结一些常见的编码错误,然后给出解决方案。希望 ......
错误 人员 Java 90%

【架构设计】如何让你的应用做到高内聚、低耦合?

前言 最近review公司的代码,发现代码耦合程度特别高,修改一处,不知不觉就把其他地方影响到了,这就让我思考该如何让我们写的代码足够内聚,减少耦合呢? "高内聚、松耦合"是一个非常重要的设计思想,能够有效地提高代码的可读性和可维护性,缩小功能改动导致的代码改动范围。它可以用来指导不同粒度代码的设计 ......
架构

【架构设计】保持简单轻量设计的三个原则——DRY,KISS, YAGNI

前言 一个软件轻量简单的软件架构是非常重要的,它可以让我们花最小的代价就能满足业务上的需求。那如何保证轻量简单呢?那今天就和大家分享下这其中的秘密,也就是3个重要的指导原则,KISS原则,YAGNI原则和DRY原则,你们都知道并且理解吗? 欢迎关注微信公众号「JAVA旭阳」交流和学习 KISS原则 ......
轻量 架构 原则 三个 YAGNI

vue3+TS 自定义指令:长按触发绑定的函数

#vue3+TS 自定义指令:长按触发绑定的函数 偶然间看到一个在vue2中写的长按触发事件的自定义指定,想着能不能把他copy到我的vue3项目中呢。 ##编写自定义指令时遇到的几个难点 ###1.自定义指令的类型 在ts中写任何东西都要考虑到类型的问题,自定义指令的类型问题依然存在 ###2.在 ......
指令 函数 vue3 vue TS

关于 MySQL 嵌套子查询中,无法关联主表字段问题的折中解决方法

今天在工作中写项目的时候,遇到了一个让我感到几乎无解的问题,在转换了思路后,想出了一个折中的解决方案,记录如下。 其实,问题的场景,非常简单: 就是需要查询出上图的数据,红框是从 项目产品表 中查询的2个字段,绿框是从与项目产品表关联的 文章表 中查询出的1个字段。我希望实现的效果是,获取到项目产品 ......
套子 字段 方法 问题 MySQL

实现简单的csv文件上传和bootstrap表格的下载

一、写一个简单的页面并发送文件 引入bootstrap.js,jQuery.js等,具体的网页就不细写了,很简单。 加入input框,button控件,进度条。如下: <li class="list-group-item" id="input-file-group"> <div class="inp ......
bootstrap 表格 文件 csv

Git和Maven的学习笔记

Git 1、Git简介 Git 是一个免费的、开源的分布式版本控制系统,可以快速高效地处理从小型到大型的各种 项目。 Git 易于学习,占地面积小,性能极快。 它具有廉价的本地库,方便的暂存区域和多个工作 流分支等特性。其性能优于 Subversion、CVS、Perforce 和 ClearCas ......
笔记 Maven Git

有向图的拓扑排序——DFS

在有向图的拓扑排序——BFS这篇文章中,介绍了有向图的拓扑排序的定义以及使用广度优先搜索(BFS)对有向图进行拓扑排序的方法,这里再介绍另一种方法:深度优先搜索(DFS)。 算法 考虑下面这张图: 首先,我们需要维护一个栈,用来存放DFS到的节点。另外规定每个节点有两个状态:已访问(这里用蓝绿色表示 ......
有向图 拓扑 DFS

就聊聊不少小IT公司的技术总监

本文想告诉大家如下两个观点。 1 很多IT小公司的技术总监,论能力其实也就是相当于大公司的高级程序员。 2 程序员在职业发展过程中,绝对应该优先考虑进大厂或好公司。如果仅仅停留在小公司,由于小公司可能无法接触到值钱的技术,所以哪怕做到小公司的技术总监,依然可能会遇到大龄危机。 我见过不少小公司,比如 ......
总监 技术 公司

RocketMQ Compaction Topic的设计与实现

Compaction Topic 是一种基于 key 的数据过期机制,即对于相同 key 的数据只保留最新值。该特性的应用场景主要为维护状态信息,或者在需要用到 KV 结构时,可以通过 Compaction Topic 将 key-value 信息直接保存到 MQ,从而解除对外部数据库的依赖。快来... ......
Compaction RocketMQ Topic

一种将C++函数模板定义和声明分开的方法

在 C++ 中为了操作简洁引入了函数模板。所谓的函数模板实际上是建立一个通用函数,其函数类型或形参类型不具体指定,用一个虚拟的类型来表达,这个通用函数就称为函数模板。 1、通用的写法 函数模板不是一个具体的函数,编译器不能为其生成可执行代码。定义函数模板后只是一个对函数功能框架的描述,当它具体执行时 ......
函数 模板 方法

IdentityServer4 - v4.x .Net中的实践应用

IdentityServer4、 IClientStore、IResourceStore、IProfileService、IResourceOwnerPasswordValidator 在.NET中的实现。 ......
IdentityServer4 IdentityServer Net v4

我希望来年,更多是靠关系和模式挣钱——2022年我的总结与思考

我记得是2017年开始在博客园写博客,那年我儿子出生,并与当年年底写了17年的年度总结。 n年前,我没钱但年轻,我怕n年后我老时,还是一无所成——2017我的收获和反思,在随后的几年的年末,写总结文也已经成为了我的惯例,后面几年的总结文链接如下。 2018我跳出了舒适区,发现自己缺的不仅是技术,另外 ......
模式 更多 2022

一文学会浏览器插件(加入光荣的进化吧)(一文晋级璀璨钻石)(本文不含知识诅咒)

都2023年了,你还不会开发浏览器插件? 注意:此教程针对chrome和chromium内核的浏览器制定的,且仅适用于前端开发者 在chrome地址栏输入chrome://extensions/,就进入了谷歌浏览器扩展程序控制面板,在这里可以装载一些插件,来扩展浏览器的功能,或者做一些自动化处理,由 ......
插件 钻石 浏览器 知识

.NET 云原生架构师训练营(基于 OP Storming 和 Actor 的大型分布式架构二)--学习笔记

目录 为什么我们用 Orleans Dapr VS Orleans Actor 模型 Orleans 的核心概念 结合 OP Storming 的实践 结合 OP Storming 的实践 业务模型 设计模型 代码实现 业务模型 我们可以把关键对象(职位、客户行为记录、线索)参考为 actor 猎头 ......
架构 分布式 Storming 笔记 Actor