- 博客(80)
- 收藏
- 关注
原创 C++迭代器失效的几种情况总结
该数据结构的元素是分配在连续的内存中,insert和erase操作,都会使得删除点和插入点之后的元素挪位置,所以,插入点和删除掉之后的迭代器全部失效,也就是说insert(*iter)(或erase(*iter)),然后在iter++,是没有意义的。使用红黑树来存储数据,插入不会使得任何迭代器失效;对于list型的数据结构,使用了不连续分配的内存,删除运算使指向删除位置的迭代器失效,但是不会失效其他迭代器.解决办法两种,erase(*iter)会返回下一个有效迭代器的值,或者erase(iter++).
2024-11-22 11:12:32
627
原创 eclipse c++安装
(1)下载eclipse c++ https://www.eclipse.org/downloads/packages/下载Eclipse IDE for C/C++ Developers安装后,解压可用。 但是打不开eclipse, 出现一个错误java was started but returned exit code = 13这是因为jdk版本与eclipse版本不兼容引起的...
2019-05-08 15:05:01
4824
原创 pytest安装使用
安装pytest$pip install -U pytest //安装pytest$pytest --version //查看版本在pytest框架中,有如下约束: 所有的单测文件名都需要满足test_*.py格式或*_test.py格式。 在单测文件中,可以包含test_开头的函数,也可以包含Test开头的类。 在单测类中,可以包含一个或多个test_开...
2018-09-04 17:26:23
2477
原创 selenium安装及在python中简单使用
selenium是一个web的自动化测试工具,selenium测试直接运行在浏览器中,就像真正的用户在操作一样。selenium主要测试你的应用程序是否能够很好地在不同浏览器和操作系统上工作。它的优点如下:免费;小巧,对于不同的语言它只是一个包;支持C,Python,java,C#多种语言的测试脚本;支持多平台:windows,linux,Mac,支持多浏览器:ie,chrome,firefox,...
2018-09-04 14:40:43
34787
1
原创 python中异常的处理
1. 捕捉异常使用try/except语句,try语句包含可能出错的代码,except语句捕获异常信息并处理。下面介绍一个简单的例子。自定义一个异常类NameNotFound。异常应该是典型的继承自Execption类,通过直接或间接的方式。#coding:utf-8#test1.pyimport sysclass NameNotFound(Exception): def ...
2018-09-04 14:23:30
1248
原创 python中定义常量
Python并未提供如C/C++/Java一样的const修饰符,换言之,python中没有常量,python程序一般通过约定俗成的变量名全大写的形式表示这是一个常量。然而这种方式并没有真正实现常量,其对应的值仍然可以被改变。后来,python提供了新的方法实现常量:即通过自定义类实现常量。这要求符合“命名全部为大写”和“值一旦被绑定便不可再修改”这两个条件。用自定义类实现常量,例如,如下写了...
2018-08-22 17:12:28
114801
1
转载 git commit --amend撤销方法
git commit的撤销方法:某同事执行git commit 时太兴奋,执行了git commit --amend慌了,不敢编辑上一个commit的description了,直接选择了wq退出,然而git毕竟强大,默认将改动合并提交并覆盖了上一个commit生成了一个新的commit id,这下更慌了,上一个commit id在git log里没了,没了,没了此时只有两个字,奔溃好在git有撤销...
2018-03-13 10:21:11
30526
原创 STS IDE中配置Tomcat服务器
在STS IDE中配置Tomcat服务器步骤:打开STS IDE,Window-Preference-Server--Runtime Environment---Add选择自己要安装的Tomcat版本,如我选的是Apache Tomcat v8.0Next, 可以选择自己本地下载好的(网址 http://tomcat.apache.org/download-80.cgi),也可以在线下
2018-01-12 22:07:59
7163
原创 Maven下载安装
1. 安装maven登录maven官网: https://maven.apache.org/download.cgi如图,下载第一个或第二个,在本地解压安装详情: https://maven.apache.org/install.htmlWindows安装:我的电脑--属性--高级系统设置--环境变量--在用户变量里找到PATH,增加;C:\softwore\apache-
2018-01-12 17:31:32
301
原创 jdk安装配置
Java jdk下载网址: http://www.oracle.com/technetwork/java/javase/downloads/index.html会自动安装jdk和jre.安装完成后如图配置环境变量:Computer--Properties--Advanced system settings--Environment Variables在System vari
2018-01-12 16:16:01
292
转载 python分析谷歌浏览器的历史记录
在Windows上分析谷歌浏览器Chrome历史记录的Python3.6脚本,分析过程如下:1.1 Chrome的历史记录数据库Chrome的数据存储在本地的SQLite数据库中。所以这里我们需要做的就是写一段能够连接到数据库的Python代码,从而查询需要的字段和提取需要的数据,这些数据包括网站访问的URL及其对应的全部访问量。我们把这些找出来作为原始数据。
2017-11-25 18:37:51
3238
1
转载 sftp用法
sftp是Secure File Transfer Protocol的缩写,安全文件传送协议。它类似于ftp, 但是它提供一种更为安全的网络的加密方法。如何进行远程连接,进行文件的上传和下载。在命令行模式下,输入: sftp 用户名@ip地址 eg: sftp lzy@202.206.64.33sftp>如果登陆远程机器不是为了上传下载文件,而是要修改远程主机上的某些文件
2017-11-20 14:09:33
8638
转载 c++中“箭头(->)”和“点号(.)”操作符的区别 .
首先介绍一下C++中的结构。对于一个结构:[cpp] view plain copystruct MyStruct { int member_a; }; 如果有个变量MyStruct s,那么使用其中的成员元素时可以用:[cpp] view plain copys.mem
2017-08-30 17:00:17
1006
原创 c++指针学习
c++指针学习(1)每一个变量都有一个内存位置,每一个内存位置都定义了可使用连字号(&)运算符访问的地址,它表示了在内存中的一个地址。 eg: int var1; &var1 表示var1的地址。(2)定义一个指针变量、把变量地址赋值给指针、访问指针变量中可用地址的值。这些是通过使用一元运算符 * 来返回位于操作数所指定地址的变量的值。 i
2017-08-29 16:35:36
815
转载 Source Insight 快捷键
Source Insight 4.0 文件类型、编码格式、tab转空格、tab键自动补全设置。。。http://www.cnblogs.com/bluestorm/p/6864540.html1. 查看当前文件所在路径: Options--Preference--Display 取消复选框Trim long path name with eclipse选项 ...
2017-08-24 17:01:50
355
转载 C++ 头文件#ifndef/#define/#endif
例如:要编写头文件test.h 在头文件开头写上两行: #ifndef _TEST_H #define _TEST_H//一般是文件名的大写 ············ ············ 头文件结尾写上一行: #endi
2017-08-22 17:08:21
9678
1
转载 ssh服务安装和登录出现的几种错误以及解决办法
首先、确保server端的ssh服务是开的(service shhd start)然后在client端输入: ssh usrname@serverip (远程登录)scp filename usrname@serverip:/URL (远程传输)常出现的问题:问题一:ssh登录的时候链接端口失败提示(1):# ssh 192.168.***.
2017-08-11 16:37:25
3812
转载 常用Git命令清单
一般来说,日常使用Git只要记住下图6个命令,就可以了。但是熟练使用,恐怕要记住60~100个命令。下面是我整理的常用 Git 命令清单。几个专用名词的译名如下。Workspace:工作区Index / Stage:暂存区Repository:仓库区(或本地仓库)Remote:远程仓库一、新建代码库# 在当前目录新建一个Git代码库
2017-07-03 13:50:51
271
转载 LTE: SRVCC双模单待无线语音呼叫连续性
在LTE网络建设初期,由于LTE网络覆盖不理想,存在混合组网,为了确保用户离开LTE网络覆盖,切换至WCDMA或者GSM时其语音通话能持续进行,SRVCC技术诞生了。SRVCC方案适用于运营商已经部署了IMS网络,在LTE网络已经能够提供基于分组域的语音业务,但是LTE还没有达到全网覆盖的场景。随着用户的移动,正在进行的语音业务会面临离开LTE覆盖范围后语音不能连续的问题。这时,借助SRV
2017-06-20 16:44:01
1283
转载 HSS,CUDB
1.HSSHSS(HomeSubscriber Server,归属签约用户服务器),支持用于处理调用/会话的IMS网络实体的主要用户数据库。它包括用户配置文件,执行用户的身份验证和授权,并可提供有关用户物理位置的信息。它类似于GSM Home Location Register.与HSS通信的实体是应用服务器(AS)和 Call StateControl Function 服务器
2017-06-08 22:22:44
6880
原创 Linux中Vi操作
1.进入vi的命令 vi filename :打开或新建文件,并将光标置于第一行首 vi +n filename:打开文件,并将光标置于第n行首 vi + filename:打开文件,并将光标置于最后一行首 vi +/pattern filename:打开文件,并将光标置于第一个与pattern匹配的串处 vi -r filename:在上次正用vi编辑时发生系
2017-06-05 21:32:51
372
转载 Git入门
Git是分布式版本控制系统,那么它就没有中央服务器的,每个人的电脑就是一个完整的版本库,这样,工作的时候就不 需要联网了,因为版本都是在自己的电脑上。既然每个人的电脑都有一个完整的版本库,那多个人如何协作呢?比如说自己在电脑上改了文件A,其他人也在电脑上 改了文件A,这时,你们两之间只需把各自的修改推送给对方,就可以互相看到对方的修改了。一:Git是什么? Git是
2017-05-30 16:09:50
227
转载 Git分支切换
如果是大家一起协作的情况,可能其他人推了其他分支到中央仓库,这时候你本地是看不到的。比如原来只有master分支,另外一个人推送了f1分支。这时候在你的本地,λ git branch -a* master remotes/origin/HEAD -> origin/master remotes/origin/master直接执行切换分支到f1,
2017-05-27 21:42:45
1039
转载 Linux基本命令
Linux简介及Ubuntu安装常见指令系统管理命令打包压缩相关命令关机/重启机器Linux管道Linux软件包管理vim使用用户及用户组管理文件权限管理Linux简介及Ubuntu安装Linux,免费开源,多用户多任务系统。基于Linux有多个版本的衍生。RedHat、Ubuntu、Debian
2017-05-24 20:54:36
223
转载 MAP协议
MAP(Mobile Application Part),即移动应用部分,它定义了在移动通信核心网各相关网元之间为实现移动台的漫游功能而进行的信息交换方式,包括消息流程、操作定义、数据类型、错误类型以及具体的编码等,这里的相关网元包括MSC、VLR、HLR、EIR、SMC、GMLC等。
2017-05-22 18:19:06
3641
1
转载 LTE网络架构
一些相关名词:GSM(Global System for Mobile Communication,全球移动通信系统),GSM被看作是第二代 (2G)移动电话系统。UMTS(Universal Mobile Telecommunications System,通用移动通信系统),是一个完整的3G移动通信技术标准,它使用WCDMA作为底层标准。在3G(The 3rd Generation
2017-05-21 14:28:57
8109
2
转载 Wireshark学习及三次握手
wireshark介绍wireshark的官方下载网站: http://www.wireshark.org/wireshark是非常流行的网络封包分析软件,功能十分强大。可以截取各种网络封包,显示网络封包的详细信息。wireshark是开源软件,可以放心使用。 可以运行在Windows和Mac OS上。 使用wireshark的人必须了解网络协议,否则就看不
2017-05-20 22:42:34
597
转载 JXplorer的简单使用
现在越来越多的网络应用系统都支持LDAP。OpenLDAP是LDAP的一种开源实现,而JXplorer则是openLdap的一种界面管理工具,使openLdap使用更方便 。1、软件下载 JXplorer下载地址(Windows):http://prdownloads.sourceforge.net/jxplorer/JXv3.2_install_windows.exe?d
2017-05-20 22:27:13
5431
原创 svn版本控制使用讲解
本文将直接讲解图形界面TortoiseSVN和在MyEclipse安装SVN插件的方法。一、下载安装TortoiseSVN 网址:https://tortoisesvn.net/downloads.html(有32位和64位), Tortoise是SVN的一个图形化界面客户端工具,Tortoise安装(选择安装命令行端可不再需要安装SVN服务器端,因自带有,安装
2017-02-21 14:14:19
350
转载 单例模式应用场景
单例模式(Singleton)也叫单态模式,是设计模式中最为简单的一种模式,甚至有些模式大师都不称其为模式,称其为一种实现技巧,因为设计模式讲究对象之间的关系的抽象,而单例模式只有自己一个对象,也因此有些设计大师并把把其称为设计模式之一。这里又不具体讲如何实现单例模式和介绍其原理(因为这方便的已经有太多的好文章介绍了),如果对单例模式不了解的可以先看下:http://terrylee.cn
2016-10-19 22:38:33
746
1
转载 Spring AOP
一、什么是 AOPAOP(Aspect-OrientedProgramming,面向切面编程),可以说是OOP(Object-Oriented Programing,面向对象编程)的补充和完善。OOP引入封装、继承和多态性等概念来建立一种对象层次结构,用以模拟公共行为的一个集合。当我们需要为分散的对象引入公共行为(日志、安全、事务)的时候,OOP则显得无能为力。也就是说,OOP允许你定义从
2016-10-08 13:33:07
219
转载 MySql避免全表查询
对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引: .尝试下面的技巧以避免优化器错选了表扫描:· 使用ANALYZE TABLE tbl_name为扫描的表更新关键字分布。· 对扫描的表使用FORCE INDEX告知MySQL,相对于使用给定的索引表扫描将非常耗时。 SELECT *
2016-10-05 16:26:35
2486
转载 Spring IOC
转自:http://blog.csdn.net/m13666368773/article/details/7802126一. IoC理论的背景 我们都知道,在采用面向对象方法设计的软件系统中,它的底层实现都是由N个对象组成的,所有的对象通过彼此的合作,最终实现系统的业务逻辑。 如果我们打开机械式手表的后盖,就会看到与上面类似的情形,各个齿轮分别带动时针、分针和秒针顺时针旋转,从
2016-10-05 16:09:53
215
转载 Spring IOC理解
学习过Spring框架的人一定都会听过Spring的IoC(控制反转) 、DI(依赖注入)这两个概念,对于初学Spring的人来说,总觉得IoC 、DI这两个概念是模糊不清的,是很难理解的,今天和大家分享网上的一些技术大牛们对Spring框架的IOC的理解以及谈谈我对Spring Ioc的理解。一、分享Iteye的开涛对Ioc的精彩讲解 首先要分享的是Iteye的开涛这位技术牛人对Spr
2016-10-05 15:57:35
192
转载 对象序列化
Java对象序列化 当两个进程在进行远程通信时,彼此可以发送各种类型的数据。无论是何种类型的数据,都会以二进制序列的形式在网络上传送。发送方需要把这个Java对象转换为字节序列,才能在网络上传送;接收方则需要把字节序列再恢复为Java对象。 只能将支持 java.io.Serializable 接口的对象写入流中。每个 serializable 对象的类都被编码,编码内容包
2016-10-05 15:16:54
185
转载 java中的强引用、软引用、弱引用、虚引用
为了使应用程序更灵活地控制对象的生命周期,从jdk1.2开始,java把对象的引用分为四种:强引用、软引用、弱引用、虚引用。一、强引用强引用是最常见的、最被熟知的引用。例如:String s = new String("abc")。那么s就是一个强引用。如果一个对象具有强引用,那么垃圾回收器就绝不会回收它。二、软引用如果一个对象只具有软引用,当内存空间足够时,垃圾回收器
2016-10-05 14:37:34
233
转载 java浅克隆与深克隆
如果我们有一个对象a,我们想得到它的一个克隆,那么我们该怎么做呢?最直观、最笨的方法是我们先new一个a的同类对象b,然后挨个拷贝a的属性给b中的相应属性。那么,这里马上就得引出两个概念:浅克隆与深克隆。如果用直白的、非严格定义的语言来解释这两个概念,那么可以这么说:所谓浅克隆是指复制一个对象的实例,但是这个对象中包含的其它的对象还是共用的。所谓深克隆是指复制一个对象的实例
2016-10-03 22:14:40
216
转载 CountDownLatch理解:与join的区别
首先,我们来看一个应用场景1:假设一条流水线上有三个工作者:worker0,worker1,worker2。有一个任务的完成需要他们三者协作完成,worker2可以开始这个任务的前提是worker0和worker1完成了他们的工作,而worker0和worker1是可以并行他们各自的工作的。如果我们要编码模拟上面的场景的话,我们大概很容易就会想到可以用join来做。当在当前线程中调
2016-10-03 21:53:31
344
转载 同步类CountDownLatch
CountDownLatch1、类介绍一个同步辅助类,在完成一组正在其他线程中执行的操作之前,它允许一个或多个线程一直等待。用给定的计数 初始化 CountDownLatch。由于调用了 countDown() 方法,所以在当前计数到达零之前,await 方法会一直受阻塞。之后,会释放所有等待的线程,await 的所有后续调用都将立即返回。这种现象只出现一次——计数无法被重置。 一
2016-10-03 21:24:30
242
转载 类加载机制
1、预先加载:JRE运行的开始会将Java运行所需要的基本类采用预先加载的方法全部加载到内存,如JRE的rt.jar里面所有的.class文件2、类的生命周期:类从被加载到虚拟机内存开始,到卸载出内存为止,整个生命周期包括七个阶段加载——>验证——>准备——>解析——>初始化——>使用——>卸载(其中类加载包括前面五个过程,即加载、验证、准备、解析、初始化。而验证、准备、解
2016-10-03 14:40:46
197
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人