精华内容
下载资源
问答
  • 现在看来之前没有过原因就是没有好好看书好复习,吸取前面的经验教训,这次可是把数据库系统原理好好的看了一遍,正是因为这一遍的学习,让我相信,数据库真的没有那么。正因为前面的自考复习,所以在软考复习的...

    引言

        

           在我艰难的自考历程中,数据库系统原理考两次,现在也正经历第三次。现在看来之前没有过原因就是没有好好看书好复习,吸取前面的经验教训,这次可是把数据库系统原理好好的看了一遍,正是因为这一遍的学习,让我相信,数据库真的没有那么难。正因为前面的自考复习,所以在软考复习的时候这一块也轻松了很多。

     

    概念

     

           所谓的范式就是为了减少数据库中数据冗余的过程。越高级别的范式数据冗余越小,反之则是数据冗余越大。所以可以把第一范式(1NF)、第二范式(2NF)、第三范式(3NF)、巴斯-科德范式(BCNF)按减少数据冗余的大小排列为:1NF<2NF<3NF<BCNF。从中可以得到较高级别的范式一定满足比它低级的范式要求,如:BCNF满足1NF2NF3NF的条件,BCNF一定是1NF2NF3NF ,3NF满足2NF1NF的条件,所以3NF一定是1NF2NF

     

    1NF

     

          第一范式的要求在所有范式中是最低的,它只要求数据库表的每一列都是不可分割的原子数据项,不可以是集合、数组、记录等非原子数据项。也就是实体中的属性不可以是多值,如果是多值必须进行拆分。如下表就不符合第一范式,成绩统计这一项就有两个值,应把它拆分,这样才能变成第一范式。

     

     

    成绩统计

    系别

    及格人数

    不及格人数

    中文

    30

    4

    计算机

    25

    10

     

         那第一范式应该是什么样子的呢?如下表

     

    学号

    学生姓名

    课程

    课程编码

    成绩

    学分

    001

    张三

    现代文学

    C01

    82

    4

    002

    李四

    古代文学

    C02

    55

    1

     

    2NF

     

            2NF是在第一范式的基础上建立的,要满足第二范式就要满足一范式。要求数据库表中的每个实例必须可以被唯一区分,还须选取一个能区分每个实体的属性或属性组,作为实体的唯一标识。也就是在第一范式的基础上属性完全依赖于主键。

            如上面那个第一范式的例子就不符合第二范式,表中的主键是学号和课程编码,学分这一属性只是部分依赖学号这一主键,所以它不符合第二范式。须拆成两个表即可:如表R1R2

     

    R1

    学号

    学生姓名

    课程编码

    课程

    成绩

    001

    张三

    C01

    现代文学

    82

    002

    李四

    C02

    古代文学

    55

     

    R2

    课程编码

    学分

    C01

    4

    C02

    4

     

    3NF

     

           三范式是在第二范式的基础上建立起来的,想要满足第三范式必须满足第二范式。第三范式在第二范式的基础上不可以存在任何非主属性的传递函数依赖函数。

     

           什么是传递函数依赖呢?举个例子,这样比较好理解:比如说我很想接近一个人,偶然间在一个人的资料上发现了他的身份证号,从他的身份证号里,我得到了他的出生年月信息,于是我就在他生日那天,送了礼物,从此两个人的关系就又近了,哈哈……有没有觉得我很聪明?在这里面就有个传递函数依赖:身份证号——>生日——>送礼物——>关系近了。

     

           例子是有了,但是到了关系模式上又是怎么样的呢?先看一下具有非主属性的传递函数依赖的关系模式,学号——>学院代码——>学院名称;学号——>学院代码——>学院地址,所以下表是不符合3NF的。

     

    学号

    学生姓名

    学院代码

    学院名称

    学院地址

    001

    张三

    D01

    文学院

    1号楼

    002

    李四

    D02

    管理学院

    2号楼

     

          那我们就应该把表拆分成如下两表,这样就不会出现传递函数依赖了。

    学号

    学生姓名

    学院代码

    001

    张三

    D01

    002

    李四

    D02

     

    学院代码

    学院名称

    学院地址

    D01

    文学院

    1号楼

    D02

    管理学院

    2号楼

     

     

    BCNF

     

         BCNF是在3NF的基础上建立起来的,它比2NF和3NF中设计规范要求更强,可以是数据库的冗余度更小。BCNF消除了任何属性对码的传递依赖与部分依赖。这个是很难做到的,所以就不举例了。

     

    总结

     

          总结还是用个表格吧,让这几个模式在对比中再学一遍,有没有觉得很简单啊?

     

    范式

    要求

    1NF

    实体中的属性不可以是多值

    2NF

    1NF的基础上属性完全依赖于主键,不可以有部分依赖

    3NF

    在2NF的基础上不可以存在任何非主属性的传递函数依赖函数。

    BCNF

    在3NF的基础上消除了任何属性对码的传递依赖与部分依赖。

    展开全文
  • 书中内容主要集中在大多数企业常见的问题之上,如安装和升级到oracle database 11g数据库软件、创建数据库、导出和导入数据、数据库的备份与恢复、性能调优,等等。  本书还提供了dba完成本职工作必备的基本的uniix...
  • 数据库大作业——项目初始化及登录界面实现

    千次阅读 多人点赞 2021-05-09 09:34:15
    对于一个框架了很少一部分的菜鸡来说,做一个网页版的小项目demo可真是太了,边参考边边查(光跨域处理我就见过好多种,最后选了一个教程最详细,其实是因为有代码的做法,不过相比起来它也确实比其他从后端...
    对于一个框架学了很少一部分的菜鸡来说,做一个网页版的小项目demo可真是太难了,边参考边学边查(光跨域处理我就见过好多种,最后选了一个教程最详细,其实是因为有代码的做法,不过相比起来它也确实比其他从后端配置接口,又继承什么的要简单一些,它主要是在前端做的,采用的api),一个浏览器开着好几个页面,就这很多也只是学会了用法,至于原理更是懂得很少,底层的东西都太难了,能做到手撕源码的大佬,默默问一句“你们是人吗?”(狗头保命)。
    一、项目初始化

    关于这一部分,感慨颇深,由于之前踩过坑,本以为这次不会踩了,结果由于上次的学习间隔时间太久(好几个月了),忘了这个坑,就又踩了一遍。尽量不要使用idea创建vue项目,否则你会发现很多东西和网上的大多数教程是有区别的,少了router文件夹,多了public文件夹等等,而且,官方文档的讲解也主要是针对于vue2.0,所以强烈建议使用命令行创建,这种创建方式也更加能体现vue.cli(vue脚手架的特性)。前提已经有node环境,因为vue.cli用npm安装,而npm 是集成在 Node.js中的。
    这里就只放一些相关的命令了。

    vue init webpack database-vue项目初始化
    后边基本上就是一路回车,但要注意
    询问到是否安装 vue-router,选择是,因为是页面显示的关键。
    还会问道是否使用 es-lint,强烈建议不使用,这玩意真的真的是太恶心了,虽然习惯了可以让你的代码更规范,但,我反正是受不了。
    进入项目文件夹,执行npm install,会下载项目所需的依赖包等东西
    执行npm run dev,访问http://localhost:8080,即可看到标志性的vue的logo
    在这里插入图片描述
    在这里插入图片描述
    后边再用idea打开项目即可。

    二、登录界面实现

    细节不说了,说一下关于配置文件的内容,常见的是properties类型,不过现在大部分开始转向yml格式了,这里我对两种方法都进行了测试,都是可以达到效果的。yml格式一定要格外注意格式,他不管空格的多少,至少一个吧可以说,但只要是同一级,则一定要对齐。

    关于url,其实有一个好玩的东西,因为我们大多测试都是在本机进行,即都是localhost或者127.0.0.1,那么在写的时候直接省略即可,即直接写jdbc:mysql:///book

    application.properties
    server.port=8181
    spring.datasource.url=jdbc:mysql://127.0.0.1:3306/book?serverTimezone=UTC&useUnicode=true&characterEncoding=UTF-8
    spring.datasource.username=改成你的用户名
    spring.datasource.password=改成你的密码,休想看我的
    spring.datasource.driver-class-name=com.mysql.jdbc.Driver
    spring.jpa.hibernate.ddl-auto=none
    
    application.yml
    server:
      port: 8181
    spring:
      datasource:
        url: jdbc:mysql://127.0.0.1:3306/book?serverTimezone=UTC&useUnicode=true&characterEncoding=UTF-8
        username: 改成你的用户名
        password: 改成你的密码,休想看我的
        driver-class-name: com.mysql.jdbc.Driver
      jpa:
        hibernate:
          ddl-auto: none
    

    真正的登录界面结合Element-UI更好看

    在这里插入图片描述

    在这里插入图片描述

    在这里插入图片描述

    这两个月还挺忙的,起早贪黑+提高效率应该可以吧。
    展开全文
  • 2.3.3 TCP/IP连接的基本原理 57 2.4 小结 59 第3章 文件 60 3.1 参数文件 61 3.1.1 什么是参数 62 3.1.2 遗留的init.ORA参数文件 65 3.1.3 服务器参数文件 67 3.1.4 参数文件小结 72 3.2 跟踪文件 73 3.2.1...
  • (10004,'线性代数','理学院'),(10005,'自动控制原理','机械学院'),(10006,'大学英语1','外国语学院'),(10007,'运筹','经济管理学院'),(10008,'运筹','经济管理学院'),(10009,'大学物理','基础课程'),(10010,'...
  • 2.3.3 TCP/IP连接的基本原理 58 2.4 小结 61 第3章 文件 63 3.1 参数文件 64 3.1.1 什么是参数? 65 3.1.2 遗留的init.ora参数文件 67 3.1.3 服务器参数文件 69 3.1.4 参数文件小结 75 3.2 跟踪文件 76 ...
  • 大数据技术与应用复习篇

    千次阅读 多人点赞 2021-01-08 21:54:44
    文章目录大数据概述HadoopHadoop简介Hadoop特性大规模文件系统的整体结构通信协议冗余数据保存SparkSpark简介Scala简介Spark VS HadoopSpark运行架构窄依赖与宽依赖阶段的划分分布式数据库HBaseHBase简介HBase数据...

    在这里插入图片描述

    内容太多了,想着就这样大眼瞪小眼的也没办法,还不如整理一份。

    Tips:真要学习的就绕开吧,仅为考试所用,太难的内容没有,我也不耽误宝贵的时间,有这时间多看几篇我其他的干货不好吗?

    大数据概述

    天天说大数据大数据的,大数据具体都有哪些特点呢?

    数据量大
    数据类型繁多
    处理速度快
    价值密度低(商业价值高)

    Hadoop

    Hadoop简介

    Hadoop是Apache软件基金会旗下的一个开源分布式计算平台,为用户提供了系统底层细节透明的分布式基础架构

    Hadoop是基于Java语言开发的,具有很好的跨平台特性,并且可以部署在廉价的计算机集群中

    Hadoop的核心是分布式文件系统HDFS(Hadoop Distributed File System)和MapReduce

    Hadoop被公认为行业大数据标准开源软件,在分布式环境下提供了海量数据的处理能力

    几乎所有主流厂商都围绕Hadoop提供开发工具、开源软件、商业化工具和技术服务,如谷歌、雅虎、微软、思科、淘宝等,都支持Hadoop


    Hadoop特性

    	高可靠性
        高效性
        高可扩展性
        高容错性
        成本低
        运行在Linux平台上
        支持多种编程语言
    

    大规模文件系统的整体结构

    在这里插入图片描述

    HDFS默认一个块64MB,一个文件被分成多个块,以块作为存储单位
    块的大小远远大于普通文件系统,可以最小化寻址开销

    HDFS采用抽象的块概念可以带来以下几个明显的好处:
    ● 支持大规模文件存储
    ● 简化系统设计
    ● 适合数据备份


    通信协议

    HDFS是一个部署在集群上的分布式文件系统,因此,很多数据需要通过网络进行传输

    所有的HDFS通信协议都是构建在TCP/IP协议基础之上的

    客户端通过一个可配置的端口向名称节点主动发起TCP连接,并使用客户端协议与名称节点进行交互

    名称节点和数据节点之间则使用数据节点协议进行交互

    客户端与数据节点的交互是通过RPC(Remote Procedure Call)来实现的。在设计上,名称节点不会主动发起RPC,而是响应来自客户端和数据节点的RPC请求


    冗余数据保存

    作为一个分布式文件系统,为了保证系统的容错性和可用性,HDFS采用了多副本方式对数据进行冗余存储,通常一个数据块的多个副本会被分布到不同的数据节点上。这种多副本方式具有以下几个优点:

    (1)加快数据传输速度
    (2)容易检查数据错误
    (3)保证数据可靠性
    

    在这里插入图片描述


    Spark

    Spark简介

    Spark具有如下几个主要特点:

    运行速度快
    容易使用
    通用性
    运行模式多样
    

    Scala简介

    Scala是一门现代的多范式编程语言,运行于Java平台(JVM,Java 虚拟机),并兼容现有的Java程序

    Scala的特性:
    Scala具备强大的并发性,支持函数式编程,可以更好地支持分布式系统
    Scala语法简洁,能提供优雅的API
    Scala兼容Java,运行速度快,且能融合到Hadoop生态圈中


    Spark VS Hadoop

    相比于Hadoop MapReduce,Spark主要具有如下优点:

    Spark的计算模式也属于MapReduce,但不局限于Map和Reduce操作,还提供了多种数据集操作类型,编程模型比Hadoop MapReduce更灵活

    Spark提供了内存计算,可将中间结果放到内存中,对于迭代运算效率更高
    Spark基于DAG的任务调度执行机制,要优于Hadoop MapReduce的迭代执行机制


    Spark运行架构

    RDD:是Resillient Distributed Dataset(弹性分布式数据集)的简称,是分布式内存的一个抽象概念,提供了一种高度受限的共享内存模型

    DAG:是Directed Acyclic Graph(有向无环图)的简称,反映RDD之间的依赖关系

    Executor:是运行在工作节点(WorkerNode)的一个进程,负责运行Task

    应用(Application):用户编写的Spark应用程序
    任务( Task ):运行在Executor上的工作单元
    作业( Job ):一个作业包含多个RDD及作用于相应RDD上的各种操作
    阶段( Stage ):是作业的基本调度单位,一个作业会分为多组任务,每组任务被称为阶段,或者也被称为任务集合,代表了一组关联的、相互之间没有Shuffle依赖关系的任务组成的任务集


    此处略过一堆RDD概念

    窄依赖与宽依赖

    对于窄依赖,由于父RDD的一个分区只对应一个子RDD分区,这样只需要重算和子RDD分区对应的父RDD分区即可,所以这个重算对数据的利用率是100%的;

    对于宽依赖,重算的父RDD分区对应多个子RDD分区,这样实际上父RDD 中只有一部分的数据是被用于恢复这个丢失的子RDD分区的,另一部分对应子RDD的其它未丢失分区,这就造成了多余的计算;更一般的,宽依赖中子RDD分区通常来自多个父RDD分区,极端情况下,所有的父RDD分区都要进行重新计算。

    如下图所示,b1分区丢失,则需要重新计算a1,a2和a3,这就产生了冗余计算(a1,a2,a3中对应b2的数据)。

    在这里插入图片描述


    阶段的划分

    窄依赖可以实现“流水线”优化
    宽依赖无法实现“流水线”优化

    在这里插入图片描述


    分布式数据库HBase

    HBase简介

    HBase是一个高可靠、高性能、面向列、可伸缩的分布式数据库,是谷歌BigTable的开源实现,主要用来存储非结构化和半结构化的松散数据。HBase的目标是处理非常庞大的表,可以通过水平扩展的方式,利用廉价计算机集群处理由超过10亿行数据和数百万列元素组成的数据表

    Q:关系数据库已经流行很多年,并且Hadoop已经有了HDFS和MapReduce,为什么需要HBase?

    1. Hadoop无法满足大规模数据实时处理应用的需求
    2. HDFS面向批量访问模式,不是随机访问模式
    3. 传统的通用关系型数据库无法应对在数据规模剧增时导致的系统扩展性和性能问题(分库分表也不能很好解决)
    4. 传统关系数据库在数据结构变化时一般需要停机维护
    5. HBase已经成功应用于互联网服务领域和传统行业的众多在线式数据分析处理系统中

    HBase数据模型概述

    HBase是一个稀疏、多维度、排序的映射表,这张表的索引是行键列族列限定符时间戳

    每个值是一个未经解释的字符串,没有数据类型

    用户在表中存储数据,每一行都有一个可排序的行键和任意多的列

    表在水平方向由一个或者多个列族组成,一个列族中可以包含任意多个列,同一个列族里面的数据存储在一起

    列族支持动态扩展,可以很轻松地添加一个列族或列,无需预先定义列的数量以及类型,所有列均以字符串形式存储,用户需要自行进行数据类型转换
    HBase中执行更新操作时,并不会删除数据旧的版本,而是生成一个新的版本,旧有的版本仍然保留(这是和HDFS只允许追加不允许修改的特性相关的)


    HBase系统架构

    在这里插入图片描述

    1. 客户端
      客户端包含访问HBase的接口,同时在缓存中维护着已经访问过的Region位置信息,用来加快后续数据访问过程

    2. Zookeeper服务器
      Zookeeper可以帮助选举出一个Master作为集群的总管,并保证在任何时刻总有唯一一个Master在运行,这就避免了Master的“单点失效”问题

    3. Master
      主服务器Master主要负责表和Region的管理工作:
      管理用户对表的增加、删除、修改、查询等操作
      实现不同Region服务器之间的负载均衡
      在Region分裂或合并后,负责重新调整Region的分布
      对发生故障失效的Region服务器上的Region进行迁移

    4. Region服务器
      Region服务器是HBase中最核心的模块,负责维护分配给自己的Region,并响应用户的读写请求


    Region服务器工作原理

    用户读写数据过程

    用户写入数据时,被分配到相应Region服务器去执行

    用户数据首先被写入到MemStore和Hlog中

    只有当操作写入Hlog之后,commit()调用才会将其返回给客户端

    当用户读取数据时,Region服务器会首先访问MemStore缓存,如果找不到,再去磁盘上面的StoreFile中寻找


    缓存的刷新

    系统会周期性地把MemStore缓存里的内容刷写到磁盘的StoreFile文件中,清空缓存,并在Hlog里面写入一个标记

    每次刷写都生成一个新的StoreFile文件,因此,每个Store包含多个StoreFile文件

    每个Region服务器都有一个自己的HLog 文件,每次启动都检查该文件,确认最近一次执行缓存刷新操作之后是否发生新的写入操作;如果发现更新,则先写入MemStore,再刷写到StoreFile,最后删除旧的Hlog文件,开始为用户提供服务


    StoreFile的合并

    每次刷写都生成一个新的StoreFile,数量太多,影响查找速度

    调用Store.compact()把多个合并成一个

    合并操作比较耗费资源,只有数量达到一个阈值才启动合并


    HLog

    分布式环境必须要考虑系统出错。HBase采用HLog保证系统恢复

    HBase系统为每个Region服务器配置了一个HLog文件,它是一种预写式日志(Write Ahead Log)

    用户更新数据必须首先写入日志后,才能写入MemStore缓存,并且,直到MemStore缓存内容对应的日志已经写入磁盘,该缓存内容才能被刷写到磁盘


    NoSQL

    通常,NoSQL数据库具有以下几个特点:

    1)灵活的可扩展性
    (2)灵活的数据模型
    (3)与云计算紧密融合
    

    关系数据库已经无法满足Web2.0的需求。主要表现在以下几个方面:

    1)无法满足海量数据的管理需求
    (2)无法满足数据高并发的需求
    (3)无法满足高可扩展性和高可用性的需求
    

    在这里插入图片描述
    在这里插入图片描述


    NoSQL的三大基石

    在这里插入图片描述

    C(Consistency):一致性
    A:(Availability):可用性
    P(Tolerance of Network Partition):分区容忍性

    一个分布式系统不可能同时满足一致性、可用性和分区容忍性这三个需求,最多只能同时满足其中两个


    BASE

    BASE的基本含义是基本可用(Basically Availble)、软状态(Soft-state)和最终一致性(Eventual consistency):


    MongoDB

    MongoDB 是由C++语言编写的,是一个基于分布式文件存储的开源数据库系统。

    曾经我也有做这些底层的想法。
    后来,快乐,啪,没了。


    云数据库

    云数据库是部署和虚拟化在云计算环境中的数据库。
    云数据库是在云计算的大背景下发展起来的一种新兴的共享基础架构的方法,它极大地增强了数据库的存储能力,消除了人员、硬件、软件的重复配置,让软、硬件升级变得更加容易。
    云数据库具有高可扩展性、高可用性、采用多租形式和支持资源有效分发等特点。


    MapReduce

    在这里插入图片描述

    MapReduce模型简介

    MapReduce将复杂的、运行于大规模集群上的并行计算过程高度地抽象到了两个函数:Map和Reduce

    编程容易,不需要掌握分布式并行编程细节,也可以很容易把自己的程序运行在分布式系统上,完成海量数据的计算

    MapReduce采用“分而治之”策略,一个存储在分布式文件系统中的大规模数据集,会被切分成许多独立的分片(split),这些分片可以被多个Map任务并行处理

    MapReduce设计的一个理念就是“计算向数据靠拢”,而不是“数据向计算靠拢”,因为,移动数据需要大量的网络传输开销

    MapReduce框架采用了Master/Slave架构,包括一个Master和若干个Slave。Master上运行JobTracker,Slave上运行TaskTracker

    Hadoop框架是用Java实现的,但是,MapReduce应用程序则不一定要用Java来写


    MapReduce工作流程

    在这里插入图片描述
    不同的Map任务之间不会进行通信
    不同的Reduce任务之间也不会发生任何信息交换
    用户不能显式地从一台机器向另一台机器发送消息
    所有的数据交换都是通过MapReduce框架自身去实现的


    流计算

    流计算:实时获取来自不同数据源的海量数据,经过实时分析处理,获得有价值的信息

    在这里插入图片描述


    就到这儿吧,以上是我能看的下去的。

    听说我的好兄弟有纪录一些重点,嗯。

    展开全文
  • 智能合约概述——区块链基础

    千次阅读 2018-05-16 23:56:16
    对于程序员来说,区块链这个概念并不理解,这是因为大多数难懂的东西 (挖矿,哈希,椭圆曲线密码,P2P等) 都只是用于提供特定的功能和承诺。你只需接受这些既有的特性功能,不必关心底层技术,比如,难道你必须...

    区块链基础

    对于程序员来说,区块链这个概念并不难理解,这是因为大多数难懂的东西 (挖矿,哈希椭圆曲线密码学P2P等) 都只是用于提供特定的功能和承诺。你只需接受这些既有的特性功能,不必关心底层技术,比如,难道你必须知道亚马逊的 AWS 内部原理,你才能使用它吗?

    交易/事务

    区块链是全球共享的事务性数据库,这意味着每个人都可加入网络来阅读数据库中的记录。如果你想改变数据库中的某些东西,你必须创建一个被所有其他人所接受的事务(Transaction)。事务一词意味着你想做的(假设您想要同时更改两个值),要么一点没做,要么全部完成。此外,当你的事务被应用到数据库时,其他事务不能修改数据库。

    举个例子,设想一张表,列出电子货币中所有账户的余额。如果请求从一个账户转移到另一个账户,数据库的事务特性确保了如果从一个账户扣除金额,它总被添加到另一个账户。如果由于某些原因,无法添加金额到目标账户时,源账户也不会发生任何变化。

    此外,交易总是由发送人(创建者)签名。

    这样,就可非常简单地为数据库的特定修改增加访问保护机制。 在电子货币的例子中,一个简单的检查可以确保只有持有账户密钥的人才能从中转账。

    区块

    在比特币中,要解决的一个主要难题,被称为“双花攻击 (double-spend attack)”:如果网络存在两笔交易,都想花光同一个账户的钱时(即所谓的冲突)会发生什么情况?交易互相冲突?

    简单的回答是你不必在乎此问题。网络会为你自动选择一条交易序列,并打包到所谓的“区块”中,然后它们将在所有参与节点中执行和分发。如果两笔交易互相矛盾,那么最终被确认为后发生的交易将被拒绝,不会被包含到区块中。

    这些块按时间形成了一个线性序列,这正是“区块链”这个词的来源。区块以一定的时间间隔添加到链上 —— 对于以太坊,这间隔大约是17秒。

    作为“顺序选择机制”(也就是所谓的“挖矿”)的一部分,可能有时会发生块(blocks)被回滚的情况,但仅在链的“末端”。末端增加的块越多,其发生回滚的概率越小。因此你的交易被回滚甚至从区块链中抹除,这是可能的,但等待的时间越长,这种情况发生的概率就越小。

    上一篇:智能合约概述——简单的智能合约

    下一篇:智能合约概述——以太坊虚拟机

    展开全文
  • 最后安利一款工具,学习网络必备的抓包神奇:wireshark,如果你网络没抓过包,那基本等于白了(有点严重)。 操作系统 什么? 作为一名 Javaer 在平时的工作中可能不会直接跟操作系统打交道,因为 JVM 帮...
  • Oracle专家高级编程--详细书签版

    热门讨论 2012-08-21 11:57:09
    在Oracle公司,Kyte专门负责Oracle数据库,他的任务是帮助使用Oracle数据库的客户,并与他们共同设计和构建系统,或者对系统进行重构和调优。在进入Oracle公司之前,Kyte是一名系统集成人员,主要为美国军方和政府...
  • 数据库索引的原理和使用准则 数据库锁机制 数据库事务特性与隔离级别详解 SQL优化详解 基于代理的数据库分库分表框架 Mycat实践 其他 UML大科普:一文梳理清 14种 UML图 工具和软件 【置顶1】熬10天夜,肝...
  • asp.net知识库

    2015-06-18 08:45:45
    运算表达式类的原理及其实现 #实现的18位身份证格式验证算法 身份证15To18 的算法(C#) 一组 正则表达式 静态构造函数 忽略大小写Replace效率瓶颈IndexOf 随机排列算法 理解C#中的委托[翻译] 利用委托机制处理.NET中...
  • Phoenix重磅 | Phoenix(云HBase SQL)核心功能原理及应用场景介绍 HBase解读 | 阿里云HBase SQL(Phoenix)服务深度解读 BigData NoSQL:ApsaraDB HBase数据存储与分析平台概览 Apache Sqoop: 是一个用来将Hadoop...
  • 1.1.2 修炼第二层境界:世界如此之大,要的东西很多 11 1.1.3 修炼第三层境界:最深即最浅,最浅即最深,不过如此 12 1.1.4 点评"修炼三层境界" 13 1.1.5 回答这个问题 13 1.2 问题2:大学毕业生找不到职业入口 13...
  • 疯狂的程序员

    热门讨论 2012-07-18 18:05:32
    不叫“大学”的时候,绝影已经在学校足球场骑自行车了。 要说念大学,最忌讳的就是在自己家门口念。哪怕你就住北大院子,也一定要去清华。土匪觉得这学校不错,不光是土匪觉得不错,看就业形势,也的确不错。但是...
  • 8.6 再一招——网络存储 171 8.7 本章小结 173 第9章 我来“广播”你的“意图”——Intent和Broadcast面对面 174 9.1 Android应用程序的核心——Intent 174 9.1.1 Intent基础 174 9.1.2 用Intent启动一个新的...
  • flink-learning :含 Flink 入门、概念、原理、实战、性能调优、源码解析等内容。 实战项目 Guide 哥注:下面这些推荐的项目几乎都和 Spring Boot 有关,毕竟这年头没有理由再搞 SSM/SSH 这些东西了。 商城 Guide...
  • 编程新手真言......

    2009-04-02 20:25:15
    4.9 C千万不能走入的一个误区(其实JAVA比C) 88 4.10 C抽象惯用法 90 4.11 C的抽象范式之OOP 91 4.12 C的观点:底层不需要直接抽象 93 4.13 指针:间接操作者 94 4.14 真正的typedef 95 4.15 真正的指针类型 95...
  • 通过我们已经过的知识,你可以编写一个最简单的程序输出一个也许是程序世界中最有名的词语: echo "Hello World!"; ?> First PHP page // Single line C++ style comment /* printing the message */ ...
  • 二十三种设计模式【PDF版】

    热门讨论 2011-05-30 14:13:49
    因为很多人没有注意到这点,完 Java 基础语言就直接去 J2EE,有的甚至鸭子赶架,直接使用起 Weblogic 等具体 J2EE 软 件,一段时间下来,发现不过如此,挺简单好用,但是你真正理解 J2EE 了吗?你在具体案例中的...
  • 其缺点是因为Visual Basic从来没有实现真正意义上的面向对象,所以大型应用程序很分解和维护。另外,因为Visual Basic的语法继承自BASIC的早期版本(BASIC主要是为了让刚入门的程序员更容易理解,而不是为了编写...
  • 软件工程教程

    热门讨论 2012-07-06 23:10:29
    应用计算机科学、数学及管理科学等原理,以工程化的原则和方法来解决软件问题,指导计算机软件开发和维护的一门工程学科。  软件工程的原则 任务2 软件生命周期与软件开发模型 软件生命周期 软件开发模型 ...
  • 作者以专家的洞察力分析了网络的运作过程和工作机理,并深入到技术背后的概念和原理,帮助读者获得对可用的解决方案的更深理解。本书适用于作为大专院校计算机专业本科生网络课程的教材,也适用于从事网络研究的技术...
  • 场景构造,编译很耗时?看小程序业务如何提高效研发 15 种微服务架构框架 Angular 11 正式发布:加入 webpack 5,升级至 TS 4.0,不再支持 IE 9 和 10 Understanding React's useReducer Hook How to use SVG ...
  • 不过原理倒是不。尝试之后,我就将<code>transObject的代码优化成了这样。(关于trie树,还请读者自己阅读相关材料) <pre><code> js var transObject = function(tableData, keys) {...
  • 摘要相关工具、cocoNLP信息抽取工具、国内电话号码正则匹配、清华大学XLORE:中英文跨语言百科知识图谱、清华大学人工智能技术系列报告、自然语言生成、NLU太了系列、自动对联数据及机器人、用户名黑名单列表、罪名...

空空如也

空空如也

1 2
收藏数 34
精华内容 13
关键字:

数据库原理难学吗