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

2017-05-12 17:42:17 +08:00
 bianhua

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

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

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

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

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

其实用到的技术挺简单:

后端:

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

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

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

2988 次点击
所在节点    分享创造
24 条回复
neighbads
2017-05-12 18:00:34 +08:00
点了一下立即开始 这呼啦啦的 吓我一跳!
bianhua
2017-05-12 18:03:52 +08:00
@neighbads 哈哈,要得就是这样的视觉效果嘛(不然楼主肯定就不会引用 jQuery 那么大的库了
kslr
2017-05-12 18:23:56 +08:00
Google App Engine 用着 happy 吗?
EchoUtopia
2017-05-12 18:37:47 +08:00
登不上
bianhua
2017-05-12 18:38:33 +08:00
@kslr

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

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

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

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

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

谢谢夸奖。

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

Login with Github
EchoUtopia
2017-05-13 07:29:49 +08:00
@bianhua 就是 16 楼的那个问题
bianhua
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
2017-05-13 19:28:26 +08:00
copyright 不错
bianhua
2017-05-13 20:05:03 +08:00
@yiqiok 噗,说的是“保留所有权利”么?那个是一开始设计首页的时候敲的,我这就去改。

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

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

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

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

© 2021 V2EX