不同技术解决同一问题的烦恼。 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要在回答技术问题时复制粘贴 AI 生成的内容
sd
V2EX    程序员

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

  •  
  •   sd 2018-06-19 02:31:01 +08:00 3705 次点击
    这是一个创建于 2728 天前的主题,其中的信息可能已经有所发展或是发生改变。

    这个问题一直围绕着我。每次在做技术调研的时候,我都在想有没有一个网站能把解决一个问题(好比授权这个问题)的可能的技术手段给出一个 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,你必须知道些什么,之前我们用什么技术,现在用什么技术,这些技术正在被提出但还没有大范围被应用”。这样的问题。

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

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

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

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

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

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

    long polling:网页微信就是这个,用一个大概 30s 的 http 连接连到服务器上,如果没有新消息就一直 hang 住,有新消息的时候,服务器就断开(配合返回信息),然后客户端知道有新消息,用另一个接口获取新消息;然后循环上面的过程。
    pigzilla
        8
    pigzilla  
       2018-06-19 14:32:09 +08:00
    Stack Overflow,Quora,知乎了解一下。
    sd
        9
    sd  
    OP
       2018-06-19 14:37:58 +08:00   1
    @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
        10
    takato  
       2018-06-19 14:49:40 +08:00
    其实就是把知识图进行展开吧。。。
    但是单纯追求这张 List 似乎意义并不是很大,因为知识的意义就在于这些知识点的连接本身。

    另外,最关键的问题是,如果有人需要这张 List,可以为这张 List 付出些什么。。没错,咨询公司就是干这个的。
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     888 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 23ms UTC 20:00 PVG 04:00 LAX 12:00 JFK 15:00
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86