R055.如何搞个论坛-Symphony
不等不靠,有囧有料。攻城狮,是一种精神,亦是一种品质。
Symphony([ˈsɪmfəni],交响乐)是java界最好的开源的社区平台。
它实现了面向内容讨论的论坛(知乎风格),融合了博客和SNS社交能力。
本期分享了一个零入侵的无缝隙的打通既有用户系统和Symphony的场景。
其思路是通过爬虫模拟Symphony的用户操作,把Cookie种到合适的位置。
零入侵~两个系统都不需要知道对方的存在,用户也不用改变现有习惯。
无缝隙~既有用户的登入,登出,改密码等在两个系统上同时生效。
@史荣久 / 2017-10-29 / CC-BY-SA-3.0
观看视频
内容摘要
- Symphony是java界目前最好的开源的社区平台。
- 运营一个技术论坛要三思,眼看着论坛和社区的生生死死。
- Jetty 9的embeded比
mvn jetty:run
更IDE。 - 在Jetty debug时,使用
main/resource
并且不缓存模板。 - 多域多路径时,浏览器会发送多个同名Cookie,服务器要处理。
- Jetty 9 线程模型,NIO基础和简单部署。
- Servlet 3.1 规范,能解决几乎所有面试题。
- Json是有规范的,Jsonpath能更快操作Json。
- gitbook.com,是个值得搜索的地方。
- 我们都从开源受益,但对开源的理解和支持远远不够。
参考资料
- 黑客派社区-symphony 实例
- 如果你想做个程序员相关的论坛,请三思
- symphony github
- jetty 官网
- 剖析Jetty实现原理
- java NIO selector
- servlet-3.1规范 中文
- json 官网
- jsonpath json操作思路
- 阮一峰的网络日志~Paul Graham:撼动硅谷的人
欢迎围观
if (you.accept(MoilionCircle.SPIRIT)) {
if(you.haveADL()){
MoilionCircle we = you.search(MoilionCircle.SLOGAN);
we.welcome(you);
}
if(you.share(this)){
We.thank(you);
We.mayFind7Moilion();
}
}
后记
Java界真没有拿得出手的开源论坛,和PHP界没法比。
于是搜到了Symphony,非常强大,填补了这个宇宙级空白
。
作为一个独立论坛,直接部署,拿来就用,是一点问题没有的。
但若让现有系统的用户完全无察觉,直接使用,需要hack代码。
失误:录制过程,手欠,新增cookie时把现存的刷没了。
顺便黑了云栖社区,MD乱爬博客,改发表日期,不注出处。
题图:《黑客与画家》讲了很多共鸣的话,尽管国情和时代差很大。谨以此纪念下苦命的攻城狮和射鸡狮。