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

推荐订阅源

J
Java Code Geeks
G
Google Developers Blog
Blog — PlanetScale
Blog — PlanetScale
U
Unit 42
A
About on SuperTechFans
Vercel News
Vercel News
B
Blog
Martin Fowler
Martin Fowler
MyScale Blog
MyScale Blog
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
腾讯CDC
D
Docker
V
Visual Studio Blog
博客园 - 叶小钗
The Cloudflare Blog
Jina AI
Jina AI
B
Blog RSS Feed
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
WordPress大学
WordPress大学
T
Tailwind CSS Blog
MongoDB | Blog
MongoDB | Blog
D
DataBreaches.Net
月光博客
月光博客
大猫的无限游戏
大猫的无限游戏

Shidenggui's blog

读《庞居士研究》有感 杂诗 2 杂诗 卢曼卡片盒的本质 致《斯通纳》 古典风格 跳舞吧 无解的问题,有解的人生 杠精是如何炼成的 存在即被承认 混沌宇宙中涌现的秩序 人生革命 少见的艺术家 爱欲之死 世界围绕着心灵旋转 轻信 日常之外的可能性 第二大脑 新品发布:元思笔记 - 打造自生长的知识网络 推书君 APP 上线了!书荒找书,点评分享,尽在其中 如何通过定价充分挖掘隐藏利润? 高不确定性意味着高风险?认知的局限性才是 聪明的学习胜过大量时间的投入 经济机器是如何运行的? 瑜伽不能减肥?我一个月瘦了12斤 从租售比看,北上深的房价为什么不贵? 记一次业务中的算法应用:动态规划、图、树 Jetbrains 福利,半年全家桶或者一年半单产品(PyCharm, WebStorm等)订阅,非激活码,发放到 account BlogHub 上线了,开源独立博客聚合站,一起来发现更多有趣的灵魂 现在还有必要拥有独立博客吗?谈谈我的独立博客史
24 小时开源公益黑客马拉松,开发一款疫情小程序
2020-02-08 · via Shidenggui's blog

缘起

过年隔离在家,正好看到腾讯云主办的“协力抗疫,码力全开”线上公益黑客马拉松,也希望能为疫情作出一点贡献,就报名参加了。

RntDFG

想法来源

作品疫程的思路来自之前看到央视新闻公众号推送的一篇文章《我们建群吧》,提出在当前患者不断确诊,患者历史行程持续披露的过程中,乘坐公交、航班、高铁等出行的乘客可以通过微信面对面建群,如果未来万一发生疫情的话,可以及时沟通、交流。

从程序员的角度,建群等到疫情发生时互相提醒太过低效。如果有一个应用可以帮助用户查询患者行程,同时支持订阅行程,在出现疫情时及时通过微信通知用户,这就方便多了。

结果展示

源码地址

https://github.com/shidenggui/ncov

查询患者行程

  • 点击右上角的按钮订阅对应的行程通知
  • 点击患者行程可以复制来源链接到浏览器中打开

订阅界面

订阅提醒

3.提醒

历史通知

4.历史通知

技术架构

因为是腾讯云的活动,所以倡导用户使用小程序 + 云开发的方式开发产品。

小程序本身的即用即走以及订阅通知机制非常适合我的应用场景。

而云开发所倡导的 serverless 也是我一直非常感兴趣和愿意尝试的,正好在这次开发中体验下。

小程序框架

使用 uniapp,基于 Vue 的语法。因为之前开发过几个小程序,都是使用的 uniapp,已经比较熟练,其本身对 Vue 的语法支持非常完善,而且社区完善,相关资料比较丰富。

cLZPFX

CSS 框架

采用的 tailwindcss。这个框架基于原子类设计思想,奉行 utility-first,是作者多年工程化思考的结晶。之前在好几个产品轻度使用过,因此还读过作者的一本小书《Refactoring UI》,框架整体在开发效率和自定义之间取得 了一个比较好的平衡。

核心思想是通过大量的工具类的组合来表达样式,几乎不需要自定义类名,而疫程这个项目也确实没有起过类名,须知命名是编程第一难题

IfaBIT

示例:行程组件

m4xLb2

ncov-travel 组件为上面白色一栏加订阅按钮

nxPFTp

ncov-patient-travel 组件为下面的患者行程,包括时间、地点、来源等

b4brPs

云开发

使用了 6 个云函数加 1 个定时触发器。优点是基础套餐免费,深度集成微信,自带数据库和定时触发器,非常适合轻量级应用。不过缺点是函数之间不能复用代码,整体代码略显零碎。

mMZSCE

示例

获取用户所有订阅

云开发的数据库是微信自研的类似 Mongo 的文档型数据库,目前功能还比较简陋,不过基本还是够用的。

pHupXU

触发器配置

使用跟 crontab 同样的语法

image-20200208151055554

架构

使用领域驱动设计(DDD)。最近一直在看架构方面的书,DDD 感觉是应对软件复杂度比较好的一种架构。

1rZLCs

后记

从规划到落地大概花了 24 个小时左右,之后花了一部分时间准备文档和 PPT。第一次参加黑客马拉松,整体体验还不错。最后提交作品的有 35 个团队,其中有些项目挺好玩的。

本来一开始发了朋友圈想找一个产品经理或者设计师一起来玩,不过最后没有找到,只能自己撸袖子上了,一个人的话确实效率很高,就是有些地方可能会思虑不周。

更新于 2020-02-15

感谢大家的支持,最后获三等奖。也算为自己的第一次黑客马拉松之旅画上一个不错的句号。

疫程小程序码