前前后后思考了许久,总想写点什么,最后却又不知从何说起,就简单的聊聊这一年吧。 关于疫情 很久之前,其实也就是十余年前,也经历过一场疫情(非典),但当时人在老家消息闭塞加之正当年幼,对其没有什么直观的了解与认识,直到今年的疫情突然爆发,才对这些仿佛一直潜伏在身边的疾病有了模糊的认识。任然记得铺天盖地都是关于疫情的新闻报导,甚至远在农村的老家,也开始了封闭隔离,早早就回到昆明的我吃了将近一个月的泡面,曾经喧嚣的大街小巷也是门窗紧闭、不见人影,直到五月份后才逐渐恢复昔日的景象,到了年末,在各方努力下,国内的情况已经趋于稳定,但是任然不可松懈。在这场疫情中见证了一个国家、一个名族的精气神,相信未来我们终将战胜疫情,有更安全的生活环境。 关于生活 引用一句话:过日子就是问题叠着问题,我们唯一能做的,就是面对这个问题。 最后 今年经历了许多事情令人难以忘怀,失去了很多,曾经的梦想也逐渐远去,但也是自己的信念也更加坚定,对自己的人生有了更深感悟,对未来有了更清晰的认识和规划。 最后附上一段话自勉: 盖茨比信奉的那盏绿灯,是年复一年在我们眼前渐渐消失的极乐未来。我们始终追它不上,但没.... 有更新! 关于2020 生活那点事儿
1、简介 nginx是一个高性能的HTTP和反向代理web服务器,同时也提供了IMAP/POP3/SMTP服务。 2、正向代理和反向代理 **正向代理:**对服务端来说,只知道代理服务器访问它,不知道具体的客户端信息,此时客户端和代理在同一局域网下 **反向代理:**对客户端来说,只知道访问代理服务器,不知道具体访问了那些服务端,此时服务端和代理在同一个局域网下 3、常用命令 nginx -s stop 不管当前有没有请求在处理,直接停止 nginx -s quit 完成正在处理的请求再停止 nginx -s reload 重新加载(修改了配置文件后执行此命令) 4、动静分离 使用nginx可以实现动态资源和静态资源的分离 #拦截后台请求 location / { proxy_pass http://localhost:8080; proxy_set_header X-Real-IP $remote_addr; } #拦截静态资源 location ~ .*\.(html|htm|gif|jpg|jpeg|bmp|png|ico|js|css)$.... nginx简介 程序人生
简介 这次遇到一个需要在前端播放视频的需求,视频一共五分钟,大小接近一个G,由于视频过大,不能直接放在网页上显示,因此将这个视频转换为视频流,前端再用video组件播放视频。 MOV视频转换MP4 ** 引入maven依赖** <dependency> <groupId>ws.schild</groupId> <artifactId>jave-all-deps</artifactId> <version>3.0.1</version> </dependency> 转换代码 @Test public void testMovToMp4(){ File source = new File("D:\\source.mov"); File target = new File("D:\\target.mp4"); try { &nb.... 有更新! HTML播放基于HLS协议的流媒体视频 程序人生
1、注解 1.1、内置注解 @Override 子类重写方法 @Deprecated 标识这个方法或者类已经被废弃或有更好的选择 @SuppressWarnings 抑制编译器告警 1.2、元注解 元注解是用来修饰注解的注解 @Target 指定注释的使用范围 @Retention 注释的生命周期,有SOURCE(编译时被抛弃),CLASS(class文件中存在,但是运行时被抛弃),RUNTIME(运行时依然存在) @Documented 标识生成javadoc时,该注解修饰的注解也会在javadock中显示 @Inherited 某个类使用了用@Inherited注解标识的注解,则他的子类也会继承这个注解 1.3、自定义注解 使用@interface定义注解 import java.lang.annotation.*; @Target(value = {ElementType.METHOD,ElementType.TYPE}) @Retention(RetentionPolicy.RUNTIME) @Documented @Inherited public.... 有更新! 注解和反射 程序人生
1、Inserted和Deleted Inserted 表用于存储 INSERT 和 UPDATE 语句所影响的行的副本。在一个插入或更新事务处理中,新建行被同时添加到 inserted 表和触发器表中。Inserted 表中的行是触发器表中新行的副本。 插入操作 Inserted表有数据,Deleted表无数据 删除操作 Inserted表无数据,Deleted表有数据 更新操作 Inserted表有数据(新数据),Deleted表有数据(旧数据) 2、触发器使用 某表有三个变量如下 declare @ID int; declare @FertilizerSiteName VARCHAR(100); declare @UserName VARCHAR(50); 触发器获取刚刚插入的数据 select @ID = Inserted.ID,@FertilizerSiteName = Inserted.FertilizerSiteName, @UserName = Inserted.UserName from Inserted; 触发器获取更新前的数据 select @ID = D.... SqlServer触发器获取变更的数据 SQLServer
1、问题 这次调试代码遇到一个奇怪的问题,我使用dynamic datasource进行多数据源配置,在service中建立了两个方法大致内容如下,即需要在getDatabase0中调用getDatabase1方法,然后查询mySql1的数据,但是查询后返回的值一直是mySql0这个库的数据。 @DS("mySql0") public B_FertilizerSite getDatabase0(){ return getDatabase1(); } @DS("mySql1") public B_FertilizerSite getDatabase1(){ return b_fertilizerSiteMapper.selectByPrimaryKey(1); } 2、处理 针对这个问题,可以通过代码改动来解决,如下: @DS("mySql0") public B_FertilizerSite getDatabase0(){ return ((TestFertilizerSiteService)AopContext.currentProxy()).getDatabase1(); }.... 注解方法嵌套调用失效的问题 程序人生