1.未登录界面的实现 微博项目中,用户不登录的话,显示的是未登录的界面.项目中TabBarVC的子控制器都是tableViewVC,所以抽取了父类,让父类判断用户是否登录,决定显示什么样的界面.loadView方法决定了控制器上view的样式,所以父类通过重写这个方法来实现 let isLogin = false // 未登录显示的view var visitorView : VisitorView? override func loadView() { // 判断用户是否登录决定显示的view…
需求是这样的,通过web传输过来的图片,无论是JS上传,还是其他的上传方式,都需要生成2张缩略图,分别是用于商品列表的小图small,和用于分享的小图share.基于不同上传方式的不同需求,使用exe程序可以简单适配所有情况,因此有以下的解决方案.   首先是简单的FileWatcher的使用,我们只需要监听Create事件即可.因为small和share均在同一个文件夹中,因此无需监控子文件夹的变化.   this.fileWatcher.Path = tbDir.Text; fileWatc…
如果我们像给任务配置监听,按照常规的做法是这样的 一个个配置,比较麻烦. 现在利用ActivitiEventListener,监听全局事件,并且可以判断不同的事件类型,进而执行不同的业务逻辑. 1.定义事件处理handler接口 用接口来定义统一约定 public interface EventHandler { void handle(ActivitiEvent event); } 2.实现不同事件 任务结束事件 */ public class TaskCompleteListener imp…
一年前写过logstash根据日志关键词报警 ,今年重温一下.并且记录一下遇到的问题解决办法. Java错误日志一般出现一大坨,如下图: 所以我们的filebeat日志收集器就要改成多行匹配模式,以日期开头的归为一行. multiline.pattern: '^[0-9]{4}-[0-9]{2}-[0-9]{2}' multiline.negate: true multiline.match: after 然后我们查看kibana时候就成一行了 请注意上图,我们的kibana里数据变精简了,有我…
前言 多年前开发了一套网络库,底层实现采用IOCP(完成端口).该库已在公司多个程序中应用:经过多次修改,长时间检验,已经非常稳定高效. 最近把以前的代码梳理了一下,又加进了一些新的思路.代码结构更加合理,性能也有所提升.打算将该库一些的知识点写出来,以供参考. 服务端要在多个端口监听,这种场合并不多见.但作为一个完善的网络库,似乎有必要支持此功能的. 传统实现方法 如果监听端口个数很少,也可以采用传统的方法.因为accept函数是阻塞的,所以要实现在n个端口监听,就需要n个线程.如果监听端口个…
Web播放器解决了在手机浏览器和PC浏览器上播放音视频数据的问题,让视音频内容可以不依赖用户安装App,就能进行播放以及在社交平台进行传播.在视频业务大数据平台中,播放数据的统计分析非常重要,所以Web播放器在使用过程中,需要对其内部的数据进行收集并上报至服务端,此时,就需要对发生在其内部的一些播放行为进行事件监听. 那么Web播放器事件监听是怎么实现的呢? 01 监听事件明细表 名称 介绍 play 已经开始播放,调用 play() 方法或者设置了 autuplay 为 true 且生效时触发…
我使用的是Windows下的Redis服务,所以一下Redis设置都是在Windows平台进行. 1.修改Redis配置文件 1.1:Windows下的Redis存在两个配置文件 修改带有service的配置文件才会有效. 打开配置文件,找到下面一行代码: notify-keyspace-events "" 然后修改配置,如下图配置: 很简单,替换注释一下就好. 2.重启Redis服务 重启Redis服务有两种方式: 1.直接win+R,打开运行对话框,输入Services.msc,打…
最近工作中element后台管理使用Echarts图表,本后台项目分图表模式和列表模式,使用display控制显示隐藏,这样就引出了本文的问题. 问题1:Echarts图标宽度变成100px? 问题2:怎么让Echarts图表宽度随着父元素自动适应? 网上对于这两个的解决方案大同小异,手动的记录父元素的宽度,或者侦听display属性,解决方案要么感觉极其复杂,要么治标不治本, 这两个缠绕多年的问题,我们将通过一个插件彻底完美解决它们!!! 问题探究: 问题1复现: 问题1原因: 究极原因其实出…
我们在<服务器在管道中的"龙头"地位>中对ASP.NET Core默认提供的具有跨平台能力的KestrelServer进行了介绍,为了让读者朋友们对管道中的服务器具有更加深刻的认识,接下来我们采用实例演示的形式创建一个自定义的服务器.这个自定义的服务器直接利用HttpListener来完成针对请求的监听.接收和响应,我们将其命名为HttpListenerServer.在正式介绍HttpListenerServer的设计和实现之前,我们先来显示一下如何将它应用到 一个具体的W…
构成ASP.NET Web API核心框架的消息处理管道既不关心请求消息来源于何处,也不需要考虑响应消息归于何方.当我们采用Web Host模式将一个ASP.NET应用作为目标Web API的宿主时,实际上是由ASP.NET管道解决了这两个问题.具体来说,ASP.NET自身的URL路由系统借助于HttpControllerHandler这个自定义的HttpHandler实现了ASP.NET管道和ASP.NET Web API管道之间的“连通”,但是在Self Host寄宿模式下,请求的监听.接收…