问题标签 [centralized]
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.
windows - 第三方应用程序的 Windows 集中配置?
我们正在寻找一种配置应用程序各种“端点”的标准方法。我们的应用程序是一个带有 Windows 桌面应用程序、Windows Server“服务”和数据库的分布式系统。我们目前使用 XML 文件配置每个部分。当我们与可以拥有数十台服务器运行我们的应用程序和数百个桌面客户端的大客户合作时,这有点失控了。
谁能推荐一种 Microsoft 技术或第三方,使我们能够集中所有配置信息并在一个地方为我们的所有应用程序管理它?任何更改都将被“推送”到感兴趣的端点。
例如,如果我们要更改其中一个数据库的登录名,我们将在数据库上进行该更改,然后将该更改反映在我们的集中式系统中。在最后一步之后,任何需要连接到数据库的服务都会收到更改通知(并可能接收新数据)。每个端点如何以及如何处理该信息超出了系统的范围。
我们的主要业务不是“集中配置服务”。我们是一家 GIS 公司,为全球各种公用事业提供解决方案。
php - PHP:集中式页面会话验证器
我目前想知道如何实现集中式页面身份验证器。谁能为我推荐一个简洁的算法?我打算实现的是使我的后端管理员页面会话受到保护,而无需为我想要保护的每个页面编写一段会话检查代码。我目前做这样的事情:
登录页面->如果正确的凭据:设置会话->如果查看没有会话的受保护页面:拒绝否则:允许
关于/比这有什么最佳实践(或更好的方法)?
sql-server - SQL-Server DB 设计时场景(分布式或集中式)
我们有一个 SQL Server 数据库设计时场景……我们必须在我们的数据库中存储有关不同组织的数据(例如,客户、供应商、分销商……)。所有 diff 组织共享相同类型的信息(几乎).. 例如地址详细信息等...并且它们将在其他表中引用(即通过 OrgId 链接,我们必须在许多 diff 位置查找 OrgName)
我看到两个选项:
我们为每个组织创建一个表,例如 OrgCustomer、OrgDistributor、OrgVendor 等……所有表都将具有相似的结构,并且某些表将具有额外的特殊字段,例如客户具有字段 HomeAddress(其他 Org 表没有) ) .. 反之亦然。
我们创建一个通用 OrgMaster 表并将所有 diff Orgs 存储在一个地方。该表将有一个 OrgType 字段来区分 Orgs 的不同类型。并且特殊字段将附加到 OrgMaster 表中(只有相关的 Org 记录才会在这些字段中具有值,在其他情况下它将为 NULL)
#1的一些优点和缺点:
优点:
- 它有助于在访问不同类型的 Org 数据时分配负载,因此我相信这可以提高性能。
- 在不影响其他现有 Org 类型的情况下,提供自定义任何特定 Org 表的完整范围。
- 不确定差异/分布式表上的差异索引是否比单个大表更好。
缺点:
- 复制设计。如果我必须增加 ZipCode 字段的大小 - 我必须在所有表格中这样做。
- 操作实现中的复制(即,我们已将存储过程用于 CRUD 操作,因此复制进行 n 倍 .. 3-4 Inert SP、2-3 SELECT SP 等...)
- 从 DB 约束\索引到 SP 到应用程序代码中的业务对象,一切都增长了 n 倍。
- 一个地方的改变(共同)也必须在所有其他地方进行。
#2的一些优点和缺点:
优点:
- N倍变成1倍:-)
- 维护变得容易,因为我们可以尝试为所有操作实现单个入口点(即单个 SP 来处理 CRUD 操作等)
- 我们不得不担心维护一个表。索引和其他优化仅限于单个表。
缺点:
- 它会造成瓶颈吗?是否可以通过实施视图和其他优化的数据访问策略来管理?
- 集中实施的另一面是必须在所有地方测试和验证单个更改。它不是抽象的。
- 该设计可能看起来不那么“有条理\结构化”,尤其是。由于我们需要为其添加“特殊”字段的少数组织(与其他表无关)
我还想到了一个选项#3 - 将 Org 表分开,但创建一个通用 OrgAddress 表来存储通用字段。但这让我处于#1 和#2 的中间,它造成了更多的混乱!
老实说,我是一位经验丰富的程序员,但不是同样经验丰富的 DBA,因为这不是我的主要工作,所以请帮助我在设计复杂性和性能等参数之间做出正确的权衡。
提前致谢。欢迎提出任何技术问题和建议。
赫曼
logging - 集中记录的最佳实践是什么?
我的团队继承了对 100 多个应用程序的支持。这些应用程序没有任何类型的通用架构,因此进行日志记录的应用程序通常使用自定义代码到本地文件或本地数据库来完成,而且都是非托管的。我们想改变这一点。
我们正在慢慢将应用程序迁移到使用 log4net 并标准化记录的事物类型。下一个问题变成:我们应该将日志发送到哪里?
我在想最好使用一个专用于接收所有日志的中央 SQL Server,这将提供易于维护(一个用于备份/存档的地方)并为未来的一些数据挖掘和趋势分析提供可能性。
这是这类事情的最佳实践,还是我们应该考虑一些专用的应用程序日志服务器?
更新:我应该比随便提到 log4net 和 SQL Server 更清楚:我们是微软公司,大多数东西都是用 .NET 编写的。UNIX 解决方案对我们没有好处。
git - 具有集中式工作流程的 Git 版本编号
我们将 Git 与中央服务器一起使用,我们的代码需要在文件中包含版本号。目前这样做的方式是这样的:
- 一个新的开发者做了一个“git clone”
- 在他的本地副本中,他编辑 .git/hooks/pre-commit 以调用 version.sh
version.sh(包含在项目根目录中)从“git describe”获取版本号并将其存储在文件中。
虽然这可行,但我想确保即使开发人员忘记编辑他的预提交钩子,版本号也会更新。
由于服务器没有工作副本,简单地调用 (pre|post)-receive 那里的钩子是行不通的,所以我想知道是否有办法做到这一点。
svn - 卖给我分布式修订控制
我知道 1000 多个类似的话题。我在 SO 中至少阅读了 5 个线程但是为什么我仍然不相信 DVCS?
我只有以下问题(请注意,我自私地只担心 Java 项目)
- 在本地提交有什么好处或价值?什么?真的吗?所有现代 IDE 都允许您跟踪您的更改?如果需要,您可以恢复特定更改。此外,它们还具有在 IDE 级别标记您的更改/版本的功能!?
- 如果我的硬盘崩溃了怎么办?我的本地存储库去了哪里?(那么与签入中央仓库相比,它有多酷?)
- 离线或在飞机上工作。有什么大不了的?为了让我用我的更改构建一个版本,我最终必须连接到中央存储库。到那时,我如何在本地跟踪我的更改并不重要。
- Ok Linus Torvalds 将他的生命献给了 Git,并且憎恨其他一切。这足以盲目地歌颂吗?与我的中型项目中的离岸开发商相比,Linus 生活在不同的世界?
投我!
database - 标记对数据库的更改
我正在开发要在中央服务器和分布式计算机上运行的应用程序。
我应该编写应用程序来备份来自分布式机器的数据并将其合并到中央服务器中。我想压缩整个本地数据库并将其发送到服务器进行合并。但是随着数据库大小的增长,压缩文件的大小也开始增长。那么有没有办法在不发送整个数据库的情况下合并中央服务器中的数据。我需要每天都这样做。
每日备份并发送到服务器
c# - 集中处理应用程序的消息框
我想知道其他人如何处理试图集中 MessageBox 函数调用。在过去(非 .net 语言),我不会在代码中到处嵌入长文本,而是将系统和应用程序基础“消息框”类型的消息放入数据库文件中,该文件将被“刻录”到可执行文件中,很像.Net 中的资源文件。当出现提示条件时,我会调用类似
MBAnswer = MyApplication.CallMsgBox(IDUserCantDoThat)
然后在返回时检查 MBAnswer,例如是/否/取消或其他。
在数据库表中,我将拥有诸如消息框标题、将显示的按钮、实际消息、自动附加在后续标准注释(如“如果发生这种情况,请联系帮助台”)上的特殊标志。 . 该函数将使用所有适用的设置调用消息框并返回答案。这样做的最大好处是,在一个位置拥有消息的所有“上下文”,并且通过常量,更容易阅读将要呈现给用户的消息。
是否有人在.Net 中有类似的系统来执行类似的方法,或者这只是.Net 环境中的一个坏主意。
authorization - 对多个应用程序执行集中授权
这是我一直在努力解决的一个问题。我们有一种情况,我们创建了许多应用程序。这些在一段时间内有机地增长。
所有这些应用程序都内置了权限代码,根据当前登录的用户是否具有必要的权限来控制对应用程序各个部分的访问。
除了这些应用程序之外,还有一个实用程序应用程序,它允许管理员将用户映射到所有应用程序的权限 - 它的工作方式是每个应用程序都具有读取所述实用程序应用程序的外部数据库的代码,以检查当前登录的用户是否具有必要的许可与否。
现在,问题是这样的。用户权限映射信息是否应该驻留在应用程序本身中并归其所有,或者是否可以将此信息驻留在外部实体/数据库中(如本例中的实用程序应用程序的数据库)。
我的一部分认为应用程序权限非常特定于应用程序上下文本身,因此不应与应用程序本身分开。但我不确定。
任何意见?
c# - 如何在 Asp.Net 页面上的一个地方处理我的所有错误/消息?
我在这里寻找一些指导。
在我的网站上,我将内容放在 Web 用户控件中。例如,我将有一个 NewsItem 控件、一个 Article 控件、一个 ContactForm 控件。
这些将出现在我网站的各个地方。
我正在寻找的是一种让这些控件将消息传递到它们所在的页面的方法。
我不想将它们紧密耦合,所以我认为我将不得不通过事件/代表来做到这一点。不过,我有点不清楚我将如何实现这一点。
几个例子:
1
已提交联系表格。提交后,我不想用“您的邮件已发送”来限制该消息的放置,而是用状态消息和可能的建议行为通知页面控件已打开。因此,一条消息将包括要呈现的文本以及enum
类似DisplayAs.Popup
或DisplayAs.Success
2
文章控件在数据库中查询文章对象。数据库返回异常。自定义异常与DisplayAs.Error
枚举一起传递给页面。该页面处理此错误并在错误出现的任何地方显示它。
我正在尝试完成类似于 ValidationSummary 控件的操作,但我希望页面能够在枚举感觉合适时显示消息。
同样,我不想紧密绑定或依赖页面上存在的控件。我希望控件引发这些事件,但如果需要,页面可以忽略它们。
我会以正确的方式解决这个问题吗?
我想要一个code
样本来帮助我入门。
我知道这是一个更复杂的问题,所以我会在投票/选择答案之前等待更长时间。