发现钉钉打卡定位算法的一个bug
最近公司取消了指纹打卡,改用钉钉打卡。 天天用这个打卡上班,经常忘记,困扰。 最烦的是好几次明明人在办公室,打卡地址显示在10分钟前的位置,定位失败,不得不重新打卡。
经历过几次定位失败后,我就琢磨起钉钉的定位逻辑,发现定位失败时候的地址,基本是之前我转车的位置,当时我没打开钉钉软件。看来钉钉是自动运行的。打开钉钉看到有个智能工作助理。
每次提前10分钟提醒我打卡,这个时间段,我基本就在失败的定位位置处。所以我猜测是这样的,在智能工作助理提醒我的时候,钉钉已经悄悄的记录我的位置,在10分钟后我打卡的时候,可能是我定位不准确或其他原因,钉钉没办法定位我现在的位置,于是直接用之前记录的位置替代现在无法定位的位置。 这当然是一个算法上的bug,在无法定位我现在的位置的情况下,也不能用10分钟前的位置让我打卡。
这个挺烦人的,还有一个烦人的问题是,每次下班打卡的时候,明明人在办公室,结果显示打卡位置离办公室有30米,然后打卡不成功。我想,离办公室30米,就不能算在办公区域? 非要算外勤打卡?钉钉对自己的定位能力有这么自信?精度非要这么高,钉钉自己又做不到,导致用钉钉打卡有一堆烦心的事情。
每次定位失败后,总想向钉钉反馈下这个问题,结果发现除了问答机器人外,都不知道如何提交反馈给钉钉。看来钉钉也很自信,不屑于获取用户的意见。
最后说一点,发现阿里巴巴的软件总会出一堆的问题,比如淘宝有段时间,在二维码扫描登录后,经常会退出登录状态,总要反复登录几次,糟心的很。现在淘宝网在搜索商品时候,也经常弹出登录节目,非要登录后才可以搜索商品,用户体验非常的不好。 我现在搜索手机的时候,基本是在京东搜索,不会去淘宝搜索手机新品。
阿里有这么多的程序员,有这么大的资金成本,为什么不能在用户体验上多改善下细节呢!!!
发现钉钉打卡定位算法的一个bug的更多相关文章
- 制作手风琴效果时发现新大陆,好吧,其实是一个bug
手风琴效果代码: <!DOCTYPE html> <html> <head> <meta charset="utf-8&quo ...
- 几行python代码实现钉钉自动打卡,网友:终于告别缺勤了
前言 众所周知因为疫情的原因大家都没有办法上学和上班,“钉钉”这个app起到了重大的作用.学校为了学生成绩开启“钉钉”之路.老师也成一个“合格”的主播,感谢XXX童鞋的礼物.666扣起来 老师为了营造 ...
- iOS钉钉远程打卡助手(支持越狱和非越狱)
前言:本文主要讲述使用hook方式实现钉钉远程打卡功能,涉及到tweak相关知识,如果你不想了解具体实现细节可直接到我的Github地址参考安装(包含越狱和非越狱两种方法) 你是不是像小编一样每个 ...
- springmvc请求参数异常统一处理,结合钉钉报告信息定位bug位置
参考之前一篇博客:springmvc请求参数异常统一处理 1.ExceptionHandlerController package com.oy.controller; import java.tex ...
- 阿里钉钉Android实习面试也太太太太难了吧,对算法的要求堪比字节
本人研究生在读,在2月26日找了师兄内推阿里钉钉团队,28号接到了约1面的电话.幸好我提前准备了一个多月的样子,刷面试题.刷LeetCode(面了之后才觉得自己刷少了),对于我这样一个实习生来说题目还 ...
- 钉钉接口:获取accessToken和打卡记录【分享】
post和get方法工具类:HttpUtils package weaver.dingtalk.utils; import com.alibaba.fastjson.JSONObject; impor ...
- 阿里钉钉技术分享:企业级IM王者——钉钉在后端架构上的过人之处
本文引用了唐小智发表于InfoQ公众号上的“钉钉企业级IM存储架构创新之道”一文的部分内容,收录时有改动,感谢原作者的无私分享. 1.引言 业界的 IM 产品在功能上同质化较高,而企业级的 IM 产品 ...
- 钉钉客户端JS-API权限签名算法.NET版
前段时间写了一篇博文<钉钉如何进行PC端开发>,在里面并未解决本地生成签名的问题,需要到官网进行生成,由于钉钉门票等认证信息会超期,因此,必须能本地用代码自动更新相关参数信息,来换取签名. ...
- 钉钉如何进行PC端开发
前段时间,用钉钉进行了服务器端的开发,对照着官方文档,感觉还是比较顺利的.后续想有时间研究一下PC端客户端的开发,看着官方文档,说的确实是比较简练,但也确实没看太明白,废了半天劲也没成功.后来经过无数 ...
随机推荐
- JZOJ 5326. LCA 的统计 (Standard IO)
5326. LCA 的统计 (Standard IO) Time Limits: 1000 ms Memory Limits: 131072 KB Description Input Output S ...
- 数据分析你需要知道的操作:ETL和ELT
如果您接触过数据仓库, 您可能会使用 ETL (Extract. Transform. Load) 或 ELT ( Extract.Load. Transform) 将您的数据从不同的来源提取到数据仓 ...
- VUE实现Studio管理后台(完结):标签式输入、名值对输入、对话框(modal dialog)
一周的时间,几乎每天都要工作十几个小时,敲代码+写作文,界面原型算是完成了,下一步是写内核的HTML处理引擎,纯JS实现.本次实战展示告一段落,等RXEditor下一个版本完成,再继续分享吧.剩下的功 ...
- php不用第三个变量,交换两个数的值
//字符串版本 结合使用substr,strlen两个方法实现 $a="a"; $b="b"; echo '交换前 $a:'.$a.',$b:'.$b.'< ...
- 玩转 .NET Core 3.0:逐浪CMS新版发布,建站更简单、网站更安全
2019年11月11日,在大家都忙于网上体会“双11 ”的热闹气氛的时候,逐浪CMS开发者团队正在做着新版本发布的最后工作.此次更新是基本于 .NET Core 3.0开发,也是全国首个基于 .NET ...
- Python - 常用内置变量
直接上代码 #!/usr/bin/env python # -*- coding: utf-8 -*- """ 这是注释__doc__会打印这部分内容 "&qu ...
- ReentrantLock源码探究
ReentrantLock是一种可重入锁,可重入是说同一个线程可以多次获取同一个锁,内部会有相应的字段记录重入次数,它同时也是一把互斥锁,意味着同时只有一个线程能获取到可重入锁. 1.构造函数 pub ...
- LeetCode(239.滑动窗口的最大值
题目: 给定一个数组nums,有一个大小为k的滑动窗口从数组的最左侧移动到最右侧,你只可以看到滑动窗口内的k个数字.滑动窗口每次只向右移动一位. 返回滑动窗口中的最大值. 示例: 输入: nums = ...
- vue控制台报错集锦
1.ERROR in Cannot find module 'node-sass' 经常会出现node-sass没安装好的报错,没事,单独重新安装一下, 解决办法:npm install node-s ...
- 使用express+shell在服务器上搭建一套简单的前端部署系统
前言 个人项目越来越多,部署需要频繁操作服务器,所以手动搭建一套简单的部署系统. 效果如图 其中包含 原生html+css+js项目,单页面react, vue, angular项目,实现了一键打包发 ...