数据库表结构设计方法及原则

数据库设计的三大范式:为了建立冗余较小、结构合理的数据库,设计数据库时必须遵循一定的规则。在关系型数据库中这种规则就称为范式。范式是符合某一种设计要求的总结。要想设计一个结构合理的关系型数据库,必须满足一定的范式。  在实际开发中最为常见的设计范式有三个:第一范式是最基本的范式。如果数据库表中的所有字段值都是不可分解的原子值,就说明该数据库表满足了第一范式;第二范式在第一范式的基础之上更进一层。第
阅读本文

bootstrap 切换页签失效的解决方法

概述bootstrap开发标签页时,标签页显示正常,但点击时候对应内容区域没有变化。具体症状与解决方案1.标签页UI出现,但点击无反应,标签页UI并未随点击进行切换 先检查bootstrap.css,jQuery.js和bootstrap.js是否有正确引入,并保证引入顺序jQuery在前,bootstrap.js在后。再检查代码中是否有其他报错中止了JS。 2.标签页可以随点击进行切换,但点击后
阅读本文

Oracle存储过程和函数使用方法

一.存储过程(PROCEDURE)  使用过程, 不仅可以简化客户端应用程序的开发和维护,而且可以提高应用程序的运行性能.   CREATE [OR REPLACE] PROCUDURE procedure_name   (arg1 [model1] datatype1, arg2[model2] datatype2)   IS [AS]   PL/SQL Block;   arg1,arg2用于
阅读本文

日志组件logback的介绍及配置使用方法(一)

一、logback的介绍     Logback是由log4j创始人设计的又一个开源日志组件。logback当前分成三个模块:logback-core,logback- classic和logback-access。logback-core是其它两个模块的基础模块。logback-classic是log4j的一个 改良版本。此外logback-classic完整实现使你可以很方便地更换成其它日志系
阅读本文

小白学分布式程序开发11-PAXOS算法1

Paxos的两个原则1、安全原则:保证不能做错的事 a. 只能有一个值被批准,不能出现第二个值把第一个覆盖的情况 b. 每个节点只能学习到已经被批准的值,不能学习没有被批准的值 2、存活原则:只要有多数服务器存活并且彼此间可以通信最终都要做到的事 a. 最终会批准某个被提议的值 b. 一个值被批准了,其他服务器最终会学习到这个值 Paxos的两个主要组件 1、Proposer 提议发起
阅读本文

【无中生有】---17---基于大数据平台的计算开发模式

背景大数据平台常见的是使用hadoop集群为基础进行搭建,当然大厂商比如阿里、腾讯也会进行自建,但是中小企业更多使用的还是hadoop平台居多,当然还有目前已经相对稳定的spark。这种大规模计算集群虽然计算能力强大,但是并发存在很大的问题。因为其担负的计算任务一般对计算能力的要求也会很大,在有多个任务并发时会产生资源争抢。尤其是Impala系统,在多个任务并发并且所需要内存总量超过系统总量时还会
阅读本文

想要成为软件开发中的王者,需要明白的 21 条准则

软件开发者的工作不是“写代码”,而是解决业务问题,“采用的新框架”常常不能解决业务问题。 我们与人一起工作,只是有时候写代码而已,所以人际关系是这份工作的重要组成部分。 软件开发人员也是人,他们和所有人一样都会受到认知偏差的影响。可以读读关于认知偏差、FAE(fundamental attribution error,基本归因错误)、特别是Kahneman 的书。 每一个新框架的出现,是
阅读本文

小白学分布式程序开发12-PAXOS算法例子

例子       现有两个商人各有一个项目需要通过审批,但只有一个项目能通过,两人开始展开激烈的争夺。        商人A先找了官员1和官员2进行贿赂,官员1和2分别收取了¥10,等商人找到官员3时,没想到遭到了官员3的鄙视,官员3告诉他,商人B给了¥12。不过没关系,商人A已经得到了1,2两个官员的认可,形成了多数派。他可以进入提案采纳阶段了。        但是此时商人B找到了官员1和官员2
阅读本文

STM32printf函数实现方法

这几天学习stm32发现利用keil不能正常使用printf函数,所以我去网上找了一下,这是一个网易博主的解决办法,亲测有效: STM32串口通信中使用printf发送数据配置方法(开发环境 Keil RVMDK) 在STM32串口通信程序中使用printf发送数据,非常的方便。可在刚开始使用的时候总是遇到问题,常见的是硬件访真时无法进入main主函数,其实只要简单的配置一下就可以
阅读本文

安卓开发打造闪光控件效果

使用方法; 配置工程 首先,我们在GitHub上将该项目clone到本地; https://github.com/facebook/shimmer-android 接下来我们在Android studio中导入所需要的module, 即shimmer-android; 最后,需要配置一下下自己的gradle,引用该module: dependencies {
阅读本文

AVR开发 Arduino方法(二) 中断子系统

在了解ATMega328P的中断子系统之前,首先要了解中断的概念。你正在看书,这时电话响了,你会怎么做呢?相信大多数人会这样:先标记看到的位置,接完电话回来后继续阅读。这就是一个现实生活中中断的例子,我们把“电话响了”成为中断源。ATMega328P拥有26个中断源,如下表所示: 向量号 程序地址 中断源 中断定义 中断服务程序名称 1 0x0000 RES
阅读本文

Java连接数据库的4中方式详解

Java连接数据库的方式有多种:根据所需要的不同数据库驱动分,分为四种:1:1类驱动。这就是JDBC-ODBC桥的方式。但这种方式不适合程序的重用与维护,不推荐使用。需要数据库的ODBC驱动。2:2类驱动。这就是JDBC+厂商API的形式。厂商API一般使用C编写,所以,这种方式也不长使用。3:3类驱动。这就是JDBC+厂商Database Connection Server+DataBase的形
阅读本文

spark的运行方式——转载

在以下几种执行spark程序的方式中,都请注意master的设置,切记。运行自带样例可以用 run-example 执行spark自带样例程序,如下: ./bin/run-example org.apache.spark.examples.SparkPi 或者同样的: run-example SparkPi 交互运行可以用 spark-shell 以交互方式执行spark代码,
阅读本文

MVC4 下DropDownList使用方法

与MVC3相比,差别很大:表现形式一: public ActionResult Main() { List<SelectListItem> items = new List<SelectListItem>(); items.Add(new SelectListItem { Text = “Action“, Value = “0“ })
阅读本文

Eclipse卡顿,内存猛增解决方案

PS:所有校验都去除后,对如下版本来说,内存一直猛增,解决办法参照上放博客:修改项目的.project文件,特此备注记录。Version: Indigo Service Release 2Build id: 20120216-1857  1、取消验证windows–>perferences–>validation把 除了manual 下面的全部点掉,build下只留 classpath depen
阅读本文

java-方法创建与使用

1.方法: 1)封装一段特定的业务逻辑功能 2)方法尽可能的独立,一个方法只干一件事(低耦合) 3)方法可以被反复调用多次(高复用) 4)减少代码重复,有利于代码维护,有利于团队协作开发2.方法的定义: 修饰词 返回值类型 方法名(参数列表){ 方法体 }3.方法的调用: 3.1)无返回值: 方法名(有参传参); 3.2)有返回值: 数据类型 变量 = 方法名(有参传参);4
阅读本文

SAP Web Service简介与配置方法

p.MsoNormal { margin: 0pt; margin-bottom: .0001pt; text-align: justify; font-family: Calibri; font-size: 10.5000pt } h1 { margin-top: 17.0000pt; margin-bottom: 16.5000pt; margin-left: 0.0000pt; text-i
阅读本文

mybatis开发dao的方法——(三)

------------------------1.    SqlSession使用范围-------------------    1.1     SqlSessionFactoryBuilder 通过SqlSessionFactoryBuilder创建会话工厂SqlSessionFactory将SqlSessionFactoryBuilder当成一个工具类使用即可,不需要使用单例管理SqlSe
阅读本文

Anroid开发艺术探索(View事件分发)

一、View的事件分发机制 1、点击事件的传递规则    在介绍点击事件传递规则之前,首先我们要明白这里要分析的对象就是MotionEvent,即点击事件.所谓的点击事件分发实际上就是对MotionEvent事件的分发过程。当一个MotionEvent产生了之后,系统需要把这个事件传递给一个具体的View,而这个传递的过程就是分发过程。点击事件的分发过程由三个很重要的方法来共同完成:dispatc
阅读本文