众所周知,SwiftUI 是一个响应式框架,这意味着,当数据源发生变化时,框架会自动更新视图。同样,当我们想调整视图显示时,应直接对状态进行修改。但是,SwiftUI 中的一些系统控件并没有完全遵循响应式的设计原则,由此在某些情况下会出现严重的错误,影响用户体验,并使开发者无所适从。本文将解析 SwiftUI 中两个由于未能贯彻响应式编程原则而导致的严重错误 ......
127
0
0
2024-01-17
高并发应用中的挑战随着互联网快速发展、传统行业IT转型,很多应用的流量越来越高,高并发成为服务端中的一个重要挑战,在高并发场景下,只使用数据库来承担流量, 会遇到各种各样的问题和挑战。 本文分为三个部分,首先我们了解下高并发场景下常见的一些关于 缓存 的问题,然后给出一些通用的缓存设计模式解决方案,最后我们分析一下 知乎 中的一些功能点进行技术方案设计。 估 ......
108
0
0
2024-01-14
状态管理有状态的计算是流处理框架要实现的重要功能,因为稍复杂的流处理场景都需要记录状态,然后在新流入数据的基础上不断更新状态。下面的几个场景都需要使用流处理的状态功能:数据流中的数据有重复,我们想对重复数据去重,需要记录哪些数据已经流入过应用,当新数据流入时,根据已流入过的数据来判断去重。检查输入流是否符合某个特定的模式,需要将之前流入的元素以状态的形式缓存 ......
115
0
0
2024-01-13
前言在介绍Producer端原理之前,大家先对其整体架构有一个大致的了解,图示如下所示:这个图看不懂没有关系,我们会在介绍Producer端原理时一一介绍每个部分的含义及其所复杂的功能。Main Thread(主线程)在Main Thread中,一共分为四个步骤,分别是:KafkaProducer(Kafka生产端)、Interceptor(拦截器)、Ser ......
119
0
0
2024-01-11
思维导图学习编程必要原因编程不仅仅涉及代码编写。它需要解决问题的能力、批判思维和创造力。这些技能不能被一个AI语言模型所取代编程是一个高度专业化的领域。尽管ChatGPT可以生成代码或回答编程问题,但它并没有相同水平的深入了解和灵活性。编程需要实际的编程技能,并且在软件开发和问题解决方面具有重要的应用。在许多情况下,ChatGPT生成的代码可能不够高效、可靠 ......
151
0
0
2024-01-07
思维导图引言编程在现代世界中的重要性编程之所以具有如此重要的意义之一在于它具备解决问题的能力。无论是自动化重复性任务、简化业务运营还是创建创新应用,编程提供了必要的工具来应对现实世界中的挑战。通过开发高效算法和优雅的代码结构,程序员可以设计出提高生产力、节约时间和优化资源的解决方案。此外,编程使我们有能力塑造未来。它推动创造出突破可能性的尖端技术。从人工智能 ......
141
0
0
2024-01-07
前言我们在进行音视频开发过程中不可避免的需要使用一些工具进行协助开发,本文重点讲解音视频开发过程中常用工具以及常用功能。一、VLC 播放器1、简介VLC 支持多种常见音视频格式,支持多种流媒体传输协议,也可当做本地流媒体服务器使用,功能十分强大。2、下载官网下载地址: https://www.videolan.org/或者在电脑的应用商店下载也可以3、VLC ......
125
0
0
2024-01-07
我和 GPT-4 一起开发了一个 Chrome 插件,可以批量删除 chatGPT 网页版上的对话,废话少说,先看效果:youtube[1]Github 地址[2]插件地址[3]背景作为一名后端工程师,基本没写过啥前端代码。但是自己独立写一个有 UI 界面的作品出来给用户使用,一直是个梦想。无奈动手写的成本太高,也尝试过学习前端语言,但是时间精力问题,一直也 ......
150
0
0
2024-01-06
常见硬件组件的延时情况如下图: 从这些数据中,你可以看到,做一次内存寻址大概需要 100ns,而做一次磁盘的查找则需要 10ms。可见,我们使用内存作为缓存的存储介质相比于以磁盘作为主要存储介质的数据库来说,性能上会提高多个数量级。所以,内存是最常见的一种缓存数据的介质。一、缓存案例1、TLBLinux 内存管理是通过一个叫做 MMU(Memory Mana ......
118
0
0
2023-12-15
作者:土狼 来自:码码的土狼 在QCon10周年的大会上,我做了题为《微服务架构体系的深度治理》的分享,现将PPT和演讲文稿整理出来,希望能够给仍在(微)服务治理迷局中夺路狂奔的同学们一点启发和指引。 这次分享首先介绍了服务治理的发展历史,它的4个阶段;接着重点介绍 微服务 度量及分析体系的构建;最后,分别针对微服务线上及线下体系的治理进行深入探讨。 “治理 ......
128
0
0
2023-12-14
先来科普个概念,开放应用程序的 API (即Application Program Interface,应用程序接口)可以让开发者在无需访问源码,或理解内部工作机制细节的情况下,调用他人共享的功能和资源。对于数据源的获取上API是个好伙伴。 菜鸟也能对接的100个常用快递单号查询 api 接口汇总物流快递有关API快递鸟- 快递鸟目前支持600多家国内外快递 ......
209
0
0
2023-12-14
HDFS 概述 产生背景 随着数据量越来越大,在一个操作系统中存不下所有的数据。需要将这些数据分配到更多的操作系统中,带来的问题是多操作系统不方便管理和维护。需要 一种系统来管理多台机器上的文件 ,这就是分布式文件管理系统。 HDFS是分布式文件管理系统中的一种 定义 HDFS( hadoop Distributed File System)它是一个文件 ......
182
0
0
2023-12-12
1 何谓重构 我总是不太喜欢下定义,因为每个人对每样东西都有自己的定义。但是既然在写书,总得选择自己满意的定义。在重构这个概念上,我的定义以Ralph Johnson团队和其他相关研究成果为基础。 首先要说明的是:视上下文不同,“重构”这个词有两种不同的定义。你可能会觉得这挺烦人的(我就是这么想的),不过处理自然语言本来就是件烦人的事,这只不过是又一个实例而 ......
147
0
0
2023-11-27
正则表达式,仅仅用一段非常简短的表达式语句,便能够快速实现一个非常复杂的业务逻辑。熟练地掌握正则表达式的话,能够使你的开发效率得到极大的提升。正则表达式经常被用于字段或任意 字符串 的校验,如下面这段校验基本日期格式的JavaScript代码:var reg = /^(\d{,4})(-|\/)(\d{1,2})\2(\d{1,2})$/; var r ......
172
0
0
2023-09-12
对于开发人员来说,利用一款好用的代码编辑器,可以起到事半功倍的作用。本人归纳整理了开发人员比较常用的代码编辑器,希望大家喜欢!1) chocolatapp 这款代码编辑器,是最新出现的一个版本。它属于Mac系统文本编辑器,不仅具有原生的 Cocoa 和强大文本编辑功能。这款代码编辑器支持多种编辑语言,且支持关键字高亮显示、窗口分割、标签页、色彩主题等功能。2 ......
243
0
0
2023-09-08