软件库 应用系统 多方面 源码

如何去阅读源码,我总结了18条心法

大家好,我是三友~~ 这篇文章我准备来聊一聊如何去阅读开源项目的源码。 在聊如何去阅读源码之前,先来简单说一下为什么要去阅读源码,大致可分为以下几点原因: 最直接的原因,就是面试需要,面试喜欢问源码,读完源码才可以跟面试官battle提升自己的编程水平,学习编程思想和和代码技巧熟悉技术实现细节,提高 ......
源码

statefulset详解及为何结合headless service部署有状态应用

1.1 有状态应用管理statefulset StatefulSet(有状态集,缩写为sts)常用于部署有状态的且需要有序启动的应用程序,比如在进行SpringCloud项目容器化时,Eureka的部署是比较适合用StatefulSet部署方式的,可以给每个Eureka实例创建一个唯一且固定的标识符 ......
statefulset headless 状态 service

让人眼前一亮的应用「GitHub 热点速览」

大开眼界的一期 GitHub 热门项目,类似 Django 存在的 pynecone,搞定 Windows、Office 激活的 Microsoft-Activation-Scripts,都让我的收藏夹蠢蠢欲动。最不能错过的应该是 hyperswitch,搞定你的支付业务。当然,还有 GitHub ......
人眼 热点 GitHub

基于NOSTR协议的“公有制”版本的Twitter,去中心化社交软件Damus用后感,一个极端走向另一个极端

最近,一个幽灵,Web3的幽灵,在网络游荡,它叫Damus,这玩意诠释了什么叫做病毒式营销,滑稽的是,一个Web3产品却在Web2的产品链上疯狂传销,各方大佬纷纷为其背书,到底发生了什么?Damus的葫芦里,卖的是什么药? 注册和简单实用 很少有什么产品在用户注册环节会有什么噱头,但Damus确实出 ......
极端 公有制 社交 Twitter 版本

Node.js 应用全链路追踪技术——全链路信息存储

本文主要介绍在Node.js应用中, 如何用全链路信息存储技术把全链路追踪数据存储起来,并进行相应的展示,最终实现基于业界通用 OpenTracing 标准的 Zipkin 的 Node.js 方案。 ......
链路 技术 信息 Node js

千姿百态,瞬息万变,Win11系统NeoVim打造全能/全栈编辑器(前端/Css/Js/Vue/Golang/Ruby/ChatGpt)

我曾经多次向人推荐Vim,其热情程度有些类似现在卖保险的,有的时候,人们会因为一些弥足珍贵的美好暗暗渴望一个巨大的负面,比如因为想重温手动挡的快乐而渴望买下一辆二十万公里的老爷车,比如因为所谓完美的音质而舍不得一个老旧的有线耳机,比如因为一个铜炉火锅而期待北京那漫长而寒冷的冬天。 ......

Kubernetes环境cert-manager部署与应用

本作品由Galen Suen采用知识共享署名-非商业性使用-禁止演绎 4.0 国际许可协议进行许可。由原作者转载自个人站点。 概述 本文用于整理基于Kubernetes环境的cert-manager部署与应用,实现证书管理和Ingress启用TLS配置。 随着各相关组件版本的更新,笔者将在验证通过后 ......
cert-manager Kubernetes manager 环境 cert

应用部署初探:微服务的3大部署模式

在之前的文章中,我们已经充分了解了应用部署的4种常见模式(金丝雀部署、蓝绿部署、滚动部署及影子部署)。随着云原生技术逐步成熟,企业追求更为灵活和可扩展的系统,微服务架构大行其道。 微服务固然有诸多优点,但也给架构及运维工程师带来了新的挑战。在单体架构中,应用的设计、部署以及扩展都是作为一个单元进行, ......
模式

应用部署初探:3个主要阶段、4种常见模式

应用部署是一个将软件提供给用户的过程,通常包含配置环境、安装及测试等步骤。现如今,大部分企业在部署新的应用程序时,会至少自动化其中一些步骤。应用程序部署的策略会影响该应用的性能、稳定性以及运行速度,因此有时会在向所有人提供更新之前,先对一小部分用户进行测试。 软件开发和用户体验的现代标准要求开发人员 ......
阶段 常见 模式

Java堆外缓存(一个很有意思的应用)

我们在开发过程中会遇到这样的场景:就是一个服务的各项 JVM 的配置都比较合理的情况下,它的 GC 情况还是不容乐观。分析之后发现有 2 个对象特别巨大,占了总存活堆内存的 90%以上。其中第 1 大对象是本地缓存, GC 之后对象一直存活。然后不久应用就会抛出OutOfMemoryError,那怎 ......
缓存 Java

Python 发展趋势:与 Rust 深度融合、更易于编写 Web 应用

大家好,我是猫哥,好久不见!2022 年末的时候,我不可避免地阳了,借着身体不舒服就停更了,接踵而至的是元旦和春节假期,又给自己放了假,连年终总结也鸽了,一懈怠就到了 2 月中旬…… 现在是我家娃出生的第三个月,全家人大部分的时间和精力都在他身上,结果是幸福与疲累共存。新生儿是那么的可爱,又是那么的 ......
深度 趋势 Python Rust Web

【Django drf】视图层大总结 ViewSetMixin源码分析 路由系统 action装饰器

九个视图子类 # 两个视图基类 1.APIView 2.GenericAPIView APIView: renderer_classes响应格式类 parser_classes请求解析类 跟数据库解耦合 GenericAPIView:queryset数据集 serializer_class序列化类 ......
视图 路由 ViewSetMixin 源码 Django

react 高效高质量搭建后台系统 系列 —— 系统布局

其他章节请看: react 高效高质量搭建后台系统 系列 系统布局 前面我们用脚手架搭建了项目,并实现了登录模块,登录模块所依赖的请求数据和antd(ui框架和样式)也已完成。 本篇将完成系统布局。比如导航区、头部区域、主体区域、页脚。 最终效果如下: spug 中系统布局的分析 spug 登录成功 ......
系统 高质量 布局 后台 react

react 高效高质量搭建后台系统 系列 —— 表格的封装

其他章节请看: react 高效高质量搭建后台系统 系列 表格 有一种页面在后台系统中比较常见:页面分上下两部分,上部分是 input、select、时间等查询项,下部分是查询项对应的表格数据。包含增删改查,例如点击新建进行新增操作。就像这样: 本篇将对 ant 的表格进行封装。效果如下: spug ......
高质量 表格 后台 系统 react

后端应用分层经验总结

后端应用分层是什么,例如:你用Spring MVC开发web程序、项目用三层架构分包,这些都用了分层思想。 MVC模式包含了三部分: 视图(view):负责界面显示、处理用户交互。如:前端应用 控制器(controller):协调视图层与模型层之间的相互工作。控制器接收视图层发来的请求,决定用那些模 ......
经验

Spring AOP与AspectJ的对比及应用

1 简介 AOP,即面向切面编程是很常用的技术,特别是在Java Web开发中。而最流行的AOP框架分别是Spring AOP和AspectJ。 2 Spring AOP vs AspectJ Spring AOP是基于Spring IoC实现的,它解决大部分常见的需求,但它并不是一个完整的AOP解 ......
AspectJ Spring AOP

在Spring Boot中整合Katharsis,来快速开发JSON API的Web应用

1 简介 我们进行Web API开发的时候,经常会使用Json格式的消息体,而Json格式非常灵活,不同的人会有不同的设计风格和实现,而JSON API提供了一套标准。但它并不提供直接实现。 Katharsis是JSON API的Java实现,使用它可以快速开发出Json based的Web接口,还 ......
Katharsis Spring Boot JSON API

Django框架之drf:5、反序列化器校验部分源码分析,断言,drf之请求与响应,视图组件介绍及两个视图基类,代码部分实战

Django框架之drf 一、反序列化类校验部分源码解析 反序列化校验什么时候开始执行校验? 剖析流程一:在视图中使用反序列化器实例化的对象调用is_valid()的时候就会进行校验,通贩校验返回True,反之False class BookView(APIView): # 新增 def post( ......
视图 部分 序列 实战 组件

数据结构-详解优先队列的二叉堆(最大堆)原理、实现和应用-C和Python

一、堆的基础 1.1 优先队列和堆 优先队列(Priority Queue):特殊的“队列”,取出元素顺序是按元素优先权(关键字)大小,而非元素进入队列的先后顺序。 若采用数组或链表直接实现优先队列,代价高。依靠数组,基于完全二叉树结构实现优先队列,即堆效率更高。一般来说堆代指二叉堆。 优先队列的完 ......
数据结构 队列 大堆 原理 结构

ua5.4源码剖析:三. C++与Lua相互调用

概述 从本质上来看,其实说是不存在所谓的C++与lua的相互调用。lua是运行在C上的,简单来说lua的代码会被编译成字节码在被C语言的语法运行。在C++调用lua时,其实是解释运行lua文件编译出来的字节码。lua调用C++其实还是解释运行lua文件编译出来的字节码的语义是调用lua栈上的C++函 ......
源码 ua5 Lua ua

[​DuckDB] 多核算子并行的源码解析

DuckDB 是近年来颇受关注的OLAP数据库,号称是OLAP领域的SQLite,以精巧简单,性能优异而著称。笔者前段时间在调研Doris的Pipeline的算子并行方案,而DuckDB基于论文《Morsel-Driven Parallelism: A NUMA-Aware Query Evalua ......
算子 源码 DuckDB

ReentrantLock介绍及源码解析

ReentrantLock介绍及源码解析 一、ReentrantLock介绍 ReentrantLock是JUC包下的一个并发工具类,可以通过他显示的加锁(lock)和释放锁(unlock)来实现线程的安全访问,ReentrantLock还可以实现公平锁和非公平锁,并且其与synchronized的 ......
ReentrantLock 源码

ApiView/Request类源码分析/序列化器

内容概要 ApiView+JsonResponse编写接口 ApiView+Response编写接口 ApiView源码解析 Request对象源码分析 序列化器介绍和快速使用/反序列化 反序列化的校验 ApiView+JsonResponse编写接口 我们还是在models模型层中创建一个book ......
序列 源码 ApiView Request

鸿蒙系统应用开发之基于API6的蓝牙开发

写在前面 由题意得,我今天讲的是基于鸿蒙系统的兼容JS的类Web开发范式的软件应用开发之蓝牙开发,它是基于API6的,至于为什么是基于API6,请你花几分钟看一下我之前写的这个系列教程的第四篇“ 鸿蒙系统应用开发之入门解说",地址是:https://www.yuque.com/ataola/cpts ......
鸿蒙 应用开发 系统 API6 API

浙江某男子对多端应用开发工具HBuilderX在windows下安装的解说

同学,学uni-app好啊,大致上写一套代码能生成这么多个平台的应用,我简单念一下,它们分别是Android应用、IOS应用、Web应用、微信小程序、支付宝小程序、百度小程序、字节跳动小程序、快应用、qq小程序、360小程序、快手小程序、飞书小程序、钉钉小程序、京东小程序。 哇偶!好好好,图省力那你 ......
开发工具 HBuilderX 男子 windows 工具

Ribbon负载均衡 (源码分析)

Ribbon 是Netflix公司提供的负载均衡客户端,一般应用于服务的消费方法;Ribbon 可以解决基于负载均衡策略进行服务调用, 所有策略都会实现IRule接口;Ribbon 内置的负载策略有8种,可以通过查看IRule接口的实现类进行分析;@LoadBalanced的作用是描述RestTem... ......
源码 Ribbon

深度剖析 Linux 伙伴系统的设计与实现

在上篇文章 《深入理解 Linux 物理内存分配全链路实现》 中,笔者为大家详细介绍了 Linux 内存分配在内核中的整个链路实现: 但是当内核执行到 get_page_from_freelist 函数,准备进入伙伴系统执行具体内存分配动作的相关逻辑,笔者考虑到文章篇幅的原因,并没有过多的着墨,算是 ......
深度 伙伴 系统 Linux

Dubbo 入门系列之快速部署一个微服务应用

本文将基于 Dubbo Samples 示例演示如何快速搭建并部署一个微服务应用。 背景 Dubbo 作为一款微服务框架,最重要的是向用户提供跨进程的 RPC 远程调用能力。如上图所示,Dubbo 的服务消费者(Consumer)通过一系列的工作将请求发送给服务提供者(Provider)。 为了实现 ......
Dubbo

Dubbo 入门系列之基于 Dubbo API 开发微服务应用

目标 从零上手开发基于 Dubbo 的微服务 难度 低 环境要求 系统:Windows、Linux、MacOS JDK 8 及以上(推荐使用 JDK17) Git IntelliJ IDEA(可选) Docker (可选) 动手实践 本章将通过手把手的教程一步一步教你如何从零开发一个微服务应用。 1 ......
Dubbo API

Windows下使用Graalvm将Springboot应用编译成exe大大提高启动和运行效率

GraalVM安装 GraalVM安装 安装 请前往GraalVM官网 下载 GraalVM Community 22.3,注意当前支持的Springboot的GraalVM版本必须是22.3 笔者这里下载的Java版本为17,如下图 安装GraalVM的方法与安装JAVA方法大致相同,GraalV ......
Springboot 效率 Windows Graalvm exe