OkHttp3源码和设计模式-1
在《打车APP实战》课程中,我们使用OkHttp3简单搭建了一个网络框架,实践了OkHttp3的用法。不过课程本身的重点是MVP架构的实践,所以没有进一步OkHttp3底层的实现细节。本文来探究一下OkHttp3的源码和其中的设计思想。关于OkHttp3的源码分析的文章挺多,不过大多还是在为了源码而源码。个人觉得如果读源码不去分析源码背后的设计模式或设计思想,那么读源码的意义不大。同时,如果熟悉的
阮一峰的ES6---Promise对象
Promise的含义promise是异步编程的一种解决方法,比传统的回调函数和事件更合理更强大。他由社区最早提出和实现,ES6将其写进语言标准,统一了用法,原生提供了promise对象。所谓promise,简单说是一个容器,里面保存着某个未来才会结束的事件(通常是一个异步操作)的结果,从语法上说,promise是一个对象,从它可以获取异步操作的消息,promise提供了统一的API,各种异步操作都
正则表达式常见字符及含义总结
正则表达式常见字符及含义总结字符及含义1.a.在非特殊字符之前的反斜杠表示下一个字符是特殊的,不能从字面上解释b.将其后的特殊字符,转义为字面量(newRegExp("pattern")中)2.^a.匹配前缀或多行输入换行符后位3.$a.匹配后缀或多行输入换行符前位4.*a.匹配前一个表达式0或n次{0,}5.+a.匹配前一个表达式1或n次{1,}6.?a.匹配前一个表达式0或1次{0,1}7..
饿了么vue,项目创建流程代码篇(主题环境已搭建)
创建的过程(一):dev-server.js功能定义接口目录结构buliddev-server.jsbuild.js...webpack.base.config.js首先是dev.sever.js中配置拿取json数据,使用express路由,配置接口//使用node中的expres,实例一个app项varapp=express();//拿取json,并赋值给变量varappData=requir
擦亮你的双眸,看过来(文件的上传与下载,超级实用)
文件的上传和下载、fileupload组件工作流程文件上传概述实现web开发中的文件上传功能,需完成如下二步操作:在web页面中添加上传输入项在servlet中读取上传文件的数据,并保存到本地硬盘中。如何在web页面中添加上传输入项?标签用于在web页面中添加文件上传输入项,设置文件上传输入项时须注意:1、必须要设置input输入项的name属性,否则浏览器将不会发送上传文件的数据。2、必须把fo
Cookie 防伪造 防修改
主要防止非法用户修改cookie信息,以及cookie的超时时间传统cookie存储,Cookie(name,value),value很容易就被篡改。防修改cookie存储,Cookie(name,value+“&&”+signToken+“&&”+saveTime+“&&”+maxTime)signToken:签名密钥由md5(value+saveTime+maxTime+”自定义密钥“)生成s
mysql gh-ost导致自增id重复
mysql表变更gh-osh相比pt-online-schema-change稳定,但使用过程也存在问题:导致自增重置业务表id字段自增,同时会有delete,如果使用gh-ost之前刚刚进行了delete操作,直接导致表id自增重置(效果同8.0以下版本,mysql服务器重启)表访问频繁更新频繁更新产生的锁,失最后一步重试几次后失败,从而进程关闭,生成中间表_gho和_ghc也没有删除
面对需求时,尽量避免这些口头禅
在产品经理去收集需求、分析需求、管理需求时,有一些话轻易不要说。比如“这个需求很简单,怎么实现我不管,明天上线!”这种很不负责的话,会让你的合作方对你的专业性产生质疑。这些口头禅背后反映的是产品经理思考问题的不成熟,是不建议有的。那今天这篇文章,我们一起聊聊身为产品经理,不应该说的那些话,希望能引起你的重视。“我觉着是这样的”产品经理产出的方案,都应该是经得起推敲的,是经过仔细调研和思考过的。当你
雪花算法ID在前端丢失精度解决方案
首先说一下背景,目前笔者的工作是物联网方面的,设备有对应的智慧运营平台,平台开发中建表的主键用的是Mybatisplus默认的雪花算法来生成的,也就是分布式系统比较常用的雪花ID,技术栈就是常用的Springboot+SpringcouldAlibaba,json工具用的是FastJson。在开发的过程中遇到了一个问题:前端接收到的数据在回传给后端的时候ID总是不对,仔细排查发现,前端接收到的数据
市场瞬息万变,我们该如何拥有市场敏感度?
对于大部分人,平时我们开展实际工作时,大多数情况下可能是领导给你设定好了一个目标市场,就让你直接开始调研了,但你有没有想突破一层,自己去发现市场动向,找到新机会,分享给你的老板呢?这篇文章就给你一些保持市场敏感度的方式方法:首先,我建议最好每天保持对互联网行业新闻资讯的关注。但实际在关注时,要有个权重占比。以我自己为例,会把一天要关注的资讯分为几类:早上起来又发生了什么就是类似“早报”之类的资讯L
Caffeine缓存的简单介绍
1、简介在本文中,我们将了解Caffeine,一个用于Java的高性能缓存库。缓存和Map之间的一个根本区别是缓存会清理存储的项目。一个清理策略会决定在某个给定时间哪些对象应该被删除,这个策略直接影响缓存的命中率——缓存库的一个关键特性。Caffeine使用WindowTinyLfu清理策略,它提供了接近最佳的命中率。2、依赖我们需要将Caffeine依赖添加到我们的pom.xml中:com.gi
解决Httpd静态资源服务器资源乱码问题
===服务是起起来了,资源也能够访问到了,但存在不友好问题有3:带有中文的文件名或路径乱码浏览器支持格式会直接打开较长的文件名显示不全资源列表如下在GoogleChrome上的访问页面如下经过一段时间的搜索和尝试逐步的解决了前面的问题:乱码问题:编辑httpd配置文件httpd.conf,增加(或修改)页面的默认编码类型为UTF-8vi/etc/httpd/conf/httpd.conf.....
nicescoll插件出现滚轮失效,有人知道原因嘛
有人使用JS的滚动条插件(jquery.nicescoll.js)时,出现过这样的问题嘛?我刚刚无意中切出网页外面去干其他事情,然后隔了一段时间回来页面的滚动条滚轮失效了,就是鼠标中间那个滚轮不起作用了,但是页面并没有卡死,能够拖动滚动条进行上下移动,点击事件都有效....F12控制台并没有报错,结
非root用户,启动packetbeat 提示初始化失败,启动失败
bootstrap-table插件的 data-searchable="true"为什么没有作用
搜索框加上data-searchable="true"还是data-search=”true”就可以实现模糊搜索?为什么我加上去就不可以
怎样数据联系和交互?
平板上面,同一个activity中,一个fragment中的listview和另外一个fragment中的gridview怎样数据联系和交互?