- 博客(84)
- 收藏
- 关注
原创 namespace
为了干什么呢? 目前来说都是团队开发,而为函数以及类取名很有可能发生重名现象,为了防止因为重名而造成的冲突,使用namespace隔离开,就是自己再给自己的类名以及函数名起一个前缀名。...
2022-03-23 17:31:42
256
原创 05-静态库和共享库
程序库 就是包含了数据和执行码的文件。其不能单独执行,可以作为其他执行程序的一部分来完成某些功能,库的存在可以使得程序模块化,可以加快程序的再编译,可以实现代码重用,可以使得程序便于升级。 程序库分为静态库和共享库静态库是在可执行程序运行前就已经加入到执行码中,成为执行程序的一部分。静态库可以认为是一些目标代码的集合,按照习惯,一般按照.a作为文件后缀名。使用ar(archiver)命令可以创建静态库。创建一个静态库: ar rcs libmylib.a file1.o\ rc
2022-03-10 10:33:27
293
原创 04-gcc
gccgcc-I指定头文件目录(后面不加空格)-g包含调试信息-On(n:0~3)编译优化,n越大优化的越多-Wall提示更多警告信息-D编译时宏定义(后面不加空格)-E生成预处理文件-M生成.c文件与头文件依赖关系以用于Makefile,包括系统库的头文件-MM生成.c文件与头文件依赖关系以用于Makefile,不包括系统库的头文件toolchaingcc编辑器glibc该库实现Linux
2022-03-09 16:11:25
1494
原创 02Linux常用服务器构建(ftp、nfs、ssh)
ftp服务器安装vsftpd服务器:sudo apt-get install vsftpd配置vsftpd.conf文件:sudo vi /etc/vsftpd.conf添加设置:anonymous_enable=YES # 允许匿名用户访问anon_root=/home/fittiger/ftp # 匿名客户登录后所在的目录no_anon_password=YES # 匿名用户不需要密码write_enable=YES # 匿名用户可以写
2022-03-03 14:30:13
544
原创 01Linux-基本命令
基础Linux学习:Linux基本使用 Linux基本命令 Linux娱乐 编辑器 vim 编译器 Gnu工具链-gcc 调试器 GDB Makefile系统编程 文件I/O 文件系统 进程 进程控制原语 进程间通信 进程间关系 信号 线程 线程控制原语 线程同步机制 网络编程 socket套接字 TCP/IP/UDP 并发服务器开发 多进程并发 多线程并发 异步I/O epoll select poll
2022-03-03 14:29:23
1756
原创 c++——提高
1.模板1.1-概念就是建立通用的模具,提高复用性1.2函数模板C++的一种编程思想是:泛型编程,主要利用的技术是模板C++提供两种模板机制:函数模板和类模板函数模板作用:建立一个通用函数,其函数返回值类型和形参类型可以不具体制定,用一个虚拟的类型来代替。语法:template<typename T>// 函数声明或定义/*解释: template:声明创建模板 typename:表示其后面的符号是一种数据类型,可以用class代替 T:通用的数据类型,名称
2021-12-13 18:44:29
1039
原创 异常:0xC0000005: 读取位置 0x00617568 时发生访问冲突。
0xC0000005: 读取位置 0x00617568 时发生访问冲突。这个令一个像我这种正在学习的小菜鸟非常崩溃的异常。对于这个异常,有个大佬总结了一下:0xC0000005可能出现的原因:是否访问的内存地址为空指针是否使用free或delete释放了内存后,没有将指针设置为NULL。导致产生“野指针”是否出现访问数组越界,malloc一个100内存的空间用于读入文件,当文件的大小超过100时,并且程序中再使用100之后的内存时,就会产生“0xC0000005: 读取位置 xxx时发生访问冲
2021-12-07 20:15:10
7838
1
原创 c++——核心编程
核心编程,针对C++面向对象编程技术1.内存分区模型内存分区模型C++程序在执行时,将内存划分为4个区域:代码区:存放函数体的二进制代码,由操作系统进行管理的。全局区:存放全局变量、静态变量以及常量。栈区:由编译器自动分配释放,存放函数的参数值,局部变量等。堆区:由程序员分配和释放,若程序员不释放,程序结束时由操作系统回收。内存四区意义: 不同区域存放的数据,赋予不同的生命周期,使编程更加灵活。1.程序运行前在程序编译后,生成exe可执行程序,未执行该程序前分为两个区域。代码区:
2021-11-14 11:28:45
1214
原创 快速入门机器学习——算法
1.分类算法1.1 sklearn转换器与估计器1.1.1 转换器(在特征工程中使用)特征工程中的步骤:1.实例化(实例化一个转换器类(Transformer))2.调用fit_transform(对于文档建立分类词频矩阵,不能同时调用)先计算出每一列的平均值、标准差再通过标准化公式:X′=x−meanσX'=\frac{x-mean}{\sigma }X′=σx−mean 进行最终的转换。1.1.2 估计器(sklearn机器学习算法的实现)在sklearn中,估计器(es
2021-11-11 19:58:58
2797
原创 C++——基础知识入门
1.初识C++1.1第一个C++程序创建新项目,选择创建C++的空项目:选择项目名称与位置:在源文件中添加C++文件:# include <iostream>using namespace std;int main(){ cout << "hello world" << endl; system("pause"); return 0;}1.2注释# include <iostream>using namespac
2021-10-31 11:27:58
9099
2
原创 快速入门机器学习——特征抽取
学习视频来源于黑马程序员的python机器学习快速入门,根据视频做的学习笔记,感谢黑马程序员的开源精神。1.机器学习概述1.人工智能概述 人工智能、机器学习、深度学习的关系:机器学习是人工智能的一个实现途径。深度学习是机器学习的一个方法发展而来。 机器学习、深度学习的应用场景:传统预测图像识别自然语言处理2.什么是机器学习 通过历史数据训练
2021-10-21 16:21:47
5550
1
原创 设计模式-01
设计模式相关内容1.设计模式相关概述软件设计模式产生背景来源于建筑领域的设计。通过一些常见的建筑设计问题,提出了一些基本模式。90年《设计模式:可复用面向对象软件的基础》一书提出了23个设计模式。软件设计模式概念也就是代码设计经验的总结,软件设计中的不断出现的问题的解决方案,具有普遍性,可以不断使用。学习设计模式的必要性是面向对象设计原则的实际运用,对类的封装、继承、多态以及类的关联关系和组合关系的充分理解。优点:
2021-09-28 13:37:55
97
原创 ubuntu系统性能定时监控
psutil(python system and process utilities): python的系统监控及进程的管理工具,是一个功能强大的跨平台系统管理库psutil安装: pip3 install psutil常见功能1. 获取cpu信息 psutil.cpu_count():逻辑CPU核数,可以通过pustil.cpu_count(logical=False)来返回物理CPU的个数 cpu_times():CPU的用户、系统、空闲时间。将返回一个python
2021-08-16 18:16:00
817
原创 py学习9——linux常见指令
数据流、管道数据流及输出重定向命令:> 输入流:从键盘或者文件中读取内容到内存中 输出留:从计算机内存中把数据写入到文件或者显示到显示器上 重定向:改变数据流和原来的默认走向 标准输出流:stdout :标准输出,对应于终端的输出 标准错误输出流:stderr :标准错误输出,对应于终端的输出 标准输入流:stdin :标准输入,对应于你在终端的输入 echo "xxx":将xxx输出到终端 echo "xxx" > demo.txt:将xxx输出到文件d
2021-08-16 10:33:29
164
原创 py学习8——linux初识
操作系统管理和控制计算机硬件与软件资源的计算机程序。其他的软件必须在操作系统的支持下运行。操作系统的作用对上为应用程序提供支持,对下控制硬件运行是计算机系统中最基本最重要的系统软件是配置在计算机硬件上的第一层软件,对硬件系统首次扩充主要作用是管理好硬件设备,并为用户和应用程序提供一个简单的接口操作系统的分类桌面操作系统1. windows系列 用户群体大2. macOS 稳定3. linux 应用软件少服务器操作系统1. linux 安全、稳定、免费2. windows
2021-08-04 11:28:02
140
原创 py学习7——异常、模块、包
异常"""异常:代码在运行过程中遇到错误,给出的错误提示异常的组成: '异常的类型':'异常的描述信息'"""print("*" * 30)num = input("请输入一个数字")num = 10 / int(num)# 当输入0或者不是数字的数据的时候就会产生异常异常的捕获"""异常的捕获:是指在程序代码运行过程中,遇到错误,不让程序代码终止,让其继续运行,同时给使用者一个提示信息,并记录这个错误,在后期给予改进捕获单个异常的代码: try: 可能发生异常的代码
2021-07-27 12:09:26
653
原创 py的学生管理系统(无数据库,基础语言)
面型对象开发的一般方式1. 一个类作为一个python文件2. 定义一个main.py作为程序代码的启动文件代码文件的组成: student.py # 定义Student类 student_manager_system.py # 定义管理系统类 main.py # 作为程序的启动代码管理系统类类名:StudentManagerSystem属性: 所有学生信息 学生列表 = [] 学生字典 = {'学号':一个学生}方法 增删改查,显示菜单信息
2021-07-27 12:09:04
300
原创 c经典小程序节选修改
根据年月日判断这是这年的第几天#include <stdio.h>#include <stdlib.h>#include <math.h>int main(){ int day,month,year,result=0; int month1[12]={31,29,31,30,31,30,31,31,30,31,30,31}; int month2[12]={31,28,31,30,31,30,31,31,30,31,30,31}; printf("请.
2021-06-13 11:56:40
125
原创 py学习3——容器:字符串、列表、元组、字典、集合
一、字符串1.字符串的定义带引号的内容就是字符串# 单引号name = 'my_str'print(type(name), name)# 双引号name = "my_str"print(type(name), name)# 三引号name = '''my_strhello world'''print(type(name), name)# 如果字符串本身包含引号,就用别的引号来定义它# 字符串乘上一个整字n,就相当于复制了n次这个字符串my_str = 'hello ' *
2021-06-11 17:42:47
120
原创 Py学习1——计算机组成原理与计算机基础知识
简单的学习思路图,准备跟着某马学习,他提供的Py学习路线图,以及开源免费视频,在此感谢他的开源精神。1.计算机组成硬件系统主机部分 中央处理器 运算器 控制器 内存储器 随机存储器 只读存储器外设部分 输入设备 键盘 鼠标 摄像头等 输出设备 显示器 音箱 打印机等 外存储器 软盘 硬盘 U盘等软件系统系统软件 操作系统 驱动程序 语言处理程序 数据库管.
2021-04-27 11:49:26
381
2
原创 C_文件
分类:程序文件:包括源程序,目标文件,可指向文件等。这些文件的内容是程序代码。数据文件:文件内容不是程序,而是供我们读写的数据信息。 - 磁盘文件:存储在外部介质上,使用时调入内存。二进制存储,分为: 二进制文件 文本文件 - 设备文件:在操作系统中把每个与主机相连的输入、输出设备看作是一个文件。文件指针:用指针变量指向一个文件。每个被使用的文件都会在内存中开辟一个相应的文件信息区,用来存放文件的相关信息,而这些信息被保存到一个结构体变量
2021-03-07 21:50:59
117
原创 C_结构体
结构体:由不同类型数据组成的组合型数据结构。形式:struct 结构体{结构体列表};//定义声明结构体的三种方式://1、只声明不定义变量,在之后使用的时候再定义变量。struct student{ char name[50]; int age; int score;};//2、在声明的同时定义变量,小程序可以这样做,大程序就不适合了。struct Date{ int year; int month; int day;}date1,date2;//3、不使用类型名,直接定
2021-03-07 11:01:35
131
原创 C_指针
指针就是地址,指针变量就是存储地址的变量指针变量定义形式:类型名 *指针变量名;int main(){ int a=10; int *p=&a; //指针p指向a printf("%d\n",&p); //取地址符号,表示输出的是地址,结果为a的地址,也就是p指向的地址 printf("%d\n",p); //对然没有取地址符,但是指针本身就是地址,所以输出地址 printf("%d\n",*p); //指针变量,当然输出指针p所指向地址里
2021-03-06 16:57:38
98
原创 C_几个特殊的函数和一些作用域问题
1.关系运算符与关系表达式关系运算符的优先级大小:<, >, <= ,>=这四个优先级相同,并且高于==和!=它们的运算符大小比较:!(非)>算数运算符>关系运算符>&&和||>赋值运算符。...
2021-03-05 22:02:46
101
原创 C_第三章_顺序结构
1.顺序程序设计强制类型转化#include <stdio.h>int main(){ float f,c; f=64.0; c=(float)(5.0/9)*(f-32); //强转结果为double型,double为双精度,float为单精度 printf("f=%f\n",c); return 0;}2.数据的表现形式及其运算1.常量和变量常量:值不可以改变的量整型常量:普通的整型数字实型常量:用指数形式表示:1.45e3(代表1.45✖1
2021-02-07 22:23:30
274
原创 C_第二章_算法
1.程序=算法+数据结构程序包括对数据的描述和对操作的描述:其中对数据的描述是数据结构对操作的描述叫算法。而数据和操作的关系呢:数据是操作的对象,操作的目的就是对数据进行加工处理,得到预期的结果。2.算法算法也可以说是做事情的步骤,算法好就可以节省时间、空间的资源。计算机算法包含两大类:数值运算算法:求数值解,此类算法有固定的模型,将它们编写成册,供用户调用。非数值运算算法:常见于事务管理领域,此类算法运用广泛,只有一些应用较多的有成熟的算法可以使用,更多的还需要自己来设计。3.简单算
2021-01-28 19:23:48
396
原创 c_第一章_简介
1.程序程序就是让计算机识别执行的指令,让计算机自动的执行各种操作,从最开始半自动,到自动,再到计算机可以自己学习,智能的完成各种任务。这才是程序的发展。2.语言人于计算机之间的交流所使用的。机器语言:机器指令的集合。机器指令呢?–>就是计算机所能识别的二进制代码。但是很难学、难写、难记、难检查、难修改缺点很大。符号语言(汇编语言):为克服机器语言的缺点所创造,用字母代表对应的指令:ADD代表"加"。但是计算机并不能识别符号语言,需要使用汇编程序将符号语言转换为机器语言,但是它仍然很难记,
2021-01-26 18:14:37
107
原创 哈夫曼编码译码器
标题数据结构课设:哈夫曼编码译码器总结一下这次的课程设计,遇到的问题是如何解决的。功能:将权值数据存放在数据文件data.txt中。键盘输入字符集大小n、n个字符和n个权值,建立哈夫曼树。利用建好的哈夫曼树生成哈夫曼编码。使用data.txt中的权值数据生成的哈夫曼编码,将文件Text.txt中的字符串编码保存到HuffmanCode.txt文件中。使用data.txt中的权值数据...
2020-02-08 16:47:21
5775
3
原创 数据校验
数据校验表单数据的验证:前台验证:主要是通过js验证,表达数据是否合法!后台验证:通过后台java代码进行验证(struts也提供了数据校验的方式)struts数据校验,通过拦截器完成: <interceptor name="validation"class="org.apache.struts2.interceptor.validation.AnnotationValida...
2019-07-30 08:44:54
128
原创 Ognl表达式语言
概述OGNL表达式:OGNL是Object Graphic Navigation Language(对象图导航语言)的缩写,它是一个开源项目。Struts2 框架使用OGNL作为默认的表达式语言。OGNL优势支持对象方法调用,如xxx.doSomeSpecial();支持类静态的方法调用和值访问,表达式的格式:@[类全名(包括路径名)]@[方法名|值名],例如:@java.lan...
2019-07-29 18:45:21
522
原创 拦截器
拦截器执行流程:用户tomcat服务器拦截器1拦截器2Action实例1.启动,执行所有拦截器创建2.init()执行所有初始化方法3.init()4.用户访问5.创建action实例6.拦截器intercptor(...)方法7.invoke()8.invoke()9.execute()10111213.最终服务器响应浏览器用户tomcat服务器拦截器1拦截器2Action实例拦截器执行流程时...
2019-07-29 09:03:50
302
原创 Struts——文件上传
回顾:Struts提交的文件上传组件来上传文件:前台提交方式POST表单类型:multipart/form-dateinput type=“file”后台Apache提供的FileUpload组件核心类: FileItemFactory //FileItem的核心工厂 ServletFileUpload //servlet中文件上传的核心类 ...
2019-07-28 11:43:26
126
原创 Struts——请求数据自动封装、类型转换
请求数据自动封装:实现原理:参数拦截器 < interceptor name="params" class="com.opensymphony.xwork2.interceptor.ParametersInterceptor"/>方式1:jsp表单数据填充到action中的属性register.jsp:<form action="${pageContext.requ...
2019-07-28 08:40:29
145
原创 Struts——数据处理
对数据操作的所有方式(把数据保存到域中)方式1:直接获取servletApi核心类:ServletActionContext提供的静态方法方式2:通过ActionContext获取代表request/session/application的map方式3:通过实现接口的方法:(RequestAware/SessionAware/ApplicationAware)public class D...
2019-07-27 19:04:50
86
原创 Struts——通配符、常量
1.Struts2的action的开发的几种方式。方式1:继承ActionSupport(如果使用struts的数据校验的功能,必须继承此类)方式2:实现Action接口方式3:不继承任何类,不实现任何接口2.通配符:在struts中的配置信息中,可以用与{1}优化配置< action name=“login” class=“cn.jjs.b_execute.UserAction...
2019-07-27 16:46:25
143
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人