自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(190)
  • 收藏
  • 关注

原创 java日志框架与日志系统

日志框架:提供日志调用的接口,实际的日志输出委托给日志系统实现。JCL(Jakarta Commons Logging):比较流行的日志框架,很多框架都依赖JCL,例如Spring等。SLF4j:提供新的API,初衷是配合Logback使用,但同时兼容Log4j。日志系统:负责输出日志Log4j:较早的日志系统,可以单独使用,也可配合日志框架JCL使用Logback:Log

2016-01-01 23:30:52 265

原创 python自动化测试,自动化基本技术原理

1   概述在之前的文章里面提到过:做自动化的首要本领就是要会 透过现象看本质 ,落实到实际的IT工作中就是 透过界面看数据。掌握上面的这样的本领可不是容易的事情,必须要有扎实的计算机理论基础,才能看到深层次的本质东西。2   应用软件逻辑结构数据库应用系统 可能是最典型的网络应用程序了,关于它的软件架构如下:一般在逻辑上分为4层:用户界面层 UI

2016-01-01 00:03:44 748

原创 数据库多表关联查询效率问题解决方案

最近在做项目中遇到多表关联查询排序的效率问题(5张以上40W+数据的表),查询一次大概要20多秒,经过一番苦思冥想,处理方案如下:  1、软件设计初期,需要一对一关联的表应该设计在一张大表里,这样虽然字段多些,但是对于查询的速度提升是非常明显的,特别是在排序的情况下。  2、我们在关联的时候可能需要排序的表之前其中的一张或者两张,我们可以先针对这两张需要排序的表先查询排序,然后再用

2015-12-29 23:53:07 3289

原创 Linux命令学习总结:dos2unix - unix2dos

命令简介:dos2unix是将Windows格式文件转换为Unix、Linux格式的实用命令。Windows格式文件的换行符为\r\n ,而Unix&Linux文件的换行符为\n. dos2unix命令其实就是将文件中的\r\n 转换为\n。而unix2dos则是和dos2unix互为孪生的一个命令,它是将Linux&Unix格式文件转换为Windows格式文件的命令。 命令语法:

2015-12-27 10:25:46 490

原创 解读ASP.NET 5 & MVC6系列(17):MVC中的其他新特性

(GlobalImport全局导入功能)默认新建立的MVC程序中,在Views目录下,新增加了一个_GlobalImport.cshtml文件和_ViewStart.cshtml平级,该文件的功能类似于之前Views目录下的web.config文件,之前我们在该文件中经常设置全局导入的命名空间,以避免在每个view文件中重复使用@using xx.xx语句。默认的示例如下:@u

2015-12-26 17:04:13 323

原创 解读ASP.NET 5 & MVC6系列(15):MvcOptions配置

程序模型处理 IApplicationModelConvention在MvcOptions的实例对象上,有一个ApplicationModelConventions属性(类型是:List),该属性IApplicationModelConvention类型的接口集合,用于处理应用模型ApplicationModel,该集合是在MVC程序启动的时候进行调用,所以在调用之前,我们可以对其进行修改

2015-12-25 10:23:41 323

原创 Ubuntu10下安装JAVA JDK

一、背景Amoeba for MySQL需要在Java SE 1.5和Java SE 1.6上运行,一开始我按照Amoeba for MySQL学习研究之安装的方法在Java SE Development Kit 6 Update 31下载了jdk-6u31-linux-i586-rpm.bin,安装到Ubuntu的时候出错了,后来才发现是我下载的软件包不符合系统:bin是

2015-12-24 07:36:24 231

原创 SQL Server 置疑、可疑、正在恢复

一、出错情况有些时候当你重启了数据库服务,会发现有些数据库变成了正在恢复、置疑、可疑等情况,这个时候DBA就会很紧张了,下面是一些在实践中得到证明的方法。在一次重启数据库服务后,数据库显示正在恢复,过了很久还是这个状态,离线时间不能太长,所以就想起了一个方法,就是把数据库服务停止了,把数据文件mdf和ldf拷贝出来,删除了ldf文件,按照之前的经验,好像是在没有ldf的情况下可以使

2015-12-21 11:03:14 422

原创 SQL Server datetime数据类型设计、优化误区

一、场景在SQL Server 2005中,有一个表TestDatetime,其中Dates这个字段的数据类型是datetime,如果你看到表的记录如下图所示,你最先想到的是什么呢?(图1:数据列表)你看到这些数据,是不是觉得这样的设计既浪费了存储空间,又使得这个列的索引增大,查询起来更慢,你也想使用一些其它的数据类型来代替这个datetime吧?       其实大家都是

2015-12-20 14:15:14 283

原创 SQL Server 游标运用:鼠标轨迹字符串分割

一.本文所涉及的内容(Contents)本文所涉及的内容(Contents)背景(Contexts)游标模板(Cursor Template)鼠标轨迹字符串分割SQL脚本实现(SQL Codes)补充说明(Addon)二.背景(Contexts)  我们的系统中记录了用户的鼠标行为轨迹字符串,这些字符串的格式是:PosSet:[573,1103,2010-09-03 22:

2015-12-19 13:13:19 258

原创 SQL Server 事件通知(Event notifications)

一.本文所涉及的内容(Contents)本文所涉及的内容(Contents)背景(Contexts)基础知识(Rudimentary Knowledge)事件通知监控DDL(NotifyQueue_DDL)事件通知监控SQL跟踪事件(NotifyQueue_Trace)注意事项(Attention)疑问(Questions)参考文献(References)二.背景(Contexts

2015-12-18 10:14:00 628

原创 QL Server 跨网段(跨机房)复制

一.本文所涉及的内容(Contents)本文所涉及的内容(Contents)背景(Contexts)解决方案(Solution)搭建过程(Process)注意事项(Attention)参考文献(References)二.背景(Contexts)  搭建SQL Server复制的时候,如果网络环境是局域网内,通过主机名就可以实现了,但是如果是跨网段、跨机房异地搭建复制的时候就

2015-12-17 09:07:05 231

原创 SQL Server 批量完整备份

一.本文所涉及的内容(Contents)本文所涉及的内容(Contents)背景(Contexts)实现代码(SQL Codes)实现方式一(One)实现方式二(Two)实现方式三(Three)参考文献(References)二.背景(Contexts)  在公司的内网有台数据库的测试服务器,这台服务器是提供给开发人员使用的,在上面有很多的数据库,有些是临时系统

2015-12-16 11:00:38 436

原创 SQL Server 批量主分区备份(Multiple Jobs)

一.本文所涉及的内容(Contents)本文所涉及的内容(Contents)背景(Contexts)案例分析(Case)方案一(Solution One)方案二(Solution Two)方案三(Solution Three)实现代码(SQL Codes)主分区完整、差异还原(Primary Backup And Restore)参考文献(References)二.背景

2015-12-16 10:59:57 371

原创 SQL Server 数据库帐号密码生成

一、背景在某天晚上凌晨1点,我收到领导的通知:需要把我们所有的数据库的密码都需要进行一次修改,原因是我们放到Web服务器的配置文件config中明文了我们的数据库帐号和密码,而且这份配置文件可能泄露了,更糟糕的是我们的数据库是可以通过外网进行访问的。虽然有端口进行映射,但是我们的数据依然处在危险的状态,所以这个时候DBA需要争分夺秒修改数据库的帐号密码。我们的数据库服务器大概有30

2015-12-16 00:05:35 379

原创 Ubuntu10下MySQL搭建Amoeba_基础

一、背景知识Amoeba 是阿里巴巴的技术陈思儒开始的一个开源项目,它是分布式数据库Proxy解决方案。Amoeba框架是基于Java SE 1.5开发的,在安装Amoeba之前需要先安装Java环境。经验证,Amoeba在Java SE 1.5和Java SE 1.6上能正常运行。(一) Amoeba包括3个产品:Amoeba From Sourceforge1.  

2015-12-14 10:44:03 214

原创 Ubuntu10下MySQL搭建Amoeba_分片

一、背景知识"Shard" 这个词英文的意思是"碎片",而作为数据库相关的技术用语,"Sharding" 姑且称之为"分片"。Sharding 不是一个某个特定数据库软件附属的功能,而是在具体技术细节之上的抽象处理,是水平扩展(Scale Out,亦或横向扩展、向外扩展)的解决方案,其主要目的是为突破单节点数据库服务器的 I/O 能力限制,解决数据库扩展性问题。Shardi

2015-12-14 10:43:33 212

原创 Ubuntu10下MySQL搭建Amoeba_分片升级版

一、背景知识Amoeba的简单进行分片,比如对int类型的ID字段进行取模分片,实例可以参考:Ubuntu10下MySQL搭建Amoeba_分片,但是如果ID字段是UUID类型的呢?这个时候我们应该如何分片呢?这篇文章将会为你解决这个问题。 二、搭建过程(一) 测试环境Amoeba for MySQL:192.168.1.147server1

2015-12-14 10:43:09 184

原创 Ubuntu10下安装JAVA JDK

一、背景Amoeba for MySQL需要在Java SE 1.5和Java SE 1.6上运行,一开始我按照Amoeba for MySQL学习研究之安装的方法在Java SE Development Kit 6 Update 31下载了jdk-6u31-linux-i586-rpm.bin,安装到Ubuntu的时候出错了,后来才发现是我下载的软件包不符合系统:bin是

2015-12-14 10:42:30 157

原创 Ubuntu10下MySQL搭建Amoeba系列

一.前言(Introduction)使用了Amoeba有一段时间了,发现官方博客:Amoeba使用指南有很多地方都是错误的,在我实战中给到一些错误的指示,所以我想写些在搭建的实战中给大家一点指引。欢迎对我这个系列的文章提出批评和建议,特别是技术上的建议。二.Amoeba读写分离+分片逻辑图下面是我画得关于Amoeba读写分离和分片的逻辑图:

2015-12-14 10:41:53 168

原创 Windows下安装MySQL最佳实践

一、背景其实在Windows下安装MySQL可谓是一件很简单的事情,只要对着安装界面点击下一步就行了!真的是这样嘛?也许在个人电脑可以这样安装,但是在服务器也是这么随便的?答案是否定的。今天就针对Microsoft Windows Server 2003 R2 Enterprise x64 Edition Service Pack 2操作系统进行安装MySQL,为了配合64位的操作

2015-12-14 10:41:11 175

原创 MySQL多Text字段报8126错误(解决过程)

一、背景我们的MySQL数据库有一张10个Text的字段的表,还包括几个char和varchar字段,由于业务需求,我在表中加多一个Text字段的时候,插入记录的出现了下面的错误:Row size too large. The maximum row size for the used table type, not counting BLOBs, is 8126. You hav

2015-12-14 10:40:29 1187

原创 Ubuntu10下MySQL搭建Master Slave

一、背景知识(一) ReplicationMySQL的replication是异步的,适用于对数据实时性要求不是特别关键的场景。slave端的IO线程负责从master读取日志,SQL线程专门负责在slave端应用从master读过来的日志。 使用replication必须启用binary log,MySQL用binary log向slave分发更新。(二) 复制级别

2015-12-14 10:39:57 177

原创 Ubuntu10下MySQL搭建Amoeba_读写分离

一、背景知识Amoeba(变形虫)项目,专注 分布式数据库 proxy 开发。座落与Client、DB Server(s)之间。对客户端透明。具有负载均衡、高可用性、sql过滤、读写分离、可路由相关的query到目标数据库、可并发请求多台数据库合并结果。要想搭建Amoeba读写分离,首先需要知道MySQL的主从配置 二、搭建过程(一) 测试环境Amo

2015-12-14 10:39:28 215

原创 Ubuntu10下搭建MySQL Proxy读写分离

一、MySQL-Proxy基础MySQL Proxy是一个处于你的Client端和MySQL server端之间的简单程序,它可以监测、分析或改变它们的通信。它使用灵活,没有限制,常见的用途包括:负载平衡,故障、查询分析,查询过滤和修改等等。(Figure1:MySQL Proxy)MySQL-Proxy, announced in June, is a bin

2015-12-14 10:38:27 245

原创 Ubuntu10下MySQL搭建Amoeba_读写分离+分片

一、背景知识之前已经写了一篇关于Amoeba读写分离:Ubuntu10下MySQL搭建Amoeba_读写分离,上篇文章只是简单的测试下搭建读写分离,这里再加上一点的内容,在读写分离的基础上再加入分片。阅读本篇文章之前建议你先阅读:Ubuntu10下MySQL搭建Master/SlaveUbuntu10下搭建MySQL Proxy读写分离测试内容:把数据分

2015-12-14 10:37:47 252

原创 MySQL定时器Events

一、背景  我们MySQL的表A的数据量已经达到1.6亿,由于一些历史原因,需要把表A的数据转移到一个新表B,但是因为这是线上产品,所以宕机时间需要尽量的短,在不影响数据持续入库的情况下,我希望能通过作业(定时器Events)的形式慢慢搬迁这些数据。  在MySQL作业的执行过程中有一个问题是让人比较郁闷的,就是如果频率很快,快到作业还没有执行完成的话,作业就会被重复执行,这点跟S

2015-12-14 10:36:59 202

原创 MySQL当批量插入遇上唯一索引

一、背景以前使用SQL Server进行表分区的时候就碰到很多关于唯一索引的问题:Step8:SQL Server 当表分区遇上唯一约束,没想到在MySQL的分区中一样会遇到这样的问题:MySQL表分区实战。今天我们来了解MySQL唯一索引的一些知识:包括如何创建,如何批量插入,还有一些技巧上SQL;这些问题的根源在什么地方?有什么共同点?MySQL中也有分区对齐的概念?唯

2015-12-14 10:35:55 515

原创 MySQL表数据迁移自动化

一.本文所涉及的内容(Contents)本文所涉及的内容(Contents)背景(Contexts)设计思路(Design)迁移自动化特点(Points)实现代码(SQL Codes)参考文献(References)二.背景(Contexts)  之前我写过关于SQL Server的数据迁移自动化的文章:SQL Server 数据库迁移偏方,在上篇文章中设计了一张临时表,这

2015-12-14 10:35:19 292

原创 Windows下搭建MySQL Master Slave

一、背景服务器上放了很多MySQL数据库,为了安全,现在需要做Master/Slave方案,因为操作系统是Window的,所以没有办法使用keepalived这个HA工具,但是我们可以接受人工进行切换,有什么好的方案呢? 二、几种Master/Slave逻辑架构图(Figure1:单Master-单Slave)(Figure2:单Master

2015-12-14 10:34:35 439

原创 Windows下PowerShell监控Keepalived

一、背景  某数据库服务器为CentOS,想要监控Keepalived的VIP是否有问题,通过邮件进行报警,但这台机器不能上外网,现在只能在Windows下通过PowerShell来完成发邮件预警。 二、脚本详情1.创建名为:ping-ip.ps1的PS脚本,代码如下所示:# ping 192.168.1.51Test-Connection 192.1

2015-12-14 10:33:50 352

原创 数据挖掘算法-Apriori Algorithm(关联规则)

本人刚开始学数据挖掘,虽然之前看过一本《数据挖掘原理与应用:SQL Server 2005数据库》,但是只是大体上了解了一些数据挖掘的概念,并没有深入去了解一个算法。前段时间开始比较深入的学习,就以关联规则作为学习的入口点。这 才有了这篇文章。  Apriori algorithm是关联规则里一项基本算法。是由Rakesh Agrawal和Ramakrishnan Srikant两位博士在

2015-12-14 10:32:38 457

原创 JavaScript跨域问题的解决方案

JS跨域问题在系统与系统的交互过程中会经常出现,比如一个系统的某个页面引用了另外一个系统中页面的内容,并通过引用页面的功能来刷新父页面或者另外的一个页面。这些交互就会出现跨域问题了。  下面我画了一个简单的图来说明:  图文描述: page1的来源是一个A系统,page2是和iframe.aspx是同一个系统B; iframe.aspx中

2015-12-13 22:52:00 243

原创 ZedGraph使用经验

开源的统计图控件中基本常用的是OpenFlashChar和ZedGraph,今天就先来讲讲ZedGraph的使用。ZedGraph资源ZedGraph来源:http://sourceforge.net/project/showfiles.php?group_id=114675ZedGraph相关例子资源:http://zedgraph.org/wiki/index.php?ti

2015-12-13 22:51:32 862

原创 EnterpriseLibrary 程序缓存

EL的缓存原理:(个人理解)  我们在一般的情况是直接去数据库或者数据文件中找到数据来进行操作,但如果我们像减少这些在一定时间内比较固定的数据,而不想做无谓的查询操作来减少IO的操作,提高性能,比如一些OA系统中的系统配置等,这些东西一般都是不怎么变化的,而每个用户进来都要去数据库读取一次,那就给数据库造成无谓的压力了。所以我们要做缓存。  如果我们要加入缓存,那和我们平常的数

2015-12-13 22:51:00 577

原创 动态表单之数据分页

我们很常会在项目中提到一个动态表单的概念,比如学校里面学生的考试成绩,当学生登录系统的时候,他当然是希望看到他自己所有科目 的成绩;又或者是班主任,他需要看到本班同学所有科目的成绩;这些时候我们一般都会在页面中呈现如下的效果。   但是问题来了,不同科系的同学的科目是不一样的,那么我们在数据库设计的时候通常是把学生、某科成绩作为一条记录,那么这个时候我们就需要做一个行转列的 逻辑处理了

2015-12-13 22:50:14 357

原创 C#获取URL参数值

在写程序的时候,我们经常需要对页面进行传参数,比如page?id=1234,那么在page这个页面中就直接可以使用string id = Request.QueryString["id"]; 来获取参数id的值1234了。这是一个人人都知道的基础知识。上面的方法:Request.QueryString,它会把传入的URL进行分析,并把结果保存在一个键值(key value)的Collect

2015-12-13 22:49:35 2707

原创 广义线性模型 - Andrew Ng机器学习公开课笔记1.6

在分类问题中我们假设:         他们都是广义线性模型中的一个例子,在理解广义线性模型之前需要先理解指数分布族。 指数分布族(The Exponential Family)  如果一个分布可以用如下公式表达,那么这个分布就属于指数分布族:      公式中y是随机变量;h(x)称为基础度量值(base measure);    

2015-08-17 07:12:13 852

原创 局部加权回归、欠拟合、过拟合 - Andrew Ng机器学习公开课笔记1.3

本文主要讲解局部加权(线性)回归。在讲解局部加权线性回归之前,先讲解两个概念:欠拟合、过拟合,由此引出局部加权线性回归算法。 欠拟合、过拟合    如下图中三个拟合模型。第一个是一个线性模型,对训练数据拟合不够好,损失函数取值较大。如图中第二个模型,如果我们在线性模型上加一个新特征项,拟合结果就会好一些。图中第三个是一个包含5阶多项式的模型,对训练数据几乎完美拟合。

2015-08-17 07:10:46 1046

原创 损失函数 - Andrew Ng机器学习公开课笔记1.2

线性回归中提到最小二乘损失函数及其相关知识。对于这一部分知识不清楚的同学可以参考上一篇文章《线性回归、梯度下降》。本篇文章主要讲解使用最小二乘法法构建损失函数和最小化损失函数的方法。 最小二乘法构建损失函数    最小二乘法也一种优化方法,用于求得目标函数的最优值。简单的说就是:让我们的预测值与真实值总的拟合误差(即总残差)达到最小。    在线性回归中使用最小二乘

2015-08-17 07:10:11 913

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除