彻底理解闭包实现原理

前言 闭包对于一个长期写 Java 的开发者来说估计鲜有耳闻,我在写 Python 和 Go 之前也是没怎么了解,光这名字感觉就有点"神秘莫测",这篇文章的主要目的就是从编译器的角度来分析闭包,彻底搞懂闭包的实现原理。 函数一等公民 一门语言在实现闭包之前首先要具有的特性就是:First class

本年度软件供应链攻击事件回顾

软件供应链攻击在过去几年呈上升趋势,并且迅速成为最危险的安全威胁之一。本文将重点介绍了 2022 年到目前为止观察到的一些最值得注意的软件供应链攻击事件。 盘点2022五大软件供应链攻击 Okta 身份验证服务主要提供商 Okta 的网络遭到知名数据勒索组织 Lapsus$ 的攻击,该组织当时表示,

DevOps 与平台工程:企业该如何选择?

在之前的文章中,我们熟悉了平台工程的基本概念,包括平台工程的特点、主要优势以及实践原则。通过了解我们不难发现,平台工程与 DevOps 还是有许多相似之处的。例如这两者都是一种文化和方法,旨在通过自动化、自治和协作来简化开发过程。同时,DevOps 与 平台工程都致力于提高软件交付的质量和速度,以及

使用K8S进行蓝绿部署的简明实操指南

在之前的应用部署系列文章里,我们已经介绍过什么是蓝绿部署。如需回顾,点击下方文章链接即可重温。本文我们将会介绍如何使用 Kubernetes 实现蓝绿部署。 应用部署初探:3个主要阶段、4种常见模式 应用部署初探:微服务的3大部署模式 应用部署初探:6个保障安全的最佳实践 前期准备: Kuberne

Oracle 19c RAC 自动应用RU补丁简明版

环境:Oracle RAC(GI 19.3 + DB 19.3) 本文应用补丁信息, 19.16 RU: p34130714_190000_Linux-x86-64.zip 本文主要演示使用opatchauto apply自动应用补丁的过程。 1.更新OPatch版本 2.使用opatchauto应

使用openresty替换线上nginx网关之openresty安装细节

# 背景 线上跑了多年的一个网关业务,随着部门的拆分,逐渐有了一个痛点。该网关业务主要处理app端请求,app端发起的请求,采用http协议,post方法,content-type采用`application/x-www-form-urlencoded`,表单中有一个固定的字段,叫功能号,即func

线上问题排查--进程重启失败,最后发现是忘了cd

# 背景 我前面写了几篇文章,讲c3p0数据库连接池发生了连接泄露,但是随机出现,难以确定根因,最终呢,为了快速解决问题,我是先写了个shell脚本,脚本主要是检测服务的接口访问日志,看看过去的30s内是不是接口几乎都超时了,如果是的话,咱们就重启服务。然后把这个shell加入到了crontab里,

#PowerBi Superchange PowerBi 开篇(1)

本书由B站京西漫步老师推荐,并提供了相应的学习资源,有同感兴趣的朋友,可以加我好友免费分享资源。 本书主要以总结笔记,原文+译文+部分案例实操为主。 预计更新时间为23年6月-23年7月。 本系列笔记背景,笔者在经过一年左右的陆陆续续的学习和实践中,对Powerbi有了初步的应用和学习,但是零散的学

EaselJS 源码分析系列--第二篇

在 [第一篇](https://www.cnblogs.com/willian/p/17554863.html) 中我们大致分析了从: 创建舞台 -> 添加显示对象-> 更新显示对象 的源码实现 这一篇将主要分析几个常用显示对象自各 draw 方法的实现 让我们看向例子 examples/Text_

国密复习

国密复习 其中SM1和SM7是不公开的。 ZUC ZUC(ZU Chong zhi)算法一个流密码(序列密码),主要功能是产生密钥流,可以用机密性和完整性验证。 | 初始密钥 | 初始向量 | 输出(每次) | 轮数 | | | | | | | 128bit | 128bit | 32bit | 3

累积推理技术提升准确率

转载:图灵奖得主姚期智领衔提出大模型「思维」框架!逻辑推理正确率达98%,思考方式更像人类了 前言 近日我国图灵奖得主姚期智院士团队发表首篇大语言模型论文,主要解决“让大模型像人一样思考”的问题,不仅要让大模型一步步推理,还要让它们学会“步步为营”,记住推理中间的所有正确过程。具体来说,这篇新论文提

flutter系列之:做一个会飞的菜单

[toc] # 简介 flutter中自带了drawer组件,可以实现通用的菜单功能,那么有没有一种可能,我们可以通过自定义动画来实现一个别样的菜单呢? 答案是肯定的,一起来看看吧。 # 定义一个菜单项目 因为这里的主要目的是实现菜单的动画,所以这里的菜单比较简单,我们的menu是一个Statefu

杰哥教你面试之一百问系列:java集合

目录1. 什么是Java集合?请简要介绍一下集合框架。2. Java集合框架主要分为哪几种类型?3. 什么是迭代器(Iterator)?它的作用是什么?4. ArrayList和LinkedList有什么区别?它们何时适用?5. HashMap和HashTable有什么区别?6. 什么是Concur

Blazor的技术优点

Blazor是一种使用.NET和C#构建客户端Web应用程序的新兴技术。它允许开发者在浏览器中直接运行.NET代码,而无需依赖JavaScript。Blazor的技术优点主要表现在以下几个方面: 单一语言栈:Blazor允许开发者使用C#和.NET进行全栈开发。一种语言用于前端和后端可以大大简化开发

MongoDB从入门到实战之MongoDB工作常用操作命令

前言: 上一章节我们快速的在Docker容器中安装了MongoDB,并且通过Navicat MongoDB可视化管理工具快速的连接、创建数据库、集合以及添加了文档数据源。这一章节我们主要是了解一下在日常工作中MongoDB一些常用的操作命令。 MongoDB从入门到实战的相关教程 MongoDB从入

MongoDB从入门到实战之.NET Core使用MongoDB开发ToDoList系统(3)-系统数据集合设计

前言 前几章教程我们把ToDoList系统的基本框架搭建好了,现在我们需要根据我们的需求把ToDoList系统所需要的系统集合(相当于关系型数据库中的数据库表)。接下来我们先简单概述一下这个系统主要需要实现的功能以及实现这些功能我们需要设计那些数据库集合。 MongoDB从入门到实战的相关教程 Mo

10个适合后端程序员的前端框架

前言 对于后端程序员而言选择一款操作简单、美观、简洁的前端框架对于我们生成效率的提高是极具影响力的。今天主要推荐如下10个前端框架,希望有一款适合你。本文中的所有前端框架都已经收录到适合后端程序员的前端框架GitHub Issues知识库中,假如大家有更好前端框架推荐欢迎到以下GitHub项目地址留

C#希尔排序算法

前言 希尔排序简单的来说就是一种改进的插入排序算法,它通过将待排序的元素分成若干个子序列,然后对每个子序列进行插入排序,最终逐步缩小子序列的间隔,直到整个序列变得有序。希尔排序的主要思想是通过插入排序的优势,减小逆序对的距离,从而提高排序效率。 希尔排序实现原理 首先要确定一个增量序列(初始间隔),

什么是HuggingFace

一.HuggingFace简介 1.HuggingFace是什么 可以理解为对于AI开发者的GitHub,提供了模型、数据集(文本|图像|音频|视频)、类库(比如transformers|peft|accelerate)、教程等。 2.为什么需要HuggingFace 主要是HuggingFace把

基于Protege的知识建模实战

一.Protege简介、用途和特点 1.Protege简介 Protege是斯坦福大学医学院生物信息研究中心基于Java开发的本体编辑和本体开发工具,也是基于知识的编辑器,属于开放源代码软件。这个软件主要用于语义网中本体的构建,是语义网中本体构建的核心开发工具,下面操作使用版本为5.5.0。 2.P