- 博客(147)
- 收藏
- 关注
原创 磁盘分区(拓展)——磁盘组成
磁盘的划分与磁盘组成密不可分。磁盘主要是由碟片、机械手臂、磁头与主轴马达所组成,而数据的写入其实是在碟片上面。磁片可以细分出扇区(Sector)和磁道(Track)两种单位,其中扇区的物理大小设计有两种,分别是512字节和4K字节。整块磁盘的第一个扇区特别重要,因为它记录了整块磁盘的重要信息。磁盘的分区格式有GPT(GUID partition table)现在,MBR(M...
2019-04-11 13:19:12
556
原创 磁盘分区1——磁盘链接方式与设备文件名
目前常见的磁盘接口有两种,分别是SATA(左,较为主流)和SAS(右)但是一些更老旧的计算机可能会使用不再流行的IDE接口目前通过发行版Linux的改进,IDE接口的磁盘文件名在大部分版本的Linux都已经和SATA一致了。 磁盘文件名虽然因为Linux的改进都统一了,但是依然没有被取消,因为目前虚拟化是一个非常使用的技术。正常的物理机器大概使用的都是/dev/sd...
2019-04-04 13:22:28
1743
原创 快速排序
快速排序被称为20世纪对世界影响最大的算法之一。他能以非常快的速度来完成排序任务。快速排序也是经过长时间的改进优化才被公认的认为是非常优秀的排序算法。快速排序的基本思想: 每次从当前考虑的数组中选择一个元素,这个元素为基点,把这个元素挪到他排好序后应该所处的位置。 例如: 原-> 4 6 2 3 1 5 7 8 现-> 2 3 1 4 6 5...
2018-09-02 15:11:20
272
原创 红黑树
可能在历史上最负盛名的二叉树:红黑树 红黑树:对每一个节点都附着了一个颜色,或者是红色或者是黑色。对于红黑树这种数据结构来说,相对是有些复杂的。我们在《算法导论》中发现红黑树要满足五个条件:首先红黑树是一颗二分搜索树,这一点与AVL树是一样的。红黑树在二分搜索树的基础上和AVL树一样,添加了一些其他的性质来保证他不会退化成为链表。也就是来保证自己是一棵平衡的二叉树。1.每个...
2018-07-30 01:02:45
2848
原创 Oracle基础(7)高级查询
分组查询分组函数:作用于一组数据,并对一组数据返回一个值常用的分组函数:AVG SUM MIN MAX COUNT VM_CONCAT最后一个是:行转列SELECT AVG(sal),SUM(sal) FROM emp;SELECT COUNT(*) FROM emp;如果要求部门的个数SELECT COUNT(distinct deptno) FROM emp; distinct函数是...
2018-06-08 16:40:12
471
原创 Oracle基础(6)函数
数值函数四舍五入函数:ROUND(n,[,m]) n表示要进行四舍五入的值 省略m: 0 m>0:小数点后m位 m<0:小数点前m位特殊的表:DUAL表 作用是我们在oracle当中不能直接来使用我们的函数,也就是不能在我们SELECT里...
2018-06-08 14:07:45
239
原创 ORACLE基础(5)查询
基本查询语句SELECT [DISTINCT] column_name1,....|* FROM table_name [WHERE condition]
2018-06-05 15:06:39
229
原创 ORACLE基础(4)约束
约束:控制你输入的具体值要满足的具体要求约束的作用:定义规则 你创建的表之后,可以定义那些字段必须输入,那些字段必须输入在某一个范围内的值,什么样的值确保数据的完整性:精确性,可靠性。防止错误信息和无效信息输入非空约束:创建表时设置:CREATE TABLE table_name(column_name datatype NOT NULL,...);如果不想给非空插入之就需要设置默认值在修改表时添...
2018-06-03 22:00:22
201
原创 ORACLE基础(3)操作表
添加数据:INSERT INTO table_name(column1,column2,...) VALUES(value1,value2,...);表名和值必须对应,如果在所有字段都添加值,表名可以省略 后面顺序必须匹配举例:INSERT INTO userinfo VALUES(1,'xxx','123','xxx@126.com',sysdate);sysdata是获取当前日期查看数据:SE...
2018-06-03 20:12:32
158
原创 ORACLE基础(2)管理表
表:表都存放在我们ORACLE里面的表空间里面,表示存储数据的最基本的存储单位,我们需要把我们数据都存放在我们表当中。在ORACLE当中我们的表都是二维结构,它是由行和列组成的。横向就是行,纵向就是列一行:记录一列:域或者字段约定:1 每一列的数据必须具有相同的数据类型 2 列名唯一 3 每一行的数据唯一性数据类型: 字符型:CHAR(n)、NCHAR(n...
2018-06-01 15:51:38
357
原创 Oracle基础(1)用户与表空间
用户:登录SQL Plus SQL Plus是Oracle自带的一款工具,是在Dos界面下使用sql语句的方式来操作管理我们的数据库,也是被很多系统管理员使用的产品 系统用户: sys,system 这两个是权限比较高的用户 sys权限高于system 我们是用sys登录的时候必须使用管理员或者系统操作人员权限才能登陆,而system可以直接登录 sysma...
2018-05-31 16:42:55
576
原创 Flask入门——简单应用
打开我们创建的项目在项目目录新建python源文件 叫做run或者项目的名字我们需要导入flask包给我们提供的核心的类我们发现没有找到,因为我们的flask安装在虚拟环境里的但是在默认情况下pycharm他所指代的默认环境不是虚拟环境而是我们全局的python环境在External Libraries看到我们需要设置当前项目的虚拟环境路径点击File,然后settings打开后左边选择Proje...
2018-05-16 02:31:20
1117
原创 Flask入门——创建项目
在Windows上安装virtualenv有点麻烦,涉及到一些权限的问题,推荐使用pipenv我们需要安装pipenv首先搞清楚一个概念:pipenv是pipenv,虚拟环境是虚拟环境pipenv只是一个工具,我们需要用pipenv来创建虚拟环境我们创建的虚拟环境和项目的关系:虚拟环境和项目是绑定的换句话说就是我们需要给每一个项目创建一个单独的虚拟环境更直接点说,以后只要创建项目就一定要给项目创建...
2018-05-16 01:48:44
766
原创 初探微信小游戏(三)
模块分解-game.js 游戏全局的入口文件,是微信小游戏必有的一个文件,这个文件必须要有 所有的初始化module都是通过game.js来加载到其他module里的模块分解-Main.js 程序主类,主要用来初始化canvas和一些全局对象,各个精灵和绑定点击事件模块分解-Director.js 程序导演类,用来控制游戏的逻辑和精灵的创建与销毁,控制游戏主循环模块分解-D...
2018-05-16 00:07:31
766
2
原创 初探微信小游戏(二)
游戏的过程一定是面向对象的,简单过渡一下ES6-_-||其实自己ES6也很水首先和ES无关的 H5中 script标签不需要加type的1.严格模式ES5我们如果不使用严格模式会有很多错误的写法,这些写法造成一些潜在的错误,包括我们规范上的一些不合适的地方(function(){ 'use strict';})();use strict 可以让我们的代码更加的严格,这也是我们前端同学在写前...
2018-05-14 23:44:19
679
原创 初探微信小游戏(一)
打开小程序IDE首先是Game.jsimport './js/libs/weapp-adapter'import './js/libs/symbol'import Main from './js/main'new Main()import了几个相应的库,然后 new main()在其他目录audio存放声音文件images图片文件js目录存放我们对应的库包括对象池,游戏的精灵类等等另外如果是ES6...
2018-05-14 21:26:55
388
原创 数据结构
数据结构研究的是数据如何在计算机中进行组织和存储,使我们可以高效的获取数据或者修改数据数据结构可以分成3种结构数据库:需要大量数据结构知识,最重要的是树结构(AVL,红黑树,Treap,伸展树,B树) 哈希表没有这些知识无法制作数据库操作系统:快速多任务切换,用到系统栈,优先队列:堆文件压缩:哈夫曼树(现在不用了)通信录:Trie-前缀树数据结构本事是大量算法的基石寻路:图论算法:DFS(深度优先...
2018-05-07 06:32:22
163
原创 Java基础知识总结(14)——输入输出流(未完成)
输入输出流: 复制粘贴文件,就是把一组数据存储计算机 上传头像就相当于把本地上传到网络服务器 比如System.out.println(); 程序将我们的字符串通过一个类似于通道的东西输出到目的地 输入又叫做write(写操作) 通道为stream(流) 字符从流中依次通过,形成字符流 流就是指一连串流动的字符,以先进先出的方式发送信息的通道...
2018-04-16 07:54:16
212
原创 Java基础知识总结(13)——线程
什么是线程: 进程是指可执行程序并存放在计算机存储器的一个指令序列,它是一个动态执行的过程 我们打开Windows任务管理器 看到进程选项卡,比如qq和记事本 有的软件对应一个进程,有的软件对应多个进程,比如杀毒软件或者数据库软件 比较大的软件是多个进程组成的 早期的操作系统都是单任务的操作系统,也就是我们看到的QQ或者音乐播放器,只能一个运行。一...
2018-04-16 06:54:26
189
原创 Java基础知识总结(12)——集合(待定未完成)
集合框架的体系结构:分类两类List表示序列 要求有序,允许重复Queue表示队列 要求有序,允许重复Set表示集 无序的,不允许重复的每个接口有各自的实现类,在List接口下面有ArrayList,长度动态增长的数组Queue下面有LinkedList,同时实现了List接口,表示链表内容Set实现 HashSet就是哈希集Map主要实现是HashMap...
2018-04-16 04:51:26
159
原创 Java基础知识总结(11)
在Java中基本数据类型不具有对象特征的没有属性和方法,没法对象化交互包装类的产生就是为了解决基本类型这样的问题通过包装类可以让基本类型拥有属性和方法,可以对象化交互注意一下打钩的两个字不一样所有的包装类都是final继承的所有的数值型都是继承Number类的bool和char不是数字所以继承了Object装箱:基本数据类型 → 包装类拆箱:包装类 → 基本类型的值装箱:1自动装箱...
2018-04-15 15:03:56
190
原创 Java基础知识总结(10)——异常
异常:本质上是程序的错误错误在我们编写程序过程中经常发生,包括编译期间和运行期间的错误比如说括号没有配对 或者少了分好, 关键字编写错误等等通常编译器帮我们一起修订但是运行期间错误编译器就无能为力了这些都是运行期间的错误在程序运行过程中,意外发生的情况,背离我们程序本身的意图的表现都可以理解为异常可以理解为一种事件Java通过Throwable已经相关子类来对各种异常进行描述Throwab...
2018-04-15 08:39:24
172
原创 Java基础知识总结(9)
多态:意味着允许不同类的对象对同一消息做出不同的响应多态大多指的是允许时多态必要条件:满足继承关系,父类引用指向子类对象会产生不同的方法,都是一个方法,实例类型不同,不一样方法2和3被称为向上转型 隐式转型 自动转型——父类引用指向子类实例我们可以调用自己重写的,可以调用父类的派生方法不过无法调用自己的特有方法向下转型:强制类型转换子类引用指向分类对象,此处必须进行强转可以调用子类特有方法这个类型...
2018-04-15 05:09:49
135
原创 Java基础知识总结(8)
单例模式:目的-使得类的一个对象成为该类系统的唯一实例一个类有且仅有一个实例,并且可以自行实例化向整个系统提供饿汉式:空间换时间, 速度快 空间大懒汉式: 用时间换空间、...
2018-04-14 18:38:56
143
原创 Java基础知识总结(7)
Object类所有类的父类(包括数组)https://docs.oracle.com/javase/8/docs/api/equals:相等是false因为是new关键字 指向不同空间但是引用比较true因为string重写了equals方法,比较的是内容如果比较one和two的值是否相同我们需要重写equeals不过这样传入 强行转换容易出错这就是方法重载注意避免空指针异常toString()打...
2018-04-14 18:16:23
172
原创 Java基础知识总结(6)
在src创建包 通过包对类管理 包的命名规范 1英文小写字母2域名倒序对象的属性不初始化会出有默认值 整形是0字符串为nulldouble是0.0Cat one = new Cat();完成了两个部分操作,声明对象 Cat one 实例化对象 new Cat()声明对象:在栈空间开辟一片区域叫做one这时候里面是空的,他还不是一...
2018-04-14 15:59:18
123
原创 Java基础知识总结(5)
数组声明: 语法格式:数据类型[] 数组名; 数据类型 数组名[];这两种都可以,第一种常用int[] myIntArray;int myIntArray[];推荐第一个char[] ch;String[] strArray;字符串本身是一个类这个叫对象数组数组创建 语法格式1:先声明后创建 数据类型[] 数组名;数组名 = new 数据类型[数组长...
2018-04-14 03:47:20
99
原创 EclipseDebug
第一步设置断点:代码前面点出蓝色的点,再双击取消第二部执行调试:右键debugas 或者上面的Run里面有个debug或者找到小虫子打开Debug视图左上角展示了哪个类哪个方法第几行这里是变量和断点代码区域大纲,看到我们的代码结构控制台快捷键F6单步调试F5:运行到自定义方法,跳到方法执行点控制台上红色的键停止调试右上角点java就切换回来了多断点:F8直接调到下一个断点循环里的断点 每循环一次...
2018-04-13 14:13:06
368
原创 Java基础知识总结(4)
流程控制:顺序、选择、循环switch结构:判断条件是常量值switch(n){ case 1:System.out.println("星期一");break; case 2:System.out.println("星期二");break; case 3:System.out.println("星期三");break;...}循环whilewhile(循环条件){ 语句;}...
2018-04-13 14:02:08
138
原创 Java基础知识总结(3)
表达式:运算符和操作数组成的如:5 num1 num1+num2操作数是num1 和num2 +是运算符赋值运算符 int n=5;变量=表达式赋值运算符是从右往左赋值运算符的左边不能常量++和-- 注意顺序就好除法 分子和分母都是整形时为整除记一个语句从键盘接受数据Scanner s=new Scanner(System.in);int n=s.nextInt();if(条件){ <...
2018-04-13 13:41:00
115
原创 Java基础知识总结(2)
标识符:例如类名 里面每一个字母是字符,双引号引起来的是字符串可以是其他字符, 不是数字开头 不能空格等等,和其他语言差不多字符,数字 下划线 和$组成 不能数字开头 严格区分大小写 ,不能使关键字 保留字Eclipse中紫颜色的就是关键字要反应出起作用 别是abc关键字:goto会造成程序逻辑混乱,我们把他定义保留字并不使用变量:程序当中数据临时存放场所,解决数据存储问题,存储到内存中通过三个元...
2018-04-13 12:07:40
238
原创 Java基础知识总结(1)
JVM Java(Java Virtual Machine)虚拟机执行流程解释执行为JVM完成,一次编译,到处运行JDK(Java Development Kit):Java语言软件开发工具包开发阶段靠他完成相关命令作为组件-javac 编译组件,将源程序转换为字节码-java 运行编译后的java程序 (.class后缀的)JRE(Java Runtime Environment)包括 JVM、...
2018-04-13 06:59:55
182
原创 C#面向对象总结(2)
装箱和拆箱:装箱:就是将值类型转换成引用类型第一幅图,oi是一个空的引用,i是一个值类型3发生装箱以后oi这个引用不再是空,而是堆当中的对象,这个对象包含一个值是3,这个对象是一个新创建的对象。和原来的值类型的3不是在一个地方存储的,完全不相关。创建了一个新的对象,一个新的副本。而且这个对象是在堆当中的。我们知道值类型是在栈当中的堆当中的对象是需要gc回收的,语言机制帮我们绑定给的栈当中是超出作用...
2018-04-06 00:08:13
184
原创 C#面向对象总结(1)
隐藏方法:我们不能删除基类中的任何成员,但是可以用与基类成员名称相同的成员来屏蔽基类成员 屏蔽数据成员:在派生类中声明名称和类型相同的成员 屏蔽函数成员:在派生类中声明新的带有相同函数签名的成员 让编译器知道:可以添加new关键字,否则会警告虚方法与多态: 一个设计原则:面向对象编程中,都要遵循一个原则:依赖倒置原则。 换句话说就是程序设计要依赖抽象类(Pet),而不...
2018-04-03 23:13:38
181
原创 神经元
神经网络是一种人类由于受到生物神经细胞结构的启发而研究出的一种算法研究细胞体外部---树突上面的大的就是细胞体细胞体周围小支差就是树突细长的象尾巴一样的东西就是轴突不同细胞之间通过树突和突轴相互传递信息他们的接触点叫做突触所以信号由一个细胞的突轴,通过突触将信息传递给另一个细胞的树突人类由于神经细胞的刺激来传递信息的方式设计出了神经网络神经网络难以理解的地方,就是他的实现原理数据结构和基础算法加减...
2018-04-01 23:47:02
1591
原创 随机森林(未完成待定!)
Bagging:使用随机取样的方式包括在特征空间 随机取特征这样的方式来创建诸多的子模型来集成在一起这种方式就叫做Bagging我们使用了基础分类器Base Estimator:Decision Tree,就是基础的评估算法就是决策树我们集成学习就相当于集成了成百上千的决策树对于这样一个集成学习的模型通常有一个更形象的名字:随机森林因为我们有很多书,每棵树都是随机取样形成的具有随机性就是随机森林只...
2018-04-01 02:08:37
133
原创 集成学习
我们学习了很多机器学习算法,对应不同算法给出的结果不同,这种情况下我们听那个算法的结果呢?我们完全可以把多个算法集中起来,让不同的算法对同一个问题都进行运算,看看结果,最终少数服从多数生活中的集成学习:买东西找别人推荐,我们找很多人推荐,然后看他们投票,因为每一个人经历不同,视角不同,他们给出的决策原因就不同,我们集成更多人的意见,通常来讲,最终得到的决策很有可能最合适病情确诊:我们去医院得到检查...
2018-04-01 02:03:51
240
原创 决策树
例子:假设有一个公司想要招聘机器学习算法工程师,他们招聘过程中很有可能采用这样一个流程如下这样的过程形成了树的结构这棵树的叶子节点的位置,其实就是我们最终做出的决策这个决策就是对于输入相当于应聘者的信息进行了分类这样的过程就是决策树有计算机领域的树结构的所有性质包括节点,根节点,包括叶子节点和深度这里的深度为3,最多通过三次判断就可以分类我们在每一个节点决策的时候判断的属性可以用Y和N回答实际上我...
2018-04-01 01:39:53
247
原创 支撑向量机SVM
支撑向量机Support Vector Machine我们使用支撑向量机既可以解决分类也可以解决回归我们先来讨论分类问题逻辑回归本质就是在这个二维平面找到决策边界我们分类算法就告诉我们如果在这个决策边界一边就属于一类否则就属于另一类对于一些数据存在这样一个问题,就是决策边界并不唯一决策边界不唯一通常有一个属于叫做 不适定问题逻辑回归是如何解决这个 不适定问题的他解决的思路是定义一个概率函数就...
2018-04-01 01:23:48
407
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人