解析类型参数

原文在这里。 由 Ian Lance Taylor 发布于2023年9月26日 slices 包函数签名 slices.Clone 函数很简单:它返回一个任意类型切片的副本: func Clone[S ~[]E, E any](s S) S { return append(s[:0:0], s...

堆的原理以及实现O(lgn)

大家好,我是蓝胖子,我一直相信编程是一门实践性的技术,其中算法也不例外,初学者可能往往对它可望而不可及,觉得很难,学了又忘,忘其实是由于没有真正搞懂算法的应用场景,所以我准备出一个系列,囊括我们在日常开发中常用的算法,并结合实际的应用场景,真正的感受算法的魅力。 今天我们就来看看堆这种数据结构。 源

Go 1.22 中的 For 循环

原文在这里。 由 David Chase and Russ Cox 发布于2023年9月19日 Go 1.21 版本包含了对 for 循环作用域的预览更改,我们计划在 Go 1.22 中发布此更改,以消除其中一种最常见的 Go 错误。 问题 如果你写过一定量的 Go 代码,你可能犯过一个错误,即在迭

tailwindcss -原子化 CSS 框架

原子化 CSS 框架 我记得很久之前有时候为了少写些css,我们通常会有如下的样板代码 .block { display: block; } .flex { display:flex } .flex-center { align-items: center; justify-content: cen

keepalived的简单使用

### 原理简述 本篇主要学习`keepalived`配合`nginx`实现nginx的高可用, 也就是需要keepalived检测到nginx宕机时停用keepalived, 备用keepalived会自动接收过来. 简单的原理(如下图), 主备服务器会配置相同的vip(虚拟ip), 谁的优先级高

(转载)Python中关键词yield怎么用?

原文: https://stackoverflow.com/questions/231767/what-does-the-yield-keyword-do 译文: https://zhuanlan.zhihu.com/p/23276711?refer=passer 英文ok的同学可以原文译文都读一下

极简工作流「GitHub 热点速览」

原以为 LLM 很难,但其实可以很简单,比如 Flowise 拖拽拖拽就能出来一个 LLM 流程,非常简单你的 LLM 就可以 run 起来了。同样的 web-check 也能极快速地帮你解决 Web 安全那些事,什么 DNS、Cookie 的安全问题不在话下,非常简单,一个仪表盘就看得一清二楚。

算法学习笔记(11): 原根

原根 此文相对困难,请读者酌情食用 在定义原根之前,我们先定义其他的一点东西 阶 通俗一点来说,对于 $a$ 在模 $p$ 意义下的阶就是 $a^x \equiv 1 \pmod p$ 的最小正整数解 $x$ 或者说,$a$ 在模 $p$ 意义下生成子群的阶(群的大小) 再或者说,是 $a$ 在模

软件设计模式系列之七——原型模式

原型模式(Prototype Pattern)是一种创建型设计模式,其主要目的是通过复制现有对象来创建新对象,而不是使用构造函数。原型模式将对象的创建委托给原型对象,通过克隆(复制)来生成新对象,这种方式可以避免对象的重复初始化,提高性能,并使对象的创建更加灵活和动态。

从原理聊JVM(一):染色标记和垃圾回收算法

本篇介绍了JVM中垃圾回收器相关的基础知识,后续会深入介绍CMS、G1、ZGC等不同垃圾收集器的运作流程和原理,欢迎关注。

从原理聊JVM(二):从串行收集器到分区收集开创者G1

随着Java的进化过程,涌现出各种不同的垃圾回收器,从串行执行到并行执行,从高吞吐到低延迟,终极目标就是让开发人员专注于程序的代码书写而无需关注内存管理。

从原理聊JVM(三):详解现代垃圾回收器Shenandoah和ZGC

现代的垃圾回收器为了低停顿的目标可谓将“并发”二字玩到极致,Shenandoah在G1基础上做了非常多的优化来使回收阶段并行,而ZGC直接采用了染色指针、NUMA等黑科技,目的都是为了让Java开发者可以更多的将精力放在如何使用对象让程序更好的运行,剩下的一切交给GC,我们所做的只需享受现代化GC技术带来的良好体验。

从原理到应用,人人都懂的ChatGPT指南

如何充分发挥ChatGPT潜能,已是众多企业关注的焦点。但是,这种变化对员工来说未必是好事情。IBM计划用AI替代7800个工作岗位,游戏公司使用MidJourney削减原画师人数......此类新闻屡见不鲜。理解并应用这项新技术,对于职场人来说重要性与日俱增。

从原理聊JVM(四):JVM中的方法调用原理

多态是Java语言极为重要的一个特性,可以说是Java语言动态性的根本,那么线程执行一个方法时到底在内存中经历了什么,JVM又是如何确定方法执行版本的呢?

从原理聊 JVM(五):JVM 的编译过程和优化手段

# **一、前端编译** 前端编译就是将Java源码文件编译成Class文件的过程,编译过程分为4步: ## **1 准备** 初始化插入式注解处理器(Annotation Processing Tool)。 ## **2 解析与填充符号表** 将源代码的字符流转变为标记(Token)集合,构造出`

跟着文档学Fabric:获取通道配置

原文在这里。 1. 获取通道配置 peer channel fetch config config_block.pb -o $ORDERER_CONTAINER -c $CH_NAME --tls --cafile $TLS_ROOT_CA 上述命令需要在peer容器中执行 这一步得到对应通道的pr

PGO前瞻

原文在[这里](https://go.dev/blog/pgo-preview)。 > 原文发布于2023年2月8日 在构建Go二进制文件时,Go编译器会进行优化,以尽可能生成性能最佳的二进制文件。例如,常量传播可以在编译时对常量表达式进行求值,避免了运行时的计算开销;逃逸分析可以避免对局部作用域对

Protocol Buffer命名空间冲突

原文在[这里](https://protobuf.dev/reference/go/faq/#namespace-conflict)。 ## 什么是Protocol Buffer命名空间冲突? 所有链接到Go二进制文件的Protocol Buffer声明都被插入到一个全局注册表中。 每个Protoc

gRPC基本教程

原文在[这里](https://grpc.io/docs/languages/go/basics/)。 本教程为Go程序员提供了使用gRPC的基本介绍。 通过跟随本示例,你将学会如何: - 在.proto文件中定义一个服务。 - 使用协议缓冲编译器生成服务器和客户端代码。 - 使用Go gRPC A

Golang漏洞管理

原文在[这里](https://go.dev/security/vuln/) ## 概述 Go帮助开发人员检测、评估和解决可能被攻击者利用的错误或弱点。在幕后,Go团队运行一个管道来整理关于漏洞的报告,这些报告存储在Go漏洞数据库中。各种库和工具可以读取和分析这些报告,以了解特定用户项目可能受到的影