助焊剂 松香 使用方法 方法

使用 Helm 安装 MQTT 服务器-EMQX

EMQX ℹ️ Info: 使用 EMQX 通过 Helm3 在 Kubernetes 上部署 EMQX 4.0 集群 | EMQ emqx/deploy/charts/emqx at main-v4.4 · emqx/emqx (github.com) emqx/values.yaml at ma ......
服务器 Helm EMQX MQTT

【进阶篇】Redis实战之Jedis使用技巧详解

一、摘要 在上一篇文章中,我们详细的介绍了 redis 的安装和常见的操作命令,以及可视化工具的介绍。 刚知道服务端的操作知识,还是远远不够的,如果想要真正在项目中得到应用,我们还需要一个 redis 的客户端,然后将其集成到项目中,让程序自动根据我们的业务需要自动处理。 基于 redis 开放的通 ......
使用技巧 实战 技巧 Redis Jedis

使用Prometheus监控docker compose方式部署的ES

需求 收集 ES 的指标, 并进行展示和告警; 现状 ES 通过 docker compose 安装 所在环境的 K8S 集群有 Prometheus 和 AlertManager 及 Grafana 方案 复用现有的监控体系, 通过: Prometheus 监控 ES. 具体实现为: 采集端 el ......
Prometheus compose 方式 docker

模板方法实践

前言 最近在设计一个对某个中间件的测试方案,这个测试方案需要包含不同的测试逻辑,但相同的是需要对各个环节进行记录;比如统计耗时、调用通知 API 等相同的逻辑。 如果每个测试都单独写这些逻辑那无疑是做了许多重复工作了。 基于以上的特征很容易能想到模板方法这个设计模式。 这是一种有上层定义框架,下层提 ......
模板 方法

transforms模块—PyTorch图像处理与数据增强方法

计算机视觉任务中,对图像的变换(Image Transform)往往是必不可少的操作,例如在迁移学习中,需要对图像尺寸进行变换以使用预训练网络的输入层,又如对数据进行增强以丰富训练数据。 作为深度学习领域的主流框架,pytorch中提供了丰富的图像变换API。本文将对pytorch中torchvi... ......

关于 MySQL 嵌套子查询中,无法关联主表字段问题的折中解决方法

今天在工作中写项目的时候,遇到了一个让我感到几乎无解的问题,在转换了思路后,想出了一个折中的解决方案,记录如下。 其实,问题的场景,非常简单: 就是需要查询出上图的数据,红框是从 项目产品表 中查询的2个字段,绿框是从与项目产品表关联的 文章表 中查询出的1个字段。我希望实现的效果是,获取到项目产品 ......
套子 字段 方法 问题 MySQL

为什么更推荐使用组合而非继承关系?

前言 最近在看公司项目的代码,看到了大量的继承体系,而且还是继承了多层,维护、阅读都十分的困难。在查阅了一些资料以后,包括《Effective Java》一书中的第16条提到“组合优先于继承”。那继承到底会暴露什么问题呢?为什么更推荐优先使用组合呢? 欢迎关注微信公众号「JAVA旭阳」交流和学习 继 ......

正确理解和使用JAVA中的字符串常量池

前言 研究表明,Java堆中对象占据最大比重的就是字符串对象,所以弄清楚字符串知识很重要,本文主要重点聊聊字符串常量池。Java中的字符串常量池是Java堆中的一块特殊存储区域,用于存储字符串。它的实现是为了提高字符串操作的性能并节省内存。它也被称为String Intern Pool或String ......
常量 字符串 字符 JAVA

Ventoy制作启动盘和使用VMware测试启动盘(论文版)

Ventoy是可用于制作启动U盘的开源工具,在占用少量引导分区容量后,其他空间依旧可以正常当一般的U盘读写文件。它的最大特点是只要将iso、win、img、efi等之类的镜像文件和引导文件移动到U盘中。比如导出微PE、杏雨梨云的可启动iso镜像文件,移动到U盘中,在启动时选择微PE、杏雨梨云任意一个... ......
Ventoy VMware 论文

一种将C++函数模板定义和声明分开的方法

在 C++ 中为了操作简洁引入了函数模板。所谓的函数模板实际上是建立一个通用函数,其函数类型或形参类型不具体指定,用一个虚拟的类型来表达,这个通用函数就称为函数模板。 1、通用的写法 函数模板不是一个具体的函数,编译器不能为其生成可执行代码。定义函数模板后只是一个对函数功能框架的描述,当它具体执行时 ......
函数 模板 方法

.Net 6 使用 Consul 实现服务注册与发现 看这篇就够了

前言 在这几年的工作中,也经历过几个微服务项目,大多数都上了k8s,基本上都看不到Consul的身影,所以在工作之余折腾了下Consul,作为个人来讲还是得学习下,所以也就顺便通过文章来记录下学习过程。还有就是现在基本上只要提到微服务,其中涉及到的知识点就会很繁多,遇到的问题也会很多,建议阅读本文前 ......
Consul Net

BST查找结构与折半查找方法的实现与实验比较

简介 作业:查找结构与排序方法 作业题目: BST 查找结构与折半查找方法的实现与实验比较 要求编写程序实现 BST 存储结构的建立(插入)、删除、查找和排序算法; 实现折半查找算法;比较 BST 查找与折半查找方法的时间性能。 作业要求: 1. 设计 BST 的左右链存储结构,并实现 BST 插入 ......
结构 方法 BST

.NET性能优化-使用RecyclableMemoryStream替代MemoryStream

提到MemoryStream大家可能都不陌生,在编写代码中或多或少有使用过;比如Json序列化反序列化、导出PDF/Excel/Word、进行图片或者文字处理等场景。但是如果使用它高频、大数据量处理这些数据,就存在一些性能陷阱。 今天给大家带来的这个优化技巧其实就是池化MemoryStream的版本 ......

MongoDB从入门到实战之.NET Core使用MongoDB开发ToDoList系统(2)-Swagger框架集成

Swagger是什么? Swagger是一个规范且完整API文档管理框架,可以用于生成、描述和调用可视化的RESTful风格的 Web 服务。Swagger 的目标是对 REST API 定义一个标准且和语言无关的接口,可以让人和计算机拥有无须访问源码、文档或网络流量监测就可以发现和理解服务的能力。 ......
MongoDB 实战 框架 ToDoList Swagger

MongoDB从入门到实战之.NET Core使用MongoDB开发ToDoList系统(1)-后端项目框架搭建

前言: 前面的四个章节我们主要讲解了MongoDB的相关基础知识,接下来我们就开始进入使用.NET7操作MongoDB开发一个ToDoList系统实战教程。本章节主要介绍的是如何快熟搭建一个简单明了的后端项目框架。 MongoDB从入门到实战的相关教程 MongoDB从入门到实战之MongoDB简介 ......
MongoDB 实战 框架 ToDoList 项目

如何使用Java获取货币符号?

1. 前言 最近做了一个支付相关的需求,要求在收银台页面显示商品的价格时带上货币符号¥,类似下图中的格式: 最初我是用的下面这样的代码: System.out.println(Currency.getInstance(Locale.CHINA).getSymbol()); 本机测试,正常返回¥,如下 ......
货币 符号 Java

Javascript | 分别用async await异步方法和Promise来实现一个简易的求职程序

关注公众号,一起交流,微信搜一搜: LiOnTalKING JavaScript Promise Promise 是一个 ECMAScript 6 提供的类,目的是更加优雅地书写复杂的异步任务。 如何创建一个 Promise 对象? new Promise(function (resolve, re ......
Javascript 简易 Promise 程序 方法

使用pycharm or vscode来编写python代码?

pycharm社区版可用于商业项目 pycharm社区版可用于商业项目,来源于官方的回答:Can I use Community Editions of JetBrains IDEs for developing commercial proprietary software? – Licensin ......
pycharm 代码 vscode python or

对于async和await的使用方式、作用效果不怎么理解 ?没关系,初步看这篇就够了

结论 同步还是异步,区别如下: 同步:你使用 await 修饰符去调用一个异步(async)方法(是异步方法,不过是阻塞式的,可简单理解为同步); 异步:你获取异步方法返回的 Task,就是异步(后文有代码示例); 可以实现多任务执行顺序执行且不阻塞。 概述 async(C# 参考) async 是 ......
不怎么 作用 效果 方式 async

【ASP.NET Core】MVC操作方法如何绑定Stream类型的参数

咱们都知道,MVC在输入/输出中都需要模型绑定。因为HTTP请求发送的都是文本,为了使其能变成各种.NET 类型,于是在填充参数值之前需 ModelBinder 的参与,以将文本转换为 .NET 类型。 尽管 ASP.NET Core 已内置基础类型和复杂类型的各种 Binder,但有些数据还是不能 ......
参数 类型 方法 Stream Core

使用浏览器inspect调试app

使用浏览器inspect调试app 在开发混合项目的过程中,常常需要在app环境排查问题,接口可以使用fiddler等工具来抓包,但是js错误就不好抓包了,这里介绍一种调试工具-浏览器。 1.调试过程 先看实现步骤 首先电脑打开edge浏览器,地址栏中输入edge://inspect/#device ......
浏览器 inspect app

使用.NET开发搭建OpenAI模型的中间服务端

前言:前不久微信上大家玩ChatGPT聊天机器人玩的不亦乐乎;不过随着ChatGPT被封杀,所以用微信聊天机器人有可能导致封号的风险。那如果自己不想每次都去OpenAI官网上进行对话【PS:官网上面聊天对话有局限性,例如回复的内容比较长,AI回答是一个一个字写的,就可能导致超过一定时间以后,变成请求 ......
模型 OpenAI NET

使用 SmartIDE 开发golang项目

很荣幸在去年加入到 SmartIDE 产品组,从事开发工作,期间产品经历了无数个迭代,一段非常难忘的经历...... 项目之初一位大牛提出了一个哲学问题 —— 先有鸡还是有蛋(SmartIDE 如何开发 SmartIDE),借着这话题,本文将以 Golang 项目 SmartIDE CLI 为例进行 ......
SmartIDE 项目 golang

使用Spring Reactor优化推荐流程

1. 背景 公司有一个推荐系统Rec,这个系统的主要功能是: 向外部系统提供推荐接口 根据请求获取推荐策略 根据推荐策略完成推荐的召回、过滤、打分、排序阶段 Rec作为微服务中的一环,本身不存储召回的物料信息,也不存储用户和物料的特征信息,它负责就是对各个服务的组合和流转 其流程如下: 2. 问题 ......
流程 Reactor Spring

如何5分钟上手使用PaddleSeg人像抠图

随便打开一个Microsoft Visual Studio,新建一个WinForms项目,从下面列表中随便选择一个NET框架。 net35;net40;net45;net451;net452;net46;net461;net462;net47;net471;net472;net48;net481; ......
人像 PaddleSeg

使用 Visual Studio 2022 调试Dapr 应用程序

使用Dapr 编写的是一个多进程的程序, 两个进程之间依赖于启动顺序来组成父子进程,使用Visual Studio 调试起来可能会比较困难,因为 Visual Studio 默认只会把你当前设置的启动项目的启动调试。 好在有Visual Studio 扩展(Microsoft Child Proce ......
应用程序 程序 Visual Studio 2022

百倍加速IO读写!快使用Parquet和Feather格式!⛵

本文介绍了 Parquet 和 Feather 两种文件类型,可以提高本地存储数据时的读写速度,并压缩存储在磁盘上的数据大小。大型 CSV 文件的克星!用起来~ ......
Parquet Feather 格式

使用Google OR-Tools分析过去20年中国金融资产最佳配置组合

前两天,在朋友圈里看到一张截至2022年Q2的金融资产历年收益图如下,图中列举了国内从2005年到2022年近20年主要的金融资产历年收益率,随产生想法分析和验证下面几个问题: 过去20年,基于怎样的资产配置才能让收益最大化? 如果完全拒绝风险,是否可以理财,收益率会是多少? 是否有风险小,收益高的 ......
OR-Tools 资产 金融 Google Tools

就离谱!使用机器学习预测2022世界杯:小组赛挺准,但冠亚季军都错了 ⛵

本文使用机器学习建模对 FIFA 2022世界杯结果进行了预测,赛后将其与真实结果进行比较,可以看出:小组赛到1/4决赛的预测准确率很高,半决赛和决赛的预测准确率为0,冠亚季军无一预测准确。 ......
季军 小组赛 小组 机器 世界

如何使用 IdGen 生成 UID

在分布式系统中,雪花 ID 是一种常用的唯一 ID 生成算法。它通过结合时间戳、机器码和自增序列来生成 64 位整数 ID,可以保证 ID 的唯一性和顺序性。 在.Net 项目中,我们可以使用 IdGen 这个类库来生成雪花 ID。它是一个开源的类库,可以轻松地集成到你的项目中。 代码示例 下面是一 ......
IdGen UID