刷新
聊聊数据压缩

博主头像 这篇文章主要讨论数据压缩,数据压缩不仅可以节省存储空间,还可以提升网络传输性能,不同的压缩算法有不同的压缩比和压缩耗时,我们需要根据项目需求,选择不同的压缩算法。 ...

设计原则

博主头像 设计模式 设计模式是指在软件开发中,经过验证的,⽤于解决在特定环境下,重复出现的,特定问题的解决⽅案; 内存模型 继承Base,和成员变量为Base类型的内存模型 成员变量为Base指针的内存模型-》实际开发常用这种 由于该形式以Base指针的形式存储,展现一种多态的思想 而上一种中Base类型和S ...

当我把ChatGPT拉进群聊里,我的朋友都玩疯了

博主头像 前言 近期ChatGPT可以说是太火了,问答、写论文、写诗、写代码,只要输入精确的prompt,他的表现总是让人惊喜。本着打不过就加入的原则。要是把ChatGPT拉入群聊中,会是怎样一番场景?说做就做,花了1个晚上捣鼓了一个小Demo【ChatGPT群聊助手】,凭借它的“聪明才智”,应该可以搞定我的 ...

物联网的实时分析Apache Pinot介绍

博主头像 长期以来,我们一直听说物联网(IoT)将通过将日常设备连接到互联网来改变我们的生活和工作方式。虽然物联网的许多承诺似乎总是 "即将到来",但物联网设备的激增已经创造了大量的数据,需要实时处理、存储和分析。我已经说了很多年--实际上已经超过十年了--如果你的物联网数据不及时、不准确、不具有可操作性,那 ...

怎么使用硬件同步原语替代锁?

博主头像 这篇文章主要描述硬件同步原语,它是由计算机硬件提供的一组原子操作。 我们常见的原语操作有CAS和FAA两种。在某些情景下,我们可以使用它来替代锁,从而更加安全高效的操作数据。 ...

再谈编程范式(3):理解面向过程/面向对象/函数式编程的精髓

面向过程(PO) 面向过程是随着VB一起来到我的世界,那个时候会的非常有限,感觉能把程序写出来自己就非常棒了,VB是做那种可视化界面,在工具栏拖个框框放到面板上,然后就在各个事件上写完整的逻辑,什么封装,抽象,继承一概不懂,就有一种一个方法把实现过程需要的逻辑都罗列了,面向过程分析的是步骤。这样说过 ...

怎么正确使用锁?

博主头像 这篇文章主要关注分布式锁,包括加锁和解锁的过程,锁的用法,加锁带来的代价,对性能的影响以及如何避免死锁。 ...

聊聊缓存

博主头像 这篇文章主要聊一下缓存,如何使用缓存来加速你的系统,减少磁盘 IO。按照读写性质,缓存可以分为读写缓存和只读缓存,两种缓存有各自的适用场景。 ...

为什么Kafka的性能那么好?

博主头像 这篇文章主要用来讨论Kafka是如何做到高性能的,包括使用批处理方式处理消息,使用顺序读写的方式使用磁盘,利用PageCache缓存数据并减少IO操作,使用零拷贝技术加速消费流程。 ...

几种常用三维模型几何精纠正方法,可以纠正三维模型精度

博主头像 三维模型几何纠正方法主要包括以下几种:坐标变换法:通过对三维模型的坐标进行变换,实现几何纠正。常用的坐标变换包括平移、旋转和缩放等。平移和旋转可以通过对模型的平移和旋转矩阵进行计算实现,缩放可以通过对模型的坐标进行缩放系数的计算实现。点云拟合法:将三维模型拟合到点云数据上,通过对拟合误差进行优化,实 ...

对于多任务多连接多线程实现限速的实现方法及思考

# 对于多任务多连接多线程实现限速的实现方法及思考 ## 前言 最近在写毕业设计,我的毕业设计就是用Rust语言实现一个Bittorrent客户端协议及其拓展协议,顺便写个Web让这个玩意能跑起来用。 总之就是要实现一个类似迅雷的下载器。下载器嘛,肯定要有限速功能的,不然吃满带宽导致其他应用饿死(B ...

特殊时期,钉钉如何通过单元化扛住流量高峰?

博主头像 钉钉单元化从2018年开始到今年已经是第五个年头了,五年的时间,钉钉单元化迭代了三个版本,从最初的毛头小子,到达今年已经小有成就。今天想借这个场来和大家分享我们单元化的心路历程和一些最佳实践。本文要分享的内容只涉及部分内容,无法做到面面俱到,主要是想在同路人中形成共鸣,进而能复用一些架构或者系统。在... ...

python策略模式场景

什么是策略模式? 在Python中,除了上次介绍的工厂模式,还有一种应用广泛的设计模式,即策略模式。策略模式就是一个策略类,它可以用相同的接口来调用不同的策略类,从而实现不同策略下的算法。 策略模式一般由三个部分组成: Context:上下文类,持有具体策略类的实例,并负责调用相关的算法 Strat ...

密码管理器-1

博主头像 说明 今天首先考虑安全角度下个人以及团队密码的存储方案,以及两种情况下的加密解密方式。 个人密码加密 了解了1password等软件的个人加密方式应该是采用2SKD(two-secret key derivation)方式,two-secret key指的是master password(用户主密码 ...

观察者模式——学习笔记

博主头像 观察者模式 介绍 观察者模式是极其重要的一个设计模式,在许多框架都使用了,以及实际开发中也会用到。 定义对象之间的一种一对多的依赖关系,使得每当一个对象的状态发生变化时,其相关的依赖对象都可以得到通知并被自动更新。主要用于多个不同的对象对一个对象的某个方法会做出不同的反应! 以不同观察者从同一个天气 ...

QQ音乐高可用架构体系

博主头像 故障无处不在,而且无法避免。(分布式计算谬误) 在分布式系统建设的过程中,我们思考的重点不是避免故障,而是拥抱故障,通过构建高可用架构体系来获得优雅应对故障的能力。QQ音乐高可用架构体系包含三个子系统:架构、工具链和可观测性。 ...

软件架构模式

博主头像 作者:Mark·Richards 简介 架构模式帮助你定义应用程序的基本特征和行为。例如,一些架构模式会让程序自己自然而然地朝着具有良好伸缩性的方向发展,而其他架构模式会让程序朝着高度灵活的方向发展。知道了这些特点,了解架构模式的优点和缺点是非常必要的,它必须我们选择一个适合自己特定的业务需求和目标 ...

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

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

<1···313233···50>