是否有嵌入式PostgreSql,以便我们可以对PostgreSql驱动的应用程序进行单元测试?
由于PostgreSql有一些方言,因此最好使用嵌入式PostgreSql本身而不是其他嵌入式数据库.
嵌入式并不一定意味着它必须嵌入JVM进程中.它也不一定需要使用内存中持久性.它应该由依赖关系管理(Maven,Gradle)自动加载,这样Unit测试可以在每台机器上运行,而无需安装和配置本地PostgreSQL服务器.
我正在将旧的Web窗体应用程序扩展/转换为全新的MVC应用程序.扩展既包括技术也包括业务用例.遗留应用程序是一个完善的数据库驱动设计(DBDD).因此,例如,如果您有不同类型的员工,如操作员,主管,商店管理员等,并且您需要添加一个新类型,您只需在几个表中添加一些行,瞧,您的UI自动拥有要添加的所有内容/更新新类型的员工.然而,层的分离并不是那么好.
新项目有两个主要目标
我打算使用域驱动设计(DDD)创建替换数据库驱动设计(DBDD)的新项目,同时牢记可扩展性要求.但是,如果将其与传统DBDD应用程序的性能进行比较,从数据库驱动设计转向域驱动设计似乎会对性能要求产生相反的影响.在遗留应用程序中,来自UI的任何数据调用都将直接与数据库交互,并且任何数据都将以DataReader或(在某些情况下)DataSet的形式返回.
现在有了严格的DDD,任何数据调用都将通过业务层和数据访问层进行路由.这意味着每次调用都会初始化业务对象和数据访问对象.单个UI页面可能需要不同类型的数据,这是一个Web应用程序,每个页面都可以由多个用户请求.MVC Web应用程序也是无状态的,每个请求都需要每次都初始化业务对象和数据访问对象.因此,对于MVC无状态应用程序而言,DBDD更倾向于DDD以提高性能.
或者在DDD中有一种方法可以实现DDD提供的可扩展性和DBDD提供的性能?
architecture asp.net-mvc domain-driven-design database-driven
我是一名数学老师,希望在网站中插入一些动态数学.我想要实现的是有一个按钮,学生可以按下该按钮随机改变一个问题,这样它就是同一类型的问题,但数字不同.例如,
因子形式ax ^ 2 + bx + c的二次表达式,其中a = 1,b和c是1到100之间的正整数,并且根将是实数整数.
如果我使用MathML对数学进行编码(例如,如下面的标记),存储在数据库(例如,MySQL)中,我该如何设置以便计算机自动随机地改变数学表达式的方式我如上所述?我对服务器端脚本知之甚少...我能用PHP实现吗?或者这更像是客户端的JavaScript工作?我只是在寻找一些建议来指导我选择的学习路径.谢谢
<math xmlns='http://www.w3.org/1998/Math/MathML'>
<mrow>
<msup>
<mi>x</mi>
<mn>2</mn>
</msup>
<mo>+</mo>
<mrow>
<mn>7</mn>
<mo>⁢</mo>
<mi>x</mi>
</mrow>
<mo>+</mo>
<mn>12</mn>
</mrow>
</math>
Run Code Online (Sandbox Code Playgroud) 是否可以使用客户端javascript构建动态Web应用程序作为关键点?我不是在讨论服务器端的javascript(比如节点),我说的是用javascript处理大部分网站:模板,表单处理等.
当然,简短的回答是"是的,这是可能的".但是,当数据库传统上位于服务器上时,我主要担心的是数据库数据操作和安全性.客户端javascript驱动的应用程序应该理想地直接与数据库对话.我知道Couchdb允许这样做,但是如何阻止用户提交查询以查看他们不应该看到的数据?考虑到主要验证应该也是客户端并且很容易伪造,如何处理输入验证?
这在我看来非常有趣,但不是真的可行,但也许有我不知道的解决方案,或包围一些数据库的微小安全层,或我忽略的项目等.
我知道CouchDb独立应用程序(couchapp),它是一种接近我所追求的技术,但它强制执行一种开放的方法,使其不适合我能想到的每一种情况.
欢迎就此主题提出任何建议.
编辑:作为示例是必需的,请在简单的博客上思考.我想在头版中显示最后五个帖子.如果有人以非常简单的方式"破解"页面,他们就可以检索旧帖子.没关系.当我想插入新帖子时,请问什么?如果javascript具有对数据库的开放访问权限,任何人都可以在我的博客中写帖子- 我不想要它.此外,任何人都可以删除我的帖子或其他用户评论,这是我想要的特权.如果我想避免超过500个字符并包含坏词的评论怎么办?再次,在客户端进行验证,用户可以绕过它.
我正在尝试为我的网站创建一个菜单.它需要满足以下要求
目前,我有一个简单的示例运行,但我不知道如何集成缓存.我想我可能需要在整个工作方式上进行修改.这里是:
我有一个ProductMenuAttribute,它从数据库中提取数据,并将其存储在ViewData中:
public class ProductMenuAttribute: FilterAttribute, IActionFilter
{
#region IActionFilter Members
public void OnActionExecuted(ActionExecutedContext filterContext)
{
if (filterContext != null)
{
var context = filterContext.Result as ViewResult;
if (context != null)
{
ProductsRepository repository = new ProductsRepository(Properties.Settings.Default.SqlConnectionString);
context.ViewData.Add("ProductsList", repository.GetAllProductRanges());
}
}
}
public void OnActionExecuting(ActionExecutingContext filterContext)
{
}
#endregion
}
Run Code Online (Sandbox Code Playgroud)
在我的Site.master中,我从ViewData中提取数据并使用它来呈现我的菜单.这是我的无序菜单列表中的一个小片段,它使用CSS进行样式设置.这是代码:
<li>
<%= Html.ActionLink("Products", "Index", "Products")%>
<% IQueryable<ProductRange> productRanges = ViewData["ProductsList"] as IQueryable<ProductRange>; %>
<% if (productRanges != null) …Run Code Online (Sandbox Code Playgroud) 我正在开发一个需要使用数据库驱动的MVC方案的项目,其中通过单个数据库表控制到控制器和视图的路由.但是,我还没有找到任何用当前版本的框架来证明这一点的教程(它们似乎都是在几个版本之前编写过的)而且我想知道是否有人用更新的版本做了类似的事情框架或者如果有人知道博客或教程,讨论如何以简单的方式完成此任务.
基本思想是将有一个包含pageName,controller,module和view字段的sitePage表.处理请求时,我需要在数据库中查询给定的pageName并确定适当的控制器,模块和视图,然后将其传递到必要的Zend类中,以继续正常路由和处理请求.
提前致谢.
php model-view-controller zend-framework url-routing database-driven
我想实现一个数据库驱动的访问控制系统。我一直在阅读有关 ACL、角色、RBAC 等的内容,但似乎最常见的方案有一些主要缺点。例如,在实现细粒度访问控制(例如,允许某个角色仅更新特定记录的特定列)时,RBAC 似乎很笨拙。
如果我像这样构建访问控制列表会怎样:
| role | table | action | columns | conditions |
| ----- | ----- | ------ | -------- | ----------------- |
| user | user | view | name, id | self.id = user.id |
| user | user | update | password | self.id = user.id |
| admin | user | update | * | |
| admin | user | create | * | |
| admin | user | delete …Run Code Online (Sandbox Code Playgroud) 我对我正在开发的网站有疑问.它是一个数据库驱动的目录站点,人们可以在一个或多个区域代码和一个或多个工作领域中创建一个配置文件并列出自己.当某人正在寻找雇用的人时,他们会输入一个或多个区号来查看(或选中带有复选框),当表单提交时,它会将这些保存为cookie,以便网站记住您在搜索的位置.然后,您可以按类别和字段(即链接)缩小搜索范围,并获取与您的搜索匹配的所有配置文件的列表.
我关心的是:因为搜索引擎无法输入或选择要搜索的区号,如何查找和索引任何个人资料页面?它不允许用户在没有首先选择区号的情况下搜索人,因为这样做没有实际意义.从用户体验/可用性的角度来看,仅仅将每个区域代码的列表作为类别页面的链接也没有实际意义,但据我所知,这不是搜索引擎看到的唯一方式每个人?
Facebook这样的网站如何实现这一目标?没有某种主目录链接到单个Facebook用户的个人资料页面,但它们通常是一个人姓名的第一搜索结果.
我有一个当前状态,其中enumMyType表示类型表,其列为:
ID
Name
Run Code Online (Sandbox Code Playgroud)
并使用ID参数和byId方法来识别类型:
public enum MyType {
FIRST_TYPE("First Type", 10),
SECOND_TYPE("Second Type", 20);
public static class Holder {
static Map<Integer, MyType > idMap = new HashMap<>();
private Holder() { }
}
private MyType(String name, Integer id) {
this.name = name;
this.id = id;
Holder.idMap.put(id, this);
}
public String getName() {
return name;
}
public static MyType byId(Integer id) {
return Holder.idMap.get(id);
}
Run Code Online (Sandbox Code Playgroud)
我的新要求是支持Type表中也存在值,我找到了动态枚举的答案,但是接受答案不是这样做
否。枚举始终固定在编译时。您执行此操作的唯一方法是动态生成相关的字节码。
从数据库(例如ID 30)中查找值(主要是ID)的更好解决方案是什么
select ID from TYPE
Run Code Online (Sandbox Code Playgroud)
我可以 …
asp.net-mvc ×2
acl ×1
architecture ×1
caching ×1
client-side ×1
crud ×1
dynamic ×1
enums ×1
java ×1
javascript ×1
junit ×1
math ×1
mathml ×1
maven ×1
menu ×1
php ×1
postgresql ×1
rbac ×1
security ×1
seo ×1
sitemap ×1
url-routing ×1