众所周知,Android的设计架构一直为人所诟病,模块的分割不清,很容易造成新手的困惑和迷茫,并且写出来的代码非常混杂,Activity即包含UI的处理,还包括数据的具体处理,让一个Activity弄出好几千行的容量,而且代码非常不清晰,可读性比较差。
所以在Android的开发过程中,一直没有一个统一的开发模式,MVC、MVP、MVVM都有出现,不过之前Google在Github开源的一个开源库to-do-mvp ,Google提供了他们对MVP的一个范式,我们一次为基础谈谈Android 的MVP的应用。
What is MVP?
MVP 指的是“models-views-pre
继续阅读 »
提到iOS开发,肯定少不了与证书打交道。本文主要记录下个人对证书的一些理解,希望大家少踩坑。
more
概要
虽然苹果整个生态链是封闭未开源的,但安全性在业内绝对靠前。证书,也可以说是数字签名,只是整个生态链安全性中的一环而已。无论是底层系统的设计,上架审核,还是对https的推行,以及近期火热的JSPatch等动态更新问题,都可以看出苹果还是很重视生态链的稳定和安全。
继续阅读 »
Schema Design
mongodb区别于sql数据库,没有外键,支持内嵌文档。在设计数据库时既可以内嵌也可以分别创建不同的集合再进行连接,较为自由。内嵌的好处是提高磁盘读取效率。缺点是不能内嵌太多文档,否则会超过16MB的文档大小限制,还有如果内嵌导致大量重复数据则容易造成数据不一致。
继续阅读 »
数据可视化
一、概述
1. 为什么要进行可视化
人肉眼对图像更敏感
将数据之间的复杂关系通过更清晰的方式展现出来
……
2. 涉及到的领域
数学,统计
交互设计
物理(力场图)
地理(GIS)
心理学
编程
……
继续阅读 »
参考原文:https://github.com/angular-ui/ui-router/wiki/URL-Routing
在你的应用中大多数状态都有与其相关联的 url,路由控制不是设计完成 state 之后的事后想法,而是开始开发时就应该考虑的问题。
这里是如何设置一个基本url。
javascript
$stateProvider
.state('contacts', {
url: "/contacts",
templateUrl: 'contacts.html'
})
当我们访问index.html/contacts时, 'contacts'状态将被激活,同时inde
继续阅读 »
文/Robin
好吧,我承认在折腾 MacBook Pro 发烫这件事情,我失败了,不过还是值得记录下吧。
笔者的是 2018 款的 MacBook Pro,有两个显卡,集成显卡和独立显卡,型号分别是 Intel UHD Graphics 630 和 Radeon Pro Vega 20 4 GB。MacBook Pro 外接显示器用一段时间,就会发烫,烫到怀疑人生那种。这个原因的很明确,那就是因为外接显示器,会自动使用独立显卡。独立显卡的功耗,明显要比集显高。此外 2018 款的糟糕设计,在散热本来就差的情况下,就显得更雪上加霜了。
一贯爱好折腾的笔者,自然是想尽各种办法解决。为什么要折腾去解决呢?因为长时间的发烫,Ma
继续阅读 »
项目中mysql 查询 sum()的时候,没有匹配的项目,居然返回了null
这个npe真是莫名其妙啊!!
查询之后才知道mysql sum如果没匹配是null,不是0!!!
什么烂设计!!!
解决办法:
1.在程序里判断null
2.用coalesce
mysql 函数coalesce(),作用是返回传入的参数中第一个非null的值
如SELECT COALESCE(NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 1);
返回1
coalesce(字段,0) 类似于if else, 如果字段为空则根据设置返回你想要的结果0
继续阅读 »
链接:Link 状态:Runtime Error
前言
这题做的可真够久的,整整三个小时。但即便如此,还是只过了一部分的点,另一部分报运行时错误——估计是哈希表设计的不太好。但这确实是一道好题,因此,在睡觉前决定记录一下。
分析
很容易便想到:用一个三元组$(x,y,z)$表示节点,表示内容为x的节点下跟着标号为y和z的左右子树。这样一来,一类相同的子树便可以唯一确定了,而不必每构造一棵子树就把整棵树遍历一遍。
对于三元组的储存,刚开始图方便,用了数组。查找也是用了$O(n)$的线性查找。磕磕碰碰写了两个多小时然后兴冲冲地提交,结果TLE了…………没办法,只好又花了半个小时写了一个哈希表,然后就是上文说过的情况了:Runti
继续阅读 »
以下关于敏捷开发的内容,只是我个人经历和感想,没打算说点“正确”的话,觉得我说的错得离谱,大可以认为我经历的是假的敏捷开发 ^_^
我来到现在的公司才第一次接触敏捷开发,之前对敏捷开发一无所知。
说起敏捷开发,网上已经有一大堆复杂抽象的概念,在实际工作当中能接触到的有典型特征的几件事情就是:每天站立会议、头脑风暴形式的需求讨论会议、测试用例设计会议、code review、迭代回顾等等。
继续阅读 »
本书第六章的读书笔记,也是我这个系列的最后一篇读书笔记。后面7、8、9章分别讲的“测试、调试与重构”、“设计和架构的原则”以及“使用Lambda表达式编写并发程序”,因为笔记不好整理,就不写了,感兴趣的同学自己买书来看吧。
并行化流操作
继续阅读 »