由于需求涉及oracle的clob类型字段,在mybatis的mapper xml文件中编写merge into语句时总是失败. 附上错误代码 <insert id="mergeInto"> <selectKey resultType="java.lang.String" order="BEFORE" keyProperty="id"> SELECT to_char(sysdate,'yyyymmdd'…
一.背景介绍 最近领导要求做一个视频录制的相关项目.其中,需要对视频文件进行添加 实时时间水印.于是,我想到了使用之前的ffmpeg来做. 二.ffmpeg实际操作 首先把需要添加水印的视频文件,上传到服务器指定位置 比如 “/usr/local/1.mp4”,这样的地方.其次,我们需要了解如何去给视频添加水印. 这里提供两种方式,一种是静态的,一种是动态的.(相关安装请参考 <ffmpeg 踩坑实录(一)>) 静态水印: ffmpeg -i /usr/local/test/448da411-…
前言 公司有个后端路由的项目是用 gulp 作为前端自动化构建工具,最近学习了一下 webpack,深感其强大,一狠心将其改成了 webpack 构建,以下是踩坑实录. gulp 先来说说原来的架构. 该项目是个 后端路由 的项目,我们以域名 www.abc.com 为例.假设有以下两个路由 www.abc.com/about 和 www.abc.com/join,因为路由后端已经构建好,这个时候我们是可以打开这两个页面的. 后端模版为 php 的 twig(当然可以是其他任何模版),这两个路由…
写在最前面 想想来新公司也快五个月了,恍惚一瞬间. 翻了翻博客,因为太忙,也有将近五个多月没认真总结过了. 正好趁着今天老婆出门团建的机会,记录下最近这段时间遇到的大坑-JasperReport. 六月份的时候写过一篇利用poi文件导入导出的小Demo,JAVA实用案例之文件导入导出(POI方式). 虽然简单,但是企业应用的原理基本上也就是这样,只不过是封装的更好些,不像我之前写的那样每个Cell都需要定义,其实poi的方式也是我目前最推崇的方式之一了.主要原因是jxl不支持xlsx,Jaspe…
写在最前面 翻了翻博客,因为太忙,已经好久没认真总结过了. 正好趁着今天老婆出门团建的机会,记录下最近这段时间遇到的大坑-JasperReport. 六月份的时候写过一篇利用poi文件导入导出的小Demo,JAVA实用案例之文件导入导出(POI方式). 虽然简单,但是企业应用的原理基本上也就是这样,只不过是封装的更好些,不像我之前写的那样每个Cell都需要定义,其实poi的方式也是我目前最推崇的方式之一了.主要原因是jxl不支持xlsx,JasperReport坑又太大,哎.下面进入正题,来介绍…
上一文章 <__Win7 配置OGG(Oracle GoldenGate).docx>定下了 两个目标: 目标1: 给安装的Oracle_11g 创建 两个用户 admin 和 root . admin 对应了 ADMIN 结构,创建了一个 TB_ TEST表. root 对应了 ROOT 结构,也创建一个 TB_ TEST (表结构一摸一样). 当 admin.TBTEST 中的表数据 变化时,root.TB TEST 的表数据 自动同步(备份) PS. 实际的 容灾备份,肯定是 两个 Or…
说到HashMap,hashCode 和 equals ,想必绝大多数人都不会陌生,然而你真的了解这它们的机制么?本文将通过一个简单的Demo还原我自己前不久在 HashMap 上导致的线上问题,看看我是怎么跳进这个坑中去的. 起因 在重构一段旧代码的时候发现有个 HashMap 的key对象没有重写 hashCode 和 equals 方法,使用IDEA自动重构工具生成后引发线上问题,因为实际重构的旧代码复杂,所以我抽出了一个关于奶酪(Cheese)的Demo还原踩坑场景,看看究竟谁动了我的奶…
前言 Visual Studio (简称VS)是微软公司旗下最重要的软件集成开发工具产品.是目前最流行的 Windows 平台应用程序开发环境,也是无数人学习编程的入门软件之一.Visual Studio 可以用来创建 Windows 平台下的 Windows 应用程序和网络应用程序,也可以用来创建网络服务.智能设备应用程序和 Office 插件,目前还可开发安卓平台应用及IOS平台应用.由于本人是做视频编码的,跑实验都是用C语言,而VS系列是对C语言最友好的编程工具.因为,我花了整整一天时间在…
PS:初学,想使用Maven配置一个SpringMVC的开发环境,照着网上的各种图文解说,配置了好久都没成功,有些写的不够详细,有些只有写一半,走了不少弯弯绕绕,踩了不少的坑,此文将正确配置成功的步骤全部记录下来. 1.环境 IDEA 2017.3 Maven 使用了 IDEA自带Maven,亦可以不用自带的(没什么大区别),不用IDEA自带的可以先去下载maven安装并设置.    Maven 安装配置 http://www.cnblogs.com/yangdaxian/p/8676373.h…
merge into的形式:    MERGE INTO [target-table] A USING [source-table sql] B ON([conditional expression] and [...]...)      WHEN MATCHED THEN          [UPDATE sql]      WHEN NOT MATCHED THEN          [INSERT sql]   作用:判断B表和A表是否满足ON中条件,如果满足则用B表去更新A表,如果不满足…
MERGE INTO USER_TEST T1 USING (SELECT '1001' AS ID,'王睿' AS NAME FROM dual) T2 ON ( T1.ID=T2.ID) WHEN MATCHED THEN UPDATE SET T1.NAME = T2.NAME WHEN NOT MATCHED THEN INSERT (NAME) VALUES(T2.NAME); commit;…
项目需求:这里暂且叫A公司吧,A公司有一套人事管理软件,需要与我们公司的软件做人员信息同步,A公司用的是SQL server数据库,我们公司用的Oracle,接口都不会开发(一万句"fuck you"),就单单给我们公司提供了一个SQL server的账户和密码,还有一个视图.后来百度一番,可以通过DBLink跨数据库访问,然后做数据信息同步功能. 安装过程中,踩了不少的坑,需要配置很多的东西,QQ群里也请教不少人,都很少人听说还有这玩意,现在做数据对接,都是走到接口,传JSON字符串…
问题描述 研发同事反馈某应用执行较慢,对应SQL为: UPDATE bs_serial_trac , LOCK_VALUE = '', UPDATE_USER = 'transSys' ' AND ( PARENT_CODE = 'F9G7S19722001835' OR SERIAL = 'F9G7S19722001835' ); 表bs_serial_trac上索引情况为: PRIMARY KEY (`ID`), UNIQUE KEY `idx_complex_serial_goodsNo`…
背景 MyBatis 是支持定制化 SQL.存储过程以及高级映射的优秀的持久层框架.MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集.MyBatis 可以对配置和原生Map使用简单的 XML 或注解,将接口和 Java 的 POJOs(Plain Old Java Objects,普通的 Java对象)映射成数据库中的记录. 使用传统的代码结构controller-->service-->dao dao传入实体,int insertEntity(Entity ent…
这段时间一直在做一个关于视频处理的项目.其中有一块需要切片相关功能.于是采用了ffmpeg来完成相关需求. 第一,ffmpeg的安装. 首先下载官方包,我这里用的是ffmpeg-release-64bit-static.tar.xz,地址在这里http://www.ffmpeg.org/download.html.选择自己系统相关的包. 然后解压缩 tar -xvf ffmpeg-release-64bit-static.tar.xz 最后把 需要把文件的执行命令写入环境变量 在/etc/pro…
最近学习springcloud消息总线需要用到rabbitmq,然后安装的时候踩了一些坑,记录如下: 首先安装rabbitmq之前需要先安装erlang,因为rabbitmq服务端使用erlang写的,依赖erlang 安装好erlang之后安装rabbitmq 第一个坑: 1.rabbitmq的版…
执行 npm start 显示空白页面 这个是开始使用weex就出现的一个大坑,说实话对新手真的很不友好. 1.打开控制台显示:Cannot assign to read only property 'exports' of object '#<Object>',这是因为 import 和 module.exports 不能同时使用,打开出错的页面 src/router.js,将 module.exports = new Router 改为 export default new Router:…
一.背景介绍 将ffmpeg运用到项目上已经有一段时间了,趁现在有空赶紧记下来. 二.技术点总结    2.1 实现方式 项目里面主要运用的形式是,在java端,调用操作系统的方法,并执行切片命令. 在执行切片之前,出于对代码的健壮性考虑,一般会下意识地对文件和目标地址进行检查和创建路径. 这里除了,判断传入的String对象是否为空之外,还需要对实际的文件进行判断以及目标地址的路径是否存在.这样可以在发布上线之后避免很多问题.   2.2 时长的获得 除了切片还需要,统计被切片的文件时长,这个…
公司要使用PowerDNS,作为内网域名解析的工具.让我和另一组的同事学一下如何配置及调优.所以先找了两台服务器试着安装一下.这一装就是一个礼拜,经历了大大小小的坑,记下来以后可能需要参考.安装过程如下:   1.安装mysql: 尽量使用源码安装,不要使用apt-get,安装的版本不完全,缺少相关的库,会导致后面缺少mysql.h.mysql_config等等文件.我手里这台机器已经装好了mysql,这步就直接略过了.   2.安装php: 在php官网http://www.php.net/ …
谨以此文,记录和ubuntu系统不死不休的搏斗过程,后续待补. 1.双系统安装,windows采用uefi模式安装(优启通可制作uefi的win10安装盘),ubuntu不要划分boot区,而应该划分uefi区,否则,不能被uefi引导 2.软件源都替换成清华或者阿里,blabla,否则被墙得泪流满面 清华镜像站:https://mirrors.tuna.tsinghua.edu.cn/help/ubuntu/ Ubuntu 的软件源配置文件是 /etc/apt/sources.list.将系统…
前段时间公司APP做了一个APP论坛会议,嵌入了h5播放器.我以为很简单,没想到,这正是我踩进泥潭的开始... (想要吸取经验的小伙伴可以慢慢往下看,想要解决方案的直接看最后!) 一.一开始我以为直接用H5原生video就可以直接实现. <video src="url" poster="video.png" width="100%" height = "9rem"></video> src :视频地址,…
选择合适的数据结构 考虑不同的应用场景,应选择不同的数据结构 比如在查找多于插入的场景中,考虑字典Dict是不是更适合; 因为在Python3中, 字典Dict 通过hash把key映射到hash table的不同位置(或者说不同的bucket中), 因此查找操作的复杂度为 O(1): 而列表list对象实际是个数组,完成相同的查找需要遍历整个list,其复杂度为 O(n), 因此对成员的查找访问等操作字典要比 list 更快. 集合Set 跟字典Dict比较类似,查找操作的复杂度为 O(1),…
Archlinux 没声音 1. 排查驱动,声卡驱动没问题 2.排查alsa,alsa没问题(并确认声卡存在且取消静音) 3.抱着尝试的心态,安下VLC.然后提示找不到默认声卡设备(大概这个意思),通过audio选项切换至其他几个设备,终于有声音了.. 4.设置默认音频设备: aplay -l 查看所有音频设备,锁定我需要的设备是:card 1 device 1  ALC892 Digital 编辑文件:/etc/asound.conf defaults.pcm.card defaults.pc…
在项目中引用 cardview 卡片布局,编译时 Android Studio 报出下面图片中红框标记的错误: 出现这种情况的原因在于没有导入 cardview 卡片布局相应的依赖包,因此我们需要在 build.gradle 文件中添加相应的依赖, compile 'com.android.support:cardview-v7:25.3.0'需要注意的是,cardview 的依赖版本不能高于 support:appcompat 的版本数,否则无法成功添加依赖! 我的 support:appco…
当我们添加某些依赖库(Okhttp.Retrofit)时, Android studio 会报如下错误: Error:A problem occurred configuring project ':app'.> Could not resolve all dependencies for configuration ':app:_iranDebugCompile'.   > Could not resolve com.facebook.network.connectionclass:conn…
最近想做一个统计文章点击率,评论率和点赞率的功能,听说echarts可以轻易完成它,于是我就选择使用echarts,考虑到我做的模块上文章是没有分类的,所以我的统计是基于一个个点,这一看嘛,感觉散点图可以胜任.为了突出表现那篇文章点击率或点赞率多,感觉气泡图就更能胜任这么回事.于是就选择气泡图干这件事. 简单地从官网拷贝个案例,直接从后台传递需要的json数据,原以为会想直方图那样简单,结果是数据加载了,然而默认没看见意料中的气泡!!怎么回事?? 一开始我怀疑是我后台返回的数据不符合需求,于是我…
[转自别处] 比如我sed想做文件原地的替换,但是怎么写都出错,错误提示还莫名其妙,后来多方搜索才知道Mac上的sed如果参数有-i就必须加上备份指令,即-i后添加任意字符,那些字符就作为备份文件的后缀名, 可耻的man上却写得好像是可选的一样. 批量替换命令: sed -i.bak "s/suanec/core-user/g" `grep suanec * | awk -F":" '{print $1}' | uniq` sed -i.bak "s/su…
前言:前后端分离,业务分离,网关路由等已经成为当下web application开发的流行趋势.前端以单页面路由为核心的框架为主体,可以单独部署在nodejs或nginx上.后端以springboot为代表的分布式微服务框架为主体,可以独立运行在任何端口上.相互通过符合restful规范的接口访问或数据交换.在这样的开发模式下,首先需要解决的就是由于跨域而引起的访问,cookie传递以及权限管理问题.本文以时下最流行的Angular2,Springboot,Zuul,Shiro为例,提供最佳实践…
nodejs的常用api url 主要是配置一系列和路径相关的信息 url.parse(urlString[, parseQueryString[, slashesDenoteHost]]) 将一个URL字符串解析为URL对象 urlString: 解析的路径字符串 parseQueryString: 返回是布尔类型,主要用来解析query的 slashesDenoteHost: 返回是布尔类型,当你不确定你的请求协议时,辅助帮助你进行解析 url.format(urlObj,parseObj,…
在IIS上部署 .Net Core 3.0 项目的主要流程有: 安装并启用IIS 安装AspNetCoreModuleV2 添加.配置网站 设置应用程序池 通过VS发布 一.安装并启用IIS: 安装了VS的环境,已经默认装上了IIS,可在控制面板的“程序和功能”中查看确认. 在“程序和功能”界面点击“启用或关闭Windows功能”,全选IIS下的全部选项,“确定”,等待启用完成. 二.安装AspNetCoreModuleV2 下载网址:https://dotnet.microsoft.com/d…