XOR

redis georadius源码分析与性能优化

原文地址: https://blog.fanscore.cn/a/51/ 背景 最近接到一个需求,开发中使用了redis georadius命令取附近给定距离内的点。完工后对服务进行压测后发现georadius的性能比预期要差,因此我分析了georadius的源码,并对原始的实现方案进行了优化,总结 ......
georadius 源码 性能 redis

Gridea,一个小而美的博客梦想桥梁

为了你查看到最新的博客,请点击这个链接到我自己建博客查看~ 备注:本文叙述操作过程非常详细,会稍现冗长,可以适当的跳读。 引子 相信大家应该已经非常了解GitHub pages了,他是一个基于github的免费静态博客平台,可以供大部分对博客感兴趣但是有不想花钱的人使用。GitHub pages的搭 ......
桥梁 梦想 Gridea 博客

c++ 程序通用多线程单例设计 c++ web 框架设计经验谈

设计 c++ web 框架时候,想要一个框架缓存类,很多通用缓存类是用字符保存,作为框架内置就不要序列和反序列了,因为框架内部使用。 想给自己的paozhu c++ web 框架添加缓存类,参考了springboot 于是确定用单例设计模式缓存类模板。 c++11后静态变量已经统一为线程安全了,网络 ......
经验谈 线程 框架 经验 程序

【Vue】style和class 列表渲染 使用v-for进行循环 监控失效 双向数据绑定 过滤案例 事件修饰符

昨日回顾 # 1 前端发展历史 -vue react -谷歌flutter,Dart语言 -uni-app:小公司 -vue: 3.x 2.x -3.x :ts -2.x :js # 2 vue: -渐进式 -MVVM: M层:model,数据层,js V层:view,视图层,html,css VM ......
双向 案例 事件 数据 style

【Vue】计算属性 监听属性 组件通信 动态组件 插槽 vue-cli脚手架

昨日回顾 # 1 checkbox v-model 只针对于input,做双向数据绑定 -单选 :选中或不选中 选中就是true,不选中就是false -多选 :数组,选了多个,把选中的value值放到数组中 # 2 购物车案例 -checkbox 多选 -插值 可以放 函数() 把函数返回结果放在 ......
组件 属性 脚手架 vue-cli 动态

【Vue】vue项目目录介绍 es6的导入导出语法 vue项目开发规范 Vue项目编写步骤

昨日回顾 # 1 计算属性 -属性放在data配置项中,方法放在methods中 -computed:{ 方法名(){} } -把它当属性用,缓存:只有当该计算属性使用的变量发生变化时,它才重新运算 # 2 重写过滤案例 - 通过计算属性,重写过滤案例 -newDataList做成计算属性,v-fo ......
项目 项目开发 语法 Vue vue

用ChatGPT,快速设计一个真实的账号系统

hi,我是熵减,见字如面。 用ChatGPT,可以尝试做很多的事情。 今天我们就来让ChatGPT做为架构师,来帮我们设计一个账号系统吧。 我的实验过程记录如下,与你分享。 用户故事 首先,我们从用户故事开始吧。 提示:我们从用户故事开始,需要设计一个网站的账号系统模型,其中包括账号基础信息实体,邮 ......
账号 ChatGPT 系统

用ChatGPT,绘制一个账号系统的C4架构图

hi,我是熵减,见字如面。 昨天我们用ChatGPT来设计一个账号系统,并尝试输出:模型表,类关系图,序列图,状态图等常用的架构设计中常用的元素。 今天,我们继续向更高层级延伸一下,看ChatGPT能不能更进一步释放工程师的生产力,创造更多的可能性。 所以,这次我们就来尝试用ChatGPT,来构建账 ......
架构 账号 ChatGPT 系统

TikTok 推荐引擎强大的秘密

作者:Heorhii Skovorodnikov 深入研究TikTok令人惊叹的实时推荐系统的内部工作原理,了解是什么使它成为该领域最好的产品之一。 为什么TikTok的feed如此让人上瘾?秘诀在于他们的推荐引擎,这正是使TikTok成为最大的社交媒体平台之一的原因。 似乎feed可以读取你的思想 ......
秘密 引擎 TikTok

C4模型,架构设计图的脚手架,你值得拥有

hi,我是熵减,见字如面。 对于软件开发团队来说,写软件设计文档,花架构图,是日常工作中的关键一项。 而其中,如何画好系统设计的架构图呢? Simon Brown 就 提出 C4 模型,来解决这个问题。 基于C4模型的脚手架,架构师们就可以统一团队内的不同层级的视角,交付一个成体系的架构设计。 下面 ......
脚手架 设计图 架构 模型

react 高效高质量搭建后台系统 系列 —— 前端权限

其他章节请看: react 高效高质量搭建后台系统 系列 权限 本系列已近尾声,权限是后台系统必不可少的一部分,本篇首先分析spug项目中权限的实现,最后在将权限加入到我们的项目中来。 spug 中权限的分析 权限示例 比如我要将应用发布模块的查看权限分给某用户(例如 pjl),可以这样操作: 在角 ......
前端 高质量 后台 权限 系统

react 高效高质量搭建后台系统 系列 —— 结尾

其他章节请看: react 高效高质量搭建后台系统 系列 尾篇 本篇主要介绍表单查询、表单验证、通知(WebSocket)、自动构建。最后附上 myspug 项目源码。 项目最终效果: 表单查询 需求:给角色管理页面增加表格查询功能,通过输入角色名称,点击查询,从后端检索出相应的数据。 效果如下: ......
高质量 后台 系统 react

webgl 系列 —— 初识 WebGL

其他章节请看: webgl 系列 初识 WebGL 什么是 WebGL webgl 在支持 canvas 的浏览器中进行 2d 或 3d 渲染。 webgl 程序除了有 Html、javascript,还需要加入着色器语言(GLSL ES)。 WebGL 使得网页在支持 HTML <canvas> ......
webgl WebGL

Android 初代 K-V 存储框架 SharedPreferences,旧时代的余晖?

本文已收录到 AndroidFamily,技术和职场问题,请关注公众号 [彭旭锐] 提问。 前言 大家好,我是小彭。 SharedPreferences 是 Android 平台上轻量级的 K-V 存储框架,亦是初代 K-V 存储框架,至今被很多应用沿用。 有的小伙伴会说,SharedPrefere ......

chatGPT帮助开发实战解答问题和反思

问题来自.Net开发群友 问题 我想做一个自动生成单据号的功能,但是在EFCORE里没有行级锁,请有什么等价方案吗? ChatGPT回答 在 EF Core 中确实没有提供行级锁(row-level locking)的功能,因为这需要对数据库进行显式的锁定操作,而 EF Core 的设计理念是尽可能 ......
实战 chatGPT 问题

.NET依赖注入之一个接口多个实现

前言 最近又在项目中碰到需要将原本单实现的接口改造成多个实现的场景,这里记录一下常见的几种改法。 假设已经存在如下接口ICustomService和其实现CustomService,由于只有一种实现,注入和使用非常容易。 public interface ICustomService { void ......
接口 多个 NET

一个容器,但是一整个k8s集群

你可能需要一个快速启动和销毁的 k8s 集群;你可能在资源受限的环境中运行 k8s 集群;你可能是一个完全的初学者,觉得搭建完整的 k8s 套件太难。那么这篇短文可能可以帮到你。 ......
集群 容器 k8s k8 8s

dotnet 8 preview 1 即将发布

.Net 8 preview 1 即将到来,让我们来提前看看都要发布什么吧。 .Net 8 preview 1 即将到来 .NET 8 的第一个预览版将在几周内发布,微软的 David Ortinau 在斯德哥尔摩举行的一场在线技术活动中说。这个消息是在.NET Frontend Day 的一个.N ......
preview dotnet

我不想再传递 nameof 了

有的时候抛出一个异常,我们需要知道是哪个方法抛出的异常。那么,我们可以通过传递 nameof 来获取调用者的方法名。但是,感觉很烦,每次都要传递 nameof。那么,有没有更好的方法呢? ......
nameof

2023 年 dotnet 仓库社区年度调查已经开始

准备好今年对 dotnet 指手画脚了吗,平常在群里我忍气吞声,今天我必须重拳出击,快来参与吧。 我直接一个参的加 .NET 是一个跨平台的开发框架,支持多种语言和应用场景,如 C#、F#、VB.NET、ASP.NET、Blazor、MAUI 等。2022 年是 .NET 的一个重要的年份,因为它将 ......
仓库 年度 dotnet 社区 2023

如何使用 ArrayPool

如果不停的 new 数组,可能会造成 GC 的压力,因此在 aspnetcore 中推荐使用 ArrayPool 来重用数组,本文将介绍如何使用 ArrayPool。 ......
ArrayPool

不同程序集,名称空间类名和方法签名都一样的方法,如何调用

有时候,你可能会遇到这样的问题,不同程序集,名称空间类名和方法签名都一样的方法,如何调用。本文将介绍如何通过别名的方式来解决这个问题。 ......
方法 类名 名称 程序 空间

aspnetcore 原生 DI 实现基于 key 的服务获取

你可能想通过一个字符串或者其他的类型来获取一个具体的服务实现,那么在 aspnetcore 原生的 MSDI 中,如何实现呢?本文将介绍如何通过自定义工厂来实现。 ......
aspnetcore key DI

使用一个文件集中管理你的 Nuget 依赖版本号

在 .net 7 以前,项目对于 nuget 依赖项的版本依赖散落与解决方案的各个角落。这导致升级维护和查看的时候都比较麻烦。在 .net 7 中,你可以使用一个文件来集中管理你的 Nuget 依赖版本号。本篇文章将介绍如何使用这个功能。 ......
版本 文件 Nuget

Vue 关键概念介绍

Vue现在已经迭代到 3+ 版本,阅读官方文档的过程中发现作者的一些理念和思路很合我口味,很多概念与方案都是基于解决实际问题提出并实现的,且在权衡利弊后勇于打破常规,比如如何看待关注点分离?。可见,Vue 之所以流行,不单单因为作者是国人,更应该是由于 Vue 作为新一代的解决方案提升了前端编程的体 ......
概念 关键 Vue

Quartz.Net 主要概念介绍和吐槽

我们经常遇到需要定时执行某些任务的情况,比如清理缓存、异步结果轮询等,如果不打算造轮子,那么选择一款合适的定时任务组件就很关键了。所幸,.Net 世界中的选项并不多:) 选型 主要有以下四款: Quartz.Net:移植自 Java 生态的 Quartz,久经考验、成熟稳重,只是个人感觉有点过度设计 ......
概念 Quartz Net

图解Nginx,系统架构演变 + Nginx反向代理与负载均衡

大家好,我是哪吒。 本系列为SpringCloud微服务系列,先从微服务的入口Nginx开始学习,读哪吒编程,品技术人生。 一、系统架构演变 最开始接触Java语言的时候,我写的第一个项目是图书管理系统,当时是用JSP+servlet写的,感觉很吊的样子,全班领先水平。 慢慢的变成了JSP+SSM架 ......
Nginx 架构 系统

Hyperledger Fabric部署与测试(Ubuntu)

Fabric部署与测试 Fabric部署与测试最正确的还是参照官方链接:Hyperledger Fabric官方链接 ok,接下来开始部署Fabric。(以Ubuntu为例) 一、部署Fabric 1.前期准备 安装git sudo apt-get install git 安装curl sudo a ......
Hyperledger Fabric Ubuntu

衡量算法的性能-时空复杂度分析

算法 即存在输入输出,由有限步骤结束的程序. 因此,显而易见,算法并不是指一个单一的标准答案,而是一切能够完成要求的程序都可以称之为算法.但是算法之间根据性能的不同存在差异,评判这个差异的指标就是本篇分享的重点. 评判算法优劣的指标 1.时间复杂度 时间复杂度用O()表示,它的实质是算法的计算次数 ......
复杂度 算法 性能 时空

Solon2 开发之IoC,八、动态代理的本质

在 Java 里动态代理,主要分:接口动态代理 和 类动态代理。因为它的代理类都是动态创建的,所以名字里会带上“动态”。 官网的有些地方叫“代理”,也有些地方叫“动态代理”。都是一个意思。 1、接口动态代理 这是 jdk 直接支持的能力。内在的原理是:框架会动态生成目标接口的一个代理类(即接口的实现 ......
本质 动态 Solon2 Solon IoC