原文:SSIS从理论到实战,再到应用(4)----流程控制之For循环 上期回顾: SSIS从理论到实战,再到应用(3)----SSIS包的变量,约束,常用容器 在SSIS体系中,控制流可能经常会遇到,比如你取得一列数据,需要循环这列数据然后做相应的操作时,就需要用到循环,下面,我来操作两种循环方式,FOR循环和Foreach循环. 一,For循环 写过代码的知道,For循环的常用写法是这样的:For(var i = 0 ; i < 10 ; i++){  //do sth;}; 这里面包含三个…
原文:SSIS从理论到实战,再到应用(5)----流程控制之Foreach循环 上期回顾: SSIS从理论到实战,再到应用(4)----流程控制之For循环 上一期讲了For循环,Foreach循环相比而言要更复杂一点,里面涉及变量的类型,数据接收问题,下面我用一个简单的示例来演示Foreach循环容器: 假设我们有这样一个需求: 从数据库中取出一列数据,循环输出这列数据的每个值 一,拖入sql任务,定义一个Object类型的变量接收取到的数据 二,设置好接收变量 三,拖入Foreach循环容器…
原文:SSIS从理论到实战,再到应用(6)----SSIS的自带日志功能 上期回顾: SSIS从理论到实战,再到应用(5)----流程控制之Foreach循环 博主最近新负责了一个ssis大项目的架构,压力山大,所以都没有怎么正儿八经的更文章了,给园友们说声抱歉,接下来的一些文章可能都比较偏重于实用技巧方面^_^. 我们都知道,不论在任何一个项目,日志系统的重要意义都是不言而喻的. 如果你的SSIS项目管理到了以百为级别,那很有必要去为它专门构建一个日志管理平台,这个时候你可以参考@BIWork…
原文:SSIS从理论到实战,再到应用 一,是什么(What?) 1.SSIS是Microsoft SQL Server Integration Services的简称,是生成高性能数据集成解决方案(包括数据仓库的提取.转换和加载 (ETL) 包)的平台. 以上的这段文字来自于百度,脱离这个概念,我一直再思考如何向普通人解释SSIS这一套体系:我觉得我自己解释很有可能不到位,所以特意去知乎里面问了这个问题: 如何解释SSIS 貌似没有很好的效果,我所理解的SSIS是这样的: 一个强壮的肌肉男,能搬…
原文:SSIS从理论到实战,再到应用(7)----常用的数据类型转换操作 上期回顾: SSIS从理论到实战,再到应用(6)----SSIS的自带日志功能 在抽取各种应用的数据时候,经常会遇到数据需要转换类型的操作,比如日期在源数据库是dbtime类型,在本地需要用到字符串,这个时候有两种常用的方案来解决: 1.通过语法在源数据库进行类型转换,类似sqlserver的convert(要转换的类型,长度).... 2.利用ssis自带的组件进行类型转换 本期选用第二种方案做演示.(背景,将excel…
原文:SSIS从理论到实战,再到应用(2)----SSIS包的控制流 前文回顾: SSIS从理论到实战,再到应用(1)----创建自己的第一个包 上次说到创建了自己的第一个包,完成了简单的数据从数据库=>数据库,以及Excel文件=>数据库过程,这一次咱们回看看一个包里面到底有哪些好玩的元素构成: 咱们一般写过代码的人都知道,很多的看似很复杂的功能都是由:顺序,选择,循环构成的.SSIS也不例外,咱们可以看到SSIS包里面工具选项卡里面已经写出他的本质了: SSIS包里面功能元素包含以下图所示…
原文:SSIS从理论到实战,再到应用(3)----SSIS包的变量,约束,常用容器 上期回顾: SSIS从理论到实战,再到应用(2)----SSIS包的控制流   首先我们来看看包里面的变量 SSIS包变量分为两种,一种是系统的内置变量,是一个SSIS包初使化都会自带的,一种是用户自己定义的变量. 在SSIS包中,常用的变量的类型包含以下:Int32,String,Boolean,DateTime,Object...... 二,让我们来看看包里面的约束(线) 如图中所示的线就是约束,官方的解释是…
原文:SSIS从理论到实战,再到应用(1)----创建自己的第一个包 其实,如果你使用sql2008的导出导入工具的时候,你就已经在使用包了. 目标:使用sql2008 导入导出工具,导入excel数据,并得到一个package,然后查看package的设置 ====>最后得到SSIS包 我们梳理一下,我们的目标是什么:将excel的数据导入到了数据库中,那必然有这几个动作 1.创建表 2.将数据导入到我们创建的表中 Ok,这样我来将这个包打开来看看是否有至少两个动作 首先,我们新建一个SSIS…
目录 1.单分支if条件语句 2.双分支if条件语句 (1)示例1 (2)示例2 什么是流程控制? 普通理解:Shell编写的程序是顺序执行的,也就是说第一命令先执行,然后接着执行第二条命令,然后再下一条,以此类推,而流程控制就是改变上面这种顺序执行的方式. 官方理解:流程控制语句用于控制程序的流程, 以实现程序的各种结构方式,即用来实现对程序流程的选择.循环.转向和返回等进行控制. Shell中的流程控制语句分为: if条件判断语句. case条件判断语句. for循环语句. while循环语…
目录 1.特殊流程控制语句介绍 2.exit语句 3.break语句 4.continue语句 1.特殊流程控制语句介绍 Shell程序或者说其他的程序,都是顺序执行的,也就是第一行执行完再执行第二行,以此类推,依次执行. 而流程控制语句,如: if条件判断语句,你只有条件成立了,才能够执行,否则就不执行其中的程序,这就会跳过一些执行命令. for循环也是流程控制类语句,是重复执行指定次数的相同代码. 除了上面的条件判断语句和循环语句外,还有特殊流程控制语句. 比如:exit语句.break语句…
目录 1.多分支if条件语句格式 2.练习 3.说明 4.综合练习 1.多分支if条件语句格式 if [ 条件判断式1 ] then 当条件判断式1成立时,执行程序1 elif [ 条件判断式2 ] then 当条件判断式2成立时,执行程序2 -省略更多条件- else 当所有条件都不成立时,最后执行此程序 fi 2.练习 我们写一个例子,用if多分支条件语句来判断一下用户输入的是一个文件,还是一个目录. # 需求:判断用户输入的是什么文件 [root@localhost tmp]# vim i…
目录 1.case条件语句介绍 2.case语句需要注意的内容 3.练习 示例1 示例2 1.case条件语句介绍 case语句和if-elif-else语句一样都是多分支条件语句,不过和if多分支条件语句不同的是,case语句只能判断一种条件关系,而if语句可以判断多种条件关系. case语句语法如下: case $变量名 in "值1") 如果变量的值等于值1,则执行程序1 ;; "值2") 如果变量的值等于值2,则执行程序2 ;; -省略其他分支- *) 如果…
目录 1.for循环介绍 2.示例 语法一举例: 语法二举例: 3.for循环总结 4.练习:批量解压缩脚本 方式一:批量解压缩 方式二:批量解压缩 1.for循环介绍 for循环是固定循环,也就是在循环时已经知道需要进行几次的循环,有时也把for循环称为计数循环. 在Shell中for循环的语法有如下两种: # 语法1: for 变量 in 值1 值2 值3 - do 程序 done 这种语法中for循环的次数,取决于in后面值的个数(空格分隔),有几个值就循环几次,并且每次循环都把该值赋予变…
目录 1.while循环 2.until循环 1.while循环 对while循环来讲,只要条件判断式成立,循环就会一直继续,直到条件判断式不成立,循环才会停止.和for循环的第二种格式for((初始值;循环控制条件;变量变化))类似. 我们写个1加到100的例子,这种例子虽然对系统管理帮助不大,但是对理解循环非常有帮助: while循环语法格式: while [ 条件判断式 ] do 程序 done 例子:1加到100. #!/bin/bash # 给变量i和变量s赋值 # 从1开始相加 i=…
在本系列教程中,笔者希望将必要的知识点围绕理论.流程(工作流程).方法.实践来进行讲解,而不是单纯的为讲解知识点而进行讲解.也就是说,笔者希望能够让大家将理论.知识.思想和指导应用到工作的实际场景和实践之中,而不是拿着字典写文章,抱着宝典写代码.至于很多具体的语法.技术细节,除了常用的知识点,笔者更希望大家阅读官方文档——毕竟看官网比看书靠谱多了,官网会一直更新和改进,而书和教程自出版或发布之后,基本上就“死“了. 本系列教程预计全部完成还需要2到3个月的时间.在这个过程中,您可以加入我们一起讨…
在本系列教程中,笔者希望将必要的知识点围绕理论.流程(工作流程).方法.实践来进行讲解,而不是单纯的为讲解知识点而进行讲解.也就是说,笔者希望能够让大家将理论.知识.思想和指导应用到工作的实际场景和实践之中,而不是拿着字典写文章,抱着宝典写代码.至于很多具体的语法.技术细节,除了常用的知识点,笔者更希望大家阅读官方文档——毕竟看官网比看书靠谱多了,官网会一直更新和改进,而书和教程自出版或发布之后,基本上就“死“了. 本系列教程预计全部完成还需要2到3个月的时间.在这个过程中,您可以和我们一起讨论…
托管到腾讯云容器服务 托管到腾讯云容器服务,我们的公众号“magiccodes”已经发布了相关的录屏教程,大家可以结合本篇教程一起查阅.   自建还是托管? 在开始之前,我们先来讨论一个问题——是自建容器服务还是托管到云容器服务? 这里笔者建议大家托管到云容器服务.对于中小团队来说,很多情况下,团队中的运维人员是缺失的,或者运维人员的水平非常有限——大部分比网吧的网管就好那么一点,从成本.安全(云端产品往往提供了一些解决方案,比如权限控制.灾备.高可用.数据加密等).扩展性的角度,使用云容器服务…
往期内容链接 Docker最全教程——从理论到实战(一) Docker最全教程——从理论到实战(二) Docker最全教程——从理论到实战(三) Docker最全教程——从理论到实战(四) 本篇教程持续编写了3个星期左右并且一直在完善.补充具体的细节和实践,预计全部完成需要1到2个月的时间.由于编写的过程中极其费时,并且还需要配合做一些实践(有些实践存在一些坑,而且极其费时费事).因此目前产出的速度已经跟不上发布的速度了,后续的发布节奏会放慢,请大家多多理解和多多包含. 在这个过程中,我们希望能…
Docker最全教程——从理论到实战(一) Docker最全教程——从理论到实战(二) Docker最全教程——从理论到实战(三) Docker最全教程——从理论到实战(四) Docker最全教程——从理论到实战(五) Docker最全教程——从理论到实战(六) Docker最全教程——从理论到实战(七)…
本文从简单工厂模式的缺点说起,引入工厂方法模式,介绍的工厂方法模式的基本知识,实现要点和应用场景,最后举例进行说明工厂方法模式的应用.在之前的<Javascript设计模式理论与实战:简单工厂模式>这篇文章中,我们介绍了简单工厂的知识和一些应用.简单工厂模式存在一个唯一的工厂类,它的优点是所有产品类的实例化集中管理,便于理解,但这既是优点也是缺点.如果产品类的数量较少并且不会经常发生变化,我们可以直接利用简单工厂模式,但是有的时候,需求是随时在变的,产品类也可能随时在增加,如果使用简单工厂模式…
[.net 面向对象程序设计深入](26)实战设计模式——使用IoC模式(控制反转或依赖注入)实现松散耦合设计(1) 1,关于IOC模式 先看一些名词含义: IOC: Inversion of control 控制反转,简称 DI: Dependency Injection 依赖注入,简称 DIP: 依赖倒置原则 一种软件架构设计的原则(抽象概念),“设计模式使用场景及原则”一篇中介绍过设计模式的几种原则之一. IoC容器:依赖注入的框架,用来映射依赖,管理对象创建和生存周期(DI框架). (1…
[.net 面向对象程序设计深入](31)实战设计模式——使用IoC模式(控制反转或依赖注入)实现松散耦合设计(1) 1,关于IOC模式 先看一些名词含义: IOC: Inversion of control 控制反转,简称 DI: Dependency Injection 依赖注入,简称 DIP: 依赖倒置原则 一种软件架构设计的原则(抽象概念),“设计模式使用场景及原则”一篇中介绍过设计模式的几种原则之一. IoC容器:依赖注入的框架,用来映射依赖,管理对象创建和生存周期(DI框架). (1…
昨天讲完FOR循环今天来讲讲他的兄弟WHILE循环!进入正题: while是计算机的一种基本循环模式.当满足条件时进入循环,进入循环后,当条件不满足时,跳出循环.while语句的一般表达式为:while(表达式){循环体}. 典型循环 WHILE <条件> <语句体> end while do while <条件> <语句体> loop 语法 javascript JavaScript中while循环的目的是为了反复执行语句或代码块. 只要指定条件为true…
002-Scala函数定义.流程控制.异常处理入门实战 Scala函数定义 语句结束无分号 定义无参函数 def 函数名称(参数名称:参数类型)[:Unit=]{ 函数体 } 老师的代码 我的实际代码 原因是集成开发环境自带的版本为2.11.0 变量 常量(不可变)声明 val 变量声明 var 无参函数的调用也无需加括号() 定义有参有返回值的函数 def 函数名称(参数名称:参数类型...):返回值类型={ 函数体 } 老师代码 注意最后一个是b是本函数的返回值 默认最后一行为返回值 流程控…
容器是应用走向云端之后必然的发展趋势,因此笔者非常乐于和大家分享我们这段时间对容器的理解.心得和实践. 本篇教程持续编写了2个星期左右,只是为了大家更好地了解.理解和消化这个技术,能够搭上这波车. 你可以和我们一起讨论,我们希望能够多多交流,多多分享. 如果觉得不错,请多多点赞,你们的支持是我们前进的最大动力! 目录 前言 随着生产力的发展尤其是弹性架构的广泛应用(比如微服务),许多一流开发者都将应用托管到了应用容器上,比如Google.微软.亚马逊.腾讯.阿里.京东和新浪. 从未来的发展方向来…
Elastic-Job支持 JAVA API 和 Spring 配置两种方式配置任务,这里我们使用 JAVA API 的形式来创建一个简单的任务入门,现在都是 Spring Boot 时代了,所以不建议使用 Spring 配置文件的形式. Elastic-Job 需要依赖 Zookeeper 中间件,用于注册和协调作业分布式行为的组件,目前仅支持 Zookeeper.我们已经创建了 Zookeeper 集群! 环境要求 1.Java 请使用 JDK 1.7 及其以上版本. 2.Zookeeper…
通常我们创建对象最常规的方法就是使用new关键字调用构造函数,这会导致对象之间的依赖性.工厂模式是一种有助于消除类之间依赖性的设计模式,它使用一个方法来决定要实例化哪一个类.本文详细介绍了简单工厂模式的理论,并且举例说明了简单工厂模式的具体应用. 基本介绍 简单工厂模式是工厂模式中最基本的一种.通过定义一个工厂类,根据参数实例化具体的某个产品类. 举例说明 我们举个例子进行说明:假设我们开发一个旅游行业网站,网站上面销售机票,酒店等产品.一个用户准备购买一张机票.我们可以定义相关类如下: var…
在Javascript中,单例模式是一种最基本又经常用到的设计模式,可能在不经意间就用到了单例模式. 本文将从最基础的理论开始,讲述单例模式的基本概念和实现,最后用一个例子来讲述单例模式的应用. 理论基础 概念 单例模式,顾名思义就是只有一个实例存在.通过单例模式可以保证系统中一个类只有一个实例而且该实例易于外界访问,从而方便对实例个数的控制并节约系统资源.如果希望在系统中某个类的对象只能存在一个,单例模式是最好的解决方案. 基本结构 最简单的单例模式起始就是一个对象字面量,它将有关联的属性和方…
首先我们先了解一下磁盘的原理 磁盘的数据结构有: 扇区:盘片被分为多个扇形区域,每一个扇区存放512个字节的数据 磁道:同一个盘片不同半径的同心圆 柱面:不同盘片相同半径构成的圆柱面 公式: 磁盘存储容量=磁头数 x 磁道(柱面)数 x 每道扇区数 x 每扇区字节数 ---------------------------------------- 一般磁盘接口分为 IDE SATA SCSI   IDE IDE(并口).SATA(串口).SCSI(一般用于服务器) 分区表有4个分区记录区,每个分…
目录 前言 随着生产力的发展尤其是弹性架构的广泛应用(比如微服务),许多一流开发者都将应用托管到了应用容器上,比如Google.微软.亚马逊.腾讯.阿里.京东和新浪. 从未来的发展方向来看,容器引擎将会越来越成为主流,哪怕不是弹性架构,托管到应用容器也将是一种趋势——因为更低的开发运维和托管成本以及对服务器的资源的优化配置.而且未来一个很大的趋势是——无服务器计算服务. 因为相对于软件.硬件在本地设备中的分裂,云计算的一大特性就是将服务构建在云上,供多种设备同时无缝调用.但事实上,云服务在发展的…