V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
bianhua
V2EX  ›  分享创造

doge “你要么?” 小助手:送礼物给 TA 之前先做个“匿名”调查吧

  •  
  •   bianhua ·
    nickrio · 2017-05-12 17:42:17 +08:00 · 2988 次点击
    这是一个创建于 2736 天前的主题,其中的信息可能已经有所发展或是发生改变。

    故事的起源: 有一天刷 V2 的时候发现 @beyoung 同学注册了一个“你要嘛”拼音域名。于是随手搜了下“你要么”,发现竟然没注册,于是秒注了下来(眼斜

    之后那个域名就在那放了很久,直到有一天楼主的银行给楼主发来一条信用卡账单。

    楼主一看账单,心里一揪:这钱不能浪费啊。另外楼主作为后端其实也很想直到前端们现在都在玩啥,于是心想不如做个网站玩好了。

    可是楼主是个 No life 的人,不知道域名怎么做最好玩,于是就写个<del>垃圾邮件发送服务</del>问卷调查服务好了,这样如果有人想和自己的 TA 互相打趣的话,可以拿去玩。

    地址 ->>>>>> https://www.niyaome.com <<<<<<-

    其实用到的技术挺简单:

    • 前端库是 Vue (首页上用了 jQuery,只是为了叫 slideUp (捂脸
    • 还有 scriptjs (这个似乎完全没有作用嘛,就是添加一个 script DOM )以及 xhr 这两个库
    • 然后拿 Webpack 打了下包
    • 没了……(楼主也就会这点前端,惭愧

    后端:

    虽然楼主是写着玩的,但是楼主可是很认真的在玩。这个系统的功能都是正常的,求别用来发垃圾邮件。

    另外:Google App Engine 每天限发 10 份邮件,所以每天我只能发 10 份问卷邮件,多出来的程序会保存下来留到第二天发送,依次类推。如果这服务真的很多人用的话,我会想办法迁移到其他云发送平台上。

    好了,祝你们玩的开心(估计要被玩坏了

    24 条回复    2017-05-17 11:24:02 +08:00
    neighbads
        1
    neighbads  
       2017-05-12 18:00:34 +08:00
    点了一下立即开始 这呼啦啦的 吓我一跳!
    bianhua
        2
    bianhua  
    OP
       2017-05-12 18:03:52 +08:00
    @neighbads 哈哈,要得就是这样的视觉效果嘛(不然楼主肯定就不会引用 jQuery 那么大的库了
    kslr
        3
    kslr  
       2017-05-12 18:23:56 +08:00
    Google App Engine 用着 happy 吗?
    EchoUtopia
        4
    EchoUtopia  
       2017-05-12 18:37:47 +08:00 via iPhone
    登不上
    bianhua
        5
    bianhua  
    OP
       2017-05-12 18:38:33 +08:00   ❤️ 1
    @kslr

    Happy 啊,个人感觉写个 Web 或者 API 什么的完全够了。

    但是如果想要长期依赖 GAE 的话,得考虑:
    1、数据风险,因为如果数据太多的话(超过 5W 条)想要导出会比较麻烦;
    2、Datastore 是一种 Google 服务,如果程序依赖 Datastore 来完成操作的话,未来迁移会比较困难。( Datastore 确实挺好用,比如事务支持,冗余之类的);
    3、不支持 Websocket 之类有趣的新东西;
    4、不能 Socket,很多东西都会被 Google 限制;
    5、就 Golang 来说,目前程序只能运行在一个 Thread 下。

    目前我就能想起这么多。
    kmahyyg
        6
    kmahyyg  
       2017-05-12 18:39:30 +08:00 via Android
    如何自己 deploy 到 vps?不会用 go......
    bianhua
        7
    bianhua  
    OP
       2017-05-12 18:44:21 +08:00
    @EchoUtopia 有啥提示不?
    @kmahyyg 没办法……为啥要部署在自己的 VPS 上?
    zjp
        8
    zjp  
       2017-05-12 19:13:01 +08:00 via Android
    很有创意哎,我想拿自己的联系方式玩一下🤣
    beyoung
        9
    beyoung  
       2017-05-12 19:16:35 +08:00   ❤️ 1
    @bianhua 用 smooth-scroll 呀
    bianhua
        10
    bianhua  
    OP
       2017-05-12 19:17:42 +08:00
    @zjp 随便玩,按照现在的设计应该是怎么玩都没事的(只要不 Spam 就行) :D
    bianhua
        11
    bianhua  
    OP
       2017-05-12 19:19:11 +08:00
    @beyoung 那就没有爆发力了 LOL
    beyoung
        12
    beyoung  
       2017-05-12 19:21:37 +08:00
    @bianhua 要优雅 要啥爆发力
    bianhua
        13
    bianhua  
    OP
       2017-05-12 19:52:30 +08:00
    @EchoUtopia
    不确定你想说的问题具体是哪一个,但是我确实发现了一段代码会导致未预期的登录失败:程序在处理 OAuth State 的时候没有正确的 Unescape 数据,现在这个问题已经改好了。

    @beyoung
    本来想做成 Marvel 那种滚动方式的,可惜首页篇幅太小,达不到效果。

    其实那个界面主要的作用是提供一个过度,让用户在首页(介绍页面)上能直接载入程序,而不需要进行跳转(真正的 SPA LOL )。
    ichubei
        14
    ichubei  
       2017-05-12 20:22:37 +08:00
    UI 做的不错,登陆只有 github 和 google,你是 想筛选掉程序员之外的人吗?
    bianhua
        15
    bianhua  
    OP
       2017-05-12 20:31:47 +08:00
    @ichubei

    谢谢夸奖。

    用那两个 OAuth 筛人的想法是有的,但最主要的原因是因为集成简单。我曾经想过申请 QQ 和微信的登录 API,后来发现它们的注册太麻烦了,需要提交各种身份证明之类。而 Google 和 GitHub 上添加两个应用程序加起来只需要 5 分钟不到。
    kmahyyg
        16
    kmahyyg  
       2017-05-13 00:13:14 +08:00 via Android
    400 : Failed to verify state

    Login with Github
    EchoUtopia
        17
    EchoUtopia  
       2017-05-13 07:29:49 +08:00 via iPhone
    @bianhua 就是 16 楼的那个问题
    bianhua
        18
    bianhua  
    OP
       2017-05-13 14:26:44 +08:00
    @kmahyyg
    @EchoUtopia

    实在抱歉,今天早上就看到了这个帖子,然而在修复的过程中停电(还听停了两次,第二次是正在准备部署的时候(笑哭

    这个问题由于你们在访问的时候使用了 niyaome.com 裸域,而 OAuth 在验证之前会先在客户端安置一个 Cookie,用来签那个 State 值,然而这个 Cookie 被设定在了 www.niyaome.com 这个域名下。

    所以当 GitHub 那边 OAuth 登录完成之后跳回来,程序会读不到(或者读到错的) Cookie,导致 State 效验失败。

    现在我让程序将 Cookie 都设定在.niyaome.com 这个域下,这个问题算是解决了。
    yiqiok
        19
    yiqiok  
       2017-05-13 19:28:26 +08:00
    copyright 不错
    bianhua
        20
    bianhua  
    OP
       2017-05-13 20:05:03 +08:00
    @yiqiok 噗,说的是“保留所有权利”么?那个是一开始设计首页的时候敲的,我这就去改。
    starz
        21
    starz  
       2017-05-16 14:10:19 +08:00
    粉粉的页面挺可爱~
    starz
        22
    starz  
       2017-05-16 14:19:39 +08:00
    不过称呼干嘛非要三个字以上~
    称呼别人:西西,越越,萌萌什么的两个字或者一个字也很多呀~
    bianhua
        23
    bianhua  
    OP
       2017-05-16 16:06:48 +08:00   ❤️ 1
    @starz 感谢夸奖。

    3 个字因为我测试的时候发现,大部分人习惯的昵称是两个字,敲 3 个字的时候会停下来思考一下,所以决定用 3 个字。意图是这样可以让用户填写那个表格的时候看好提示再写,提高填写的质量(当然,可能并没有什么卵用)。

    如果实在想不起来的话,可以加“小”,“大”之类的,比如“小西西”,感觉更可爱一点 :D
    yao978318542
        24
    yao978318542  
       2017-05-17 11:24:02 +08:00
    我有一个大胆的想法!我说的是真的!
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3323 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 00:40 · PVG 08:40 · LAX 16:40 · JFK 19:40
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.