- 博客(108)
- 收藏
- 关注
原创 一个完整的Flutter应用
我们先来创建一个全新的Flutter工程,命名为"github_client_app"我们在项目根目录下分别创建imgs和fonts、jsons、l10n文件夹工程目录如下:在lib下创建文件夹如下:在“jsons”目录下创建一个“user.json”文件,获取当前登录者的Github账号信息在“jsons”目录下创建一个“cacheConfig.json”文件缓存策略信息在“jsons”目录下创建一个“profile.json”文件。
2024-06-20 17:25:07
387
原创 mysql通过binlog恢复数据
newStream.SaveToFile "hsb_insert.sql", 2 'DELETE转成INSERT以后的新的SQL文件名。oldStream.LoadFromFile("hsb.sql") 'binLog生成的DELETE原日志文件。'Mysql binlog DELETE转INSERT==========注意要写在[mysqld]范围内才会生效。'VBS打开文本文件。
2023-07-26 17:42:31
427
原创 ng+php架构下websocket监听实例
nginx服务器+应用服务器+数据库websocket监听应用服务器的8090端口前端js发送websocket请求到ng服务器,通过ng服务器转发到应用服务器的8090端口。
2023-07-17 14:48:37
3051
原创 PHPMailer报错Language string failed to load: tls SMTP->ERROR:RSET failed:
测试环境php版本:5.5.x,可以正常使用tls加密方式发送邮件。这是因为对于5.6.x版本的php,phpmailer的版本过低。生产环境php版本:5.6.x,会报如上图的错误。2、提高phpmailer的版本。1、降低php版本到5.5.x。3、邮件系统设置白名单,不加密。phpmailer版本5.1。
2022-11-25 09:07:40
553
原创 SpringBoot整合MongoDB
创建D:\MongoDB\mongod.cfg,内容如下(路径自行修改)直接双击D:\MongoDB\bin\mongo.exe。创建D:\MongoDB\data\log文件夹。创建D:\MongoDB\data\db文件夹。6、SpringBoot整合MongoDB。application.yml增加配置。假设安装在D:\MongoDB。pom.xml引用依赖。
2022-09-14 20:50:57
317
原创 Linux配置PHP环境
多虚拟主机/etc/httpd/conf/httpd.conf配置Listen 80Listen 8080IncludeOptional conf.d/*.conf/etc/httpd/conf.d新建A.conf(路径:/etc/httpd/conf.d/A.conf)新建B.conf(路径:/etc/httpd/conf.d/B.conf)<VirtualHost *:80> #端口 DocumentRoot "/var/www/html/d..
2022-04-18 10:53:36
1454
原创 《图解TCP/IP》笔记
以A向B发邮件为例:A的每一层都会增加首部信息(从上往下),B的每一层都会解析首部信息(从下往上)应用层:A给数据添加首部(源地址、目标地址等信息),B分析数据正文和首部,存储表示层:A数据格式 =》 标准格式 =》 B数据格式会话层:怎么建立连接(建立一个连接传输一封邮件,随后立即断开?一次连接传输五分邮件?一次建立5个连接?)传输层:可靠传输,如果A发送“早上好”,B只接收到“早上”,则会向A反馈,这是A会重发并再次确认网络层:如何选择路由到目标地址数据链路层:设备间...
2022-04-02 17:16:43
2499
原创 Springboot笔记
P79 加载测试专用属性通过properties和args参数设置测试专用属性@SpringBootTest(properties = {"test.prop=testValue1"}, args = {"--test.prop=testValue2"})public class PropertiesAndArgsTest { @Value("${test.prop}") private String msg; @Test void testProperties
2022-02-24 20:30:05
766
原创 移动端设置某区域为页面剩余高度
<template> <div id="demo"> <div>......</div> <div ref="scrollDiv" :style="{ height: scrollHeight, overflow: 'scroll' }"> <div>.......</div> </div></template><script>ex.
2022-02-18 16:01:46
438
原创 element-ui表格添加十字高亮效果
container包含3个dom:X轴Div、Y轴Div、element的表格根据表格的@cell-click事件,获取点击的单元格cell通过cell.getBoundingClientRect()获取单元格宽width,高height及位置top、left将单元格宽度width及位置偏移量(单元格left - Y轴left)赋值给Y轴将单元格高度height及位置偏移量(单元格top - X轴top)赋值给X轴考虑到表格滚动情况<template> <di
2021-12-24 11:07:33
692
原创 高性能MySQL笔记
第7章 分区表7.1分区表将数据按照一个较粗的粒度分在不同表 适用于:表太大无法全部放内存、只有部分热点数据其他都是历史数据、对分区单独操作7.1.1分区表的原理分区表由多个底层表实现,从存储引擎角度看,它们和普通表没有区别 select:判断是否可以过滤分区再执行 insert:判断由哪个分区接收再执行 delete:判断在哪个分区再执行 update:判断数据在哪个分区,取出更新,判断更新后的数据应放哪个分区再执行7.1.2分区表的类型根据范围、时间间隔、键值、哈希分区7.1
2021-12-15 17:53:32
525
原创 vue移动端无法使用string.replaceAll,报错显示空白
开发vue时,使用了replaceAll函数,在pc端调试没问题但是打包部署到移动端端测试时,发现部分页面显示空白,控制台只显示Error{}经过排查是replaceAll函数报错了,替换成replace解决
2021-11-02 11:22:23
1487
原创 React中使用JS导入导出Excel
导入参考文章需引入xlsx.js库<Upload name='file' beforeUpload={(file) => { const f = file; const reader = new FileReader(); reader.onload = (e) => { const datas = e.target.result; const workbook = XLSX.read(datas, {type: 'bi
2021-07-23 14:26:45
337
原创 Vue ElementUI组件Notification使用自定义html,可触发点击事件
ElementUI组件Notification自定义HTMLcreateElement参考地址:https://www.cnblogs.com/vickylinj/p/9566474.htmlmethods: { notify() { this.$notify({ title: '标题', position: 'right-bottom', dangerouslyUseHTMLString: true, message: this.$cr
2021-04-30 09:35:06
2663
原创 PHP+JS+websocket
功能需求:通过设置一个websocket服务端与客户端连接,增加一个后端接口,当接口触发时,推送消息到客户端客户端JS通过new WebSocket时,会在服务端完成握手。而php接口通过socket_create、socket_connect连接,不会完成握手,也不需要。所以通过传递参数 from 来判断是从客户端还是从接口传来的消息PHP服务端代码:server.php<?phpclass socketServer{ const LISTEN_SOCK.
2021-04-08 09:15:31
872
转载 消息队列和作业队列
消息队列当调用 setTimeout() 时,浏览器或 Node.js 会启动定时器。 当定时器到期时(在此示例中会立即到期,因为将超时值设为 0),则回调函数会被放入“消息队列”中。在消息队列中,用户触发的事件(如单击或键盘事件、或获取响应)也会在此排队,然后代码才有机会对其作出反应。 类似onLoad这样的 DOM 事件也如此。事件循环会赋予调用堆栈优先级,它首先处理在调用堆栈中找到的所有东西,一旦其中没有任何东西,便开始处理消息队列中的东西。我们不必等待诸如setTimeout、...
2021-01-15 17:11:43
487
翻译 python import pywinauto错误
TypeError: item 2 in _argtypes_ passes a union by value, which is unsupported.from pywinauto.application import Application在python 3.8.1版本中引入pywinauto时,报错解决方法:这是在以后的版本(3.7.7+或3.8.2+)中修复的已知Python错误。更新到 3.8.2+即可...
2020-10-23 16:50:55
2953
原创 Vue获取后端数据,跨域问题
1、打开config下面的index.js,找到proxyTable,添加以下代码即可:'/apis': { target: 'http://localhost', // 接口域名 changeOrigin: true, //是否跨域 pathRewrite: { '^/apis': '' //这里会把path路径的【/apis】替换成空, ...
2020-10-14 10:48:01
729
原创 PHP、JS会话超时机制
参考:https://www.laruence.com/2012/01/10/2469.html登录时记录过期时间到Session中 在入口文件中判断是否过期,过期则退出,否则更新过期时间// 入口文件判断if (isset($_SESSION['expiretime'])) { if ($_SESSION['expiretime'] < time()) { unset($_SESSION['expiretime']); header('Locati
2020-10-14 10:45:29
241
原创 IOS移动端页面滚动需要两只手指
给最外层的元素添加以下CSS样式#wrap {/* 页面滚动 */ overflow-y: scroll; -webkit-overflow-scrolling: touch;}
2020-09-15 09:39:13
466
原创 配置Apache使无法通过url访问文件夹
情况1、修改httpd.cnnf文件,找到如下代码:将Options IndexesFollowSymLinks修改为OptionsFollowSymLinks注意这里的AllowOverride None,不允许配置被重写情况2、打开httpd.conf文件,发现没有找到Options Indexes FollowSymLinks注意这里是AllowOverride All,也就是允许配置重写,这时候我们要去httpd.conf所在文件夹下的extra文件夹查找..
2020-08-13 09:44:04
824
转载 如何修改 node_modules 里的文件
来自:掘金,作者沉末_链接:https://juejin.im/post/5ec381215188256d776342cd前言有时候使用npm上的包,发现有bug,我们知道如何修改,但是别人可能一时半会没法更新,或者是我们特殊需求,别人不愿意修改,这时候我们只能自己动手丰衣足食。那么我们应该如何修改别人的源码呢?首先,直接修改node_modules里面的文件是不太行的,重新安装依赖就没有了。一般常用办法有两个: 下载别人代码到本地,放在src目录,修改后手动引入。 ...
2020-07-31 14:08:48
1140
原创 Vue项目中,IOS选中输入框,页面会自动缩放问题
在项目根目录下的index.html文件中加入如下代码<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no">
2020-07-20 16:56:29
686
原创 ElementUI下拉框在IOS中,需要点击2次选项才能选中的问题解决
1、安装sass-loader依赖,版本太高可能会出现问题npm install sass-loader@7.3.12、安装node-sass依赖npm install node-sass3、在build文件夹下的webpack.base.conf.js的rules里面添加配置{test: /\.scss$/,loaders: ['style', 'css', 'sass']}4、在App.vue添加如下代码,注意lang=“scss”<style lan
2020-07-20 16:54:51
1653
原创 MySQL笔记(实践篇)
普通索引和唯一索引,应该怎么选择?select id from T where k=5查询过程(差别不大)通过普通索引的查询过程:查找到k=5记录,接着查找下一条记录直到不满足条件通过唯一索引的查询过程:查找到k=5记录后直接返回由于查询过程是把整个数据页(默认16kb)读入内存,普通索引会多一次指针寻找和计算,如果刚好记录在数据页最后,则要多读取一个数据页,而这影响微乎其微更新过程(写多读少的表建议使用普通索引)通过普通索引的更新过程:当数据在内存中则直接更新;如果不在内存
2020-06-30 19:51:49
708
原创 MySQL配置参数和命令
参数 说明 默认值 wait_timeout 连接器等待时间 8小时 query_cache_type 查询缓存。建议设置成DEMAND(不使用),因为一旦对表进行更新,就会清空缓存,缓存的命中率很低,在8.0版本中废弃 innodb_flush_log_at_trx_commit 设置成1,每次事务的redo log都直接持久化到磁盘,保证MySQL异常重启数据不丢失 sync_log 设置成1,每次事务的binlog都直接持...
2020-06-29 22:06:33
422
原创 MySQL笔记(基础篇)
目录基础架构:一条SQL查询语句是如何执行的日志系统:一条SQL更新语句是如何执行的事务隔离:为什么你改了我还看不见深入浅出索引(上)基础架构:一条SQL查询语句是如何执行的第一步,连接器,连接到数据库分为长连接和短连接,建议使用长连接,但是长连接随着执行过程会造成内存占用太大,解决方法如下:定期断开长连接 在5.7版本后使用mysql_reset_connection 来重新初始化连接资源第二步,查询缓存,如果有缓存则直接返回建议不使用缓存(将query_cac
2020-06-18 19:30:37
192
转载 ES6 对象扩展 链判断运算符 和 Null判断运算符
链判断运算符【?.】如果要读取对象的某个属性,往往需要判断一下该对象是否存在。比如,要读取message.body.user.firstName,安全的写法是写成下面这样。const firstName = (message && message.body && message.body.user && message.body.user.firstName) || 'default';这样的层层判断非常麻烦,因此ES2020引..
2020-06-10 19:01:50
893
原创 KindEditor在移动端默认显示源码模式
在源码 4891 行,有个判断是否为移动端的if语句,将这个语句注释掉即可,但是不知道会造成什么后果
2020-06-09 17:06:07
609
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人