-
使用Nginx实现灰度发布的使用
灰度发布是指在黑与白之间,能够平滑过渡的一种发布方式.AB test就是一种灰度发布方式,让一部分用户继续用A,一部分用户开始用B,如果用户对B没有什么反对意见,那么逐步扩大范围,把所有用户都迁移到B上面来. 灰度发布可以保证整体系统的稳定,在初始灰度的时候就可以发现.调整问题,以保证其影响度. 灰度发布常见一般有三种方式: Nginx+LUA方式 根据Cookie实现灰度发布 根据来路IP实现灰度发布 本文主要将讲解根据Cookie和来路IP这两种方式实现简单的灰度发布,Nginx+LUA这种
-
如何创建一个AJAXControlToolKit的扩展控件
微软的AJAXControlToolKit提供了很容易的扩展方式,小弟我也是初学ajaxcontroltoolkit的扩展,所以这里举个例子,一起来学习,如果有什么好的建议和例子请提出来一起分享. 其实Microsoft的ajax官网给出的扩展说明已经很详细了,而且有个例子,严格来说确实有点简单,但是总结一下每个扩展控件大致需要注意如下几点: 1. 必须添加的dll: System.Web.dll , System.Web.Extensions.dll, System.Design.dll, S
-
通过实例解析json与jsonp原理及使用方法
1.json与jsonp的引入 在ajax中 JSON用来解决数据交换问题,而JSONP来实现跨域. 备注:跨域也可以通过服务器端代理来解决; 理解:JSON是一种数据交换格式,而JSONP是一种依靠开发人员的聪明才智创造出的一种非官方跨域数据交互协议. 2.JSON:是一种基于文本的数据交换方式,或者叫做数据描述格式,是否该选用它首先肯定要关注它所拥有的优点. JSON的优点: 1) 基于纯文本,跨平台传递极其简单: 2) Javascript原生支持,后台语言几乎全部支持: 3) 轻量级数据
-
MongoDB查询操作限制返回字段的方法
映射(projection )声明用来限制所有查询匹配文档的返回字段.projection以文档的形式列举结果集中要包含或者排除的字段.可以指定要包含的字段(例如:{field:1})或者指定要排除的字段(例如:{field:0}).默认_id是包含在结果集合中的,要从结果集中排除_id字段,需要在projection中指定排除_id字段({_id:0}).除了_id字段,不能在一个projection中联合使用包含和排除语意. 返回匹配文档的所有字段: 如果没有指定projection,fin
-
Dagger2 Android依赖注入学习笔记
前言 最近在用 MVP + RxJava + Retrofit 写项目,觉得相对于其他的开发框架,这的确是给我们带来了很多方便,但是在网上搜寻相关资料的时候,总是能看到 MVP + RxJava + Retrofit + Dagger 这样的搭配组合,那 Dagger 又是一个怎样的框架呢,我也去具体搜了搜,但看到一些文章带着"Dagger2从入门到放弃"这样意思的句子,就感觉Dagger2会很难吗,emmmm...行吧,好像是有点难理解,但是想着既然有那么多人用这个框架,必然有它的好
-
PHP 面向对象实现代码
1,简单的对象创建 复制代码 代码如下: //类的作用域final:将阻止子类重写这个字段 //方法的作用域abstract: 在父类中声明,在子类中实现 //定义类: class Employee{ //定义字段 private $name; protected $title; public $wage; //常量 const PI = 3.1415926; //静态成员变量 private static $visitors = 0; //定义构造函数 function __construct
-
PHP与Java对比学习日期时间函数
废话少说先来看PHP中 date():格式化一个本地时间或者日期,当前时间 2016年5月13日 15:19:49 使用函数date(),输出当前是月份中的第几天,参数:String类型 d 例如:echo date("d"); 输出 13 使用函数date(),输出当前是星期中的第几天,参数:String类型 D或者 N 例如: echo date("D"); 输出 Fri echo date("N"); 输出 5 echo date(&quo
-
详解golang开发中http请求redirect的问题
这两天在开发项目的时候遇到了一个问题,请求了一个URL,它会302到另一个地址,本意上只是想检查这个URL是否会做3XX的redirect跳转,结果每次reqeust都会返回最后一跳的结果.后来就看了下源码,了解下请求跳转的机制 实现代码 看下实现的简单代码 func main() { client := &http.Client{} url := "http://www.qq.com" reqest, err := http.NewRequest("GET"
-
C++11/14的新特性(更简洁)
新的字符串表示方式--原生字符串(Raw String Literals) C/C++中提供了字符串,字符串的转义序列,给输出带来了很多不变,如果需要原生义的时候,需要反转义,比较麻烦. C++提供了,原生字符串,即字符串中无转义,亦无需再反义.详细规则见带码: #include <iostream> using namespace std; string path = "C:\Program Files (x86)\alipay\aliedit\5.1.0.3754";
-
Vue路由切换和Axios接口取消重复请求详解
目录 前言 场景 解决方案 axios中如何取消请求 项目中封装使用 总结 参考 前言 在日常前端开发中, 经常会遇到频繁发起的重复请求, 会给服务器及网络造成不必要的压力, 可通过取消重复请求解决 场景 订单数据条件筛选查询 表单提交按钮频繁点击 路由页面切换请求未取消 解决方案 在每个请求发起的时候存储当前存储的标记在一个数组或Map中, 针对每个请求的时候在请求拦截中查询是否重复, 如果已重复则取消历史中重复的请求, 再发起当前请求, 如果没有重复, 则添加存储标记并正常请求, 已请求完成
-
mysql中如何查看表空间
目录 mysql 查看表空间 mysql 临时表空间不足解决 查找思路以及解决方案 总结 mysql 查看表空间 主要是查看创建的库和系统自带的库大小 - SELECT table_schema, concat(sum(round(data_length / (1024 * 1024), 2)), 'MB') data_length, concat(sum(round(index_length / (1024 * 1024), 2)), 'MB') ind
-
android判断软件是否第一次运行的方法
本文实例讲述了android判断软件是否第一次运行的方法.分享给大家供大家参考.具体如下: SharedPreferences sharedPreferences = this.getSharedPreferences("share", MODE_PRIVATE); boolean isFirstRun = sharedPreferences.getBoolean("isFirstRun", true); Editor editor = sharedPreferen
-
linux修改mac地址方法分享
复制代码 代码如下: sudo ifconfig wlan0 down&&sudo ifconfig wlan0 hw ether 12:34:56:78:9a:bc & sudo ifconfig wlan0 up 上面的"wlan0"是自己网卡的名称,我这个显然是无线网卡,具体因设备而定,请使用ifconfig -a来查看和选择:那个MAC地址是我杜撰的,你要改成哪个就写哪个. 需要说明的是,网卡的MAC地址是在硬件中写死的,所以不用担心这种方法会永久改变M
-
.Net语言Smobiler开发之如何仿微信朋友圈的消息样式
最前面的话:Smobiler是一个在VS环境中使用.Net语言来开发APP的开发平台,也许比Xamarin更方便 一.目标样式 我们要实现上图中的效果,需要如下的操作: 1.从工具栏上的"Smobiler Components"拖动一个MicroBlog控件到窗体界面上 2.用代码添加手机界面上显示的内容 Load事件代码: VB: Private Sub TestMicroBlog_Load(sender As Object, e As EventArgs) Handles MyBa
-
Android串口通信之串口读写实例
在Android串口通信:基本知识梳理的基础上,我结合我项目中使用串口的实例,进行总结: Android使用jni直接进行串口设备的读写网上已经有开源项目了,本文是基于网上的开源项目在实际项目中的使用做的调整和优化: Google串口开源项目 下面是我项目中的相关代码及介绍: 1.SerialPort.cpp /* * Copyright 2009 Cedric Priscal * * Licensed under the Apache License, Version 2.0 (the "Li
-
老生常谈php 正则中的i,m,s,x,e分别表示什么
i 如果设定此修正符,模式中的字符将同时匹配大小写字母. m 当设定了此修正符,"行起始"和"行结束"除了匹配整个字符串开头和结束外,还分别匹配其中的换行符的之后和之前. s 如果设定了此修正符,模式中的圆点元字符(.)匹配所有的字符,包括换行符.没有此设定的话,则不包括换行符. x 如果设定了此修正符,模式中的空白字符除了被转义的或在字符类中的以外完全被忽略,在未转义的字符类之外的 #以及下一个换
-
虚拟主机安全设置
1.如何让asp脚本以system权限运行? 修改你asp脚本所对应的虚拟目录,把"应用程序保护"修改为"低".... 2.如何防止asp木马? 基于FileSystemObject组件的asp木马 cacls %systemroot%\system32\scrrun.dll /e /d guests //禁止guests使用 regsvr32 scrrun.dll /u /s //删除 注:这样服务器的FSO就不能用了: 在CMD命令行状态输入以下命令:
-
如何解决win10与Ubuntu16.04时间不同步的问题的方法
最近装了windows10和ubuntu16.04双系统,装完后,出现了win10跟Ubuntu 16.04时间不对的问题,在windows下时区不对,之前的老办法是使用编辑器打开: sudo gedit /etc/default/rcS 把其中的utc=yes 改成utc=no 然而并没有什么效果,ubuntu16.04里面根本就没有utc这一项! 后来谷歌了半天找到了一个完美解决办法: 先在ubuntu下更新一下时间,确保时间无误: sudo apt-get install ntpdate
-
Go语言MessageBox用法实例
本文实例讲述了Go语言MessageBox用法.分享给大家供大家参考.具体如下: 复制代码 代码如下: package main import ( "syscall" "unsafe" "fmt" ) func abort(funcname string, err int) { panic(funcname + " failed: " + syscall.Errno(er
-
一个简单的jQuery插件制作 学习过程及实例
一,首先,制作jQuery插件需要一个闭包 复制代码 代码如下: (function ($) { //code in here })(jQuery); 这是来自jQuery官方的插件开发规范要求,使用这种编写方式有什么好处呢? a) 避免全局依赖. b) 避免第三方破坏. c) 兼容jQuery操作符'$'和'jQuery ' 二,有了闭包,在其中加入插件的骨架 复制代码 代码如下: $.fn.dBox = function (options) { var defaults = { //各种属性
