chooseimage choosemedia一次性 需求

深入理解需求分析的目标(C系架构设计法)

需求分析的目标:是尽可能准确、全面、深入的理解业务。 1:理解“尽可能准确” 首先,需求分析,要做的事,肯定是去理解业务,但是要达到什么样的程度,才算是我们理解了这个业务呢? 第一个是“尽可能”,尽可能的意思,就是你不太可能百分之百的、完整的、准确的去理解,做不到。我们只能说是尽自己最大努力去理解, ......
架构 需求 目标

记录一次线上gitlab11.x升级gitlab14.x版本操作

前言:gitlab11升级到14还是有挺多需要注意的坑,也算是做一次积累吧,升级前后,gitalb的WEB界面也变化了很多,升级过程需要注意的地方我放到最后说明,挺关键的 一、首先需要下载好要升级的包,这里需要注意,gitlab的官网有说明如何升级,大概就是如下面所示,跨版本升级先要升级到版本最后一 ......
gitlab 版本 11 14

前端老赵一次给你讲透“微前端”架构

一、引言: 随着Web应用程序的规模和复杂度的不断增加,前端技术也在不断发展和演进。微前端是近年来兴起的一种前端架构模式,通过将大型Web应用程序拆分为小型、可独立开发和部署的模块,从而降低开发和维护的难度,同时提高Web应用程序的可扩展性和可维护性。微前端的发展也得到了业界的广泛关注和支持,成为了 ......
前端 架构

记一次 .NET某汽车零件采集系统 卡死分析

一:背景 1. 讲故事 前段时间有位朋友在微信上找到我,说他的程序会出现一些偶发卡死的情况,让我帮忙看下是怎么回事,刚好朋友也抓到了dump,就让朋友把 dump 丢给我,接下来用 windbg 探究下到底咋回事。 二:WinDbg 分析 1. 程序真的卡死吗 因为是一个 winform 程序,验证 ......
汽车零件 零件 汽车 系统 NET

一次排查某某云上的redis读超时经历

一次排查某某云上的redis读超时经历 服务监控系列文章 服务监控系列视频 问题背景 最近一两天线上老是偶现的redis读超时报警,我嗅到了一丝不正常的味道,但由于业务繁忙,只是暂时将超时时间从200ms调制500ms,超时情况减少了,不过还是有发生。趁业务空闲期,于是开始着手排查。 排查思路 查阅 ......
redis

记录一次锁的优化

项目背景 老规矩,先讲讲项目背景。可跳过。 小工具类的微系统。 我们会有一些文本语义描述的事件。譬如某小区两户人家因为宠物发生了争吵,比如某人拨打12345热线反映小区深夜还在跳广场舞等等。这些统称事件。 小学语文老师告诉我们描述事件的叙述文三要素,时间地点人物。 所以我们需要通过NLP从事件里提取 ......

一次k8s docker下.net程序的异常行为dump诊断

背景 昨天,一位朋友找到我寻求帮助。他的项目需要调用一个第三方项目的webAPI。这个webAPI本身可从header, query string中取相关信息,但同事发现他在调用时,无法按期望的那样从query string中传参数给到第三方webAPI (webAPI仿佛忽略了从query str ......
行为 程序 docker dump k8s

容灾恢复 | 记一次K8S集群中etcd数据快照的备份恢复实践

描述:在 Kubernetes 集群中所有操作的资源数据都是存储在 etcd 数据库上, 所以防止集群节点瘫痪未正常工作或在集群迁移时,以及在出现异常的情况下能尽快的恢复集群数据,则我们需要定期针对etcd集群数据进行相应的容灾操作。 在K8S集群中或者Docker环境中,我们可以非常方便的针对 ... ......
快照 集群 备份 数据 etcd

这一次,Python 真的有望告别 GIL 锁了?

Python 中有一把著名的锁——全局解释器锁(Global Interpreter Lock,简写 GIL),它的作用是防止多个本地线程同时执行 Python 字节码,这会导致 Python 无法实现真正的多线程执行。(注:本文中 Python 解释器特指 CPython) 这把锁在 Python ......
Python GIL

Luffy项目:2、项目需求(2),项目库的创建,软件开发目录,Django配置文件介绍

Luffy项目 一、Luffy项目需求(2) 1、后台日志封装 需求: 在项目目录下创建logs目录,用于记录项目日志 要求: 打印在控制台 记录在logs文件下的日志文件中 所有项目日志统一管理 操作步骤: - 第一步:在项目配置文件中进行配置 大字典 # 详情在下方大字典中查看 - 第二步:在u ......
项目 项目库 软件开发 需求 文件

记一次 .NET 某医保平台 CPU 爆高分析

一:背景 1. 讲故事 一直在追这个系列的朋友应该能感受到,我给这个行业中无数的陌生人分析过各种dump,终于在上周有位老同学找到我,还是个大妹子,必须有求必应 😁😁😁。 妹子公司的系统最近在某次升级之后,在高峰期会遇到 CPU 爆高的现象,有些单位你懂的,很强势,所以就苦逼了程序媛,不管怎么 ......
医保 高分 平台 NET CPU

记一次 .NET某家装ERP系统 内存暴涨分析

一:背景 1. 讲故事 前段时间微信上有一位老朋友找到我,说他的程序跑着跑着内存会突然爆高,有时候会下去,有什么会下不去,怀疑是不是某些情况下存在内存泄露,让我帮忙分析一下,其实内存泄露方面的问题还是比较好解决的,看过这个dump之后觉得还是有一定的分享价值,拿出来和大家分享一下吧。 二:WinDb ......
家装 内存 系统 NET ERP

记一次 .NET 某游戏网站 CPU爆高分析

一:背景 1. 讲故事 这段时间经常有朋友微信上问我这个真实案例分析连载怎么不往下续了,关注我的朋友应该知道,我近二个月在研究 SQLSERVER,也写了十多篇文章,为什么要研究这东西呢? 是因为在 dump 中发现有不少的问题是 SQLSERVER 端产生的,比如:遗留事务,索引缺失 ,这让我产生 ......
游戏网站 高分 网站 NET CPU

记一次完整的PHP代码审计——yccms v3.4审计

一、环境搭建与使用工具 (一)环境搭建 打开源码查看安装要求 PHP 5.4+,Mysql 5.0.*,直接使用phpstudy配置即可 查看源码目录结构,发现是mvc模式的,那么我们重点关注的就是controller、public、model下的文件 (二)使用工具 集成网站环境搭建:phpstu ......
代码 yccms PHP v3

记一次CVE实战挖掘记录

CVE实战挖掘记录 前一段时间在学习代码审计,然后为了学习就开始在github上面找开源的项目进行练手学习代码审计,这样就可以获取CVE编号。 0x01 cve编号获取流程 首先登录CVE官方网站,选择如下选项Report Vulnerability/Request CVE ID(报告漏洞/请求CV ......
实战 CVE

为什么 响应式数据被重新赋值了三次,但是监听回调只执行了一次

代码例子 const { createApp } = Vue const app = createApp({ components: [], template: ` <div> <button @click="handleClick">toggle</button> </div> `, data() ......
数据

记录一次排查log4cxx库按照日期回滚,不创建新目录的BUG

记录一次排查log4cxx库按照日期回滚,但是第二天没有新目录创建的的BUG。日志目录根据当天日期生成新目录,目录下存放日志文件 ......
日期 log4cxx 目录 4cxx log4

记一次线上FGC问题排查

本文记录一次线上 GC 问题的排查过程与思路,希望对各位读者有所帮助。过程中也走了一些弯路,现在有时间沉淀下来思考并总结出来分享给大家,希望对大家今后排查线上 GC 问题有帮助。 ......
问题 FGC

一次生产环境CPU占用高的排查

1. 项目背景 甲方是保密级别非常高的政府部门。所以我们全程拿不到任何测试数据,只能是自己模拟数据进行测试。 项目部署的时候,公司派了一人到甲方现场,在甲方客户全程监督下,进行部署,调试,导入数据等工作。因为前期看不到真实的数据,所以很多功能都是凭客户口述进行,到了现场难免发现问题。 这时需要改动代 ......
环境 CPU

记一次失败的StackOverflow回答

有一位同学在StackOverflow上提问,他想创建一个 Future 类,异步的实现 Future 的构造,当构造完成之后自动调用 .then 方法,执行后面的逻辑 class Features { features = null constructor(){ fetchFeatures() } ......
StackOverflow

记一次使用gdb诊断gc问题全过程

原创:扣钉日记(微信公众号ID:codelogs),欢迎分享,转载请保留出处。 简介 上次解决了GC长耗时问题后,系统果然平稳了许多,这是之前的文章《GC耗时高,原因竟是服务流量小?》 然而,过了一段时间,我检查GC日志时,又发现了一个GC问题,如下: 从这个图中可以发现,我们GC有一些尖峰,有时会 ......
全过程 问题 gdb

一次JVM GC长暂停的排查过程

作者:京东科技 徐传乐 背景 在高并发下,Java程序的GC问题属于很典型的一类问题,带来的影响往往会被进一步放大。不管是「GC频率过快」还是「GC耗时太长」,由于GC期间都存在Stop The World问题,因此很容易导致服务超时,引发性能问题。 事情最初是线上某应用垃圾收集出现Full GC异 ......
过程 JVM

基于SqlSugar的开发框架循序渐进介绍(23)-- Winform端管理系统中平滑增加对Web API对接的需求

在前面随笔介绍的基于SqlSugar的WInform端管理系统中,数据提供者是直接访问数据库的方式,不过窗体界面调用数据接口获取数据的时候,我们传递的是标准的接口,因此可扩展性比较好。我曾经在随笔《基于SqlSugar的开发框架循序渐进介绍(5)-- 在服务层使用接口注入方式实现IOC控制反转》中介... ......

一次SQL调优 聊一聊 SQLSERVER 数据页

一:背景 1.讲故事 最近给一位朋友做 SQL 慢语句 优化,花了些时间调优,遗憾的是 SQLSERVER 非源码公开,玩起来不是那么顺利,不过从这次经历中我觉得明年的一个重大任务就是好好研究一下它,争取在 SQLSERVER 性能优化上做一些成绩,哈哈! 个人觉得要想深入研究 SQLSERVER, ......
SQLSERVER 数据 SQL

记一次在CentOS上安装GitLab的流程

1、本次环境说明 系统:Centos7.6 IP地址:http://192.168.3.213: 最低配置要求:2核心CPU和4G内存,这是因为[GitLab]的整体运行包含了多个进程 2、自行安装 docker 和 docker-compose 我使用的是宝塔的面板一键安装,省心方便 3.随便找个 ......
流程 CentOS GitLab

红袖添香,绝代妖娆,Ruby语言基础入门教程之Ruby3基础语法,第一次亲密接触EP01

书接上回,前一篇我们在全平台构建好了Ruby3的开发环境,现在,可以和Ruby3第一次亲密接触了。 Ruby是一门在面向对象层面无所不用其极的解释型编程语言。 我们可以把编写Ruby代码看作是一场行为上的艺术,编码就像跳舞一样,Ruby的每一步都很优雅,几乎没有一步是多余的。 第一行代码 进入系统的 ......

一次不太成功的内网部署视屏会议系统预研

Jitsi Meet 背景 接到一个任务,想在公司内网搭建一个视频会议系统,用于公司内部或与分公司交流,需要内网部署,最好是开源免费。 项目定位 查找了如下几个项目: tailchat-meeting - https://github.com/msgbyte/tailchat-meeting sta ......
视屏 会议系统 会议 系统

记一次性能测试中,因为自己设置问题,导致测试结果偏差

前言 这个性能测试真的感觉做了好久,一直都没有一个好的结果。 为什么要记录,因为想让自己以后不再犯类似错误! 要知道的几个知识点 你看完,肯定会感谢我的,建议收藏! 关于系统支持并发数计算: 1、使用系统用户数量(5%~20%):* 比如用户数为200人,平均取最大用户数为80用户左右,参考维基百科 ......
偏差 一次性 结果 问题

vue3项目,记录我是如何用1h实现产品预估1天工作量的界面需求

最近在编写前端界面,硬是一人一周时间加班加点写完了一个项目的前端界面(一级菜单有12个页面+一个控制台大屏,二三级界面有N个),之前预估前端界面的编写需要一个月,我是自己把自己卷死了(没有办法,项目经理说项目要1周写界面,2周发版,我这个项目前端只我1个人,后端有3个人...).......我只想说 ......
界面 需求 项目 产品 vue3

一次TiDB GC阻塞引发的性能问题分析

背景 前不久从项目一线同学得到某集群的告警信息,某个时间段 TiDB duration 突然异常升高,持续时间6小时左右,需要定位到具体原因。 分析过程 第一招,初步判断 由于项目条件苛刻,历经苦难才拿到监控,在此之前只能靠现场同学的口述排查,oncall人太难了。。 既然是duration升高,那 ......
性能 问题 TiDB