Elasticsearch 索引 Elasticsearch 索引 创建索引 当用户将JSON对象传递到任何索引时,可以自动创建索引,也可以在此之前创建索引。 123456789101112131415161718192021222324252627282930313233343536PUT /users{ "mappings": { "properties 2022-10-03 Software BackEnd Database ElasticSearch
Elasticsearch 概念 Elasticsearch 概念 Elasticsearch(ES)是一个基于Lucene构建的开源、分布式、RESTful接口的全文搜索引擎。Elasticsearch还是一个分布式文档数据库,其中每个字段均可被索引,而且每个字段的数据均可被搜索,ES能够横向扩展至数以百计的服务器存储以及处理PB级的数据。可以在极短的时间内存储、搜索和分析大量的数据。通常作为具有复杂搜索场景情况下的核心发动机 2022-10-03 Software BackEnd Database ElasticSearch
JavaScript 闭包 JavaScript 闭包 闭包(closure)是Javascript语言的一个难点,也是它的特色,很多高级应用都要依靠闭包实现。 变量的作用域 要理解闭包,首先必须理解Javascript特殊的变量作用域。 变量的作用域无非就是两种:全局变量和局部变量。 Javascript语言的特殊之处,就在于函数内部可以直接读取全局变量。 12345var n=999;function f1()& 2022-10-01 Software Language JavaScript
图像的基本概念 图像的基本概念 图像(image)是由许多不同颜色的像素组成的一个矩形区域,像素的颜色值由它们在调色板(palette,颜色值的数组)中的位置来确定,调色板中的每一项都有3个独立的颜色值----红,绿和蓝,每个颜色值的范围从0(该颜色不显示)到255(该颜色浓度最大) 图像文件不是直接转储像素和颜色,相反地,各种不同格式(GIF,JPEG,PNG等)的图像文件都会尽量尝试压缩文件,使文件容量变小 2022-10-01 Software Common
设计模式概论 设计模式概论 设计模式(Design Pattern)是前辈们对代码开发经验的总结,是解决特定问题的一系列思路,是语法规定,而是一套用来提高代码可复用性,可维护性,可读性,稳健性以及安全性的解决方案。 设计模式的本质是对面向对象,设计原则的实际运用,使得类的封装性,继承性和多态性以及类的关联关系与组合关系的充分理解。 正确使用设计模式具有以下优点: 可以提高程序员的思维能力,编程能力和设计能力 2022-10-01 Software DesignPattern
Git Workflow Git Workflow 经典分支模型 分支 说明 命名规范 checkout from merge to master 主干,最稳定的分支,随时可以当作 release 版本 ,只能从其他分支合入, 不能在上面做任何提交。 develop 开发主干,是稳定的、最新的分支。主要合并其他分支,比如 feature 分支 bugfix 分支。 feature 新功能分 2022-06-09 Software DevOps VCS Git
Git reset Git reset 重置当前分支的 HEAD 为指定 commit 1$ git reset [commit] --soft:不修改暂存区域和工作目录。 --hard:重置暂存区与工作区,与上一次 commit 保持一致。 --mixed:重置暂存区,但工作区不变。 重置暂存区的指定文件,与上一次 commit 保持一致,但工作区不变 1$ git reset [file] 2022-06-09 Software DevOps VCS Git 基本命令
Git submodule Git submodule 经常碰到这种情况:当你在一个 Git 项目上工作时,你需要在其中使用另外一个 Git 项目。也许它是一个第三方开发的 Git 库或者是你独立开发和并在多个父项目中使用的。这个情况下一个常见的问题产生了:你想将两个项目单独处理但是又需要在其中一个中使用另外一个。 在 Git 中你可以用子模块 submodule 来管理这些项目,submodule 允许你将一个 Git 仓 2022-06-04 Software DevOps VCS Git 基本命令
HomeBrew 初始化 HomeBrew 初始化 安装 1/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)" 查看帮助信息 1brew help 查看版本 1brew -v 更新Homebrew 1brew update --verbose #显示详细信息。 2022-06-03 Software Tools Homebrew
高并发性能指标 高并发性能指标 QPS QPS:Queries Per Second意思是“每秒查询率”,是一台服务器每秒能够相应的查询次数,是对一个特定的查询服务器在规定时间内所处理流量多少的衡量标准。 互联网中,作为域名系统服务器的机器的性能经常用每秒查询率来衡量。 TPS TPS:是TransactionsPerSecond的缩写,也就是事务数/秒。它是软件测试结果的测量单位。一个事务是指一个客户机向服务器 2022-05-29 Software Common
Mongo Collection Mongo Collection 集合,类似关系型数据库中的表。可以显示的创建,也可以隐式的创建。 创建集合 1$ db.createCollection(name) name:集合名称。 集合的命名规范。 集合名不能是空字符串"" 集合名不能含有\0字符(空字符),这个字符表示集合名的结尾。 集合名不能以"system."开头,这是为系统集合保留的前 2022-05-28 Software BackEnd Database Mongo
Mongo Database Mongo Database 查看数据库 123$ show databses# 或$ show dbs 选择与创建数据库 1$ use database[数据库名称] 选择不存在的数据库,则会隐式创建该数据库。 注意:数据库只有在内容插入后才会创建,即创建数据区后要再插入一个集合,数据库才会真正创建。 MongoDB 中默认的数据库为 test,如果你没有选择数据库,集合将存放在 test 数 2022-05-28 Software BackEnd Database Mongo
Thrift 概念 Thrift 概念 Thrift是一个轻量级,跨语言的RPc框架,主要用于各个服务之间的RPC通信,最初由Facebook于2007年开发,2008年进入Apache开源项目,它通过自身的IDL中间语言,并借助代码生成引擎生成各种主流语言的RPC服务端/客户端模板代码。 Thrift支持多种不同的编程语言,包括C++,Java,Python,PHP,Ruby,Erlang,Haskell,C#, 2022-05-28 Software BackEnd Distributed Thrift
Thrift Server Thrift Server Thrif提供的网络服务模型包括阻塞服务模型与非阻塞服务模型。 阻塞服务模型:TSimpleServer、TThreadPoolServer 非阻塞服务模型:TNonblockingserver、THsHaServer和TThreadedselectorServer TServer TServer定义了静态内部类Args,Args继承自抽象类AbstractSer 2022-05-28 Software BackEnd Distributed Thrift
Thrift IDL Thrift IDL Thrift是一个典型的CS(客户端/服务端结构,客户端和服务端可以使用不同的语言开发,既然客户端和服务端能使用不同的语言开发,那么一定就要有一种中间语言来关联客户端和服务端的语言,这种语言就是IDL (Interface Description Language) Thrift 采用IDL (Interface Definition Language)来定义通用的服务接口, 2022-05-26 Software BackEnd Distributed Thrift
Bean的循环依赖问题 Bean的循环依赖问题 什么是循环依赖? 从字面上来理解就是A依赖B的同时B也依赖了A,就像下面这样。 12345678910111213@Componentpublic class A { // A中注入了B @Autowired private B b;}@Componentpublic class B { // B中也注入了A 2022-05-26 Software Language Java SpringFramework Spring
JavaScript 模块化 JavaScript 模块化 Common JS CommonJS使用 exports 和require 来导出,导入模块。 导出 moduleA.js 123456module.exports = { flag = true, add(a, b) = { return a+b; }} 导入 1234567//Comm 2022-05-26 Software Language JavaScript
Nginx 配置 Nginx 配置 Nginx的配置文件默认为程序目录下conf文件夹的nginx.conf文件。 在nginx.conf文件的注释符号为# 每个指令必须有分号结束。 查看与检测配置文件 123$ nginx -tnginx: the configuration file /www/server/nginx/conf/nginx.conf syntax is oknginx: configura 2022-05-26 Software BackEnd Server Nginx
Java 枚举 Java 枚举 Java 枚举是一个特殊的类,一般表示一组常量,比如一年的 4 个季节,一个年的 12 个月份,一个星期的 7 天,方向有东南西北等。 Java 枚举类使用 enum 关键字来定义,各个常量使用逗号, 来分割。 例如定义一个颜色的枚举类。 12345enum Color{ RED, GREEN, BLUE;} 以上枚举类 Color 颜色 2022-05-26 Software Language Java JavaSE 其他核心类
Java HashMap Java HashMap HashMap以Hash表数据结构实现,查找对象时通过Hash函数计算其位置,它是为快速查询而设计的,其内部定义了一个 Hash表数组Entry[] table,元素会通过Hash函数将元素的Hash值转换成数组中存放的索引,如果有冲突,则使用链表的形式将所有相同Hash值的元素串起来,可以通过查看HashMap.Entry的源码它是一个单链表结构。 Hash冲突 2022-05-26 Software Language Java JavaSE 泛型与集合