阅读习惯2

.Net Core Logging模块源码阅读

.Net Core Logging模块源码阅读 前言 在Asp.Net Core Webapi项目中经常会用到ILogger,于是在空闲的时候就clone了一下官方的源码库下来研究,这里记录一下。 官方库地址在: https://github.com/dotnet/runtime/tree/main ......
源码 模块 Logging Core Net

Ubuntu20.04/22.04 安装 Arduino IDE 2.x

这周收到两片基于LGT8F328P LQFP32的Arduino Mini EVB, 机器上没有 Arduino 环境需要新安装, 正好感受一下新出的 Arduino IDE 2.x, 记录一下 Ubuntu 20.04/22.04 下安装 Arduino IDE 2.x 的过程. ......
Arduino Ubuntu 20.04 22.04 04

【深入浅出Seata原理及实战】「入门基础专题」探索Seata服务的AT模式下的分布式开发实战指南(2)

承接上文 上一篇文章说到了Seata 为用户提供了 AT、TCC、SAGA 和 XA 事务模式,为用户打造一站式的分布式解决方案。那么接下来我们将要针对于AT模式下进行分布式事务开发的原理进行介绍以及实战。 Seata AT模式 在AT、TCC、SAGA 和 XA 这四种事务模式中使用最多,最方便的 ......
实战 Seata 深入浅出 分布式 原理

linux环境编程(2): 使用pipe完成进程间通信

1. 写在前面 linux系统内核为上层应用程序提供了多种进程间通信(IPC)的手段,适用于不同的场景,有些解决进程间数据传递的问题,另一些则解决进程间的同步问题。对于同样一种IPC机制,又有不同的API供应用程序使用,目前有POSIX IPC以及System V IPC可以为应用程序提供服务。后续 ......
进程 环境 linux pipe

Codeforces Round #844 (Div.1 + Div.2) CF 1782 A~F 题解

点我看题 A. Parallel Projection 我们其实是要在这个矩形的边界上找一个点(x,y),使得(a,b)到(x,y)的曼哈顿距离和(f,g)到(x,y)的曼哈顿距离之和最小,求出最小值之后加h就是答案了,因为我们不可能在竖着的墙面上来回走,只可能走一次。进一步发现我们在上底面和下底面 ......
题解 Codeforces Div Round 1782

算法学习笔记(2): 欧拉定理与逆元

逆元 定义 逆元素,是指一个可以取消另一给定元素运算的元素 具体来说,对于实际的一些应用,如: 当我们想要求(11 / 3) % 10时 明显可以看出,是没有办法直接算的,这时就需要引入逆元 $a$ 在模$p$意义下的逆元记作 $a^{-1}$,也可以用inv(a)表示 应当满足 $$ a * a^ ......
定理 算法 笔记

Docker 基础 - 2

容器操作系统类型 Busybox 集成了一百多个最常用 Linux 命令和工具的软件工具箱. 包含cat echo grep find mount telnet 等 Busybox 是Linux 系统的瑞士军刀 Debian/Ubuntu CentOS/Fedora CoreOS 官网链接 Linu ......
基础 Docker

如何优雅地升级一个Creator 2.x 项目到 3.6.2 ?

最近,我将之前用 Cocos Creator 2.x 写的一个微信小游戏《球球要回家》移植到了 Cocos Creator 3.6.2 上。 编程语言也从 JavaScript 迁移到了 TypeScript,并成功上线微信小游戏。 不过在升级过程中,也踩到不少坑。 一是如何将 JS 代码高效地翻译 ......
Creator 项目

Creator 2.x 升级 3.x 基础 API 差异总结

上一篇我们介绍了 Cocos Creator 2.x 项目升级 3.x 的大流程。 但最后一步,还需要手动将之前 2.x 写的函数注释一处处的放开。 并将 2.x 的代码写法改成 3.x 的,下面我们就来看一下有那些差异。 1. 模块引入 在 Creator 3.x 中废弃了 cc.Node、cc. ......
差异 Creator 基础 API

DVWA系列2:SQL Injection

DVWA系列2:SQL Injection 前言 SQL 注入是比较常见的攻击类型,之前一直听说过,也尝试看过一些教程,但其中的单引号,字符串拼接等感觉有点抽象,不知道为什么要这么做。这次就使用 DVWA 的环境来演练一下吧。 在这里我们的目标是获取所有的用户名和密码(虽然不是明文) 打开 SQL ......
Injection DVWA SQL

SOFAJRaft源码阅读(壹)-模块启动过程

本篇文章旨在分析SOFAJRaft中jraft-example模块的启动过程,由于SOFAJRaft在持续开源的过程中,所以无法保证示例代码永远是最新的,要是有较大的变动或者纰漏、错误的地方,欢迎大家留言讨论。 @Author:Akai-yuan 更新时间:2023年1月20日 写在前面: SOFA ......
SOFAJRaft 源码 模块 过程

SOFAJRaft源码阅读(贰)-框架Disruptor浅析

Disruptor是英国外汇交易公司LMAX开发的一个高性能队列,研发的初衷是解决内存队列的延迟问题。与Kafka、RabbitMQ用于服务间的消息队列不同,disruptor一般用于线程间消息的传递。基于Disruptor开发的系统单线程能支撑每秒600万订单。因为在SOFAJRaft中使用了该框 ......
SOFAJRaft Disruptor 源码 框架

SOFAJRaft源码阅读(叁)-ShutdownHook如何优雅的停机

Java程序经常会遇到进程挂掉的情况,一些状态没有正确的保存下来,这时候就需要在JVM关掉的时候执行一些清理现场的代码。JAVA中的ShutdownHook提供了比较好的方案。而在SOFAJRaft-example模块的CounterServer-main方法中就使用了shutdownHook实现优 ......
ShutdownHook SOFAJRaft 源码

.NET周报【1月第2期 2023-01-13】

国内文章 【ASP.NET Core】按用户等级授权 https://www.cnblogs.com/tcjiaan/p/17024363.html 本文介绍了ASP.NET Core如何按照用户等级进行授权。 在 C# 9 中使用 foreach 扩展 https://www.cnblogs.co ......
周报 2023 NET 01 13

WebGoat-8.2.2靶场之不安全的反序列化漏洞

前言 序列化是将变量或对象转换成字符串的过程 反序列化就是把一个对象变成可以传输的字符串,目的就是为了方便传输 而反序列化漏洞就是,假设,我们写了一个class,这个class里面存有一些变量。当这个class被实例化了之后,在使用过程中里面的一些变量值发生了改变,之所以会产生反序列化漏洞是因为应用 ......
靶场 序列 漏洞 WebGoat

Codeforces Round #846 (Div. 2) A-E

比赛链接 A 题意 给 $n$ 个正整数,找到三个数,使得他们的和为奇数,输出他们的下标。 题解 知识点:贪心。 找到三个奇数或者一个奇数两个偶数即可,其他情况无解。 时间复杂度 $O(n)$ 空间复杂度 $O(n)$ 代码 #include <bits/stdc++.h> using namesp ......
Codeforces Round 846 A-E Div

Codeforces Round #844 (Div. 1 + Div. 2, based on VK Cup 2022 - Elimination Round) A-D

比赛链接 A 题意 设计一条线路要贴着6个墙面走,从 $(a,b)$ 到 $(f,g)$ ,线路长度最短。 题解 知识点:模拟。 分类取最短即可。 时间复杂度 $O(1)$ 空间复杂度 $O(1)$ 代码 #include <bits/stdc++.h> #define ll long long u ......
Round Elimination Codeforces Div based

【Redis场景2】缓存更新策略(双写一致)

【Redis场景2】缓存更新策略(双写一致),涉及缓存更新策略,数据库缓存不一致方案,异步重试等;每1~2周学习整理redis中的知识点和场景实现,希望有所输入输出,每天进步一点点。 ......
缓存 场景 策略 Redis

Netty-BIO、NIO、AIO、零拷贝-2

Java BIO 编程 一、I/O 模型 1、I/O 模型简单的理解:就是用什么样的通道进行数据的发送和接收,很大程度上决定了程序通信的性能 2、Java 共支持 3 种网络编程模型/IO 模式:BIO、NIO、AIO 3、Java BIO : 同步并阻塞(传统阻塞型),服务器实现模式为一个连接一个 ......
拷贝 Netty-BIO Netty BIO AIO

【深入浅出 Yarn 架构与实现】4-2 RM 管理 Application Master

本篇将对 RM 中管理 Application Master 的部分进行深入的讲解。 下面将会介绍 RM 与 AM 整体通信执行流程,并对 RM 中涉及的对应服务进行具体讲解。 为了更好的学习本篇知识,建议先熟悉以下知识点,不了解的部分可翻到前面对应的文章进行学习: ......
深入浅出 Application 架构 Master Yarn

JAVA中使用最广泛的本地缓存?Ehcache的自信从何而来2 —— Ehcache的各种项目集成与使用初体验

本篇一起实践下Ehcache的各种不同使用方式,来感受下Ehcache的强大与便利。比如独立集成使用,基于JCache方式使用,以及通过Springboot+JCache+Ehcache方式集成使用等。 ......
Ehcache 缓存 项目 JAVA

主题 2 Shell工具和脚本

主题 2 Shell工具和脚本 Shell 工具和脚本 · the missing semester of your cs education (missing-semester-cn.github.io) Shell脚本 shell 脚本是一种更加复杂度的工具。 定义变量 在bash中为变量赋值的 ......
脚本 工具 主题 Shell

【深入浅出Sentinel原理及实战】「基础实战专题」零基础实现服务流量控制实战开发指南(2)

你若要喜爱你自己的价值,你就得给世界创造价值。 Sentinel的组成部分 Sentinel 主要由以下两个部分组成。 Sentinel核心库(Java客户端) :Sentinel的核心库不依赖任何框架或库,能够运行于Java 8及以上的版本的运行时环境中,同时对 Spring Cloud、Dubb ......

Python从入门到精通(第2版)——pyuic5: error: no such option: -m的问题解决

前言 在学习《Python从入门到精通(第2版)》的第15章 GUI界面编程——15.2.4 将.ui文件转换为.py文件时,按照书中步骤出错时的问题解决,希望对同样学习本书的同学有所帮助。 问题 问题出现 当跟着书15.2.4执行步骤(2)时PyCharm报错 错误提示:pyuic5: error ......
Python pyuic5 option 问题 pyuic

Django(2) - Django模板

1.Django模板介绍 基础概念 模板是具有一定的格式或骨架,可以动态的生成HTML 模板引擎决定以何种方式组织代码 一个项目可以有一个或者是多个模板引擎,Django里面主要两个模板引擎:DTL、Jinja2。 Jinja2之前Flask笔记里面有,点击跳转https://www.cnblogs ......
Django 模板

M.2 SSD固态硬盘上安装windows(win11)问题

本文简要介绍了windows在ssd类固态硬盘中安装的一些关键要点,及安装过程中可能遇到的一些坑或阻碍,以帮助读者避坑及解决相关问题 ......
固态 硬盘 windows 问题 SSD

从Spring中学到的【2】--容器类

容器类作为数据的载体,在Spring源码中随处可见。理解了容器类的概念,极大地8降低了我们的心智负担,从而关注更重要的代码逻辑与结构。 ......
容器 中学 Spring

What's new in Dubbo 3.1.4 and 3.2.0-beta.3

在 12 月 22 日,Dubbo 3.1.4 和 3.2.0-beta.3 正式通过投票发布。本文将介绍发布的变化一览。 Dubbo 3.1.4 版本是目前 Dubbo 3 的最新稳定版本,我们建议所有的用户都升级到最新的稳定版本。Dubbo 3.2.0-beta.3 版本是目前 Dubbo 3 ......
Dubbo What beta new and

MongoDB从入门到实战之.NET Core使用MongoDB开发ToDoList系统(2)-Swagger框架集成

Swagger是什么? Swagger是一个规范且完整API文档管理框架,可以用于生成、描述和调用可视化的RESTful风格的 Web 服务。Swagger 的目标是对 REST API 定义一个标准且和语言无关的接口,可以让人和计算机拥有无须访问源码、文档或网络流量监测就可以发现和理解服务的能力。 ......
MongoDB 实战 框架 ToDoList Swagger

在nodejs中体验http/2

前言 2015年,HTTP/2 发布,直到2021年公司的项目才开始在实践中应用;自己对http2诸多特点的理解只存在于字面上,于是尝试在nodejs中实践一下,加深自己的理解。 多路复用 同域名下所有通信都在单个连接上完成,消除了因多个 TCP 连接而带来的延时和内存消耗,这在大量请求同时发出的情 ......
nodejs http