bind

execute immediate

只谈情不闲聊 提交于 2020-11-10 05:30:08
首先在这里发发牢骚,指责下那些刻板的书写方式,不考虑读者理不理解,感觉就是给专业人员用来复习用的一样,没有前戏,直接就高潮,实在受不了!没基础或基础差的完全不知道发生了什么,一脸懵逼的看着,一星差评!!! execute immediate 以下引用介绍比较好的例子说明 create or replace procedure proc_test( -- 参数区域 ) is -- 变量区域 -- sql脚本 v_sql varchar2 ( 2000 ) : = '' ; -- 记录学生数量 v_num number ; begin -- 执行区域 -- execute immediate用法1:立刻执行sql语句 v_sql : = ' create or replace view myview as select id,name from student ' ; execute immediate v_sql; -- - execute immediate用法2:立刻执行sql语句,并赋值给某个变量 v_sql : = ' select count(1) from student ' ; execute immediate v_sql into v_num; -- execute immediate用法3:带参数的sql v_sql: = ' select * from

【Python】【有趣的模块】tqdm | inspect

╄→гoц情女王★ 提交于 2020-11-10 03:38:51
tqdm """ #【tqdm】 显示循环的进度条,再也不用担心程序跑到哪里还要跑多久了 #tqdm 可以直接包裹iterable对象 from tqdm import tqdm,trange from time import sleep text = "" for char in tqdm(['a','b','c','d']): text += char sleep(1) #trange(i)相当于tqdm(range(i)) from tqdm import tqdm,trange from time import sleep for i in trange(100): sleep(0.01) #可以在循环外预先定义tqdm对象 pbar = tqdm(['a','b','c','d','e','f','g','aaa']) for char in pbar: pbar.set_description("Processing %s" % char) #Processing aaa: 100%|██████████| 8/8 [00:00<00:00, 14260.28it/s] ''' 有两个参数比较有用,desc(str)和leave(bool) desc可以指定这个循环的的信息,以便区分。上面的set_description(str)和这个应该是一样的。

一篇搞定前端高频手撕算法题(36道)

房东的猫 提交于 2020-11-10 01:53:38
关注公众号“ 执鸢者 ”,获取大量教学视频及 私人总结面筋 并进入 专业交流群 . 目前互联网行业目前正在处于内卷状态,各个大厂不断提高招人门槛,前端工程师找工作也越发艰难,为了助力各位老铁能够在面试过程中脱颖而出,我结合自己的面试经验,准备了这三十六道面试过程中的手撕算法题,与各位共享。 一、冒泡排序 冒泡排序的思路:遍历数组,然后将最大数沉到最底部; 时间复杂度:O(N^2); 空间复杂度:O(1) function BubbleSort ( arr ) { if (arr == null || arr.length <= 0 ){ return []; } var len = arr.length; for ( var end = len - 1 ; end > 0 ; end--){ for ( var i = 0 ; i < end; i++) { if (arr[i] > arr[i + 1 ]){ swap(arr, i, i + 1 ); } } } return arr; } function swap ( arr, i, j ) { // var temp = arr[i]; // arr[i] = arr[j]; // arr[j] = temp; //交换也可以用异或运算符 arr[i] = arr[i] ^ arr[j]; arr[j] = arr[i]

二十四、DBMS_SQL

非 Y 不嫁゛ 提交于 2020-11-09 14:33:02
1、概述 1) 在整个程序的设计过程中,对游标的操作切不可有省略的部分,一旦省略其中某一步骤,则会程序编译过程既告失败,如在程序结尾处未对改游标进行关闭操作,则在再次调用过程时会出现错误. 2) dbms_sql除了可以做一般的select,insert,update,delete等静态的sql做能在过程中所做工作外,还能执行create等DDL操作,不过在执行该类操作时应首先显式赋予执行用户相应的系统权限,比如create table等.该类操作只需open cursor--->prase--->close cursor即能完成. 3)一般过程 对于一般的select操作,如果使用动态的sql语句则需要进行以下几个步骤: open cursor--->parse--->define column--->excute--->fetch rows--->close cursor; 而对于dml操作(insert,update)则需要进行以下几个步骤: open cursor--->parse--->bind variable--->execute--->close cursor; 对于delete操作只需要进行以下几个步骤: open cursor--->parse--->execute--->close cursor; 2、包的组成 1)、OPEN_CURSOR 作用

rabbitMQ笔记

懵懂的女人 提交于 2020-11-08 15:36:09
六种工作模式 官网介绍:https://www.rabbitmq.com/getstarted.html 简单模式:一个生产者,一个消费者 work模式:一个生产者,多个消费者,每个消费者获取到的消息唯一。 订阅模式:一个生产者发送的消息会被多个消费者获取。 路由模式:发送消息到交换机并且要指定路由key ,消费者将队列绑定到交换机时需要指定路由key topic模式:将路由键和某模式进行匹配,此时队列需要绑定在一个模式上,“#”匹配一个词或多个词,“ *”只匹配一个词。 简单模式/work模式 Channel channel = rabbitTemplate.getConnectionFactory().createConnection().createChannel( false ); channel.queueDeclare("yangsimple", false , false , false , null ); channel.basicPublish( "", "yangsimple", null , "simple message" .getBytes()); System.out.println( "basic publish" ); channel.close(); 订阅模式/路由模式 // 生产者 Connection connection =

Redis配置文件参数说明

﹥>﹥吖頭↗ 提交于 2020-11-08 04:51:46
# Redis configuration file example # Note on units: when memory size is needed, it is possible to specifiy # it in the usual form of 1k 5GB 4M and so forth: # # 1k => 1000 bytes # 1kb => 1024 bytes # 1m => 1000000 bytes # 1mb => 1024*1024 bytes # 1g => 1000000000 bytes # 1gb => 1024*1024*1024 bytes # # units are case insensitive so 1GB 1Gb 1gB are all the same. # By default Redis does not run as a daemon. Use 'yes' if you need it. # Note that Redis will write a pid file in /var/run/redis.pid when daemonized. daemonize yes # When running daemonized, Redis writes a pid file in /var/run/redis.pid

Java在线诊断利器之Arthas

て烟熏妆下的殇ゞ 提交于 2020-11-05 07:06:14
一. 简介 Arthas 是阿里在2019年9月份开源的一款java在线诊断工具,能够分析、诊断、定位java应用问题,例如:JVM信息、线程信息、搜索类中的方法、 跟踪代码执行、观测方法的入参和返回参数等等。 Arthas最大的特点是能在 不修改代码和不需要重新发布的情况下,对业务问题进行诊断 ,包括查看方法调用的出参入参、异常、监测方法执行耗时、类加载信息等,大大提升线上问题排查效率。 二. 适用场景 线上环境某个方法数据处理有问题,但没有日志埋点等记录入参和出参信息,无法debug,并且本地环境无法重现问题 线上接口调用响应缓慢,耗时高,但接口逻辑复杂,接口内部又调用很多其他系统的接口或第三方的jar,不确定是哪个方法导致的耗时高,无法定位到具体方法 出问题的方法被执行的路径非常多,无法确定该方法是在哪些具体的地方被调用或执行,这个方法也可能是第三方的jar包里的 无法确定线上环境是否是最新提交的代码,只能把服务器上的class文件下载下来使用反编译工具打开确认 线上出现偶发问题或只是某些条件下才会触发,通过日志不容易排查 三. 安装使用 目前的arthas版本都是基于命令行的交互方式,所以下面会按照上面的适用场景列出一些重要和常用的命令,全部命令请查看官方安装。 这里有一个坑,如果在widows环境安装,本地之前安装了多个版本的jdk

Linux(Centos7)yum安装最新redis

杀马特。学长 韩版系。学妹 提交于 2020-11-04 06:00:06
1、启用EPEL仓库 ## RHEL/CentOS 7 64-Bit ## # wget http://dl.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-5.noarch.rpm # rpm -ivh epel-release-7-5.noarch.rpm 要验证EPEL仓库是否建立成功,可以执行: # yum repolist 2、通过Yum安装Redis # yum -y update # yum install redis 如果redis还不是最新的,不要安装,继续下面的设置 3、安装Remi的软件源,安装命令如下: yum install -y http://rpms.famillecollet.com/enterprise/remi-release/7.rpm 数字为centos版本 4、然后可以使用下面的命令安装最新版本的redis: yum --enablerepo=remi install redis 5、安装完毕后,即可使用下面的命令启动redis服务并设置为开机自动启动: service redis start chkconfig redis on 6、Redis开启远程登录连接 原来是redis默认只能localhost登录,所以需要开启远程登录。解决方法如下: 在redis的配置文件redis

2019面试题

房东的猫 提交于 2020-11-03 11:14:25
HTML 1.浏览器兼容问题 IE6图片有蓝色边框,有背景 解决方案:border:0; background: rgba(0,0,0,0) 盒子模型 html{box-sizing:border-box} 每个浏览器边距和间距显示不一样 解决方案*{margin:0;padding:0} 一个块级元素float,再使用横向margin会有双倍边距,margin:0,0,0,100px,实际会有200px,解决方案:加样式{dispay:inline} IE6,IE7,其他浏览器样式hacker设置使用, 解决方案:div{height:200px; _height:100px; *height:50px} IE6识别 _ * ,IE7识别 * 设置较小高度的标签,IE6,IE7,遨游会超出固定的高度 解决方案overflow:hidden CSS 1. css3新特性 答: 选择器 id选择器,class选择器,标签选择器 圆角和背景 渐变 旋转 动画 2. 写一段动画代码 animation:myDiv 5s infinite @keyframes myDiv{   from{left:0px}   to{left: 200px} } 3. 一个div如何水平垂直居中 答:有很多种方法,面试官最想听到的答案是transfrom,display:flex也可以实现

linux配置禁用启用IPv6

谁都会走 提交于 2020-11-02 15:20:18
IPv6被认为是IPv4的替代产品,它用来解决现有IPv4地址空间即将耗尽的问题。 但目前,开启IPv6可能会导致一些问题。因此有时我们需要关闭IPv6。 下面是IPv6的关闭方法应该适用于所有主流的Linux发行版包括Ubuntu、Debian、CentOS。 IPv6在CentOS6.5系统中默认是启用状态,通过以下方式可以确认IPv6的状态 1.1.查看系统IPv6的启用状态 以下命令返回值为0表示IPv6启用,1表示禁用 cat /proc/sys/net/ipv6/conf/all/ disable_ipv6 cat /proc/sys/net/ipv6/conf/default/disable_ipv6 ifconfig ip address list netstat -anptl 1.2.查看内核模块调用 # 有返回结果,说明IPv6模块已启用,可以看出那些程序进行了调用,反之没有启用 lsmod | grep ipv6 2.禁用IPv6 2.1.临时禁用IPv6 # 命令行调整内核参数,临时禁用IPv6 echo 1 >/proc/sys/net/ipv6/conf/all/ disable_ipv6 echo 1 >/proc/sys/net/ipv6/conf/default/ disable_ipv6 # 或着 sysctl - w net.ipv6.conf