CMake
CMake 跨平台项目管理
常见问题
1. 文件编码
文件编码是UTF-8,在Windows控制台默认GBK的代码页输出会出现乱码,故需要在main函数最开始位置加入启用Windows控制台UTF-8代码页的命令,即:
123#ifdef _WIN32 system("chcp 65001");#endif
由于在Windows上编译成VS工程文件时可能会出现字符集的问题,故在顶层CMakeLists.txt中加入了用MSVC编译时的一些选项,即:
123456# MSVC设置add_compile_options("$<$<C_COMPILER_ID:MSVC>:/utf-8>")add_compile_options("$<$<CXX_COMPILER_ID:MSVC>:/utf-8>")# 指定为C++11 版本set(CMAKE_CXX_STANDARD_REQUIRED ON)set(CMAKE_CXX_STANDARD 11)
...
Spring5
Spring5
该项目的代码仓库地址:
https://gitee.com/laobai1230/spring_learning
1. 初始化配置
1234567891011121314151617181920<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.springframework.org/schema/beans https://www.springframework.org/schema/beans/spring-beans.xsd"> <!--使用Spring来创建对象,在Spring ...
LaTeX
LaTeX基础
documentclass的设置
documentclass
IEEEtran
article
book
ctexart
设置纸张大小,字体大小,单面或者双面
a4paper
10pt,11pt,12pt
oneside
导言区
引入宏包(\usepackage)
常用的宏包 1. ctex 支持中文
中英混排可以重新设置各个部分标题的输出
bookmark
listing 代码排版
踩坑集合
表格跨页和长度问题
2021年12月2日22:40:44
查了一堆资料,最后还是在官方文档里面找到了解决办法
附上一段代码 1234567891011121314151617181920212223242526272829303132333435\begin{longtable} {|c|c|c|} % Appear table header at the first page as well \hline Option ...
Julia
Julia
Julia是一种高性能动态语言,具有灵活的语法和库生态系统,旨在通过高效地利用计算机硬件来加速科学计算、数值分析和数据科学任务。Julia解决了多重派发和类型推断等问题,从而使得编写高性能代码变得更加容易。
简介
Julia是由MIT开发的,旨在成为一种优雅而高效的科学计算语言。与Python和R等其他常用的数据科学工具不同,Julia旨在通过与C/Fortran相媲美的性能进行快速计算,并且让研究人员和工程师可以轻松地将其工作整合到现有的计算机科学环境中。
安装
Julia可以从其官方网站(https://julialang.org/downloads/)上下载并安装。安装完成后,您可以在命令行中输入“julia”以启动Julia
REPL(Read-Eval-Print Loop)。
入门
要开始使用Julia,您需要了解其基本语法、变量、函数、类型和模块。您可以通过阅读Julia官方文档或参考《Julia高级编程》等书籍来学习。
以下是一个简单的例子,该例子演示了如何编写一个函数并调用它:
1234567# 定义一个函数function greet ...
Bazel
Bazel
Bazel是一个非常流行的构建工具,特别适合用于构建大型的软件项目,本文将详细介绍它的基本概念和如何使用它来构建C++项目。
什么是Bazel?
Bazel是一个由Google开发的构建工具,它的主要目标是提高构建速度和可重现性。与其他构建工具相比,Bazel最大的优点是它能够利用缓存系统来加速构建过程,并且只会重新构建那些需要更新的部分。
Bazel的核心概念
在开始使用Bazel之前,我们需要了解一些其核心概念:
Target
在Bazel中,Target是指一个构建目标,它可以是一个二进制文件、一个库文件、一个测试文件或者其他一些需要构建的东西。每个Target都必须有一个唯一的名称,这个名称会被用于管理依赖关系和构建顺序。
例如,如果你正在编写一个C++应用程序,那么你可能会有多个Target,比如:
一个名为"my_app"的二进制Target,用于生成可执行文件。
一个名为"my_lib"的库Target,用于生成静态或动态库文件。
若干个名为"my_test1"、"my_test2"等的测试Target,分别用于测试不同的组件或模块。 ...
Linux常用工具
valgrind
简介
安装
工具
使用
memcheck
dust
hyperfine
duf
bottom
exa
zoxide
ripgrep
httpie
安装
使用
POST
procs
awk
sed
grep
fzf
fd
ps
ssh
vim
git
valgrind
Linux程序内存监测分析软件
简介
valgrind是一个用于Linux程序内存监测分析的软件,它可以检测程序中的内存泄漏、内存访问越界等问题,是一个非常有用的工具。它可以检测程序中的内存泄漏、内存访问越界等问题,是一个非常有用的工具。
安装
1sudo apt install valgrind
工具
memcheck:内存检测工具,可以检测内存泄漏、内存访问越界等问题
cachegrind:缓存检测工具,可以检测程序中的缓存使用情况
helgrind:线程检测工具,可以检测程序中的线程问题
callgrind:函数调用检测工具,可以检测程序中的函数调用情况
massif: ...
正则表达式
正则表达式学习记录
正则表达式(Regular
Expression)是一种用于匹配字符串的特殊文本模式。它由普通字符和特殊字符(称为元字符)组成,可以用来验证、提取或替换文本。
正则表达式的语法
正则表达式是一种用于匹配字符串的工具,它由普通字符和特殊字符(称为元字符)组成,可以用来验证、提取或替换文本。
普通字符
一个普通字符代表它本身。例如,a 表示字母
a,1 表示数字
1。除了部分特殊字符外,正则表达式中的大多数字符都是普通字符。
元字符
元字符是具有特殊含义的字符,用于匹配多个字符或一类字符。下面是常见的元字符及其含义:
.(句点):匹配任意单个字符,除了换行符
\n。
*:匹配前面的字符零次或多次。例如,a*
可以匹配空字符串、a、aa、aaa
等等。
+:匹配前面的字符至少一次。例如,a+
可以匹配a、aa、aaa 等等。
?:匹配前面的字符零次或一次。例如,a?
可以匹配空字符串或 a。
{n}:匹配前面的字符恰好出现 n
次。例如,a{3} 可以匹配 aaa。
{n,& ...
Linux配置记录
关于Linux的一些记录
ssh的配置
本地客户端生成公钥
将公钥传到远端authorized_key
本地通过ssh xxx@x.x.x.x访问
oh-my-zsh的配置
下载安装
wget
https://gitee.com/mirrors/oh-my-zsh/raw/master/tools/install.sh
chmod +x install.sh
vim install.sh
修改源 > REPO=\({REPO:-mirrors/oh-my-zsh} >
REMOTE=\){REMOTE:-https://gitee.com/${REPO}.git}
./install.sh
配置插件和主题
git clone https://gitee.com/yuhldr/zsh-syntax-highlighting.git
${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting
git clone https://gitee.com/yu ...
Maven
Maven
使用
设置编码为UTF-8 123<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding><project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding><maven.compiler.encoding>UTF-8</maven.compiler.encoding>
添加本地仓库 在后加上 1<localRepository>G:\Maven\repo</localRepository>
设置镜像源 123456<mirror> <id>nexus-aliyun</id> <mirrorOf>*</mirrorOf> <name>Nexus aliyun</name> <url>http:// ...
IoT
IoT
题目要求
使用说明
设计思路
文档
TODO LIST
初步实现
2022.11.22
IoT
IoT 2022 期末作业
题目要求
使用说明
设计思路
文档
TODO LIST
2022.11.22:
项目初始化
完成发布和订阅端的基本通信功能
实现发布端的数据采集功能
实现订阅端的数据展示功能
实现数据的持久化存储
实现机器学习模型的训练和预测
实现数据的可视化展示 ##
初步实现
2022.11.22
创建一个新的项目 1pnpm init
添加mqtt依赖 1pnpm add mqtt
创建index.js 1touch index.js
添加start脚本 1vim package.json
123456789101112131415{ "name": "iot", "version": "1.0.0", "description": & ...