首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >高级Web开发教程

高级Web开发教程
EN

Stack Overflow用户
提问于 2009-06-22 23:09:29
回答 2查看 935关注 0票数 2

虽然我可以找到关于PHP + MySQL开发的几乎任何具体问题的答案,但我没有找到的一个资源是针对高级问题的好的解决方案。

我想要实现一个小型的留言板类型的系统,可以通过AJAX查询,但是它有太多的规范,不能由预构建的库来填充,而且我不需要关于如何实现和使用数据库的教程。

我要找的是一个资源,它可以为高级用户提供更好的解决方案,解决更复杂的问题,而不是“存储消息并打印最后10条消息”-style教程。

例如:我的网站将有每一个用户数的组页面,而私有组页面将有一个小的“墙”-like留言板。在设计这个特定的桌子时,我应该考虑什么?如何实现锁定?等。

当然,我不希望有一个教程来解决我的问题,但是我想要一个数据库驱动的网站的完整解决方案,这个解决方案可以被理解(不像WordPress --有点分散),而且实际上是有效的(不像你有时在参考书后面找到的完整解决方案)。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2009-06-22 23:19:51

我是一个.net的家伙,所以我将保持通用是我的解决方案。我不认为你需要的解决方案是语言特定的任何方式。您需要研究的是用于执行某些事情的设计模式和企业方法。成功的关键不在于(完全)通过数据库实现,而在于如何使用数据。要进行扩展,您需要能够快速写入(写入队列而不是数据库)和快速读取(在可能的情况下从缓存层读取而不是db)和快速搜索(从Lucene索引搜索而不是db)。许多人被挂在数据库上,他们这样做通常是正确的。它是应用程序数据存储和查询的中心部分。但它通常也是任何系统中最大的单一瓶颈之一。当然,将所有数据存储到db中,只是不要直接这样做。当然,只有在绝对必要时才从db...but读取和查询数据(使用索引来定位数据,然后从数据库读取数据)。

当您的应用程序与外部服务对话时,情况也是如此。以发送电子邮件为例。而不是通过连接到SMTP服务器并打包并发送email...stick来发送电子邮件,而是将消息打包并发送到队列中,并创建一个队列读取器来连接并通过SMTP发送电子邮件。这样,您的web应用程序继续顺利运行。

成功的关键是以性能为导向的研究和良好的建筑设计。查找领域驱动设计、控制反转、测试驱动开发、存储库模式、模型视图控制器、memcached、速度、队列、MSMQ、数据库邮件队列等。

票数 3
EN

Stack Overflow用户

发布于 2009-06-22 23:14:34

您会发现,您提到的所有东西(想必是“高级问题”)都是以深思熟虑的方式构建在一起的一系列相当简单的方法和技术。

锁定一个表以防止多个用户同时编辑是一个相当简单的问题。锁定问题已得到解决在这里无数次了。

至于将成员分配给组,这只是几个表之间的一对多关系。您将拥有“用户表”、“组表”和“用户到组”表。这是假设一个用户可以属于多个组。

通过在查询中进行几个小的连接,您可以从不同的用户那里获得特定组的帖子,从而填充特定组的版面。此外,您可以通过调整用户在该组中的存在来将该板私有化,以便读取该面板--这只是对“用户到组”表的快速查询,以查看该UserID是否与该GroupID一起存在。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1029843

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档