springboot
Spring Boot简介spring团队开发的框架简化spring应用开发。早期J2EE开发笨重,配置繁多,开发效率低,部署流程复杂,第三方集成困难。springboot整合了整个spring开发栈,不需要对每个栈分别学习开发,j2ee一站式解决方案优点:
快速建立独立运行的spring项目以及与主流框架集成。
使用嵌入式servlet容器,应用无需打成war包, 如果用war包系统要有tomcat。
starters启动器自动依赖与版本控制。
自动配置。不需要了解大量的配置。
无需配置xml,无代码生成,开箱即用。
生产环境运行时应用监控。
云计算的天然集成。缺点:入门容易精通难,要了解些spring框架底层的api。微服务martin fowler 2014描述微服务:https://martinfowler.com/articles/microservices.html#MicroservicesAndSoa一种架构风格,一个应用应该是一组小型服务,可以通过http的方式进行互通。
单体服务:每个功能元素放进同一个进程中,通过多个服务器复制该单体进行扩展。优点:开发测试简单, ...
智能排程
蚁群算法蚁群算法(Ant Colony Optimization, ACO) 是一种基于群体智能的元启发式算法,灵感来源于蚂蚁觅食行为。蚂蚁在寻找食物时,会通过释放信息素(pheromone)来标记路径,其他蚂蚁会根据信息素的浓度选择路径。通过模拟这一行为,ACO 可以有效地解决组合优化问题,如旅行商问题(TSP)。
蚁群算法的基本思想
蚂蚁的路径选择:
每只蚂蚁根据信息素浓度和启发式信息(如距离)选择下一个要访问的城市。
信息素浓度越高,路径被选择的概率越大。
信息素更新:
蚂蚁完成一次遍历后,会根据路径的长度更新信息素。
路径越短,信息素增加得越多。
正反馈机制:
信息素的积累和挥发形成正反馈机制,使得较优路径的信息素浓度逐渐增加。
TSP问题描述假设有n个城市,城市之间的距离用一个距离矩阵$D$表示, $D_{ij}$表示城市i,j之间的距离。目标是找到一个路径或排列$\pi=(\pi_1,\pi_2, …, \pi_n)$,使得以下总距离最小:
总距离=D_{\pi_1\pi_2}+D_{\pi_2\pi_3}+\cdots+D_{\pi_{n-1}\p ...
目标识别
基于深度学习的视觉目标检测技术综述作者:曹家乐,2022
发展历程
基于手工设计特征的方法
支持向量机
AdaBoost
Haar特征(Viola, 2004)
方向梯度直方图histograms of oriented gradients(Dalal, 2005)
深度学习
区域卷积神经网络region-based convolutional neural network, R-CNN (Girshick, 2014)
单次检测single shot detector, SSD (Liu, 2016)
yolo (Redmon, 2016)
detection transformer, DETR (Carion, 2020)
深度网络模型:
AlexNet(Krizhevsky,2012)
GoogLeNet(Szegedy,2015)
VGGNet(Simonyan,2015)
ResNet(He,2016)
DenseNet(Huang,2017)
Mobilenet(Howard,2018)
ShuffleNet(Zhang,2018)
SENet(Hu, 2018 ...
autojs
学习路径:1、 javascript2、ES6语法: https://es6.ruanyifeng.com/3、autjs文档、示例、实战:http://doc.autoxjs.com/#/4、代码书写规范5、autojs错误调试和分析
脚本开发环境搭建autojs 4.1.1版本安装和使用手机
windows环境
apk包(https://github.com/kkevsekk1/AutoX/releases):拉入手机、更多下载服务、auto.js无障碍服务
稳定模式:可以适配更多手机
悬浮窗:
连接电脑:
投屏软件:scrcpy (https://github.com/Genymobile/scrcpy)
下载scrcpy_win64-vxxx
手机打开开发者模式:设置->我的设备->多次点击版本 ->更多设置->开发者模式->usb模式->连接usb线
->无线连接(用adb命令)
...
asyncio并发
GIL: global interpreter lockevent loopasyncio:
同步:
代码顺序运行。如果一行代码运行很慢怎么办?该行代码之后的代码就要等待该行代码完成。
解决方案:协程,允许同时处理多个任务。
异步编程:
调用函数的位置不是执行函数的位置,执行函数的位置可以拖后。
耗时的任务从主应用程序中分离出来并在后台运行,不是阻塞其他代码等待该耗时任务完成,其他代码必须是不依赖耗时任务的代码。
协程是一种方法,该方法可以被暂停当有耗时任务时,然后恢复运行当耗时任务完成后。
使用async和await语法使异步代码看上去像同步代码运行一样。
asyncio库以异步方式(使用协程模型:单线程事件循环)执行协程。
asyncio能够通过与多线程和多进程的操作处理其他类型操作。
asyncio可以用于I/O型操作也能用于CPU型操作。
I/O型和CPU型操作对比:区别:阻碍代码更快运行的限制因素是I/O操作还是CPU操作。
并发,并行和多任务并发和并行如何调度、执行各任务、方法、例行?并发:虽然并发表示多任务在同时发生(被同时执行),但不意味着这些任务可以同时运行。 ...
PyQt5
hexo-jupyter-notebook
jupyter-notebook/main.py文件中html_exporter.template_file = ‘full’注释掉或者改为html_exporter.template_file = ‘full.tpl’否则编译出错,以及如下参数作修改。
1<iframe>中的width='800px', height='1000px'
$("#ipynb").load( function() {
console.log($("#ipynb").contents().find("body").find("#notebook"));
document.getElementById('ipynb').height=$("#ipynb").contents().find("#notebook").height()+100;
})
“http://code.jquery.com/jquery-2.0.0.js“
“https://cdn.bootcss.com/jqu ...
tikz
tikz知识tikz手册英文
foreach命令使用格式\foreach [] in
options可选参数讲解:
var=可以替换位置参数,例如\foreach \x/\y in {0/red,1/green}替换为\foreach [var=\x,var=\y] in {0/red,1/green}
evaluate= as using
evaluate=用于将列表项求值后输出到替代原样输出到,例如\foreach \x [evaluate=\x] in {2^0,2^…,2^3}{$\x$, }得到$1,2,4,8$而不是$2^0,2^1,2^2,2^3$
as 将evaluate得到的值或者得到的值存到中而不是中,例如\foreach \x [evaluate=\x as \xeval] in {2^0,2^…,2^3}{$\x=\xeval$, }得到$2^0=1.0,2^1=2.0,2^2=4.0,2^3=8.0$
using 求值时不用显式的将公式用到列表中每个项而将公式放到中,中必须包含至少一个,例如\foreach \x [evaluate=\x as \ ...
数学知识
概率论先验、后验、似然根据原因的可能性、结果的可能性、它们的先后顺序和条件关系判断后验概率由果溯因,由结果概率分布估计原因概率分布,记作$p(原因|结果)$条件概率先验概率人为假设原因的概率分布,与结果概率分布无关,记作$p(原因)$条件概率似然概率由因溯果,由原因概率分布估计结果概率分布,记作$p(结果|原因)$条件概率evidence实际经验给出结果的概率分布,不考虑原因的概率分布,记作$p(结果)$贝叶斯公式
p(\theta|x)=\frac{p(x|\theta)p(\theta)}{p(x)}$x$:观察测量(结果)$\theta$:状态量(原因)$p(\theta|x)$:后验几率$p(\theta)$:先验几率$L(\theta|x)或p(x|\theta)$:似然几率$p(x)$:经验几率
MLE-最大似然估计: 频率学派求模型参数$\Theta$
\begin{aligned}
\hat{\Theta}_{\mathrm{MLE}}&=\arg\max P(X|\Theta) \\
&=\arg\max P(x_1|\Theta)P(x_2|\T ...
机器人操作系统
第一章模拟器:Gazebo学习:机械设计、电路设计、嵌入式编成等安装:https:/ / github. com/ qboticslabs/ learning robotics 2nd_ edros是什么:开发包的集合,是原操作系统ros特点:
消息接口:内部通讯
硬件抽象:
包管理:ros节点以包为单位组织(package),一个包由源码、配置文件、编译文件构成。
第三方库集成:opencv, PCL, OpenNI
低级设备控制: I/O端口
分布式计算:将计算分布在多个计算节点上
代码复用
语言依赖:python, C++
易测试: 测试包
易扩展ros能力:
机器人导航
机器人定位
建图
操纵
概念ros文件系统:文件组织
包: package
包的清单文件: package.xml
消息类型:*.msg
服务类型: *.srvros计算图:处理数据的端到端系统网络
节点(Node): 一个节点代表一个进程,使用ros函数处理数据
主程序(Master):主程序连接组织各节点
参数(Parameter): 是个静态值放在全局位置
话题(topic): 一个命名的总线 ...




