View的绘制流程


基本操作由三个函数完成:measure()、layout()、draw(),其内部又分别包含了onMeasure()、onLayout()、onDraw()三个子方法。具体操作如下:measure操作measure操作主要用于计算视图的大小,即视图的宽度和长度。在view中定义为final类型,要求

Android四大组件


Activity:一个Activity通常就是一个单独的屏幕(窗口)。Activity之间通过Intent进行通信。android应用中每一个Activity都必须要在AndroidManifest.xml配置文件中声明,否则系统将不识别也不执行该Activity。activity生命周期:Serv

数据库索引和其优化


什么是索引?举个栗子,我们拿出一本新华字典,它的目录实际上就是一种索引:非聚集索引。我们可以通过目录迅速定位我们要查的字。而字典的内容部分一般都是按照拼音排序的,这实际上又是一种索引:聚集索引。数据库索引,是数据库管理系统中一个排序的数据结构,以协助快速查询、更新数据库表中数据。索引的实现通常使用B

数据库设计三大范式


为了建立冗余较小、结构合理的数据库,设计数据库时必须遵循一定的规则。在关系型数据库中这种规则就称为范式。范式是符合某一种设计要求的总结。要想设计一个结构合理的关系型数据库,必须满足一定的范式。在实际开发中最为常见的设计范式有三个:1.第一范式(确保每列保持原子性)第一范式是最基本的范式。如果数据库表

Ubuntu和nginx从Let 's Encrypt获得免费证书给网站加密HTTPS


为了确保到您的服务器的通信保持安全,我们为自己的域获取一个SSL证书。从Let'sEncrypt中获得一个免费证书,生成一个自签名证书。如何在Ubuntu18.04中为Nginx创建一个自签名SSL证书。首先,添加CertbotUbuntu存储库:sudoadd-apt-repositoryppa:

frp中文文档


frp中文文档frp是一个可用于内网穿透的高性能的反向代理应用,支持tcp,udp协议,为http和https应用协议提供了额外的能力,且尝试性支持了点对点穿透。目录开发状态架构使用示例通过ssh访问公司内网机器通过自定义域名访问部署于内网的web服务转发DNS查询请求转发Unix域套接字对外提供简

计算机网络问题


HTTP缓存有什么好处?缓存是一种保存资源副本并在下次请求时直接使用该副本的技术。当 web 缓存发现请求的资源已经被存储,它会拦截请求,返回该资源的拷贝,而不会去源服务器重新下载。这样带来的好处有:缓解服务器端压力,提升性能(获取资源的耗时更短了)。