XOR
【Go并发编程】Go使用协程批量获取数据,加快接口返回速度
服务端经常需要返回一个列表,里面包含很多用户数据,常规做法当然是遍历然后读缓存。 使用Go语言后,可以并发获取,极大提升效率。 使用channel package main import ( "fmt" "time" ) func add2(a, b int, ch chan int) { c := ......
给服务端小白的一些建议
一、技术 看视频教程入门(B站即可),看书深入,最重要的是实践。 二、怎么提问 很多新人不知道怎么提问,问了太简单的问题怕被人鄙视,更重要的是不知道问题是否简单。 其实也没有那么严格,程序员还是很愿意帮人解决问题的,可以装一下13并且很有成就感。 值得注意的是: 这个问题百度、谷歌是否有答案,对着教 ......
【.NET 8】ASP.NET Core计划 - 支持更完善的AOT发布
.NET7.0刚发布不久,.NET社区开始了.NET8.0的开发,重心重新回到了新功能的迭代。 我们知道在.NET7.0中一个令人激动的特新就是支持了NativeAOT,我们可以通过NativeAOT生成本机程序,由于无需JIT编译,所以无需安装.NET Runtime,也进一步的提升了.程序的启动 ......
.NET周报【1月第4期 2023-01-28】
由于微信公众号排版问题,建议大家在PC端浏览。 国内文章 C# 很少人知道的科技 https://blog.lindexi.com/post/C-%E5%BE%88%E5%B0%91%E4%BA%BA%E7%9F%A5%E9%81%93%E7%9A%84%E7%A7%91%E6%8A%80.html ......
.NET周报 【2月第1期 2023-02-04】
国内文章 .NET 入门到高级路线 https://www.cnblogs.com/hejiale010426/archive/2023/02/01/17083913.html 笔者介绍了.NET入门到高级路线需要学习的知识和资源链接等。 如何将WebAssembly优化到1MB? https:// ......
undefined会变为null吗?
echarts 会将 series data中的数据并不是你想的那样简单 我们很多小伙伴都使用过echarts。 然后 series:[{ data:[] }] 中的数据可能并没有我们想的那样简单 为什么会这样说:因为你看下面这个例子绝对会然你有所收获。 series data 中的数据会自动发生变 ......
Fabric2.x中Raft共识算法核心数据结构
一、共识算法可插拔的代码体现Chain接口 Hyperledger Fabric的共识算法是可插拔的,在代码上体现为Chain接口,所有不同的共识算法均可根据Chain接口进行具体实现,目前fabric支持solo、kafka、raft、sbft等共识算法。Chain接口的代码在fabric/ord ......
Redis缓存的主要异常及解决方案
作者:京东物流 陈昌浩 1 导读 Redis 是当前最流行的 NoSQL数据库。Redis主要用来做缓存使用,在提高数据查询效率、保护数据库等方面起到了关键性的作用,很大程度上提高系统的性能。当然在使用过程中,也会出现一些异常情景,导致Redis失去缓存作用。 2 异常类型 异常主要有 缓存雪崩 缓 ......
如何让Java编译器帮你写代码
本文结合京东监控埋点场景,对解决样板代码的技术选型方案进行分析,给出最终解决方案后,结合理论和实践进一步展开。通过关注文中的技术分析过程和技术场景,读者可收获一种样板代码思想过程和解决思路,并对Java编译器底层有初步了解。 ......
认知篇:CQRS架构模式的本质
CQRS只是一种非常简单的模式(pattern),CQRS本身并不是一种架构风格,和最终一致性/消息/读写分离/事件溯源/DDD等没有必然的联系,它最大优势是给我们带来更多的架构属性选择 ......
【数据结构和算法】Trie树简介及应用详解
Trie树,即字典树,又称单词查找树或键树,是一种树形结构,典型应用是用于统计,排序和保存大量的字符串(但不仅限于字符串),所以经常被搜索引擎系统用于文本词频统计。它的优点是:利用字符串的公共前缀来减少查询时间,最大限度地减少无谓的字符串比较,查询效率比哈希树高。 ......
如何实现千万级优惠文章的优惠信息同步
金融社区优惠文章是基于京东商城优惠商品批量化自动生成的,每日通过不同的渠道获取到待生成的SKU列表,并根据条件生成优惠文章。
但是,生成优惠文章之后续衍生问题:该商品无优惠了,对应文章需要做取消推荐或下架处理,怎样能更快的知道该商品无优惠了呢? ......
随机高并发查询结果一致性设计实践
物流合约中心是京东物流合同管理的唯一入口。为商家提供合同的创建,盖章等能力,为不同业务条线提供合同的定制,归档,查询等功能。由于各个业务条线众多,为各个业务条线提供高可用查询能力是物流合约中心重中之重。同时计费系统在每个物流单结算时,都需要查询合约中心,确保商家签署的合同内容来保证计费的准确性。 ......
搞懂设计模式——代理模式 + 原理分析
举个栗子,众所周知,我们是可以在京东上购买机票的。 但机票是航司提供的,我们本质上是代理销售而已。
那为什么航司要让我们代理销售呢?
我们又是如帮他做代理的呢?
别急,本文将展开说说他们之间的关系。。。 ......
从历代GC算法角度刨析ZGC
作者:京东科技 文涛 前言 本文所有介绍仅限于HotSpot虚拟机, 本文先介绍了垃圾回收的必要手段,基于这些手段讲解了历代垃圾回收算法是如何工作的, 每一种算法不会讲的特别详细,只为读者从算法角度理解工作原理,从而引出ZGC,方便读者循序渐进地了解。 GC 是 Garbage Collection ......
Java CompletableFuture 异步超时实现探索
JDK 8 是一次重大的版本升级,新增了非常多的特性,其中之一便是 CompletableFuture。自此从 JDK 层面真正意义上的支持了基于事件的异步编程范式,弥补了 Future 的缺陷。
在我们的日常优化中,最常用手段便是多线程并行执行。这时候就会涉及到 CompletableFutur... ......
支付对接常用的加密方式介绍以及java代码实现
金融场景里如何让收银和支付更安全?背后的基础原件是加密方式的设计架构。本文重点讲解在京东金融中,我们如何用Java来实现支付加密。 ......
【Rust学习】内存安全探秘:变量的所有权、引用与借用
Rust 语言由 Mozilla 开发,最早发布于 2014 年 9 月,是一种高效、可靠的通用高级语言。其高效不仅限于开发效率,它的执行效率也是令人称赞的,是一种少有的兼顾开发效率和执行效率的语言。 ......
如何在WSL下交叉编译openwrt
首先我们需要准备一个大小写敏感的文件夹。 然后拉取代码,并且执行代码的先决条件脚本。 注意,如果过程中某项条件不符,你可能要临时修复。 假如下图的组件判定失败(即出现ok=>fail) 那么你就需要执行sudo apt install -y python3-distutils来修复。 然后执行mak ......
论文翻译:2022_PercepNet+: A Phase and SNR Aware PercepNet for Real-Time Speech Enhancement
博客地址:凌逆战 (转载请注明出处) 论文地址:PercepNet+: 用于实时语音增强的相位和信噪比感知 PercepNet 引用格式: Ge X, Han J, Long Y, et al. PercepNet+: A Phase and SNR Aware PercepNet for Real ......
JDK8 四大核心函数式接口及扩展接口总结
前言 Java8的四大函数式接口及相关的扩展接口在日常使用中的频率也是非常多的,包括自己定义的函数式接口,在JDK1.8之前,我们定义的方法都是用来接收参数,然后自己根据参数传递实现逻辑。在1.8之后,可以通过参数传递一段行为代码,将公共的行为代码封装成一个函数式接口传递,可以减少很多代码量,在St ......
百万级数据excel导出功能如何实现?
前言 最近我做过一个MySQL百万级别数据的excel导出功能,已经正常上线使用了。 这个功能挺有意思的,里面需要注意的细节还真不少,现在拿出来跟大家分享一下,希望对你会有所帮助。 原始需求:用户在UI界面上点击全部导出按钮,就能导出所有商品数据。 咋一看,这个需求挺简单的。 但如果我告诉你,导出的 ......
这一年我们上线的自动化系统
新年之初我就写了篇文章2022,房车使用这一年总结过去一年的日常生活,2022年除了认真的生活之外,在工作上也有了不小的变化,首先是2021年底从工作了近10年的公司离职,在2022年的第一个工作日就入职了新公司,算是无缝衔接,在新公司的这一年主要负责运维自动化的规划、开发及推动落地,挑战很大,尤其 ......
多云监控告警系统的优势
前一篇文章基于多云构建监控告警系统讲了我们是如何构建多云监控告警的,监控告警系统的基础数据来源于云上,也就是说我们监控系统里所有用到的基础数据云上都有,既然如此,为什么不直接去云控制台上查看,而是要构建自己的监控告警系统呢?这篇文章我们就来聊下这个话题 之所以会基于多云构建我们自己的监控告警系统,有 ......
NAPT网络结构下TCP/UDP/ICMP访问外网原理思考
背景 作为程序员,应该都听说过NAT(Network Address Transfer,网络地址转换)这一技术名词,并或多或少大概知道其原理与作用--NAT是用于解决IPv4地址不够用,保证我们能够在IPv6普及前依然可以正常使用互联网而广泛使用的一个技术,其原理正如其名称所示:其可以将私网IP通过 ......
一看就会的 Anaconda 搭建 OpenCV for Python 环境(全平台通用)
OpenCV是一个开源的计算机视觉和机器学习软件库,几乎可以在所有市面上的主流系统上运行,也有很多的语言接口。但是安装过程漫长、花式报错已成为常态。 ......
Linux环境下:程序的链接, 装载和库[静态链接]
看以下例子 main.c extern int x; int main() { int y = 100; swap(&x,&y); return 0; } int x = 1; void swap(int* x, int* y) { int temp = *x; *x = *y; *y = temp ......
Azure Terraform(十二)利用 Terraform 将文件上传到 Azure Blob Storage
一,引言 本篇文章中,我门将学习如何利用 Terraform 将 文件以及文件夹上传到 Azure Blob Storage,这个对于我们来说很方便,可以将一些不重要的内容也存储在源代码管理工具中! 开始今天的内容之前,我们先来看看今天的主角 Terraform fileset Function 根 ......
SpringBoot项目动态定时任务之 ScheduledTaskRegistrar(解决方案一)
在做SpringBoot项目的过程中,有时客户会提出按照指定时间执行一次业务的需求。
在单一使用ScheduledTaskRegistrar类解决定时任务问题的时候,可能会达不到预期的动态调整定时任务的效果。 ......