PHP用swoole+websocket和redis实现web一对一聊天
Redis 实现每个连接websocket的服务都唯一绑定一个用户。通过 用户账号 = websocket fd 存到redis中。Mysql 实现离线消息池。如果一个用户不在线,则其他用户发送给他的消息暂时存储在mysql。待该用户上线时,再从离线消息池取出发送。具体参考代码和相应注释:<?php$server = new swoole_websocket_server("0.0.0.0", ...
2024-01-10详解laravel passport OAuth2.0的4种模式
参考:https://xueyuanjun.com/post/1... 熟悉的场景某个网站,某用户未注册,注册时提示可微信账号登录(github, google都有类似某网站是第三方(客户端), 认证服务器和资源服务器都在微信,资源是指微信的用户名,头像等网站目的是获取改用户微信的账户,头像等,方便快速注册. 前提需要用户授权同意.l...
2024-01-10Vue实现摇一摇功能(兼容ios13.3以上)
最近做了个摇一摇类似的功能,使用的是shake.js,但在ios13.3之前的版本中可以触发摇一摇,之后的版本需要兼容,需要制作一个让用户能手动点击的弹框,才能使用户授权动作与方向的权限。(需使用https协议)<van-popup v-model="isTip" class="popInfo" :close-on-click-overlay="false"> <div class="mainBody"> <h3 class="syste...
2024-01-10深入了解Vue3模板编译原理
目录ParseTransformcacheHandlershoistStaticprefixIdentifiersPatchFlagshoiststype 变化Codegen代码生成模式静态节点帮助函数 helpershelpers 是怎么使用的呢?如何生成代码?Vue 的编译模块包含 4 个目录:compiler-corecompiler-dom // 浏览器compiler-sfc // 单文件组件compiler-ssr // 服务端渲染其中 compiler-core 模块是 Vue 编译的核心模...
2024-01-10vue打包npm run build时候界面报错的解决
用coding-pages打开后显示Failed to load resource: the server responded with a status of 404 (Not Found),解决方案:方案一:找到config里的index.js,打开修改assetsPublicPath 为“./”方案二:或者把index.html文件中的路径/去掉;下面是去掉后的,可以参考下成功了!补充知识:启动vue项目 npm run dev 时报errno -4058进入...
2024-01-10Java实现分解任意输入数的质因数算法示例
本文实例讲述了Java实现分解任意输入数的质因数算法。分享给大家供大家参考,具体如下:分解任意输入数的质因数: 质因数概念:任何一个合数都可以写成几个质数相乘的形式。其中每个质数都是这个合数的因数,叫做这个合数的分解质因数。分解质因数只针对合数。 例如:12 = 2x2x3 18 = 2...
2024-01-10SpringMVC解析JSON请求数据问题解析
这几年都在搞前后端分离、RESTful风格,我们项目中也在这样用。前几天有人遇到了解析JSON格式的请求数据的问题,然后说了一下解析的方式,今天就写篇文章简单的分析一下后台对于JSON格式请求数据是怎么解析的。先把例子的代码贴出来:前端<input type="button" value="测试JSON数据" onclick="testJSON()" /...
2024-01-10javaweb图书商城设计之订单模块(5)
这篇文章是针对javaweb图书商城中订单模块的研究,1、创建相关类domain:OrderOrderItemdao:OrderDaoservice:OrderServiceweb.servlete:OrderServlet/** * 订单条目类 */public class OrderItem { private String iid; private int count;// 数量 private double subtotal;// 小计 private Order order;// 所属订单 pri...
2024-01-10Java基础之打印万年历的简单实现(案例)
问题:输入年,月,打印对应年月的日历。示例:问题分析:1,首先1970年是Unix系统诞生的时间,1970年成为Unix的元年,1970年1月1号是星期四,现在大多的手机的日历功能只能显示到1970年1月1日这一天;2,要想打印某年某月的日历,首先应该计算出这个月1号是星期几?解决1号是星期几?2.1:先计算...
2024-01-10Java中的装箱和拆箱深入理解
自动装箱和拆箱问题是Java中一个老生常谈的问题了,今天我们就来一些看一下装箱和拆箱中的若干问题。本文先讲述装箱和拆箱最基本的东西,再来看一下面试笔试中经常遇到的与装箱、拆箱相关的问题。一.什么是装箱?什么是拆箱?在前面的文章中提到,Java为每种基本数据类型都提供了对应的包...
2024-01-10Java持久层框架MyBatis简单实例
什么是MybatisMyBatis 本是apache的一个开源项目iBatis, 2010年这个项目由apache software foundation 迁移到了google code,并且改名为MyBatis 。iBATIS一词来源于“internet”和“abatis”的组合,是一个基于Java的持久层框架。iBATIS提供的持久层框架包括SQL Maps和Data Access Objects(DAO)。MyBatis 本是apache的一个开源项目iBatis, 2...
2024-01-10Java基于JavaMail实现向QQ邮箱发送邮件
最近项目在做新闻爬虫,想实现这个功能:爬虫某个页面失败后,把这个页面的 url 发到邮箱。最终实现的效果图如下,后期可以加上过滤标签、失败状态码等,方便分类搜索异常。开发人员可以根据邮件里的 url 和堆栈信息,分析爬虫失败的原因。是不是服务器 down 了? 还是爬虫的 Dom 解析没有...
2024-01-10使用Java发送带附件的附件的示例
这里使用的是JavaMail技术,前台使用了fckeditor做邮件美化,由于只是示例,后台发送时只是将邮件保存在本地,但是可以查看,如果需要实际发送,请参考我的其他博客文章,我写了很多关于邮件发送的示例!JSP页面页面除了引用fckeditor外,要注意我们是需要发送附件的:<%@ page language="java" import="...
2024-01-10java中break和continue区别及使用场合分析
几乎所有程序语言都有break和continue语句,可见它们的重要性,即使不重要相信也是够实用的吧。但是在真正的开发过程中,又有多少人会忽视它们的用法呢?相信初学者或者不关心程序优化的人应该对其了解的比较肤浅。本文力图通过实例加使用场合详解来引导菜鸟重新认识break和continue语句...
2024-01-10如何在Java中初始化和比较字符串?
用Java初始化字符串1. 直接初始化(字符串常量):在这个方法中,一个字符串常量对象将在内存中的堆区域内的字符串池区域中创建。由于它是一个常量,我们不能修改它,即String类是不可变的。例子:String str = "srcmini"; str = "geeks"; //This statement will make str //point to new String constant("geeks") ...
2024-01-10Vim文件不能正确高亮,将文件名改成其他任意名就可以
环境ubuntu 16.04zshspf13-vimtmuxtmuxinator用vim编辑.zshrc文件,开始能高亮的,不知道怎么回事,再用vim打开.zshrc不能对.zshrc进行高亮显示(显示有问题):我琢磨了很久,试了很多方法,依然不能对这个.zshrc文件正确高亮。但当我执行如下命令将.zshrc改了名字后$ cp .zshrc .zshrc1$ vi .zshrc1竟然可以高亮了...
2024-01-10vs2017 installer project打包工具添加系统必备时不能选.net framework 4.0
我安装了vs2017,但之前使用的打包工具install Shield没有vs2017的版本,所以不能用了。然后我用installer projects来打包在打包项目setup的属性里设置.net依赖选项但没有.net framework 4.0现在真的郁闷,因为我的程序是基于4.0的,还要兼容XP回答:https://www.microsoft.com/net...这里有3.5,但是也没有4.0要兼容XP确...
2024-01-10mysql select逐条输出大量数据时的锁表问题
代码如图mysql 读取目前大约2w条数据表items输出信息,如果同时有其他程序操作这个表,那items表就会卡死一直到这个程序执行完毕,这个表才会正常,是什么情况呢,同样的程序用在低配阿里云上的mysql就没问题,用在我的高配独立服务器上的mysql,这个表就会卡死,请问这是什么原因造成的呢...
2024-01-10vscode中编写ejs文件问题
搜了好多方法挨个试,也没有解决问题。方法一:不把ejs文件与html关联,就是ejs文件类型,写的时候不管是ejs标签还是html标签还是js全都没有语法提示方法二:文件关联ejs到html一切使用正常但是对ejs标签语法报错,看着要晕了。有没有大大给个解决方法,太感谢了补充一下图图一是html模式下,代码提...
2024-01-10iOS 7 中的UITableView顶部有一个空白区域,它的意义在哪里呢?
如下图,TableView顶部有一个空白区域,iOS 7里面特有的,能不能去掉它呢?它的意义在哪里?回答:iOS 7 viewcontroller新增属性automaticallyAdjustsScrollViewInsets,即是否根据按所在界面的navigationbar与tabbar的高度,自动调整scrollview的 inset,设置为no,让它不要自动调整就可以了,个人感觉很二的一个东西,iOS 7的...
2024-01-10