基础linux bash
【原创】linux实时应用如何printf输出不影响实时性?
本文介绍为什么linux实时任务不能直接调用printf,首先简单介绍一下printf终端输出原理,然后就如何实现终端输出不影响实时任务实时性问题给出一个方案,最后介绍xenomai中是如何做到完美`printf()`的。 ......
linux 基础(2)文件权限及其修改
文件的权限属性 在 linux 中,每个文件都有唯一的“所属者”(user)和“所属群组”(group)。owner 和 group 都对文件有特殊的权限 输入ls -l,就可以详细查看每个文件的权限属性。 我们可以看到,用户名和群组名可以是相同的。一个群组可以只包含一个用户,也可以包含多个用户。 ......
【深入浅出Seata原理及实战】「入门基础专题」带你透析认识Seata分布式事务服务的原理和流程(1)
分布式事务的背景 随着业务的不断发展,单体架构已经无法满足我们的需求,分布式微服务架构逐渐成为大型互联网平台的首选,但所有使用分布式微服务架构的应用都必须面临一个十分棘手的问题,那就是“分布式事务”问题。 在分布式微服务架构中,几乎所有业务操作都需要多个服务协作才能完成。对于其中的某个服务而言,它的 ......
【深入浅出Seata原理及实战】「入门基础专题」探索Seata服务的AT模式下的分布式开发实战指南(2)
承接上文 上一篇文章说到了Seata 为用户提供了 AT、TCC、SAGA 和 XA 事务模式,为用户打造一站式的分布式解决方案。那么接下来我们将要针对于AT模式下进行分布式事务开发的原理进行介绍以及实战。 Seata AT模式 在AT、TCC、SAGA 和 XA 这四种事务模式中使用最多,最方便的 ......
linux基础:1、linux简介,虚拟化软件的安装与配置,Xshell的安装与配置
Linux 一、linux简介 常见岗位 1、自动化运维 2、容器运维 3、DBA 4、IDC运维(机房运维员) 计算机种类 linux常用的计算机种类: 1、台式机 2、笔记本 3、服务器 作用: 1.相比较于笔记本和台式机数据的安全性更高、不易于丢失 2.可以24小时不间断地提供服务 3.提升用 ......
linux环境编程(1): 实现一个单元测试框架
写在前面 在开发的过程中,大多数人都需要对代码进行测试。目前对于c/c++项目,可以采用google的gtest框架,除此之外在github上搜索之后可以发现很多其他类似功能的项目。但把别人的轮子直接拿来用,终究比不过自己造一个同样功能的轮子更有成就感。作为“linux环境编程”系列文章的第一篇,本 ......
linux环境编程(2): 使用pipe完成进程间通信
1. 写在前面 linux系统内核为上层应用程序提供了多种进程间通信(IPC)的手段,适用于不同的场景,有些解决进程间数据传递的问题,另一些则解决进程间的同步问题。对于同样一种IPC机制,又有不同的API供应用程序使用,目前有POSIX IPC以及System V IPC可以为应用程序提供服务。后续 ......
【分布式技术专题】「LVS负载均衡」全面透析Web基础架构负载均衡LVS机制的原理分析指南
前提概要 在大规模互联网应用中,负载均衡设备是必不可少的组成部分,源于互联网应用的高并 发和大流量的冲击压力场景下,通常会在服务端部署多个无状态的应用服务器和若干有状态的存储服务器(数据库、缓存等等)实现高可用特点和机制。 LVS的介绍说明 官方站点:http://www.linuxvirtuals ......
【Linux】TCS34725 颜色传感器设备驱动
一、概述 此笔记主要是学习 Linux 中的 I2C 驱动,顺便验证一下 TCS34725 传感器的使用,主要内容还是程序记录,方便编写其他 I2C 设备驱动时做参考,所以关于 TCS34725 这里就不过多描述了,需要的小伙伴可以浏览我之前的笔记:TCS34725 颜色传感器设备驱动程序 二、添加 ......
Linux 驱动像单片机一样读取一帧dmx512串口数据
硬件全志R528 目标:实现Linux 读取一帧dmx512串口数据。 问题分析:因为串口数据量太大,帧与帧之间的间隔太小。通过Linux自带的读取函数方法无法获取到 帧头和帧尾,读取到的数据都是缓存区中的,数据量又大。导致缓冲区中一直有很多数据, 又由于dmx512数据协议中并没有帧头帧尾字段只有 ......
基础二分查找总结
前言 由于我在学习二分查找的过程中处于会了忘,忘了复习的状态,因此总结一套适合自己记忆的模板。建议先看参考资料$^{[1,2,3]}$,理解二分查找各种细节的由来。 二分查找又死循环了?【基础算法精讲 04】 手把手带你撕出正确的二分法 | 二分查找法 | 二分搜索法 | LeetCode:704. ......
Docker 基础 - 2
容器操作系统类型 Busybox 集成了一百多个最常用 Linux 命令和工具的软件工具箱. 包含cat echo grep find mount telnet 等 Busybox 是Linux 系统的瑞士军刀 Debian/Ubuntu CentOS/Fedora CoreOS 官网链接 Linu ......
Crossplane - 比 Terraform 更先进的云基础架构管理平台?
👉️URL: https://crossplane.io/ 📝Description: 将云基础架构和服务组成自定义平台 API 简介 在 11 月的 KCD 上海现场,听了一场阿里云的工程师关于他们自己的多云基础架构管理工具的介绍,前边的引言部分有介绍到 Terraform,还有另一款竞品就是 ......
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. ......
TensorRT 基础笔记
TensorRT 是 NVIDIA 官方推出的基于 CUDA 和 cudnn 的高性能深度学习推理加速引擎,能够使深度学习模型在 GPU 上进行低延迟、高吞吐量的部署。采用 C++ 开发,并提供了 C++ 和 Python 的 API 接口,支持 TensorFlow、Pytorch、Caffe、M... ......
Python基础之模块
Python基础之模块 一、关于模块的基础知识 1.模块的本质 内部具有一定功能的py文件 2.模块的分类 自定义模块 程序员自己写的模块文件 内置模块 Python解释器提供的模块 第三模块 别的程序员模块文件(Python背后真正的大佬) 2.两种导入模块的语句及判断执行文件语句 # 用来相对导 ......
Python基础之面向对象
Python基础之面向对象 引言,学习面向对象之前先讨论一下编程思想 目前我们学了两种编程思想。一是面向过程编程即流程,面向过程就是按照固定的解决流程解决问题,比如编写注册功能、登录功能、转账功能等,需要列举出每一步的流程,并且随着步骤的深入问题的解决思路越来越简单,然后指定出该问题的解决方案, ......
深度学习基础-损失函数详解
大多数深度学习算法都会涉及某种形式的优化,所谓优化指的是改变 x 以最小化或最大化某个函数 f(x) 的任务,我们通常以最小化 f(x) 指代大多数最优化问题。损失函数大致可分为两种:回归损失(针对连续型变量)和分类损失(针对离散型变量)。常用的减少损失函数的优化算法是“梯度下降法”(Gradien... ......
神经网络基础部件-激活函数详解
本文分析了激活函数对于神经网络的必要性,同时讲解了几种常见的激活函数的原理,并给出相关公式、代码和示例图。从机器学习的角度来看,神经网络其实就是一个非线性模型,其基本组成单元为具有非线性激活函数的神经元,通过大量神经元之间的连接,使得多层神经网络成为一种高度非线性的模型。神经元之间的连接权重就是需要... ......
前端Linux部署命令与流程记录
以前写过一篇在Linux上从零开始部署前后端分离的Vue+Spring boot项目,但那时候是部署自己的个人项目,磕磕绊绊地把问题解决了,后来在公司有了几次应用到实际生产环境的经验,发现还有很多可以补充的地方,很多指令和下载地址每次用到的时候再找就相对麻烦,通过这篇文章可以做一个记录。 另外,之前 ......
2023牛客寒假算法基础集训营3 A-I+K
比赛链接 A 题解 知识点:贪心。 把所有正偶数除成奇数,即可。 (人傻了没加 $x>0$ WA2 时间复杂度 $O(n)$ 空间复杂度 $O(1)$ 代码 #include <bits/stdc++.h> using ll = long long; using namespace std; int ......
[Linux Kernel 源码分析] 通过vconfig配置vlan的系统调用/驱动流程分析
By YuCloud (蓝天上的云℡ - 博客园 https://www.cnblogs.com/yucloud/) 转载请注明出处 vconfig源码分析 vlan/vconfig.c at master · Distrotech/vlan (github.com) https://github. ......
红袖添香,绝代妖娆,Ruby语言基础入门教程之Ruby3基础数据类型(data types)EP02
Ruby是强类型动态语言,即Ruby中一旦某一个对象被定义类型,如果不通过强制转换操作,那么它永远就是该数据类型,并且只有在Ruby解释器运行时才会检测对象数据类型,它的一切皆为对象(包括 nil 值对象),可以通过调用内置class属性来获取该对象的具体数据类型。对于 Ruby 而言,所有类型都继 ......
prometheus-添加监控linux服务器
1. prometheus-添加监控linux服务器 prometheus添加监控linux服务器 node_exporter:用于监控Linux系统的指标采集器。 常用指标: CPU 内存 硬盘 网络流量 文件描述符 系统负载 系统服务 数据接口:http://IP:9100 使用文档:https ......
CH9434-MCU代码移植,芯片使用详细说明(附Linux开发资料链接)
简介 CH9434是一款SPI转四串口转接芯片,提供四组全双工的9线异步串口,用于单片机/嵌入式/安卓系统扩展异步串口。提供25路GPIO,以及支持RS485收发控制引脚TNOW。本篇基于STM32F103,介绍CH9434在MCU平台移植和使用方法。 Linux移植说明可以跳转到这个链接:http ......
【深入浅出Sentinel原理及实战】「基础实战专题」零基础实现服务流量控制实战开发指南(2)
你若要喜爱你自己的价值,你就得给世界创造价值。 Sentinel的组成部分 Sentinel 主要由以下两个部分组成。 Sentinel核心库(Java客户端) :Sentinel的核心库不依赖任何框架或库,能够运行于Java 8及以上的版本的运行时环境中,同时对 Spring Cloud、Dubb ......
Java基础类String学习分析
1 String不可变性 String类被声明为 final,因此它不可被继承。 内部使用char数组存储数据,该数组被声明为final,这意味着value数组初始化之后就不能再指向其它数组。 String内部没有改变value数组的方法 String类中所有修改String值的方法,如果内容没有改 ......
Linux 环境中使用 LVGL
之前有记录过在 esp32 中使用 LVGL 的笔记,需要的小伙伴可以了解一下,esp-idf 移植 lvgl8.3.3 我之前整理的学习资料:https://www.cnblogs.com/jzcn/p/16647106.html 一、准备材料 开发板:一块 linux 的开发板 或 linux ......
用Dockerfile制作一个java应用镜像,ubuntu基础篇
内容介绍: (1) 本章目的,将一个自行开发的java程序webpay-api,制作为docker自定义镜像,并且进行部署。 (2) 实验环境: 物理机:VMware 虚拟机 + CentOS 7.8 x64 Docker:Docker version 20.10.17, build 100c701 ......