IntelliJ and JSP/JSTL cannot resolve taglib for JSTL in tomcat7

idea里使用jstl引入标签时,出现红色高亮提示错误。即使lib目录或者maven里导入包jstl-1.2.jar依然不起作用。采用以下方法,亲测可用

1.先导入标签库

2.  右键工程-> open module setting->module->Dependencies->点击+号->选择JARs或者Library或者module Dependencies添加jstl-1.2.jar就可以了

JARs:直接添加jar文件即可

Library:new Library->from Maven

ffmpeg 合并 剪辑 视频 转换格式

ffmpeg下载地址www.ffmpeg.org

提取视频 -vcodec copy  提取音频 -acodec copy 提取字母 -scodec copy

-v copy 提取视频+音频+字幕

-map  0 提取所有视频、音频、字幕

-map  0:d2:d3

d2:可取 v a s 代表 画 音 字幕

d3:可取0-10,1-9代表第几条音轨或字幕, 0代表所有

-i 文件名 -ss剪辑
-vcodec copy 提取视频 -acodec cooy 提取音频 可简写成 -c copy
-to 从地第5分钟剪到第10分钟(共5分钟)
-t 从地第5分钟一直减第10分钟(共10分钟)

提取视频

只含画,不含音 : ffmpeg -i 视频.mp4 -vcodec copy -an 视频.mp4

只含画和音 : ffmpeg -i 视频.mkv -c copy 视频格式.mp4

转换格式

ffmpeg -i 视频.mp4  视频.mkv

剪辑

00-10:00 分钟的视频 (共5分钟)
ffmpeg -i 视频.mkv -ss 00:05:00 -to 00:10:00 -c copy 视频片段.mkv
剪辑 5:00起 10分钟的视频共(10分钟)
ffmpeg -i 视频.mkv -ss 00:05:00 -t 00:10:00 -c copy 视频片段.mkv
剪辑 5:00-10:00 分钟的视频并转换格式
ffmpeg -i 视频.mkv -ss 00:05:00 -to 00:10:00 -c copy 视频片段.mp4

剪辑所有轨道的画 音 和字幕
ffmpeg -i 视频.mkv -ss 00:05:00 -to 00:10:00 -map 0 -c copy 视频片段.mkv剪辑 5:

合并

合并视频1.mp4 视频2.mp4 视频3.mp4

法一(优先用法一)

file.txt:

 

 

法二:

 

nginx下 http 自动跳转https 和 wordpress虚拟主机添加 SSL证书

nginx下配置SSL证书

wordpress环境下 更改nginx配置文件

在443端口的服务中添加

然后重启nginx

nginx下Http自动跳转Https

在nginx配置中添加如下代码,把所有的的http请求转发到https请求下

然后重启ngixn

vim 常用命令

 

mac 中使用 alias 别名

添加别名

‘=’ 的左边不加空格

如果存在旧别名则直接覆盖

真名是可以直接执行的不需要加 ”, 真名是命令和参数的组合或字符串需要加 ”

擦除别名

永久别名

别名会存在电脑的相对应文件里,unalias 后就没有了

可以在把以上的命令写在配置文件里,如zsh管理的写在.zshrc里面,bash管理的放在.bashrc里面

当重启电脑或者.zshrc时,会自动执行.zshrc里的命令,被删除过的会被重新添加,修改过的会被覆盖,以.zsrch里面的为准

最 简单 详细 易懂的反转链

思想:

把原始链表节点一个个切下来,粘到左边的新链表上(左链表初始为空)

时间复杂度O(n),空间复杂度O(1)

链表变化过程:
node1->node2->node3-node4

一个个切下粘到左边

node1 … node2->node3->node4

node1<-node2 …. node3->node4

node1<-node2<-node3 …. node4

node1<-node2<-node3<-node4

代码思路: 循环切下每个节点,依次粘到左侧链表中

​ 1. 保存当前被切节点的next, 即切后原始链表的头结点,(4)里迭代下一个节点要用

2. 切下的节点粘贴到左边

3. 左边链表增加节点后更新头结点

4. 迭代下一个被切的节点, 即原始链表的头结点

(1)中保存next目的是为了(4)中用,如果不保存,经过二操作后cur->next节点就不是原来cur->next节点了)

递归版中3和4步和在一起了,

链表定义

 

循环版本代码

 

递归版
采用尾递归,翻转完成时候直接返回左边链表即可

 

macOS 升级 Mojave 导致 CLion 不能编译 出错

1.需要在mac上安装 Xcode Command Line Tools 

可用通过命令安装

会弹出一个这样的安装窗口,安装即可,大概有好几百M大小,耐心等待

安装完后会在 /Library/Developer 下看到安装成功

2.然后重新加载CLion即可 大概几十秒钟

如果电脑来不及刷新,不妨操作完,重启一下电脑

彻底删除JetBrains系列软件

删除这些目录下的与软件相关目录

例如删除CLion2018.1

 

删除IDEA或者 PyCharm同理,删除对应目录下的文件就行了

 

linux下的tar和zip压缩命令

tar 打包参数

c 创建新文件 (重名覆盖不提示)

f 指定原文件

x 提取文档

t 列出文档包含的文件

v 详细信息

tar 压缩参数

z gzip : .tar.gz 压缩速度最快 历史最悠久,应用最广泛

j bzip2 : .tar.bz2 压缩存档文件小,可用性不如gzip

J xz : .tar.zx 最新的方式 最佳的压缩效率

 

例如 把 aaa 这个文件或目录 打包成aaa.tar 压缩成aaa.tar.gz 并解压

zip压缩和解压缩

压缩aaa

文件 和bbb目录 并解压

gzip 解压与压缩

 

 

 

 

高精度加法和乘法

高精度加法和乘法

加法(只支持自然数的大整数相加)

1.通过模拟加法算式,从右往左依次累加,如果两个不一样长,要在短的前面用0补上。
2.取余保留,除10进位,注意最后一位如果有进位要把进位加上去。

乘法(只支持自然数的大整数相乘)

1. 通过模拟乘法算式,从右往左数的话,s1[i] * s2[j] 贡献给了ans[i+j]。
2.所以为了方便从右往左数, 先把s1,s2翻转,且乘法后的结果最多有 len1+len2位。
3.因为s1[i] * s2[j] 和s1[j] * s2[i]都会贡献给ans[i+j],所以要写两层for循环。
4.贡献值 = 第一次贡献值 + 第二次贡献值,然后取余保留,除10进位。
5.最后得到结果,要找到非0的首位,并且要反过来,也要判断结果为0的时候,返回”0″。