小编Lun*_*kon的帖子

转换整个目录树的行尾(Git)

以下情况:

我正在使用运行OS X的Mac,最近加入了一个项目,其成员到目前为止都使用Windows.我的第一个任务之一是在Git存储库中设置代码库,所以我从FTP中提取目录树并尝试将其检入我本地准备的Git仓库.在尝试这样做的时候,我得到的就是这个

fatal: CRLF would be replaced by LF in blog/license.txt.
Run Code Online (Sandbox Code Playgroud)

因为这会影响"blog"文件夹下面的所有文件,所以我正在寻找一种方法,可以方便地将树中的所有文件转换为Unix行结尾.是否有一个开箱即用的工具或者我自己编写脚本?

作为参考,我的Git配置有关行结尾:

core.safecrlf=true
core.autocrlf=input
Run Code Online (Sandbox Code Playgroud)

git line-endings

143
推荐指数
6
解决办法
6万
查看次数

发现集群中的Akka演员

我最近一直试图围绕Akka和基于演员的系统的概念.虽然我对Akka基本原理有很好的理解,但现在我仍然在集群和远程演员方面遇到一些问题.

我将尝试使用Play Framework 2.0附带WebSocket聊天示例来说明问题:有一个持有WebSockets并保留当前连接用户列表的actor.演员基本上在技术上和逻辑上代表聊天室.只要在单个服务器上运行单个聊天室,这就完美无缺.

现在,我正在尝试理解当我们讨论在服务器群集上运行的许多动态聊天室(可以随时打开/关闭的新房间)时添加或删除单个节点时如何扩展此示例根据目前的需求).在这种情况下,用户A可以连接到服务器1,而用户B连接到服务器2.两者可能在同一个聊天室中进行通话.在每个服务器上仍然会有一个actor(对于每个聊天室?),它保存WebSocket实例以接收和发布事件(消息)给正确的用户.但从逻辑上讲,服务器1或服务器2上只应有一个聊天室角色,其中包含当前连接用户(或类似任务)的列表.

您将如何实现这一目标,最好是在"纯akka"中,而不添加ZeroMQ或RabbitMQ等额外的消息传递系统?

这是我到目前为止所提出的,请告诉我这是否有意义:

  1. 用户A连接到服务器1,并且分配了一个保存其WebSocket的actor.
  2. 演员检查(使用Router?EventBus?还有其他什么?)是否在任何连接的集群节点上存在活动聊天室的"聊天室演员".因为它不会以某种方式请求创建新的聊天室演员,并且将向该演员发送和接收未来的聊天消息.
  3. 用户B在服务器2上连接,并且也为他的WebSocket分配了一个actor.
  4. 它还检查所请求的聊天室的actor是否存在于某处并在服务器1上找到它.
  5. 服务器1上的聊天室演员现在充当给定聊天室的集线器,向所有"连接的"聊天成员演员发送消息并分发传入的聊天室.

如果服务器2出现故障,则必须以某种方式在服务器2上重新创建/移动聊天室角色,尽管这不是我现在主要关注的问题.我最想知道演员如何在各种基本上独立的机器上进行动态发现,可以使用Akka的工具集来完成.

我一直在看Akka的文档很长一段时间了,所以也许我错过了这里显而易见的.如果是的话,请赐教:-)

akka playframework playframework-2.0 akka-cluster

43
推荐指数
3
解决办法
7032
查看次数

故意将Spring bean设置为null

我正在使用Spring将JMS连接工厂注入到我的Java应用程序中.由于这个工厂只在生产环境中需要,而不是在我开发的时候,我把bean定义放到一个单独的XML中,我将其包含在我的主applicationContext.xml中.在生产环境中,此额外文件包含常规bean定义.在我的本地开发环境中,我希望这个bean为null.当Spring遇到它不知道的引用ID时,试图简单地删除bean定义,显然会导致错误.

所以我尝试创建一个只返回null的工厂bean.如果我这样做,Spring(2.5.x)会抱怨工厂返回null,尽管基于FactoryBean接口的Spring API文档,我希望这可以工作(参见Spring API doc).

XML看起来像这样:

<bean id="jmsConnectionFactoryFactory" class="de.airlinesim.jms.NullJmsConnectionFactoryFactory" />

<bean id="jmsConnectionFactory" factory-bean="jmsConnectionFactoryFactory" factory-method="getObject"/>
Run Code Online (Sandbox Code Playgroud)

这样做的"正确"方法是什么?

java spring

34
推荐指数
4
解决办法
4万
查看次数

JS/overflow:iPad/iOS上的Safari中隐藏的性能问题

我正在开发类似谷歌地图的滚动/平移系统.该系统应该比"原始"(没有缩放)简单得多,因此以非常直接的方式构建:

  • 有一个包含div的代表视口,溢出设置为隐藏和固定大小
  • 这个div包含另一个基于鼠标移动而被平移的div
  • 根据可见区域,将固定的div(或imgs)添加到平移div以显示非常大的图像的一部分

这个设置正如它应该的那样工作.特别是在桌面上的常规浏览器中,它完美无瑕.滚动是流动的.

在iPad上并没有那么多:这里整个事情感觉非常缓慢.在平移时有明显的滞后现象,点击注册需要很长时间.

为了让它与触摸界面一起工作,我必须将触摸事件"转换"为鼠标事件.虽然没有这个很难测试性能上的差异,但我认为这不是问题的原因,因为简单点击的响应性在停用时仍然保持同样低.

我试着通过简要介绍一下谷歌地图本身(它在iPad上和其他任何地方一样好用)来找出可能导致这种情况的原因,但无济于事(过于复杂而无法快速了解) ).所以我认为它可能与移动Safari在容器中设置为"溢出:隐藏;",某些缓存问题或者我不知道的所需JS技巧的方式有关.

知道我在哪里可以开始寻找吗?

safari performance jquery ipad ios

7
推荐指数
1
解决办法
2280
查看次数

无法让Jenkins Docker奴隶构建docker图像

我目前正在尝试将Docker与Jenkins结合使用,以简化新项目的CI/CD工作流程.我在安装了Docker 1.12的Mac上这样做.

这就是我做的:

  1. 使用docker machine创建一个新的Docker服务器
  2. 使用官方的Jenkins Docker镜像来启动该服务器上的Jenkins实例
  3. 安装"Yet Another Docker Plugin"和"CloudBees Docker Pipeline"插件.
  4. 使用上面的Docker服务器的IP和第三方Docker DinD图像tehranian/dind-jenkins-slave添加"Docker Cloud"

通过这个设置,我运行一个非常简单的管道工作,如下所示:

node('docker') {
    docker.image('hseeberger/scala-sbt').inside {
        stage 'Checkout'
        echo 'We got here!'
    }
}
Run Code Online (Sandbox Code Playgroud)

Jenkins按预期旋转Docker实例并执行该作业.所以基本的Docker设置正如预期的那样工作.

但是作业中的Docker命令失败了.日志输出如下所示:

[Pipeline] node
Still waiting to schedule task
Docker-23ebf3d8dd4f is offline
Running on Docker-23ebf3d8dd4f in /home/jenkins/workspace/docker-test
[Pipeline] {
[Pipeline] sh
[docker-test] Running shell script
+ docker inspect -f . hseeberger/scala-sbt

Cannot connect to the Docker daemon. Is the docker daemon running on this host?
[Pipeline] sh
[docker-test] Running shell script …
Run Code Online (Sandbox Code Playgroud)

jenkins docker

5
推荐指数
1
解决办法
916
查看次数

如何在大型SPA中嵌入基于knockout.js的组件?

我目前正在尝试使用SPA,我的第一个应用程序的结构大致遵循Mikowski/Powell 即将出版的单页Web应用程序中描述的模式:该应用程序由相互嵌套的模块组成.一个根模块具有一个或多个子模块,每个子模块可以具有其自己的一个或多个子模块.为了将子模块添加到DOM,父模块为子连接自己的标记提供了一个(jQuery-)元素.除此之外,模块或多或少完全隔离,它们的功能与SPA的其余部分无关.每个模块都驻留在自己的文件中,并使用require.js解析依赖关系(该书手动导入它们).

现在我想使用knockout.js渲染一些模块,但我对ko很新,所以我想知道:想象一下顶层模块附加了几个子模块.它使用knockout.js进行绑定,而其中一个子模块也执行绑定,但另一个子模块没有.每个人当然都拥有自己的模型数据.

  1. 如果我在父级和子级中应用ko-bindings(限制在相应的容器元素中),当父级的标记实际包含子级的标记时,它们会以某种方式干扰吗?
  2. 在这种情况下,我如何实现require.js依赖解析?

可能更好地说明问题的一个示例是"选项卡式面板":父级有几个选项卡,并使用knockout来确定当前可见的选项卡.每个选项卡本身都是一个模块,它本身可以具有任意复杂的标记/功能,因此应该封装在自己的文件/模块中.

javascript knockout.js single-page-application

3
推荐指数
1
解决办法
1747
查看次数

通过克隆Java中的不可变对象可以获得的好处

假设我们有一个Java对象,只有原始字段标记为final,因此是不可变的.

现在有几个线程需要这个对象中包含的信息来完成它们的工作,所以有两个选择:

  1. 将对单个实例的引用传递给所有线程.
  2. 为每个线程创建对象的克隆/副本.

本质的问题归结为:在内部,并在JVM从复制的对象,例如,因为读取变得更有效率获得任何好处,还是会内存是浪费,因为它并不重要?

java

2
推荐指数
1
解决办法
1790
查看次数