用户在线、离线、忙碌功能设计与实现

需求:需要在系统中展现,系统中用户的状态。展示用户是否在线、忙碌或者离线。做法: 使用 webSocket 建立链接,通过实时推送用户信息,达到用户状态的更新。 当用户登录时自动设置用户状态为上线,并推送用户信息到 前端。 当用户离线时自动设置用户状态为离线状态,并推送给前端。 通过 定时任务扫描在线用户,当在线用户的最后操作时间于当前时间差大于30 分钟(session失效时间),设置用户状态为离...
阅读(318) 评论(0)

设计模式之中介者模式

场景一个公司的“进销存“买IBM电脑系统设计,销售部门要反馈销售情况,畅销的就多采购,滞销就不采购;销售前要确定库存有货才能销售。采购部门要根据销售情况和库存情况进行采购。库存情况要根据销售情况和采购情况维护库存量。根据库存量来决定是否要打折出售。“进销存“三个模块都有自己的香味,并且与其他的模块之间行为产生关联,类似我们的办公室“同事“各干各的活,但是彼此之间有依赖、交叉,于是彼此之间就产生紧耦合...
阅读(233) 评论(0)

mybitis 利用association或collection传递多参数子查询

有时候我们在查询数据库时,需要以查询结果为查询条件进行关联查询。在mybatis 中通过 association 标签(一对一查询,collection 一对多 查询) 实现延迟加载子查询 <association property="destName"...
阅读(172) 评论(0)

insert和 select 结合实现“插入某字段在数据库中的最大值+1”

本文是mysql 数据库问题一 将表一的数据导入表二:将表一的数据导入表二:将表二中的数据 插入到 表一,表一的列对应表二 select 出来的列INSERT INTO 表一 (column1, column2, column3, column4)select column1, column2, column3, column4 from 表二 问题二 表中插入数据时,某一字段取数据库中该字段...
阅读(967) 评论(1)

原型模式

场景假设现在我需要发送1000W封邮件,我使用多线程发送邮件(单线程的话,发完邮件我也入土了,时间太久。),我创建了一个邮件对象,每次给邮件对象赋值,然后发送出去,但是使用多线程,就遇到了线程安全问题,当线程一,创建好邮件对象后,还没有进行发送邮件操作时,线程二 又对邮件对象进行了赋值,然后线程一开始发送邮件,此时线程一发送的邮件对象,其实已经是线程二赋值的邮件对象了。那么怎么通过设计模式解决这个问...
阅读(174) 评论(0)

springboot缓存 之 从Cache中取出所有条目

背景前两天遇到一个问题,就是将一个 key ,value1、value2 、value3、value4…… 也就是一个 key 多个 value 的数据结构放到 缓存中。这个简单,我就把他们都放到了GuavaCacheManager 缓存中,(GuavaCacheManager可以参考这里 点我 ) 但是在取出数据的时候遇到了一个问题。问题我门知道 GuavaCacheManager 的数据结...
阅读(948) 评论(0)

springboot-AOP

先了解AOP的相关术语: 1.通知(Advice):通知定义了切面是什么以及何时使用。描述了切面要完成的工作和何时需要执行这个工作。 2.连接点(Joinpoint):程序能够应用通知的一个“时机”,这些“时机”就是连接点,例如方法被调用时、异常被抛出时等等。 3.切入点(Pointcut)通知定义了切面要发生的“故事”和时间,那么切入点就定义了“故事”发生的地点,例如某个类或方法的名称,Sprin...
阅读(204) 评论(0)

MySQL 记录不存在插入 和 存在则更新和

mysql insert into where not exists INSERT INTO table (a,b,c) VALUES (1,2,3) ON DUPLICATE KEY UPDATE c=c+1; INSERT 中 ON DUPLICATE KEY UPDATE的使用如果指定了ON DUPLICATE KEY UPDATE,并且插入行后会导...
阅读(358) 评论(0)

利用java 的动态代理模拟spring的AOP

AOPAOP(Aspect Oriented Programming),即面向切面编程,可以说是OOP(Object Oriented Programming,面向对象编程)的补充和完善。OOP允许开发者定义纵向的关系,但并不适合定义横向的关系,例如日志功能。平常我门需要记录一些操作的日志,需要在操作的业务逻辑代码里嵌入日志模块的代码。这些日志模块的代码与操作的代码逻辑无关,只是做一个记录,而且在其...
阅读(228) 评论(0)

spring 之 自己动手实现IOC

扯淡学 java 的人应该都知道spring,学spring的人呢都应该知道 IOC和 AOP 对吧。今天就简单的说一下spring 的IOC。IoC是Spring框架的核心内容,IoC(Inversion of Control)控制反转,是一种设计思想,DI(依赖注入)是实现IoC的一种方法。 其实spring就是一个容器,一个bean容器。主要是完成了完成对象的创建和依赖的管理注入。什么是控制...
阅读(282) 评论(0)

mybatis 获取更新(update)记录的id 之< selectKey > 用法

问题用mybatis update 记录,更新过后想要更新记录的id 怎么办?平常我门都是更新数据,用更新的条件再查询一次,得到更新的记录。这样我门就进行了两次数据库操作,链接了两次数据库。增加了接口的处理事件,因为链接数据库是很耗时的操作。简介其实可以通过 mybatis 的 selectKey 标签来解决这个问题。 selectKey 这个标签大家基本上都用过,比如在插入数据的时候,返回插入数...
阅读(2513) 评论(0)

mysql 常用函数

HAVING在 SQL 中增加 HAVING 子句原因是,WHERE 关键字无法与合计函数一起使用。O_Id OrderDate OrderPrice Customer 1 2008/12/29 1000 Bush 2 2008/11/23 1600 Carter 3 2008/10/05 700 Bush 4 2...
阅读(146) 评论(0)

阿里云ecs安全组引发的血案

Can’t connect to MySQL server on ‘xxx.xxx.xxx.xxx’(36) Can’t connect to MySQL server on ‘xxx.xxx.xxx.xxx’ (60) 烦人背景阿里云ecs centos 7.2、 docker1.8 mysql 5.7.10 看到这个就头疼,今天在阿里云ecs(系统是centos 7.2)安装了docker...
阅读(1121) 评论(1)

mac/linux 安装tensorflow和安装Anaconda

无论是在mac 还是在Linux下安装tensorflow 都需要如下步骤: 1:安装python 2:安装pip 3:安装tensorflow Linux 安装tensorflow下安装比较简单(Linux 下的环境为python2.7.5,tensorflow 0.9。)1. 安装pythoncentos自带python2.7.5,这一步可以省略掉。2. python-pipyum in...
阅读(2736) 评论(0)

zabbix 配置监控项和web监控

我使用zabbix的模式是 zabbix agent + zabbix server 的模式。这篇博客的目的就是记录一下,如何配置一个简单的监控项,监控我门服务器的某个指标。在开始之前要清楚zabbix 主要内容。zabbix 中有 配置主机(host)、监控指标(item)、监控项阀值(trigger)、监控被触发的动作(action)、发送告警的媒介(media type)。item 是一个监控...
阅读(1169) 评论(0)
339条 共23页首页 上一页 1 2 3 4 5 ... 下一页 尾页
    个人资料
    • 访问:631620次
    • 积分:8949
    • 等级:
    • 排名:第2320名
    • 原创:305篇
    • 转载:34篇
    • 译文:0篇
    • 评论:204条
    博客专栏