不同技术解决同一问题的烦恼。

2018-06-19 02:31:01 +08:00
 sd

这个问题一直围绕着我。每次在做技术调研的时候,我都在想有没有一个网站能把解决一个问题(好比授权这个问题)的可能的技术手段给出一个 list

刚刚这个问题又冒出来了。

之前我在自己搭建 readthedoc 的时候接触到 webhooks。在做前端页面的时候接触过 websocket。

一个小时前,我看 DropBox 的 developer reference 的时候又看到了 webhooks。然后我点开看了一眼。上面写着

Webhooks are a way for web apps to get real-time notifications when users' files change in Dropbox.

这个 real-time notifications,让我想到了 websocket。于是我简单的 google 了一下 webhooks vs websocket。结果是什么并不重要。

有没有一个网站可以回答:“如果你想做一个 real-time notification,你必须知道些什么,之前我们用什么技术,现在用什么技术,这些技术正在被提出但还没有大范围被应用”。这样的问题。

3027 次点击
所在节点    程序员
10 条回复
johnnie502
2018-06-19 05:16:44 +08:00
没有这种网站,如果有的话,咨询公司都可以关门了
jadec0der
2018-06-19 05:41:45 +08:00
这个问题的答案不应该是 websocket, polling, long polling 吗,正常人都可以找公司里资深一点的同事问,你为什么找不到人问我就不知道了。

能像这么被清晰定义的问题不多。这个问题这么大,答案这么少是因为于浏览器极高的兼容性要求,前后端交互发展的很慢。随便找个后端的问题你都不知道这个答案该怎么写
watzds
2018-06-19 05:54:27 +08:00
Webhooks 是主动调用吧,普通浏览器用户哪有地址给它调用,还不得 websocket

你的问题,就是 google 这个网站可以解决的
watzds
2018-06-19 05:57:08 +08:00
还有就是找论文看吧,哈哈,把背景,发展,都介绍清楚了
Durandal01
2018-06-19 08:12:59 +08:00
只要能提出正确的问题, 大部分情况 Google 都可以帮你解决啦.

btw: webhooks 应该是服务端 -> 服务端的通知吧....和 ws 解决的不是同一类问题.
jyf
2018-06-19 09:45:43 +08:00
有 这个网站存在我的脑海里 也在 todo-plan 里 等我做出来再来通知你 :D
Chyroc
2018-06-19 10:23:10 +08:00
举几个例子说明

Webhooks:你往 github push 了一个 commit,如果你设置了 webhook,那么 github 会往你设置的地址( github 里面显示的是 Payload URL ) post 一段数据,这个过程是 **实时的** ,然后你可以基于这个数据做自己的事情(比如自动编译发布)

websocket:一般是浏览器和服务端有实时的数据传输需要,并且有时候需要服务器主动传输,像熊猫 tv 就是每个房间搞了一个 websocket,估计传的是弹幕

long polling:网页微信就是这个,用一个大概 30s 的 http 连接连到服务器上,如果没有新消息就一直 hang 住,有新消息的时候,服务器就断开(配合返回信息),然后客户端知道有新消息,用另一个接口获取新消息;然后循环上面的过程。
pigzilla
2018-06-19 14:32:09 +08:00
Stack Overflow,Quora,知乎了解一下。
sd
2018-06-19 14:37:58 +08:00
@watzds @Durandal01 我现在觉得答案可能还是 google+survey,survey 的时间是省不了。
现在的做法是。已授权举例。
1、之前接过微信网页了解到有 OAuth 2.0 这个东西。只是知道,会用,但是不知道微信是怎么实现。
2、然后从 OAuth 2.0 官方网站提供的资料中筛选。这部分主要看的 RFC 文档、社区里面的资料、github 上的代码这些。去了解怎么实现。
3、提供授权服务公司的 develop 文档。好比谷歌的 api 文档、okta 的文档。

在第二步的时候,会带到一些新的名词:Self-Encoded tokens、JWT、JWS、OpenID Connect、authorization vs authentication。如果有兴趣可以展开。
takato
2018-06-19 14:49:40 +08:00
其实就是把知识图进行展开吧。。。
但是单纯追求这张 List 似乎意义并不是很大,因为知识的意义就在于这些知识点的连接本身。

另外,最关键的问题是,如果有人需要这张 List,可以为这张 List 付出些什么。。没错,咨询公司就是干这个的。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/463956

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX