交换排序 冒泡 和快速 的实现

BrokenPipeError错误和python subprocess.run()超时参数在Windows上无效

1、问题的发现 今天,一个在windows上运行良好的python脚本放到linux下报错,提示错误 BrokenPipeError: [Errno 32]Broken pipe。经调查是subprocess.run方法的timeout参数在linux上的表现和windows上不一致导致的。 try ......

CopyOnWriteArrayList 是如何保证线程安全的?

本文已收录到 AndroidFamily,技术和职场问题,请关注公众号 [彭旭锐] 提问。 前言 大家好,我是小彭。 在上一篇文章里,我们聊到了ArrayList 的线程安全问题,其中提到了 CopyOnWriteArrayList 的解决方法。那么 CopyOnWriteArrayList 是如何 ......
CopyOnWriteArrayList 线程

.net如何优雅的使用EFCore

EFCore是微软官方的一款ORM框架,主要是用于实体和数据库对象之间的操作。功能非常强大,在老版本的时候叫做EF,后来.net core问世,EFCore也随之问世。 本文我们将用一个控制台项目Host一个web服务,并且使用本地Mysql作为数据库,使用EFCore的Code First模式进行 ......
EFCore net

如何搭建一个自己的音乐服务器

能听的歌曲越来越少了,歌单里的一些歌曲,现在要开通 VIP 才能听了。如果搭建一个自己的音乐服务器,实现随时随地的听歌自由? ......
服务器 音乐

自动增加 Android App 的版本号

一般的 C# 应用程序中都有一个 AssemblyInfo.cs 文件,其中的 AssemblyVersion attribute 就可以用来设置该应用程序的版本号。譬如, [assembly: AssemblyVersion("1.0.*")] 这样设置的 AssemblyVersion attr ......
Android 版本 App

初始化一个ArrayList的多种方式

序言 本片文章用于归纳java中初始化一个ArrayList的几种方式 add方法添加 最基础的方式就是我们在new一个ArrayList之后使用add方法添加元素 /** * 第一种方式,通过add方法 * @return */ public List<String> initOne(){ Lis ......
ArrayList 多种 方式

vue 中使用 this 更新数据的一次大坑

情景说明: 之前用 vue 做数据绑定更新时,发现一个莫名奇妙的问题。 我在 vue 实例中声明了一个数组属性如 books: [],在异步请求的回调函数中使用 this.books = res.data.data; 进行数据更新,更新步骤后面紧跟着打印了 console.log(this.book ......
大坑 数据 this vue

移动 VR 开发时要避免的 PC 渲染技术

更新:本文是为 Quest 1 开发人员编写的。虽然 Quest 2 建立在相同的架构上,但现在更容易为阴影贴图(以及其他需要从先前渲染过程中生成的纹理读取的简单技术)做预算。 尽管移动芯片组可以支持下面概述的大多数技术,但我们强烈建议你不要这样做。不过,这并不总是一成不变的规则,因为我有看到开发者 ......
技术 VR PC

为什么计算机中的负数要用补码表示?

本文已收录到 AndroidFamily,技术和职场问题,请关注公众号 [彭旭锐] 提问。 前言 大家好,我是小彭。 在前面的文章里,我们聊到了计算机的冯·诺依曼架构的 3 个基本原则。其中第 1 个原则是计算机中所有信息都是采用二进制格式的编码。也就是说,在计算机中程序的数据和指令,以及用户输入的 ......
补码 负数 计算机

.net core/5/6/7中WPF如何优雅的开始开发

WPF是微软的.net平台中的一个桌面客户端应用程序框架,经常用于企业开发windows桌面客户端,广泛应用于中小企业快速开发一款工具,本人也是比较喜欢利用WPF开发一些小工具。 知名案例 1.虎牙直播客户端 2.西门子医疗上位机 其中西门子医疗的上位机程序称得上使用WPF技术的极其优秀的项目。(: ......
core net WPF

AWS启示录:创新作帆,云计算的征途是汪洋大海

全文13100字,预计阅读时间15到20分钟。 开篇:创新是AWS发展的最持久驱动力 云计算,新世纪以来最伟大的技术进步之一,从2006年 Amazon Web Service(以下简称AWS)初创时的小试牛刀,到如今成长为一个巨大的行业和生态,已经走过16年的风雨历程。 Java之父詹姆斯·高斯林 ......
汪洋大海 启示录 征途 新作 大海

【开源】全网首个支持国密算法的微信支付 C#/.NET SDK(附 SM2/SM3/SM4 跨语言联调的踩坑要点)

前言 前文回顾:《【开源】这可能是封装微信 API 最全的 C#/.NET SDK 了》 自 2021 年 8 月公开发布后,本项目已开源一年有余。在此期间,受到了很多开发者的关注和使用,也接收了很多热心开源的开发者给予的帮助,无论是上报了缺陷或建议,还是发起了 PR,亦或是在社群内回答他人的提问, ......
全网 算法 要点 SM 语言

.net6&7中如何优雅且高性能的使用Json序列化

.net中的SourceGenerator让开发者编可以写分析器,在项目代码编译时,分析器分析项目既有的静态代码,允许添加源代码到GeneratorExecutionContext中,一同与既有的代码参与编译。这种技术其实是把一些运行时才能去获取程序集相关资源的方式提前到编译前了。 .net6开始, ......
序列 高性能 net6 Json net

我开发的开源项目,让.NET7中的EFCore更轻松地使用强类型Id

在领域驱动设计(DDD)中,有一个非常重要的概念:“强类型Id”。使用强类型Id来做标识属性的类型会比用int、Guid等通用类型能带来更多的好处。比如有一个根据根据Id删除用户的方法的签名如下: void RemoveById(long id); 我们从方法的参数看不出来id代表什么含义,因此如果 ......
类型 项目 EFCore NET7 NET

iNeuOS工业互联网操作系统,脚本化实现设备运行时长和效率计算与统计

有一个煤矿项目,使用iNeuOS系统时有一个需要是:要统计设备的运行时长,进一步统计设备运行效率。主要是有效分析设备运行状态,合理的进行节能。iNeuOS本身具备强大的脚本能力,需要现场实施人员有一定脚本编写能力,如果不具备脚本编写能力,那么下面的模板修改相应的参数即可。 ......
时长 脚本 效率 互联网 工业

label studio 结合 MMDetection 实现数据集自动标记、模型迭代训练的闭环

一个 AI 方向的朋友因为标数据集发了篇 SCI 论文,看着他标了两个多月的数据集这么辛苦,就想着人工智能都能站在围棋巅峰了,难道不能动动小手为自己标数据吗?查了一下还真有一些能够满足此需求的框架,比如 [cvat]、 [doccano] 、 [label studio]等,经过简单的对比后发现还... ......
闭环 MMDetection 标记 模型 数据

vue3和vue2 的区别,vue3和vu2到底哪个好呢?

vue3 正式发布有两年多了,之前也做过一些学习和研究。vue3 发布后给某培训机构开发了一套vue3课程课件,自己也开源了一套基于vue3的后台管理系统(因为个人懒的原因,半年后才上传到gitHub,且到目前为止一直没有更新过)。 附上网址:https://github.com/gegestst1 ......
vue vue3 vue2 vu2 vu

深入浅出学习透析Nginx服务器的基本原理和配置指南「初级实践篇 」

Nginx (Engine X)是一个轻量级的Web服务器 、反向代理服务器及电子邮件(IMAP/POP3)代理服务器、高性能的HTTP服务器,它以高稳定性、丰富的功能集、示例配置文件和低系统资源的消耗而闻名。 ......

深入浅出学习透析 Nginx 服务器的基本原理和配置指南「运维操作实战篇」

Nginx 安装非常的简单,且Nginx 启动特别容易,并且几乎可以做到24小时不间断运行,即使运行数个月也不需要重新启动。你还能够在不间断服务的情况下进行软件版本的升级。接下来我们要针对于安装和运维操作进行实战和分析。 ......
深入浅出 实战 原理 服务器 指南

2流高手速成记(之九):基于SpringCloudGateway实现服务网关功能

咱们接上回 上一节我们基于Sentinel实现了微服务体系下的限流和熔断,使得整个微服务架构的安全性和稳定性上升了一个台阶 篇尾我们引出了一个问题,众多的微服务节点,我们如何部署才能满足客户端简洁高效的访问需求? —— 今天我们就来引入服务网关的概念 什么是服务网关? 服务网关是微服务体系下唯一的流 ......

TreeUtils工具类一行代码实现列表转树【第三版优化】 三级菜单 三级分类 附视频

一、序言 在日常一线开发过程中,总有列表转树的需求,几乎是项目的标配,比方说做多级菜单、多级目录、多级分类等,有没有一种通用且跨项目的解决方式呢?帮助广大技术朋友给业务瘦身,提高开发效率。 本文将基于Java8的Lambda 表达式和Stream等知识,使用TreeUtils工具类实现一行代码完成列 ......
TreeUtils 一行 菜单 代码 工具

详解 Redis 中 big keys 发现和解决

在使用 Redis 时,可能会出现请求响应慢、网络卡顿、数据丢失的情况。排查问题的时候,发现是 big keys 的问题。 什么是 big keys 在 Redis 中,一个字符串类型最大可以达到 512MB,其他非字符串类型的集合类型(list、set、hash、zset等)可以存储 40 亿个( ......
Redis keys big

【JVM故障问题排查心得】「内存诊断系列」JVM内存与Kubernetes中pod的内存、容器的内存不一致所引发的OOMKilled问题总结(上)

在我们日常的工作当中,通常应用都会采用Kubernetes进行容器化部署,但是总是会出现一些问题,例如,JVM堆小于Docker容器中设置的内存大小和Kubernetes的内存大小,但是还是会被OOMKilled。在此我们介绍一下K8s的OOMKilled的Exit Code编码。 ......
内存 问题 容器 Kubernetes JVM

【JVM故障问题排查心得】「内存诊断系列」JVM内存与Kubernetes中pod的内存、容器的内存不一致所引发的OOMKilled问题总结(下)

之前文章根据《【JVM故障问题排查心得】「内存诊断系列」JVM内存与Kubernetes中pod的内存、容器的内存不一致所引发的OOMKilled问题总结(上)》我们知道了如何进行设置和控制对应的堆内存和容器内存的之间的关系,所以防止JVM的堆内存超过了容器内存,导致容器出现OOMKilled的情况... ......
内存 问题 容器 Kubernetes JVM

Zookeeper的服务器的log4j升级为log4j2的升级方案(忽略配置化兼容问题)

目前希望可以升级将Zookeeper中log4j的版本升级到log4j2版本,并且要避开相关的log4j2的安全隐患问题,此时需要考虑的就是针对于如何将无缝衔接log4j2的版本jar包的安装呢?我们接下来观察一下看看问题所在。目前我采用的环境是windows环境,不过也同样对其他操作系统有效,毕竟... ......
升级方案 log4 Zookeeper log 服务器

#define 的神奇操作

# define 的神奇操作 一、宏定义中的 #、## 符号的神奇用法 1.1 # 的用法 1.1.1 作用 #表示字符串化操作符(stringification),其作用是将宏定义中的传入参数名转换成用双引号括起来的参数名字符串。 现在对这句话是不是还不甚理解,没关系,让我们接着往下走。 1.1. ......
define

Java外包程序员的技术出路

学习的两个目的: 应付面试 应付工作(解决问题) 首先要明白学习的目的,不同阶段,不同技术的学习目的是不一样的。 有些技术,仅仅是应用级别的,有些技术是原理级别的(主要还是应试)。所以不同技术、不同时间学习方式需要改变。 学习方法: mysql、redis等日常使用技术: 直接就要熟练掌握,因为日常 ......
程序员 出路 程序 技术 Java

进大厂必须要会的单元测试

本文将按照如下顺序给大家简单讲讲单元测试应该怎么写 什么是单元测试 单元测试又称模块测试,是针对软件设计的最小单位(模块)就行正确性的校验的测试,检查每个程序模块是否实现了规定的功能,保证其正常工作。 测试的重点:系统模块、方法的逻辑正确性 和集成测试不同,单元测试应该具备如下特点: 尽可能简短不重 ......
单元

整理 js 日期对象的详细功能,使用 js 日期对象获取具体日期、昨天、今天、明天、每月天数、时间戳等,以及常用的日期时间处理方法

在 javascript 中内置了一个 Date 对象,可用于实现一些日期和时间的操作。 本文整理 js 日期对象的详细功能,使用 js 日期对象获取具体日期、昨天、今天、明天、每月天数、时间戳等,以及常用的日期时间处理方法。 ......
日期 对象 时间 天数 常用

聊一聊如何截获 C# 程序产生的日志

一:背景 1.讲故事 前段时间分析了一个dump,一顿操作之后,我希望用外力来阻止程序内部对某一个com组件的调用,对,就是想借助外力实现,如果用 windbg 的话,可以说非常轻松,但现实情况比较复杂,客户机没有windbg,也不想加入任何的手工配置,希望全自动化来处理。 真的很无理哈。。。不过这 ......
程序 日志