大师网-带你快速走向大师之路 解决你在学习过程中的疑惑,带你快速进入大师之门。节省时间,提升效率

MongoDB学习笔记——Sharding

MongoDB学习笔记——Sharding 1、Sharding Key Sharding key决定了shard在对document进行分发时的策略,它是由在目标collection中每个document中都存在的字段组成,当对非空collection进行分片时,collection必须有以sharding key开头的索引。 Ranged Shard Key:根据 shard key 的取值,它把数据切分成连续的几个区间。取值相近的纪录会放进同一个 shard 服务器。好处是查询连续取值纪录时,查询效率可以得

windows10下Mongodb安装

windows10下Mongodb安装 1. 环境 windows10 python3.5 2. 开始 2.1 下载安装包:https://www.mongodb.com/download-center#community 个人选择安装在:D:\mongo 2.2 在根目录创建data目录,然后在data目录下建db D:\data\db 2.3 把D:\mongo\bin加入系统path 2.4 命令行下运行 MongoDB 服务器 mongod --dbpath D:\data\db 2.5 连接MongoDB mongo 附:常见错误: 但是如果操作过程中,出现服务器无法正常启动的问题,是因为mongod.lock这个

[Spring] Web层AOP方式进行参数校验

[Spring] Web层AOP方式进行参数校验 Spring的AOP方式有很多用途,本次记录其使用AOP的方式处理Controller层参数校验问题 思路 使用 Hibernate validator 注解式参数校验 利用AOP织入Controller层方法,在参数校验完成后检查BindingResult里的校验结果 代码 AOP类 package com.zp.haveplace.aop;setExceptionResponse(errorInfo); } 参考 [SpringMVC] Web层注解式参数校验 优雅的SSM(Spring+SpringMVC+Mybatis)框架

vue.js响应式原理解析与实现

//前端全栈学习交流群:866109386 Object.defineProperty(obj, 'name', { //面向想从事前端开发1到5年及以上工作经验的开发人员 get() { // 帮助突破技术瓶颈,提升思维,欢迎大家进群交流。 console.log('劫持了你的取值操作啦'); this.updateCb = updateCb; // 监听data对象的obj.name属性,当data.obj.name发现变化的时候,触发cb函数 new Watcher(data, 'obj.name', (oldValue, newValue) = { console.log(oldValue, newValue);

5种方式实现数组扁平化

5种方式实现数组扁平化 数组扁平化概念 数组扁平化是指将一个多维数组变为一维数组 [1, [2, 3, [4, 5]]] ------ [1, 2, 3, 4, 5] 实现 1. reduce 遍历数组每一项,若值为数组则递归遍历,否则concat。 function flatten(arr) { return arr.reduce((result, item)= { return result.concat(Array.isArray(item) ?split(','). arr.map(item = { if(Array.isArray(item)) { res = res.concat(flatten(item)); } else { res.push(item);

ELK定时删除30天前日志

ELK定时删除30天前日志 http://127.0.0.1:9200/_cat/indices?v| grep $DATE | awk -F '[ ]+' '{print $3}' /tmp/elk.log for elk in `cat /tmp/elk.log` do curl -XDELETE "http://127.0.0.1:9200/$elk" done 二:加入到定时任务 # crontab -e #每天凌晨1点定时清理elk索引 00 01 * * * bash /server/scripts/elk.sh /dev/null 注意:保证crond服务是启动的 [root@server scripts]# service crond status crond (pid 1999) is running...

Module 让 Terraform 使用更简单

Module 让 Terraform 使用更简单 众所周知,Terraform 是一个开源的自动化的资源编排工具,支持多家云服务提供商。阿里云作为第三大云服务提供商,terraform-alicloud-provider已经支持了超过 90 多个 Resource 和 Data Source,覆盖20多个服务和产品,吸引了越来越多的开发者加入到阿里云Terraform生态的建设中。 随着 Resource 和 DataSource 的不断增加和完善,业务架构的不断发展,Terraform 模板编

十佳树莓派外壳

十佳树莓派外壳 树莓派官方杂志MagPi 第74期中文翻译 翻译:子豪兄(同济大学开源软件协会) 加入翻译组或相关合作请关注微信公众号MagPi ,私聊后台 欢迎各论坛网站公众号分享转载,请以 原文超链接或链接形式 转载并注明出处 子豪兄。 原文地址 http://u6.gg/ePHyx 发布于2018-10-21 MagPi杂志中文翻译github Faster link in China MagPi74_zh__80.jpg MagPi74_zh__81.jpg MagPi74_en__80.jpg MagPi74_en__81.jpg

Ubuntu Linux 各个环境变量配置文件详解, 环境变量PATH设置

Ubuntu Linux 各个环境变量配置文件详解, 环境变量PATH设置 一、Ubuntu Linux系统环境变量配置文件: 1. /etc/profile 在登录时,操作系统定制用户环境时使用的第一个文件 ,此文件为系统的每个用户设置环境信息,当用户第一次登录时,该文件被执行。 2. /etc /environment 在登录时操作系统使用的第二个文件, 系统在读取你自己的profile前,设置环境文件的环境变量。 3. ~/.profile(or .

Unix vs Linux

Unix vs Linux 起源 UNIX 1969年,Bell实验室的Ken Thompson开始利用一台闲置的 PDP-7计算机开发了一种多用户,多任务操作系统。很快,Dennis Richie加入了这个项目,在他们共同努力下诞生了最早的UNIX。Richie受一个更早的项目——MULTICS的启发,将此操作系统命名为 Unix。早期UNIX是用汇编语言编写的,但其第三个版本用一种崭新的编程语言C重新设计了。C是Richie设计出来并用于编写操作系

入坑之路,我的那些经历!

入坑之路,我的那些经历! 首先祝各位,开发永无bug。 距离入坑我已经有4年之久,14年拎着包裹来到帝都,满怀期待的加入了北漂的队伍,期待自己的开发之旅,却发生各种自己始料未及的事情,短短不到4个月就草草收场,递交辞呈,远赴未知的城市-哈尔滨,人生中第一次离开家乡那么远,坐了整整18个小时的火车,因此也留下了阴影,那是一座很奇妙的城市,入职时间转

如何在Angular中使用better-scroll插件

@Component({//欢迎加入全栈开发交流圈一起学习交流:864305860 selector: 'app-listscroll', templateUrl: './listscroll.component.html', styleUrls: ['./listscroll.component.css'] }) export class ListscrollComponent implements OnInit { @ViewChild('scroll') scrollEl: ElementRef; @Input() private height: number; // 初始化 setTimeout(() = { this.scroll = new BScroll(this.scrollEl.nativeElement, {click: true});

记一次渗透测试中利用存储型XSS添加用户

js内容构造如下: //因为这里要把ajax的返回值return到函数中,需要是同步请求,所以async要设为false function get_agree_url(){//得到管理员同意用户申请的链接 var agree_url;find('#accept').test(href)){ agree_url = href;ajax({ type: 'post', url: '/a/cms/group/treeNode', dataType: 'json', async: false, data: 'parentId=0', success: function(data){ oid = data[0]['dataObject']['orgId'];ID='+id+' OID='+oid+' Name=176004****'+' GID='+gid+' MID=0';

深度解析 Airbnb 背后的技术框架

深度解析 Airbnb 背后的技术框架 如何找到有效、简洁、并可以广泛应用的解决方案? 如何升级现有基础设施? 如何通过改进APP 增强使用感受? 核心支付团队如何打造组件化以及平台化的支付系统? 本期精彩: 12月1日「知群」在邀请了 Airbnb 的技术专家为大家分享:爱彼迎中国区工程团队如何依靠强有力的技术推动爱彼迎全球化与本土化的协调发展。 Airbnb 不仅是旅游,网络

MySQL集群

即可查看整个集群的状态 三个节点都已经启动成功,这样在任意一个节点上面,执行一条DML语句的操作,都会同步到另外两个节点。

应用进程写数据到TCP/UDP套接口的过程及步骤解析

应用进程写数据到TCP/UDP套接口的过程及步骤解析 应用进程写数据到TCP套接口 每一个TCP套接口都有一个发送缓冲区,我们可以用SO_SNDBUF套接口选项来改变这一缓冲区的大小。当应用进程调用系统函数write时,内核从应用进程的缓冲区中拷贝所有数据到套接口的发送缓冲区。如果套接口的发送缓冲区容不下应用程序的所有数据(或是应用进程的缓冲区大于套接口发送缓冲区

用软件测试技能,换取8小时之外的额外收益

用软件测试技能,换取8小时之外的额外收益 image 等了365天,终于盼来2018的双11(全民剁手日 / 单身汪思考人生日),与往常一样,整个团队提前了一个月迎战双11 ,早早的就开始电商平台的各种扩容、性能优化、封版、巡检 等 。 这周六、周日,双11就要来了,已经提前安排好了,一批程序员 测试同学,11.10 - 11.11 ,周末两天,公司通宵值班,决战到天明,紧盯服务器的各

2018-08-23 email view模板无法获取到message 属性的问题

2018-08-23 email view模板无法获取到message 属性的问题 /** * email内容。 */ public $message;去掉,也是会加入到db的jobs表中的,也就是说,- onConnection('database')才是真正队列实现的关键。我们来看下mailable的源码 /** * Queue the message for sending. * * @param \Illuminate\Contracts\Queue\Factory $queue * @return mixed */ public function queue(Queue $queue) { if (property_exists($this, 'delay')) { return $this- later($this- delay, $queue);

LNMP/LAMP环境搭建

扩展阅读:mysql的密码策略 mysql show variables like '