问题标签 [modular]

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 回答
1003 浏览

svn - SVN - How to keep core source code confidential and give freelancers access to modules only

I'm developing a modular propietary PHP application. As a project leader and owner, I want to keep the core engine confidential. The freelancers will work on modules (say 1 freelancer for 1 module where they can't see other's module).

I created repos for core (1 repo) and modules (1 repo for 1 module). AFAIK the repo should be placed outside htdocs. Now I think about this scenario: Using SVN, I'll give access to repo A for freelancer A, repo B for freelancer B, etc. When A checkout, he'll only have module A on his computer to edit. To test his module, he'll commit. But as it goes to svn dir instead of htdocs, he won't be able to test it instantly. He'll then need to export the commited code to htdocs. Well, I want to skip this export step.

(1) Is there a way he can commit his code to htdocs directly to test it to make it more practical?

(2) Is there any better scenario to achieve this (i.e. freelancer only allowed to read/write the module he worked on, and have no access - even read - to other module and core system)?

0 投票
4 回答
489 浏览

java - java模块化划分健全性检查

如果我的模块化划分是正确的;1 / 5 mod 11 = 9. 有人可以证实这一点吗?

但是,在 Java 中;1 / 5 % 11 = 0;

我不确定这里发生了什么,这是我的语法,我是否需要以某种方式将其括起来?

我现在很困惑:)

有人可以建议吗?

谢谢

0 投票
2 回答
2186 浏览

algorithm - 2^n mod (m) 算法

在课堂上,我们看到了一个 2^n mod(m) 的算法。

我们被告知运行时间是 O(n*size(m)),其中 m 的大小是 m 中的位数。

我理解 n 部分,但我无法解释 size(m) 除非是因为涉及减法。任何人都可以对此有所了解吗?

提前致谢。

0 投票
2 回答
2133 浏览

codeigniter - 带有模块化扩展 (HMVC) 的 CodeIgniter 2.0 在 Linux 中未显示任何内容

*编辑得更清楚

我在两种环境中部署带有模块化扩展 (HMVC) 的 CI 2.0.3,一种是用于开发的 Windows,另一种是用于生产的 Linux。两种环境都具有相同的文件夹和文件结构。目前我遇到了问题。

按照手册将模块化扩展集成到 CI 之后。我做的第一件事是将 CI 附带的默认 Welcome MVC 移动到 Modular Extensions HMVC。两个环境都成功移动,可以在浏览器上查看。

但是当我创建其他模块时,它适用于 Windows 环境,但不适用于 Linux。在 Windows 上,当我调用模块时,浏览器会按预期显示页面。但在 Linux 上,它只显示白色的空白页。甚至没有 404 错误页面,这意味着它不是一个损坏的链接。

谁能告诉我 CI 出了什么问题?

目录结构

欢迎控制器

csv_game_credit 控制器

这与Linux的文件夹权限有关吗?我将尝试将文件夹权限更改为 777 并更新你们

之前谢谢

0 投票
3 回答
8005 浏览

java - 模块化应用程序堆栈中的虚拟数据和单元测试策略

您如何管理用于测试的虚拟数据?将它们与各自的实体一起保存?在单独的测试项目中?使用来自外部资源的序列化程序加载它们?或者只是在需要的地方重新创建它们?

我们有一个应用程序堆栈,其中有几个模块依赖于另一个模块,每个模块都包含实体。每个模块都有自己的测试,并且需要虚拟数据才能运行。

现在,一个具有很多依赖关系的模块将需要来自其他模块的大量虚拟数据。然而,那些不发布他们的虚拟对象,因为它们是测试资源的一部分,所以所有模块都必须一次又一次地设置他们需要的所有虚拟对象。

另外:我们实体中的大多数字段都不能为空,因此即使针对对象层运行事务也需要它们包含一些值,大多数情况下还有进一步的限制,例如唯一性、长度等。

是否有解决此问题的最佳实践方法,或者所有解决方案都会妥协?


更多详情

我们的堆栈看起来像这样:

一个模块:

我们使用 Maven 来处理依赖关系。

模块示例:

  • 模块 A有一些虚拟对象
  • 模块 B需要自己的对象并且与模块 A 相同

选项 a)

测试模块T可以保存所有虚拟对象并在测试范围内将它们提供给所有模块中的所有测试(因此加载的依赖项不会受到影响)。那会奏效吗?含义:如果我在A中加载T并在A上运行 install ,它将不包含T引入的引用,尤其是B?然后A会知道B的数据模型。

选项 b)

模块 A 在某处提供虚拟对象以src/main/java../entities/dummy允许B获取它们,而A不知道B的虚拟数据

选项 c)

每个模块都包含外部资源,它们是序列化的虚拟对象。它们可以被需要它们的测试环境反序列化,因为它依赖于它们所属的模块。这将要求每个模块创建和序列化其虚拟对象,但如何做到这一点?如果使用另一个单元测试,它会在单元测试之间引入不应该发生的依赖关系,或者使用脚本将难以调试且不灵活。

选项 d)

使用模拟框架并根据需要为每个测试手动分配必填字段。这里的问题是我们实体中的大多数字段都不能为空,因此需要调用 setter 或构造函数,这将使我们再次开始。

我们不想要的

我们不想用静态数据建立一个静态数据库,因为所需对象的结构会不断变化。现在很多,稍后。因此,我们希望 hibernate 设置所有表和列,并在单元测试时用数据填充它们。此外,静态数据库会引入许多潜在的错误和测试相互依赖性。


我的想法是否朝着正确的方向发展?处理需要大量数据的测试的最佳实践是什么?我们将有几个相互依赖的模块,这些模块需要填充来自其他几个模块的某种数据的对象。


编辑

关于我们现在如何响应第二个答案的更多信息:

因此,为简单起见,我们有三个模块:PersonProductOrderPerson将使用MockPerson对象测试一些管理器方法:

(在人/src/test/java :)

该类MockPerson将不会被打包。

这同样适用于产品测试:

(在产品/src/test/java :)

MockProduct需要,但不会打包。

现在 Order Tests 将需要MockPersonand MockProduct,所以现在我们现在需要同时创建和MockOrderto test Order

(按顺序/src/test/java :)

这些是重复的,每次都需要更改PersonProduct更改

这是唯一应该在这里的课程:

问题是,现在我们必须更新person.MockPerson并且order.MockPerson无论何时Person更改。

使用 jar 发布 Mocks 以便任何其他具有依赖关系的测试都可以调用 Mock.mock 并获得一个很好的设置对象不是更好吗?或者这是黑暗的一面——简单的方法?

0 投票
2 回答
625 浏览

php - 非面向对象代码的模块化设计模式?

我正在寻找有关模块化设计形式的文章或其他文章。不幸的是,在我丢失它之前我没有完全阅读这篇文章,所以这可能有点模糊,但我会尽量具体并解释我正在尝试做的事情,以便有人可以推荐其他文章.

有问题的文章(博客文章)是由一位程序员撰写的,根据他的经验,设计软件的最佳方式是采用一种模块化或基于组件的方法,以便可以为相同或相似软件的不同版本选择不同的组件。

我从中记得的主要内容是一个图表,在一个轴上显示不同的程序,在另一个轴上显示不同的组件,并显示如何为特定程序选择特定组件。

我正在寻找这个的原因是我正在处理一些非面向对象的 PHP 代码,这些代码太大而无法修改为面向对象。该程序为每个站点显示具有不同但相似规则的不同品牌 Web 应用程序。目前大部分代码如下所示:

条件可能会在代码中的多个位置重复以包含不同的文件。

我想修改其中一些看起来更像:

并根据品牌和用户选择将组件变量设置在中心位置(站点使用前端加载或 FrontController 设计模式)。

任何有关如何完成此操作的建议或提示将不胜感激,但我不完全确定如何研究非 OOP 代码。

谢谢你。

编辑:我接受过面向对象编程的教育,但这不是我的问题。

0 投票
3 回答
776 浏览

c++ - 多个头文件和类之间有什么关系?

我在这里有一个菜鸟问题。我对 C++ 结构和语法有所了解,但遇到了一些困难。我知道我的概念中遗漏了一些东西。因此,首先编写一些代码来帮助描述情况。

控制.h

控制.cpp

你好.h

你好.cpp

我尝试在 OSX 10.7 上使用 g++ 编译 control.cpp 并得到

是编译器、我的代码还是我对正在发生的事情的概念?我没有正确实例化某些东西吗?

任何更详细地描述这一点的链接将不胜感激。

最终我希望能够在另一个类中运行一个函数并返回结果......正常的OO,保持你的程序模块化......

0 投票
3 回答
131 浏览

java - 从现有 int 随机生成 int

考虑以下int;

从该 int 开始,我需要创建一个长度仅为三位数的新 int,我可以使用 0-9 之间的任何值。

但是,为了创建新的 int,我不能使用任何形式的已经存在的随机数生成器。

我想知道是否可以结合使用modulesxor, bit-shift操作来以某种方式减少数字。例如 xor 最后一个数字与它之前的数字,但我不确定这是否可能。

基本上我需要从起始 int 创建一个三位数的 long int,理想情况下将起始 int 减少到三位数的长度。

我希望这是有道理的,我会很感激任何意见。

谢谢

0 投票
1 回答
183 浏览

python - 我如何使用模块化表达式/使用大整数

我想制作一个程序来计算 x 年后的人口。

其中 2002 年的人口为 62 亿人,每年增长 1.3%。

我将使用的公式是

如何让 6.2B 更易于使用?

0 投票
1 回答
1583 浏览

templates - 带模板的 CodeIgniter 模块化 CMS

你们可能都认为“天哪,另一个想要创建 CMS 的人”,但我真的需要你们的帮助!我想用模块和模板创建自己的 CMS。我已经安装了模块化扩展,但现在我正在为模板而苦苦挣扎。我只是不知道如何准确地构建它。

我知道模板库 Smarty 和来自 Phil 的模板库。

你们能帮我一些如何创建这个吗,我想构建这个像 PyroCMS 或 Ionize 之类的东西,但是在根目录中:应用程序/系统/模板只是这样我就可以在未来为我的 CMS 构建模板,我可以使用 {cms.navigation} 和 {cms.page.title} 之类的标签

我的结构