我在某处看到了这种模式:
class A extends B<A> {
}
Run Code Online (Sandbox Code Playgroud)
通过将新类型指定为泛型的实际类型,此结构对于扩展泛型有点不寻常.有什么用?这个模式有名字吗?有没有替代模式?
示例:https://code.google.com/p/selenium/wiki/LoadableComponent
跳到: public class EditIssue extends LoadableComponent<EditIssue> {
编辑:阅读完回复后,我似乎需要改变编译器对类型检查的理解.在我的脑海里,我的牛肉有这种模式,如果两个A需要相同,那么有没有办法不重复它们?但似乎没有更好的方法将派生类的类型传播给父类.
如果我有一个很长的代码方法,它从 2 个或 3 个不同的源收集数据并返回结果。我如何重构它以使其更易于单元测试?该方法是一种网络服务,我想从客户端代码进行一次调用来收集所有数据。
我可以将一些部分重构为更小的方法,这将更易于测试。但当前方法仍将调用这 5 个方法,并且可测试性仍然较差。假设 Java 作为编程语言,是否有一种模式可以使此类代码可测试?
我可以通过GitBash使用ssh(例如,对于带有heroku或github等的'git'),但我不能在同一台机器上的Windows cmd提示符下执行相同操作.可能是什么问题?如果我没记错的话,它曾经从cmd提示符开始工作.
我得到的错误是:
Permission denied (publickey). fatal: The remote end hung up unexpectedly
Run Code Online (Sandbox Code Playgroud)
我得到了两个日志:这是cmd的最后四行,与'git bash'不同:
debug1: Trying private key: /.ssh/identity
debug1: Trying private key: /.ssh/id_rsa
debug1: Trying private key: /.ssh/id_dsa
debug1: No more authentication methods to try.
Permission denied (publickey).
Run Code Online (Sandbox Code Playgroud)
在Git bash的情况下:各自的行是:
debug1: Trying private key: /c/Users/user1/.ssh/identity
debug1: Offering public key: /c/Users/user1/.ssh/id_rsa
debug1: Remote: Forced command: gerve user1
debug1: Remote: Port forwarding disabled.
debug1: Remote: X11 forwarding disabled.
Run Code Online (Sandbox Code Playgroud)
解决
正如@snemarch暗示的那样,设置以下env var解决了我的问题:
set HOME=C:\Users\user1
Run Code Online (Sandbox Code Playgroud) 我最近用webserver流程创建了一个小应用程序.现在我正在尝试用户代理示例.我想知道为什么我们需要在用户代理流程中定义redirect-uri.
我正在使用Saleforce.com api:
http://wiki.developerforce.com/page/Digging_Deeper_into_OAuth_2.0_on_Force.com
redirect_uri授权服务器将通过重定向到此URI进行响应.此参数必须与应用程序配置的回调URL匹配.
我知道JavaScript将所有变量声明移动到函数的顶部.但是,我在下面的console.log()中期望得到相同的结果.但是,我在第一种情况下获得NaN,在第二种情况下获得4次.
有人可以解释一下吗?我知道在StackOverflow上已经有类似的问题已经问过并回答了,但是这个问题与函数定义有关.例如,JavaScript是否将函数变量移动到变量声明的末尾?
var doB = function() { return a+1};
var b = a+1;
var a = 3;
console.log(b); // NaN
console.log(doB()); // 4
Run Code Online (Sandbox Code Playgroud) 我正在编写一些代码来使用一些api的两个不同版本.这些版本中的每一个都在版本化的包中声明,例如{v1.Connection,v1.query,v1.Result}和{v2.Connection,v2.query,v2.result}等.除了类之外,客户端代码将完全相同是不同的.我可以在这里申请什么设计模式?我无法控制api方面.
问题是关于Play框架,尽管概念是通用的.
引用自:
https://www.playframework.com/documentation/2.6.18/ScalaAsync
在等待响应时将阻止Web客户端,但服务器上不会阻止任何内容,并且可以使用服务器资源为其他客户端提供服务.
使用未来只是图片的一半!如果你正在调用一个阻塞的API,比如JDBC,那么你仍然需要让你的ExecutionStage运行一个不同的执行器,将它从Play的渲染线程poo移开
我理解原始Web应用程序线程将被释放的部分,但是仍然需要另一个线程来实际执行cpu密集型操作然后计算结果,该结果将传播到客户端(同时被阻止).
如何比在play的动作代码中同步执行执行更好?我们必须增加线程数(因为阻塞请求将使用线程),但服务器上活动线程的总数将保持不变.
有人还可以了解Play如何跟踪被阻止的客户端线程并在非阻塞操作场景中返回响应?
例如,如果路径上有多个可执行文件,即a.exe,a.bat和用户输入'a'(输入),哪个文件将执行?
Windows支持哪些其他可执行格式?
http://download.oracle.com/javase/tutorial/collections/interfaces/set.html
为什么Set接口列出了Collection中的所有方法?这些方法不是由子接口自动继承的吗?
我能够使用本地git存储库运行jenkins构建,但只能使用no-passphrase ssh密钥.当我有密码时,我开始在构建中获得权限问题.
如何配置jenkins使用密码?
- 我也是ssh的新手.这是我如何配置我的jenkins(在ubuntu上).
su jenkins
ssh-keygen ....
cat key.pub
su user_with_github_repo
cd ~/.ssh/
append jenkins key.pub to authorized_keys
Run Code Online (Sandbox Code Playgroud) 这是我的 Dockerfile。
FROM ruby:2.4.0-alpine
RUN mkdir /app
WORKDIR /app
COPY Gemfile ./Gemfile
COPY Gemfile.lock ./Gemfile.lock
RUN bundle install -j 20
COPY . .
Run Code Online (Sandbox Code Playgroud)
这是我的 docker-compose 文件:
version: '2'
services:
web:
build: .
command: "irb"
volumes:
- .:/app
Run Code Online (Sandbox Code Playgroud)
我预计这docker-compose up会打开一个 irb shell,但是 shell 立即退出。为什么会退出?
我可以通过 docker 使用 irb shell 做什么?
我在为作业提供的代码中读到了这句话: -
newtype STR a = STR (Store -> (Result a, Store))
Run Code Online (Sandbox Code Playgroud)
以上链接使它看起来像:
a === (Store -> (Result a, Store))
Run Code Online (Sandbox Code Playgroud)
这怎么可能是一个有效的陈述?这是否意味着这a是一个以Store为参数并返回的函数('the same function wrapped in Result', Store)?
我在select声明中有以下代码.finish是类型的bool.实际上,只要我收到任何东西,我甚至都不关心它的价值.但是,Go给了我一个未使用的变量错误.我怎么能绕过它呢?
case finish := <- termSig:
Run Code Online (Sandbox Code Playgroud)
我目前的解决方法是Println(finish).
我试过了: -
case _ := <- termSig:
Run Code Online (Sandbox Code Playgroud)
但这也不起作用.
java ×3
ssh ×2
windows ×2
channel ×1
cmd ×1
collections ×1
command-line ×1
docker ×1
executable ×1
generics ×1
git ×1
go ×1
haskell ×1
interface ×1
irb ×1
javascript ×1
jenkins ×1
newtype ×1
oauth ×1
ruby ×1
salesforce ×1
scala ×1
scope ×1
set ×1
unit-testing ×1