我使用记录的日期选择在这里.
但是,没有直接选项允许更改语言,默认情况下为英语.
我找到了一个没有angular指令的小部件文档,它提供了一个很好的方法来实现它:
http://bootstrap-datepicker.readthedocs.org/en/latest/i18n.html
是否有一种简单的方法,避免调整原始指令的源代码,来改变它?
resolve
$routeProvider
允许在呈现相应视图之前执行某些作业的属性.
如果我想在执行这些作业时显示微调器以增加用户体验,该怎么办?
实际上,否则用户会感觉应用程序已被阻止,因为例如没有显示视图元素一些毫秒> 600.
当然,有一种方法可以定义当前视图中的全局div
元素,以便通过该函数显示微调器.但我不想隐藏整个页面,中间只有一个可怜的微调器.
我希望我的webapp的某些页面在加载显示方式上有所不同.$scope.$rootChangeStart
我遇到了这个有趣的帖子,其中包含我上面描述的确切问题:
这种方法导致可怕的UI体验.用户单击按钮刷新列表或其他内容,整个屏幕在通用微调器中被覆盖,因为库无法仅为实际受状态更改影响的视图显示微调器.不用了,谢谢.
在任何情况下,在我提交此问题后,我意识到"解析"功能是一种反模式.它等待所有承诺解决然后动态状态变化.这是完全错误的 - 您希望状态之间的转换动画与数据加载并行运行,以便前者可以覆盖后者.
例如,假设您有一个项目列表,单击其中一个项目会隐藏列表并在不同视图中显示项目的详细信息.如果我们对项目详细信息的异步加载平均需要400毫秒,那么在大多数情况下我们可以通过在列表视图上放置300毫秒"离开"动画和300毫秒"输入"动画来几乎完全掩盖负载在项目详细信息视图上.这样我们就可以为UI提供更加流畅的感觉,并且在大多数情况下可以避免显示微调器.
但是,这要求我们在同一时刻启动异步加载和状态更改动画.如果我们使用"resolve",那么整个异步动画就会在动画开始之前发生.用户单击,查看微调器,然后查看过渡动画.整个状态的变化需要大约1000毫秒,这太慢了.
"Resolve"可以是缓存不同视图之间依赖关系的有用方法,如果它可以选择不等待promises,但是在状态更改开始之前始终解析它们的当前行为使得它几乎无用,IMO.对于涉及异步加载的任何依赖项,应该避免使用它.
我真的应该停止使用resolve
加载一些数据而不是直接在相应的控制器中加载它们吗?这样我就可以在作业执行时以及在视图中我想要的位置更新相应的视图,而不是全局.
web-applications angularjs single-page-application angular-ui-router
持续集成概念刚刚集成在我的团队中.
假设我们有一个名为Dev的集成分支.
从它派生出3个分支,每个特定的当前项目一个:
首先,Teamcity在专用服务器上配置,其目标是:
从包括Dev在内的每个分支的版本化源编译并启动单元和集成测试
然后,当然,每个项目分支(A,B和C)必须在克隆的生产环境中进行测试,以便可以执行UAT.
但我想知道我们应该部署什么频率?每次源代码更改?
我们是否应该仅将包含3个项目的混合的Dev部署到它(与下一个生产版本中的实际情况相对应)或3个项目独立后进行部署?
如果部署了Dev,则不得考虑将来可能对Dev进行更改.实际上,可能会有一个名为Project D的新项目,并且不得成为下一个版本的一部分.因此,采用Dev进行集成(UAT)是有风险的,因为部署者可以非自愿地整合项目D的内容,因此环境不会揭示下一版本的实际情况.
其他解决方案:我们不是采用Dev而是独立采用3个项目,那么是否必须同时存在3个克隆生产环境?
如果是,UAT可能不可靠,因为集成环境的行为可能经常发生变化......
UAT持续部署的概念对我来说并不清楚......
testing teamcity continuous-integration continuous-deployment continuous-delivery
我想将上下文根目录从"/ war_name"(默认情况下)更改为"/".
因此,我创建了一个我在WEB-INF目录中推送的jboss-web.xml文件.
该文件的内容是:
<?xml version="1.0" encoding="UTF-8"?>
<jboss-web>
<context-root>/</context-root>
</jboss-web>
Run Code Online (Sandbox Code Playgroud)
不幸的是,这会在战争部署期间导致以下错误:
ERROR [org.jboss.msc.service.fail] (MSC service thread 1-4) MSC00001: Failed to start service jboss.web.deployment.default-host./: org.jboss.msc.service.StartException in service jboss.web.deployment.default-host./: Failed to start service
at org.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceControllerImpl.java:1780) [jboss-msc-1.0.1.GA.jar:1.0.1.GA]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110) [:1.7.0_01]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603) [:1.7.0_01]
at java.lang.Thread.run(Thread.java:722) [:1.7.0_01]
Caused by: java.lang.IllegalArgumentException: Child container with name already exists
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:804)
at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:792)
Run Code Online (Sandbox Code Playgroud)
但是,当我把一些目录名称放在:/ RoomManagement时,我没有这个问题.但是,如果我使用这个,我无法访问不在/ RoomManagement中的JSP.
您是否想要将上下文根配置为"/"?
Demeter法则期望在类之间进行最松散的耦合.
这意味着在类中暴露的所有getter/setter中有90%必须被"删除"并替换为"包含行为"的方法.实际上,它对应于"告诉,不要问"的哲学,因为不希望客户通过糟糕的getter/setter方法来帮助处理行为本身.如果在其他地方使用相同的操作,这也会减少重复的代码.
如果我们想要尊重单一责任原则,这意味着有许多行为方法的大型课程和过度使用授权.
另一方面,访问者模式定义是:
访问者允许您定义新操作,而无需更改其操作的元素的类.
所以,乍一看,似乎与德米特法律的期望相反:
One(Visitor)意味着类结构提供getter/setter,以便Visitor可以修改对象的状态而不需要触及类本身.
其他(Demeter)鼓励将与对象直接相关的所有行为代码包含在同一个类中.
所以我的问题是:
我们何时可以考虑关闭一个类进行修改,从而停止在其上添加行为方法,因此更喜欢将它们添加到新创建的访问者中,客户端使用getter/setter而不是在初始类之前已经暴露的行为方法的风险很大?
函数式编程提升了不可变类和引用透明性.
域驱动设计由Value Object(不可变)和Entities(可变)组成.
我们应该创建不可变实体而不是可变实体吗?
让我们假设,项目使用Scala作为主要语言,如果我们处理并发,我们如何编写实体作为案例类(不可变),而不会有过时状态的风险?
什么是好习惯?保持实体可变(var
字段等...)并避免使用案例类的优秀语法?
我有两个JPA实体:
我的目标是只检索与日期参数(planningDate)匹配的预订,同时检索所有日程表,无论预定是否存在于此给定日期.
所以我写道:
SELECT s FROM Schedule as s LEFT JOIN s.reservations as r WHERE r.resDate = :planningDate order by s.startHour
Run Code Online (Sandbox Code Playgroud)
尽管我的LEFT JOIN,为什么没有在这个日期没有预订的时间表?
可能与本机查询一样,LEFT JOIN在与WHERE子句组合时看起来像INNER JOIN.
那么,如何更改查询以满足我的要求?我没有在JPQL中找到特定功能.
从第二次bundle install
执行开始,只要未更改Gemfile,就会从Gemfile.lock加载依赖项.
但我想知道如何检测这两个文件之间的变化.
举例来说,如果我加入一个新的依赖直接进入Gemfile.lock的无添加入Gemfile中(而不是因为Gemfile.lock的最佳做法是从Gemfile中自动生成的),将一个bundle install
考虑的Gemfile的改变?
实际上,bundle install
进程是否会比较整个Gemfile和Gemfile.lock树以检测更改?
如果是,即使我直接向Gemfile.lock添加依赖项,Gemfile也会被检测为已更改(因为不同)并且会重新擦除Gemfile.lock(因此会丢失添加的依赖项...)
bundle install
自第二次推出以来的过程是什么?
更清楚的是,我的问题是:
更改是否仅基于Gemfile?这意味着bundler会保留每个bundle install
执行号N 的Gemfile快照,只是将它与bundle install
执行N + 1 进行比较?
或者在bundler内存中没有创建快照,Bundler每次都会与Gemfile.lock进行比较,以检测是否必须将Gemfile视为已更改.
我有这个代码:
for( i <- 0 to 8){
((numbers(i) - i)/3).abs + ((numbers(i) - i)%3).abs
}
Run Code Online (Sandbox Code Playgroud)
正如标题所说,我想这样做
for( i <- 0 to 8){
by3(numbers(i), i, /) + by3(numbers(i), i, %)
}
def by3(a: Int, b: Int, op: Int => Int) = ((a - b) op 3).abs
Run Code Online (Sandbox Code Playgroud)
并且可能还使用部分应用的功能..但到现在这可能实现?怎么样?
当我读到关于继承时,我总是对某个例子感到困惑.
通常有一个类似于下面例子的例子.
class Shape
{
public:
Shape() {}
virtual ~Shape () {}
virtual void Draw() = 0;
};
class Cube : public Shape
{
public:
Cube(){}
~Cube(){}
virtual void Draw();
};
Shape* newCube = new Cube();
newCube->Draw();
Run Code Online (Sandbox Code Playgroud)
我的问题是,为什么Shape
要自拔自拔?难道渲染器类不应该知道如何绘制形状而是为渲染器提供形状吗?如果我们想记录维度的变化怎么办?等等?我们是否有针对这些不同任务的方法Shape
?
看到这样的众多例子有时让我想知道我将责任分配给班级的能力.有什么我不理解只有一个责任的课程吗?