## 前言 我的服务器带宽比较高,博客部署在上面访问的时候几乎没感觉有加载延迟,就没做图片这块的优化,不过最近有小伙伴说博客的图片加载比较慢,那就来把图片优化完善一下吧~ 目前有两个地方需要完善 - 图片瀑布流 - 图片缩略图 ## 图片瀑布流 关于瀑布流之前的文章有介绍: [基于.NetCore开
TiDB作为NewSQL,其在对MySQL(SQL92协议)的兼容上做了很多,MySQL作为当下使用较广的事务型数据库,在IT界尤其是互联网间使用广泛,那么对于开发人员来说,1)两个数据库产品在SQL开发及调优的过程中,都有哪些差异?在系统迁移前需要提前做哪些准备? 2)TiDB的执行计划如何查看,如何SQL调优? 本文做了一个简要归纳,欢迎查阅交流。
软件工程的方方面面都遵循一个最基本的道理:没有银弹,架构分层模型更是如此,每一种都有各自优缺点,所以请根据不同的业务场景,并遵循简单、可演进这两个重要的架构原则选择合适的架构分层模型即可。
性能优化是个系统性工程,宏观上可分为网络,服务,存储几个方向,每个方向又可以细分为架构,设计,代码,可用性,度量等多个子项。 本文将重点从代码和设计两个子项展开,谈谈那些提升性能的知识点。
CouchDB 和 LevelDB 都是数据库系统,但它们在很多方面有着不同的设计和应用重点。下面是对这两个数据库在一些关键点上的对比: 1. **数据模型**: - CouchDB:CouchDB 是一种面向文档的数据库,数据以 JSON 格式存储在称为文档的单元中。每个文档都可以具有不同的结构,
分布式一致性是构建可靠的分布式系统的关键要素之一。为了确保数据的一致性和可用性,一致性算法的设计变得至关重要。在这篇博文中,我们将深入探讨两个与分布式一致性密切相关的主题:Raft 算法和 etcdRaft 存储系统。 ## Raft 算法:分布式一致性的基石 Raft 算法是一种分布式一致性算法,
Java是世界上最流行的编程语言之一,它被广泛用于从Web开发到移动应用的各种应用程序。大部分Java工程师主要是用IDEA、Eclipse为主,这两个开发工具由于有强大的能力,所以复杂度上就更高一些。如果您刚刚开始使用Java,或者您更适合从一个轻量级的开发环境开始。所以,今天就给大家推荐一个比I
问题描述 在从Storage Account 队列中获取数据(Queue),在门户中,明显看见有数据,但是通过消费端代码去获取的时候,就是无法获取到有效数据的情况。获取消息的代码如下: 问题解答 经过对 receiveMessages 方法定义的查询,第二个参数,第三个参数的两个时间表示的意思为 消
问题描述 跨区域无法访问Azure Redis服务, Redis 启用了Network并设置在一个VNET中,现在客户端部署在另一个区域数据中心中,两个数据中心区域使用VNET Peer(对等互连)访问。但是为什么不能访问Redis服务呢? 问题解答 根据Azure Redis的官方介绍,因为Red
问题一:迁移到云服务扩展后,之前经典版的云服务的部署槽会变成单一的部署槽,关于两个云服务扩展版之间的部署交换能否提供一个演示? 对于具有双槽的云服务(Classic),根据文档中的建议,在迁移到云服务(外延支持)时需要先删除过渡槽,将生产槽作为一个独立的云服务进行迁移。 在完成生产槽的迁移后,创建另
以前就是一直使用 `Newtonsoft.Json` 用起来还是挺舒服的。由于 JSON 的应用越来越广,现在. NET Core 都内置了 `System.Text.Json` 可以直接对 JSON 进行操作,不过两个东西的体验依然有点区别。 有时候我们会遇到的从第三方传递过来的 json str
数据库现有数据其中两列: s - 开始时间, e - 结束时间. 在新插入数据s', e'之前需要判断两个时间之间是否有重合 因为使用mybatis-plus的缘故, 结论都使用s或e在符号前面. 1. s < e 比如yyyy-MM-dd HH:mm:ss格式的数据, 多用于判断预约时间和每日排班
全局有序 在RocketMQ中,如果使消息全局有序,可以为Topic设置一个消息队列,使用一个生产者单线程发送数据,消费者端也使用单线程进行消费,从而保证消息的全局有序,但是这种方式效率低,一般不使用。 局部有序 假设一个Topic分配了两个消息队列,生产者在发送消息的时候,可以对消息设置一个路由I
zustand 和 jotai 是当下比较流行的react状态管理库。其都有着轻量、方便使用,和react hooks能够很好的搭配,并且性能方面,对比React自身提供的context要好得多,因此被很多开发小伙伴所喜爱。 更有意思的是,这两个库的作者是同一个人,同时他还开源了另外一个状态库 va
目录背景抽象工厂模式优点与缺点参考文章 背景 现在我需要开发一个相机操作模块,它可能在Windows下运行,也可能在Linux下运行。由于在厂家提供的SDK中,Windows下的SDK和Linux下的SDK是有区别的,因此对于一个品牌的相机,我们要创建两个类去封装这两个不同平台下的API。 我们先使
理论 我们需要一个数据结构维护树上的问题,仿照序列上的问题,我们需要一个方法快速的刻画出信息。 比如说线段树就通过分治的方式来通过将一个区间划分成 \(\log n\) 个区间并刻画出这 \(\log n\) 个区间的信息。 然后我们考虑把这个东西放到树上类比。你发现线段树上每个非叶节点都有两个儿子
K最临近(K-Nearest Neighbors,KNN)方法是一种简单且直观的分类和回归算法,主要用于分类任务。其基本原理是用到表决的方法,找到距离其最近的K个样本,然后通过K个样本的标签进行表决,预测结果给出的标签是表决多的一方。 在使用K最临近方法的时候,有两个方面可调: 一是K值的大小,K一
一:背景 1. 讲故事 最近在分析dump时,发现有程序的卡死和WeakReference有关,在以前只知道怎么用,但不清楚底层逻辑走向是什么样的,借着这个dump的契机来简单研究下。 二:弱引用的玩法 1. 一些基础概念 用过WeakReference的朋友都知道这里面又可以分为弱短和弱长两个概念
1、概述 容器生命周期钩子(Container Lifecycle Hooks)监听容器生命周期的特定事件,并在事件发生时执行已注册的回调函数。 钩子函数能够感知自身生命周期中的事件,并在相应的时刻到来时运行用户指定的程序代码。 kubernetes在主容器的启动之后和停止之前提供了两个钩子函数:
在本文中,我们深入探讨了交叉熵函数作为一种重要的损失函数,特别适用于神经网络训练中。交叉熵通过衡量真实标签分布与模型预测分布之间的差异,帮助优化模型的性能。我们从信息论的角度解释了交叉熵的概念,它是基于Shannon信息论中的熵而来,用于度量两个概率分布之间的差异。