JavaScript 单例模式

单例就是保证一个类只有一个实例,实现方法先判断实例存在与否,如果存在直接返回,如果不存在就创建了再返回,这就确保了一个类只有一个实例对象。在JavaScript里,单例作为一个命名空间提供者,从全局命名空间里提供一个唯一的访问点来访问该对象。 ① 对象字面量 var singleton = { attr : 1, method : function(){ return this.attr; } } var t1 = singleton ; var t2 = singleton ; t1 === t2 。 简单实用,不足之处在于没有什么封装性,所有的属性方法对外暴露。 ② 构造函数 functi …

Linux 安装 python3.7&pip

yum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel Python3 下载Python3 wget https://www.python.org/ftp/python/3.7.0/Python-3.7.0.tgz 安装python3 mkdir -p /usr/local/python3 解压编译安装 tar -zxvf Python-3.7.0.tgz c …

Python 与 Java 使用 websocket 通信

WebSocket协议是基于TCP的一种新的网络协议。它实现了浏览器与服务器全双工(full-duplex)通信——允许服务器主动发送信息给客户端。 Java服务端 import java.io.IOException; import java.util.concurrent.CopyOnWriteArraySet; import javax.websocket.*; import javax.websocket.server.ServerEndpoint; /** * @ServerEndpoint 注解是一个类层次的注解,它的功能主要是将目前的类定义成一个websocket服务器端, * …

Node.js版本更新: n工具

老旧的yum源安装了旧版node, 可使用n工具包进行版本升级。 sudo npm cache clean -f sudo npm install -g n sudo n stable 使用 n 来安装最新的稳定版的nodejs。 n 是一个Node工具包,它提供了几个升级命令参数: n 显示已安装的Node版本 n latest 安装最新版本Node n stable 安装最新稳定版Node n lts 安装最新长期维护版(lts)Node n <version> 根据提供的版本号安装Node 安装指定的版本号: sudo n 8.7.0 本文链接地址: Node.js版本更新: …

Centos7 安装 MongoDB

1. 创建 yum 源 vi /etc/yum.repos.d/mongodb-org-3.6.repo 添加以下路径 保存退出 [:wq] [mongodb-org-3.6] name=MongoDB Repository baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/3.6/x86_64/ gpgcheck=0 enabled=1 gpgkey=https://www.mongodb.org/static/pgp/server-3.6.asc 2. yum 安装 yum install -y mong …

nw.js 打包桌面 exe 程序

NW.js (原名 node-webkit)是一个基于 Chromium 和 node.js 的应用运行时,通过它可以用 HTML 和 JavaScript 编写原生应用程序。它还允许您从 DOM 调用 Node.js 的模块 ,实现了一个用所有 Web 技术来写原生应用程序的新的开发模式。 (1)以网络最流行的技术编写原生应用程序的新方法 (2)基于HTML5, CSS3, JS and WebGL而编写 (3)完全支持nodejs所有api及第三方模块 (4)可以使用DOM直接调用nodejs模块 (5)容易打包和分发 (6)支持运行环境包括32位和64位的Window、Linux和Mac …

浏览器缓存机制&处理方法

背景 开发中,经常遇到的问题:修改过css样式或者js代码,F5刷新浏览器,代码并没有生效,这是浏览器缓存造成的,浏览器设计的目的是为了节省用户流量,因为资源文件一般较稳定,数量多,但修改量少。 浏览器缓存机制 ① 首次加载 ② 再次加载 相关术语 Etag HTTP协议规格说明定义ETag为“被请求变量的实体值”。另一种说法是,ETag是一个可以与Web资源关联的记号(token)。典型的Web资源可以一个Web页,但也可能是JSON或XML文档。服务器单独负责判断记号是什么及其含义,并在HTTP响应头中将其传送到客户端,以下是服务器端返回的格式:ETag:”2400-5437207ef28 …