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

推荐订阅源

Exploit-DB.com RSS Feed
Exploit-DB.com RSS Feed
Cisco Talos Blog
Cisco Talos Blog
T
Threat Research - Cisco Blogs
P
Privacy International News Feed
S
Schneier on Security
P
Privacy & Cybersecurity Law Blog
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
云风的 BLOG
云风的 BLOG
P
Proofpoint News Feed
Scott Helme
Scott Helme
人人都是产品经理
人人都是产品经理
G
GRAHAM CLULEY
O
OpenAI News
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
PCI Perspectives
PCI Perspectives
GbyAI
GbyAI
宝玉的分享
宝玉的分享
Y
Y Combinator Blog
T
Troy Hunt's Blog
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
C
CXSECURITY Database RSS Feed - CXSecurity.com
腾讯CDC
C
Check Point Blog
Spread Privacy
Spread Privacy
L
LINUX DO - 最新话题
Recent Announcements
Recent Announcements
大猫的无限游戏
大猫的无限游戏
P
Palo Alto Networks Blog
Hacker News: Ask HN
Hacker News: Ask HN
M
MIT News - Artificial intelligence
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
The Hacker News
The Hacker News
H
Hacker News: Front Page
Microsoft Azure Blog
Microsoft Azure Blog
I
InfoQ
T
Tor Project blog
Martin Fowler
Martin Fowler
博客园 - 叶小钗
罗磊的独立博客
C
Cyber Attacks, Cyber Crime and Cyber Security
H
Heimdal Security Blog
V
Vulnerabilities – Threatpost
Simon Willison's Weblog
Simon Willison's Weblog
Latest news
Latest news
WordPress大学
WordPress大学
G
Google Developers Blog
N
Netflix TechBlog - Medium
S
Security Affairs
S
Secure Thoughts
Know Your Adversary
Know Your Adversary

夜行人

回家路上 第一期的直播演示项目 震动检测器 正能量 在线参观CodeLab Neverland 发布 CodeLab Adapter 3.3.1 DynamicTable 之 纸糊方向盘 CodeLab DynamicTable: 一个可实施的技术方案 CodeLab Insight 发布 Alpha 版 情人节 Home Assistant 周报 && IoT 周报 (02) Joplin: 关注隐私的 Evernote 开源替代软件 浏览器的未来与 Web 传感器 Home Assistant 周报 && IoT 周报 (01) 百宝箱(01) 论自由 介绍 WebThings Home Assistant 周报 && iot 周报 (00) 百宝箱(00) 毛姆读书心得 传世之作 周末徒步 CodeLab Adapter ❤️ Jupyter/Python 航班 躲雨 夏令营途中 [译]思想--作为一种技术 The future of coding 美国之行 三门问题的程序模拟 从Python转向Pharo https://blog.just4fun.site/post/iot/iot-open-source-projects/ Python异步编程笔记 https://blog.just4fun.site/post/iot/iot-open-source-hardware-community/ 万物积木化开发者社区 CodeLab ❤️ Blender Scratch3技术分析之云变量 API(第7篇) [译]对管道(Pipes)的偏爱 [译]提出正确的问题比得到正确答案更重要 蓝牙设备与Scratch3.0 创建你的第一个Scratch3.0 Extension Scratch3技术分析之项目内部数据(第6篇) Scratch3技术分析之社区 API(第5篇) Scratch3技术分析之User API(第4篇) Scratch3技术分析之项目主页API(第3篇) Scratch3技术分析之静态资源API(第2篇) Scratch3.0、micro:bit与Windows7 https://blog.just4fun.site/post/iot/zerynth-vs-micropython/ 核聚变、方所与半宅空间 可视化编程为何是个糟糕的主意 codelab.club周末聚会 关于codelab.club '下一件大事'是一个房间 Hungry Robot - Eat everything 编程作为一种思考方式 今日简史 史蒂夫·乔布斯传 罗素自选文集 https://blog.just4fun.site/post/edx/tianjin-scratch-ai/ https://blog.just4fun.site/post/edx/richie-cms-openedx/ 徒步武功山 WebUSB与micro:bit 积木化编程与3D场景 夜宿武功山顶 scratch3-adapter接入优必选Alpha系列机器人 https://blog.just4fun.site/post/edx/video-migration-note/ scratch3-adapter重构笔记 https://blog.just4fun.site/post/edx/edx-community-members/ 两种硬件编程风格的比较 使用micro:bit自制PPT翻页笔 柏拉图对话集 scratch3.0 + micro:bit 七月电影放映计划 非营利组织的管理 Screenly--用树莓派让任何屏幕变为可编程的数字标牌 以最佳实践开始你的Django项目 micro:bit与事件驱动 为Scratch3.0设计的插件系统(上篇) OCR应用一例 近两年读过的一些好书 blockly开发之使用python驱动浏览器中的turtle(2) 牛顿新传 文学理论入门 逻辑的引擎 人生的意义 blockly开发之生成并运行js代码(1) blockly开发之hello world(0) micro:bit使用笔记 神器之Termux https://blog.just4fun.site/post/iot/micropython-notes/ Cozmo what is this Scratch的前世今生 下段旅程 我行在远方 爆裂 途中杂记 https://blog.just4fun.site/post/edx/open-edx-startup/ cozmo系列之入门 - 有性格且可编程的机器人 PaperWeekly开发笔记 创业二三事
一种通用的可视化订阅服务
2016-08-10 · via 夜行人

文章目录

这篇也是脑洞系列,属于我觉得好玩、分析后认为技术上可行、但限于时间或精力没去做的事,分享出来,有兴趣的小伙伴可以去折腾

我有很多想法,只差一个程序员啦


先前的工作

jobsVisualization是一个可视化工具,用来帮你可视化地筛选工作

一图胜千言

jobsVisualization

关于为何想做这个项目,我在可视化筛选你中意的工作一文中有说明

大体原因是因为目前职位相关的特征数据很多,要选出最合适的职位(综合多种特征,相互对比)十分不易,人脑很难对数据有直观认知,而这正是可视化帮得上忙的

bokeh example app movies项目的启发,我做了这个东西

泛化能力

我最初在折腾bokeh example app movies的时候就觉得,卧槽这是个泛化能力极好的模型呀,可以应用的领域太广了,这个模型里,只要求我们关注的对象(比如电影)有多维标签数据(比如评论数、票房)即可!用户就可以根据这些数据来可视化筛选数据,从而得出自己喜欢的电影,用户也可以随时调整筛选指标(通过变化坐标轴关联的数据标签)

我的jobsVisualization就是一个典型的例子,你还用以用来做的其他事包括如何选股票,如何选桃子,如何选女朋友(如果有的选的话,邪恶一笑)之类的

只完成一半

在我的最初计划里,当前的工作其实只完成了一半,尽管它看去已经完整了(语出@ryseven)

我的另一半计划是,用户能够订阅自己关注的区间,好比订阅月薪在10K-20K之间,工作地点在上海的职位,每当采集到新的数据,便向订阅用户推送这些信息

那么用户怎么订阅呢,他只需要在图中圈一下

jons

这样便订阅了薪资在10k-20k,简历提交次数在30次以下的职位

这是一种信息筛选和推送的服务

算法问题

最后剩下的就是一个算法问题,假设有有A个用户订阅了该服务,他们关注的薪资区间各不相同(先假设只有薪资一个变量)。我们的爬虫每天早上爬取一组职位数据,我们要如何将合适的职位推送给合适的用户。怎样的机制较优(可以从时间复杂度和空间复杂度两方面考虑),简单的办法包括

  • 为每个用户执行一次筛选
  • 为每个职位找合适的用户

我们看到这两种做法都不好,许多信息被反复查看,并没有充分利用

另一个小问题

我们可以先绕开算法问题,处理消息推送中的优化策略

如果你折腾过消息系统(notification system),你会发现这个问题在构建消息系统是可能也会遇到类似的,一群人订阅了一个话题,当话题有更新时,如何通知这些人。消息到达用户的方式通常有pull和push两种。

针对push/pull模型采取的策略可能不尽相同,在pull模型中(用户拉取),我们可以根据用户的活跃情况决定为其生成消息的策略,诸如活跃用户优先,而非活跃用户可以访问时生成也无妨(celery)。

这样可以节省空间

优化问题还蛮好玩的,不过我最近掉到NLP(自然语言处理)的蜜罐里,暂时出不来,就不继续折腾这个项目了,有兴趣的小伙伴可以继续玩耍

结语

这个可视化订阅服务是泛化性很好的项目,小伙伴们可以自己去折腾出好玩的东西,如果这个服务能帮到大家找到喜欢的东西(电影或是工作),节省信息筛选的时间,那么说不定有许多人请你喝咖啡呢

文章作者 种瓜

上次更新 2016-08-10