小编pla*_*pus的帖子

XCode 5测试符号"rT"意味着什么?

我在XCode 5项目中有2个测试类:

ABCDataModelTests {H,M}

- (void)testAlwaysPassing { ... }
Run Code Online (Sandbox Code Playgroud)

ABCDataModelListColorsTests.m,它继承自ABCDataModelTests.

- (void)testNumberOfListColorsGreaterThan7 { ... }
Run Code Online (Sandbox Code Playgroud)

当我运行测试时,我注意到子类的测试下面有一个符号"rT",如图所示.

"rT"代表什么?请注意,子类继承测试方法"testAlwaysPassing".

我在Apple文档中找不到任何"XCode 5/5.0.1中的新功能".是否有任何符号代表所有符号的文档?

在此输入图像描述

xcode ios7 xcode5 xcode5.0.1

36
推荐指数
2
解决办法
4519
查看次数

Scala中匿名函数中的参数之前的隐式关键字

我理解Scala中的隐式参数和隐式转换,但我今天第一次看到这个:匿名函数中参数前面的隐式关键字:

Action { implicit request =>
  Ok("Got request [" + request + "]")
}
Run Code Online (Sandbox Code Playgroud)

隐式关键字在这里做什么?

网络上是否有资源可以更详细地描述用例?

scala implicit

28
推荐指数
3
解决办法
6142
查看次数

Vim替换所有没有光标移动

在Vim,当我这样做时:

:%s/foo/bar/g
Run Code Online (Sandbox Code Playgroud)

它将在整个文档中用'bar'替换所有出现的'foo'.完成后,光标移动到'foo'替换为'bar'的最后位置.

:%s/foo/bar/g在发出此命令之前,如何在没有光标离开原始位置的情况下运行?

我可以在.vimrc文件中设置一些选项吗?

vim macvim

22
推荐指数
2
解决办法
5093
查看次数

psql:FATAL:连接需要有效的客户端证书

我正在尝试连接到我的PostgreSQL服务器,但psql抱怨我没有有效的客户端证书.以下是我创建证书的方法:

自签名服务器证书:

openssl req -new -text -nodes -keyout server.key -out server.csr -subj '/C=US/ST=California/L=Fremont/O=Example/OU=CoreDev/CN=192.168.0.100' # CN is the server's IP address
openssl req -x509 -text -in server.csr -key server.key -out server.crt
cp server.crt root.crt
rm server.csr
chmod og-rwx server.key
Run Code Online (Sandbox Code Playgroud)

客户证书:

openssl req -new -nodes -keyout client.key -out client.csr -subj '/C=US/ST=California/L=Fremont/O=Example/OU=CoreDev/CN=postgres' # postgres is the database user name
openssl x509 -req -CAcreateserial -in client.csr -CA root.crt -CAkey server.key -out client.crt
rm client.csr
Run Code Online (Sandbox Code Playgroud)

将必要的文件(client.crt,client.key,root.crt)复制到客户端计算机上并更改权限(即chmod og-rwx client.key)后,我执行以下操作:

psql 'host=192.168.0.100 port=5432 dbname=postgres user=postgres sslmode=verify-full sslcert=client.crt …
Run Code Online (Sandbox Code Playgroud)

postgresql ssl openssl psql

17
推荐指数
1
解决办法
9473
查看次数

节点进程对象可用于浏览器客户端代码

我试图了解webpack如何使用DefinePlugin.我有:

new webpack.DefinePlugin({
  'process.env.NODE_ENV': JSON.stringify('development'),
}),
Run Code Online (Sandbox Code Playgroud)

和功能:

export const foo = () => {
  console.log(process)
  console.log(process.env.NODE_ENV)
}
window.foo = foo
Run Code Online (Sandbox Code Playgroud)

当我打印foo时,我在浏览器控制台中看到以下内容:

ƒ foo() {
  console.log(process);
  console.log("development");
}
Run Code Online (Sandbox Code Playgroud)

在webpack编译输入文件时,似乎注入了变量"development".同时webpack还将进程对象注入到JavaScript代码中,浏览器确实在调用foo时打印出进程对象:

{title: "browser", browser: true, env: {…}, argv: Array(0), nextTick: ƒ, …}
Run Code Online (Sandbox Code Playgroud)

我的问题是,如何将流程对象(即Node概念)提供给浏览器?

事实上,如果我这样做:

window.process = process
Run Code Online (Sandbox Code Playgroud)

我可以在浏览器控制台内使用process.nextTick!我认为nextTick函数是一个特定于Node的实现!有人可以解释一下吗?

谢谢!

javascript node.js webpack

16
推荐指数
2
解决办法
2206
查看次数

Scala中不同的重写方法有什么区别?

Scala允许您以两种合法方式覆盖方法:

鉴于超级课程:

class A {
  def a = "A"
}
Run Code Online (Sandbox Code Playgroud)

我们可以通过以下方式覆盖方法"a":

class B extends A {
  override def a = "B"
}
Run Code Online (Sandbox Code Playgroud)

class B extends A {
  override def a() = "B"
}
Run Code Online (Sandbox Code Playgroud)

两者似乎都正确地覆盖了方法"a".这背后的设计决策是什么?为什么允许B中的"a()"覆盖A中的"a"?

overriding scala

12
推荐指数
1
解决办法
1万
查看次数

Bootstrap工具提示数据切换

在Bootstrap文档页面中,工具提示具有以下签名:

<a href="#" data-toggle="tooltip" title="first tooltip">hover over me</a>
Run Code Online (Sandbox Code Playgroud)

"数据切换"属性在此方案中的作用是什么?

我知道它对标签很有用,但我不知道它可以为工具提示带来什么用处.


克里斯,

工具提示必须明确初始化,如下所示:

$(document).ready(function(){
    $(".link").tooltip();
});
Run Code Online (Sandbox Code Playgroud)

假设"a"标签有一类"链接"."data-toggle"属性不是工具提示正常运行所必需的.但是你提到过,Bootstrap JavaScript文件可以识别某些东西是否是工具提示.因此,省略"数据切换"仍然使工具提示工作(只要有明确的初始化)似乎没有意义.你能解释一下吗?

编辑#2:

在阅读了一些GitHub问题页面之后,我想我得出了以下结论(这是我最好的猜测).

最初,在较旧版本的Bootstrap中,工具提示签名是:

<a href="#" rel="tooltip" title="first tooltip">hover over me</a>
...
<a href="#" rel="tooltip" title="first tooltip">hover over me again!</a>
Run Code Online (Sandbox Code Playgroud)

开发人员可以这样做:

$(document).ready(function(){
    $('[rel="tooltip"]').tooltip();
});
Run Code Online (Sandbox Code Playgroud)

一次激活所有工具提示(因为每个工具提示都需要初始化才能工作).换句话说,它只是一种标识所有工具提示的便捷方式,因此您可以使用jQuery激活所有这些工具提示.

但是rel ="tooltip"没有针对HTML5进行验证,因此人们开始建议使用data-toggle ="tooltip",因为Bootstrap已经对其他组件使用数据切换,而数据*在HTML5中有效.

因此,我的猜测是数据toggle ="tooltip"没有特殊的语义含义或目的,除了提供一种标识所有工具提示的便捷方式.

请注意,您还可以使用ID或类识别工具提示,但为什么不一次激活所有工具提示(修辞问题)?

html5 twitter-bootstrap

12
推荐指数
2
解决办法
3万
查看次数

为什么UITableView在同时滚动和更新时会丢失对标题标题的跟踪?

我遇到了一个错误,其中表视图可能会丢失对标题标题的跟踪,并在其位置创建新的标题标题.(请参见下图;右侧屏幕截图显示丢失的标题.)

在此输入图像描述

虽然我不知道确切原因,但是当我以编程方式滚动表视图并通过调用"beginUpdates"和"endUpdates"同时更新它时,似乎会发生这种情况.任何人都可以解释为什么表视图失去了节标题的跟踪?什么时候发生这种情况?

下面,我提供了一个演示此问题的视图控制器的代码.代码显示一个表视图,其数据模型是一个字符串数组的数组.按下添加按钮时,会向表中添加一个新行并滚动到视图中.在添加一小段时间后,新行比其他单元格更高,以显示它是新添加的单元格.要重现该错误,请按几次"添加"按钮,然后滚动到顶部.(我在4英寸64位iPhone模拟器中对此进行了测试.)

可能导致错误的代码位于" pressedAddButton: "方法中,因为它是在那里我同时滚动和更新表视图.(编辑:许多其他代码只是用于设置数据模型并为表视图提供数据源和委托方法的样板.)

注意:要使代码运行,请将视图控制器放在UINavigationController中并显示导航控制器:

ABCTestViewController * testViewController = [[ABCTestViewController alloc] initWithNibName:nil bundle:nil];
UINavigationController * navigationController = [[UINavigationController alloc] initWithRootViewController:testViewController];
// Now show the navigation controller.
Run Code Online (Sandbox Code Playgroud)

ABCTestViewController.h中:

#import <UIKit/UIKit.h>

@interface ABCTestViewController : UIViewController <UITableViewDataSource, UITableViewDelegate>

@property (weak, nonatomic) UITableView * tableView;

// The data model is an array of arrays of strings.
@property (strong, nonatomic) NSMutableArray * dataModel;

// The special row will be shown as being taller than the other rows.
@property (strong, nonatomic) …
Run Code Online (Sandbox Code Playgroud)

iphone objective-c uitableview ios ios7

12
推荐指数
2
解决办法
2919
查看次数

方差注释,通过Scala编译器跟踪"正"和"负"位置

Scala编程第436页中,作者给出了编译器检查每个类型参数仅用于适当分类的位置的示例.

abstract class Cat[-T, +U] {
  def meow[W^-](volume: T^-, listener: Cat[U^+, T^-]^-) : Cat[Cat[U^+, T^-]^-, U^+]^+
}
Run Code Online (Sandbox Code Playgroud)

该示例如何运作?为什么W和第一个T得到负号?算法如何实际工作?

compiler-construction type-systems scala variance

8
推荐指数
1
解决办法
1114
查看次数

Mailgun到Gmail并回复

我有一个网站example.com,我希望我的客户能够发送电子邮件support@example.com.我习惯使用Gmail,因此我希望收到我的Gmail帐户的所有电子邮件:me@gmail.com并使用Gmail界面回复我的客户.

我正在尝试使用Mailgun和亚马逊的Route 53来实现这一切.在一个方向,我想做这个工作:

some_customer@yahoo.com - > support@example.com - > Mailgun - >(将发件人地址"some_customer@yahoo.com"转换为某些"middleman@mailgun.com") - > me@gmail.com

换句话说,当客户发送support@example.com电子邮件时,它会到达我的Gmail收件箱.

在另一个方向,当我使用我熟悉的Gmail网络界面回复我的客户时:

me@gmail.com - > middleman@mailgun.com - > Mailgun - >(将发件人地址"me@gmail.com"转换为"support@example.com") - > some_customer@yahoo.com

在第二步中,由于我想回复客户,我只是回复,middleman@mailgun.com而Mailgun只是将我的gmail地址更改为support@example.com转发给我的客户.

可以这样做吗?如果是这样,怎么样?

谢谢,

email gmail mailgun

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