XOR
深入理解需求分析的目标(C系架构设计法)
需求分析的目标:是尽可能准确、全面、深入的理解业务。 1:理解“尽可能准确” 首先,需求分析,要做的事,肯定是去理解业务,但是要达到什么样的程度,才算是我们理解了这个业务呢? 第一个是“尽可能”,尽可能的意思,就是你不太可能百分之百的、完整的、准确的去理解,做不到。我们只能说是尽自己最大努力去理解, ......
需求分析之道——需求分析要做什么(C系架构设计法,sishuok)
需求分析之道——需求分析要做什么。 需求分析是架构师开始做架构设计的第一步,对架构师来讲非常非常的重要。因为需求分析能够告诉我们,到底我们要做什么,架构设计就是为了去完成这件事情而做的。 接下来,我们就从实战的角度来讲一讲,需求分析的一些方法,都是咱们多年经验的总结,也许听上去或者说大家看上去,没有 ......
Camera | 5.Linux v4l2架构(基于rk3568)
上一篇我们讲解了如何编写基于V4L2的应用程序编写,本文主要讲解内核中V4L2架构,以及一些最重要的结构体、注册函数。 厂家在实现自己的摄像头控制器驱动时,总体上都遵循这个架构来实现,但是不同厂家、不同型号的SoC,具体的驱动实现仍然会有一些差别。 读者可以通过本文了解各个结构体与对应的摄像头模块、 ......
vue项目PC端如何适配不同分辨率屏幕
闲聊: 年前小颖第一家公司同事问我有做过pc端适配的项目吗,我给妹纸说了下,结果发现没说完,自己当时也没想起来,今天干脆总结下,方便自己和大家日后查看 第一步: 安装postcss-px2rem、px2rem-loader 打开命令行工具,输入以下指令安装插件 npm install postcss ......
网络问题定位工具记录
网络问题定位工具记录 老王内网发了一篇使用各种工具定位网络丢包问题的文章。 里面的工具我发现都没用过。。。惭愧。。。赶紧补充linux命令知识。 linux的nstat命令是做什么的?输出格式是什么意思? nstat是一个Linux命令行工具,用于显示网络接口的统计信息,包括TCP、UDP、IP和I ......
Flink模式
Per-job Cluster 该模式下,一个作业一个集群,作业之间相互隔离。 在Per-Job模式下,集群管理器框架用于为每个提交的Job启动一个 Flink 集群。Job完成后,集群将关闭,所有残留的资源也将被清除。 此模式可以更好地隔离资源,因为行为异常的Job不会影响任何其他Job。另外,由 ......
一文读懂字符编码ASCII、Unicode与UTF-8
最近在写一个Http协议栈当涉及CRLF控制字符写入时,发现自己对CRLF与\r\n的关系不太了解,因此决定详细学习一下;查阅资料的同时,又遇到UTF-8与ASCII编码的疑问。 ......
解读C#编程中最容易忽略7种编写习惯!
编程时犯错是必然的,我们来解读一下编程中最容出现的错误 1、拼接字符串 在C#编程中,字符串类型的处理是比较容易出错的地方,在.NET Framework中,字符串是一个不可变的类型,当一个字符串被修改后,总是创建一个新的副本,不会改变源字符串,大多数开发人员总是喜欢使用下面这样的方法格式化字符串: ......
centos7安装zabbix 5.0
环境说明 名称 版本 下载地址 zabbix 5.0 LTS https://repo.zabbix.com/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm centos 7.9 postgresql-server 9.2.2 ......
常用的Java开发工具比较
市场上Java 开发常用的编辑器可谓是琳琅满目,令人眼花缭乱,甚至让人难以抉择。所以今天挑选了几款主流的编辑器进行介绍,都是功能比较丰富的IDE,至于大神使用的普通文本编辑器就不再此次考虑范围内,主要介绍IntelliJ IDEA、Eclipse、NetBeans、Visual Studio Cod ......
AI 能多强「GitHub 热点速览」
不知道 AI 在你那边是什么样的具象,在我这就是各种搞图:从给线稿图上色,到直接给你生成一张小色图,AI 最近是真出风头,本周热点速览也收录了 2 个 AI 项目,也和图像有关。还有一个和 AI 相关的,进行 panda dataframe 的可视化探索。 不过不只是 AI 很强,本周也有很强的 T ......
开箱即用,你不可错过的好东西「GitHub 热点速览」
近两周 ChatGPT 的应用雨后春笋般冒出来,占据了 GitHub 热榜半个版面,像是本周推荐能搞定一本电子书翻译的 bilingual_book_maker,有 ChatGPT buff 加成的小爱同学。除了开箱即用的 AI 应用之外,当然还有拿来即用,提升你开发体验的部署工具 mrsk、监控 ......
你的梦想家居「GitHub 热点速览」
上周推荐的 ChatGPT 版小爱,不知道有哪些小伙伴回去尝试接入了呢?本周依旧由 2 个不错的 ChatGPT 延伸项目,一个是比 DeepL、Grammarly 更懂你的划词翻译 openai-translator,另外个是不再用文字同你对话的 visual-chatgpt,你可以用文字让 Ch ......
谁会拒绝一款开源的 3D 博客呢?
说到博客大家一定都不陌生,不管你是深耕职场多年的老鸟,还是在学校努力学习的小鸟,应该都有过一段“装扮”博客的经历,比如:放上喜欢的图片、添加炫酷的交互、换上 DIY 的博客主题等等。但不管再怎么“打扮”,也跳脱不出平面的“凡胎”。 今天 HelloGitHub 给大家带来的是一款开源的 3D 博客项 ......
GPT-4 来了!这些开源的 GPT 应用又要变强了
近日,在 GPT-3.5 发布的半年后,OpenAI 正式推出了大版本的 GPT-4,不同于 GPT-3 到 GPT-3.5 耗时两年,这次版本升级只用了半年。如果你对 OpenAI 不熟悉,答应我读下这篇《ChatGPT 会开源吗?》 ,它详细介绍了 OpenAI 这家公司及其产品。 为了让你快速 ......
模拟浏览器与服务器交互(简易TomCat框架)
模拟浏览器发送请求到服务器获取资源的思想和代码实现 浏览器发送请求到服务器获取资源的流程和概念 日常我们使用的浏览器,底层都是帮我们做了很多事情,我们只需要用,比如输入www.baidu.com,就可以访问百度的首页 那么它是如何做到的呢,其实简单来说就是浏览器在底层利用socket,将我们输入的地 ......
剖析flutter_download_manager学习如何做下载管理,暂停和取消
前言 内容类应用中图片或文件下载,一般应用中应用更新和升级,这些都是经典的下载场景。下载是项目中基础且重要的模块。 从代码逻辑复用性和人力成本考虑,一直想实现一个纯Dart实现的下载库,作为技术储备。 最近发现了一个纯Dart实现的下载库flutter_download_manager,相对来说各方 ......
Flutter 下载篇 - 贰 | 当下载器遇上切换网络库
需求背景 继上篇《Flutter 下载篇 - 壹 | flutter_download_manager 源码解析》中详细介绍了 flutter_download_manager 用法和原理。在优缺点中提到,该库纯 Dart 实现,支持下载管理,暂停,恢复,取消和断点续传。其中有个缺点是网络库与 di ......
Flutter 下载篇 - 叁 | 网络库切换实践与思考
前言 本文是关于使用flutter_download_manager下载功能的实践和探索。我们将基于flutter_download_manager的功能扩展,改造成自己想要的样子。在阅读本文之前,建议先了解前两篇文章: Flutter 下载篇 - 壹 | flutter_download_mana ......
2023 年最新最全的 React 面试题
React 作为前端使用最多的框架,必然是面试的重点。我们接下来主要从 React 的使用方式、源码层面和周边生态(如 redux, react-router 等)等几个方便来进行总结。 1. 使用方式上 这里主要考察的是,在开发使用过程中,对 React 框架的了解,如 hook 的不同调用方式得 ......
使用Ingress-Nginx来暴露ArgoCD Web-UI
未安装ArgoCD参考GitOps实践之kubernetes部署Argocd 1. 查看Argocd Service 可以看到是ClusterIP,因此不能从外部直接访问Argocd的WEB-UI # kubectl get svc -n argocd NAME TYPE CLUSTER-IP EX ......
数据转换工具DBT介绍及实操
一、什么是DBT dbt (data build tool)是一款流行的开源数据转换工具,能够通过 SQL 实现数据转化,将命令转化为表或者视图,提升数据分析师的工作效率。dbt 主要功能在于转换数据库或数据仓库中的数据,在 E(Extract)、L(Load)、T(Transform) 的流程中, ......
压测工具Jmeter介绍及使用
一、压测工具选型 1.1、前言 压力测试是每一个Web应用程序上线之前都需要做的一个测试,他可以帮助我们发现系统中的瓶颈问题,减少发布到生产环境后出问题的几率;预估系统的承载能力,使我们能根据其做出一些应对措施。所以压力测试是一个非常重要的步骤,关于java应用的压力测试,业界常用工具为Apache ......
14.AQS的前世,从1990年的论文说起
大家好,我是王有志。在正式开始学习AbstractQueuedSynchronizer前,先来了解下基于队列思想的自旋锁在设计上的演进。 ......
【Redis场景5】集群秒杀优化-分布式锁
集群环境下的秒杀问题 前序 【Redis场景1】用户登录注册 【Redis场景2】缓存更新策略(双写一致) 【Redis场景3】缓存穿透、击穿问题 【Redis场景拓展】秒杀问题-全局唯一ID生成策略 【Redis场景4】单机环境下秒杀问题 在单机环境下的并发问题,我们可以使用相关锁来解决;但是在集 ......
c++ 内存顺序
搞懂无锁编程的重要一步是完全理解内存顺序! 本教程由作者和ChatGPT通力合作完成。 都有哪几种? c++的内存模型共有6种 memory_order_relaxed memory_order_consume memory_order_acquire memory_order_release me ......
maven 多模块项目的测试覆盖率分析 - jacoco 聚合分析
前言 对于大多数 maven 多模块化工程,可以使用 Jacoco 这款工具,关于 Jacoco 这款工具,ChatGPT 对它的描述是这样的: JaCoCo(Java Code Coverage)是一个开源的测试覆盖率工具,它可以用于帮助开发人员衡量其软件测试的有效性。它支持多种语言,包括 Jav ......
ChatGPT强势爆红,背后的技术原理是?一文轻松搞懂!
作者:小牛呼噜噜 | https://xiaoniuhululu.com 计算机内功、源码解析、科技故事、项目实战、面试八股等更多硬核文章,首发于公众号「小牛呼噜噜」 大家好,我是呼噜噜,最近一段时间被ChatGPT疯狂刷屏,自从2022年11月发布上线后,不仅 5 天时间便突破百万用户,月活用户突 ......
MySql生成ER【StarUML】文件
1. 背景 要画ER图,一个个打费时费力,StarUML文件打开是json。那么就有可能自动生成。 2. 效果 把表结构生成好,自己只要维护关系即可。 3. 代码 import lombok.Data; import java.io.FileWriter; import java.io.IOExce ......