问题标签 [system-design]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
68 浏览

architecture - Good recources on a problem decomposition?

Could you please share some good books, blogs, sites on practical problem decomposition, thanks P.S. Please only practical ones not the scientific/theoretical resources.

0 投票
15 回答
9704 浏览

php - 如何进一步增加我对 PHP 的“高级”知识?(迅速地)

我多年来一直在使用 PHP,并且很好地掌握了该语言,创建了许多运行良好的高级和不那么高级的系统。

我遇到的问题是,我只有在发现需要以前没有学过的东西时才学习。这促使我查找解决问题的解决方案和其他代码,因此我将了解我以前从未见过的新功能或结构。正是通过这种方式,我学到了许多更好的技术(例如学习亚马逊、谷歌或其他大公司推出的课程)。

这样做的主要问题是如果您不知道它存在就无法学习的概念。例如,我花了几个月的编程时间来了解这个empty()函数,我只是检查字符串长度strlen()来检查空值。

我现在开始着手构建越来越大的系统,我已经开始阅读 highscalability.com 之类的博客,并一直在研究 MySQL 复制和用于扩展的服务器数据。我知道您的代码结构对于使整个系统正常工作非常重要。

在阅读了最近一篇关于 reddit 结构的博客之后,这让我怀疑是否有一些标准或“公认的系统”。

我研究过框架(我曾使用过 Kohana,我对此感到遗憾,但认为 PHP 框架不适合我),我更喜欢我自己的函数库而不是拥有一个框架。

我目前的结构是 WordPress、Kohana 和我自己的知识的混合体。

我认为可能有益的方式是:

  • 阅读博客
  • 阅读教程
  • 与他人合作
  • 读一本书

什么是“进入下一个级别”成为一个非常优秀的系统开发人员的最佳方式?

0 投票
2 回答
145 浏览

architecture - 您打算如何启动一个新的 Web 系统?

我最近一直在创建越来越多的系统,并且我发现在开始项目之前我所做的计划和准备工作越来越多。

我确定我将使用哪些库或框架、哪些语言、网站如何流动的基本架构等。

我还听说过其他设计过程,例如悬挂聚苯乙烯泡沫塑料球以显示课程的位置以及它们之间的关系,这是我从未听说过的过程,也不知道它是如何工作的。

是否有任何软件可以帮助完成此过程?在设计新项目时,是否有任何指导方针或步骤,或者您是否有一组推荐的步骤或指导方针?

0 投票
1 回答
2178 浏览

command-line-interface - CLI 设计和实现?

我正在开发一个供我个人使用的时间管理工具。我更喜欢使用键盘而不是鼠标,并且在界面上有一个通用文本框,其作用类似于命令行。我刚刚开始思考我需要什么命令,命令名称使用什么,如何传入开关和参数等等。

我想知道你们中的一些人是否读过这方面的好书;描述您在设计 cli 时的选择,以及这些选择如何影响解释器的复杂性和命令的可扩展性。如果描述是特定于语言的或笼统的,则没有区别。但是,我的实现将使用 javascript。

谢谢你。

0 投票
1 回答
87 浏览

frontend - 在这种情况下,最适合的语言/技术是什么?

我即将开发一个小型系统来在整个建筑物的公共空间中显示动态信息(类似于机场上的航班信息显示)。

该系统将有两个主要组件:

  • 用于管理显示信息的后台
  • 一个 实际显示信息的前端。

涵盖了后台组件:它是一个简单的 crud 应用程序,带有 Web 界面,可通过 Intranet 访问。

我必须决定前端使用哪种语言/技术。该组件的目的只是访问存储在后台的信息并将其显示在大液晶显示器上。没有预期的输入,只是显示信息,不时分页一次,因为所有信息都无法立即显示在屏幕中。

我想到了一个Flash 电影,它以某种方式通过本地 Intranet 访问后台数据以获取要显示的信息。

你能想出一个更好的前端选择吗?为什么?

我想到的其他技术是:

  • 银光
  • 柔性
  • JavaFX
0 投票
2 回答
735 浏览

c# - 创建一个简单的不可否认/欺诈证明系统

如果我想创建一个简单的欺诈证明和不可否认系统,我应该考虑哪些关键功能?对于这个问题,我主要关注数据库行的完整性。这不是安全许可问题。

以足球数据库为例,我将实现的一些关键功能是:

  1. 防止 DBA 使用传统 SQL 修改行数据。例如,如果数据库行已经存储了 2:1 作为结果,如果 DBA 将结果更改为 2:3,我们应该能够检测到修改。所有更改都应通过主应用程序完成。

  2. 防止将一行数据复制到另一行使用后端更改。我们应该能够检测到欺诈变化。

是否有任何其他问题或功能我应该考虑以使我的系统更防欺诈?我应该注意哪些最佳实践?任何指针将不胜感激。

提前谢谢了。

0 投票
1 回答
1714 浏览

sql-server - 使用 SQL SERVER 构建业务规则引擎

我需要构建一个业务规则引擎。我使用的是 SQL SERVER 2005。业务规则非常庞大,比如 2000 页。

例如。

等等等等

所以,我认为我们不能只在程序中的 if else 条件中编写所有这些规则。所以,也许我可以创建一个决策表并将该表上的所有条件作为记录。但我不知道该怎么做。

任何人都有任何想法,怎么做?

谢谢

0 投票
1 回答
68 浏览

database - 我应该如何在系统中分离的部分之间传递参数?

我有一个处理一组数据的大型系统。我的系统由几个分离的部分(如服务)组合而成——分离基于某种平台。在整个系统流程中,数据集被更改并更新到数据库。

我使用的平台允许使用 XML 在不同部分之间进行通信。因此,如果一个部分需要向另一部分发送一些参数,它可以这样做。

当某些部分需要系统正在处理的那组数据处于其最新状态时,就会出现一个问题。它可以通过两种方式从系统中的其他部分接收它:

  • 使用平台的 XML 传递整个数据集(不用担心,XML 是持久的)。
  • 只传递对数据库中数据 ID 的引用(还记得吗?),然后从中查询数据(假设每个部分都负责通过修改数据来更新数据库)。

哪种方式更好,为什么?
我想这里没有明确的答案,因为这取决于具体情况(手头的技术、系统结构等),但我仍然希望得到你的答案。

谢谢。

0 投票
3 回答
128 浏览

windows - 一个好的建模工具对系统设计有多重要

虽然一个快速的 wiki/google 让我大量使用 uml 免费软件,但其中大多数都没有达到我的期望(仅限于“绘图”级别而不是“建模”)。我知道 sparx 的 EA 和 IBM 理性玫瑰提供了完整的从设计到实现的工具包,但它们超出了我的预算:(

如果我用纸和铅笔素描会不会有很大不同?
假设我知道 UML 的完整规范,并打算将其用于

  • 文档
  • 团队成员之间的想法交流
  • 设计验证
0 投票
1 回答
1804 浏览

apache - 如何结合 RESTful 调用和 Apache wink?

我有一个关于 REST 和 Apache wink 的问题。我想使用 Apache Wink 来处理前端和后端之间的转换。但是,我对如何开始和学习它没有任何想法。谁能帮我?谢谢你。