Everything you care about in one place

Follow feeds: blogs, news, RSS and more. An effortless way to read and digest content of your choice.

Get Feeder

xiaomi-info.github.io

小米信息部技术团队

Get the latest updates from 小米信息部技术团队 directly as they happen.

Follow now 33 followers

Latest posts

Last updated almost 4 years ago

统计建模初探 —— Analysis of Correlation

almost 5 years ago

统计建模初探 —— Analysis of Correlation[作者简介] 焦家耀,小米信息技术部售后组前言随着现在很多统计分析工具的进化,尤其是 Python 相关的成熟的统计分析包的诞生,让相关统计分析变得简单化。但同时也带来很多滥用的行为,比如在处理回归分析问题,就粗暴的将一个或者多个自变量,直接和因变量做回归分析。这样带来了两方面问题,一是对于结果的解释性变差,二是大多时间是在做无用功,甚至得出错误的结论,尤其是当自变量和因变量之间没有相关性或者只是弱相关性时。本文将基于上述背景给出相关性分析的定义,相关性分析的常用方法以及部分相关证明,以及随机变量的数字特征与相关性之间的关系,最后会给出相关性的适用范围。关键字相关性分析;协方差;相关系数;Pearson 系数;相关性分析定义相关分析是研究两个或两个以上处于同等地位的随机变量间的相关关系的统计分析方法。两种误解相关性 = 因果性 ?相关性是指两个或者多个随机变量之间存在某种关联,因果性是指输入变量对输出变量会造成结...

微前端在小米 CRM 系统的实践

about 5 years ago

[作者简介] 李帅帅,信息技术部平台部前端组,目前主要负责中台业务前端架构及小程序开发。[文章原地址] https://www.lishuaishuai.com/architecture/1344.html一、前言大型组织的组织结构、软件架构在不断地发生变化。移动优先(Mobile First)、App 中台(One App)、中台战略等,各种口号在不断的提出、修改和演进。同时,业务也在不断地发展,导致应用不断膨胀,进一步映射到软件架构上。现有 Web 应用(SPA)不能很好的拓展和部署,随着时间的推移,各个项目变得越来越臃肿,web 应用变得越来越难以维护。微前端是一种类似于微服务的架构,它将微服务的理念应用于浏览器端,即将 Web 应用由单一的单体应用转变为多个小型前端应用聚合为一的应用。各个前端应用还可以独立运行、独立开发、独立部署。Techniques, strategies...

设计模式基础之——模板模式业务实战

about 5 years ago

前言[作者简介] 施展,小米信息技术部海外商城组本文章主要采用如下结构:什么是「XX 设计模式」?什么真实业务场景可以使用「XX 设计模式」?怎么用「XX 设计模式」?本文主要介绍「模板模式」如何在真实业务场景中使用。什么是「模板模式」?抽象类里定???好算法的执行步骤和具体算法,以及可能发生变化的算法定义为抽象方法。不同的子类继承该抽象类,并实现父类的抽象方法。模板模式的优势:不变的算法被继承复用:不变的部分高度封装、复用。变化的算法子类继承并具体实现:变化的部分子类只需要具体实现抽象的部分即可,方便扩展,且可无限扩展。什么真实业务场景可以用「模板模式」?满足如下要求的所有场景:算法执行的步骤是稳定不变的,但是具体的某些算法可能存在变化的场景。怎么理解,举个例子:比如说你煮个面,必然需要先烧水,水烧开之后再放面进去,以上的流程我们称之为煮面过程。可知:这个煮面过程的步骤是稳定不变的,但是在不同的环境烧水的方式可能不尽相同,也许有的人用天然气烧水、有的人用电磁炉烧水、有的人用柴火烧水,等等。我们可以得到以下结论:煮面过程的步骤是稳定不变的煮面过程的烧水方式是可变的我们有哪些真实业务场景可以用「模板模式」呢?比如抽奖系统的抽奖接口,为什么:抽奖的步骤是稳定不变的 -> 不变的算法执行步骤不同抽奖类型活动在某些逻辑处理方式可能不同 -> 变的某些算法怎么用「模板模式」?关于怎么用,完全可以生搬硬套我总结的使用设计模式的四个步骤:业务梳理业务流程图代码建模代码 demo业务梳理我通过历史上接触过的各种抽奖场景(红包雨、糖果雨、打地鼠、大转盘(九宫格)、考眼力、答题闯关、游戏闯关、支付刮刮乐、积分刮刮乐等等),按照真实业务需求梳理了以下抽奖业务抽奖接口的大致文本流程。主步骤主逻辑抽奖类型子步骤子逻辑1校验活动编号 (serial_no) 是否存在、并获取活动信息---2校验活动、场次是否正在进行---3其他参数校验...

synchronized 实现原理

about 5 years ago

synchronized 实现原理[作者简介] 张庆波,小米信息技术部架构组前言众所周知 synchronized 锁在 Java 中经常使用它的源码是 C++ 实现的,它的实现原理是怎样的呢?本文以 OpenJDK 8 为例探究以下内容。synchronized...

小议 Java 内省机制

about 5 years ago

小议 Java 内省机制[作者简介] 魏民,信息部售后组研发工程师基本概念Wiki 中是这样描述内省的:在计算机科学中,内省是指计算机程序在运行时(Run time)检查对象(Object)类型的一种能力,通常也可以称作运行时类型检查。这个描述非常宽泛,但有三个关键词:运行时对象类型Java 官方对 Java Beans 内省的定义:At runtime and...

浅析 RPC 与基本实现

about 5 years ago

浅析 RPC 与基本实现注:文中所用到的代码已上传至 github: https://github.com/fankongqiumu/storm.git[作者简介] 孙浩,信息部售后组研发工程师引言本文主要论述的是“RPC 实现原理”,那么首先明确一个问题什么是 RPC 呢?RPC 是 Remote Procedure...

Go 语言踩坑记——panic 与 recover

over 5 years ago

Go 语言踩坑记——panic 与 recover[作者简介] 易乐天,小米信息技术部海外商城组题记Go 语言自发布以来,一直以高性能、高并发著称。因为标准库提供了 http 包,即使刚学不久的程序员,也能轻松写出 http 服务程序。不过,任何事情都有两面性。一门语言,有它值得骄傲的有点,也必定隐藏了不少坑。新手若不知道这些坑,很容易就会掉进坑里。《 Go 语言踩坑记》系列博文将以...

投稿须知

over 5 years ago

投稿须知[作者简介] 郑伟,小米信息技术部架构组注:目前暂时只接受部门内部投稿,本文只是对部门内部同事提供投稿指导。目前我们维护了 https://xiaomi-info.github.io 和信息技术部公众号两个平台,同时会定期的产出技术文章在这两个平台上发表。为让大家明确投稿文章范围及文章格式等要求,我们整理了一份投稿指导方案以供大家参考。投稿方式目前 xiaomi-info、信息技术部公众号均可同时登出稿件。由信息技术部架构组统一评审、校正稿件。如有技术文章需要投稿,可以先提前联系 jin.zhang(a)xiaomi.com、zhengwei6(a)xiaomi.com。所有稿件我们尽量保证在 24 小时内审核完毕,业务方可以对提出的修改建议进行更新。投稿流程投稿技术文章只接收 markdown 格式,相关语法可以参考 markdown-zh;目前所有技术文章托管于 info-arch/xiaomi-info.github.io...

React Native 启动版本检查机制探究

over 5 years ago

React Native 启动版本检查机制探究[作者简介] 陈久林,信息部前端组,主要负责服务体系前端开发。引子有同学反馈 React Native(简称 RN) 项目启动报错,提示版本不匹配,错误截图如下:经过一番排 (xia) 查 (gao),最后发现是本地打包了老版本 js...

分布式事务,这一篇就够了

over 5 years ago

分布式事务,这一篇就够了[作者简介] 李文华,小米信息技术部海外商城组随着互联网技术的不断发展,系统越来越复杂,几乎所有 IT 公司的系统都已经完成从单体架构到分布式架构的转变,分布式系统几乎无处不在。谈到分布式系统,特别是微服务架构,我们不得不谈分布式事务。今天就跟大家一起聊聊分布式事务以及常用解决方案。基础理论在讲解具体方案之前,我们有必要了解一些分布式事务所涉及到的基础理论知识。事务事务是应用程序中一系列严密的操作,所有操作必须成功完成,否则在每个操作中所作的所有更改都会被撤消。也就是事务具有原子性,一个事务中的一系列的操作要么全部成功,要么一个都不做。事务应该具有 4 个属性:原子性、一致性、隔离性、持久性。这四个属性通常称为 ACID 特性。分布式事务分布式事务是指事务的参与者、支持事务的服务器、资源服务器以及事务管理器分别位于不同的分布式系统的不同节点之上。例如在大型电商系统中,下单接口通常会扣减库存、减去优惠、生成订单 id, 而订单服务与库存、优惠、订单 id 都是不同的服务,下单接口的成功与否,不仅取决于本地的...

gRPC 系列——grpc 超时传递原理

over 5 years ago

gRPC 系列——grpc超时传递原理[作者简介] 郑伟,小米信息技术部架构组引子有个业务方反馈说日志中偶尔出现 xorm 抛出来的 context deadline exceeded 的报错,想咨询下是什么原因。业务方实现的 gRPC Handler 大概代码如下:12345678func...

浅析 MySQL 的隐式转换

over 5 years ago

浅析 MySQL 的隐式转换[作者简介] 陈晓,信息部订单组研发工程师,目前主要负责小米订单中台业务。前言跟大家一块看下 MySQL 的隐式转换相关知识,主要是相等操作时,先看两个可能都遇到过的场景。表1234567891011CREATE TABLE `t1` ( `c1` varchar(255) NOT...