Wesley13 Wesley13
3年前
11张图了解HDFS的架构设计
HDFS介绍HDFS是一个适合部署在廉价机器上的,具有高度容错性的,高吞吐量的分布式文件系统。HDFS的设计理念支持超大规模数据集运行在HDFS上的应用具有很大的数据集。HDFS上的一个典型文件大小一般都在G字节至T字节。因此,HDFS被设计成支持大文件存储,能在一个集群里扩展到
Souleigh ✨ Souleigh ✨
4年前
如何只使用CSS提升页面渲染速度
用户喜欢快速的Web应用。他们期望页面加载速度快,运行流畅。如果滚动时出现动画中断或延迟,用户很可能就会离开你的网站。作为一名开发者,你可以做很多事情来提升用户体验。本文主要介绍你可以用来提升页面渲染速度的4个CSS技巧。1\.Contentvisibility一般来说,大部分Web应用都有复杂的UI元素,并且它的扩展超出了用户在浏览器
Stella981 Stella981
3年前
Kubernetes安全挑战以及如何应对
背景线上环境使用Kubernetes已经有一段时间,Kubernetes通过提供一个可扩展的声明式平台来管理容器以实现高可用性,弹性和规模。但是Kubernetes是一个大型、复杂的平台;在规模扩大以后,Kubernetes平台自身身的安全问题如何解决?应该采取什么策略来保证应用的安全部署?下面我从四个方面说明如何缓解这些挑战。!(http
Stella981 Stella981
3年前
2020,最新Model的设计
很多的app使用MVC设计模式来将“用户交互”与“数据和逻辑”分开,而model其中一个重要作用就是持久化。下文中设计的Model可能不是一个完美的,扩展性强的model范例,但在我需要重构的app中,这样的设计能够满足我的需要。关于ModelModel层包含了app的数据与逻辑,Model层中的类需要关心的是数据的表现,存储,以及操
Wesley13 Wesley13
3年前
MongoDB 基本使用
MongoDB是一个基于分布式文件存储的数据库。由C语言编写。旨在为WEB应用提供可扩展的高性能数据存储解决方案。MongoDB是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。MongoDB将数据存储为一个文档,数据结构由键值(keyvalue)对组成。MongoDB文档(
Stella981 Stella981
3年前
Django自定义User模型、认证、权限控制
Django自带强大的User系统,为我们提供用户认证、权限、组等一系列功能,可以快速建立一个完整的后台功能。但User模型并不能满足我们的需求,例如自带的User表中没有手机号码,而且对于国人来说表中的first\_name和last\_name并没有什么卵用,对于实际生产中灵活的用户表来说重写User模型是非常有必要的。扩展User模型
Wesley13 Wesley13
3年前
Java开发笔记(六十)匿名内部类的优势
前面依次介绍了简单接口和扩展接口,给出的范例都是自定义的接口代码,其实Java系统本身就自带了若干行为接口,为了更好地理解系统接口的详细用法,接下来还是从一个基础的例子出发,抽丝剥茧地逐步说明接口的几种调用方式。早在阐述如何使用数组的时候,就提到Java提供了Arrays工具可用于数组变量的常见处理,例如该工具的copyOf方法用来复制数组、sort方
Stella981 Stella981
3年前
Kotlin代码检查在美团的探索与实践
背景Kotlin有着诸多的特性,比如空指针安全、方法扩展、支持函数式编程、丰富的语法糖等。这些特性使得Kotlin的代码比Java简洁优雅许多,提高了代码的可读性和可维护性,节省了开发时间,提高了开发效率。这也是我们团队转向Kotlin的原因,但是在实际的使用过程中,我们发现看似写法简单的Kotlin代码,可能隐藏着不容忽视的额外开销。本文剖析了K
Easter79 Easter79
3年前
Tomcat+Nginx+MySQL负载均衡
Javaweb环境搭建1\.初识TomcatTomcat服务器是一个免费的开放源代码的Web应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP程序的首选。Tomcat是Apache服务器的扩展,但运行时它是独立运行的,所以当你运行tomcat时,它实际上作为一
Stella981 Stella981
3年前
Codeigniter 3 拓展HMVC
在Codeiniter(以下统称CI)2.X版本中,我们就通过拓展核心类库实现了HMVC,但是同样的代码,拿到CI3中,就很有可能不好用了。拓展核心类库方式官方的文档对拓展核心类有详细的说明:你定义的类必须继承自父类。你的类名和文件名必须以MY\_开头。(这是可配置的,见下文)举个例子,要扩展原始的Input类,你需要新