logx

fastmybatis编写分表插件

那年仲夏 提交于 2021-01-28 17:49:31
fastmybatis 支持原生的插件,将写好的插件配置到mybatis配置文件中即可 <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd"> <configuration> <plugins> <plugin interceptor="xxxxx.MyInterceptor" /> </plugins> </configuration> 这里演示编写一个分表插件 假设有4张分表,user_log0~3,记录用户的日志情况 user_log0 user_log1 user_log2 user_log3 现在需要动态查询指定到某一张表 首先生成对应的实体类,指定一张表生成,不用全部生成 /** * 表名:user_logX * %index% 占位符 */ @Table(name = "user_log%index%") public class UserLog { ... } 注意 %index% 占位符 Mapper不变 public interface UserLogMapper extends CrudMapper

最终一致性案例一(一个支付服务的最终一致性实践案例)

。_饼干妹妹 提交于 2021-01-14 13:34:31
一、前言 “功夫贷”是一款线上贷款 APP,主要是给信用卡优质用户提供纯线上的信用贷款,以期限长、额度高、利息低为主要优势(类似的业务模式主要有宜人贷)。 和任何一种分期贷款一样,符合资质的用户,在功夫贷成功贷款之后,需要在约定还款日还款。目前还款主要有以下这几种方式: 用户在 APP 上主动还款; 系统定时通过后台任务扣款; 催收人员通过内部作业系统,手动发起扣款; 真正的扣款操作(从银行卡扣款)主要是通过第三方支付来完成,比如京东支付、通联等。不同的第三方支付,支持的银行列表和限额不同,费用和稳定性也不尽相同,我们会选择出个最优通道、以及多层级备用通道,为此研发了支付路由系统,同时这些服务商的业务限制 / 出错概率还不低,所以我们又要考虑业务上的一致性,这也是本文要介绍的主题。 扣款业务是比较复杂的,包括如下几个主要步骤: 对业务表 (扣款任务表 / 还款计划表等) 的数据库操作 调用第三方支付 清算入账 这多个子功能需要保证同时成功或者同时失败,其中既有外部第三方调用,又有内部微服务的调用,所以这是个比较典型的分布式事务的场景。由于外部的第三方支付服务有时不稳定、且部分交易可能很长时间才能确认成功。 因此 我们没考虑两阶段提交的分布式事务,而是选择了最终一致性,而为了保证在状态不一致这个时间窗口的准确性 (比如不能在该窗口对用户重复扣款),我们也额外多做了很多的考虑。 二

第三方支付一致性方案

不打扰是莪最后的温柔 提交于 2021-01-14 10:58:08
一、前言 “功夫贷”是一款线上贷款 APP,主要是给信用卡优质用户提供纯线上的信用贷款,以期限长、额度高、利息低为主要优势(类似的业务模式主要有宜人贷)。 和任何一种分期贷款一样,符合资质的用户,在功夫贷成功贷款之后,需要在约定还款日还款。目前还款主要有以下这几种方式: 用户在 APP 上主动还款; 系统定时通过后台任务扣款; 催收人员通过内部作业系统,手动发起扣款; 真正的扣款操作(从银行卡扣款)主要是通过第三方支付来完成,比如京东支付、通联等。不同的第三方支付,支持的银行列表和限额不同,费用和稳定性也不尽相同,我们会选择出个最优通道、以及多层级备用通道,为此研发了支付路由系统,同时这些服务商的业务限制 / 出错概率还不低,所以我们又要考虑业务上的一致性,这也是本文要介绍的主题。 扣款业务是比较复杂的,包括如下几个主要步骤: 对业务表 (扣款任务表 / 还款计划表等) 的数据库操作 调用第三方支付 清算入账 这多个子功能需要保证同时成功或者同时失败,其中既有外部第三方调用,又有内部微服务的调用,所以这是个比较典型的分布式事务的场景。由于外部的第三方支付服务有时不稳定、且部分交易可能很长时间才能确认成功。 因此 我们没考虑两阶段提交的分布式事务,而是选择了最终一致性,而为了保证在状态不一致这个时间窗口的准确性 (比如不能在该窗口对用户重复扣款),我们也额外多做了很多的考虑。 二

论文|Sentence2Vec & GloVe 算法原理、推导与实现

拈花ヽ惹草 提交于 2020-12-24 14:47:23
万物皆可Embedding系列会结合论文和实践经验进行介绍,前期主要集中在论文中,后期会加入实践经验和案例,目前已更新: 万物皆可Vector之语言模型:从N-Gram到NNLM、RNNLM 万物皆可Vector之Word2vec:2个模型、2个优化及实战使用 Item2vec中值得细细品味的8个经典tricks和thinks Doc2vec的算法原理、代码实现及应用启发 Sentence2Vec & GloVe 算法原理、推导实与现 后续会持续更新Embedding相关的文章,欢迎持续关注「搜索与推荐Wiki」 Sentence2vec Sentence2vec 是2017年发表于ICLR(国际学习展示回忆)的一篇论文,其全称为: A Simple but tough-to-beat baseline for sentence embeddings 下面来看一下论文所介绍的内容(论文的内容比较晦涩难懂,小编水平也不高,如果不当之处,评论区留言,感谢!)。 1、概述 论文主要提出了一种无监督的,基于单词词向量计算句子embedding的方法,称之为Smooth Inverse Frequecy(SIF),使用加权平均的方法从word embedding到sentence embedding,然后再基于句子的embedding进行相似度计算

ESP32 开发笔记(三)源码示例 3_LEDC_PWM 使用LEDC实现LED呼吸灯

南笙酒味 提交于 2020-12-05 19:52:16
开发板购买链接 https://item.taobao.com/item.htm?spm=a2oq0.12575281.0.0.50111deb2Ij1As&ft=t&id=626366733674 开发板简介 开发环境搭建 windows 源码示例: 0_Hello Bug (ESP_LOGX与printf) 工程模板/打印调试输出 1_LED LED亮灭控制 2_LED_Task 使用任务方式控制LED 3_LEDC_PWM 使用LEDC来控制LED实现呼吸灯效果 4_ADC_LightR 使用ADC读取光敏电阻实现光照传感 5_KEY_Short_Long 按钮长按短按实现 6_TouchPad_Interrupt 电容触摸中断实现 7_WS2812_RMT RGB_LED彩虹变色示例 8_DHT11_RMT 使用RMT实现读取DHT11温湿度传感器 9_SPI_SDCard 使用SPI总线实现TF卡文件系统示例 10_IIC_ADXL345 使用IIC总线实现读取ADXL345角度加速度传感器 11_IIC_AT24C02 使用IIC总线实现小容量数据储存测试 12_IR_Rev_RMT 使用RMT实现红外遥控接收扫码(NEC) 13_IR_Send_RMT 使用RMT实现红外数据发送(NEC) 14_WIFI_Scan 附近WIFI信号扫描示例 15_WIFI_AP

马太效应和幂律分布是怎么回事?终于有人讲明白了

妖精的绣舞 提交于 2020-08-11 21:11:14
云栖号资讯:【 点击查看更多行业资讯 】 在这里您可以找到不同行业的第一手的上云资讯,还在等什么,快来! 导读: 描述“富者愈富,穷者愈穷”的马太效应,以及经济学中的帕累托法则,其背后的数学模型是什么?在统计学中,它们可以被抽象成幂律分布。 我们在城市规模中看到的模式:大多数人类居住地区的规模达不到以百万来计数,但少数地区能达到数百万人规模。在数字王国里,大多数网站的访问量很低,但少数网站的访问量非常庞大。在文学领域,大多数书籍几乎无人阅读,但少数书籍畅销异常。 所有这些都让我们回忆起“富者愈富,穷者愈穷”的现象。 在语言学中,这种现象被称为Zipf定律,以哈佛的语言学家George Kingsley Zipf的名字命名,他观察到在一种语言中第i位最常见的单词出现的频率正比于1/i。Zipf定律指出,在一个n个单词的语料库中,遇到第i位最常见单词的概率为 数Hn在数学领域出现非常频繁,值得为它起一个名字——第n位调和数(harmonic number)。这个名字源自何处?它源于音乐中的泛音或称和声。一根弦以一个基波长震动,同时还以1/2,1/3,1/4,…的谐波长震动:这对应一个无穷和,当n=∞时,它被称为调和级数(harmonic series)。 由于Zipf定律给出了一个事件的概率,因此也用它命名了对应的概率分布。 在表11-1中,你可以看到一个英语语料库(布朗语料库

场外模拟 省选联考 2020 游记

狂风中的少年 提交于 2020-08-09 11:26:54
CSDN同步 注:本人模拟省选 \(A\) 卷。 前记 一场英语模拟期末直接萎掉之后心境垂垂暮老,然后来模拟省选增强一点信心。 实际却不大行 本来立的目标是口头 \(200\) 的,看完题发现 \(150\) 的目标比较合适。 组合数问题 先开 \(T2\) 的主要原因:觉得自己数论强。没了。 \[\sum_{k=0}^n f_i \times x^k \times C_n^k \] 其中 \(f = \sum_{i=0}^m a_i \cdot k^i\) 算法一 暴力。 \(f_i\) 用 \(\mathcal{O}(m)\) 的时间计算, \(C_n^k\) 用杨辉三角, \(x^k\) 递推。 时间复杂度: \(\mathcal{O}(nm)\) . 实际得分: \(15pts\) . \(\texttt{Link}\) 代码 算法二 注意到, \(m=0\) 有部分分。 因此考虑, \(m=0\) 时,即多项式降为常数项,如何通过 \(n \leq 10^5 , 10^9\) 的数据? 显然,原式就变成了 \[\sum_{k=0}^n a_0 \times x_k \times C_n^k \] \[= a_0\times \sum_{i=0}^n x^i \cdot C_n^i \] 你懵了,一看,唉? \(n \leq 10^5\) , \(p\) 还是质数?

C#合并dll方法

拈花ヽ惹草 提交于 2020-08-07 09:47:08
ilmerge ilmerge /ndebug /target:dll /targetplatform:4 /out:target.dll /log x1.dll /log x2.dll Costura.Fody (推荐) 配置文档参考 https://github.com/Fody/Costura 来源: oschina 链接: https://my.oschina.net/xfan/blog/4286082

【题解】穿越七色虹

Deadly 提交于 2020-04-20 07:12:24
题目背景 在 Nescafe27 和 28 中,讲述了一支探险队前往 Nescafe 之塔探险的故事…… 当两位探险队员以最快的时间把礼物放到每个木箱里之后,精灵们变身为一缕缕金带似的光,簇簇光芒使探险队员们睁不开眼睛。待一切平静下来之后,探险队员来到了一座宫殿中,玉制的石椅上坐着两个人。「你们就是……Nescafe 之塔护法中的两位?」 「是的,我们就是神刀护法 xlk 和飞箭护法 riatre……你们来这里做什么?」 「我们是前来拜访圣主和四位护法的……」 「如果你们想见圣主和其它两位护法,你们必须穿过前方的七色彩虹。请随我来吧……」 题目描述 探险队员们跟随两位护法来到了七色虹前。七色虹,就是平面直角坐标系中赤、橙、黄、绿、青、蓝、紫七个半圆。第 \(i\) 座半圆形彩虹的圆心是 \((x_i,0)\) ,半径是 \(r_i\) ,半圆上所有点的纵坐标均为非负数。探险队员可以看做一条竖直的,长度等于身高的线段。线段的底端纵坐标为 \(0\) ,最高的一位探险队员的身高为 \(h\) 。 现在探险队员们要从 \((0,0)\) 穿越七色虹到达 \((x_0,0)\) 。穿越七色虹的过程中,探险队员的整个身体必须始终在至少一个半圆形彩虹的内部。由于彩虹的半径 \(r_i\) 可能太小了,不足以满足这个条件,因此两位护法决定帮助他们把所有彩虹的半径都增大一个非负实数 \(r\)