- ORBSLAM3 运行流程 以rgbd_tum.cc函数为例进行分析
水理璇浮
ORBSLAM3数码相机
一、运行使用的是D435i相机自己录制的数据。运行命令:./Examples/RGB-D/rgbd_tum'/opt/vslam/ORB_SLAM3_detailed_comments-dense_map_new/Vocabulary/ORBvoc.txt''/opt/vslam/ORB_SLAM3_detailed_comments-dense_map_new/Examples/RGB-D/TU
- OpenVSLAM在Ubuntu16.04下编译安装
hhh0209
vslamlinux
最近开始学习VSLAM,理论知识大概了解了一下,想要学透还是需要下一番功夫的。为了领导的任务,先把OpenVSLAM装上,跑个demo看看。我平时用windows比较多,改成Linux还是得适应一下。参考资料主要有:1参考12参考23官方安装文档按着这些教程,基本能安装下来,中间也会有些小问题,记录如下:1,参考1里的依赖安装第10条我没有安装成功;2,我的OPENCV是3.4.0版本;3,安装y
- VSLAM中的特征点三角化
nice-wyh
算法
特征点三角化(Triangulation)是VSLAM中一个非常基础的问题,它是根据特征点在多个相机下的投影恢复出特征点的3D坐标。特征点在某个相机中被观测到,根据相机位姿和观测向量可以得到3D空间中的一条从相机中心出发的观测“射线”,多个相机位姿观测会产生多条观测射线,理想情况下这些观测射线相交于空间中一点,求所有观测射线的交点就是特征点在3D空间的位置,这就是三角化最朴素的思想。实际中由于噪声
- 导航与定位技术已成为移动机器人的核心技术之一
Fuweizn
移动机器人自动化生产线AGV智能搬运机器人自动化机器人工业自动化
随着移动机器人技术的不断发展和应用领域的扩大,导航与定位技术已成为移动机器人的核心技术之一。本文将介绍移动机器人导航与定位技术的发展现状、技术前沿和面临的挑战。一、导航与定位技术的发展现状移动机器人的导航与定位技术是实现自主移动的关键。目前,移动机器人的导航与定位技术主要包括基于GPS、SLAM、VSLAM等技术的方法。1、GPS导航技术:利用全球定位系统进行定位,精度高、覆盖范围广,但需要外部信
- vslam论文24:ESVIO: 基于事件相机的双目VIO(RAL 2023)
xsyaoxuexi
视觉SLAM论文阅读c++人工智能学习笔记
摘要异步输出低延迟事件流的事件相机为具有挑战性的情况下的状态估计提供了很大的机会。尽管近年来基于事件的视觉里程测量技术得到了广泛的研究,但大多数都是基于单目的,而对立体事件视觉的研究很少。在本文中,我们介绍了ESVIO,这是第一个基于事件的立体视觉惯性里程计,它利用了事件流、标准图像和惯性测量的互补优势。我们建议的pipeline包括ESIO(纯基于事件的)和ESVIO(带有图像辅助的事件),它们
- vslam论文25: 结构约束的RGB-D SLAM(ICRA 2021)
xsyaoxuexi
视觉SLAM论文阅读c++平面学习计算机视觉笔记
摘要本文提出了一种专门为结构化环境设计的RGB-DSLAM系统,旨在通过从周围提取的几何特征来提高跟踪和制图精度。除了点之外,结构化环境还提供了大量的几何特征,如线和平面,我们利用这些特征来设计SLAM系统的跟踪和映射组件。对于跟踪部分,我们基于曼哈顿世界(MW)的假设探索这些特征之间的几何关系。我们提出了一种基于点、线和面的解耦优化方法,以及在附加的姿态优化模块中使用曼哈顿关系。在建图部分,以较
- vslam论文10:PL-VINS:具有点和线特征的实时单目视觉惯性SLAM
xsyaoxuexi
视觉SLAM论文阅读笔记c++
摘要PL-VINS是基于最先进的基于点的VINS-mono,开发的一种基于点和线特征的实时、高效优化的单目VINS方法。我们观察到,目前的作品使用LSD算法提取线条特征;然而,LSD是为场景形状表示而设计的,而不是为姿态估计问题设计的,由于其高昂的计算成本,这成为了实时性能的瓶颈。在本文中,我们通过研究隐藏参数调整和长度抑制策略来改进LSD算法。改进后的LSD算法的运行速度至少是LSD的三倍。此外
- vslam论文15:DynaVINS: 一种动态环境下的视觉惯性SLAM(ICRA 2023)
xsyaoxuexi
视觉SLAM论文阅读笔记c++学习
摘要视觉惯性里程计和SLAM算法广泛应用于服务机器人、无人机和自动驾驶汽车等领域。大多数SLAM算法都是基于假设地标是静态的。然而,在现实世界中,存在着各种各样的动态物体,它们降低了姿态估计的精度。此外,临时静态对象(在观察期间是静态的,但在视线之外时移动)会触发误报循环关闭。为了克服这些问题,我们提出了一种新的视觉惯性SLAM框架,称为DynaVINS,它对动态目标和临时静态目标都具有鲁棒性。在
- vslam论文23:VIP-SLAM: 一种高效、紧耦合的RGB-D视觉惯性平面SLAM(ICRA 2022)
xsyaoxuexi
视觉SLAM论文阅读平面人工智能算法笔记c++学习
摘要本文提出了一种融合RGB、Depth、IMU和结构化平面信息的紧密耦合SLAM系统。传统的基于稀疏点的SLAM系统总是保持大量的地图点来建模环境。大量的地图点给我们带来了很高的计算复杂度,使其难以部署在移动设备上。另一方面,平面是人造环境尤其是室内环境中常见的结构形式。我们通常可以使用少量的平面来表示一个大的场景。因此,本文的主要目的是降低基于稀疏点的SLAM的高复杂性。我们构建了一个轻量级的
- vslam论文8:EPLF-VINS: Real-Time Monocular Visual-InertialSLAM With Efficient Point-Line Flow Features
xsyaoxuexi
视觉SLAM论文阅读人工智能学习自动驾驶c++
(RAL2023)摘要本文介绍了一种利用点和线特征的高效视觉惯性同步定位和映射(SLAM)方法。目前,基于点的SLAM方法在弱纹理和运动模糊等场景下表现不佳。许多研究者注意到线特征在空间中的优异特性,并尝试开发基于线的SLAM系统。然而,线条提取和描述匹配过程的计算量巨大,难以保证整个SLAM系统的实时性,而错误的线条检测和匹配限制了SLAM系统性能的提高。本文通过短线融合、线特征均匀分布、自适应
- vulkan shader变换--Apple的学习笔记
applecai
关于图形变换,之前就做过专题学习过了。再快速复习下正交矩阵及矩阵变换的python实现--Apple的学习笔记其实主要的变换包括缩放,平移,旋转,衍射。另外二维图形主要都是按坐标旋转,三维图形都是按轴旋转的。关键点需要知道坐标系。然后代码工程显示的照片是相机视角的,所以还需要了解世界坐标/物体坐标/相机坐标/图像坐标的概念及转换。之前学习vslam的时候都学习过了。所以有了这些基础,我就直奔主题将
- 手撕 视觉slam14讲 ch13 代码 总结
全日制一起混
手撕VO篇视觉slam十四讲SLAMc++计算机视觉ubuntu
运行效果(Kitti00)4倍速一、代码GitHub-tzy0228/Easy-VO-SLAM:VSLAM-CH13工程代码注释版本二、编译过程踩坑视觉SLAM十四讲第二版ch13编译及运行问题_全日制一起混的博客-CSDN博客三、代码解读手撕视觉slam14讲ch13代码(1)工程框架与代码结构-CSDN博客手撕视觉slam14讲ch13代码(2)基本类的抽象_全日制一起混的博客-CSDN博客手
- 【VSLAM】ORB-SLAM3安装部署与运行
DevFrank
c++CV计算机视觉与音视频机器人rosslam
心口如一,犹不失为光明磊落丈夫之行也。——梁启超文章目录:smirk:1.ORB-SLAM3介绍:blush:2.代码安装部署1.安装ros与opencv2.安装Pangolin作为可视化和用户界面3.安装Eigen3一个开源线性库,可进行矩阵运算4.安装ORB-SLAM3:satisfied:3.案例运行1.运行数据集2.用真实相机usb_cam运行1.ORB-SLAM3介绍ORB-SLAM3是
- VSLAM(7):后端优化---滤波器方法和BA图优化
聪明的笨小子
视觉SLAM14讲python算法
在视觉里程计完成每次的位姿估计后,可以实时地得到一个短时间内的轨迹和地图点,但是由于估计本身具有误差,这个误差会一直保持并不断累加。所以可以构建一个尺度和规模更大的优化问题,来计算一段长时间内的最有轨迹和地图。一,后端优化综述SLAM问题可以由运动方程和观测方程描述,设从t=0到t=N这个时间段内,机器人经过了到的位姿点,观测到了这么多的特征点,那么有:视觉前段往往在某一时刻会观测很多的特征点,所
- vslam论文14:Monocular Visual-Inertial Odometry with Planar Regularities(ICRA 2023)
xsyaoxuexi
视觉SLAM论文阅读c++学习笔记
摘要最先进的单目视觉惯性里程计(VIO)方法依赖于稀疏点特征,部分原因是它们的效率、鲁棒性和普遍性,而忽略了高级结构规律,如平面,这些在人造环境中很常见,可以用来进一步约束运动。一般来说,由于平面的存在空间很大,可以用相机观察平面很长一段时间,因此可以进行长期导航。所以,在本文中,我们设计了一种新颖的实时单目VIO系统,该系统在轻量级多状态约束卡尔曼滤波器(MSCKF)中由平面特征完全正则化。我们
- vslam论文21:基于点、面图的高效视觉惯性导航(ICRA 2023)
xsyaoxuexi
视觉SLAM论文阅读笔记学习c++平面
摘要相对于全局先验地图,精确和实时的全局姿态估计在许多应用中是必不可少的,例如微型飞行器和增强现实的物流。假设纯稀疏的三维点图可以提供环境的无结构表示,那么生成点平面先验图可以进一步建模环境拓扑并为精确定位提供全局约束。为了实现这一点,我们提出了一个基于滤波器的大规模视觉惯性里程计系统,称为PPM-VIO,它利用点平面图来纠正累积漂移。该系统利用语义信息检测稀疏点云的共面信息,通过几何约束、语义约
- vslam论文1:Range-Focused Fusion of Camera-IMU-UWB for Accurate and Drift-Reduced Localization(RAL2021)
xsyaoxuexi
视觉SLAM论文阅读数码相机
准确、低飘移定位的相机-IMU-UWB聚焦距离融合摘要:在这项工作中,我们提出了一种紧耦合的单目摄像机、6自由度IMU和单个未知UWB锚融合方案,以实现精确和减少漂移的定位。具体地说,该文章聚焦于将UWB传感器整合到现有的最先进的视觉惯性系统。为实现这一目标,之前的工作使用单个最近的UWB距离数据来更新滑动窗口中的机器人位置(“聚焦位置”),并展示了令人鼓舞的结果。然而,这些方法忽略了:1)UWB
- vslam论文4:Dynam-SLAM: An Accurate, Robust Stereo Visual-Inertial SLAM Method in Dynamic Environments
xsyaoxuexi
视觉SLAM论文阅读论文阅读人工智能自动驾驶c++目标检测
出版:TRO2022摘要大多数现有的基于视觉的SLAM系统及其变体仍然假设观测是绝对静态的,无法在动态环境中表现良好。在这里,我们介绍了Dynam-SLAM(Dynam),这是一种双目视觉惯性SLAM系统,能够在高动态环境中实现稳健、准确和连续的工作。我们的方法致力于将双目场景流与惯性测量单元(IMU)松耦合,用于动态特征检测,并将动态特征和静态特征与IMU测量紧耦合以进行非线性优化。首先,对测量
- vslam论文2:FEJ-VIRO: A Consistent First-Estimate Jacobian Visual-Inertial-Ranging Odometry( IROS-2022)
xsyaoxuexi
视觉SLAM论文阅读人工智能目标跟踪自动驾驶c++
FEJ-VIRO:一种一致的第一估计雅可比视觉-惯性-测距里程计一、摘要最近几年,VIO已经实现了很多显著的进步。然而,VIO方法在长期轨迹中会遭受定位飘移。在这篇文章中,我们提出FEJ-VIRO通过一致地将UWB测量值整合到VIO框架去减少VIO的定位飘移。考虑到UWB锚的原始位置通常无法获取,我们提出一种长短窗结构去初始化UWB锚的位置,和状态增广的协方差。初始化后,FEJ-VIRO同时估计U
- 德鲁周记06--VSLAM从入门到入坟
安德鲁JANKENPAN
德鲁周记SLAMslam
VSLAM入门介绍基础知识三维空间的刚体运动欧式变换四元数欧拉角李群与李代数线性拟合相机单目相机双目相机深度相机基本框架视觉里程计特征匹配ORB直接法对比后端优化EKFBA(BundleAdjustment)回环检测建图因为研究生的工程实践我选择了这个方向,这两周一直在学VSLAM,看完了高翔老师的视频和《视觉SLAM十四讲》,强烈推荐!!!入门必看,神书!!当然我第一遍自我感觉是肯定没看太懂的,
- 【VSLAM系列】三:Vins-Mono论文笔记
塞拉摩
视觉SLAM论文阅读数码相机人工智能
VINs-Mono论文1.VINS-Mono的特点:1.未知初始状态的鲁棒性初始化过程2.带imu-camera外参校准和imu校准的紧耦合,基于非线性优化的单目VIO系统3.在线重定位和四个自由度的全局姿态图优化。4.姿态图可以保存,加载,并和局部姿态图进行合并。2.传感器数据处理摄像头和imu数据融合方法:1.松耦合法,imu是独立于摄像头的模块,常使用EKF算法,imu数据此时用于状态传播,
- vSLAM中IMU预积分的作用--以惯性导航的角度分析
清风微升至
视觉SLAM数码相机
作为一个学过一点惯导的工程师,在初次接触视觉slam方向时,最感兴趣的就是IMU预积分了。但为什么要用这个预积分,在看了很多材料和书后,还是感觉模模糊糊,云里雾里。在接触了vSLAM的更多内容后,站在历史研究者的角度去分析,得到了一个更为清晰的作用分析。首先,需要明确IMU与相机这两种传感器的互补作用,这是为什么要用IMU的原因。直接贴出程博书中的内容,总结的比较全面了。总之,就是相机成像的缺点可
- Semantic Visual Simultaneous Localization andMapping: A Survey 语义视觉同步定位与映射研究综述 粗翻
尤齐
深度学习机器学习人工智能python算法
2021摘要视觉同步定位与映射(vSLAM)在计算机视觉和机器人领域取得了巨大进展,并已成功应用于自主机器人导航和AR/VR等许多领域。然而,vSLAM无法在动态和复杂的环境中实现良好的本地化。近年来,许多出版物报道,通过将语义信息与vSLAM相结合,语义vSLAM系统具有解决上述问题的能力。然而,还没有关于语义vSLAM的全面调查。为了填补这一空白,本文首先回顾了语义vSLAM的发展,明确强调了
- SLAM总览【自学备忘】
Yup_Boss
矩阵
SLAM一、VSLAM1、库1.1Sophus库1.1.1Sophus库安装1.1.2Sophus库函数一、VSLAM1、库1.1Sophus库Eigen库是一个开源的C++线性代数库,它提供了快速的有关矩阵的线性代数运算,还包括解方程等功能。但是Eigen库提供了集合模块,但没有提供李代数的支持。一个较好的李群和李代数的库是Sophus库,它很好的支持了SO(3),so(3),SE(3)和se(
- OpenVSLAM源码阅读
释怀°Believe
#视觉SLAM人工智能
⚡⚡⚡通过src下面的CMakeLists.txt开始构建项目add_subdirectory(stella_vslam)上面这句代码向CMake告知在当前项目中引入一个子目录,并在子目录中查找另一个CmakeLists.txt文件来构建项目在stella_vslam子目录中的CMakeLists.txt文件将描述如何构建stella_vslam子项目,可能包括源文件、编译选项、链接库等。主项目的
- 博客学习目录
Howe_xixi
学习
填坑专区,督促自己有系统的学习归纳。先把想学的挖个坑,一边填坑一边挖坑。怕什么真理无穷,进一步有一步的欢喜。目录【基础学科学习】【线性代数笔记】《3Blue1Brown》笔记【SLAM】【VSLAM笔记】《视觉SLAM十四讲》学习笔记Smoothly-VSLAM学习笔记【嵌入式开发】【鸿蒙开发笔记】OpenHarmony北向学习笔记【Linux系统】【编程语言学习】【C++笔记】【Python笔记
- 【VSLAM系列】四:Vins-Mono源码学习笔记
塞拉摩
视觉SLAM学习笔记opencv
VINS-Mono源码工程化技巧:滑动窗口的优化方式–>控制计算量同时实现优于滤波方法的里程计高效的去畸变操作–>实时性优于opencv且精度不会下降的去畸变不同实时性要求的处理方法–>后端实时性要求高于回环优点:套件价格、功耗、尺寸优势明显快速鲁棒的单目IMU初始化过程紧耦合的后端优化,在优化VIO位姿的同时还兼顾外参标定,零偏估计以及传感器延时估计回环检测功能,便于构建全局一致性更好的位姿和地
- 【深蓝学院】手写VIO第7章--VINS初始化和VIO系统--笔记
读书健身敲代码
笔记
0.内容1.VIO回顾整个视觉前端pipeline回顾:两帧图像,可提取特征点,特征匹配(描述子暴力匹配或者光流)已知特征点匹配关系,利用几何约束计算relativepose([R|t]),translation只有方向,没有尺度使用三角化获得3维坐标,即可完成vslam系统的初始化有了3D特征点,后续可根据特征跟踪,使用PnP求解CameraPose,无需再使用几何约束IMU的加速度要和世界系的
- 【Smoothly-VSLAM】-3 描述状态不简单:三维空间刚体运动
Howe_xixi
机器人计算机视觉
所有内容请看:博客学习目录_Howe_xixi的博客-CSDN博客https://blog.csdn.net/weixin_44362628/article/details/126020573?spm=1001.2014.3001.5502参考链接:3.描述状态不简单:三维空间刚体运动(yuque.com)参考链接0.《视觉SLAM十四讲》1.旋转的左乘与右乘2.如何通俗地解释欧拉角?之后为何要引
- VSLAM视觉里程计总结
Yangy_Jiaojiao
计算机视觉人工智能opencv
相机模型是理解视觉里程计之前的基础。视觉里程计(VIO)主要分为特征法和直接法。如果说特征点法关注的是像素的位置差,那么,直接法关注的则是像素的颜色差。特征点法通常会把图像抽象成特征点的集合,然后去缩小特征点之间的重投影误差;而直接法则通过warpfunction直接计算像素点在另一张图像上的颜色差,这样就省去了特征提取的步骤。特征点:关键点(位姿)+描述子(向量)直接法:根据像素的亮度信息估计相
- Java序列化进阶篇
g21121
java序列化
1.transient
类一旦实现了Serializable 接口即被声明为可序列化,然而某些情况下并不是所有的属性都需要序列化,想要人为的去阻止这些属性被序列化,就需要用到transient 关键字。
- escape()、encodeURI()、encodeURIComponent()区别详解
aigo
JavaScriptWeb
原文:http://blog.sina.com.cn/s/blog_4586764e0101khi0.html
JavaScript中有三个可以对字符串编码的函数,分别是: escape,encodeURI,encodeURIComponent,相应3个解码函数:,decodeURI,decodeURIComponent 。
下面简单介绍一下它们的区别
1 escape()函
- ArcgisEngine实现对地图的放大、缩小和平移
Cb123456
添加矢量数据对地图的放大、缩小和平移Engine
ArcgisEngine实现对地图的放大、缩小和平移:
个人觉得是平移,不过网上的都是漫游,通俗的说就是把一个地图对象从一边拉到另一边而已。就看人说话吧.
具体实现:
一、引入命名空间
using ESRI.ArcGIS.Geometry;
using ESRI.ArcGIS.Controls;
二、代码实现.
- Java集合框架概述
天子之骄
Java集合框架概述
集合框架
集合框架可以理解为一个容器,该容器主要指映射(map)、集合(set)、数组(array)和列表(list)等抽象数据结构。
从本质上来说,Java集合框架的主要组成是用来操作对象的接口。不同接口描述不同的数据类型。
简单介绍:
Collection接口是最基本的接口,它定义了List和Set,List又定义了LinkLi
- 旗正4.0页面跳转传值问题
何必如此
javajsp
跳转和成功提示
a) 成功字段非空forward
成功字段非空forward,不会弹出成功字段,为jsp转发,页面能超链接传值,传输变量时需要拼接。接拼接方式list.jsp?test="+strweightUnit+"或list.jsp?test="+weightUnit+&qu
- 全网唯一:移动互联网服务器端开发课程
cocos2d-x小菜
web开发移动开发移动端开发移动互联程序员
移动互联网时代来了! App市场爆发式增长为Web开发程序员带来新一轮机遇,近两年新增创业者,几乎全部选择了移动互联网项目!传统互联网企业中超过98%的门户网站已经或者正在从单一的网站入口转向PC、手机、Pad、智能电视等多端全平台兼容体系。据统计,AppStore中超过85%的App项目都选择了PHP作为后端程
- Log4J通用配置|注意问题 笔记
7454103
DAOapachetomcatlog4jWeb
关于日志的等级 那些去 百度就知道了!
这几天 要搭个新框架 配置了 日志 记下来 !做个备忘!
#这里定义能显示到的最低级别,若定义到INFO级别,则看不到DEBUG级别的信息了~!
log4j.rootLogger=INFO,allLog
# DAO层 log记录到dao.log 控制台 和 总日志文件
log4j.logger.DAO=INFO,dao,C
- SQLServer TCP/IP 连接失败问题 ---SQL Server Configuration Manager
darkranger
sqlcwindowsSQL ServerXP
当你安装完之后,连接数据库的时候可能会发现你的TCP/IP 没有启动..
发现需要启动客户端协议 : TCP/IP
需要打开 SQL Server Configuration Manager...
却发现无法打开 SQL Server Configuration Manager..??
解决方法: C:\WINDOWS\system32目录搜索framedyn.
- [置顶] 做有中国特色的程序员
aijuans
程序员
从出版业说起 网络作品排到靠前的,都不会太难看,一般人不爱看某部作品也是因为不喜欢这个类型,而此人也不会全不喜欢这些网络作品。究其原因,是因为网络作品都是让人先白看的,看的好了才出了头。而纸质作品就不一定了,排行榜靠前的,有好作品,也有垃圾。 许多大牛都是写了博客,后来出了书。这些书也都不次,可能有人让为不好,是因为技术书不像小说,小说在读故事,技术书是在学知识或温习知识,有些技术书读得可
- document.domain 跨域问题
avords
document
document.domain用来得到当前网页的域名。比如在地址栏里输入:javascript:alert(document.domain); //www.315ta.com我们也可以给document.domain属性赋值,不过是有限制的,你只能赋成当前的域名或者基础域名。比如:javascript:alert(document.domain = "315ta.com");
- 关于管理软件的一些思考
houxinyou
管理
工作好多看年了,一直在做管理软件,不知道是我最开始做的时候产生了一些惯性的思维,还是现在接触的管理软件水平有所下降.换过好多年公司,越来越感觉现在的管理软件做的越来越乱.
在我看来,管理软件不论是以前的结构化编程,还是现在的面向对象编程,不管是CS模式,还是BS模式.模块的划分是很重要的.当然,模块的划分有很多种方式.我只是以我自己的划分方式来说一下.
做为管理软件,就像现在讲究MVC这
- NoSQL数据库之Redis数据库管理(String类型和hash类型)
bijian1013
redis数据库NoSQL
一.Redis的数据类型
1.String类型及操作
String是最简单的类型,一个key对应一个value,string类型是二进制安全的。Redis的string可以包含任何数据,比如jpg图片或者序列化的对象。
Set方法:设置key对应的值为string类型的value
- Tomcat 一些技巧
征客丶
javatomcatdos
以下操作都是在windows 环境下
一、Tomcat 启动时配置 JAVA_HOME
在 tomcat 安装目录,bin 文件夹下的 catalina.bat 或 setclasspath.bat 中添加
set JAVA_HOME=JAVA 安装目录
set JRE_HOME=JAVA 安装目录/jre
即可;
二、查看Tomcat 版本
在 tomcat 安装目
- 【Spark七十二】Spark的日志配置
bit1129
spark
在测试Spark Streaming时,大量的日志显示到控制台,影响了Spark Streaming程序代码的输出结果的查看(代码中通过println将输出打印到控制台上),可以通过修改Spark的日志配置的方式,不让Spark Streaming把它的日志显示在console
在Spark的conf目录下,把log4j.properties.template修改为log4j.p
- Haskell版冒泡排序
bookjovi
冒泡排序haskell
面试的时候问的比较多的算法题要么是binary search,要么是冒泡排序,真的不想用写C写冒泡排序了,贴上个Haskell版的,思维简单,代码简单,下次谁要是再要我用C写冒泡排序,直接上个haskell版的,让他自己去理解吧。
sort [] = []
sort [x] = [x]
sort (x:x1:xs)
| x>x1 = x1:so
- java 路径 配置文件读取
bro_feng
java
这几天做一个项目,关于路径做如下笔记,有需要供参考。
取工程内的文件,一般都要用相对路径,这个自然不用多说。
在src统计目录建配置文件目录res,在res中放入配置文件。
读取文件使用方式:
1. MyTest.class.getResourceAsStream("/res/xx.properties")
2. properties.load(MyTest.
- 读《研磨设计模式》-代码笔记-简单工厂模式
bylijinnan
java设计模式
声明: 本文只为方便我个人查阅和理解,详细的分析以及源代码请移步 原作者的博客http://chjavach.iteye.com/
package design.pattern;
/*
* 个人理解:简单工厂模式就是IOC;
* 客户端要用到某一对象,本来是由客户创建的,现在改成由工厂创建,客户直接取就好了
*/
interface IProduct {
- SVN与JIRA的关联
chenyu19891124
SVN
SVN与JIRA的关联一直都没能装成功,今天凝聚心思花了一天时间整合好了。下面是自己整理的步骤:
一、搭建好SVN环境,尤其是要把SVN的服务注册成系统服务
二、装好JIRA,自己用是jira-4.3.4破解版
三、下载SVN与JIRA的插件并解压,然后拷贝插件包下lib包里的三个jar,放到Atlassian\JIRA 4.3.4\atlassian-jira\WEB-INF\lib下,再
- JWFDv0.96 最新设计思路
comsci
数据结构算法工作企业应用公告
随着工作流技术的发展,工作流产品的应用范围也不断的在扩展,开始进入了像金融行业(我已经看到国有四大商业银行的工作流产品招标公告了),实时生产控制和其它比较重要的工程领域,而
- vi 保存复制内容格式粘贴
daizj
vi粘贴复制保存原格式不变形
vi是linux中非常好用的文本编辑工具,功能强大无比,但对于复制带有缩进格式的内容时,粘贴的时候内容错位很严重,不会按照复制时的格式排版,vi能不能在粘贴时,按复制进的格式进行粘贴呢? 答案是肯定的,vi有一个很强大的命令可以实现此功能 。
在命令模式输入:set paste,则进入paste模式,这样再进行粘贴时
- shell脚本运行时报错误:/bin/bash^M: bad interpreter 的解决办法
dongwei_6688
shell脚本
出现原因:windows上写的脚本,直接拷贝到linux系统上运行由于格式不兼容导致
解决办法:
1. 比如文件名为myshell.sh,vim myshell.sh
2. 执行vim中的命令 : set ff?查看文件格式,如果显示fileformat=dos,证明文件格式有问题
3. 执行vim中的命令 :set fileformat=unix 将文件格式改过来就可以了,然后:w
- 高一上学期难记忆单词
dcj3sjt126com
wordenglish
honest 诚实的;正直的
argue 争论
classical 古典的
hammer 锤子
share 分享;共有
sorrow 悲哀;悲痛
adventure 冒险
error 错误;差错
closet 壁橱;储藏室
pronounce 发音;宣告
repeat 重做;重复
majority 大多数;大半
native 本国的,本地的,本国
- hibernate查询返回DTO对象,DTO封装了多个pojo对象的属性
frankco
POJOhibernate查询DTO
DTO-数据传输对象;pojo-最纯粹的java对象与数据库中的表一一对应。
简单讲:DTO起到业务数据的传递作用,pojo则与持久层数据库打交道。
有时候我们需要查询返回DTO对象,因为DTO
- Partition List
hcx2013
partition
Given a linked list and a value x, partition it such that all nodes less than x come before nodes greater than or equal to x.
You should preserve the original relative order of th
- Spring MVC测试框架详解——客户端测试
jinnianshilongnian
上一篇《Spring MVC测试框架详解——服务端测试》已经介绍了服务端测试,接下来再看看如果测试Rest客户端,对于客户端测试以前经常使用的方法是启动一个内嵌的jetty/tomcat容器,然后发送真实的请求到相应的控制器;这种方式的缺点就是速度慢;自Spring 3.2开始提供了对RestTemplate的模拟服务器测试方式,也就是说使用RestTemplate测试时无须启动服务器,而是模拟一
- 关于推荐个人观点
liyonghui160com
推荐系统关于推荐个人观点
回想起来,我也做推荐了3年多了,最近公司做了调整招聘了很多算法工程师,以为需要多么高大上的算法才能搭建起来的,从实践中走过来,我只想说【不是这样的】
第一次接触推荐系统是在四年前入职的时候,那时候,机器学习和大数据都是没有的概念,什么大数据处理开源软件根本不存在,我们用多台计算机web程序记录用户行为,用.net的w
- 不间断旋转的动画
pangyulei
动画
CABasicAnimation* rotationAnimation;
rotationAnimation = [CABasicAnimation animationWithKeyPath:@"transform.rotation.z"];
rotationAnimation.toValue = [NSNumber numberWithFloat: M
- 自定义annotation
sha1064616837
javaenumannotationreflect
对象有的属性在页面上可编辑,有的属性在页面只可读,以前都是我们在页面上写死的,时间一久有时候会混乱,此处通过自定义annotation在类属性中定义。越来越发现Java的Annotation真心很强大,可以帮我们省去很多代码,让代码看上去简洁。
下面这个例子 主要用到了
1.自定义annotation:@interface,以及几个配合着自定义注解使用的几个注解
2.简单的反射
3.枚举
- Spring 源码
up2pu
spring
1.Spring源代码
https://github.com/SpringSource/spring-framework/branches/3.2.x
注:兼容svn检出
2.运行脚本
import-into-eclipse.bat
注:需要设置JAVA_HOME为jdk 1.7
build.gradle
compileJava {
sourceCompatibilit
- 利用word分词来计算文本相似度
yangshangchuan
wordword分词文本相似度余弦相似度简单共有词
word分词提供了多种文本相似度计算方式:
方式一:余弦相似度,通过计算两个向量的夹角余弦值来评估他们的相似度
实现类:org.apdplat.word.analysis.CosineTextSimilarity
用法如下:
String text1 = "我爱购物";
String text2 = "我爱读书";
String text3 =