如何写竞品分析报告
首先梳理一下竞品分析报告的核心组成部分: 明确分析目的 竞品选择 竞品所在市场的背景分析、现状分析(概念设计阶段) 详细对比分析 思考与总结 下一步计划 「明确分析目的」可以参考这篇文章...
竞品分析的目的
竞品分析属于市场分析的微观层面,首先来看一看竞品分析的一些概念。竞品分析可以让我们深入了解到市面上各个产品所处的位置,它们的表现如何、是如何成长壮大的。进而去思考我们还有哪些机会,...
如何找到竞品
美团的竞品是谁?一听到美团,我们的脑子里会立刻闪现出「饿了么」。 但是真的是这样子吗? 美团作为一款综合性的服务类产品,外卖可能是它的核心功能,或者说是我们每天用的最多的一个功能,但...
ThreadLocal
典型应用场景 场景 1:每个线程需要一个独享的对象 通常应用在线程不安全的工具类,如 SimpleDateFormat,Random 每个 Thread 内有自己的实例副本,不共享 举例:课本只有一本,一群人同时做笔...
领取优惠券与超权问题
领取优惠券这个接口需要确定两个参数:用户 id(谁领取了优惠券)和优惠券 id(领取了哪个优惠券)。优惠券 id 可以由前端传递,但用户 id 不行。这是为了避免出现超权问题,当前项目通过令牌来...
MySQL 的日志
逻辑日志与物理日志 逻辑日志 逻辑日志主要记录的是 SQL 语句,这些日志并不关心数据在磁盘上的具体位置,只关心数据的逻辑状态。在进行数据恢复时,逻辑日志可以用来重放这些 SQL 语句,进而达...
库存扣减
如果没有多线程的思维,实现库存扣减业务的逻辑比较容易出错。 首先看一下这个 API 接口代码: /** * 下单 * * @param orderDTO 订单数据传输对象 * @return 订单 ID */ @PostMapping('') @Scop...
微信登录与 JWT 令牌身份认证
微信登录流程 本项目基于微信小程序,默认基于微信进行登录,小程序的登录流程如图: 前端传来 account 与 password,后端使用 TokenGetDTO 进行接收。但是根据小程序的登录流程,只需要一个登...
优化通用泛型映射方案
前置知识 Json 是一种数据格式,它可以根据各个语言的的转化规则转化为不同的数据格式。 数据的传输过程 前端往后端传输:把 Js 变量封装一个 json 对象 -----> 转化为 json 字符串传输 ----...
探索网络协议栈
现在来试想一个场景:你在浏览器的地址栏输入「baidu.com」后,你的计算机和百度的服务器之间会发生什么事情? 这篇文章就简单回答一下,在 TCP/IP 操作系统层面(传输层与网络层)发生的事情。(...