Pull Requests非常适合理解围绕对repo进行更改或更改的更大思考.读取拉取请求是快速"理解"项目的一种好方法,因为您可以获得更大的逻辑更改分组,而不是对源进行小的原子更改.类似于将代码中的行组织成相关的"节",以便于阅读.
我发现自己正在查看文件或提交,我想知道是否有办法将提交回溯到最初创建它的Pull Request.Pull Request最终会被合并,但不需要合并提交.
我一直在使用dart/flutter进行一些项目,我真的非常喜欢它.
我已经读过,在构建移动应用程序时,dart使用本机代码构建本机应用程序.但我也读过dart有自己的VM性能.
我想要了解的是,如果该VM是您构建移动应用程序时使用的VM,或者它是否正在构建其为本机应用程序编译的其他代码.如果它做了别的什么,飞镖VM仍然用于什么?
在厨师食谱中做一点干燥的最佳方法是什么?即只是打破了Ruby代码的一小部分,所以我不会一遍又一遍地复制粘贴它.
以下失败当然是:
NoMethodError: undefined method `connect_root' for Chef::Resource::RubyBlock
Run Code Online (Sandbox Code Playgroud)
我可能在一个配方中有多个ruby_blocks,因为它们做了不同的事情,并且需要将不同的not_if块作为truley幂等.
def connect_root(root_password)
m = Mysql.new("localhost", "root", root_password)
begin
yield m
ensure
m.close
end
end
ruby_block "set readonly" do
block do
connect_root node[:mysql][:server_root_password] do |connection|
command = 'SET GLOBAL read_only = ON'
Chef::Log.info "#{command}"
connection.query(command)
end
end
not_if do
ro = nil
connect_root node[:mysql][:server_root_password] do |connection|
connection.query("SELECT @@read_only as ro") {|r| r.each_hash {|h|
ro = h['ro']
} }
end
ro
end
end
Run Code Online (Sandbox Code Playgroud) 有时当我在Chrome中调试一些javascript并且我暂停了javascript时,如果我尝试重新加载页面,则chrome只是"继续"调试器,踩到下一个断点.
似乎没有任何方法可以强制javascript完全停止运行,并让chrome重新加载页面.每次按-R或单击重新加载按钮都会继续执行下一个断点.
我现在的生产转移解决方案是
这是相当暴力的,但它是让Chrome实际加载该页面的新副本的唯一方式,而不是仅仅继续现有的运行副本.清空缓存没有任何影响,因为它甚至没有尝试重新加载页面.
ps我也注意到javascript调试器也没有"停止"按钮.我如何告诉chrome停止执行javascript,无需继续.唯一的控制是"继续","跨越","逐步进入","逐步退出".怎么没有"停止"或"取消".
使用AspectJ时,为什么要在@Configurable上使用@Component.
我有@Transactional支持的Spring和AspectJ设置,自我调用的方面以及注入JPA实体.这非常有效.
我正在将@Component用于大多数需要注入的类,因此要么将它们注入到它们的依赖项中.或者,当我不能,注入ApplicationContext然后使用getBean()作为最后的手段.我只为需要注入的JPA实体(Hibernate)保留@Configurable.我也开始使用@Configurable进行jUnit测试,使编写测试变得容易.这也很有效.
但我很好奇.如果AspectJ现在使用@Configurable注释自动注入(bean化)任何东西,无论它是如何构造的; getBean(),new(),@ Autowired.为什么我不能只为我的所有bean切换到使用@Configurable?然后我可以完全取消应用程序上下文和getBean(),只需要new()我无法注入的任何类.
我意识到我没有提到XML bean配置.我并不回避这一点,但这个项目并不需要任何.我只是构造函数或setter在测试时注入依赖项.很容易.
我已经设置了RMI + SSL.这非常有效.但似乎不可能在RMI和SSL之间减少压缩.这样RMI请求在通过SSL发送之前就会被压缩.
我在网上看到一些帖子建议使用SSLSocketFactory.createSocket()Socket将SSL包装在压缩套接字上.但这似乎会尝试压缩SSL协议本身,这可能不是非常可压缩的.
我想我应该创建一个Socket代理(它的子Socket类推迟到另一个Socket,就像FilterOutputStream那样).让代理用压缩包装输入/输出流.并让我SocketFactory和ServerSocketFactory返回代理,包装SSLSocket.
但后来我们遇到了缓冲问题.压缩缓冲数据,直到它足够值得压缩,或被告知刷新.当您没有通过套接字进行来回通信时,这很好.但是使用RMI中的缓存套接字,你就可以了.无法识别RMI请求的结束,因此您可以刷新压缩数据.
Sun有一个RMISocketFactory例子做这样的事情,但他们根本没有解决这个问题.
注意:
1.SSL支持压缩但我在JSSE
2中找不到任何关于启用压缩的信息.我知道对许多小的无关块进行压缩(因为RMI通常由其组成)并不是非常有用.
3.我知道如果我发送大量请求,RMI不是最好的选择.
4. SSLRMISocketFactoryJava 6中有一个,但它不会在我的自定义实现中添加任何内容.
示例:
对于日志记录,我的代码使用log4j.但我的代码依赖的其他罐子,slf4j而是使用.因此两个罐子必须在构建路径中.不幸的是,我的代码slf4j现在可以通过上下文辅助或其他一些开发人员更改直接使用(依赖).我想任何使用slf4j显示为错误,但我的应用程序(和测试)在运行时仍然需要在类路径中.
解释:
我想知道这是否可能在eclipse中.这种情况经常发生在我身上.我将有一个大型项目,它使用了很多第三方库.当然,这些第三方罐子也有自己的依赖关系.因此,我必须在类路径(eclipse中的"构建路径")中包含所有依赖项,以便应用程序及其测试进行编译和运行(从eclipse中).
但我不希望我的代码使用所有这些jar,只是我自己决定的几个直接依赖.因此,如果我的代码意外地使用了依赖项的依赖项,我希望它显示为编译错误.理想情况下,没有找到类,但任何错误都可以.
我知道我可以在eclipse之外运行时手动配置类路径,甚至在eclipse中我可以修改我正在运行的特定类的类路径(在运行配置中),但是如果你运行了很多单独的测试用例,这是不可管理的,或者有很多main()类.
我怎样才能传递一个lambda hash.each,所以我可以重用一些代码?
> h = { a: 'b' }
> h.each do |key, value| end
=> {:a=>"b"}
> test = lambda do |key, value| puts "#{key} = #{value}" end
> test.call('a','b')
a = b
> h.each &test
ArgumentError: wrong number of arguments (1 for 2)
from (irb):1:in `block in irb_binding'
from (irb):5:in `each'
from (irb):5
from /Users/jstillwell/.rvm/rubies/ruby-1.9.3-p362/bin/irb:16:in `<main>'
> h.each test
ArgumentError: wrong number of arguments(1 for 0)
from (irb):8:in `each'
from (irb):8
from /Users/jstillwell/.rvm/rubies/ruby-1.9.3-p362/bin/irb:16:in `<main>'
Run Code Online (Sandbox Code Playgroud) 我在这里寻找建议或最佳实践.
有时我想使用不同的介词为2个不同的步骤提供相同的正则表达式/短语.我经常看到的案例是一个既有意义Given也有Then步骤有用的短语.
Given用于执行和操作的步骤(设置测试状态).并Then用于验证状态但不执行操作的步骤.我经常发现相同的措词适合两者.这样的短语的一个例子是"我登录了"
这是一个人为的设想
Scenario: Login is saved between sessions.
Given I am logged in
When I exit the application
And I start the application
Then I am logged in
Run Code Online (Sandbox Code Playgroud)
当然,这在步骤定义中不起作用,因为黄瓜不区分步骤谓词.
我已经玩弄了对所有碰撞Then步骤添加"验证" ,或者为所有重复Given步骤添加"那个" .但没有什么是正确的.
Given that I am logged in.
...
Then verify I am logged in.
Run Code Online (Sandbox Code Playgroud)
它当然有效,但我觉得我错过了一些不需要为我的大多数步骤都使用相同的"扩展谓词"的东西.
如果我require在源代码中看到了.
require "blah"
Run Code Online (Sandbox Code Playgroud)
如何确定核心ruby安装是否提供了该库("blah"),或者它是否来自安装gem?
我在mysql.com上找到的最接近的东西叫做
Generic Linux (Architecture Independent), Compressed TAR Archive
Run Code Online (Sandbox Code Playgroud)
但那可能也是二进制安装,因为它没有'configure'脚本.它相当令人沮丧.我确定我只是遗漏了一些明显的东西(就像有时代码会发生什么).
ruby ×3
annotations ×1
aop ×1
aruba ×1
chef-infra ×1
chef-recipe ×1
classpath ×1
compression ×1
configurable ×1
cucumber ×1
dart ×1
debugging ×1
eclipse ×1
flutter ×1
git ×1
github ×1
java ×1
javascript ×1
lambda ×1
mysql ×1
pull-request ×1
rmi ×1
rpc ×1
spring ×1
spring-aop ×1
ssl ×1