ISPT启航
  • 文章
  • 问答
  • 登录
邮箱登录
邮箱

密码
邮箱注册
邮箱

昵称

密码

确认
全部文章其他工具开源设计模式后端前端公告
docker - 通过 Dockerfile 创建镜像

由于Docker镜像的结构优势,使它的占用空间远小于普通的虚拟机镜像,而这就大幅减少了Docker镜像在网络或者其他介质中转移所花费的时间,进而提高了进行迁移部署的效率。 关于Dockerfile Dockerfile是Docker中用于定义镜像自动化构建流程的配置文件,在Dockerfile中,包含了构建镜像过程中需要执行的命令和其他操作。通过Dockerfile可以更加清晰、明确的给定Docker镜像的制作过程,而由于其仅是简单、小体积的文件,在网络等其他介质中传递的速度极快,能够更快的帮助实现容器迁移和集群部署。 通常来说,对Dockerfile的定义就是针对一个名为Dockerf...

  猿来如此   2023年07月12日   733   0   0 docker
docker - 使用 Docker Hub 中的镜像

自己编写Dockerfile能够很好的实现想要的程序运行环境,不过如果装有想要环境的镜像已经由热心的开发者构建好并共享在DockerHub上,直接使用就会远比自己编写Dockerfile并进行构建要来的简单的多了。事实上,在开发过程中用到的镜像大部分还是直接采用DockerHub中已经存在的镜像的,即使自己编写Dockerfile,也只是对已有镜像进行简单的改动,很少会从零开始搭建镜像。 选择镜像与程序版本 由于Docker的容器设计是程序即容器的,所以组成服务系统的多个程序一般会搭建在多个容器里,互相之间协作提供服务。例如一套最简单的Web服务,可能会需要Java容器来运行基于Sprin...

  猿来如此   2023年07月12日   666   0   0 docker
docker - Dockerfile 使用技巧

构建中使用变量 在实际编写Dockerfile时,与搭建环境相关的指令会是其中占有大部分比例的指令。在搭建程序所需运行环境时,难免涉及到一些可变量,例如依赖软件的版本,编译的参数等等。可以直接将这些数据写入到Dockerfile中完全没有问题,有问题的是这些可变量会经常调整,在调整时就需要到Dockerfile中找到它们并进行更改,如果只是简单的Dockerfile文件尚且好说,但如果是相对复杂或是存在多处变量的Dockerfile文件,这个工作就变得繁琐而让人烦躁了。 在Dockerfile里,可以用ARG指令来建立一个参数变量,可以在构建时通过构建指令传入这个参数变量,并且在Docke...

  猿来如此   2023年07月12日   629   0   0 docker
Redis - GeoHash

Redis在3.2版本以后增加了地理位置GEO模块,意味着我们可以使用Redis来实现摩拜单车「附近的Mobike」、美团和饿了么「附近的餐馆」这样的功能了。 用数据库来算附近的人 地图元素的位置数据使用二维的经纬度表示,经度范围(-180,180],纬度范围(-90,90],纬度正负以赤道为界,北正南负,经度正负以本初子午线(英国格林尼治天文台)为界,东正西负。比如掘金办公室在望京SOHO,它的经纬度坐标是(116.48105,39.996794),都是正数,因为中国位于东北半球。 当两个元素的距离不是很远时,可以直接使用勾股定理就能算得元素之间的距离。我们平时使用的「附近的人」的功能...

  无为   2023年07月09日   664   0   0 redis
Redis - 漏斗限流

漏斗限流是最常用的限流方法之一,顾名思义,这个算法的灵感源于漏斗(funnel)的结构。 漏斗的容量是有限的,如果将漏嘴堵住,然后一直往里面灌水,它就会变满,直至再也装不进去。如果将漏嘴放开,水就会往下流,流走一部分之后,就又可以继续往里面灌水。如果漏嘴流水的速率大于灌水的速率,那么漏斗永远都装不满。如果漏嘴流水速率小于灌水的速率,那么一旦漏斗满了,灌水就需要暂停并等待漏斗腾空。 所以,漏斗的剩余空间就代表着当前行为可以持续进行的数量,漏嘴的流水速率代表着系统允许该行为的最大频率。下面我们使用代码来描述单机漏斗算法。 py coding:utf8 importtime classFu...

  无为   2023年07月09日   650   0   0 redis
Redis-实现简单限流

限流算法在分布式领域是一个经常被提起的话题,当系统的处理能力有限时,如何阻止计划外的请求继续对系统施压,这是一个需要重视的问题。 除了控制流量,限流还有一个应用目的是用于控制用户行为,避免垃圾请求。比如在UGC社区,用户的发帖、回复、点赞等行为都要严格受控,一般要严格限定某行为在规定时间内允许的次数,超过了次数那就是非法行为。对非法行为,业务必须规定适当的惩处策略。 如何使用Redis来实现简单限流策略? 首先我们来看一个常见的简单的限流策略。系统要限定用户的某个行为在指定的时间里只能允许发生N次,如何使用Redis的数据结构来实现这个限流的功能? 指定用户user_id的某个行为a...

  无为   2023年07月09日   637   0   0 redis
Redis-布隆过滤器

布隆过滤器是什么? 布隆过滤器可以理解为一个不怎么精确的set结构,当你使用它的contains方法判断某个对象是否存在时,它可能会误判。但是布隆过滤器也不是特别不精确,只要参数设置的合理,它的精确度可以控制的相对足够精确,只会有小小的误判概率。 当布隆过滤器说某个值存在时,这个值可能不存在;当它说不存在时,那就肯定不存在。打个比方,当它说不认识你时,肯定就不认识;当它说见过你时,可能根本就没见过面,不过因为你的脸跟它认识的人中某脸比较相似(某些熟脸的系数组合),所以误判以前见过你。 套在上面的使用场景中,布隆过滤器能准确过滤掉那些已经看过的内容,那些没有看过的新内容,它也会过滤掉极小一...

  无为   2023年07月09日   646   0   0 redis
IE与火狐的事件机制区别,如何阻止冒泡?

1.我们在网页中的某个操作(有的操作对应多个事件)。例如:当我们点击一个按钮就会产生一个事件。是可以被JavaScript侦测到的行为。 2.事件处理机制:IE是事件冒泡、Firefox同时支持两种事件模型,也就是:捕获型事件和冒泡型事件; 3.ev.stopPropagation();(旧ie的方法ev.cancelBubble=true;)

  语法自然   2023年07月07日   596   0   0 javascript
["1", "2", "3"].map﴾parseInt﴿ 答案是多少?

[1,NaN,NaN]因为parseInt需要两个参数(val,radix), 其中radix表示解析时用的基数。 map传了3个(element,index,array),对应的radix不合法导致解析失败。

  语法自然   2023年07月07日   625   0   0 javascript
JavaScript-写一个通用的事件侦听器函数

JS //event(事件)工具集,来源:github.com/markyun markyun.Event={ //页面加载完成后 readyEvent:function(fn){ if(fnnull){ fn=document; } varoldonload=window.onload; if(typeofwindow.onload!='function'){ window.onload=fn; }else{ window.onload=function(){ oldonload(); fn(); }; } }, //视能力分别使用dom0||dom2||IE方式来绑定事件 //参数:操作的...

  语法自然   2023年07月07日   667   0   0 javascript
null,undefined 的区别

null表示一个对象被定义了,值为“空值”; undefined表示不存在这个值。 typeofundefined //"undefined" undefined:是一个表示"无"的原始值或者说表示"缺少值",就是此处应该有一个值,但是还没有定义。当尝试读取时会返回undefined; 例如变量被声明了,但没有赋值时,就等于undefined typeofnull //"object" null:是一个对象(空对象,没有任何属性和方法); 例如作为函数的参数,表示该函数的参数不是对象; 注意:在验证null时,一定要使用=,因为无法分别null和undefined 再来一个例子: ...

  语法自然   2023年07月07日   627   0   0 javascript
Javascript-eval的作用

它的功能是把对应的字符串解析成JS代码并运行; 应该避免使用eval,不安全,非常耗性能(2次,一次解析成js语句,一次执行)。 由JSON字符串转换为JSON对象的时候可以用eval,varobj=eval('('+str+')');

  语法自然   2023年07月07日   617   0   0 javascript
javaScript-This对象

this总是指向函数的直接调用者(而非间接调用者); 如果有new关键字,this指向new出来的那个对象; 在事件中,this指向触发这个事件的对象,特殊的是,IE中的attachEvent中的this总是指向全局对象Window;

  语法自然   2023年07月07日   607   0   0 javascript
Javascript作用链域

全局函数无法查看局部函数的内部细节,但局部函数可以查看其上层的函数细节,直至全局细节。 当需要从局部函数查找某一属性或方法时,如果当前作用域没有找到,就会上溯到上层作用域查找,直至全局函数,这种组织形式就是作用域链。

  语法自然   2023年07月07日   603   0   0 javascript
javascript创建对象的几种方式

javascript创建对象简单的说,无非就是使用内置对象或各种自定义对象,当然还可以用JSON;但写法有很多种,也能混合使用。 1、对象字面量的方式 JSON person={firstname:"Mark",lastname:"Yun",age:25,eyecolor:"black"}; 2、用function来模拟无参的构造函数 JS functionPerson(){} varperson=newPerson();//定义一个function,如果使用new"实例化",该function可以看作是一个Class person.name="Mark"; person.age="25...

  语法自然   2023年07月07日   647   0   0 javascript
Javascript继承实现方式

1、构造继承 2、原型继承 3、实例继承 4、拷贝继承 原型prototype机制或apply和call方法去实现较简单,建议使用构造函数与原型混合方式。 JS functionParent(){ this.name='wang'; } functionChild(){ this.age=28; } functiondemo(){ Child.prototype=newParent();//继承了Parent,通过原型 vardemo=newChild(); alert(demo.age); alert(demo.name);//得到被继承的属性 }

  语法自然   2023年07月07日   622   0   0 javascript
JavaScript值类型、附内存图

栈:原始数据类型(Undefined,Null,Boolean,Number、String) 堆:引用数据类型(对象、数组和函数) 两种类型的区别是:存储位置不同; 原始数据类型直接存储在栈(stack)中的简单数据段,占据空间小、大小固定,属于被频繁使用数据,所以放入栈中存储; 引用数据类型存储在堆(heap)中的对象,占据空间大、大小不固定,如果存储在栈中,将会影响程序运行的性能;引用数据类型在栈中存储了指针,该指针指向堆中该实体的起始地址。当解释器寻找引用值时,会首先检索其在栈中的地址,...

  语法自然   2023年07月07日   665   0   0 javascript
Redis - HyperLogLog

我们常见的业务问题:如果你负责开发维护一个大型的网站,有一天老板找产品经理要网站每个网页每天的UV数据,然后让你来开发这个统计模块,你会如何实现? 如果统计PV那非常好办,给每个网页一个独立的Redis计数器就可以了,这个计数器的key后缀加上当天的日期。这样来一个请求,incrby一次,最终就可以统计出所有的PV数据。 但是UV不一样,它要去重,同一个用户一天之内的多次访问请求只能计数一次。这就要求每一个网页请求都需要带上用户的ID,无论是登陆用户还是未登陆用户都需要一个唯一ID来标识。 你也许已经想到了一个简单的方案,那就是为每一个页面一个独立的set集合来存储所有当天访问过此页面的...

  无为   2023年06月30日   647   0   0 redis
Redis - 位图

在我们平时开发过程中,会有一些bool型数据需要存取,比如用户一年的签到记录,签了是1,没签是0,要记录365天。如果使用普通的key/value,每个用户要记录365个,当用户上亿的时候,需要的存储空间是惊人的。 为了解决这个问题,Redis提供了位图数据结构,这样每天的签到记录只占据一个位,365天就是365个位,46个字节(一个稍长一点的字符串)就可以完全容纳下,这就大大节约了存储空间。 位图不是特殊的数据结构,它的内容其实就是普通的字符串,也就是byte数组。我们可以使用普通的get/set直接获取和设置整个位图的内容,也可以使用位图操作getbit/setbit等将byte数组看...

  无为   2023年06月30日   688   0   0 redis
JavaScript的原型及原型链

每个对象都会在其内部初始化一个属性,就是prototype(原型),当我们访问一个对象的属性时,如果这个对象内部不存在这个属性,那么他就会去prototype里找这个属性,这个prototype又会有自己的prototype,于是就这样一直找下去,也就是我们平时所说的原型链的概念。 关系:instance.constructor.prototype=instance.__proto__ 特点: JavaScript对象是通过引用来传递的,我们创建的每个新对象实体中并没有一份属于自己的原型副本。当我们修改原型时,与之相关的对象也会继承这一改变。 当我们需要一个属性的时,Javascript引擎会...

  语法自然   2023年06月29日   632   0   0 javascript
  • «
  • 1
  • 2
  • 3
  • »
写文章 提问题
常见问题 更多
不使用border画出1px线,在不同浏览器的标准模式与怪异模式都能保持一致效果

2023-06-15

Truncated incorrect DECIMAL value: ''

2023-07-14

如何在页面上实现一个圆形的可点击区域?

2023-06-15

HTML5的form如何关闭自动完成功能?

2023-06-14

webSocket如何兼容低浏览器?

2023-06-14

cookies,sessionStorage和localStorage的区别?

2023-06-14

java.io.IOException: Broken pipe

2023-07-07

Error: cloud.callFunction:fail -404012

2023-09-01

联系我 - 作者微信
常用标签
javajavascriptnode.jshtmlhtml5csscss3jsonajax正则表达式angular.jsvue.jsreact.js小程序微信小程序微信开发者工具mysql数据库sqlredisgitdockercijava-eejarspringtomcat搜索引擎中文分词全文检索luceneelasticsearch微信微信开放平台linuxubuntuwindows-servercentos读书nettyspring bootddosjvm其他rabbitmq
  • 鄂ICP备2023008505号-1 © 2025-2024 ISPT