据说最近股市又开始热闹了 :),用 Java 多线程 + Vue 搞了一个 A 股大屏,看能不能找个好工作。 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
outmanone
V2EX    分享创造

据说最近股市又开始热闹了 :),用 Java 多线程 + Vue 搞了一个 A 股大屏,看能不能找个好工作。

  •  
  •   outmanone 2019-02-18 16:52:32 +08:00 9637 次点击
    这是一个创建于 2428 天前的主题,其中的信息可能已经有所发展或是发生改变。
    随着这几年 Web 大前端的发展,特别是单页 Web 应用( single page web application,SPA )的进步,加上各种前端框架( Vue,React )的推波助澜,如果现在有人告诉你,通达信的所有功能都可以全部移植到 Web 页面上,并实现跨平台运行,那么不要怀疑,这早已可以实现,只是横跨两种行业的隔阂拖延了这种事情的发生; 或许已经发生,你还并不知道而已,比如广发证券的跨平台 Web 终端,就是一种尝试。

    由于目前 Web 底层的协议已经越发成熟,HTTP2,Websocket,这些协议也被各种现代浏览器所支持,使得数据推送变得更加流畅,一个股票终端要求的实时性应运而解。一旦把一个股票终端的所有功能迁移到 Web 上面,就间接实现了股票终端的跨平台运行,这里的跨平台特指计算机操作系统( OS) 的跨平台,之后目标客户无须安装任何软件,就可以在 Windows,MACOS,Linux 任何可以运行浏览器的机器上登陆股票终端,甚至在智能电视上也没有问题。

    一旦满足了股票终端的实时性要求,那么股票终端的其他功能,其实更容易被 Web 技术实现,或者说用现有的 Web 技术来实现其他功能,反而更有优势,软件的开发与迭代速度更快,软件的自动升级优势会展现的淋漓尽致,你终于不用打电话提醒用户升级终端了:)

    虽然上面说了那么多 Web 技术,但终究只是 UI 层面的东西,一个股票终端的 UI 层被 Web 技术替换后,后端我们该采用什么技术来满足 UI 层的需求呢?这其实引出了另外一个比较重要的问题,那就是为什么非得要使用 Web 技术来开发 UI,除了跨平台,无忧升级之外还有其他优势吗?是的,还有,那就是后端技术和前端彻底分离了,前后端可以使用完全不同的架构,语言来开发,后端的服务可以微服务化,分布式部署,以满足强并发的需求。比如后端不再局限于 C++,可以用 Java, Python, Golang 开发各种微服务 API 供前端调用,然后使用 Service Mesh 来对多语言微服务进行管理;前后端的通讯仍然依赖 HTTP1/HTTP2 , Websocket 这些现有技术,最终实现前后端架构的解耦。

    程序员的世界里面有一句经典名言:Talk is cheap,Show me the code. 现在引入我们今天的主角:A 股大屏。为了将上面提到的技术应用于实践,我模仿股票终端的某些功能,开发出了终端 Web 化的第一个版本,目前已经可以做到:1,少量的统计; 2,定时刷新全市场所有股票价格。(你可以从这里访问 http://aiworkroom.com ,但建议是在电脑或者更大的屏幕上面查看) 后续功能会慢慢放出,敬请期待。由于是实验性质,所有股票行情的 API 均来自网上公开数据,后端采用 Java 开发,多线程定时获取行情数据,采用 Websocket 推送到浏览器;前端 UI 是使用 Vue 开发的 SPA。

    以上内容来源于我的微信文章: https://mp.weixin.qq.com/s/nvD810hYCZhiGZG0oRkitQ
    大屏访问地址: http://aiworkroom.com
    47 条回复    2019-03-02 16:20:18 +08:00
    wu67
        1
    wu67  
       2019-02-18 17:48:57 +08:00
    方便贴一下源码吗, 想学习一波
    AngryPanda
        2
    AngryPanda  
       2019-02-18 17:51:13 +08:00
    NB
    AngryPanda
        3
    AngryPanda  
       2019-02-18 17:55:48 +08:00   1
    「这其实引出了另外一个比较重要的问题,那就是为什么非得要使用 Web 技术来开发 UI,除了跨平台,无忧升级之外还有其他优势吗?是的,还有,那就是后端技术和前端彻底分离了,前后端可以使用完全不同的架构,语言来开发,后端的服务可以微服务化,分布式部署,以满足强并发的需求。比如后端不再局限于 C++,可以用 Java, Python, Golang 开发各种微服务 API 供前端调用」

    不用 Web 技术构建 UI,也能做到后面说的这些啊。难道我的理解不对?
    outmanone
        4
    outmanone  
    OP
       2019-02-18 18:03:11 +08:00
    @AngryPanda 目前跨平台的 UI,开发都不如 WEB 方便。
    outmanone
        5
    outmanone  
    OP
       2019-02-18 18:04:05 +08:00
    @wu67 还没有做完,做完了,就开源。还有敲击股票代码,显示详情没有做完。
    boss1024
        6
    boss1024  
       2019-02-18 18:17:42 +08:00
    赞一个 收藏了
    coreos
        7
    coreos  
       2019-02-18 18:44:37 +08:00
    看了下 就几个是绿的。
    神奇的国度啊
    ArcherD
        8
    ArcherD  
       2019-02-18 18:54:09 +08:00
    这个全部都展示出来了。内存和 cpu 占用有点大。应该可以只展示和更新屏幕上能看到的。
    vtwoextb
        9
    vtwoextb  
       2019-02-18 18:59:39 +08:00
    NB

    赞一个
    wanglufei
        10
    wanglufei  
       2019-02-18 19:08:52 +08:00 via iPhone
    韭菜生生不息
    shujun
        11
    shujun  
       2019-02-18 19:15:39 +08:00
    可以搞一个汇总 dashboard。看起来比较直观。
    今天全线上涨,神奇的国度啊

    不管你们服不服,反正我是服了
    shujun
        12
    shujun  
       2019-02-18 19:16:00 +08:00
    开源出来大家一起搞着玩
    RX03
        13
    RX03  
       2019-02-18 19:21:41 +08:00 via Android
    求开源+1
    zdb1115
        14
    zdb1115  
       2019-02-18 19:59:48 +08:00
    求开源+1
    cnmb10086
        15
    cnmb10086  
       2019-02-18 20:16:41 +08:00 via Android
    打板敢死队是时候出动了
    dabaibai
        16
    dabaibai  
       2019-02-18 20:33:00 +08:00
    不知道是按涨幅排序 还是按啥排序 看的脑壳疼
    dremy
        17
    dremy  
       2019-02-18 20:36:10 +08:00 via iPhone
    求 API
    mingyun
        18
    mingyun  
       2019-02-18 21:53:52 +08:00
    春天到了
    chaoxuanxiaok
        19
    chaoxuanxiaok  
       2019-02-18 23:26:28 +08:00
    满堂红,看着极为赏心悦目
    airfling
        20
    airfling  
       2019-02-19 08:35:45 +08:00
    可以加个排序,就好了
    FloatK
        21
    FloatK  
       2019-02-19 08:52:35 +08:00
    厉害了,楼主,赞一个
    pumpkimn
        22
    pumpkimn  
       2019-02-19 09:26:16 +08:00
    Nb 收藏了.
    lovezww2011
        23
    lovezww2011  
       2019-02-19 09:46:53 +08:00
    你的股票接口,用的哪家的?
    anjiannian
        24
    anjiannian  
       2019-02-19 10:12:57 +08:00
    求 API + 1
    outmanone
        25
    outmanone  
    OP
       2019-02-19 11:14:38 +08:00
    @lovezww2011 API 就是新浪的股票 API,免费的那个,当然就是不够稳定。http://hq.sinajs.cn/list=
    ddzzhen
        26
    ddzzhen  
       2019-02-19 12:29:15 +08:00 via Android
    不错
    SunFarrell
        27
    SunFarrell  
       2019-02-19 12:41:26 +08:00
    目前跨平台的 UI,开发都不如 WEB 方便?我 QT 不服
    outmanone
        28
    outmanone  
    OP
       2019-02-19 12:44:00 +08:00
    @SunFarrell 看好你!!
    ucanuup
        29
    ucanuup  
       2019-02-19 12:47:28 +08:00
    打开怎么就一张 gif 图片
    Paaranoia
        30
    Paaranoia  
       2019-02-19 13:05:33 +08:00
    插个眼
    a592974776
        31
    a592974776  
       2019-02-19 13:09:59 +08:00
    年后首次 2000+绿票,可喜可贺
    ZiLong
        32
    ZiLong  
       2019-02-19 15:57:56 +08:00
    firefox 无法看到数据,只看到$符号飘来飘去,chrome 无问题
    edsheeran
        33
    edsheeran  
       2019-02-19 16:06:46 +08:00 via iPhone
    中的事故,不是股市
    simon4761
        34
    simon4761  
       2019-02-19 17:29:18 +08:00
    666,求开源+1
    MrFat
        35
    MrFat  
       2019-02-19 17:38:50 +08:00
    想问一下你这个项目的股票数据是跟随大盘实时更新的吗?
    还是只是每天做一次汇总展示
    outmanone
        36
    outmanone  
    OP
       2019-02-19 17:45:39 +08:00
    @MrFat 交易时间,每隔 10 秒刷新一次,由于用的新浪免费接口,不能保证完全实时,因为每次获取数据时,估计会有错误发生。非交易时间,用最后一次获取到的数据。
    askfm
        37
    askfm  
       2019-02-19 18:00:15 +08:00
    不明觉厉
    hosea
        38
    hosea  
       2019-02-19 18:53:17 +08:00
    chrome..打开只看到一张$ gif..
    haihongblog
        39
    haihongblog  
       2019-02-19 18:58:41 +08:00
    这个显示的结果,个人感觉没多少做交易的人是这么看数据的
    fromdark
        40
    fromdark  
       2019-02-19 21:15:54 +08:00
    两只跌了一年的股开始疯涨,抓紧时间一波热度,抢在割韭菜前溜。
    lovezww2011
        41
    lovezww2011  
       2019-02-20 15:14:59 +08:00
    股票代码 id 从哪里获取的?
    bmos
        42
    bmos  
       2019-02-20 21:54:04 +08:00
    插眼
    zzcflying
        43
    zzcflying  
       2019-02-21 15:12:21 +08:00
    这个做的牛逼
    kn007
        44
    kn007  
       2019-02-21 17:36:59 +08:00
    期待作品
    lovezww2011
        45
    lovezww2011  
       2019-02-22 11:04:21 +08:00
    模仿楼主的页面,我也做了一个股票看板。用 python 做的,演示: https://stock.mypython.me/ 源码: https://github.com/geeeeeeeek/py_stock/
    outmanone
        46
    outmanone  
    OP
       2019-02-22 17:27:30 +08:00
    @lovezww2011 python 的话,用 tushare 的接口要好很多,可以做很多好玩的东西。http://tushare.org/
    kn007
        47
    kn007  
       2019-03-02 16:20:18 +08:00
    hmm,域名卖掉了!?还是?
    今天想上去看看,发现不大对。。

    兄弟开源了么
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2018 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 31ms UTC 16:11 PVG 00:11 LAX 09:11 JFK 12:11
    Do have faith in what you're doing.
    ubao 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