每日学习总结20240219
每日总结
20240219
1.文件类型.csv
CSV文件是一种以逗号分隔值(Comma-Separated Values)为标记的文本文件,它可以用来存储表格数据。每一行表示一条记录,而每一条记录中的字段则使用逗号或其他特定的分隔符进行分隔。
常用场景包括:
- 数据导出与导入:CSV文件是许多软件应用程序用来导出和导入数据的标准格式。例如,数据库软件、电子表格软件、统计分析软件等都支持CSV格式,用户可以将数据以CSV格式导出,然后在其他软件中进行处理或分析。
- 数据交换:CSV文件是在不同系统之间交换数据的常见方式。由于它是一种纯文本格式,易于阅读和编辑,并且几乎所有的软件都支持导入和导出CSV文件,因此它成为了数据交换的理想选择。
- 数据备份:在一些情况下,CSV文件被用作数据备份的形式。将数据导出为CSV文件可以轻松地保存数据,并在需要时进行恢复。由于它是一种通用格式,因此即使原始数据源不可用,也可以通过CSV文件来还原数据。
- 批量处理:在一些编程任务中,CSV文件也常被用来作为批量处理数据的输入或输出格式。程序员可以使用各种编程语言读取和写入CSV文件,进行数据处理、分析、转换等操作。
- 网站数据交换:许多网站提供数据导出功能,允许用户将数据以CSV格式下载。这在数据分析、报告生成等方面非常有用,用户可以将网站上的数据导出为CSV文件,然后在本地进行处理和分析。
总之,CSV文件是一种简单、通用的数据存储格式,在各种场景下都得到了广泛应用,特别适用于数据交换、导入导出以及批量处理等任务。
2.GLib库
GLib 是一个 C 语言的通用工具库,提供了许多实用的功能,其主要功能包括:https://docs.gtk.org/glib/
- 数据结构:GLib 提供了许多常用的数据结构,如链表、双向链表、哈希表、数组、树等。这些数据结构提供了高效的插入、删除和查找操作,方便在 C 语言中进行数据处理和管理。
- 内存管理:GLib 提供了内存分配和管理的功能,包括动态内存分配、内存池、引用计数等。它的内存管理功能对于减少内存泄漏和提高程序性能非常有用。
- 线程和并发:GLib 提供了线程管理、互斥锁、条件变量等功能,支持多线程编程和并发处理。它提供了易于使用的接口,使得在 C 语言中进行多线程编程变得更加简单和安全。
- 事件循环:GLib 提供了事件循环(Event Loop)机制,用于处理事件驱动的程序,例如 GUI 应用程序、网络服务器等。它支持定时器、文件描述符监视、信号处理等功能,能够高效地处理各种事件。
- IO 和文件操作:GLib 提供了文件操作、文件路径处理、IO 通道等功能,使得在 C 语言中进行文件和 IO 操作变得更加方便和可靠。
- 字符串处理:GLib 提供了字符串操作、格式化输出、字符串拼接等功能,方便对字符串进行处理和操作。
- 线程池和异步操作:GLib 提供了线程池和异步操作的支持,使得在 C 语言中进行异步编程变得更加简单和高效。
GLib 在以下情况下特别有用:
- 当需要进行 C 语言编程,但是希望使用高级的数据结构和工具时,可以使用 GLib 来简化开发流程。
- 当需要进行多线程编程或并发处理时,GLib 提供了方便的线程管理和同步机制。
- 当需要开发事件驱动的程序,如 GUI 应用程序、网络服务器等时,GLib 提供了事件循环和异步操作的支持。
- 当需要进行字符串处理、文件操作、内存管理等操作时,GLib 提供了丰富的功能库,可以减少开发工作量和提高程序性能。
GLib 的优势包括:
- 跨平台性:GLib 是一个跨平台的库,可以在多种操作系统上运行,包括 Linux、Windows、macOS 等。
- 丰富的功能:GLib 提供了许多实用的功能和工具,包括数据结构、线程管理、事件循环、IO 操作等,可以满足各种开发需求。
- 高效性:GLib 提供了高效的实现和算法,能够在性能和资源利用方面做到较好的平衡。
- 易用性:GLib 提供了简单易用的 API,使得开发者可以更加快速地编写和调试代码,提高开发效率。
- 稳定性:GLib 是一个经过充分测试和验证的库,具有较高的稳定性和可靠性,被广泛应用于各种大型项目和开源软件中。
2.1 API
-
#define GUINT32_TO_BE(val) GUINT32_SWAP_LE_BE(val)
GUINT32_TO_BE
是 GLib 库中的一个宏,用于将 32 位的整数从主机字节序转换为网络字节序(大端字节序)。在网络编程中,经常需要进行字节序转换,以确保数据在不同平台之间正确传输和解释。 -
#define GUINT32_FROM_BE(val) GUINT32_SWAP_LE_BE(val)
GUINT32_FROM_BE
是 GLib 库中的一个宏,用于将 32 位的整数从网络字节序(大端字节序)转换为主机字节序。在网络编程中,经常需要进行字节序转换,以确保数据在不同平台之间正确传输和解释。 -
g_strsplit()
- 定义:
g_strsplit()
是 GLib 库中的一个函数,用于将一个字符串根据指定的分隔符进行分割,返回一个字符串数组。 - 原型:
gchar **g_strsplit(const gchar *string, const gchar *delimiter, gint max_tokens);
- 参数:
string
:要分割的源字符串。delimiter
:用于分割字符串的分隔符。max_tokens
:最大分割次数,为负数表示不限制分割次数。
- 返回值:返回一个字符串数组,数组中的每个元素是分割后的子字符串。
- 功能:
g_strsplit()
函数根据指定的分隔符将源字符串分割成多个子字符串,并将这些子字符串存储在一个字符串数组中返回。
- 定义:
-
strtol()
- 定义:
strtol()
是 C 标准库中的函数,用于将字符串转换为长整型数。 - 原型:
long strtol(const char *nptr, char **endptr, int base);
- 参数:
nptr
:待转换的字符串。endptr
:如果不为空,并且未发生错误,则会存储在此指针中指向转换结束后的字符串的位置。base
:转换使用的进制,通常为 2、8、10 或 16。
- 返回值:返回转换后的长整型数。
- 功能:
strtol()
函数将字符串nptr
中的数字部分转换为长整型数,并返回结果。它还可以将剩余的未转换部分指示给endptr
。
- 定义:
2.2 网络编程相关
1. g_socket_new
- 定义:创建一个新的套接字对象。
- 原型:
GSocket* g_socket_new(GSocketFamily family, GSocketType type, GSocketProtocol protocol, GError **error);
- 参数:
family
:地址族,例如G_SOCKET_FAMILY_IPV4
或G_SOCKET_FAMILY_IPV6
。type
:套接字类型,例如G_SOCKET_TYPE_STREAM
(流套接字)或G_SOCKET_TYPE_DATAGRAM
(数据报套接字)。protocol
:协议类型,例如G_SOCKET_PROTOCOL_TCP
或G_SOCKET_PROTOCOL_UDP
。error
:返回的错误对象。
- 返回值:返回一个新的
GSocket
对象。
2. g_inet_socket_address_new_from_string
- 定义:根据字符串创建一个网络地址对象。
- 原型:
GInetSocketAddress* g_inet_socket_address_new_from_string(const gchar *address, guint16 port);
- 参数:
address
:IP 地址字符串。port
:端口号。
- 返回值:返回一个新的
GInetSocketAddress
对象。
3. g_inet_address_new_from_string
- 定义:根据字符串创建一个 IP 地址对象。
- 原型:
GInetAddress* g_inet_address_new_from_string(const gchar *string);
- 参数:
string
:IP 地址字符串。
- 返回值:返回一个新的
GInetAddress
对象。
4. g_inet_socket_address_new
- 定义:创建一个新的网络地址对象。
- 原型:
GInetSocketAddress* g_inet_socket_address_new(GInetAddress *address, guint16 port);
- 参数:
address
:GInetAddress
对象。port
:端口号。
- 返回值:返回一个新的
GInetSocketAddress
对象。
5. g_socket_bind
- 定义:将套接字绑定到指定的地址和端口。
- 原型:
gboolean g_socket_bind(GSocket *socket, GSocketAddress *address, gboolean allow_reuse, GError **error);
- 参数:
socket
:GSocket
对象。address
:要绑定的地址。allow_reuse
:是否允许地址重用。error
:返回的错误对象。
- 返回值:绑定成功返回
TRUE
,否则返回FALSE
。
6. g_socket_connect
- 定义:与远程主机建立连接。
- 原型:
gboolean g_socket_connect(GSocket *socket, GSocketAddress *address, GCancellable *cancellable, GError **error);
- 参数:
socket
:GSocket
对象。address
:远程主机地址。cancellable
:可取消的操作。error
:返回的错误对象。
- 返回值:连接成功返回
TRUE
,否则返回FALSE
。
7. g_socket_is_connected
- 定义:检查套接字是否已连接到远程主机。
- 原型:
gboolean g_socket_is_connected(GSocket *socket);
- 参数:
socket
:GSocket
对象。
- 返回值:如果套接字已连接到远程主机,则返回
TRUE
,否则返回FALSE
。
8. g_socket_condition_check
- 定义:检查套接字的状态。
- 原型:
GIOCondition g_socket_condition_check(GSocket *socket, GIOCondition condition);
- 参数:
socket
:GSocket
对象。condition
:要检查的条件,如读取、写入、错误等。
- 返回值:返回套接字的状态。
9. g_socket_receive
- 定义:从套接字接收数据。
- 原型:
gssize g_socket_receive(GSocket *socket, gpointer buffer, gsize size, GCancellable *cancellable, GError **error);
- 参数:
socket
:GSocket
对象。buffer
:接收数据的缓冲区。size
:要接收的数据大小。cancellable
:可取消的操作。error
:返回的错误对象。
- 返回值:返回接收到的字节数。
10. g_socket_send
- 定义:向套接字发送数据。
- 原型:
gssize g_socket_send(GSocket *socket, const gpointer buffer, gsize size, GCancellable *cancellable, GError **error);
- 参数:
socket
:GSocket
对象。buffer
:要发送的数据缓冲区。size
:要发送的数据大小。cancellable
:可取消的操作。error
:返回的错误对象。
- 返回值:返回发送的字节数。
这些函数适用于需要进行网络编程的情况,如开发客户端、服务器、网络通信应用等。GLib 提供了一套简单易用的网络 API,使得网络编程变得更加方便。
3.cat >> 与echo >>
在 Shell 中,cat >>
和 echo >>
都是用于将文本追加到文件末尾的命令,但它们的工作方式略有不同:
cat >>
:cat
是一个命令,用于连接文件并输出它们的内容,>>
是重定向符号,用于将输出追加到指定文件的末尾。- 用法:
cat >> filename
- 功能:
cat >>
将会等待用户输入文本,直到用户按下Ctrl + D
结束输入,然后将输入的文本追加到指定的文件末尾。 - 示例:
cat >> output.txt
会将用户输入的文本追加到output.txt
文件的末尾。
echo >>
:echo
是一个命令,用于在终端上输出指定的字符串,>>
是重定向符号,用于将输出追加到指定文件的末尾。- 用法:
echo "text" >> filename
- 功能:
echo >>
直接将指定的文本追加到指定的文件末尾。 - 示例:
echo "Hello, World!" >> output.txt
会将字符串 “Hello, World!” 追加到output.txt
文件的末尾。
总结:
cat >>
会等待用户输入文本,然后将文本追加到文件末尾,适用于需要交互式地输入内容的情况。echo >>
直接将指定的文本追加到文件末尾,适用于将已知的字符串追加到文件末尾的情况。
4. shell 中>>与 >
在Shell脚本中,>
和 >>
都是用于重定向输出的操作符,但它们有一些重要的区别:
>
操作符:- 用法:
command > file
或者echo "text" > file
- 功能:将命令的标准输出重定向到指定文件,并覆盖文件中的原有内容。如果文件不存在,则会创建新文件。
- 示例:
echo "Hello, World!" > output.txt
将字符串 “Hello, World!” 写入到名为output.txt
的文件中,如果文件不存在则创建,如果文件已存在则覆盖原有内容。
- 用法:
>>
操作符:- 用法:
command >> file
或者echo "text" >> file
- 功能:将命令的标准输出追加到指定文件的末尾。如果文件不存在,则会创建新文件。
- 示例:
echo "Hello, World!" >> output.txt
将字符串 “Hello, World!” 追加到名为output.txt
的文件末尾,如果文件不存在则创建。
- 用法:
总结:
>
用于覆盖文件内容,而>>
用于追加内容到文件末尾。- 两者都可以将命令的输出重定向到文件,但是
>
会覆盖文件内容,而>>
则会追加到文件末尾。 - 如果你想要保留原有内容并添加新内容,就应该使用
>>
操作符。
5. 网络配置文件 /etc/network/interfaces
如下这段文件是 Linux 系统网络配置文件 /etc/network/interfaces
的示例内容,它用于配置网络接口的参数,包括 IP 地址、子网掩码、网关等。
# 这是注释行,用于说明该文件是用于配置网络接口的。
# /etc/network/interfaces -- configuration file for ifup(8), ifdown(8)#auto lo 和 iface lo inet loopback:这两行配置了回环(loopback)接口 lo,这是一个特殊的虚拟接口,用于本地回环测试。auto lo 表示系统启动时自动激活该接口,iface lo inet loopback 指定了该接口的配置为使用 loopback 模式。
# The loopback interface
auto lo
iface lo inet loopback# Wireless interfaces
# 这一部分配置了一个名为 wlan0 的无线网络接口,使用 DHCP 获取 IP 地址。下面几行配置了一些无线接口的特定参数,如无线模式 (wireless_mode)、ESSID (wireless_essid)、WPA 配置文件路径 (wpa-conf) 等。
iface wlan0 inet dhcp wireless_mode managedwireless_essid anywpa-driver wextwpa-conf /etc/wpa_supplicant.conf
# iface atml0 inet dhcp:这一行配置了一个名为 atml0 的接口,使用 DHCP 获取 IP 地址。
iface atml0 inet dhcp# Wired or wireless interfaces
# auto eth0
# iface eth0 inet dhcp
# iface eth1 inet dhcp:这一行配置了一个名为 eth1 的以太网接口,使用 DHCP 获取 IP 地址。
iface eth1 inet dhcp# Ethernet/RNDIS gadget (g_ether)
# ... or on host side, usbnet and random hwaddr
# 下面一段配置了一个名为 usb0 的 USB 网络接口,使用静态 IP 地址。这种配置通常用于在主机和设备之间通过 USB 连接进行网络通信。
iface usb0 inet staticaddress 192.168.7.2netmask 255.255.255.0network 192.168.7.0gateway 192.168.7.1# Bluetooth networking
# iface bnep0 inet dhcp:这一行配置了一个名为 bnep0 的 Bluetooth 网络接口,使用 DHCP 获取 IP 地址。
iface bnep0 inet dhcp# auto eth0 和 iface eth0 inet static:这两行定义了另一个以太网接口 eth0 的配置。auto eth0 表示系统启动时自动激活该接口,iface eth0 inet static 指定了该接口的配置为静态 IP 地址模式。# 下面的 address、netmask、gateway 等行指定了 eth0 接口的具体配置参数,包括 IP 地址、子网掩码、网关等。
auto eth0
iface eth0 inet staticaddress 192.168.137.81netmask 255.255.255.0
6.shell参数
$1
、$2
、$3
是脚本的位置参数,即在运行脚本时提供的参数。count=${3:-1}
将第三个参数(执行次数)赋值给变量count
,如果未提供第三个参数,则默认值为 1。count=${3:-1}
这行代码使用了 Bash 中的参数扩展功能,具体含义是:如果第三个参数$3
存在并且不为空,则将其值赋给变量count
;如果第三个参数不存在或为空,则将默认值1
赋给变量count
。- 这种语法
var=${var:-default}
称为参数扩展,它的作用是检查变量是否已经设置,若未设置或为空,则使用默认值。在这里,count
是第三个参数,而:-
表示如果$3
不存在或为空,则使用默认值1
。
- 这种语法
相关文章:

每日学习总结20240219
每日总结 20240219 1.文件类型.csv CSV文件是一种以逗号分隔值(Comma-Separated Values)为标记的文本文件,它可以用来存储表格数据。每一行表示一条记录,而每一条记录中的字段则使用逗号或其他特定的分隔符进行分隔。 常用场景…...

K8s进阶之路-安装部署K8s
参考:(部署过程参考的下面红色字体文档链接就可以,步骤很详细,重点部分在下面做了标注) 安装部署K8S集群文档: 使用kubeadm方式搭建K8S集群 GitBook 本机: master:10.0.0.13 maste…...

springboot集成elk实现日志采集可视化
一、安装ELK 安装ELK组件请参考我这篇博客:windows下安装ELK(踩坑记录)_windows上安装elk教程-CSDN博客 这里不再重复赘述。 二、编写logstash配置 ELK组件均安装好并成功启动,进入到logstash组件下的config文件夹,创建logstash.conf配置…...
leetcode 148. 排序链表 java解法
Problem: 148. 排序链表 思路 这是一个链表排序的问题,由于要求时间复杂度为 O(nlogn),适合使用归并排序(Merge Sort)来解决。 解题方法 首先,使用快慢指针找到链表的中间节点,将链表分成两部分。然后&…...

【MATLAB源码-第140期】基于matlab的深度学习的两用户NOMA-OFDM系统信道估计仿真,对比LS,MMSE,ML。
操作环境: MATLAB 2022a 1、算法描述 深度学习技术在无线通信领域的应用越来越广泛,特别是在非正交多址接入(NOMA)和正交频分复用(OFDM)系统中,深度学习技术被用来提高信道估计的性能和效率。…...
运动重定向学习笔记
目录 深度学习 重定向 2020年的模型: 重定向之后的bvh: 深度学习 重定向 输入是bvh,输出也是bvh...
导出Excel,支持最佳
列表信息导出为Excel文件, 依赖pom: Sheet, Row:<dependency><groupId>org.apache.poi</groupId><artifactId>poi</artifactId> </dependency>XSSFWorkbook <dependency><groupId>org.apache.poi</…...
【WPF】获取父控件数据
MaxHeight"{Binding PathActualHeight, RelativeSource{RelativeSource ModeFindAncestor, AncestorTypeUserControl}}" 参考文献 https://www.cnblogs.com/-Timosthetic/p/16021865.html...

解决Edge浏览器,微博无法查看大图(Edge Image Viewer)
使用Edge浏览器浏览微博或其它带校验的图片时,会导致无法查看。 主要原因为Edge自带了一个Edge Image Viewer, 但是该图片查看器无法查看带校验数据的图片,所以导致查看时一片空白。 解决方法 地址栏输入 edge://flags/搜索 Edge Image Viewer选择 Disa…...

PMP含金量在国内怎么样?
其一、PMP(项目管理师)证书含金量高吗? PMP认证是由美国项目管理学会(PMI)在全球范围内推出的针对项目经理的资格认证体系,其证书含金量可以说是非常高。 统计表明,全球年销售收入在5亿美元以上的企业中有86%聘用了具有项目管理资质的项目经…...

java中容易被忽视的toString()方法
之前一直认为toString就是将数据转换成字符类型,直到最近写出了一个bug才对toString有了新的认识 不同数据类型,toString() 有不同的操作 定义一个student类,包含姓名 String类型、性别 String类型、年龄 int 类型、分数列表 String类型的li…...

如何使用Docker搭建YesPlayMusic网易云音乐播放器并发布至公网访问
文章目录 1. 安装Docker2. 本地安装部署YesPlayMusic3. 安装cpolar内网穿透4. 固定YesPlayMusic公网地址 本篇文章讲解如何使用Docker搭建YesPlayMusic网易云音乐播放器,并且结合cpolar内网穿透实现公网访问音乐播放器。 YesPlayMusic是一款优秀的个人音乐播放器&am…...

java面试题之redis篇
1.redis 中的数据类型有哪些 随着 Redis 版本的更新,后面又支持了四种数据类型: BitMap(2.2 版新增)、HyperLogLog(2.8 版新增)、GEO(3.2 版新增)、Stream(5.0 版新增&am…...
effective c++ 笔记 条款18-25
条款18:让接口容易被正确使用,不易误使用 使用外覆类型(wrapper)提醒调用者传参错误检查,将参数的附加条件限制在类型本身 Data::Data(int month, int day, int year) { ... }三个参数类型相同的函数容易造成误用 Da…...

Nginx学习笔记
Bilibili尚硅谷视频 Nginx 简介 Nginx 概述 Nginx (“engine x”) 是一个高性能的 HTTP 和 反向代理服务器,特点是占有内存少,并发能力强,能经受高负载的考验,有报告表明能支持高达 50,000 个并发连接数 。 正向代理 正向代理:如…...
摆(行列式、杜教筛)
有一个 n n n\times n nn 的矩阵 A A A,满足: A i , j { 1 i j 0 i ̸ j ∧ i ∣ j C otherwise A_{i,j}\begin{cases} 1 &ij\\ 0 &i\notj\land i\mid j\\ C &\text{otherwise} \end{cases} Ai,j⎩ ⎨ ⎧10Cijij∧i∣jotherwi…...
尝试以语法对照表格形式学习新语言:c,rust
以语法对照表格形式学习新语言,以rust为例。 关于rust的个人看法: 能否替代c?部分场景可以,长远看并不会。如果c再扩一些关键字,类似cpp的吸星大法式扩充,rust并不具备优势。解决了c的内存管理问题&#x…...

408计算机网络--基础概论
学习计算机网络走以前需要首先明白一个大的概念,计算机网络通常分为通信子网(实现数据通信)和资源子网(实现资源共享/数据处理)七层妖塔 计算机网络:是一个将分散的、具有独立功能的计算机系统࿰…...

数据库应用:kylin 部署 达梦数据库DM8
目录 一、实验 1.环境 2.部署前规划 3.部署达梦数据库DM8 4.创建数据库及数据库事例管理 5.达梦数据库的基本操作 二、问题 1.xhost命令报错 2.执行安装程序DMInstall.bin 报错 3.解压安装程序报错 4.安装程序找不到文件 5.图像化界面打不开 6.安装内存太小 7.打开…...
GO框架基础 (二)、sqlx库
在 Go 语言中,sqlx 包是一个用于数据库操作的库,它建立在标准库的 database/sql 包之上,并提供了一些额外的功能,以简化和增强与数据库的交互。sqlx 的目标是通过提供更方便的 API 和一些附加功能来改善在 Go 中进行 SQL 数据库查…...

《Qt C++ 与 OpenCV:解锁视频播放程序设计的奥秘》
引言:探索视频播放程序设计之旅 在当今数字化时代,多媒体应用已渗透到我们生活的方方面面,从日常的视频娱乐到专业的视频监控、视频会议系统,视频播放程序作为多媒体应用的核心组成部分,扮演着至关重要的角色。无论是在个人电脑、移动设备还是智能电视等平台上,用户都期望…...

MongoDB学习和应用(高效的非关系型数据库)
一丶 MongoDB简介 对于社交类软件的功能,我们需要对它的功能特点进行分析: 数据量会随着用户数增大而增大读多写少价值较低非好友看不到其动态信息地理位置的查询… 针对以上特点进行分析各大存储工具: mysql:关系型数据库&am…...
【磁盘】每天掌握一个Linux命令 - iostat
目录 【磁盘】每天掌握一个Linux命令 - iostat工具概述安装方式核心功能基础用法进阶操作实战案例面试题场景生产场景 注意事项 【磁盘】每天掌握一个Linux命令 - iostat 工具概述 iostat(I/O Statistics)是Linux系统下用于监视系统输入输出设备和CPU使…...
质量体系的重要
质量体系是为确保产品、服务或过程质量满足规定要求,由相互关联的要素构成的有机整体。其核心内容可归纳为以下五个方面: 🏛️ 一、组织架构与职责 质量体系明确组织内各部门、岗位的职责与权限,形成层级清晰的管理网络…...
sqlserver 根据指定字符 解析拼接字符串
DECLARE LotNo NVARCHAR(50)A,B,C DECLARE xml XML ( SELECT <x> REPLACE(LotNo, ,, </x><x>) </x> ) DECLARE ErrorCode NVARCHAR(50) -- 提取 XML 中的值 SELECT value x.value(., VARCHAR(MAX))…...

深入解析C++中的extern关键字:跨文件共享变量与函数的终极指南
🚀 C extern 关键字深度解析:跨文件编程的终极指南 📅 更新时间:2025年6月5日 🏷️ 标签:C | extern关键字 | 多文件编程 | 链接与声明 | 现代C 文章目录 前言🔥一、extern 是什么?&…...
css3笔记 (1) 自用
outline: none 用于移除元素获得焦点时默认的轮廓线 broder:0 用于移除边框 font-size:0 用于设置字体不显示 list-style: none 消除<li> 标签默认样式 margin: xx auto 版心居中 width:100% 通栏 vertical-align 作用于行内元素 / 表格单元格ÿ…...

面向无人机海岸带生态系统监测的语义分割基准数据集
描述:海岸带生态系统的监测是维护生态平衡和可持续发展的重要任务。语义分割技术在遥感影像中的应用为海岸带生态系统的精准监测提供了有效手段。然而,目前该领域仍面临一个挑战,即缺乏公开的专门面向海岸带生态系统的语义分割基准数据集。受…...
Go语言多线程问题
打印零与奇偶数(leetcode 1116) 方法1:使用互斥锁和条件变量 package mainimport ("fmt""sync" )type ZeroEvenOdd struct {n intzeroMutex sync.MutexevenMutex sync.MutexoddMutex sync.Mutexcurrent int…...
【Android】Android 开发 ADB 常用指令
查看当前连接的设备 adb devices 连接设备 adb connect 设备IP 断开已连接的设备 adb disconnect 设备IP 安装应用 adb install 安装包的路径 卸载应用 adb uninstall 应用包名 查看已安装的应用包名 adb shell pm list packages 查看已安装的第三方应用包名 adb shell pm list…...