-
xiaozhi
-
简介如果你关注代码本身和代码的编写方式,而不是只关心它是否能工作,那么你写代码是有一定的水准。专业开发人员将为未来的自己和“其他人”编写代码,而不仅仅只编写当前能工作就行的代码。在此基础上,简洁代码可以定义为自解释的、易于人理解的、易于更改或扩展的代码。以下列表一些好编写方式,仅供参考,当然,如果你有更好的方式,欢迎留言。1. 强类型检查用===代替==//如果处理不当,它会极大地影响程序逻辑。这
-
hangge
-
由于Docker Hub的服务器在国外,我们平时下载镜像可能会比较慢。好在DaoCloud为我们提供了免费的镜像服务,下面介绍如何配置使用这个镜像服务。(1)首先访问DaoCloud网站,注册一个用户。https://www.daocloud.io/(2)登录后,点击顶部菜单的“加速器”图标。(3)在弹出页面中找到适合自己系统的配置命令。(4)比如我是CentOS系统,则在命令终端中执行如下命令
-
xiaozhi
-
为了保证的可读性,本文采用意译而非直译。想阅读更多优质文章请猛戳GitHub博客,一年百来篇优质文章等着你!我们大部分 React 类组件可以保存状态,而函数组件不能? 并且类组件具有生命周期,而函数组件却不能?React 早期版本,类组件可以通过继承PureComponent来优化一些不必要的渲染,相对于函数组件,React 官网没有提供对应的方法来缓存函数组件以减少一些不必要的渲染,直接 16
-
java
-
SSO是公司一个已经存在了若干年的项目,后端采用SpringMVC、MyBatis,数据库使用MySQL,前端展示使用Freemark。今年,我们对该项目进行了一次革命性的改进,改造成SpringBoot架构,并且把前后端分离,前端采用Vue框架。一、使用SpringBoot架构进行改造1.1 为什么使用SpringBoot相比较于传统的Spring,SpringBoot具有以下优点:部署简单,S
-
java
-
一、并发Unable to create new native thread ……问题1:Java中创建一个线程消耗多少内存?每个线程有独自的栈内存,共享堆内存问题2:一台机器可以创建多少线程?CPU,内存,操作系统,JVM,应用服务器我们编写一段示例代码,来验证下线程池与非线程池的区别://线程池和非线程池的区别publicclassThreadPool{
publicstaticinttim
-
hangge
-
本文演示如何搭建一个三节点的Kubernetes Cluster集群(一个master节点和两个node节点),并且这三台服务器使用的都是CentOS 7系统。一、准备工作(三个节点都需要设置)1,安装 Docker所有的节点都需要安装Docker,具体步骤可以参考我之前写的文章:CentOS下 Docker、Docker Compose 的安装教程(附详细步骤)2,安装 kubelet、kube
-
xiaozhi
-
基本概念css像素、设备像素、逻辑像素、设备像素比viewportrem1. css像素、设备像素、逻辑像素、设备像素比大家可以先看这篇文章了解一下基本概念。css像素:我们大家经常写高多少px,宽多少px,这个就是px像素。逻辑像素:其它就是css像素,他们其实是同一回事。设备像素比:css像素与物理像素的一个比值。设备像素:手机上像素的点,通常一个像素点就是一点,但从苹果出了Retina屏 幕
-
xiaozhi
-
这次将讲解 WebAssembly 是如何工作的,更重要的是,它是如何在性能方面与JavaScript进行比较的:加载时间、执行速度、垃圾收集、内存使用、API开放平台、调试、多线程和可移植性。首先,让我们看看WebAssembly做什么首先,我们有必要了解一下asm.js。2012年,Mozilla 的工程师 Alon Zakai 在研究 LLVM 编译器时突发奇想:许多 3D 游戏都是用 C
-
xiaozhi
-
为了保证的可读性,本文采用意译而非直译。想阅读更多优质文章请猛戳GitHub博客,一年百来篇优质文章等着你!注意:自己尝试的时候,Mac(17, pro) 与原文提供的快捷键盘不太一样,mac 对应的 Ctrl 要换成 command做为前端开发者来说,大都数都用过 VSCode,并且也有很多是经常用的。但 VSCode 的一些快捷键可能我们不知道,也比较少用,毕竟这很好,因此本文就列出一些快捷键
-
xiaozhi
-
图像是web上提供的最基本的内容类型之一。他们说一张图片胜过千言万语。但是如果你不小心的话,图片大小有时高达几十兆。因此,虽然网络图像需要清晰明快,但它们尺寸可以缩小压缩的,使用加载时间保持在可接受的水平。在我的网站上,我注意到我的主页的页面大小 超过了1.1MB,图片占了约88%,我还注意到我提供的图像比它们需要的大(在分辨率方面),显然,还有很多改进的空间。我开始阅读 Addy Osmani
-
hgweb
-
二、使用 throttle 函数实现节流1,throttle 节流throttle 函数原型如下。它会创建一个节流函数,在 wait 秒内最多执行 func 一次的函数。_.throttle(func, [wait=0], [options={}])
(1)throttle 的功能和前文介绍的 debounce 很像,都是为了防止某个方法被频繁调用。不同的是,throttle 可以指定每隔多长时
-
wechat
-
因为在微信的wxml的动态绑定数据的时候经常遇到函数,实现类似vue的filter的效果,查阅文档之后发现不能直接使用函数,要通过一个.wxs文件来做https://developers.weixin.qq.com/miniprogram/dev/reference/wxs/01wxs-module.html根目录新建utils/utils.wxs这里面好像不支持es6的语法,而且很多基本数据类型
-
hangge
-
Redis - 安装和部署教程1(CentOS下单个Redis实例安装)四、Redis 集群原理1,基本介绍在 Redis 集群中,所有的 Redis 节点彼此互联,节点内部使用二进制协议优化速度和带宽。当一个节点挂掉后,集群中超过半数的节点检测失效时才认为该节点已失效。不同于 Tomcat 集群需要使用反向代理服务器,Redis 集群中的任意节点都可以直接和 Java 客户端连接。2,数据分配策
-
android01
-
在android guide中有这样的一段关于android应用程序进程的描述:**By default, every application runs in its own Linux process. Android starts the process when any of the application's components need to be executed, then
-
cnbzlj
-
I.简介HTTP是现代应用常用的一种交换数据和媒体的网络方式,高效地使用HTTP能让资源加载更快,节省带宽。OkHttp是一个高效的HTTP客户端,它有以下默认特性:支持HTTP/2,允许所有同一个主机地址的请求共享同一个socket连接连接池减少请求延时透明的GZIP压缩减少响应数据的大小缓存响应内容,避免一些完全重复的请求当网络出现问题的时候OkHttp依然坚守自己的职责,它会自动恢复一般的连
-
xiaozhi
-
跟踪JavaScript (ECMAScript)中的新内容是很困难的,而且更难找到有用的代码示例。因此,在本文中将介绍TC39(最终草案)在ES2016、ES2017和ES2018中添加的已完成提案中列出的所有18个特性,并给出有用的示例。1.Array.prototype.includesinclude 是数组上的一个简单实例方法,可以轻松查找数组中是否有指定内容(包括 NaN)。2.求幂操作
-
mastersoftware
-
Today, you will get the mobile app for every service that you need in everyday life. After food and traveling, health is the sector that needs a lot of emergency bookings for doctors or other medical
-
kotlin
-
JavaScript的从Kotlin 1.1开始,JavaScript目标不再被认为是实验性的。支持所有语言功能,还有许多新工具可用于与前端开发环境集成。有关更改的更详细列表,请参阅下文。协调(实验)在科特林1.1的主要新功能是协同程序,带来的支持async/ <code>await,yield和类似的编程模式。Kotlin设计的关键特征是协同执行的实现是库的一部分,而不是语言,所以你
-
android01
-
android的异步任务体系中还有一个非常重要的操作类:AsyncTask,其内部主要使用的是java的线程池和Handler来实现异步任务以及与UI线程的交互。本文主要解析AsyncTask的的使用与源码。首先我们来看一下AsyncTask的基本使用:classMAsyncTaskextendsAsyncTask<Integer,Integer,Integer>{
@Overrid
-
xiaozhi
-
本文主要介绍一些最常用的JS字符串函数,列表如下:charAt(x)charCodeAt(x)concat(v1,v2..)fromCharcode(c1,c2)indexOf(substr, [start])lastIndexOf(substr, [start])match(regexp)replace(regexp/substr, replacetext)search(regexp)slice