流程设计jenkins-slave流程 解决方案

一种新的骨架屏方案

动机 最近遇到了一个实现骨架屏的需求,我大致调研了一下市面上使用得比较多的骨架屏方案,发现这些方案很多都不能满足我的需求,比如 或者 从第一幅图可以看到,骨架屏中的元素有着各自独立的动画效果,也就是说其中的“波浪”并不是从左边的元素跑到右边的元素,而是分别从每个元素的左边跑到每个元素的右边,这看起来 ......
骨架 方案

苹果手机H5 video标签播放视频问题以及.mov格式处理方案

最近在做一个手机端拍照上传,并预览文件的功能,前端用h5 video 标签,后端用springboot+minio。 问题 刚开始写代码和测试的时候,都是用的安卓手机,照片和视频都没问题,后来换成用苹果手机后,播放视频就出现各种问题,先是苹果手机拍的mov视频不支持播放,后面又出现苹果手机播放不了视 ......
苹果 标签 格式 方案 问题

掌握4C原则,设计高效的系统架构

hi,我是熵减,见字如面。 在软件开发中,设计一个好的架构是非常重要的,好架构能够影响整个系统的质量和可维护性。 而要设计出好架构,就需要遵循一些设计原则。 其中,架构设计的4C原则是一种常用的架构设计基础原则,4C原则强调架构设计的清晰性、简洁性、一致性和可改性。 这些原则可以帮助我们评估和优化架 ......
架构 原则 系统

基于NUXT.JS搭建一款VUE版SSR前端框架(解决SPA应用的SEO优化优化问题)

本文档是从官网文档中摘录的一些重点内容,以及加入了自己的一些调整和对官网内容的理解和解释。适合新手学习,有一定技术水平的宝子,建议直接查看 [NUXT英文官网] ......
前端 框架 问题 NUXT VUE

微软出品自动化神器【Playwright+Java】系列(十二)测试框架的设计与开发

一、前言 大家好,我是六哥! 又有好长一段时间没更文了,不是我懒,而是确实在更文上,没有以前积极了,这里是该自我检讨的。 其实不是我不积极,而是相对更文学习来说,优先级不是最高。 对我而言,目前最重要的就是减肥,除了下雨下雪,我都坚持每天5公里,keep记录如下: 早在四天前就完成了playwrig ......
神器 Playwright 框架 Java

hibernate跨数据库,columnDefinition不可移植性改造方案

#背景&问题描述 很多项目选择jpa/hibernate,更多是为了代码的可移植性,不限制数据库的选择。特别是toB的业务系统,不同的客户,要求用不同的数据库。特别近几年,大力倡导软件国产化,国产数据库也在崛起,很多政府、国企、电力、银行在数据库的选择上,纷纷转向国产数据库。也许mybatis+my ......

hibernate跨数据库,json字段处理方案,自定义扩展JsonStringType

一、背景 对于一些不经常更新的静态数据,我们喜欢使用json格式存储。推荐的做法是将json数据存储在key-value数据库,但这无疑增加了技术成本,所以我们通常还是存储在RDB数据库中。我们在使用hibernate,对json数据的存取期望是,存能自动转换为json格式存储,取能自动将json数 ......

设计模式与前端工程师

前端要不要学习设计模式 始终认为每个行业都有自己的特点,各自的专业性。一个开发工程师如果不知道电脑是哪些基本硬件组成,那么我们大概率都会认为这个人非常不专业。那么前端要不要学设计模式呢?设计模式跟前端有多大关系呢? 前端工程师首先是一个工程师,既然是一个软件工程师,那么类似设计模式、数据结构、网络相 ......
设计模式 前端 工程师 模式 工程

【桥接设计模式详解】Java/JS/Go/Python/TS不同语言实现

【桥接设计模式详解】Java/JS/Go/Python/TS不同语言实现 简介 桥接模式(Bridge Pattern)是一种结构型设计模式,它将一个大类或一系列紧密相关的类拆分为抽象和实现两个独立的层次结构,来实现二者的解耦。参与桥接的接口是稳定的,用户可以扩展和修改桥接中的类,但是不能改变接口。 ......
设计模式 语言 模式 Python Java

【建造者设计模式详解】Java/JS/Go/Python/TS不同语言实现

简介 建造者模式(Builder Pattern),也叫生成器模式,属于创建型模式。它使用多个简单的对象一步一步构建成一个复杂的对象。它允许你使用相同的创建代码生成不同类型和形式的对象。 当你希望使用代码创建不同形式的产品 (例如各种商品和订单) 时, 一些基本部件不会变,而其组合经常变化的时候,就 ......
设计模式 语言 模式 Python Java

MySQL 并行复制方案演进历史及原理分析

预告: 《MySQL实战》即将出版,敬请关注! 有过线上 MySQL 维护经验的童鞋都知道,主从延迟往往是一个让人头疼不已的问题。 不仅仅是其造成的潜在问题比较严重,而且主从延迟原因的定位尤其考量 DBA 的综合能力:既要熟悉复制的内部原理,又能解读主机层面的资源使用情况,甚至还要会分析 binlo ......
原理 方案 历史 MySQL

解密数仓高可用failover流程

摘要: Gaussdb的HA采用主备从的架构实现数据可靠性。当主DN发生故障时,备DN走failover流程,升级成为新主DN,保证集群不因单DN故障而中断业务。 本文分享自华为云社区《【玩转PB级数仓GaussDB(DWS)】dws高可用之failover流程大解密》,作者:fxy0224。 众所 ......
failover 流程

网络爬虫流程总结

网络爬虫的大体流程其实就是解析网页,爬取网页,保存数据。三个方法,就完成了对网页的爬取,并不是很困难。以下是自己对流程的一些理解和总结,如有错误,欢迎指正。 一、解析网页,获取网页源代码 首先,我们要了解我们要爬取的网页,以豆瓣为例,我们要了解模拟浏览器头部信息,来伪装成浏览器。以及爬取的内容是什么 ......
爬虫 流程 网络

简易的工厂设计模式

工厂设计模式是一种创建型设计模式,它提供了一种创建对象的最佳方式,而无需暴露对象的创建逻辑。在工厂模式中,我们定义一个接口或抽象类,该接口或抽象类用于创建对象,但让子类决定要实例化的类。工厂方法模式使类的实例化延迟到其子类。 下面是一个完整的C#实现案例: 首先,我们定义一个接口,用于创建对象: p ......
设计模式 简易 工厂 模式

详细讲解23种设计模式

工厂方法模式(Factory Method Pattern) 工厂方法模式是一种创建型设计模式,它定义了一个用于创建对象的接口,但由子类决定要实例化的类是哪一个。工厂方法把对象的实例化推迟到子类。 代码示例: csharpCopy codepublic interface IProduct { vo ......
设计模式 模式

Landsat数据在USGS中无法下载Surface Reflectance产品的解决方法

本文介绍在USGS官网下载Landsat遥感影像数据时,出现报错信息,无法下载地表反射率产品(Surface Reflectance)的解决办法~ ......
Reflectance Landsat Surface 方法 数据

flowable异步任务加锁流程

一、异步任务执行 1.1流程图如下: 1.2时序图如下: 加入有两个异步任务,同时触达,那么如下图 1.3代码分析如下: 1.3.1 入口代码 附上部分源代码。事物提交监听器入口如下: public class JobAddedTransactionListener implements Trans ......
flowable 流程 任务

Go构建遇到cgo动态库时解决方案

1. 问题 golang构建程序很简单,当遇到需要调用c库时,如通常使用 net,kafka, sqlite3 程序运行时就会调用当前服务器的 动态库,如果遇到没有库时,通常还需要 下载比如 alpine需要安装sqlite apk add --no-cache sqlite-libs sqlite ......
解决方案 方案 动态 cgo

通过 Pulsar 源码彻底解决重复消费问题

背景 最近真是和 Pulsar 杠上了,业务团队反馈说是线上有个应用消息重复消费。 而且在测试环境是可以稳定复现的,根据经验来看一般能稳定复现的都比较好解决。 定位问题 接着便是定位问题了,根据之前的经验让业务按照这几种情况先排查一下: 通过排查:1,2可以排除了。 没有相关日志 存在异常,但最外层 ......
源码 Pulsar 问题

Python实战项目5-Git远程仓库/分支合并/冲突解决

Git分支 为什么要有分支 可以保证主分支的版本都是可以查看的版本 我们都在开发分支开发,开发完成 合并代码 分支操作 分支查看 git branch 分支创建 git branch 分支名 分支切换git checkout 分支名 分支删除 git branch -d 分支名 分支合并 创建分支 ......
分支 仓库 实战 项目 Python

票据系统设计

最近做票据系统,在此做一个总结。下面从几个关键点逐一来阐述。 1. 库存 通俗地讲,票据系统的主要功能是出票、买票、卖票。买卖双方之间的交易就形成了票据的流转。这个过程中,票是最关键的元素。票据库存是整个票据系统的核心,所有业务最终都是对库存进行操作。对应有出库、入库操作。 交易类的库存操作是在结算 ......
票据 系统

聊聊「订单」业务的设计与实现

订单业务一直都是系统研发中的核心模块,订单的产生过程,与系统中的很多模块都会高度关联,比如账户体系、支付中心、运营管理等,即便单看订单本身,也足够的复杂; ......
订单 业务

现代图片性能优化及体验优化指南 - 懒加载及异步图像解码方案

本文是系列第四篇。系列文章: 现代图片性能优化及体验优化指南 - 图片类型及 Picture 标签的使用 现代图片性能优化及体验优化指南 - 响应式图片方案 现代图片性能优化及体验优化指南 - # 缩放精细化展示及避免布局偏移、拉伸 图片资源,在我们的业务中可谓是占据了非常大头的一环,尤其是其对带宽 ......
图像 性能 方案 指南 图片

一种通过nacos动态配置实现多租户的log4j2日志物理隔离的设计

1、背景 1.1、背景 旧服务改造为多租户服务后,log4j日志打印在一起不能区分是哪个租户的,日志太多,太杂,不好定位排除问题,排查问题较难。 1.2、前提 不改动以前的日志代码(工作量太大) 1.3、打印日志示例 package com.cherf.sauth.controller; impor ......
租户 物理 动态 log4j2 nacos

如何设计一个最简化的推荐系统

互联网时代,数据呈爆炸式增长,前所未有的数据量远远超过受众的接收和处理能力,因此,从海量复杂数据中有效获取关键性有用信息成为必须解决的问题。 面对信息过载问题,人们迫切需要一种高效的信息过滤系统,“推荐系统”应运而生。 20世纪90年代以来,尽管推荐系统在理论、方法和应用方面取得了系列重要进展,但数... ......
系统

微信小程序抢红包高并发设计

1、背景 某次促销活动采用微信炒群,红包雨的方式进行引流,面向广大C端用户,活动期间面向大规模用户,系统设计需要承载三高(高可用、高并发、高性能)要求。 系统设计首先我们要考虑几个问题: 1、业务场景面向高并发,怎么设计一个高性能抢红包程序以解决在高并发条件下能正常运行? 2、系统高并发瓶颈会出现在 ......
红包 程序

解决golang 的内存碎片问题

解决golang 的内存碎片问题 本文译自Why I encountered Go memory fragmentation? How did I resolve it?,作者通过分析golang的堆管理方式,解决了内存碎片的问题。 背景 我们的团队正在搭建运行一个兼容Prometheus的内存时序 ......
碎片 内存 golang 问题

生产环境Java应用服务内存泄漏分析与解决

有个生产环境CRM业务应用服务,情况有些奇怪,监控数据显示内存异常。内存使用率99.%多。通过生产监控看板发现,CRM内存超配或内存泄漏的现象,下面分析一下这个问题过程记录。 1、服务器硬件配置部署情况 生产服务器采用阿里云ECS机器,配置是2HZ、8GB,单个应用服务独占,CRM应用独立部署,即单 ......
应用服务 内存 环境 Java

使用go的并发性来解决Hilbert酒店问题

译自:Designing for Concurrency: the Hilbert’s Hotel Problem in Go,本文使用go的并发性来解决Hilbert酒店问题。本文比较有意思的是它对问题的描述很吸引人,在看完文字描述之后,代码实现逻辑也基本顺理成章,当然代码本身的实现也相当优雅。 ......
Hilbert 酒店 问题

TCP 三次握手八股文,完美解决线上事故

大家好,我是小富~ 个人资源分享网站:FIRE 本文收录在 Springboot-Notebook 面试锦集 前言 之前有个小伙伴在技术交流群里咨询过一个问题,我当时还给提供了点排查思路,是个典型的八股文转实战分析的案例,我觉得挺有意思,趁着中午休息简单整理出来和大家分享下,有不严谨的地方欢迎大家指 ......
八股文 八股 事故 TCP