- 博客(98)
- 收藏
- 关注
原创 用户行为埋点分析 第一章
Event代表了用户的某个或一系列有意义的行为,比如用户将一个商品加入了购物车、浏览了一个视频等等,一条Event主要包含两部分信息,一部分用以描述该行为如何发生,主要有行为的名字(What)、产生行为的用户(Who)以及在何时产生的(When);另一部分是该行为的属性,比如浏览视频的视频名称,或者付费事件当中的支付金额,这些属性是分析的主要对象,也是需要仔细斟酌的内容,我们将会在设置用户属性与事件属性中给出属性设置的建议。
2024-08-10 09:46:49 758
原创 规则引擎设计
概述所谓规则引擎,指的是if some condition match then trigger some thing的机制。condition是一系列的expression,比如设备状态变更为离线(属性),考勤有人通过闸机(事件);trigger一系列的action,比如存储到数据库、发出告警信息。乃至于触发其他设备的动作,比如温度过高则判断火灾则触发喷淋联动。将rule抽象出来,让用户可以自由定义,就是设计规则。关联好rule和action,本质就是一种回调注册机制,当condition匹配时,代码
2022-02-20 16:47:58 2139
原创 使用zk(Zookeeper)实现分布式锁
1 Zookeeper作为分布式锁的优缺点优点客户端可以持有锁任意长的时间,避免了基于Redis的锁对于有效时间(lock validity time)到底设置多长的两难问题.通过Session(心跳)来维持锁的持有状态的基于ZooKeeper的锁支持在获取锁失败之后等待锁重新释放的事件。通过watch机制,让客户端对锁的使用更加灵活。客户端可以指定 zk 创建一个有序节点,此节点将自动...
2020-04-08 01:13:06 733
原创 Git 最佳实践规范
当我们使用代码版本控制时,我们应该遵循的主要良好实践之一是为分支、提交、拉取请求等使用清晰且描述性的名称。提交的主题是必需的,它定义了提交的目的。如果您正在使用任务管理工作流程,例如 Jira、Trello、ClickUp 或任何可以创建用户故事的类似工具,则每张卡片都有一个关联的编号。不幸的是,很容易找到带有“添加了很多东西”或“皮卡丘,我选择你”之类的提交消息的项目…以下项目的使用是可选的,但它们可以帮助提高您的开发技能。提交消息的正文提供了有关提交引入的更改的详细说明。:它传达了将要开发的新功能。
2024-04-27 17:04:08 1210
原创 机器学习入门之 特征工程
所以,如果“母牛”一词在1,000份文件出现过,而文件总数是10,000,000份的话,其逆向文件频率就是 lg(10,000,000 / 1,000)=4。假如一篇文件的总词语数是100个,而词语“母牛”出现了3次,那么“母牛”一词在该文件中的词频就是3/100=0.03。TF 词频 (term frequency,tf) 指的是某一个给定的词语在该文件中出现的频率。差值 = (90-75) ,(60-75), (75-75) = 15,-15,0。平均值 = (90+60+75)/3 =75。
2023-07-25 17:27:48 421
原创 人工智能 学习路线
一、人工智能开发入门Python编程基本语法数据结构函数面向对象多任务模块与包闭包装饰器迭代器Numpy矩阵运算NadrrayScalarsBoradcasting矩阵运算矩阵转置矩阵求逆Scipy数值运算库Scipy基本使用Scipy常量Scipy稀疏矩阵Scipy图结构Scipy空间Scipy插值Pandas数据科学库自带数据结构数据读取写入数据清洗数据计算数据合并数据排序Matplotlib基础图表Annotatio
2023-07-25 10:19:03 221
原创 python 多环境配置之Miniconda
Miniconda 是 conda 的免费最小安装程序。它是 Anaconda 的一个小型引导版本,仅包含conda、Python、它们所依赖的包以及少量其他有用的包,包括 pip、zlib 等。使用 conda install 命令从Anaconda 存储库安装 720 多个附加 conda 包。
2023-07-24 21:46:09 512
原创 商品标题 内容 向量特征提取
创建一个dict.txt,然后写入你的分词,一个词占一行;每一行分三部分:词语、词频(可省略)、词性(可省略),用空格隔开,顺序不可颠倒。file_name 若为路径或二进制方式打开的文件,则文件必须为 UTF-8 编码。频率越高,成词的概率就越大叶儿粑 5 n礼盒装 2 nz。
2023-06-07 18:27:19 920
原创 spring redis Sentinel 哨兵 原理
sentinel 查询 Master 的地址,如果发现 Master 变更了,则删除旧的 masterEntry,重建一个新的 masterEntry;scheduleClusterChangeCheck定时检测集群节点状态。启一个 schedule 每一秒调度一次检查 是否发生过 故障转移。checkMasterNodesChange检测主节点状态。跟进去看哨兵模式下的 ConnectionManager。redis 常用的连接客户端 有三个。
2023-04-20 13:43:15 1471 1
原创 idea 代码格式化 Spotless 教程
Spotless 是一个代码格式化工具。它支持的开发语言有java, kotlin, scala, sql, javascript, css, json, yaml, etc。它可以提示哪里不规范,同时也支持自动修正(其实就是批量的将所有类格式化)支持maven|gradle plugin等插件。
2022-11-05 15:39:45 3444
原创 kettle 入门配置
kettle(水壶)是一个 免费开源的 Extract-Transform-Load (ETL) 工具 ,被 Pentaho 集团收购,并更名为 Pentaho Data Integration (PDI ) 当中又包含了四大厨房厨具相关的扮演了重要角色的模块,它们分别是Spoon(勺子),Pan(平底锅),Kitchen(厨房),Carte(菜单)
2022-10-15 17:21:41 1530
原创 linux 配置 优化
centos默认终端bash美化、颜色设置sudo vim ~/.bashrc# 在最后追加:PS1='${debian_chroot:+($debian_chroot)}\[\033[01;31m\]\u\[\033[00m\]@\h: \[\033[01;36m\]\w\[\033[00m\] \[\t\]\n\$ ' export LS_COLORS=$LS_COLORS"*.py=00;35:*.pl=00;32:*.sh=01;32:*.xls=04;36:*.png=04;35;43
2022-10-12 16:56:36 223 1
原创 Apache DolphinScheduler 整合 Apache Knox 网关
为使用者统一提供大数据生态组件UI入口,同时将所有的组件进行加密,统一ldap登录,相比较于Nginx来说Knox完美提供了这一点
2022-10-12 16:30:41 1389
原创 mysql-窗口函数 快速学习
MySQL 8.0 开始支持窗口函数,对于查询中的每一行,它使用与该行相关的行执行计算。以下部分讨论如何使用窗口函数,包括 OVER 和 WINDOW 子句的描述。第一部分提供非聚合窗口函数的描述。
2022-09-24 18:15:59 436
原创 Sqoop 快速学习
Sqoop是一款开源的工具,主要用于在Hadoop与传统的数据库间进行数据的传递,可以将一个关系型数据库中的数据导进到Hadoop的HDFS中,也可以将HDFS的数据导进到关系型数据库中。
2022-09-24 18:15:02 911
原创 Apache Kafka 快速学习大纲
定义Kafka传统定义:Kafka是一个分布式的基于发布/订阅模式的消息队列(Message Queue),主要应用于大数据实时处理领域。Kafka 最新定义:Kafka是一个开源的分布式事件流平台(Event Streaming Platform),被数千家公司用于高性能数据管道、流分析、数据集成和关键任务应用。kafka 场景(1)日志收集:收集各种服务的 log,通过 kafka 以统一接口服务的方式开放 给各种 consumer,例如 Hadoop、Hbase、Solr 等;
2022-09-03 15:42:39 595
原创 Apache Doris 快速学习大纲
Doris是一种MPP架构的分析型数据库,主要面向多维分析、数据报表、用户画像分析等场景。自带分析引擎和存储引擎,支持向量化执行引擎,不依赖其他组件,兼容MySQL协议。
2022-09-02 15:43:15 1526
原创 大数据基础架构选型
在处理大数据上,Hadoop 已经成为事实上的标准 ,但是 hadoop 生态组件很多 面临的问题也很多在本地系统上独立安装 Apache Hadoop 是非常容易的(只需解压缩并设置某些环境变量,然后就可以开始使用了)。但是这只合适于入门和做一些基本的教程学习。如果你想在一个或多个“真正的节点”上安装 Apache Hadoop,那就复杂多了。需要考虑到复杂的集群设置组件的兼容性运维管理⼯具(配置、部署、管理、监控、告警).........
2022-08-29 14:48:33 947
原创 规则引擎基础知识
全称为 业务规则管理系统 ,英文名为 BRMS(即 Business Rule Management System)。规则引擎由推理引擎发展而来,是一种嵌入在应用程序中的组件,实现了将业务决策从应用程序代码中分离出来,并使用预定义的语义模块(注:领域特定语言)编写业务决策(业务规则)。由用户或开发者在需要时进行配置、管理。需要注意的是规则引擎并不是一个具体的技术框架,而是指的一类系统,即业务规则管理系统。...
2022-08-18 15:02:25 13342 4
原创 一篇文章让你理解 云原生 容器化相关
是「容器运行时」的一个标准,按此标准实现的「容器运行时」有runC和gVisor。是K8s定义的一组与容器运行时进行交互的接口,老版本K8s是通过docker-shim作为桥接服务,将CRI转换为DockerAPI,然后与Dokcer进行通信的。Containerd是容器虚拟化技术,从docker中剥离出来,形成开放容器接口(OCI)标准的一部分。Ceph红帽继子分布式文件系统。......
2022-07-24 22:02:55 261
原创 数据同步
https://github.com/alibaba/canal/阿里开源的数据同步工具,同步mysql的数据到es中,利用的是mysql的binlog日志。canal就是把自己伪装成Slave,模拟slave的交互协议向master发送消息,master接收到消息,把bin log给canal,然后canal解析bin log再发送到具体的目的地。数据同步,不同 不是全量的,是增量的。...
2022-06-29 23:23:46 501
原创 设计模式 ,适配器模式 实战
期待的目标接口public interface IShopInfo { Long getBindStoreId(); void setShopInfo(Shopinfo shopinfo);}public interface IDeptInfo { void setDeptInfo(DeptInfo deptInfo);}操作的对象 被适配者public class PayOrders { private Long id; private String orderNo; prot
2022-05-27 14:50:47 115
原创 @TransactionalEventListener商品同步MQ 实战
TransactionalEventListener 实战场景创建一个 EventEntity 用于event-listener 之间传输对象@Datapublic class EventEntity extends ApplicationEvent { private static final long serialVersionUID = -6206752641309458207L; private String id; private String tag;
2022-05-24 11:37:42 568
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人