惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

SecWiki News
SecWiki News
I
InfoQ
The Cloudflare Blog
人人都是产品经理
人人都是产品经理
博客园 - Franky
T
Tailwind CSS Blog
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
量子位
博客园_首页
罗磊的独立博客
V
V2EX
李成银的技术随笔
大猫的无限游戏
大猫的无限游戏
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
T
True Tiger Recordings
Vercel News
Vercel News
Cyberwarzone
Cyberwarzone
Cisco Talos Blog
Cisco Talos Blog
F
Fox-IT International blog
D
Darknet – Hacking Tools, Hacker News & Cyber Security
M
Microsoft Research Blog - Microsoft Research
Know Your Adversary
Know Your Adversary
爱范儿
爱范儿
The Register - Security
The Register - Security
G
Google Developers Blog
The Hacker News
The Hacker News
Malwarebytes
Malwarebytes
S
Securelist
博客园 - 三生石上(FineUI控件)
Jina AI
Jina AI
T
Threat Research - Cisco Blogs
T
The Exploit Database - CXSecurity.com
S
SegmentFault 最新的问题
博客园 - 叶小钗
F
Fortinet All Blogs
Apple Machine Learning Research
Apple Machine Learning Research
宝玉的分享
宝玉的分享
博客园 - 聂微东
T
Threatpost
博客园 - 【当耐特】
D
Docker
P
Privacy & Cybersecurity Law Blog
www.infosecurity-magazine.com
www.infosecurity-magazine.com
G
GRAHAM CLULEY
V
Visual Studio Blog
C
Cisco Blogs
IT之家
IT之家
S
Security Archives - TechRepublic
Latest news
Latest news
阮一峰的网络日志
阮一峰的网络日志

HANG ♥ WRITING

Agents 当道,我们都可以被蒸馏成 Skills ChatGPT 问世两年,我在 AI 的辅助下成为了一名 iOS 业余开发者 如何使用 Netcat 构建简单的安全聊天系统 QuakeSense 震感,一款简洁原生的 iOS 地震通知 App App Store 中国大陆 ICP 备案最佳实践 几款有意思的 Google Chrome 侧边栏扩展应用 GetVM 让编程学习更快一步 WildCard (野卡) - 国内用户零门槛订阅 ChatGPT、Claude、App Store 万里汇开发者收款使用全指南 | 注册、开户与账户绑定教程 中国大陆居民开通华侨银行(OCBC)海外账户完全指南 实用的 macOS 内置命令,省下买第三方应用的钱 《认知觉醒》之触动学习法 不是程序员也可以搞开发,一小时入门 Retool 低代码 疫情来袭,手把手教你在家制作美味炒鸡 企业微信机器人 Webhook 推送语雀更新消息 基于 Cloudflare Workers 部署的 JSON Database 数据库 印象时间:印象笔记出品的时间管理应用 Pixelmator Photo 2.0: 桌面级功能并适配 iPhone Shortery:Mac 快捷指令自动化 Pixelmator Pro 2.3:AI 背景去除 Quit All:一键退出应用程序 Raycast:推出官方扩展商店和开发者平台 简悦 API 2.0:收藏助手和快照功能 HomePod mini 使用体验 Prizmo 5.5:扫描效果增强并新增批注功能 Notion:近期值得关注的新特性 Google Analytics 替代品,零成本和零门槛搭建 umami.is Infuse 7:一款近乎完美的视频播放器 Gyroscope 4.14:新的产品名称和多项改进 V day:在手机上创作短视频 Things 3.14:备注支持 Markdown,同步速度加快 MoneyWiz 2021:新的通知选项和视觉改善 Doppler:管理和分享你的本地音乐 CARROT Weather:5.3 带了多项新特性 Obsidian:知名知识管理工具推出移动应用 NOMO RAW:专业 ProRAW 相机 Tape:全能且好用的录屏软件 Apple Design Award 2021 Craft 1.6:每日笔记重磅更新 Trakt:官方 iOS 应用全新上线 Notion:支持 API 和自动化集成 Varlens:iOS 专业相机应用 Infuse 7:不只是 M1,支持所有 Mac 简悦:支持 API 和自动化流程 奇妙组件:小而美的自定义 iOS 小组件 Farbox 2:支持自部署和多站点的开源博客系统 图图记账:高颜值记账应用 Coppice:帮助整理你的想法 DarkModeBuddy:基于光线切换深色模式 走进微软成都 Office,聊一聊 Microsoft 365 HapiGo:符合国情的效率启动器 Eagle 2.0:数十项功能更新 + 数倍的性能提升 无需记账,通过更新余额了解自己有「多少资产」 Dato:支持日历和时区的菜单栏时钟 极具潜力的效率启动器 App,Raycast 脚本功能详解 Pixelmator Pro 2.0.2:增加新效果,支持 ProRAW Raycast:面向开发人员的效率启动器 Sorted:全新的 Mac 版本,原生支持 Apple Silicon App Store 和 Google Play 的 2020 年度 App 榜单 VSCO:全新的视频效果和拍摄模式 Pixelmator Pro 2.0:全新设计并支持 M1 芯片 Maipo 4:全功能新浪微博 macOS 客户端 Bartender 4:Mac 菜单栏定制工具 JSBox:适配并支持 iOS 14 小组件 Little Snitch 5:macOS 上出色的流量监控与防火墙应用 Photoshop:更多的 AI 创意工具 Capslox:文本操作快捷键增强效率工具 Airport:TestFlight 测试应用商店 Disk Drill 4:全新设计,支持 macOS 11 Big Sur OneWidget:小组件中的瑞士军刀 Todoist:新增看板视图 IFTTT Pro:合理的定价、全新的特性 PooPoo Privacy Policy QuakeSense Privacy Policy | 震感 App 隐私政策 ThenNow Privacy Policy | 今昔 App 隐私政策 LaunchBar 6.13:支持 macOS Big Sur 24 Hour Wallpaper:近百张 Mac 动态壁纸 简悦 2.0 阅读模式 + 标注系统 + 稍后读 绕过 App Store 付费,Setapp 采用新的 iOS 付费应用解锁策略 Noto 笔记:2.3 版本带来 10 余项功能更新 PliimPRO:让 Mac 一键进入演示模式 Pixelmator Pro 1.7:文字输入、画布旋转和 ML 超分辨率更新 Ulysses 20:新增导航面板和中文拼写检查 Mailbrew:新增 Inbox 集中订阅 Newletter Fluent Reader:免费跨平台 RSS 阅读器 Moment:高颜值 Mac 状态栏倒数日应用 Meeter:集中管理你的远程会议 Adobe Lightroom:新版带来了众多实用特性 WWDC:在 Mac 上观看 WWDC 直播和视频 LongWe:Mac 上的文本长图生成工具 Photoshop Camera:风格独特的艺术效果 Empoche:任务管理和时间追踪二合一 Camera+ 2:Magic ML 带来照片处理新魔法 Tuck:将窗口停靠在屏幕边缘 Wormhole:在电脑上操作 iOS 和 Android 设备 Coherence X:一键将网页转换为桌面应用 Charty:让快捷指令支持图表可视化 Edison Mail:又一款免费邮件客户端 Service Station:定制 Mac 右键菜单 WatchSmith:前所未有地个性化 Apple Watch
你的时间都去哪了?我做了这个 Workflow 来记录上下班所需时间
huhuhang@gmail.com (huhuhang) · 2018-03-19 · via HANG ♥ WRITING

如果你和我一样,每天的上下班通勤时间较长且存在变数,那么是否会有记录下这段时间的想法?

之前,我一直使用 Moves 追踪自己的地理位置信息,这样也能较为粗略地记录下通勤时间。但可惜的是,自 iOS 11 发布之后 Moves 就不再更新,目前已经无法正常使用。

提醒:Facebook 已于 2018 年 6 月 31 日正式关闭了 Moves 服务,推荐使用 Gyroscope 替代。

后来,我尝试寻找能满足通勤时间记录的应用,不过大多都是以定时器的形式存在。如果使用定时器记时,每次都需要执行较为复杂的步骤:打开定时器应用 → 开始计时 → 结束及时 → 关闭定时器应用。更关键的是,当你想保存下每次持续的时间时,你还需要另想办法。

最后,我将目光放在了 Workflow 上,并通过与 Airtable 配合实现了记录上下班通勤时间的想法。

实现思路

首先,Workflow 中是没有与记录时间相关的 Action,只有能获取到当前时间的 Date 动作。

所以,本文的思路是通过 Workflow 获取到每一次开始和结束计时的时间戳,再将其更新到 Airtable 中,并使用 Airtable 中提供的 Formula 公式计算时间差。该时间间隔即为上下班通勤时间,同时将时间保存在 Airtable 中并返回到手机上。整个过程如下图所示。

如上图所示,每次运行该 Workflow 时:

  1. 先选择上班、下班状态;
  2. 点击开始计时,Workflow 会将当前时间戳上传到 Airtable 中;
  3. 到达目的地后,点击结束计时,Workflow 会将当前时间戳上传到 Airtable 中;
  4. Airtable 会计算时间差,并返回如上方右图所示的通勤时间结果。

配置和安装

该方案对应的 Workflow 制作非常简单,但需要你对使用 HTTP 请求方法比较熟悉,也就是 Workflow 中 Get Contents of URL 动作。而这里面临的主要困难是如何在 Airtable 设置正确的数据表结构。

回顾上一小节提到的实现逻辑,你可能觉得只需要新建一张表格存储 Workflow 上传的数据即可,其实不然。这里无法利用单张数据表实现的原因在于,当上传数据到 Airtable 中时,每一条数据记录都会新建一行,于是就会出现数据交错的情况,也就无法计算时间差。

于是,这里选择新建两个表,分别是 Update 数据表和 Time 数据表。其中,Update 表用于处理 Workflow 上传的时间及计算时间间隔,Time 表则用于记录每次通勤的时间。其中,Update 表如下图所示:

当 Workflow 上传时间戳时,选择使用 Airtable 更新数据记录的 XPATH 请求方法,而不是新建数据记录的 POST 请求方法。于是,这里的 Update 表格中始终只有一行记录。

另一张 Time 表如下所示:

其中:

  • Num:Airtable 中的 Auto number 属性,也就是自动计数器。
  • Created:Airtable 中的 Created time 属性,当某一条数据记录产生时,该属性列会自动记录当前时间。该时间也就是上班或下班到达目的地时间。
  • Action:通过 Workflow 上传,记录运行 Workflow 时选择的上/下班状态。
  • Time:通过 Workflow 上传,记录 Workflow 前一步从 Update 表中获取到的时间间隔。

完成以上的步骤,一切就大功告成了。如果你想直接使用我制作的 Workflow 和 Airtable Base,需要按下面的顺序配置:

  1. 通过 此链接 访问与文中结构一致的 Airtable Base,并点击右上角的 Copy base 复制到自己的 Airtable 中。
  2. 通过 此链接 安装对应的 Workflow,安装时根据提示问题修改自己的 Airtable API 信息和对应的请求 URL

如果你对 Airtable API 不太熟悉,可以通过界面右上角的 HELP 选项查看官方给出的示例用法。

最后,我不愿意夸大记录通勤时间的意义,因为每个人的想法和需求是不一样的。不过,就我个人而言,探索「充分利用工具」的过程十分有趣。