鸿蒙学习笔记 DevEco Studio是华为开发的一款集成开发环境(IDE),用于开发基于华为鸿蒙操作系统(HarmonyOS)的应用程序。它提供了丰富的开发工具和功能,包括代码编辑器、调试器、模拟器、版本控制等,使开发者能够方便地创建、调试和发布应用程序。ArkTS(Ark Type Script)是鸿蒙生态的应用开发语言。它在保持TypeScript(简称TS)基本语法风格的基础上,对TS的动态类型特性施加更严格的约束,引入静态类型。
数据库Database 数据库(Database)是用于存储和管理数据的系统。它提供了一种结构化的方式来组织、存储、检索和更新数据,以满足不同应用程序的需求。数据库可以分为两类:关系型数据库和非关系型数据库。关系型数据库(Relational Database):关系型数据库使用表格(表)来组织数据,表由行和列组成,每个表都有一个唯一的标识符(主键),用于区分不同的记录。关系型数据库使用结构化查询语言(SQL)来操作和查询数据。
rust工程 Rust 是一种现代的、系统级的编程语言,它强调并发安全、内存安全和高性能。Rust 的设计目标是提供一种有着良好抽象能力,同时又能够保证代码运行效率和安全性的语言。它将内存安全、并发安全和数据竞争检测等特性作为语言的一部分,通过所有权系统、借用检查器和生命周期等机制来防止常见的编程错误。Cargo 是 Rust 的包管理工具和构建系统。它能够自动管理 Rust 项目的依赖关系,并提供命令行工具来构建、测试和运行项目。
ffmpeg 除了内置的过滤器,libavfilter 还提供了接口供开发者自定义过滤器。开发者可以按照自己的需求编写自定义过滤器,实现特定的音视频处理算法。这样可以满足一些特殊需求,并将自定义过滤器与内置过滤器一同组成过滤器链进行处理。
C++简介 C++是一种高级编程语言,它是对C语言的扩展和增强。C++由Bjarne Stroustrup于1980年发明,主要用于系统级编程、游戏开发、嵌入式系统等领域。C++具有许多特性,其中最重要的是面向对象编程(OOP)。面向对象编程使得软件开发更加模块化、可重用和易于理解。C++还支持其他编程范式,如泛型编程、函数式编程等。高效性:C++编译生成的机器码效率高,可以直接与硬件进行交互,可以在性能要求较高的应用中使用。跨平台性。
React && React Native 通过比较虚拟 DOM 的变化,React 可以确定要更新的最小元素集,并将这些变化应用到真实 DOM 上,以减少不必要的 DOM 操作,提高性能。尽管需要一些额外的工作来适配代码,但 React 和 React Native 使用相同的开发模型和语法,因此你可以借鉴 React 中的组件设计和业务逻辑,以更高效地构建移动应用程序。在 React 中,通过使用虚拟 DOM(Virtual DOM),将组件的状态和属性映射到真实 DOM 上,从而实现高效的 UI 渲染和更新。
Gradle Gradle Wrapper 是一个用于管理 Gradle 版本的工具,它使用该配置文件来指定要下载和使用的特定 Gradle 版本。总的来说,Groovy是一门功能丰富的编程语言,可以与Java无缝集成,并提供了许多便利的特性和工具,使得开发更加高效和愉快。Gradle Wrapper是一个用于下载和运行特定版本Gradle的脚本,它可以使你的项目保证使用相同的Gradle版本,无论在何处构建。上的文档,查找与你使用的Android Gradle插件版本相对应的Gradle插件版本。
WebRTC通话的同时播放本地音乐 方案一(模拟一路接收流)把本地音乐当做一路对端过来的流来处理,这个方案的好处是不需要修改WebRTC的代码,调用WebRtcVoiceMediaChannel对象的AddRecvStream方法来添加一路流即可。通过WebRtcVoiceMediaChannel对象的OnPacketReceived方法传递数据数据需要打包为RTP格式方案二(播放混音)把数据结构webrtc::AudioState的webrtc::AudioMixer对象导出来通过webrtc::AudioMixer对象的
WebRTC Win10平台编译下载错误 使用fetch下载Windows平台WebRTC代码的时候遇到了如下错误The system cannot find the file C:\Users\stoneliu\Desktop\depot_tools\python3_bin_reldir.txt.[E2021-12-30T11:28:59.735399+08:00 11572 0 annotate.go:273] goroutine 1:#0 go.chromium.org/luci/vpython/venv/config.go:309 -
WebRTC rtc_base简介 rtc_base属于WebRTC的基础模块,属于最基础的模块,它里面大部分的封装主要解决平台差异(不同的平台间相同的功能系统函数会存在差异以及平台间提供的功能会有差异或者缺失),它封装了各种使用功能以及对第三库进一步封装让其更加好用,它封装了各种通用数据结构与算法。字符处理相关的封装:封装了兼容Win32的wchar_t和char类型的各种字符串处理函数,封装了各种类型的编码转换文件(夹)相关的封装:路径管理Pathname、文件操作File、文件件迭代器DirectoryIterator、文件系统操
WebRTC hostname解析 ResolveHostname是对getaddrinfo的封装,hints.ai_flags = AI_ADDRCONFIG表示当系统支持IPv4时返回IPv4地址,支持IPv6时返回IPv6地址,如果同时支持则同时返回IPv4和IPv6地址。如果family等于AF_UNSPEC时返回支持的所有地址,如果指定了特定的类型则只返回特定类型的地址再调用IPFromAddrInfo把struct addrinfo转换为IPAddress(WebRTC封装的一个IP地址类,比较使用)类型bool IPFr.
C++通用智能指针的实现 shared_ptr通过__shared_weak_count指针来管理引用计数。__shared_weak_count是__shared_count(实现共享指针的计数)的子类,在__shared_count的基础上实现了弱引用计数。__shared_ptr_pointer是__shared_weak_cou
全日制本科生入户东莞指南 文章目录说明条件资料办理流程说明最近我需要把户口迁入东莞,所以就简单记录一下,也希望能帮到其他人。这里主要是列举了全日制本科学历条件入户,其他条件可以参考东莞市人力资源和社会保障局最新(2020-03-06 09:24)发布的条件准入类人才入户申请指引。条件根据东莞市人力资源和社会保障局最新(2020-03-06 09:24)发布的条件准入类人才入户申请指引知道,全日制本科生入户需要满足三个条件。在本市行政区域内就业、经商的非本市户籍人员无参加国家禁止的组织及其活动,无刑事犯罪记录具备全日制
WebRTC获取本机默认网卡的IP地址 当我们创建一个socket并且不绑定一个特定网络设备的时候(bind),我们通过getsockname接口总是会返回一个INADDR_ANY地址当我们不指定一个网络设备的时,我们要send时系统会给我们指定一个默认的设备如何获取系统的默认设备的地址呢?通过connect一个DNS地址再通过getsockname获取就可以了,以下是WebRTC的实现,P2P就是这样拿到本机地址的。// These addresses are used as the targets to find out the d.
clang简介 文章目录clang编译器clang选项阶段选择选项语言选择和模式选项目标选择选项代码生成选项-O0, -O1, -O2, -O3, -Ofast, -Os, -Oz, -Og, -O, -O4-g, -gline-tables-only, -gmodules-fstandalone-debug -fno-standalone-debug-flto, -flto=full, -flto=thin, -emit-llvm驱动程序选项诊断选项预处理器选项环境变量clang编译器此文档基于clang的版本是: