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

生成

生成,是个使用频率很高的词汇,具有长成、形成、养育等意思。在实际生活应用当中,根据不同环境,其意思有很大扩展。

Charles的HTTPS抓包方法及原理分析

Charles的HTTPS抓包方法及原理分析 背景 作为移动平台的RD,项目开发过程中一项比较重要的甩锅技能——抓包应该大家都比较熟悉了,毕竟有些bug可能是由服务端下发的数据出错导致的。虽然抓包工具很好用,但是如果不做一些设置的话,对于HTTPS协议的请求就无能为力了,比如这样 这对于一些注重安全性的应用来说,或许就不是特别好使,我们的项目目前也在逐渐从HTTP转向HT

浅谈Charles抓取HTTPS原理

浅谈Charles抓取HTTPS原理 在关于HTTPS,你需要知道的全部中,分析了HTTPS的安全通信过程,知道了HTTPS可以有效防止中间人攻击。但用过抓包工具的人都知道,比如Charles,Fiddler是可以抓取HTTPS请求并解密的,它们是如何做到的呢? 首先来看Charles官网对HTTPS代理的描述: Charles can be used as a man-in-the-middle HTTPS proxy

catalina.out 日志切割

catalina.out 日志切割 随着业务发展,catalina.out 越来越大,运维很不方便,研究了一下catalina分割方法。 下面记录使用cronolog切割catalina的方法 首先安装 下载安装包 1.下载安装包#wget https://files.cnblogs.com/files/crazyzero/cronolog-1.6.2.tar.gz2.解压安装包#tar zxvfcronolog-1.6.2.tar.gz3.进入解压文件#cdcronolog-1.6.24.使用默认配置安装#. 99)Y 四位数的年份(1970 . 2038)m 月数 (01 .

多域名 ssh git 配置

ssh/config Host 域名 User 用户名 IdentityFile ssh key的路径 IdentitiesOnly 只使用这里设置的key, 防止使用默认的 ServerAliveInterval 连接保持 ControlMaster auto 不用重新登录 ControlPath ~/.alibaba-inc.com User git IdentityFile ~/.ssh/id_gmail 连接测试 ssh -T git@github.com git 名称设置 git config --global user.name "User name" git config --global user.email user@example.com 如果不设置全局的, 在项目目录下执行, 去掉--global即可

浅谈python web三大框架

浅谈python web三大框架 Django请求回应机制 Django(ORM、URL分发系统、MTV ) Django是一个开放源代码的Web应用框架,由Python写成。采用了MVC的框架模式,即模型M,视图V和控制器C。它最初是被开发来用于管理劳伦斯出版集团旗下的一些以新闻内容为主的网站的,即CMS(内容管理系统)软件。并于2005年7月在BSD许可证下发布。这套框架是以比利时的吉普赛爵士吉他手Django Reinhardt来命

C# 中使用面向切面编程(AOP)中实践代码整洁

return result; _logger = logger; 但是这样的调用方法还是不尽人意,想象如果某个对象有三四个装饰器,那么我们创建实例的时候就需要多次传递。一个解决方法是 借助依赖注入 (DI) ,只需注册一次服务类型,避免通过创建实例来获取对象。另外,对于 . } public void OnException(Exception exception) { } } 最后还需要一个 AssemblyInfo.cs 来配置哪些 Attribute 类产生作用。 //AssemblyInfo.cs using System;

HTML页面加载速度优化

若压缩需要指定任务顺序,则需要引入run-sequence,return runSequence( 'task1-name','task2-name','task3-name'); var pngquant = require('imagemin-pngquant'); 参考文章 Web前端性能优化——如何提高页面加载速度 gulp-imagemin、gulp-tinypng-compress、gulp-tinypng-nokey图片压缩优化详解及对比 彻底理解浏览器缓存机制 web性能优化之:no-cache与must-revalidate深入探究 HTTP响应头之ETag 浏览器同域名请求的最大并发数限制

AspectJ在Spring中的使用

} } 这个时候method2是无法被切到的,要想被切到可以通过如下奇葩的方式: @Component public class A{ @Autowired private A a; } 在AjType中就能获取到很多其他的aspectJ所需的相关信息(除了java反射所能获取到的信息以外) /** * Return the pointcut object representing the specified pointcut declared by this type */ public Pointcut getDeclaredPointcut(String name) throws NoSuchPointcutException;

类和属性

类和属性 创建 首先我们先回忆一下Java中如何创建实体类,我们创建一个学生类,其中有两个私有属性,姓名name和年龄age,并且我们为其提供构造器和访问器,我们通过构造方法来创建实体类,通过getter和setter方法来进行属性的访问和修改,同时可以在setter方法里面做一些额外的逻辑,比如对数据的验证. public Student(String name, int age) { this.name = name; System.out.println(student.getName());

RobotFramework + Jenkins + Allure Report 可视化报告

RobotFramework + Jenkins + Allure Report 可视化报告 介绍 本文将介绍通过jenkins+robotframework+allure report来打造美观可视化的测试报告 首先,安装如下库: sudo pip install robotframework sudo pip install allure-robotframework 搭建 步骤 0 下面是一个基本的RF样例 $ more mytest.robot *** Settings *** Library OperatingSystem *** Variables *** ${MESSAGE} Hello, world!

Python中random模块

Python中random模块 random模块中几个函数的简单说明 1、random.random()随机生成一个实数,范围在(0,1)。 2、random.uniform(a, b)生成一个指定范围的随机浮点数。 3、random.randint(a ,b)生成一个指定范围内的整数。 4、random.randrange(start, stop [

TypeScript用法小结(基础部分)

TypeScript用法小结(基础部分) 最开始我是反对TypeScript的,后来用的人越来越多了,身为一个立志要成为一个伟大的全面的programmer,没办法学一学,想要成为一个强大的人,必须要接受很多新鲜的事物. string : 字符串类型; Boolean: 布尔类型; enum:枚举类型; any : 任意类型,一个牛X的类型; void:空类型; Array : 数组类型; //number类型 18 let hjy:string = 'huangjingyang'; any1 = 'jingyang';

混合APP开发-hybrid 升级流程

appid=$element"` echo$version #生成zip包名 module={element}_version rm-rf$module #将前端资源文件打包 mkdir$module cp-rimage$module mkdir${module}/js mkdir${module}/css mvcss/template.css${module}/css mvjs/template.js${module}/js cp-rimage$module cptemplate.html$module zip-r module.zip {module} #获取zip包的md5值 md5=`md5sum{module}.zip|awk-F'''{print1}'` echo$md5 #上传zip包至nos curl-XPOST-F"zip=@ module.zip""http://hostname/api/v1/upload/webpack/zip?zipId= {module}.

Java注解解析-搭建自己的注解处理器(CLASS注解使用篇)

//用来创建java文件或者class文件 //该方法再编译期间会被注入一个ProcessingEnvironment对象,该对象包含了很多有用的工具类。 @Override public synchronized void init(ProcessingEnvironment processingEnvironment) { super.init(processingEnvironment); } /** * 返回我们将要处理的注解 * @return */ @Override public Set getSupportedAnnotationTypes() { Set annotataions = new LinkedHashSet ();+className+";

关于电商支付、退款流程

下单时间; 4.下单用户ID; 5.用户收货地址; 6.订单状态。 支付 用户在APP内选择支付宝进行支付,随后APP通过支付接口传入订单参数唤起支付宝(没有安装支付宝则调用网页版)进行支付。支付完成后支付宝会将支付信息同步到APP上,和异步到ERP后台。 系统交互流程图 支付完成后支付宝会返回几个重要参数,1.交易单号; 2. 商户订单号; 3.状态; 4.支付流水号 5;支付金额 .

[转]分库分表生成订单ID

[转]分库分表生成订单ID 一、库分表 在redis,memcached等缓存系统盛行的互联网时代,构建一个支撑每秒十万只读的系统并不复杂,无非是通过一致性哈希扩展缓存节点,水平扩展web服务器等。支付系统要处理每秒十万笔订单,需要的是每秒数十万的数据库更新操作(insert加update),这在任何一个独立数据库上都是不可能完成的任务,所以我们首先要做的是对订单表(简称order

Sass: @mixin vs placeholder vs @function

Sass: @mixin vs placeholder vs @function 学习 Sass 的时候总会发现这三个东西很像,因为他们都是用来统一代码来达到复用的目的的。这篇文章将用一个小例子来对比他们的不同之处。 例子 我们要做的就是两个一大一小的两个 div,一个宽高100px,另一个宽高 300px。 CSS 代码可以写成这样: .smallBox { width: 100px; margin: 10px;bigBox { @include box(300px, 300px);bigBox { @extend

走进浏览器内部—剖析浏览器是如何工作的(上)

走进浏览器内部—剖析浏览器是如何工作的(上) 最近工作需要一直在和浏览器打交道。每天都为如何解决那些浏览器间的兼容性而困扰。时间长了自然而然对浏览器也产生了感情。准备学习学习,自己写个浏览器。为此开始学习了 Rust,一门用于写底层,但看上去又像高级语言的语言。希望 Rust 能有美好的明天,我也跟着受益。 想了想,要写浏览器,首先应该了解一下浏览

全能系统监控工具dstat

全能系统监控工具dstat 全能系统监控工具dstat dstat 是一个可以取代vmstat,iostat,netstat和ifstat这些命令的多功能产品。dstat克服了这些命令的局限并增加了一些另外的功能,增加了监控项,也变得更灵活了。dstat可以很方便监控系统运行状况并用于基准测试和排除故障。 dstat可以让你实时地看到所有系统资源,例如,你能够通过统计IDE控制器当前状态来比较磁盘利用率,或者直