编程笔记

  • jQuery之Deferred对象详解

    deferred对象是jQuery对Promises接口的实现。它是非同步操作的通用接口,可以被看作是一个等待完成的任务,开发者通过一些通过的接口对其进行设置。事实上,它扮演代理人(proxy)的角色,将那些非同步操作包装成具有某些统一特性的对象,典型例子就是Ajax操作、网页动画、web worker等等。 jQuery的所有Ajax操作函数,默认返回的就是一个deferred对象。 p

  • Vue.JS实现垂直方向展开、收缩不定高度模块的JS组件

    需求分析: 如图,有很多高度不固定的模块(图中只显示两个,本人项目有十三个),点击模块标题展开相应的模块,再次点击此模块匿藏,如何实现此需求并实现复用? 点击红框前: img src="https:img.nhooo.comst

  • Spark-shell批量命令执行脚本的方法

    批量执行spark-shell命令,并指定提交参数 #!binbash source etcprofile exec $SPARK_HOMEbinspark-shell --queue tv --name spark-sql-test --executor-cores 8 --executor-memory 8g --num-execut

  • java双重检查锁定的实现代码

    在Java程序中,有时候可能需要推迟一些高开销的对象初始化操作,并且只有在使用这些对象时才进行初始化 。这称为延迟初始化或懒加载 看一个不安全的延迟初始化: p

  • python实现下载pop3邮件保存到本地

    利用python进行unix管理一书中有一个登陆下载邮箱的脚本,实练了下还不错,对于邮箱备份来说还是比较快捷的,但是其命名方式是以编号和 文件大小来命名的,不方便阅读,于是进行了改进修改为发件人邮件地址命名,可能由于跨度时间较长,邮件排版有改变,有些邮件获取发件人的时候不能正确匹配。 1、命名方式是以编号和 文件大小来命名 #!usrbinenv python #-*

  • 使用shell脚本执行hive、sqoop命令的方法

    1、test.sh脚本内容如下: #!binbash #CURR_DATE=`date +"%Y-%m-%d %H:%M:%S"`------不能使用 v_sql="insert into origin_ennenergy_energytrade.test2 values'"$date +"%Y-%m-%d %H:%M:%S""','"

  • shell中循环调用hive sql 脚本的方法

    脚本tt.sh的内容如下: #!binbash params=$1 for param in $params do echo $param done 运行方式为:sh tt.sh "1 2 3 4 5" 输出为: 1 2 3 4 5

  • python+POP3实现批量下载邮件附件

    最近新开学,接到了给老板的本科课程当助教的工作,百十来号人一学期下来得有四五次作业发进邮箱里,需要我来统计打分,想想挨个点进去下载附件的过程就头大,于是萌生了写个脚本来统计作业的想法。 其实python里收发邮件都有很方便的包,合理使用就好,可以解决绝大多数的邮件收发任务。但是这个脚本写下来还是花了不少时间,其中最大的一部分时间是花在了python的编码问题上,python2和python3的编码预设有

  • thinkPHP3.2.2框架行为扩展及demo示例

    本文实例讲述了thinkPHP3.2.2框架行为扩展。分享给大家供大家参考,具体如下: 首先介绍一下行为扩展类,本人愚钝,还是借用tp手册上的来说: 行为(Behavior)是一个比较抽象的概念,你可以想象成在应用执行过程中的一个动作或者处理,在框架的执行流程中,各个位置都可以有行为产生,例如路由检测是一个行为,静态缓存是一个行为,用户权限检测也是行为,大到业务逻辑,小到浏览器检测、多

  • python实现批量解析邮件并下载附件

    python中的email模块可以方便的解析邮件,先上代码 #-*- encoding: gb2312 -*- import os import email def mail_to_textmailname,datapath,index: #由于批处理的邮件包含的附件名称相同,这里传入一个index作为区别符 fp=openmailname,"r" msg=ema

  • Laravel框架实现的记录SQL日志功能示例

    本文实例讲述了Laravel框架实现的记录SQL日志功能。分享给大家供大家参考,具体如下: 在项目开发过程中或者是性能优化中,经常会有要查看执行sql的情况,然而Laravel日志默认不记录执行sql。好在留有相关接口,我们可以很方便的就是想SQl日志功能。 在 App\Providers\EventServiceProvider:class 中的$listen中新增如下

  • Vue兼容ie9的问题全面解决方案

    前言 背景情况 vue - 2.5.11 vue-cli 使用模板 webpack-simple http请求:axios Vue 官方对于 ie 浏览器版本兼容情况的描述是 ie9+,即是 ie9 及更高的版本。经过测试,Vue 的核心框架

  • Python3使用SMTP发送带附件邮件

    一、设置开启SMTP服务并获取授权码 可以参考第一篇文章,这里不再赘述:【一】https:www.nhooo.comarticle142220.htm 二、使用Python3 发送带附件的邮件 0.使用的环境为: Python 3.6.3 6

  • 详解Vue-cli中的静态资源管理(src/assets和static/的区别)

    你可能注意到了我们的静态资源共有两个目录srcassets和static,你们它们之间有怎样的区别呢? 资源打包 为了回答这个问题,我们需要了解webpack是如何处理静态资源的。在所有的*.vue文件中你所有的templates 和CSS 都被vue-html-loader 和css-loader 查询资源的URLs解析. 比如说, 在 img

  • vue-cli2.x项目优化之引入本地静态库文件的方法

    demo地址:https:github.comcag2050vue_cli_optimize_static_resource vue-cli 将静态资源文件放到 stat

  • Python3使用turtle绘制超立方体图形示例

    本文实例讲述了Python3使用turtle绘制超立方体图形。分享给大家供大家参考,具体如下: 利用Python3中turtle的绘制超立方体。 str

  • 使用golang写一个redis-cli的方法示例

    0. redis通信协议 redis的客户端redis-cli和服务端redis-server的通信是建立在tcp连接之上, 两者之间数据传输的编码解码方式就是所谓的redis通信协议。所以,只要我们的redis-cli实现了这个协议的解析和编码,那么我们就可以完成所有的redis操作。 redis 协议设计的非常易读,也易于实现,关

  • golang实现redis的延时消息队列功能示例

    前言 在学习过程中发现redis的zset还可以用来实现轻量级的延时消息队列功能,虽然可靠性还有待提高,但是对于一些对数据可靠性要求不那么高的功能要求完全可以实现。本次主要采用了redis中zset中的zadd, zrangebyscore 和 zdel来实现一个小demo。 提前准备 安装redis, redis-gostrong

  • Golang连接Redis数据库的方法

    Golang连接Redis数据库 golang连接数据库,这里博主推荐使用go-redis这个库,理由很简单(连接数据库的操作类似在数据库里面输入命令) go-redis的安装方式 go get -v https:github.comgo-redisredis -v小v,是输出过程。一般情况下不带-v什么反馈都看不到。 连接red

  • JFreeChart实现实时曲线图

    最近要用到实时曲线图,在网上大概找了一下,有两种实现方式,一种就是JFreeChart的官方实例MemoryUsageDemo.java.通过一个实现java.Swing.Timer的内部类,在其监听器中将实时数据添加进TimeSeries,由于Timer是会实时执行的,所以这个方法倒是没有什么问题,可以参考代码。 另一种方式就是将实时类实现Runnable接口,在其run方法中,通过无限循环将实时

  • JFreeChart插件实现的折线图效果实例

    本文实例讲述了JFreeChart插件实现的折线图效果。分享给大家供大家参考,具体如下: package com.lei.jfreechart; import javax.swing.JPanel; import org.jfree.chart.ChartFactory; import org.jfree.chart.ChartPanel; import org.jfree.chart.

  • JFreeChart动态画折线图的方法

    本文实例为大家分享了JFreeChart动态画折线图的具体代码,供大家参考,具体内容如下 每隔一秒画一次,一分钟后重新画 需要的jar包是:gnujaxp.jar,jcommon-1

  • jfreechart画折线图的方法

    JFreeChart 是开放源代码站点SourceForge.net 上的一个 JAVA 项目,它主要用来各种各样的图表,这些图表包括:饼图、柱状图 普通柱状图以及堆栈柱状图 、线图、区域图、分布图、混合图、甘特图以及一些仪表盘等等。 应用jfreechart来画图需要两个jar包:jfreechart.jar和jcommon.jar,a rel="external nofollow" targ

  • ES6 Proxy实现Vue的变化检测问题

    Vue变化检测Object使用DefineProperty、数组使用方法拦截实现。最近,Vue3.0将采用ES6 Proxy的形式重新实现Vue的变化检测,在官方还没给出新方法之前,我们先实现一个基于Proxy的变化检测。 模块划分 参照之前Vue变化检测的代码,将Vue 变化检测的功能分为以下几个部分。 Obser

  • 理解Proxy及使用Proxy实现vue数据双向绑定操作

    1.什么是Proxy?它的作用是? 据阮一峰文章介绍:Proxy可以理解成,在目标对象之前架设一层 "拦截",当外界对该对象访问的时候,都必须经过这层拦截,而Proxy就充当了这种机制,类似于代理的含义,它可以对外界访问对象之前进行过滤和改写该对象。 如果对vue2.xx了解或看过源码的人都知道,vue2.xx中使用 Object.defineProp

  • MySQL 详细单表增删改查crud语句

    MySQL 增删改查语句 1.创建练习表 这里练习表没有满足三范式 第一范式(又称 1NF):保证每列的原子性 数据表中的每一列字段,必须是不可拆分的最小单元,也就是确保每一列的原子性。满足第一范式是关系模式规范化的最低要求,否则,将有很多基本操作在这样的

  • Python延迟绑定问题原理及解决方案

    延迟绑定出现在闭包问题中。下面我们看一个闭包的例子: def n: def mulx: return n*x return mul double = gen_mul2 doubled_value = double6 可以看出满足闭包的几点: 有内部函数 内部函数引用了外部

  • Python 使用生成器代替线程的方法

    问题 你想使用生成器(协程)替代系统线程来实现并发。这个有时又被称为用户级线程或绿色线程。 解决方案 要使用生成器实现自己的并发,你首先要对生成器函数和 yield 语句有深刻理解。 yield 语句会让一个生成器挂起它的执行,这样就可以编写一个调度器, 将生成器当做某种“任务”并使用任务协作切换来替

  • 基于VS2019配置opencv4.0的方法步骤

    前言: 不得不说网上搜到的垃圾配置方案真是多,基本上没几个能用的,东拼西凑花了一上午弄好了自己的环境 opencv4.0下载,vs2019a rel="external nofoll

  • Java关键字instanceof用法及实现策略

      instanceof 严格来说是Java中的一个双目运算符,用来测试一个对象是否为一个类的实例,用法为: boolean result = obj instanceof Class   其中 obj 为一个对象,Class 表示一个类或者一个接口,当 obj 为 Class 的对象,或者是其直接或间接子类,或者是其接口的实现类,结果result 都返回 true,否则返

  • 解决vue自定义指令导致的内存泄漏问题

    vue的自定义指令是一个比较容易引起内存泄漏的地方,原因就在于指令通常给元素绑定了事件,但是如果忘记了解绑,就会产生内存泄漏的问题。 看下面代码: directives: { scroll: { inserted el, cb { 不是元素节点 || 未设置回调函数 if el.nodeType !==

  • Vs2019+Qt+Opencv环境配置心得(图文)

    一、下载vs2019和qt (关于vs2019的配置方法不在赘述,上一篇已经讲解了,点击传送门) 1、下载vs2019,直接在a rel="external nofollow" href="https:visualstudio.microsoft.comzh-hans?rr=https:www.baidu.comlink?url=KT6

  • Java Objects工具类原理及用法详解

    Objects工具类 jdk 1.7引进的工具类,都是静态调用的方法,jdk 1.8新增了部分方法 重点方法 equals 用于字符串和包装对象的比较,先比较内存地址,再比较值 deepEquals 数组的比较,先比较内存

  • Redis 执行性能测试

    Redis 性能测试是通过同时执行多个命令实现的。 语法 redis 性能测试的基本命令如下: redis-benchmark [option] [option value] 注意:该命令是在 redis 的目录下执行的,而不是 redis 客户端的内部

  • vue中的v-model原理,与组件自定义v-model详解

    VUE中的v-model可以实现双向绑定,但是原理是什么呢?往下看看吧 根据官方文档的解释,v-model其实是一个语法糖,它会自动的在元素或者组件上面解析为 :value="" 和 @input="", 就像下面这样 标准写法 input v-model="name" 等价于 input :value="name" @i

  • Linux实现文件内容去重及求交并差集

    一、数据去重 日常工作中,使用Hive或者Impala查询导出来可能会存在数据重复的现象,但又不想重新执行一遍查询(查询时间稍长,导出文件内容多),因此想到了使用Linux命令将文件的内容重复数据进行去除。 案例如下: 可以看到aaa.txx有3条重复数据 im

  • Mybatis日志参数快速替换占位符工具的详细步骤

    Mybatis log printf工具网页地址: http:www.feedme.ltdlog.html Mybatis执行的sql的打印格式为: 2020-08-04 09:16:44 -DEBUG - [i

  • Ubuntu下安装CUDA10.0以及问题

    tensorflow版本与cuda和cudnn的对应关系: https:tensorflow.google.cninstallsource 安装一定要查看CUDA要求的linux下的D

  • MySQL数据定义语言DDL的基础语句

    MySQL DDL 语句 什么是DDL,DML。 DDL 是数据定义语言,就是对数据库,表层面的操作,如 CREATE,ALTER,DROP。DML 是数据操作语言,也就是对表中数据的增删改查,如 SELECT,UPDATE,INSERT,DELETE。 假设现在有数据库 lian_xi

  • 详解JS深拷贝与浅拷贝

    一、预备知识 1.1、JS数据类型 基本数据类型:Boolean、String、Number、null、undefined 引用数据类型:Object、Array、Function、RegExp、Date等 1.2、数据类型的复制 基本数据类