loop

我的MYSQL学习心得(十) 自定义存储过程和函数

一曲冷凌霜 提交于 2020-02-01 20:20:30
自定义函数 (user-defined function UDF)就是用一个象ABS() 或 CONCAT()这样的固有(内建)函数一样作用的新函数去扩展MySQL。 所以UDF是对MySQL功能的一个扩展 创建和删除自定义函数语法: 创建UDF:    CREATE [AGGREGATE] FUNCTION function_name(parameter_name type,[parameter_name type,...])    RETURNS {STRING|INTEGER|REAL}   runtime_body 简单来说就是:    CREATE FUNCTION 函数名称(参数列表)   RETURNS 返回值类型   函数体 删除UDF:    DROP FUNCTION function_name 调用自定义函数语法:    SELECT function_name(parameter_value,...) 语法示例: 创建简单的无参UDF CREATE FUNCTION simpleFun()RETURNS VARVHAR(20) RETURN "Hello World!"; 说明: UDF可以实现的功能不止于此,UDF有两个关键点,一个是参数,一个是返回值, UDF可以没有参数,但UDF必须有且只有一个返回值 在函数体重我们可以使用更为复杂的语法,比如

ansible之playbook循环(loop)

自作多情 提交于 2020-01-30 22:41:04
当有需要重复性执行的任务时,可以使用迭代机制。其使用格式为将需要迭代的内容定义为item变量引用,并通过loop语句指明迭代的元素列表即可。loop的值是python list数据结构,每个task会循环读取list的值,然后后key的名称是item,list里面也支持python字典。 例子一:安装多个软件 tasks: - name: "Install Packages" yum: name={{ item }} state=latest loop: - httpd - mysql-server - php 例子二:批量创建多个用户。(with_items) - hosts: slave remote_user: suixiaofeng sudo: yes tasks: - name: "add user" user: name={{ item.name }} state=present groups={{ item.groups }} loop: - {name: "test5", groups: "tom"} - {name: "test6", groups: "tom"} 其中引用变量时前缀item变量是固定的,而item后跟的键名就是在loop中定义的字典键名。 来源: CSDN 作者: JetBrains_孙健 链接: https://blog.csdn.net

简单介绍join,outer-join,semi-join,anti-join的区别

纵然是瞬间 提交于 2020-01-19 04:21:21
表连接的方式如join,semi-join,outer-join,anti-join; 表连接的实现方式如nested loop,merge,hash. 本文简单的介绍表连接的方式join,semi-join,outer-join,anti-join和适用情景。 假设2个数据源(row source). Emp(id pk,ename,deptno) Dept(deptno pk,dname) 如下是join select ename,dname from emp,dept where emp.deptno=dname.deptno; 2个数据源键值一一比较,返回相互匹配的记录集 for example: nested loop join for x in ( select * from emp ) loop for y in ( select * from dept) loop if ( x.deptno == y.deptno ) OutPut_Record(x.ename,y.dname) End if end loop end loop outer-join select ename,dname from emp,dept where emp.deptno= dept.deptno(+); select ename,dname from emp,dept where emp

动图学 JavaScript 之:事件循环(Event Loop)

房东的猫 提交于 2020-01-16 16:29:06
前言 今天该学习 Event Loop 啦,其实之前我写过一篇 Event Loop 的文章: 浅析 JS 中的 EventLoop 事件循环(新手向) 这篇呢则是动图学 JS 系列中的,可以结合之前的文章食用~ 我们都知道 JavaScript 是一门 单线程 的语言:同一时间只能运行一个任务。通常情况下这没什么问题,但是如果你有一个任务需要耗费 30 秒的时间,那其他任务难道都要等它 30 秒么?(由于 JS 运行在浏览器的主线程,所以这 30 秒的时间里,整个页面都会处于卡死状态) 幸运的是,浏览器提供了一些 JS 引擎不具备的功能: Web API 。它包括 DOM API , setTimeout , HTTP 请求 等等。这些功能都可以帮助我们处理 异步、非阻塞 的操作。 调用栈 当我们调用一个函数时,它会被添加到一个叫做 调用栈 (call stack) 的地方,调用栈是 JS 引擎的一部分,而不是浏览器特有的。本质上它是一个栈,具有 后进先出 (Last In, First Out. 即 LIFO) 的特点。当一个函数调用完成,它就被从调用栈中弹出。 上图中函数 respond 返回了一个 setTimeout 函数,它也被添加到调用栈中,( setTimeout 正是 Web API 提供的功能之一:它可以让我们延迟一个任务的执行并且不阻塞主线程。)

Event Loop原理

纵然是瞬间 提交于 2020-01-16 05:56:51
文章目录 前言 event loop 宏任务&微任务 附录 前言 灵魂三问 JS为什么是单线程的 ? JS最初被设计用在浏览器中,那么想象一下,如果浏览器中的JS是多线程的。 场景描述: 那么现在有2个进程,process1 process2,由于是多进程的JS,所以他们对同一个dom,同时进行操作 process1 删除了该dom,而process2 编辑了该dom,同时下达2个矛盾的命令,浏览器究竟该如何执行呢? 为什么需要异步 ? 如果JS中不存在异步,只能自上而下执行,如果上一行解析时间很长,那么下面的代码就会被阻塞。 对于用户而言,阻塞就意味着"卡死",这样就导致了很差的用户体验 单线程又是如何实现异步的呢 ? 既然JS是单线程的,只能在一条线程上执行,又是如何实现的异步呢? 答案就是**是通过的事件循环(event loop)** event loop javascript 是一门单线程的脚本语言,也就意味着同一个时间只能做一件事,但是单线程有一个问题:一旦这个线程被阻塞就无法继续工作了,这肯定是不行的。由于异步编程可以实现 非阻塞 的调用效果,引入异步编程自然就是顺理成章的事情了。 从同步异步来理解JS的执行机制 console.log(1) setTimeout(function(){ console.log(2) },0) console.log(3)

深入理解协程(三):async/await实现异步协程

雨燕双飞 提交于 2020-01-14 11:54:32
原创不易,转载请联系作者 深入理解协程 分为三部分进行讲解: 协程的引入 yield from实现异步协程 async/await实现异步协程 本篇为 深入理解协程 系列文章的 最后一篇 。 从本篇你将了解到: async/await 的使用。 如何从 yield from 风格的协程修改为 async/await 风格。 篇幅较长,请耐心阅读。 async/await的引入 上篇 【yield from实现异步协程】 我们引入了 asynico 模块,结合 yield from 实现异步协程。但语法不够简洁,其中涉及的 生成器 , 装饰器 也让人头疼不已。 为了语法更加简洁。于是,在Python3.5(PEP 492)中新增了 async/await 语法来实现异步协程。 async/await的使用 先介绍几个概念: async/await :python3.5之后用于定义协程的关键字,async定义一个协程,await用于挂起阻塞的异步调用接口。 event_loop :事件循环,程序开启一个无限的循环,程序员会把一些函数注册到事件循环上。当满足事件发生的时候,调用相应的协程函数。 coroutine :协程对象,指一个使用async关键字定义的函数,它的调用不会立即执行函数,而是会返回一个协程对象。协程对象需要注册到事件循环,由事件循环调用。 task :任务

python day1

六月ゝ 毕业季﹏ 提交于 2020-01-14 00:14:18
第一章 什么是python 使用python的公司 Google ,dropbox(美国版百度网盘,py的创始人Guido van Rossum目前就在dropbox),YouTuBe(全球最大的视频网站),UBER,Quora(美国版的知乎),instagran(美国版的朋友圈,被facebook收购9亿美金,整个公司才13个人);yelp(世界杯大众点评),豆瓣,知乎; 初创公司比较喜欢使用python。 就业前景 Pythone未来十年发展预测 未来十年,python在中国的发展会怎样?使用python的企业会不会越来越多?python主要被运用的领域有哪些?使用Python的程序员会越来越多还是越来越少? Life is short,you need python! 计算机语言 计算机只能识别的语言为二进制,0和1, 编程语言种类 汇编语言 汇编语言的实质和机器语言是相同的,都是直接对硬件操作,只不过指令采用了英文缩写的标识符,更容易识别和记忆。它同样需要编程者将每一步具体的操作用命令的形式写出来。汇编程序通常由三部分组成:指令、伪指令和宏指令。汇编程序的每一句指令只能对应实际操作过程中的一个很细微的动作。例如移动、自增,因此汇编源程序一般比较冗长、复杂、容易出错,而且使用汇编语言编程需要有更多的计算机专业知识,但汇编语言的优点也是显而易见的

当CPU没有任务的时候该搞点啥

巧了我就是萌 提交于 2020-01-12 15:44:18
CPU没有任务时,认为内核把什么都不做作为一件简单的任务是合理的,但事实却并非如此。在Kernel Recipes 2018,Rafael Wysocki讨论了当CPU没事儿的时候干啥,内核如何处理,在当前阶段存在的问题,以及他最近重做的内核idle loop对非工作中的系统的省电性的提升。 idle loop(在内核的空闲循环,也是空闲任务,空闲也是任务)是Wysocki维护的一个内核子系统,控制CPU在没有任务的时候做的事。为了方便讨论,Wysocki先提出了定义:对于一个CPU就是一个能够从内存取指令并在其他CPU执行指令的同时执行指令的实体。在一个简单的单核单指令流系统,此核即CPU;如果处理器有多个核,那么每个核都是一个CPU。如果每个核都为同步指令expose多个接口,也就是Inter所谓的超线程,那么每一个超线程都是一个CPU。 一个CPU没task运行的时候,就是idle。更精确的说,linux内核的内部调度类,包含特殊的idle类。如果在这些调度类中都没有任务,则CPU被认为是idle,如果硬件没有对此没啥考虑,则CPU就会执行无用的指令直到有任务需要它做。无论如何,这都是浪费电,所以大多数CPU都支持由内核操作进入一些低耗电状态,直到它们需要执行任务。 idle状态的进入或退出不是没有消耗的。进入或退出都需要一些时间,并且耗电较普通状态也会有短暂上升

Python编程笔记(第一篇)Python基础语法

筅森魡賤 提交于 2020-01-12 04:55:35
一、python介绍 1、编程语言排行榜 TIOBE榜 TIOBE编程语言排行榜是编程语言流行趋势的一个指标,每月更新,这份排行榜排名基于互联网有经验的程序员、课程和第三方厂商的数量。 2、python与其他语言对比 JAVA 目前使用最广泛的编程语言,第一个跨平台的语言, 在大型ERP软件\安卓APP开发\大型网站开发领域使用广泛 PHP 使用最广泛的WEB开发语言,非常适合中小型网站开发,学习成本较低,开发效率高 C\C++ 学习成本高,学习周期长,偏系统底层、在开发硬件驱动、嵌入式、游戏引擎开发等领域有广发的应用。 PYTHON 使用领域几乎和JAVA一样广泛,但开发效率要高于JAVA,且学习成本较低,在科学预算\数据分析\网站开发\爬虫开发\云计算\自动化运维\自动化测试等领域优势明显 3、python的生态圈 WEB开发 比较火的python web框架,支持异步高并发的Tornado框架,短小精悍的flask、bottle。 人工智能 python是对人工智能支持最好的语言。 云计算 目前最火的云计算框架openstack。 金融量化分析、自动化交易 python在金融分析、量化交易领域用的非常多。 爬虫 爬取网页和数据 自动化运维 运维必须掌握的语言 科学计算 NASA早在97年就开始用python做科学计算,之后有了Numpy\SciPy\Matplohib

python基础二

给你一囗甜甜゛ 提交于 2020-01-10 11:05:27
一. 格式化输出 现有一练习需求,问用户的姓名、年龄、工作、爱好 ,然后打印成以下格式 ------------ info of 太白金星 ----------- Name : 太白金星 Age : 22 job : Teacher Hobbie : girl ------------- end ---------------- 你怎么实现呢?你会发现,用字符拼接的方式还难实现这种格式的输出,所以一起来学一下新姿势 只需要把要打印的格式先准备好, 由于里面的 一些信息是需要用户输入的,你没办法预设知道,因此可以先放置个占位符,再把字符串里的占位符与外部的变量做个映射关系就好啦 name = input ( "Name:" ) age = input ( "Age:" ) job = input ( "Job:" ) hobbie = input ( "Hobbie:" ) info = ''' ------------ info of %s ----------- #这里的每个%s就是一个占位符,本行的代表 后面拓号里的 name Name : %s #代表 name Age : %s #代表 age job : %s #代表 job Hobbie: %s #代表 hobbie ------------- end ----------------- ''' %( name ,