三年前, 我们向 Android 平台引入了附近通知 (Nearby Notifications) 功能,它能根据周边设施和服务信息,为用户推荐应用和内容。...我们推出该功能的初衷是为了向用户主动提供有用的信息,比如说开发者可以利用这项技术告知用户附近可用的免费 Wi-Fi, 博物馆讲解和公交车到站时间。 我们在开发和发布这项功能的过程当中收获了丰富的经验。...用户可以通过设置过滤条件或者关闭 “附近通知” 来抵制垃圾信息,而且我们也已经对发送给用户的内容进行了十分严格的限制,尤其是那些通过通知推送的内容。但是,我们最终还是判定这些通知未能达到应有标准。...因此,我们决定从 2018 年 12 月 6 日开始正式停用附近通知这项功能。 Android 用户面临的影响 Android 用户将不会再收到任何附近通知。...您可以继续访问 beacon 仪表盘,或者通过调用 Proximity Beacons API 在应用内实现类似于附近通知的近场交互功能。
推送通知策略分析 智能手机的发展已经有近十年时间了,而在移动设备中,推送通知的潜力不可小觑。在进入 Slack 之前,Weiss 曾在 Foursquare 工作。...另外值得关注的一点事,推送通知的实时性和对实时性的关注又是两个完全不同的概念,通过短信发送的通知,关注的优先级可能会更高。 4....%image_alt% (Noah Weiss) 围绕以下原则构建推送策略 一则优秀的推送通知可能会考虑很多因素,比如设备附近的 WiFi、社会新闻热点或者其他重点组合起来考虑,再进行通知。...如果用户对这个 App 的推送感到厌烦,你能获得的最好的结果是用户主动选择某些通知处于活跃状态,而另一些通知保持沉寂。...如果用振动的形式给用户推送一则通知,而这则通知并不是特别紧急的情况,那么这个 App 离被卸载的命运已经不远了。不过,如果这则通知很紧急,紧急得就像你要错过一班飞机,那这个振动的嗡嗡声可以说很赞了。
关键词:谷歌 Facebook 2020 全年远程 如果 2020 年接下来的时间都进行远程办公,你愿意吗? 谷歌和 Facebook 已经要求员工这样做了。...桑达尔·皮查伊表示,公司对办公室布局 进行了改变,确保员工不会密切接触 而任何返回谷歌办公室的员工,都可能需要进行新的安全措施,比如测量体温、佩戴口罩等。...Facebook 的特殊奖金让不少其它公司的员工眼红 谷歌则为了缓解员工家庭和工作的双重负担,在 4 月宣布了一项新福利政策:最长 14 周的全天带薪休假和最长 28 周的半天带薪休假。...除了谷歌和 Facebook,其他科技公司如微软、亚马逊等也都在疫情爆发初期开始执行在家办公政策。 马斯克却不满:我要复工! 不过,作为科技领域的明星公司特斯拉,却对复工表现出截然不同的态度。...对比之下,谷歌、Facebook 的做法似乎显得更为谨慎。你怎么看?
说起附近小程序,大家可能还不太了解。下面木鱼小铺就和大家分享一下附近的小程序小知识点,希望对大家有所帮助!...1.什么是附近的小程序 商家可以在小程序管理后台里添加地点,当用户在该地点周围,就能搜索到你的小程序,并且能够使用小程序提供的服务。...2.开通附近的小程序条件 ①开通类型 : 企业、媒体、政府以及其他组织的公众号和小程序使用“附近的小程序”功能,个人小程序不能使用附近的小程序功能。...3.如何开通附近的小程序功能 ①登录小程序 ②进入“附近的小程序”页面 ③添加附近的小程序 ④填写营业执照等相关信息,最好提交 4.附近的小程序注意事项 ①一个小程序只能添加10个地点。...通过上述对附近的小程序的基本知识的介绍,相信大家对附近的小程序有了一个大致的了解。
本文是 Spring AOP 源码分析系列文章的第二篇,本文主要分析 Spring AOP 是如何为目标 bean 筛选出合适的通知器(Advisor)。...2.源码分析 2.1 AOP 入口分析 在导读一文中,我已经说过 Spring AOP 是在何处向目标 bean 中织入通知(Advice)的。...2.2 筛选合适的通知器 在向目标 bean 中织入通知之前,我们先要为 bean 筛选出合适的通知器(通知器持有通知)。如何筛选呢?...那接下里,我们一起来分析一下 AspectJMethodBeforeAdvice,也就是 @Before 注解对应的通知实现类。看看它的逻辑是什么样的。...AOP 更新时间 标题 2018-06-17 Spring AOP 源码分析系列文章导读 2018-06-20 Spring AOP 源码分析 - 筛选合适的通知器 本文在知识共享许可协议 4.0
针对“附近的人”这一位置服务领域的应用场景,常见的可使用PG、MySQL和MongoDB等多种DB的空间索引进行实现。...要提供完整的“附近的人”服务,最基本的是要实现“增”、“删”、“查”的功能。以下将分别进行介绍,其中会重点对查询功能进行解析。...其中,组合使用GEOADD和GEORADIUS可实现“附近的人”中“增”和“查”的基本功能。 要实现微信中“附近的人”功能,可直接使用GEORADIUSBYMEMBER命令。...以下会从源码角度入手对GEOADD和GEORADIUS命令进行分析,剖析其算法原理。 Redis geo操作中只包含了“增”和“查”的操作,并没有专门的“删除”命令。...算法分析 为什么要用这种算法策略进行查询,或者说这种策略的优势在哪,让我们以问答的方式进行分析说明。 为什么要找到满足条件的最高的geohash网格等级?为什么用九宫格?Redis 为什么这么快?
文末有源码 最近好多同学问石头哥附近的人如何实现。今天呢,就借助这篇文章,给大家做一个系统的解答。...接下来就教大家如何实现附近的位置。 一,创建数据 首先我们查询附近的人的时候,需要先有附近人的位置,也就是经纬度。这里我以几个城市的经纬度为例。...二,查找附近的人 我们查找附近的人,肯定是想按照排序由近到远的显示附近的人在地图上,所以这里我们就要用到geoNear做聚合查询。...,size_16,color_FFFFFF,t_70] 这个距离在做附近的人时很重要的。...具体的代码后面给大家列出来,我们先继续往下学习 三,获取当前的位置 我们要做附近的人肯定要先获取自己的位置,获取自己的位置就用wx.getLocation即可,对应文档如下 https://developers.weixin.qq.com
众所周知,“附近的小程序”是小程序主要流量入口之一,而且在应用场景也发挥了重要作用,但并不是发布小程序之后,小程序就会自动的出现在“附近小程序中”。...附近小程序需要商户主动申请开通的,只有申请开通之后,才出现附近小程序中。 如何开通附近小程序,下面木鱼小铺就和大家分享一下附近的小程序申请指南 。 ...01、开通附近的小程序前提条件 1.支持账号类型为企业、媒体、政府和其他组织的小程序,个人类型的小程序是无法开通“附近小程序”。 2....“附近的小程序”地点的经营主体需要与小程序账号主体一致或相关。 02、如何开通附近的小程序 1.使用浏览器登录你的“微信公众平台|小程序”:登录成功后点击页面左侧的“附近的小程序”。...22.png 开通“附近的小程序”后,用户在门店地点的5km范围内打开微信附近的小程序功能,就可以看到你的小程序了 。
他说:“无人机的出现促使相关技术为许多工业领域带来革命性的颠覆。...笔者拿到该软件后迫不及待的进行了测试,效果出乎意料,首先,软件界面出乎意料的好,打破了笔者对esri软件的传统印象,简洁、清爽是给人的第一印象。...结果还是非常喜人的,不多说,看图: 做好的正射。 怎么样几千元的大疆,是不是很不错?...通过以上的测试,可以发现Drone2map for ArcGIS他对数据处理的流程是非常简单(一键式处理)、非常自动化的,通过工程的建立——>选择模板——>输出成果,减少了许多专业的数据处理步骤,极高的加快了数据生成的作业进度...随着无人机技术的发展,GIS技术也在跟着主流IT技术的发展而发展,esri非常重视无人机技术,无人机行业的发展以及Drone2map for ArcGIS实用、易用、高效、低成本等特点,将在智慧城市中的各行各业的专业领域中有极大的潜力和发展
背景相信大家都有点外卖的时候去按照附近公里排序的习惯,那附近的公里是怎么设计的呢?今天shigen带你一起揭秘。...分析我们先明确一下需求,每个商家都有一个地址对吧,我们也有一个地址,我们点餐的时候,就是以我们自己所在的位置为圆心,向外辐射,这一圈上有一堆的商家。...、用户等位置信息,并通过距离计算来查找附近的位置。...热点分析:可以根据位置信息生成热力图,统计热门区域或目标位置的访问频率。Redis 的 GEO 功能提供了方便且高效的方式来存储和操作地理位置信息,使得处理地理空间数据变得更加简单和快速。...总结对于需要存储地理数据和需要进行地理计算的需求,可以尝试使用redis进行解决。当然,elasticsearch也提供了对应的数据类型支持。有机会的话,shigen也会逐一的展开分析讲解。
我们今天要向大家分享高级谷歌分析的技巧与窍门。 Google Analytics(分析)影响到搜索引擎营销中的每个人(除非您使用其他分析工具!),但并不是所有人都对它有足够的认知。...3.非品牌关键词细分 这对非品牌相关术语的搜索的分析很有用。按相同的方法进入高级细分仪表板,依照以下步骤: 为了理解起来更容易些,假设我的公司叫John Lewis。...要查看目标细目并检查是否正确记录网页信息,请使用目标验证报告或目标网址(新分析)。经过我的测试,它们百分之百可以正确工作。...步骤1 - 修改GATC 转到GoogleAnalytics(分析)设置>跟踪代码>选择“多个顶级域”单选按钮>Google Analytics(分析)将为您提供两行新代码,如下所示。 ?...例如,这里我们使用'.seogadget.co.uk'来避免Google Analytics(分析)的跟踪Cookie产生多个实例的情况发生。
来源:https://juejin.im/post/5da40462f265da5baf410a11 前言:针对“附近的人”这一位置服务领域的应用场景,常见的可使用PG、MySQL和MongoDB等多种...要提供完整的“附近的人”服务,最基本的是要实现“增”、“删”、“查”的功能。以下将分别进行介绍,其中会重点对查询功能进行解析。...其中,组合使用GEOADD和GEORADIUS可实现“附近的人”中“增”和“查”的基本功能。 要实现微信中“附近的人”功能,可直接使用GEORADIUSBYMEMBER命令。...以下会从源码角度入手对GEOADD和GEORADIUS命令进行分析,剖析其算法原理。 Redis geo操作中只包含了“增”和“查”的操作,并没有专门的“删除”命令。...算法分析 为什么要用这种算法策略进行查询,或者说这种策略的优势在哪,让我们以问答的方式进行分析说明。 为什么要找到满足条件的最高的geohash网格等级?为什么用九宫格?
它也是基于你的位置来搜索附近充电宝: 再就是大家搜索附近的酒店、餐厅等,也是基于位置的搜索。 那么问题来了:这种附近的人、附近的酒店、附近的充电宝的功能是怎么实现的呢?...我们每天看的文章热榜、微博热榜等各种排行榜,都是 zset 做的 list:存列表数据 geo:存地理位置,支持地理位置之间的距离计算、按照半径搜索附近的位置 其中,geo 的数据结构,就可以用来实现附近的人等功能...然后把 radius 改成 0.05,是这样的: 这样就实现了查找附近的充电宝的功能。...,比如附近的充电宝、酒店,打车,附近的人等功能。...实现了添加点,搜索附近的点的功能。 以后再用这类附近的 xxx 功能,你是否会想起 redis 呢?
一、入口 我们已经知道BeanPostProcessors是在Bean实例化前后起作用的,如果看过前面的文章Spring Ioc源码分析 之 Bean的加载(八):初始化,应该知道Spring是在AbstractAutowireCapableBeanFactory...上面这段代码的逻辑就是:找到这个标注@Aspect的类,并找到里面定义的通知器,如@Before、@After等。 同时这也回答了上篇文章的一个问题:Spring是怎么找到我们定义的切面的?...2.2、筛选合适的通知器 现在我们已经拿到了所有通知器,接下来就要筛选出匹配当前Bean的通知器。...现在,我们知道了通知是怎么创建和筛选的。那下篇文章,我们一起来分析一下AOP是怎么创建代理对象的。...总结 这篇文章花了比较大的功夫,受个人能力限制,很遗憾没有对里面的源码作非常详细的分析,只理解了主流程,希望朋友们发现文章中的错误或不妥之处,还请指出,互相交流~
我这个功能就是用视图动画来实现的。老规矩先看一下效果图 效果图 实现思路 用的是一个缩放的动画,还有一个渐变的动画来实现的,放大的时候透明度逐渐变弱。...细心的你一定看到有4个圆环,没错我这里用了4个ImageView,来执行这个这个组合动画,只不过每个View执行的时候,延迟一些时间。 上代码 (布局文件) <?
当两个元素相距不是很远,可以直接用勾股定理就能算出元素之间的距离,但是当我们的坐标是经纬度这种数据时,使用勾股定理就不容易计算了,那么如何计算两个经纬度之间的距离呢?如何筛选附近的人呢?...假如我们现在想要获取(x0,y0)坐标 附近为r的元素,可以这样去查询: select id from pos where x0-r < x <x0+r and y0-r <y <y0+r 但是把所有数据全部放到数据库中...业界比较通用的计算距离的方法是geohsh算法,刚好redis也支持这种算法 ?...redis如何支持 在redis中,geo将二维经纬度使用52位的整数进行编码,然后放入zset集合中,zset的value是key,scroe存储的是52位的整数值,然后通过score排序,算出附近的人...获取元素hash值 geohash anhuiprovince hefei 获取附近的元素 georadiusbymember key member radius m|km|ft|mi [WITHCOORD
Android中的通知(Notification)是Android中的重要一部分,应用程序通过通知来提醒用户或者向用户传达信息,下面让我们来看一下怎么在我们的程序中使用通知和自定义通知的布局。...由于各个版本的Android在通知方面都有一些改动,所以很难找到一个标准的创建及使用通知的方法,但是程序设计出来总归是给用户使用的,那么我们可以采用兼容性最好的那个API来创建通知:我们可以使用NotificationCompat...无论是使用自定义视图还是系统提供的视图,上面4的属性一定要设置,不然这个通知显示不出来 */ 3、调用通知管理服务的notify方法发送通知 我们依然通过一个例子来看一下: 新建一个..."/> 布局中的两个按钮分别用来发送系统布局的通知和我们自定义布局的通知,接下来是我们自定义的通知布局,新建一个布局文件notification.xml: 的通知管理器发送通知,第一个参数是通知的id,不同的通知应该有不同的id, * 这样当我们要取消哪条通知的时候我们调用notificationManager
这里假设要实现的是“附近的地铁站”功能,key为list,member为地铁站id 首先,你需要在redis里维护一个geo的列表(本质上是sorted set),当每个地铁站的经纬度有更新时,就使用...#地铁站id=1 #顺便提一下,相同key,member,不同经纬度,GEOADD会自动更新的 127.0.0.1:6379> GEOADD list CH 13.361389 38.115556 "...1" 列表接口的实现 客户端会传一个经纬度,页码,每页条数,关键词(搜索后排序先不考虑) 生成模拟数据 $redis = new Redis(); $redis->connect("docker-redis
有这样的一个需求,当仓库中被推送或者更新代码的时候,希望在邮件中收到邮件通知。Gitea 是可以实现这个功能的,但是在默认情况下这个功能是关闭的。...修改配置文件根据 Gitea 的安装不同,我们的配置文件在:vi /etc/gitea/app.ini 这个路径下。...在这个配置文件中,检查参数:ENABLE_NOTIFY_MAIL = true如这个参数设置为 false 的话,你需要把这个参数设置为 true在完成上面的配置后,重启 Gitea 的服务。...检查参数配置在 Gitea 的控制台中,有个 Service 配置。下图是我们在修改配置前的配置。当修改后重启,配置应该如下图所示。配置显示为 √ 符号。...关注点就算完成上面的修改后,Gitea 是不会给自己提交的代码发送邮件更新通知的。只有你组里面的其他用户才会因为你代码的提交或者变更而收到邮件通知。
最近在使用朋友网(不加链接,避免有打广告的嫌疑),发现会出现提示“是否允许网站显示桌面通知?”,如下图所示: ? 这种做法,在页面加载完时直接调用请求,比起开心网的这种提示感觉有些野蛮了。...开心网的桌面通知提示如下: ? 先检查用户是否已经允许了本站的桌面通知,在未允许的情况下:点击后Chrome才出现提示,感觉更人性化一些,起码这个通知出现是由用户主动触发的。 ?...这两个网站,发现桌面通知主要用于webIM的消息提醒。查了下资料,大概了解和掌握了Chrome桌面通知的。做了如下图所示的一个Demo: ? 完整的示例代码如下: 1: 的桌面通知(类似唯一标识,弹出同名的replaceId通知实例时,后面的通知会覆盖之前的通知)。...具体产品(如webIM)中如果实现的,可以参考这一篇文章:通知>,如果去开心网查看实现的源码,可以看到如下的实现: ?
领取专属 10元无门槛券
手把手带您无忧上云