学习资料

极客时间--Go并发编程实践课--Mutex学习总结

互斥锁的实现机制 互斥锁是并发控制的一个手段,是为了避免竞争而建立的一种并发控制机制。在并发编程中,如果程序中的一部分会被并发访问或修改,那么,为了避免并发访问导致的意想不到的结果,这部分程序需要被保护起来,这部分被保护起来的程序,就叫做临界区。可以说,临界区就是一个被共享的资源,或者说是一个整体的 ......
时间 Mutex Go

深入学习ThreadLocal

1、用来干吗的? 用于线程在任意的地方去共享数据,而不被其他线程所干扰, 2、原理是什么 因为每个线程维护一份ThreadLocalMap,使用threadlocal.set(obj)方法是存放在map里面的Entry<<WeekReference>ThreadLocal,Value>数组里 3、实 ......
ThreadLocal

python基础学习-文件

"""文件操作open()打开open(name, mode, encoding)name:文件名,文件所在的路径mode:文件访问模式,只读 r,写入w(文件存在,从开头开始编辑,原有内容会删除,不存在,创建),追加a(文件存在,从已有内容之后进行编辑,不存在,创建)读写encoding:编码格式 ......
文件 基础 python

python基础学习-random

参考地址:Python-Core-50-Courses/第20课:Python标准库初探.md at master · jackfrued/Python-Core-50-Courses (github.com) 待补充 ...... random - 随机数和随机抽样模块 生成随机数、实现随机乱序和 ......
基础 python random

python基础学习-发送邮件

import smtplib from email.header import Header from email.mime.multipart import MIMEMultipart from email.mime.text import MIMEText """ 发送普通邮件 """ # 创建 ......
邮件 基础 python

python基础学习-读写CSV文件

CSV文件介绍 参考:Python-Core-50-Courses/第23课:用Python读写CSV文件.md at master · jackfrued/Python-Core-50-Courses (github.com) CSV 全称逗号分隔值文件是一种简单、通用的文件格式,被广泛的应用于应 ......
文件 基础 python CSV

python基础学习-XPath解析html

参考地址:Python-Core-50-Courses/第33课:用Python解析HTML页面.md at master · jackfrued/Python-Core-50-Courses (github.com) XPath 是在 XML(eXtensible Markup Language) ......
基础 python XPath html

python基础学习-字典

"""字典dict定义:元素是键值对,key不能重复,不能使用下标索引,key是除字典外其他类型,value为任意类型, 可嵌套, 可修改, 支持for循环,不支持while循环# 字面量{ key: value,key: value, key: value }# 定义变量变量名称 = { key: ......
字典 基础 python

python基础学习-容器

"""容器的通用功能:len(容器) 统计容器元素个数max(容器) 统计最大元素min(容器) 统计最小元素类型转换list(容器) 给定容器转换为liststr(容器) 给定容器转换为strtuple(容器) 给定容器转换为tupleset(容器) 给定容器转换set通用排序:sorted(容器 ......
容器 基础 python

python基础学习-异常

"""异常:捕获异常:基本语法:try: 可能发生错误的代码except: 出现异常执行代码else: 没异常,执行finally: 无论有无异常,都执行异常具有传递性"""# 捕获指定异常try: print(name)except NameError as e: print("出现未定义异常") ......
基础 python

gitignore规则再学习

gitignore规则之前就学习过, 不过到现在还是一知半解, 昨天又重新学习了一下, 并做了一些实验, 似乎又明白了, 所以记录下来, 以备后续查阅. - 首先, `.gitignore`文件所在的目录作为匹配的根目录 - 对于每一个目录或者文件全路径, 进行匹配规则验证 如下所示的目录结构: ! ......
gitignore 规则

babylon.js 学习笔记(8)

接上回继续,现在的村庄已经有点象样了,但是远处的背景仍比较单调(如下图),今天来学习如何处理天空背景。 babylon.js中,把整个空间假象成一个巨大的立方体(称为SkyBox),然后依次给立方体的6个面,贴上天空的背景图(如下图) 在代码中只要指定这6张图的rootUrl即可,babylon.j ......
babylon 笔记 js

安全测试--fiddler工具学习和使用

平常功能测试或者在进行安全相关测试时,会抓一些接口数据,来进行辅助测试。使用较多的抓包工具是fiddle,所以这里介绍了一下fiddler 原理,并介绍一些工作上经常使用的fiddler 功能(工具栏、抓https的设置、过滤器、重放、段点、会话保存等功能,手机抓包的功能在另外一篇随笔里)。 ......
fiddler 工具

linux 性能自我学习 ———— cpu 快速定位问题 [六]

### 前言 主要介绍一下cpu如何快速定位问题。 ### 正文 cpu 的一些性能指标: #### 1. cpu 使用率 cpu 使用率描述了非空闲时间占总cpu时间的百分比,根据cpu上运行任务的不同,又被分为用户cpu、系统cpu、 i/o 等待cpu、 软中断、硬中断。 用户cpu使用率,包 ......
性能 问题 linux cpu

复试机试学习

#### 想要见识一下,如何将数据结构中学习到的数据结构应用到实际中,转化为编程 - 猫狗收容所 ![image](https://img2023.cnblogs.com/blog/3121262/202306/3121262-20230604083420598-818469963.png) 1. ......

跟着思兼学习Klipper(24): 红外遥控3D打印机

原创文章,转载引用请务必注明链接,水平有限,如有疏漏,欢迎指正交流。 文章如有更新请访问 [DFRobot 社区](https://mc.dfrobot.com.cn/thread-316165-1-1.html?fromuid=725344) 或者 [cnblogs 博客园](https://ww ......
红外 打印机 跟着 Klipper 24

C#语言入门学习(八)

1. LINQ(Language Integrated Query): - LINQ是一种在C#中集成查询功能的技术,它提供了一种统一的查询语法,使得可以对各种数据源进行查询和操作,包括对象集合、数据库、XML等。 - 使用LINQ,可以使用相同的查询语法对不同类型的数据进行查询、筛选、排序和转换等 ......
语言

C#语言入门学习(七)

1. 文件操作: - C#提供了丰富的文件操作功能,可以读取和写入文件、创建和删除文件等。 - 使用`System.IO`命名空间中的类来进行文件操作,如`File`类和`Directory`类。 - 可以使用`File.Exists`方法检查文件是否存在,使用`File.Open`方法打开文件,使 ......
语言

C#语言入门学习(六)

1. 异常的概念: - 异常是在程序执行过程中出现的错误或意外情况。它们可能导致程序无法正常继续执行。 - C#中的异常是一种特殊的对象,用于表示发生的错误或异常情况。当异常发生时,会抛出异常对象。 2. 异常处理的机制: - 异常处理是一种机制,用于在程序中检测、捕获和处理异常,以便程序可以优雅地 ......
语言

C#语言学习入门(五)

第五点是关于字符串处理和正则表达式的详细解释。以下是对该点的详细讲解: 1. 字符串基本操作: - 字符串是由字符组成的序列,用于表示文本数据。C#提供了丰富的字符串处理功能。 - 字符串连接:可以使用"+"运算符将多个字符串连接起来。例如: string firstName = "John"; s ......
语言学习 语言

C#语言入门学习(四)

1. 数组: - 数组是一种用于存储多个相同类型元素的数据结构。它可以按照索引访问和操作其中的元素。 - 数组的长度是在创建时确定的,一旦确定后,其长度不可改变。 - 声明和初始化数组时,需要指定元素的类型和数组的大小。例如: int[] numbers = new int[5]; 上述代码声明了一 ......
语言

C#语言入门学习(三)

1. 类和对象: - 类是面向对象编程的基本概念,它是一种模板或蓝图,用于创建对象的实例。 - 对象是类的具体实例,它具有类定义的属性(数据成员)和方法(成员函数)。 - 通过定义类和创建对象,可以实现数据和行为的封装,将相关的数据和操作组织在一起。 2. 封装: - 封装是将数据和操作封装在类中, ......
语言

C#语言入门学习(二)

1. 定义和调用方法: - 方法是一段可重复使用的代码块,用于执行特定的任务或操作。通过方法,可以将程序的功能划分为较小的模块,提高代码的可读性和维护性。 - 定义方法时需要指定方法的名称、参数列表和返回类型(如果有返回值)。例如: public int AddNumbers(int a, int ......
语言

学习C#语言入门(一)

1. 基本语法: - C#是一种面向对象的编程语言,具有严格的语法规则。每个C#程序都包含一个或多个类,每个类可以包含字段、属性、方法和事件等成员。 - 一个C#程序通常从一个特殊的类开始,名为Main类,其中的Main方法是程序的入口点。 - C#使用大括号({})来组织代码块,例如类定义、方法体 ......
语言

C#语言入门学习

1. 基本语法和数据类型: - 声明和使用变量,了解基本数据类型(整数、浮点数、布尔值、字符、字符串等)。 - 运算符(算术运算符、比较运算符、逻辑运算符等)和表达式的使用。 - 学习控制流语句,如条件语句(if、else、switch)、循环语句(for、while、do-while)和跳转语句( ......
语言

cmake学习

参考资料: 02-CMake的HelloWord编译_哔哩哔哩_bilibili 1、在Linux上安装cmake 2、写一个c++程序 #include <iostream> int main(){ std::cout<<"Hello world!"<<std::endl; return 0; } ......
cmake

极客时间--golang并发编程实战课--WaitGroup学习总结

什么是WaitGroup? WaitGroup解决的就是并发-等待问题:现在有一个goroutineA在检查点等待一组goroutine全部完成,如果 在执行任务的这些goroutine还没全部完成,那么goroutine A就会阻塞在检查点,知道所有goroutine都完成后才能继续执行。 Gol ......
实战 WaitGroup 时间 golang

【ROS学习】初学ROS的小项目

# ROS学习:turtle控制 ![img](https://img2023.cnblogs.com/blog/2571944/202306/2571944-20230603225301883-1884762303.jpg) ## turtle旋转 首先查看turtlesim里面的节点,使用rqt ......
ROS 项目

【ROS学习】配置rotors-simulator

本文按照https://github.com/ethz-asl/rotors_simulator一步一步搭建并且踩坑记录。 ## 雷 * 第一个坑:尽量不要在虚拟机上跑,因为你在catkin make的时候就会卡住。 * 在原文中也提到了,第一次加载gazebo的时候会出现超时error,不要慌,关 ......
rotors-simulator simulator rotors ROS