Kotlin如何实现MVP架构
最近MVP火的不要不要的,我也来凑盘热闹,其实MVP的文章看了好多了,但是一直还停留在概念阶段,这几天对GoogleAndroid的todoapp的代码进行了解析,然后使用Kotlin翻译了一下,算了对MVP有了一个大概的认识,那么MVP究竟是什么,网上一搜一大堆,我就把名字复述一下,MVP的全称为Model-View-Presenter,即模型-视图-协调器(主持者),最重要的功能还是解耦,代码
adnroid性能调优
一、性能瓶颈点整个页面主要由6个Page的ViewPager,每个Page为一个GridView,GridView一屏大概显示4*4的item信息(本文最后有附图)。由于网络数据获取较多且随时需要保持页面内app下载进度及状态,所以出现以下性能问题a. ViewPager左右滑动明显卡顿b. GridView上下滚动明显卡顿c. 其他Activity返回ViewPagerActivity较慢
css圣杯布局和双飞翼布局
双飞翼布局和圣杯布局其实是一样的,只不过在写法上有些不同,其布局都是左右固定宽度,中间宽度自适应。圣杯布局html结构 center left rightcss先写出大概的样式.article{ height: 300px; padding: 0 200px;}.article .left{ width: 200px; height: 100px;
动态合并Repeater控件数据列 Ver2
今天Insus.NET重新演示它,为什么?因为两点足需要重新写过。一是在cs生成的列代码有冗余,这是小事;二是某一情况之下,可能在合并时,会有异常。怎样说呢?由于例子中需要合并的列的数据刚好连续,当时是计算相同的数据做统计,如果遇上不连续,相同的数据时,也会统计在一起,这样异常出现可想而知。此篇最始码解决上面的问题,另外使用全新的计算方法进行合并列统计。Htmlmarkup重点在于highligh
表格绑定数据源
"Table表格可以动态绑定数据源吗?能绑定什么类型的数据源呢?控件绑定的不好控制样式 想用手写的表格显示数据"?如下图: 看到此图,一般是asp.net显示单记录的详细。不管你是用还是 它是web控件或
Android 使用NanoHTTPD框架搭建web的后端服务器(一)
使用NanoHTTPD框架搭建web的后端服务器:第一步添加WebHttpdServer.java,内容如下:packagecom.example.weblanguagetest;importjava.io.BufferedReader;importjava.io.File;importjava.io.FileInputStream;importjava.io.FileNotFoundExcept
深入分析大数据时代中的数据仓库技术
大数据背景众所周知,当前是一个数据爆炸的时代,大数据背景下的数据治理是每一个企业应该重点考虑的问题。例如金融机构、电信运营商这种“传统”行业每日需要处理的数据量都已经十分巨大了,中小型互联网公司都已经握着上千万日活了,就更不要说腾讯,阿里这样的互联网巨头。传统行业的数据治理以电信运营商为例,一个省级的电信运营商在好多年前一年积累的信息量就已经达到数个PB了,在数据爆炸的时代,我们通过移动互联网随时
自定义View之添加银行卡动画(三)
本篇是添加银行卡动画的最后一篇,要实现的效果如下添加银行卡动画首先观察动画,动画开始的时候将上一页的phoneLayout移除,然后这个电话的背景图向下+放大的效果,然后是短信验证码view(viewCode)添加到电话背景图上,里面的内容执行scale动画。我们先来做这个电话背景图片向下+放大的效果,这次我们使用的是属性动画,所以在res下新建animator,然后新建thirdainm.xml
Android Study 之 如何通过Data Binding提升撸
LZ-Says:洗个澡,突然感觉爽到爆~~~又回来了哦~前言前几天,终于完善了关于DataBinding基础篇以及进阶篇博文编写,过程很是艰难哦~下面附上链接地址:AndroidStudy之如何通过DataBinding提升撸码逼格(基础篇);AndroidStudy之如何通过DataBinding提升撸码逼格(进阶篇);而今天,整整行囊,准备开启DataBinding高级篇,完成之后,也该开启A
看完这篇,你就知道Python生成器是什么
生成器是Python初级开发者最难理解的概念之一,虽被认为是Python编程中的高级技能,但在各种项目中可以随处见到生成器的身影,你得不得去理解它、使用它、甚至爱上它。提到生成器,总不可避免地要把迭代器拉出来对比着讲,生成器就是一个在行为上和迭代器非常类似的对象,如果把迭代器比作Android系统,那么生成器就是iOS,二者功能上差不多,但是生成器更优雅。什么是迭代器顾名思义,迭代器就是用于迭代操
【php增删改查实例】第二十节 - 把用户管理页面集成到main.ph
把这个代码:用户管理复制一下,粘贴到这里:刷新main.php完成。源码获取:https://www.jianshu.com/p/4977bd0073d5作者:剽悍一小兔链接:https://www.jianshu.com/p/554c958a8c9a
我对CDN以及CDN加速的认识
学习什么都要学习本质,哲学中有我是谁?我从哪里来?我到哪里去?其实这也可以延伸出对学习知识方法的一个概括,学习什么都要学习他的本质,他是什么,能做什么,优点是什么,原理是什么,有什么缺点或者替代方案。问完这些,我相信你会对它有一个崭新的认识。闲话就扯到这里,步入正题。CDN加速目的是可以让我们的站点更快的展示到用户面前CDN是什么?CDN是内容分发网络,避开不利网络因素,让你更好的访问,并获得信息
MySQL中TEXT与BLOB字段类型的区别
在MySQL中有两个字段类型容易让人感觉混淆,那就是TEXT与BLOB,特别是自己写博客程序的博主不知道改为自己的博客正文字段选择TEXT还是BLOB类型。下面给出几点区别:一、主要差别TEXT与BLOB的主要差别就是BLOB保存二进制数据,TEXT保存字符数据。目前几乎所有博客内容里的图片都不是以二进制存储在数据库的,而是把图片上传到服务器然后正文里使用标签引用,这样的博客就可以使用TEXT类型
python string
方法 描述string.ljust(width)返回一个原字符串左对齐,并使用空格填充至长度width的新字符串>>>x.ljust(20)'Hello,wold ‘string.center(width)返回一个原字符串居中,并使用空格填充至长度width的新字符串>>>x.center(20)' Hello,wold '>>>string.rjust(width)返回一个原字符串右对齐
MySQL优化之连接优化
上文MySQL优化之缓存优化这篇文章中提到了一个很重要的概念,就是showvariables是用来表示系统编译或者配置在my.cnf中的变量值。而showstatus则称之为状态值,显示的是当前服务实例运行所具有的状态信息,是一个动态改变的值。因此常用来观测当前MySQl的运行是否正常,如果不正常那么依靠调整静态参数来提高MySQL的性能。所以明白这两个概念的不同,是后面调优的基础。MySQL连接
mxnet RNN简单剖析
import mxnet as mx官方github教程部分代码网络生成num_layers = 2num_hidden = 256stack = mx.rnn.SequentialRNNCell()for i in range(num_layers): stack.add(mx.rnn.LSTMCell(num_hidden=num_hidden, prefix='lstm_l%d_'%i
Mysql中的Btree与Hash索引比较
mysql最常用的索引结构是btree(O(log(n))),但是总有一些情况下我们为了更好的性能希望能使用别的类型的索引。hash就是其中一种选择,例如我们在通过用户名检索用户id的时候,他们总是一对一的关系,用到的操作符只是=而已,假如使用hash作为索引数据结构的话,时间复杂度可以降到O(1)。不幸的是,目前的mysql版本(5.6)中,hash只支持MEMORY和NDB两种引擎,而我们最常
深入理解 Java 中的 Lambda
我花了相当多的阅读和编码时间才最终理解JavaLambdas如何在概念上正常工作的。我阅读的大多数教程和介绍都遵循自顶向下的方法,从用例开始,最后以概念性问题结束。在这篇文章中,我想提供一个自下而上的解释,从其他已建立的Java概念中推导出Lambdas的概念。首先介绍下方法的类型化,这是支持方法作为一流公民的先决条件。基于此,Lambdas的概念是被以匿名类用法的进化和特例提出的。所有这一切都通
30 Seconds of CSS代码块解读(布局篇)
30SecondsofCSS代码块解读(布局篇)这是一个号称在30秒内可以了解有用的CSS代码片段。GitHub地址在这里。由于没有中文版,下面就记录下所有的代码片段,并加上一丢丢个人见解。这是第一篇布局篇,主要涉及到flex和gird布局、清除浮动、盒模型的设置等等。Box-sizingreset重置盒模型,防止边框(border)和内填充(padding)影响元素宽高。html { box-
python并发编程之多线程理论部分
一、什么是线程 在传统操作系统中,每个进程有一个地址空间,而且默认就有一个控制线程。 线程就是一条流水线工作的过程,一条流水线必须属于一个车间,一个车间的工作过程是一个进程。 车间负责把资源整合到一起,是一个资源单位,而一个车间内至少有一个流水线流水线的工作需要电源,电源就相当于cpu。 所以,进程只是用来把资源集中到一起(进程只是一个资源单位,或者说资源集合),而线程才是cpu上的执