- 视觉slam--框架
猿饵块
人工智能
视觉里程计的框架传感器VO--frontendVO的缺点后端--backend后端对什么数据进行优化利用什么数据进行优化的后端是怎么进行优化的回环检测建图建图是指构建地图的过程。构建的地图是点云地图还是什么信息的地图?建图并没有一个固定的形式和算法,地图的构建形式不是固定的,需要视SLAM的应用需求而定。
- 视觉slam十四讲实践部分记录——ch2、ch3
kikikidult
slam学习slamc++笔记
ch2一、使用g++编译.cpp为可执行文件并运行(P30)g++helloSLAM.cpp./a.out运行二、使用cmake编译mkdirbuildcdbuildcmake..makeCMakeCache.txt文件仍然指向旧的目录。这表明在源代码目录中可能还存在旧的CMakeCache.txt文件,或者在构建过程中仍然引用了旧的路径。我们需要彻底清理并重新开始。详细解决步骤步骤1:彻底清理源
- 《视觉SLAM十四讲》自用笔记 第二讲:SLAM系统概述
BandieraRosa
slam笔记
在rm队伍里作为算法组梯队队员度过了一个赛季,为了促进和负责其他工作的算法组成员的交流,我决定在接下来的半个学期里(可能更快)读完这本书,并将其中的部分理论应用于我自制的雷达导航小车上。以下为第二讲的部分笔记:第二讲SLAM系统概述2.0目标1.理解一个视觉SLAM框架由哪几个模块组成,各模块的任务是什么。2.搭建编程环境,为开发和实验做准备2.1相机单目相机:只使用一个摄像头。无法通过单张照片获
- 【视觉SLAM基础(二):特征点提取与匹配】
Unpredictable222
SLAM算法算法自动驾驶ubuntuc++笔记opencv
前言在视觉SLAM中,特征点是连接连续图像帧的桥梁,是视觉里程计的核心。本文将详细介绍特征点的提取与匹配方法,以及如何利用这些特征点估计相机运动。原理部分只是简单介绍,详细的介绍大家可以去看高翔老师的《视觉SLAM十四讲》。1.特征点提取1.1特征点基本概念一个好的图像特征应该具有:可重复性:在不同图像中能被重复检测到可区分性:不同特征有显著区别高效性:计算复杂度低局部性:对遮挡、光照变化等鲁棒1
- 视觉SLAM十四讲第 2 讲 初识 SLAM
tmiger
计算机视觉人工智能
1.SLAM是什么SLAM是SimultaneousLocalizationandMapping的缩写,中文译作“同时定位与地图构建”。它是指搭载特定传感器的主体,在没有环境先验信息的情况下,于运动过程中建立环境的模型,同时估计自己的运动。如果传感器主要为相机,就称为“视觉SLAM”。SLAM问题的本质:对运动主体自身和周围环境空间不确定性的估计。2.自主运动的两大基本问题1)我在什么地方?-定位
- 视觉SLAM ch5代码总结(二)
雨幕丶
视觉SLAM计算机视觉c++slam
图像去畸变CMakeLists.txtcmake_minimum_required(VERSION3.10)project(basics)#Eigeninclude_directories("/usr/include/eigen3")#opencvfind_package(OpenCVREQUIRED)#添加头文件include_directories(${OpenCV_INCLUDE_DIRS}
- 高翔《视觉SLAM十四讲》第七章视觉里程计3d-2d位姿估计代码详解与理论解析
xMathematics
3d视觉slam机器人无人驾驶无人机人工智能
高翔《视觉SLAM十四讲》第七章代码详解与理论解析一、三维空间位姿估计核心算法实现在视觉SLAM领域,3D-2D位姿估计是确定相机在三维空间中位置和姿态的关键技术。本部分将详细解析其工程实现框架,同时说明代码模块的划分逻辑。代码整体结构清晰,各模块分工明确,主要包含特征匹配、3D点构建、PnP问题求解以及位姿优化等部分。算法流程从读取两幅图像和对应的深度图开始,通过特征匹配模块找出两幅图像中的匹配
- 高翔视觉slam中常见的OpenCV和Eigen的几种数据类型的内存布局及分配方式详解
xMathematics
opencv人工智能计算机视觉内存布局c++slam机器人
vector>内存布局及分配方式详解1.内存对齐的必要性Eigen的固定大小类型(如Eigen::Vector2d、Eigen::Matrix4d等)需要16字节内存对齐,以支持SIMD指令(如SSE/AVX)的并行计算。若未对齐,可能导致程序崩溃或性能下降。2.默认分配器的潜在问题若直接使用std::vector,其默认分配器std::allocator可能无法保证内存对齐。例如:若容器内存起始
- cmake使用教程
四夕小一冰
cmake相关c++
cmake使用教程本教程是参考高翔视觉SLAM十四讲中的讲解。在一个cmake工程中,首先会用cmake命令生成一个makefile文件,然后用make命令根据这个makefile文件的内容编译整个工程。示例:示例基础编译流程先建立一个项目文件夹project1,在文件夹里面建立一个名为helloSLAM.cpp的文件://helloSLAM.cpp#includeusingnamespacest
- 视觉同步定位与地图构建(Visual SLAM)架构详解
YRr YRr
视觉SLAM架构视觉SLAM
视觉同步定位与地图构建(VisualSLAM)架构详解视觉同步定位与地图构建(VisualSimultaneousLocalizationandMapping,简称视觉SLAM)是机器人自主导航、增强现实等领域中的关键技术。视觉SLAM通过利用摄像头获取的视觉信息,同时完成自身定位与环境地图的构建。其架构通常包括前端处理、后端优化及闭环检测等主要模块。以下将对视觉SLAM的架构进行详细阐述。一、整
- 【菜狗学三维重建】Slam对极几何实战—从两张未知相机内参的图片计算出来相机Rt——20250413
小狗照亮每一天
数码相机计算机视觉深度学习笔记opencv人工智能
目录任务1、读取图像2、特征点检测与匹配3、从匹配的对应点中选择八个点4、求解F矩阵(没有内参信息用基础矩阵F来求Rt)之前有一篇关于原理方面的视觉slam三维重建的文章,现在来实战一下,将书本上的知识转化为代码实现一下“视觉里程计-对极几何-2D-2D”。任务从两张未知相机内参的图片计算出来相机R,t。1、读取图像importcv2#读取两张图像a=cv2.imread("00010.jpg")
- OAK相机:纯视觉SLAM在夜晚的应用
OAK中国_官方
人工智能机器学习SLAM
哈喽,OAK的朋友们,大家好啊,今天这个视频主要想分享一下袁博士团队用我们的OAK相机产出的新成果在去年过山车SLAM的演示中,袁博士团队就展示了纯视觉SLAM在完全黑暗的环境中的极高鲁棒性。现在袁博士团队进一步挖掘了纯视觉的潜力,于是又专门录了一段夜间的演示给我们展示了在完全黑暗及光线变化的环境中可靠工作的VIO、回环检测及适用于大场景的内存管理技术。他们现在已将整套VSLAM方案包含在Fact
- 视觉SLAM十四讲 第7讲 (3) 相机运动估计 2D-2D/3D-2D/3D-3D
LYF0816LYF
slamlearning3d计算机视觉算法slam
相机运动估计2D-2D/3D-2D/3D-3D1.2D-2D:对极约束2.三角测量3.3D-2D:PnP3.1直接线性变换DLT3.2P3P3.3最小化投影误差求解PnP4.3D-3D:ICP4.1SVD方法4.2非线性优化方法5.总结若已经有匹配好的点对,要根据点对估计相机的运动,可以分为以下三种情况:2D-2D:即点对都是2D点,比如单目相机匹配到的点对。我们可以用对极几何来估计相机的运动。在
- 动态视觉SLAM的亿点点思考(含20项最新开源代码链接)[上篇]
3D视觉工坊
3D视觉从入门到精通人工智能
作者:泡椒味的口香糖|来源:3D视觉工坊添加微信:dddvisiona,备注:SLAM,拉你入群。文末附行业细分群。0.笔者个人体会动态环境下的视觉SLAM一直都是研究的重点和难点,但最近动态SLAM的paper越来越少,感觉主要原因是动态SLAM的框架已经固化,很难做出大的创新。现有的模板基本就是使用目标检测或者语义分割网络剔除动态特征点,然后用几何一致性做进一步的验证。笔者最近也在思考突破口,
- 自动驾驶(Automated Driving)系统组成和主要技术--以思维导图形式介绍
大连海事的亲外甥
自动驾驶人工智能机器学习
一、自动驾驶概念介绍自动驾驶是指汽车依靠传感器、高精度地图和复杂的算法等,不需要驾驶员操作而自动完成驾驶的技术。二、自动驾驶系统组成和主要技术架构图思维导图形式绘制1、感知层传感器模块:包括摄像头、激光雷达、毫米波雷达和超声波雷达等,用于获取车辆周围环境的数据,如道路状况、其他车辆、行人和障碍物等。定位传感器模块:包括GNSS(全球导航卫星系统)、INS(惯性导航系统)和视觉SLAM等,用于确定车
- 【MotionCap】DROID-SLAM 1 :介绍及安装
等风来不如迎风去
AI入门与实战人工智能SLAHMRDROID-SLAM
DROID-SLAM:DROID-SLAM:DeepVisualSLAMforMonocularDROID-SLAM:适用于单目、立体和RGB-D相机的深度视觉SLAMStereo,andRGB-DCamerashttps://arxiv.org/abs/2108.10869DROID-SLAM:DeepVisualSLAMforMonocular,Stereo,andRGB-DCamerasfi
- 【ORB-SLAM2:三、 地图初始化】
KeyPan
ORB-SLAM2数码相机计算机视觉人工智能机器学习深度学习算法
地图初始化是视觉SLAM系统的关键步骤之一,它是整个系统运行的起点。初始化的主要任务是从输入图像数据中构建一个初始地图,为后续的相机位姿估计和场景重建提供基础。无论是单目、双目还是RGB-D相机,地图初始化的结果直接决定了系统的鲁棒性和精度。3.1为什么需要地图初始化3.1.1地图初始化的重要性定义初始参考坐标系地图初始化为SLAM系统提供了一个全局参考坐标系,使后续的位姿估计和地图扩展能够在一致
- 【视觉SLAM:六、视觉里程计Ⅰ:特征点法】
KeyPan
视觉SLAM计算机视觉人工智能机器学习数码相机算法深度学习
视觉里程计(VisualOdometry,VO)是通过处理图像序列,估计摄像头在时间上的相对位姿变化的技术。它是视觉SLAM的重要组成部分之一,主要通过提取图像中的信息(如特征点或直接像素强度)来实现相机运动估计。以下从特征点法、2D-2D对极几何、三角测量、3D-2D的PnP方法、3D-3D的ICP方法介绍视觉里程计的核心内容。特征点法特征点法是视觉里程计的经典方法,通过提取图像中的显著特征点,
- 【视觉惯性SLAM:十五、ORB-SLAM3中的IMU预积分】
KeyPan
视觉惯性SLAM计算机视觉视觉检测
15.1视觉惯性紧耦合15.1.1视觉惯性紧耦合的重要性视觉惯性紧耦合(Visual-InertialTightCoupling)在ORB-SLAM3中的作用不可替代,是实现高鲁棒性和高精度定位的核心技术。单一的视觉SLAM主要依赖于图像特征进行定位和建图,这种方法虽然能够在许多环境中获得良好的效果,但其鲁棒性容易受到动态变化、光照条件恶化以及环境特征稀缺等因素的限制。例如,昏暗场景或快速运动可能
- 视觉SLAM学习打卡【8-1】-视觉里程计·直接法
肝帝永垂不朽
#SLAM计算机视觉opencvc++
本节直接法与上节特征点法,为视觉里程计估计位姿的两大主流方法。而在引出直接法前,先介绍光流法(二者均对灰度值I做文章)。至此,前端VO总算结束了。学下来一个感受就是前几章的数学基础很重要,尤其是构建最小二乘的非线性优化(BA),几乎每种方法都有其一席之地。视觉SLAM学习打卡【8-1】-视觉里程计·直接法一、光流法(1)前提(实际中较难满足)(2)理论推导(3)附:超定方程求解二、直接法(1)理论
- 视觉SLAM十四讲学习笔记——第十讲 后端优化(2)
晒月光12138
视觉SLAM十四讲学习笔记slamubuntu
上文提到考虑全局的后端优化计算量非常大,因此在计算增量方程时,借助H矩阵的稀疏性加速运算。但是随着时间的推移,累积的相机位姿和路标数量还是会导致计算量过大,以上一节的示例代码数据为例:16张图像,共提取到22106个特征点,这些特征点共出现了83718次。对于一个20Hz更新速度,上述的数据量甚至还不到1s的内容,因此在求解大规模定位建图问题时,一定要控制BA的规模。这里主要有两种解决思路:(1)
- 视觉slam十四讲学习笔记(六)视觉里程计 1
苦瓜汤补钙
视觉SLAM十四讲笔记机器学习ubuntu
本文关注基于特征点方式的视觉里程计算法。将介绍什么是特征点,如何提取和匹配特征点,以及如何根据配对的特征点估计相机运动。目录前言一、特征点法1特征点2ORB特征FAST关键点BRIEF描述子3特征匹配二、实践:特征提取和匹配三、2D-2D:对极几何1对极约束2本质矩阵3单应矩阵四、实践:对极约束求解相机运动五、三角测量总结前言1.理解图像特征点的意义,并掌握在单幅图像中提取出特征点,及多幅图像中匹
- 视觉SLAM十四讲学习笔记——第五讲 相机与图像
晒月光12138
视觉SLAM十四讲学习笔记自动驾驶计算机视觉人工智能
这一讲主要内容就是了解摄像机的成像模型以及OpenCV的使用。1.四种坐标系坐标系基本描述世界坐标系因为摄像机和物体可以随便摆放在空间中的任何位置,所以我们必须用一个固定的坐标系来描述空间中任何物体的位置和摄像机的位置和朝向,这个基准坐标系我们称之为世界坐标系。在计算机视觉中,我们通常把世界坐标系定义为摄像机坐标系或者所观测的物体的中心。摄像机坐标系摄像机坐标系的原点是摄像机的光心,X、Y轴分别平
- 视觉slam十四讲学习笔记(四)相机与图像
苦瓜汤补钙
视觉SLAM十四讲笔记相机机器学习
理解理解针孔相机的模型、内参与径向畸变参数。理解一个空间点是如何投影到相机成像平面的。掌握OpenCV的图像存储与表达方式。学会基本的摄像头标定方法。目录前言一、相机模型1针孔相机模型2畸变单目相机的成像过程3双目相机模型4RGB-D相机模型二、图像计算机中图像的表示三、图像的存取与访问1安装OpenCV2存取与访问总结前言前面介绍了“机器人如何表示自身位姿”的问题,部分地解释了SLAM经典模型中
- ORB-SLAM3运行自制数据集进行定位教程
极客范儿
ORB-SLAM━═━═━◥MR◤━═━═━IMUORB-SLAM3
目前手上有一个特定的任务,做应急救援的视觉SLAM,目前公共数据集比较少,考虑自建数据集,从网络上爬虫火灾、地震的等手机录制的视屏,应用一些现有成熟ORB-SLAM3系统到这个数据集上看效果,然后根据效果得到一些模型改进思路。文章目录一、系统配置二、制作数据集1、脚本编写2、配置文件编写3、录制视频素材4、修改CMakeLists.txt5、编译运行一、系统配置系统版本ubuntu20.04Ope
- 视觉SLAM十四讲学习笔记(二)三维空间刚体
苦瓜汤补钙
视觉SLAM十四讲笔记计算机视觉算法
哔哩哔哩课程连接:视觉SLAM十四讲ch3_哔哩哔哩_bilibili目录一、旋转矩阵1点、向量、坐标系2坐标系间的欧氏变换3变换矩阵与齐次坐标二、实践:Eigen(1)运行报错记录与解决三、旋转向量和欧拉角1旋转向量2欧拉角四、四元数1四元数的定义2四元数的运算3用四元数表示旋转4四元数到旋转矩阵的转换五、实践:Eigen(2)useGeometryvisualizeGeometry总结前言问题
- 视觉slam十四讲学习笔记(三)李群与李代数
苦瓜汤补钙
视觉SLAM十四讲笔记人工智能学习
1.理解李群与李代数的概念,掌握SO(3),SE(3)与对应李代数的表示方式。2.理解BCH近似的意义。3.学会在李代数上的扰动模型。4.使用Sophus对李代数进行运算。目录前言一、李群李代数基础1群2李代数的引出3李代数的定义4李代数so(3)5李代数se(3)二、指数与对数映射1SO(3)上的指数映射2SE(3)上的指数映射三、李代数求导与扰动模型1BCH公式与近似形式2SO(3)李代数上的
- 视觉SLAM十四讲学习笔记(一)初识SLAM
苦瓜汤补钙
计算机视觉人工智能
目录前言一、传感器1传感器分类2相机二、经典视觉SLAM框架1视觉里程计2后端优化3回环检测4建图5SLAM系统三、SLAM问题的数学表述四、Ubuntu20.04配置SLAM十四讲前言SLAM:SimultaneousLocalizationandMapping同时定位与地图构建(建图)。搭载特定传感器的主体,在没有环境先验信息的情况下,于运动过程中建立环地的模型。同时储计自己的运动。视觉SLA
- 【SLAM14讲编译依赖软件源码版本方面等问题汇总】
终问鼎
自动驾驶-SLAMc++自动驾驶buglinuxubuntu
"逆转鹈鹕”0.视觉SLAM十四讲1.ch3-------Eigen32.ch4-------Sophus2.ch5-------JoinMap3.ch63.1---ceres3.2---g2o4.ch7--视觉里程计5.--ch8associate.py6.--ch9project以下是本人在学习SLAM中遇到的全部问题汇总(主要是依赖和软件方面的)。0.视觉SLAM十四讲1.ch3------
- 《视觉SLAM十四讲》第九讲前段实践中g2o实践代码报错解决方法
大二哈
在《视觉SLAM十四讲》中针对于g2o初始化部分代码是无法执行的,在高博的Git上的代码也是无法编译的,会报错:error:nomatchingfunctionforcallto‘g2o::BlockSolver>::BlockSolver(g2o::BlockSolver>::LinearSolverType*&)’定位报错的代码段如下:typedefg2o::BlockSolver>Block
- 多线程编程之卫生间
周凡杨
java并发卫生间线程厕所
如大家所知,火车上车厢的卫生间很小,每次只能容纳一个人,一个车厢只有一个卫生间,这个卫生间会被多个人同时使用,在实际使用时,当一个人进入卫生间时则会把卫生间锁上,等出来时打开门,下一个人进去把门锁上,如果有一个人在卫生间内部则别人的人发现门是锁的则只能在外面等待。问题分析:首先问题中有两个实体,一个是人,一个是厕所,所以设计程序时就可以设计两个类。人是多数的,厕所只有一个(暂且模拟的是一个车厢)。
- How to Install GUI to Centos Minimal
sunjing
linuxInstallDesktopGUI
http://www.namhuy.net/475/how-to-install-gui-to-centos-minimal.html
I have centos 6.3 minimal running as web server. I’m looking to install gui to my server to vnc to my server. You can insta
- Shell 函数
daizj
shell函数
Shell 函数
linux shell 可以用户定义函数,然后在shell脚本中可以随便调用。
shell中函数的定义格式如下:
[function] funname [()]{
action;
[return int;]
}
说明:
1、可以带function fun() 定义,也可以直接fun() 定义,不带任何参数。
2、参数返回
- Linux服务器新手操作之一
周凡杨
Linux 简单 操作
1.whoami
当一个用户登录Linux系统之后,也许他想知道自己是发哪个用户登录的。
此时可以使用whoami命令。
[ecuser@HA5-DZ05 ~]$ whoami
e
- 浅谈Socket通信(一)
朱辉辉33
socket
在java中ServerSocket用于服务器端,用来监听端口。通过服务器监听,客户端发送请求,双方建立链接后才能通信。当服务器和客户端建立链接后,两边都会产生一个Socket实例,我们可以通过操作Socket来建立通信。
首先我建立一个ServerSocket对象。当然要导入java.net.ServerSocket包
ServerSock
- 关于框架的简单认识
西蜀石兰
框架
入职两个月多,依然是一个不会写代码的小白,每天的工作就是看代码,写wiki。
前端接触CSS、HTML、JS等语言,一直在用的CS模型,自然免不了数据库的链接及使用,真心涉及框架,项目中用到的BootStrap算一个吧,哦,JQuery只能算半个框架吧,我更觉得它是另外一种语言。
后台一直是纯Java代码,涉及的框架是Quzrtz和log4j。
都说学前端的要知道三大框架,目前node.
- You have an error in your SQL syntax; check the manual that corresponds to your
林鹤霄
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'option,changed_ids ) values('0ac91f167f754c8cbac00e9e3dc372
- MySQL5.6的my.ini配置
aigo
mysql
注意:以下配置的服务器硬件是:8核16G内存
[client]
port=3306
[mysql]
default-character-set=utf8
[mysqld]
port=3306
basedir=D:/mysql-5.6.21-win
- mysql 全文模糊查找 便捷解决方案
alxw4616
mysql
mysql 全文模糊查找 便捷解决方案
2013/6/14 by 半仙
[email protected]
目的: 项目需求实现模糊查找.
原则: 查询不能超过 1秒.
问题: 目标表中有超过1千万条记录. 使用like '%str%' 进行模糊查询无法达到性能需求.
解决方案: 使用mysql全文索引.
1.全文索引 : MySQL支持全文索引和搜索功能。MySQL中的全文索
- 自定义数据结构 链表(单项 ,双向,环形)
百合不是茶
单项链表双向链表
链表与动态数组的实现方式差不多, 数组适合快速删除某个元素 链表则可以快速的保存数组并且可以是不连续的
单项链表;数据从第一个指向最后一个
实现代码:
//定义动态链表
clas
- threadLocal实例
bijian1013
javathreadjava多线程threadLocal
实例1:
package com.bijian.thread;
public class MyThread extends Thread {
private static ThreadLocal tl = new ThreadLocal() {
protected synchronized Object initialValue() {
return new Inte
- activemq安全设置—设置admin的用户名和密码
bijian1013
javaactivemq
ActiveMQ使用的是jetty服务器, 打开conf/jetty.xml文件,找到
<bean id="adminSecurityConstraint" class="org.eclipse.jetty.util.security.Constraint">
<p
- 【Java范型一】Java范型详解之范型集合和自定义范型类
bit1129
java
本文详细介绍Java的范型,写一篇关于范型的博客原因有两个,前几天要写个范型方法(返回值根据传入的类型而定),竟然想了半天,最后还是从网上找了个范型方法的写法;再者,前一段时间在看Gson, Gson这个JSON包的精华就在于对范型的优雅简单的处理,看它的源代码就比较迷糊,只其然不知其所以然。所以,还是花点时间系统的整理总结下范型吧。
范型内容
范型集合类
范型类
- 【HBase十二】HFile存储的是一个列族的数据
bit1129
hbase
在HBase中,每个HFile存储的是一个表中一个列族的数据,也就是说,当一个表中有多个列簇时,针对每个列簇插入数据,最后产生的数据是多个HFile,每个对应一个列族,通过如下操作验证
1. 建立一个有两个列族的表
create 'members','colfam1','colfam2'
2. 在members表中的colfam1中插入50*5
- Nginx 官方一个配置实例
ronin47
nginx 配置实例
user www www;
worker_processes 5;
error_log logs/error.log;
pid logs/nginx.pid;
worker_rlimit_nofile 8192;
events {
worker_connections 4096;}
http {
include conf/mim
- java-15.输入一颗二元查找树,将该树转换为它的镜像, 即在转换后的二元查找树中,左子树的结点都大于右子树的结点。 用递归和循环
bylijinnan
java
//use recursion
public static void mirrorHelp1(Node node){
if(node==null)return;
swapChild(node);
mirrorHelp1(node.getLeft());
mirrorHelp1(node.getRight());
}
//use no recursion bu
- 返回null还是empty
bylijinnan
javaapachespring编程
第一个问题,函数是应当返回null还是长度为0的数组(或集合)?
第二个问题,函数输入参数不当时,是异常还是返回null?
先看第一个问题
有两个约定我觉得应当遵守:
1.返回零长度的数组或集合而不是null(详见《Effective Java》)
理由就是,如果返回empty,就可以少了很多not-null判断:
List<Person> list
- [科技与项目]工作流厂商的战略机遇期
comsci
工作流
在新的战略平衡形成之前,这里有一个短暂的战略机遇期,只有大概最短6年,最长14年的时间,这段时间就好像我们森林里面的小动物,在秋天中,必须抓紧一切时间存储坚果一样,否则无法熬过漫长的冬季。。。。
在微软,甲骨文,谷歌,IBM,SONY
- 过度设计-举例
cuityang
过度设计
过度设计,需要更多设计时间和测试成本,如无必要,还是尽量简洁一些好。
未来的事情,比如 访问量,比如数据库的容量,比如是否需要改成分布式 都是无法预料的
再举一个例子,对闰年的判断逻辑:
1、 if($Year%4==0) return True; else return Fasle;
2、if ( ($Year%4==0 &am
- java进阶,《Java性能优化权威指南》试读
darkblue086
java性能优化
记得当年随意读了微软出版社的.NET 2.0应用程序调试,才发现调试器如此强大,应用程序开发调试其实真的简单了很多,不仅仅是因为里面介绍了很多调试器工具的使用,更是因为里面寻找问题并重现问题的思想让我震撼,时隔多年,Java已经如日中天,成为许多大型企业应用的首选,而今天,这本《Java性能优化权威指南》让我再次找到了这种感觉,从不经意的开发过程让我刮目相看,原来性能调优不是简单地看看热点在哪里,
- 网络学习笔记初识OSI七层模型与TCP协议
dcj3sjt126com
学习笔记
协议:在计算机网络中通信各方面所达成的、共同遵守和执行的一系列约定 计算机网络的体系结构:计算机网络的层次结构和各层协议的集合。 两类服务: 面向连接的服务通信双方在通信之前先建立某种状态,并在通信过程中维持这种状态的变化,同时为服务对象预先分配一定的资源。这种服务叫做面向连接的服务。 面向无连接的服务通信双方在通信前后不建立和维持状态,不为服务对象
- mac中用命令行运行mysql
dcj3sjt126com
mysqllinuxmac
参考这篇博客:http://www.cnblogs.com/macro-cheng/archive/2011/10/25/mysql-001.html 感觉workbench不好用(有点先入为主了)。
1,安装mysql
在mysql的官方网站下载 mysql 5.5.23 http://www.mysql.com/downloads/mysql/,根据我的机器的配置情况选择了64
- MongDB查询(1)——基本查询[五]
eksliang
mongodbmongodb 查询mongodb find
MongDB查询
转载请出自出处:http://eksliang.iteye.com/blog/2174452 一、find简介
MongoDB中使用find来进行查询。
API:如下
function ( query , fields , limit , skip, batchSize, options ){.....}
参数含义:
query:查询参数
fie
- base64,加密解密 经融加密,对接
y806839048
经融加密对接
String data0 = new String(Base64.encode(bo.getPaymentResult().getBytes(("GBK"))));
String data1 = new String(Base64.decode(data0.toCharArray()),"GBK");
// 注意编码格式,注意用于加密,解密的要是同
- JavaWeb之JSP概述
ihuning
javaweb
什么是JSP?为什么使用JSP?
JSP表示Java Server Page,即嵌有Java代码的HTML页面。使用JSP是因为在HTML中嵌入Java代码比在Java代码中拼接字符串更容易、更方便和更高效。
JSP起源
在很多动态网页中,绝大部分内容都是固定不变的,只有局部内容需要动态产生和改变。
如果使用Servl
- apple watch 指南
啸笑天
apple
1. 文档
WatchKit Programming Guide(中译在线版 By @CocoaChina) 译文 译者 原文 概览 - 开始为 Apple Watch 进行开发 @星夜暮晨 Overview - Developing for Apple Watch 概览 - 配置 Xcode 项目 - Overview - Configuring Yo
- java经典的基础题目
macroli
java编程
1.列举出 10个JAVA语言的优势 a:免费,开源,跨平台(平台独立性),简单易用,功能完善,面向对象,健壮性,多线程,结构中立,企业应用的成熟平台, 无线应用 2.列举出JAVA中10个面向对象编程的术语 a:包,类,接口,对象,属性,方法,构造器,继承,封装,多态,抽象,范型 3.列举出JAVA中6个比较常用的包 Java.lang;java.util;java.io;java.sql;ja
- 你所不知道神奇的js replace正则表达式
qiaolevip
每天进步一点点学习永无止境纵观千象regex
var v = 'C9CFBAA3CAD0';
console.log(v);
var arr = v.split('');
for (var i = 0; i < arr.length; i ++) {
if (i % 2 == 0) arr[i] = '%' + arr[i];
}
console.log(arr.join(''));
console.log(v.r
- [一起学Hive]之十五-分析Hive表和分区的统计信息(Statistics)
superlxw1234
hivehive分析表hive统计信息hive Statistics
关键字:Hive统计信息、分析Hive表、Hive Statistics
类似于Oracle的分析表,Hive中也提供了分析表和分区的功能,通过自动和手动分析Hive表,将Hive表的一些统计信息存储到元数据中。
表和分区的统计信息主要包括:行数、文件数、原始数据大小、所占存储大小、最后一次操作时间等;
14.1 新表的统计信息
对于一个新创建
- Spring Boot 1.2.5 发布
wiselyman
spring boot
Spring Boot 1.2.5已在7月2日发布,现在可以从spring的maven库和maven中心库下载。
这个版本是一个维护的发布版,主要是一些修复以及将Spring的依赖提升至4.1.7(包含重要的安全修复)。
官方建议所有的Spring Boot用户升级这个版本。
项目首页 | 源