io多路复用完全解析

IO多路复用完全解析

本篇文章为BIO与阻塞IO的续篇,详细介绍了select、poll以及epoll等多路复用组件的使用方法以及底层原理。尤其详细分析了epoll的源码,做到一篇文章完全搞懂I/O多路复用模型 ......

Performance API不完全使用指北

本教程解释了如何使用Performance API来记录真实用户访问你的应用程序的统计数据。 使用浏览器的DevTools来评估web应用性能是很有用的,但要复现现实世界的使用情况并不容易。因为人们在不同地点使用不同的设备、浏览器和网络,都会有不同的体验。 Performance API介绍 Per ......
Performance API

重学c#系列—— IO流[三十四]

前言 简单介绍一下io流。 以前写过两篇,里面是java 语言写的,简单介绍了一下io流,这里是对io流的整理。 https://www.cnblogs.com/aoximin/p/12007925.html https://www.cnblogs.com/aoximin/p/12044270.ht ......

五种传统IO模型

五种传统I/O模型 作者:tsing 本文地址:https://www.cnblogs.com/TssiNG-Z/p/17089759.html 简介 提起I/O模型, 就会说到同步/异步/阻塞/非阻塞乱七八糟一大堆, 这里简单整理一下, 做个备忘. 正文 传统I/O模型一共有5种 : 阻塞I/O, ......
模型 传统

嵌入式Linux—文件IO

文件IO 在 Linux 系统中,一切都是“ 文件”:普通文件、驱动程序、网络通信等等。所有的操作,都是通过“文件 IO”来进行的。所以,很有必要掌握文件操作的常用接口。 Linux系统的文件有哪些 Linux 的文件既可以是真实保存到存储介质的文件也可以是自身内核提供的虚拟文件,还可以是设备节点 ......
嵌入式 文件 Linux

PHP转Go实践:xjson解析神器「开源工具集」

前言 近期会更新一系列开源项目的文章,新的一年会和大家做更多的开源项目,也欢迎大家加入进来。 xutil 今天分享的文章源自于开源项目jinzaigo/xutil的封装。 在封装过程中,劲仔将实现原理以及相关实践思考,写成文章分享出来,从而汇总系列文章集合。 PHP转Go 我和劲仔都是PHP转Go, ......
神器 工具 xjson PHP

ClickHouse(11)ClickHouse合并树MergeTree家族表引擎之SummingMergeTree详细解析

SummingMergeTree引擎继承自MergeTree。区别在于,当合并SummingMergeTree表的数据片段时,ClickHouse会把所有具有相同主键的行合并为一行,该行包含了被合并的行中具有数值数据类型的列的汇总值。如果主键的组合方式使得单个键值对应于大量的行,则可以显著的减少存储 ......

一文解决如何使用 C 语言判断质数(素数)[ 附解析与源码 ]

前言 质数历来都是数学界的宠儿,是数学里神秘的谜团。 质数又和 C 语言有着不解之缘,本篇文章将讲解如何用 C 语言判断质数。 为了方便大家在读完此文章后使用文中程序,我会将判断质数的程序封装成函数,此函数的功能是:判断形参 _number 是否是质数,若 _number 是质数,则返回 1;若不是 ......
素数 质数 源码 语言

打包iOS App并上架到TestFlight测试

开发者账号 首先需要注册一个开发者账号,不然什么都免谈。在手机Apple Developer上注册给钱就行了,个人开发者一年688元。 打包App App开发好后,就可以通过XCode打包。打包前选好版本号,不要跟以前提交的一样,重复的Version和Build是无法提交的。当然第一次打包就不可能会 ......
TestFlight iOS App

iOS根据两点经纬度坐标计算指南针方位角

需求 在地图导航时,始终保持当前路段竖直超前。 设计 因地图暴露的方法中只有设置地图相对于正北的方向角的方法。因此,需要实现“根据两点经纬度坐标计算指南针方位角”的算法,这样在每次切换路段时,调用算法计算新路段指南针方位角,然后设置地图相对于正北的方向角即可实现需求。 示意图如下: 算法实现原理详见 ......
方位角 经纬度 指南针 经纬 坐标

nacos注册中心单节点ap架构源码解析

一、注册流程 单nacos节点流程图如下: 流程图可以知,Nacos注册流程包括客户端的服务注册、服务实例列表拉取、定时心跳任务;以及服务端的定时检查服务实例任务、服务实例更新推送5个功能。 服务注册:当客户端启动的时候会根据当前微服务的配置信息把微服务注册到nacos服务端。 服务实例列表拉取:当 ......
节点 架构 源码 nacos

Java开发学习(五十)----MyBatisPlus快速开发之代码生成器解析

1、代码生成器原理分析 造句: 我们可以往空白内容进行填词造句,比如: 在比如: 观察我们之前写的代码,会发现其中也会有很多重复内容,比如: 那我们就想,如果我想做一个Book模块的开发,是不是只需要将红色部分的内容全部更换成Book即可,如: 所以我们会发现,做任何模块的开发,对于这段代码,基本上 ......
生成器 MyBatisPlus 代码 Java

Windows上使用QEMU创建银河麒麟ARM64虚拟机完全手册

“好记性不如烂笔头。” —— 张溥 0x00 大纲 0x01 前言 最近某个特殊的项目需要用到银河麒麟系统,物理机是arm64架构的,由于架构不同,没办法在x86机器上使用 VMware 和 VirtualBox 等软件直接创建虚拟机,条件有限,只能借助支持多种架构的QEMU,期间踩坑无数,特写本文 ......
Windows 手册 QEMU ARM 64

C# 正则表达式常用的符号和模式解析

〇、正则表达式的基本语法符号 若只简单匹配固定字符串,则无需任何修饰符,例如:需要匹配字符串 77,则可直接写:new Regex("77")。 下边例举一下常用的符号:(知道下面这些,一般的正则表达式便可清晰异常) 符号 释义 示例 1 示例 2 \ 转义字符,互相转换一个具有特殊功能的字符 和一 ......
正则 表达式 符号 常用 模式

JUC源码学习笔记7——FutureTask源码解析,人生亦如是,run起来才有结果

系列文章目录和关于我 一丶我们在哪里会使用到FutureTask 基本上工作中和Future接口 打交道比较多,比如线程池ThreadPoolExecutor#sumbit方法,返回值就是一个Future(实际上基本上就是一个FutureTask)。ThreadPoolExecutor#sumbit ......
源码 FutureTask 结果 笔记 人生

Dubbo 3 之 Triple 流控反压原理解析

作者:顾欣 Triple 是 Dubbo 3 提出的基于 HTTP2 的开放协议,旨在解决 Dubbo 2 私有协议带来的互通性问题。Triple 基于 HTTP/2 定制自己的流控,支持通过特定的异常通知客户端业务层服务端负载高情况,保护了服务端被大流量击垮,提高系统高可用能力。 一、流控反压现状 ......
原理 Triple Dubbo

万字长文解析Scaled YOLOv4模型(YOLO变体模型)

Scaled YOLOv4 模型最主要的贡献在于通过理论系统分析和实验证了模型缩放的原则,进一步拓展了 CSPNet 方法,并基于此设计了一个全新的 Scaled-YOLOv4,Scaled-YOLOv4 网络的卷积模块都有使用 CSP。总的感觉就是针对不同的 GPU 平台,根据作者分析出来的模型缩... ......
模型 长文 变体 Scaled YOLOv4

Dubbo架构设计与源码解析(二) 服务注册

作者:黄金 一、Dubbo简介 Dubbo是一款典型的高扩展、高性能、高可用的RPC微服务框架,用于解决微服务架构下的服务治理与通信问题。其核心模块包含 【RPC通信】 和 【服务治理】 ,其中服务治理又分为服务注册与发现、服务容错、负载均衡、流量调度等。今天将重点介绍Dubbo的服务注册与发现。 ......
架构 源码 Dubbo

jdk调度任务线程池ScheduledThreadPoolExecutor工作原理解析

jdk调度任务线程池ScheduledThreadPoolExecutor工作原理解析 在日常开发中存在着调度延时任务、定时任务的需求,而jdk中提供了两种基于内存的任务调度工具,即相对早期的java.util.Timer类和java.util.concurrent中的ScheduledThread ......

百倍加速IO读写!快使用Parquet和Feather格式!⛵

本文介绍了 Parquet 和 Feather 两种文件类型,可以提高本地存储数据时的读写速度,并压缩存储在磁盘上的数据大小。大型 CSV 文件的克星!用起来~ ......
Parquet Feather 格式

Python 大数据量文本文件高效解析方案代码实现

大数据量文本文件高效解析方案代码实现 测试环境 Python 3.6.2 Win 10 内存 8G,CPU I5 1.6 GHz 背景描述 这个作品来源于一个日志解析工具的开发,这个开发过程中遇到的一个痛点,就是日志文件多,日志数据量大,解析耗时长。在这种情况下,寻思一种高效解析数据解析方案。 解决 ......
文本 代码 文件 方案 数据

pyqt5制作俄罗斯方块小游戏-----源码解析

一、前言 最近学习pyqt5中文教程时,最后一个例子制作了一个俄罗斯方块小游戏,由于解释的不是很清楚,所以源码有点看不懂,查找网上资料后,大概弄懂了源码的原理。 二、绘制主窗口 将主窗口居中,且设置了一个状态栏来显示三种信息:消除的行数,游戏暂停状态或者游戏结束状态。 class Tetris(QM ......
方块 源码 小游戏 pyqt5 pyqt

ORM数据增删改查 django请求生命周期 django路由层 反向解析

可视化界面之数据增删改查 补充 在模型类中定义双下str方法可以在数据对象被执行打印操作的时候方便的查看 self应该是字段对象 print(对象)时会触发__str__ 并且这个方法的return一定要返回字符串类型的数据 触发提交动作的按钮: ''' form表单中能够触发提交动作的按钮只有两个 ......
django 路由 周期 生命 数据

详解redis网络IO模型

前言 "redis是单线程的" 这句话我们耳熟能详。但它有一定的前提,redis整个服务不可能只用到一个线程完成所有工作,它还有持久化、key过期删除、集群管理等其它模块,redis会通过fork子进程或开启额外的线程去处理。所谓的单线程是指从网络连接(accept) -> 读取请求内容(read) ......
模型 redis 网络

配置可复用的虚拟机,不难!

1、思路说明 创建一个空白的虚拟机,把常用一些linux命令或工具类安装上,然后以此做为后续其他虚拟机克隆的base,创建虚拟机麻烦操作和其他操作都可以免去了,虚拟机克隆后只需要修改一下静态ip地址,重启一下网络服务就可用了 2、实际操作步骤 2.1. 确定ip可用的网段和网关 操作该步骤时,请确保 ......

SpringBoot源码学习2——SpringBoot x Mybatis 原理解析(如何整合,事务如何交由spring管理,mybatis如何进行数据库操作)

阅读本文需要spring源码知识,和springboot相关源码知识 对于springboot 整合mybatis,以及mybatis源码关系不密切的知识,本文将简单带过 系列文章目录和关于我 涉及到spring ioc原理,可移步学习:Spring源码学习笔记12——总结篇IOC,Bean的生命周 ......
SpringBoot 源码 原理 事务 Mybatis

Vue快速上门(3)-组件与复用

Vue (读音 /vjuː/,类似于 view) 是一套用于构建用户界面的渐进式框架,同他周边的生态共同构成了一个灵活的、渐进式的前端框架。 本文内容是关于组件式开发,为了复用提供的各种机制,如混入、指令、过滤器,及Vue插件开发。 ......
组件 Vue

git相关问题解析,你想要的都有🔥

我是甜点cc,git版本管理工具,只要是软件开发人员都会使用到,了解git的使用会带来事半功倍的效果,git相关问题最全解析? ......
128293 问题 git

Mybatis源码解析之执行SQL语句

作者:郑志杰 mybatis 操作数据库的过程 // 第一步:读取mybatis-config.xml配置文件 InputStream inputStream = Resources.getResourceAsStream("mybatis-config.xml"); // 第二步:构建SqlSes ......
语句 源码 Mybatis SQL

Dubbo架构设计与源码解析(三)责任链模式

作者:周可强 一、责任链模式简介 1、责任链模式定义 责任链(Chain of Responsibility)模式的定义:为了避免请求发送者与多个请求处理者耦合在一起,于是将所有请求的处理者通过前一对象记住其下一个对象的引用而连成一条链;当有请求发生时,可将请求沿着这条链传递,直到有对象处理它为止。 ......
架构 源码 模式 责任 Dubbo