30__装饰器模式:如何优化电商系统中复杂的商品价格策略?
你好,我是刘超。
开始今天的学习之前,我想先请你思考一个问题。假设现在有这样一个需求,让你设计一个装修功能,用户可以动态选择不同的装修功能来装饰自己的房子。例如,水电装修、天花板以及粉刷墙等属于基本功能,而设计窗帘装饰窗户、设计吊顶装饰房顶等未必是所有用户都需要的,这些功能则需要实现动态添加。还有就是一旦有新的装修功能,我们也可以实现动态添加。如果要你来负责,你会怎么设计呢?
你好,我是刘超。
开始今天的学习之前,我想先请你思考一个问题。假设现在有这样一个需求,让你设计一个装修功能,用户可以动态选择不同的装修功能来装饰自己的房子。例如,水电装修、天花板以及粉刷墙等属于基本功能,而设计窗帘装饰窗户、设计吊顶装饰房顶等未必是所有用户都需要的,这些功能则需要实现动态添加。还有就是一旦有新的装修功能,我们也可以实现动态添加。如果要你来负责,你会怎么设计呢?
25|图表库:想要生成动态图表,用Echarts就够了
你好,我是尹会生。
在上一讲中,我们学习了怎么使用 Seaborn 来生成图片格式的图表。事实上,图片格式的图表也被称作静态图表,它能通过数据来更直观地展示结果。
27丨案例:带宽消耗以及Swap(上)
今天我们来看一个真实的案例。事情是这样的,之前有人在微信上问我一个问题,这个问题的现象很典型:典型的 TPS 上不去,响应时间增加,资源用不上。
29丨EM聚类(下):用EM算法对王者荣耀英雄进行划分
今天我来带你进行 EM 的实战。上节课,我讲了 EM 算法的原理,EM 算法相当于一个聚类框架,里面有不同的聚类模型,比如 GMM 高斯混合模型,或者 HMM 隐马尔科夫模型。其中你需要理解的是 EM 的两个步骤,E 步和 M 步:E 步相当于通过初始化的参数来估计隐含变量,M 步是通过隐含变量来反推优化参数。最后通过 EM 步骤的迭代得到最终的模型参数。
29丨为什么没有理想的索引?
我之前讲过页这个结构,表和索引都会存储在页中,不同的 DBMS 默认的页的大小是不同的,同时我们也了解到 DBMS 会有缓冲池的机制,在缓冲池里需要有足够多的空间,存储经常被使用到的页,尽可能减少直接的磁盘 I/O 操作。这种策略对 SQL 查询的底层执行来说非常重要,可以从物理层面上最大程度提升 SQL 的查询效率。
你好,我是海丰。
在平时工作中,产品经理的工作价值其实很难被衡量。因为产品经理既不像技术人员,有算法模型以及工程系统的开发成果,也不像运营人员,有可衡量的运营效果和直接的经济收益。我们能看到的产品经理的产出,只有设计原型和一堆 PRD 文档。这就导致很多时候,产品经理的价值感太低,只是业务部门和研发部门的传话筒,周而复始地“接需求”,把需求转化成 PRD 和原型,再输出给技术部门。
你好,我是蔡元楠。
今天我要与你分享的主题是“Apache Beam 实战冲刺:Beam 如何 run everywhere”。
你可能已经注意到,自第 26 讲到第 29 讲,从 Pipeline 的输入输出,到 Pipeline 的设计,再到 Pipeline 的测试,Beam Pipeline 的概念一直贯穿着文章脉络。那么这一讲,我们一起来看看一个完整的 Beam Pipeline 究竟是如何编写的。
你好,我是何为舟。
在前面的课程中,我们介绍了 IPDRR 的前三个部分,并且着重讲解了风控系统的框架、算法以及设备指纹的相关技术。学会了这些机制和手段,你已经能够识别出大部分的黑产了。那我们是不是可以直接将识别的结果抛给业务,让业务自行处理呢?
你好,我是刘津。
前面我介绍了几个简单的使用精益闭环的例子,今天我来为你介绍一个比较复杂的例子:唤醒沉睡用户。
为什么我们要做唤醒沉睡用户这件事情呢?
29 | 比较:Jetty如何实现具有上下文信息的责任链?
我们知道 Tomcat 和 Jetty 的核心功能是处理请求,并且请求的处理者不止一个,因此 Tomcat 和 Jetty 都实现了责任链模式,其中 Tomcat 是通过 Pipeline-Valve 来实现的,而 Jetty 是通过 HandlerWrapper 来实现的。HandlerWrapper 中保存了下一个 Handler 的引用,将各 Handler 组成一个链表,像下面这样: