10 colie_li

尚未进行身份认证

coding

等级
TA的排名 2k+

手机通过Charles用线上域名访问PC本地项目

最近调试微信公众号,由于微信授权需要线上正式环境的域名,笔者想把手机公众号网页重定向到PC本地localhost调试。该方法通过Charles代理转发,适用所有需要域名重定向的场景,例如手机通过在线域名查看pc本地项目,微信开发者工具调试公众号等。先开启本地服务,如果是vue项目,直接运行npmstart就好了。打开Charles(下载地址),点击Tools >...

2020-04-07 02:20:52

Charles抓包(iOS的http/https请求)

Charles安装 HTTP抓包 HTTPS抓包1. Charles安装官网下载安装Charles:https://www.charlesproxy.com/download/2. HTTP抓包(1)查看电脑IP地址(2)设置手机HTTP代理手机连上电脑,点击“设置->无线局域网->连接的WiFi”,设置HTTP代理:服务器为电脑IP地址:如192....

2020-04-07 01:55:39

认识Spring 的注解 (三)之 @AliasFor 使用规则

一、该标签存在的意义 顾名思义 @AliasFor 表示别名,它可以注解到自定义注解的两个属性上,表示这两个互为别名,也就是说这两个属性其实同一个含义。该标签存在的含义,从网上查发现有个点, 若 自定义注解有一个属性,且该属性命名上为了体现其含义,所以有些复杂,这样调用方必须每次使用自定义注解的时候,都必须写明 属性 ,然后设置,这样会比较负责; 同时若自定义注解继...

2020-02-26 01:50:13

Servlet3之NIO线程池隔离

线程隔离主要是针对业务中不同业务场景,按照权重区分使用不同的线程池,以达到某一个业务出现问题,不会将故障扩散到其他的业务线程池,从而达到保证主要业务高可用。本案例主要讲解基于servlet3的线程隔离术。首先我们回忆一下在tomcat6,tomcat6只支持BIO,它的处理流程如下:1).tomcat负责接收servletRequest请求2).将接收的请求分配给servlet处理业务3...

2019-12-30 01:49:04

Java中文分词hanlp使用

HanLP介绍:http://hanlp.linrunsoft.com/github地址:https://github.com/hankcs/HanLP说明:使用hanlp实现分词、智能推荐、关键字提取、摘要等,更多功能参考官网项目结构该项目中,.jar和data文件夹和.properties需要从官网/github下载,data文件夹下载项目配置修改hanlp.prope...

2019-12-29 15:38:36

zookeeper分布式锁

问题(1)zookeeper如何实现分布式锁?(2)zookeeper分布式锁有哪些优点?(3)zookeeper分布式锁有哪些缺点?简介zooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,它可以为分布式应用提供一致性服务,它是Hadoop和Hbase的重要组件,同时也可以作为配置中心、注册中心运用在微服务体系中。本章我们将介绍zookeeper如何实现分布...

2019-12-14 23:18:29

日志体系与SringBoot的日志应用

以后开发的时候,日志记录方法的调用,不应该来直接调用日志的实现类,而是调用日志抽象层里面的方法;日志实现意思为简单日志门面,它是把不同的日志系统的实现进行了具体的抽象化,只提供了统一的日志使用接口,使用时只需要按照其提供的接口方法进行调用即可,由于它只是一个接口,并不是一个具体的可以直接单独使用的日志框架,所以最终日志的格式、记录级别、输出方式等都要通过接口绑定的具体的日志系统来...

2019-12-08 00:47:40

四层、七层负载均衡的区别

一、什么是负载均衡(Load balancing)在网站创立初期,我们一般都使用单台机器对台提供集中式服务,但是随着业务量越来越大,无论是性能上还是稳定性上都有了更大的挑战。这时候我们就会想到通过扩容的方式来提供更好的服务。我们一般会把多台机器组成一个集群对外提供服务。然而,我们的网站对外提供的访问入口都是一个的,比如www.taobao.com。那么当用户在浏览器输入www.taobao...

2019-11-24 02:31:55

使用httpclient必须知道的参数设置及代码写法、存在的风险

结论:如果使用httpclient 3.1并发量比较大的项目,最好升级到httpclient4.2.3上,保证并发量大时能抗住。httpclient 4.3.3,目前还有一些bug;还是用4.2.x稳定版本吧。以库存项目为例:httpclient一天并发量在1500w左右,峰值一秒7万。在之前使用过程中,一直存在大量的org.apache.http.co...

2019-11-20 18:35:09

获取Dao上的自定义注解(了解Mybatis与Spring整合原理)

Dao类@Repository@Tag("user_tag")public interface UserDao {void save(User u)}需要是:将dao放入到一个本地Map中,key是Tag注解的内容,值是UserDao的Bean对象,在上层调用的时候直接Map.get("user_tage").save(u)即可实现1:实现接口BeanPostProce...

2019-11-12 23:01:09

什么是列式存储数据库

列存储不同于传统的关系型数据库,其数据在表中是按行存储的,列方式所带来的重要好处之一就是,由于查询中的选择规则是通过列来定义的,因此整个数据库是自动索引化的。按列存储每个字段的数据聚集存储,在查询只需要少数几个字段的时候,能大大减少读取的数据量,一个字段的数据聚集存储,那就更容易为这种聚集存储设计更好的压缩/解压算法。传统的行存储和列存储的区别1、数据是按行存储的2、没有索引的查询...

2019-11-11 11:57:05

灰度划分方法

将一堆用户按照百分比划分方式:x &(-1)=x%比如将用户分1024个桶就是uid & (-1) 相当于 uid%1024

2019-11-04 22:17:19

互联网架构的演变过程

简介web1.0时代web2.0时代互联网时代 互联网+ --》智慧城市。 2012年提出。云计算+大数据时代背景随着互联网的发展,网站应用的规模不断扩大,常规的垂直应用架构已无法应对,分布式服务架构以及流动计算架构势在必行,亟需一个治理系统确保架构有条不紊的演进。1、第一时期单一应用架构all in one(所有的模块在一起,技术也不分层)网站的初...

2019-11-03 01:17:38

CPU密集型、IO密集型与线程关系

CPU密集型(CPU-bound)CPU密集型也叫计算密集型,指的是系统的硬盘、内存性能相对CPU要好很多,此时,系统运作大部分的状况是CPU Loading 100%,CPU要读/写I/O(硬盘/内存),I/O在很短的时间就可以完成,而CPU还有许多运算要处理,CPU Loading很高。在多重程序系统中,大部份时间用来做计算、逻辑判断等CPU动作的程序称之CPU bound。例如一个计算...

2019-07-17 10:13:46

OmniGraffle-绘制流程图

一、介绍OmniGraffle 都类似于 Microsoft Visio。OmniGraffle 可以利用 Visio 的 XML 导出函数以导入/导出 Visio 的 XML 文件,OmniGraffle 也可以直接打开 Visio 默认的二进制 .vsd 文件。OmniGraffle 支持输出 PDF,TIFF,PNG,JPEG,EPS,HTML 图像映射,SVG,Visio XML,Pho...

2019-10-12 18:34:06

利用状态机处理订单状态流转

首先简述一个场景,订单的状态流转。一个订单会有很多种状态:临时单、已下单、待支付、已支付、已完成、退款中等等。每一种状态都和其扭转前的状态、在扭转前状态所执行的操作有关。一 引子举例一个过程:用户将商品加入购物车,在后台生成了一个所谓的“临时单”,这个订单实际上还没有正式生成,因为用户仍然没有点击下单。只有当用户下单后,这个“临时单”才可以转化为一个“待支付的订单”。那么这个过程中:只有...

2019-10-11 01:29:26

idea中git远程版本回退

工作中遇到git远程仓库需要回退到历史版本的问题,根据网上的搜索结果结合自己的实践,整理了如下步骤:1. 在“Show History”中找到当前版本(取名:newVersion)和想要回退到的版本(oldVersion)2. 选择newVersion和oldVersion点击“Copy Revision Number”复制两个版本的版本号:newVersion:2746f428a...

2019-09-01 23:48:03

EL表达式各种函数使用大全

引入<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>函数名 函数说明 使用举例 fn:contains 判断字符串是否包含另外一个字符串 <c:if test="${fn:contains(name, searchString)}"> fn:con...

2019-08-22 22:31:41

Spring EL表达式详细讲解及使用实例

一、简介Spring3中引入了Spring表达式语言—SpringEL,SpEL是一种强大,简洁的装配Bean的方式,他可以通过运行期间执行的表达式将值装配到我们的属性或构造函数当中,更可以调用JDK中提供的静态常量,获取外部Properties文件中的的配置二、用法1、文本表达式文本表达式支持: 字符串(需要用单引号声明)、日期、数字、布尔类型及null,对数字支持负数、指数及小...

2019-08-22 22:30:59

Java异常体系和异常处理机制

异常简介在程序运行过程中出现错误,导致程序出现非预期场景。异常处理可以保证出现错误后,控制接下来的程序流程,是选择定位错误信息,还是抛出异常或捕获异常、还是避免程序非正常退出,都取决于我们。Java的异常体系结构(来自网络) Java把异常作为一种类,当做对象来处理。所有异常类的基类是Throwable类,两大子类分别是Error和Exception。这些异常类可以分为三种类型...

2019-08-15 15:55:08

查看更多

勋章 我的勋章
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv1
    勤写标兵Lv1
    授予每个自然周发布1篇到3篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。