首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

社交活动“超级传播”:揭秘网络影响力最大化算法推荐应用

参考资料 01、背景 现代社交网络,信息和影响力传播无处不在。...传统IM模型目标是找到网络 s 个节点作为种子集,使其能影响到节点数最多。然而,实际应用,IM 面临着节点容量受限挑战。...游戏社交也是如此,许多在线游戏会推出活动以促进玩家之间互动,例如通过奖励抽奖券、皮肤碎片等激励玩家参与活动并与好友互动。...前者每次选择边际收益最大 seed,然后随机分配至相连 ap;后者则采用 round-robin 策略,为每个 ap 候选选取一个全局条件下边际收益最大 seed。...我们发现算法活动实际传播人数上相对亲密度排序提升了6.5%,并且对用户活跃时长也有相应正向提升(如图六所示)。

11310

社交活动“超级传播”:揭秘网络影响力最大化算法推荐应用

s传统IM模型目标是找到网络 个节点作为种子集,使其能影响到节点数最多。然而,实际应用,IM面临着节点容量受限挑战。...游戏社交也是如此,许多在线游戏会推出活动以促进玩家之间互动,例如通过奖励抽奖券、皮肤碎片等激励玩家参与活动并与好友互动。...前者每次选择边际收益最大seed,然后随机分配至相连ap;后者则采用round-robin策略,为每个ap候选选取一个全局条件下边际收益最大seed。...图三:反向可达集示例 应用效果 k=10我们多个公开网络数据集进行了仿真实验。我们随机选取了网络5%节点作为ap,并使用IC模型作为传播模型。...我们发现算法活动实际传播人数上相对亲密度排序提升了6.5%,并且对用户活跃时长也有相应正向提升(如图六所示)。

8910
您找到你想要的搜索结果了吗?
是的
没有找到

Cloak ; Dagger攻击:一种可针对所有版本Android攻击技术(含演示视频)

需要注意是,研究专家利于这种攻击技术对另外20名用户Android手机进行了攻击,而没有一个人能够检测到自己手机任何恶意活动。...研究人员接受采访时解释了他们如何在Google Play应用商店实现Cloak& Dagger攻击: “我们提交了一款需要申请上述这两种权限App,App包含一个下载并执行任意代码函数(没有经过代码混淆...当用户安装了恶意App之后,攻击将能够执行下列恶意活动: -高级点击劫持攻击; -不受限制键盘记录; -隐蔽性极高钓鱼攻击; -静默安装一款上帝模式App(开启所有权限); -悄悄解锁手机并执行任意活动...(整个过程屏幕保持黑屏状态); 简而言之,Cloak & Dagger攻击将允许攻击悄悄拿到Android设备完整控制权,并监控你自己手机上一举一动。...研究人员还提供了一系列Cloak & Dagger攻击演示视频。相信我,这些视频绝对会让你大开眼界!

1.1K50

Dagger Android支持库(译文)

与其他依赖注入框架相比,Dagger 2 最大优点是他不使用反射,严格生成实现类,这意味着他可以使用在 Android 应用上。但是Android上使用仍有一些注意事项。...即使这是通过接口而不是具体类型完成,它也打破了依赖注入核心原则:类不应该知道它是如何注入dagger.android类提供了一种简化此模式方法。...而不需要第2步和第3步,添加一个返回活动抽象模块方法,使用@ContributesAndroidInjector对其进行注释,并指定要安装到子组件模块。...您自己代码创建BroadcastReceiver时,使用构造函数注入。 支持库 对于Android支持库用户,dagger.android.support 包存在相同类型。...Activitysuper.onCreate() 之前调用AndroidInjection.inject() 是至关重要,因为对 super 调用会在配置更改期间附加前一个活动实例 Fragments

94830

Dagger 导航从未如此简单 | Android Studio 4.1

我们可以轻松地 Dagger 关联代码间进行导航,包括依赖项生产、消费、组件、子组件以及模块。...image.png Android Studio 中新增 Dagger 导航支持 正如您所看到 Android 应用 Dagger 关系导航从未如此简单。...branch (dev-dagger) of the architecture-samples,来演示新功能使用。...了解依赖项来自哪里 一个使用 Dagger 注入,如果您在依赖项上点击带有向上箭头间距图标,您将跳转到使用 Dagger 注解提供对应类型方法。...如果该依赖项被多个消费使用,您可以列表中选择目标进行跳转。 我们项目中,DefaultTasksRepository 使用在了不同 ViewModels ,具体是哪些呢?

1K10

Dagger2-从入门到精通(上)

modules一个重要特征是它们设计为分区并组合在一起(比如说,我们app可以有多个组成在一起modules) @Provide: modules,我们定义方法是用这个注解,以此来告诉Dagger...dagger-compiler为编译时期生成代码等相关类库。 android-apt文档,也推荐使用这种方式。...可以看到我MainActivity需要ApiService,我们module创建他实例。等他需要时候我们就给他。现在module创建好了。...我们还需要调用(MainActivity)和被调用(module)之间桥梁,这就是Component。 注意,module,我们创建方法必须是public不可以是privite。...所以这样就大大做到了解耦目的。其实使用Dagger2就说白了就是调用需要什么实例我就在module创建什么实例,如果这个实例需要参数,需要什么参数,我就在mudule给你创建你想要参数。

1.1K10

使用 Dagger 自定义 WorkManager

本篇文章,让我们看一看如何使用 Dagger 注入这些参数。...如果您使用 Dagger 应用传递 Retrofit 服务引用,而且您想要将其传递给您 Worker,则需要使用 Dagger 将该引用注入到自定义 WorkerFactory 。...但是这并没有改变 WorkManager 需要自定义工厂和自定义配置局面。简单来说,我们将用 Dagger 把新参数注入到我工厂。... 2019 Android 开发峰会应用 ,JobScheduler 被 WorkManager 所取代,用于强制更新时间表。为了能将时间表紧急更新强制推送至设备,我们为应用添加了这个功能。...这个参数是 Dagger 已知,因此可以将其直接注入到我自定义 WorkerFactory : /* Copyright 2019 Google LLC.

77260

Hilt-依赖注入框架上手指南

对于Android开发来说,Hilt可以说专门为Android 打造,提供了一种将Dagger依赖项注入到Android应用程序标准方法,而且创建了一组标准组件和作用域,这些组件会自动集成到Android...应用程序各个生命周期中,以简化开发上手难度。...Hilt 目的是降低Android 开发使用依赖注入框架上手成本,但是基本理念大家还是要明白。...; 但是,Dagger 允许绑定作用域到特定组件,如上表所示,指定组件范围内,实例都只会创建一次,并且对该绑定所有请求都将共享同一实例。...注意:Kotlin,仅包含@Provides函数模块可以是object类。这样,提供程序就可以得到优化,并且几乎可以内联在生成代码

1.6K10

Dagger2 Android依赖注入学习笔记

(官方给出定义) Dagger2是一个依赖注解框架,它作用就是通过注解来实现组件之间依赖,由此来达到更好解耦,比如说,如果将 Dagger2 使用到我 MVP 框架,那么我们就可以达到...Activity ,那么要改东西变可有点多咯,但是如果用上Dagger2,我们就可以很好解决这个问题。...构造函数含参对象注入 相信很多时候,我们要用对象构造时候是需要参数,那我们如何进行它们依赖注入呢,这里我用 MVP Presenter 来进行演示。...时 Activity, MVP 框架,由于 Presenter 需要与 View 进行交互,需要持有View对象,因此初始化时候,需要在构造函数里传入View对象作为参数,可以看到代码...build之后生成.png 这样我们就可以像上面一样,Activity调用DaggerMainActivityComponent 进行依赖注入。看一下Activity代码。

65230

Android | dagger细枝篇

文档里提到了SPI机制,哈迪蹩脚英文看得一头雾水,不过最近刚好看到了好友帅丙文章DubboSPI机制,做了个简单理解,SPI(Service Provider Interface,服务提供接口...过程 public interface BindingGraphPlugin { //为Dagger处理器遇到每个有效根绑定图调用一次。...extends TypeElement> elements, RoundEnvironment env) {} } 怎么样,长得是不是还挺像,那就很好理解了,注解处理器构建时插入一段逻辑来解析注解生成辅助类...,那daggerBindingGraphPlugin就是图绑定阶段插一段逻辑来做自定义处理嘛。...就会使用java自带ServiceLoader进行查找和加载,SpiModule, @Module abstract class SpiModule { private SpiModule

71410

又一个前端框架 - dagger.js

使用 dagger.js,开发将无须依赖于: 项目构建过程 dagger.js 工作浏览器运行时当中。...换句话说, dagger.js ,一切业务逻辑都以指令作为调用入口。某些特定指令可以执行上下文创建作用域数据,而所有指令都可以作为作用域数据消费。...作用域数据宿主元素被销毁时由框架自动移除,无需开发手动管理。 指令 dagger.js ,除去生命周期指令之外,还有两种重要指令类型:控制指令和事件处理指令。...模块 接下来我们一起了解下 dagger.js 模块设计。 dagger.js ,我们把 html 模板,脚本,层叠样式表等可复用代码片段统称为模块。...未来,我们计划围绕框架持续建设周边生态,通过开源方式对框架进行推广运营,让更多前端开发有机会了解和使用 dagger.js。

2.5K20

构建2024年多语言开发体验

如何使用 Dapr、Knative Serving 和 Dagger 构建针对特定工作流优化自定义(和多语言)开发体验。...这种 API 驱动途径使应用程序环境具有可移植性,因为数据库、键值存储、消息代理和其他跨领域应用程序问题等应用程序基础设施被抽象 API 之后。...Knative Serving 也是一个 Kubernetes 扩展,通常不针对开发,但它为开发日常活动中将使用功能提供构建模块。...Dagger Dagger 使团队能够使用他们选择语言对自定义开发和运营流程进行编码,这些流程可以在内部部署和云服务运行。...像 Knative Serving 这样项目可以减少团队配置其工作负载 Kubernetes 集群运行方式认知负荷方面发挥巨大作用,因为它提供了一个简化但强大资源模型。

10910

看到如此多MVP+Dagger2+Retrofit+Rxjava项目,轻松拿star,心动了吗?

Dagger2 连接起来, 绝不是简单使用) 全局监听整个 App 所有 Activity 以及 Fragment 生命周期 (包括三方库), 并可向其生命周期内插入任意代码 全局监听 Http...package 开发须知 开发需要具有一定 Android 开发能力,以及自我解决问题能力 开发必须有使用 Dagger2 , Rxjava , Retrofit 经验,没使用过也必须了解,不然很难上手...),但是我并不推荐你使用后面的两种方式,因为本框架已经向开发提供了 ConfigModule#injectAppLifecycle 方法,可以在运行时动态向 BaseApplication 插入任意代码...AutoLayout组件,框架widget包下autolayout包,xml引用即可使子控件自适应,并且还提供一个 Template(最后面)用于生成自适应所需要Auto系列View...(调用onDestroy)List,和一个当前最前端Activity(调用onPause),AppManager封装有多种方法,可以很方便对它们进行操作,也可以持有AppManager情况下

2.8K30

轻松学,听说你还没有搞懂 Dagger2

Dagger2 基于 JSR330 注解,普通开发视角,就是这些注解构成了 Dagger2 全部。...Dagger2 SubComponent Java 软件开发,我们经常面临就是“组合”和“继承”概念。它们都是为了扩展某个类功能。...a.setB(b); 这样操作。 依赖注入概念,我分了需求、注射、依赖三个角色。 ? 总是注射给需求注入了依赖。...前面说过 Component 是需求与依赖联系,因此可以 Component 实现类代码找出分别代表需求、注射、依赖 3 个角色,然后找出依赖注入发生时代码,这个问题就算解答完成了。...这个项目示例就是为了演示 Dagger2 与 MVP 架构配合使用。

2K20

Docker创始人新产品Dagger好用吗?

Dagger 要帮助 DevOps 开发将 CI/CD 流水线编写成 CUE 声明性模型,以此为基础,开发可以描述自己流水线、并将其中各个环节进行对接,同时全部以纯代码形式实现。...示例 现在我们来使用官方 todo 示例应用来演示如何使用 dagger 运行它 CI/CD 流水线。...由于这是一个静态应用程序,我们可以浏览器打开最终生成文件,这里我们是定义最后将构建结果复制到主机上 _build 目录。...流水线是以一个 #Plan 开始 #Plan ,我们可以: 与 client 客户端文件系统进行交互 读取文件,通常使用 ....为了改善开发体验,dagger 推出了名为 Dagger Universe 工具包库,帮助开发灵活导入自己 Dagger 配置,上面的流水线很多都是该工具包定义

94420

Android 通过 Hilt 进行依赖项注入

正因如此, Google Play 商店前 10k 顶级应用,其中 74% 都广泛使用了 Dagger。但是,由于在编译期生成代码,构建时间会有所增加。...由于许多 Android Framework 类都是由操作系统自身实例化,因此 Android 应用中使用 Dagger 时,会存在与此相关模板代码。...不同于 Dagger,Hilt 集成了 Jetpack 库以及 Android Framework 类,并移除了大部分模板代码,使您可以专注于定义和注入绑定重要环节,而无需担心管理 Dagger...Hilt 实战 为了向您展示 Hilt 易用性,我们将通过一个典型 Android 应用来演示一些快速 DI。...面向 Dagger 使用 如果您已经应用中使用 Dagger 或者 dagger.android,查看 迁移指南 或者下文提及 Codelab 可以帮助您切换到 Hilt。

1.8K20

Dagger2 使用总结(一)

Dagger2 使用总结(一) 重阳节,又称重九节、晒秋节、“踏秋”,中国传统节日。庆祝重阳节一般会包括出游赏秋、登高远眺、观赏菊花、遍插茱萸、吃重阳糕、饮菊花酒等活动。...这样构建apple对象时会寻找标注了@Inject注解Color构造器新建color对象用于apple对象构造。...除了@Inject和@Component之外,Dagger2还有其他注解,下文会说明。...所以两区别仅在于提供对象方式不同,再具体可以看这两个差异类实现。 ? 拓展 Component接口可以指定多个Module类,便于将它们一起注入,比如在这个例子,可以按下述方式编写: ?...小结 @Named注解使用比较简单,只要将Module类标注和目标类声明注入类标注一一对应即可。

1K10

MVPArms MVP快速集成框架

独创建造模式 Module (GlobalConfigModule), 可实现使用 Dagger2 向框架任意位置注入自定义参数, 可轻松扩展任意自定义参数 全局使用 Dagger2 管理 (将所有模块使用...Dagger2 连接起来, 绝不是简单使用) 全局监听整个 App 所有 Activity 以及 Fragment 生命周期 (包括三方库), 并可向其生命周期内插入任意代码 全局监听 Http...(如您可以 App 任何位置做弹出 Dialog 操作) 全局 Rxjava 错误处理, 错误后自动重试, 捕捉整个应用所有错误 全局 UI 自适应 图片加载类 ImageLoader 使用策略模式和建造模式...Wiki 详细用法请参照Wiki,下面只是简单介绍下MVP Contract 根据Google官方MVP项目,可以Contract定义MVP接口,便于管理,此框架使用Dagger注入Presenter...大部分作用为通过从Model层接口获取数据,调用View层接口显示数据,首先实现BasePresenter,指定Model和View范型,注意一定要指定Contract定义接口,Presenter

3.3K1815
领券