小编Ste*_*sen的帖子

Scrum和敏捷开发有什么区别?

Scrum和敏捷开发有什么区别?Sprint和Iterations是一样的吗?

agile scrum sdlc

382
推荐指数
7
解决办法
54万
查看次数

如何在脚本本身内重定向整个shell脚本的输出?

是否可以将Bourne shell脚本的所有输出重定向到某个地方,但是脚本本身内部有shell命令?

重定向单个命令的输出很简单,但我想要更像这样的东西:

#!/bin/sh
if [ ! -t 0 ]; then
    # redirect all of my output to a file here
fi

# rest of script...
Run Code Online (Sandbox Code Playgroud)

含义:如果脚本以非交互方式运行(例如,cron),则将所有内容的输出保存到文件中.如果从shell以交互方式运行,请让输出像往常一样转到stdout.

我想为通常由FreeBSD定期实用程序运行的脚本执行此操作.它是日常运行的一部分,我通常不会每天都看到电子邮件,所以我没有发送它.但是,如果这个特定脚本中的某些内容失败,那对我来说很重要,我希望能够捕获并通过电子邮件发送这部分日常工作的输出.

更新:Joshua的回答是正确的,但我也想在整个脚本周围保存和恢复stdout和stderr,这样做:

# save stdout and stderr to file descriptors 3 and 4, then redirect them to "foo"
exec 3>&1 4>&2 >foo 2>&1

# ...

# restore stdout and stderr
exec 1>&3 2>&4
Run Code Online (Sandbox Code Playgroud)

shell

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

Rails API设计,不会禁用CSRF保护

早在2011年2月,Rails 就更改为要求所有非GET请求的CSRF令牌,甚至是API端点的请求.我理解为什么这是浏览器请求的重要更改的解释,但该博客文章没有提供有关API应如何处理更改的任何建议.

我对某些操作禁用CSRF保护不感兴趣.

API如何应对这种变化?期望API客户端向API发出GET请求以获取CSRF令牌,然后在该会话期间的每个请求中包含该令牌吗?

似乎令牌不会从一个POST更改为另一个POST.假设令牌在会话期间不会改变是否安全?

我不喜欢会话到期时的额外错误处理,但我认为它比在每个POST/PUT/DELETE请求之前获取令牌更好.

api ruby-on-rails csrf

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

减速后预测UIScrollView中的静止偏移量

我希望能够在轻弹手势后预测UIScrollView中的最终静止偏移.它不需要像素精确,但足够接近使得用户不会感觉到差异(即,它不会比他们习惯的那样移动得过多或过多).

我知道有人会问,所以:为什么?我在UIScrollView中有一个类似于表视图的菜单控件.我想这样做,以便最顶层的菜单项完全显示并刷新到UIScrollView的顶部.UIScrollView的分页功能并不是我想要的,因为强大的轻弹不会超过视图范围的倍数.

处理正常的触摸事件很容易.在touchesEnded:withEvent:,我可以滚动到最近的完整菜单项.困难的部分是减速.

减速率有两个常数,UIScrollViewDecelerationRateNormalUIScrollViewDecelerationRateFast.它们在iPhone OS 3.0中的值为0.998和0.990.我试图弄清楚苹果用来减缓运动的数学运算,但我现在空了.

如果我可以准确地预测最终的静止偏移,那么在减速期间的早期我可以简单地使用scrollRectToVisible:animated:移动到偏移,其中菜单项齐平到视图边界的顶部.

有没有数学倾向的人知道苹果在减速期间可能会做些什么?我应该收集一堆减速事件,绘制它们并提出一些接近的东西吗?

cocoa-touch uiscrollview

25
推荐指数
1
解决办法
6796
查看次数

将一个字符串拆分为不同的字符

我有一个字符串中的文本,如下所示

011597464952,01521545545,454545474,454545444|Hello this is were the message is.
Run Code Online (Sandbox Code Playgroud)

基本上我希望消息的不同字符串中的每个数字,例如

NSString *Number1 = 011597464952 
NSString *Number2 = 01521545545
etc
etc
NSString *Message = Hello this is were the message is.
Run Code Online (Sandbox Code Playgroud)

我希望从一个包含所有内容的字符串中分离出来

string iphone split objective-c

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

使用多个开发人员证书解决协议签名证书歧义

我最近为另一家公司做了一些工作,为他们构建了一个iPhone应用程序.当我在他们的办公室,使用他们的计算机和我的办公室之间分配开发时间时,我生成了一个密钥,并将其作为iPhone开发中心"团队"的一部分进行签名.

我已经有一个现有的开发人员中心帐户和我自己的开发人员证书 导入客户端项目的证书后,签署该应用程序会给我一个来自codesign的警告,它会找到多个与"iPhone Developer:Steve Madsen"相匹配的证书,但它会选择正确的证书并签署二进制文件.

我现在回到我的一个旧项目,使用我自己的开发人员证书.Codesign告诉我,它无法解决我的证书与用于我的客户的证书之间的歧义:

iPhone开发者:史蒂夫·马德森:模糊(匹配"iPhone开发者:史蒂夫·马德森(9E69FVL37K)"和"iPhone开发者:史蒂夫·马德森"在/Volumes/Users/steve/Library/Keychains/login.keychain)

客户端证书是(9E69FVL37K)的证书,我认为它是如何在我的客户的项目中解决问题.

如何配置Xcode项目以使用正确的标识?在目标构建设置下选择特定的(不是自动配置文件选择器)没有帮助.

更好的是,虽然Apple预计开发人员可能是多个团队的成员,但我没有找到关于像我这样的开发人员应如何设置我的环境的文档.生成第二个密钥/证书似乎是实现此功能的唯一方法,因为配置文件必须与一个团队的程序门户下的证书相关联.有没有人对如何使这个过程顺利进行有很好的建议?

iphone codesign

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

CakePHP控制器的实际测试?

我正在使用SimpleTest 1.0.1用CakePHP(刚刚发布的1.2.4)编写一个新的应用程序.我已经阅读了Cookbook的相关章节,在Bakery上搜索过,并阅读了Mark Story关于控制器测试的帖子(艰难的方式模拟).

不幸的是,这些都没有涉及非平凡控制器的实际测试.许多应用程序将网站的区域置于登录后面,但我无法弄清楚如何测试以下简单方案:

  • 访客访问受保护的页面重定向?
  • 有效凭证设置预期的会话变量?
  • 无效的凭据重新显示登录页面并显示错误消息?

下面的控制器和测试不能像我想象的那样工作.两个断言都失败了,我也得到一个PHP错误:

在[.../app/tests/cases/controllers/users_controller.test.php第79行]中,FAILED [NULL]不应该为空... .../app/tests/cases/controllers/users_controller.test.php - > UsersControllerTest - > testLogin

FAILED等于期望失败,因为[NULL]与[.../app/tests/cases/controllers/users_controller.test.php第80行]中的[Integer:1]不匹配.../app/tests/cases/controllers/users_controller.test.php - > UsersControllerTest - > testLogin

ERROR意外PHP错误[未定义索引:操作]严重性[E_NOTICE]在[.../cake/libs/controller/components/auth.php第266行] .../app/tests/cases/controllers/users_controller.test中. php - > UsersControllerTest - > testLogin

这是控制器(烘焙加Mark Story的"硬路"测试方法):

class UsersController extends AppController
{
  var $name = 'Users';
  var $helpers = array('Html', 'Form');
  var $components = array('Auth');

  function login()
  {
  }

  function logout()
  {
    $this->redirect($this->Auth->logout());
  }

  function index()
  {
    $this->set('users', $this->paginate());
  }

  function view($id = null) …
Run Code Online (Sandbox Code Playgroud)

php testing simpletest cakephp

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

如何使用相对点以编程方式定位视图?

当超视图的界限尚未知晓时,相对于其超视图大小定位视图的最佳方法是什么?

如果可能的话,我试图避免硬编码坐标.也许这很愚蠢,如果是这样,这是一个完全可以接受的答案.

在使用自定义UI时,我遇到过很多次.最近的例子是我试图UINavigationItem用自定义视图替换纯文本标题.我希望该视图填充超视图,但另外,我想UIActivityIndicatorView在右侧,插入约2个像素并垂直居中.这是代码:

- (void) viewDidLoad
{
    [super viewDidLoad];

    customTitleView = [[UIView alloc] initWithFrame:CGRectZero];
    customTitleView.autoresizingMask = UIViewAutoresizingFlexibleHeight | UIViewAutoresizingFlexibleWidth;

    titleLabel = [[UILabel alloc] initWithFrame:CGRectZero];
    titleLabel.autoresizingMask = UIViewAutoresizingFlexibleHeight | UIViewAutoresizingFlexibleWidth;
    titleLabel.lineBreakMode = UILineBreakModeWordWrap;
    titleLabel.numberOfLines = 2;
    titleLabel.minimumFontSize = 11.0;
    titleLabel.font = [UIFont systemFontOfSize:17.0];
    titleLabel.adjustsFontSizeToFitWidth = YES;
    [customTitleView addSubview:titleLabel];

    spinnerView = [[UIActivityIndicatorView alloc] initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleWhite];
    spinnerView.center = CGPointMake(customTitleView.bounds.size.width - (spinnerView.bounds.size.width / 2) - 2,
                                     customTitleView.bounds.size.height / 2);
    spinnerView.hidesWhenStopped = YES;
    [customTitleView addSubview:spinnerView];

    self.navigationItem.titleView = customTitleView;
    [customTitleView release];
}
Run Code Online (Sandbox Code Playgroud)

这是我的问题:在这段代码运行的时候, …

iphone cocoa-touch

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

CFStream + SSL 导致 OSStatus 错误 -108

我有一些代码可以为启用CFStreamSSL/TLS的远程服务器创建一对对象。这段代码在 OS X 上运行得很好,但在 iOS 下运行时,它失败了。这是控制台日志:

2011-04-26 22:39:35.820 RemoteSample[92127:40b] connecting to 192.168.1.187:8099
2011-04-26 22:39:35.825 RemoteSample[92127:40b] INPUT: NSStreamEventOpenCompleted
2011-04-26 22:39:35.825 RemoteSample[92127:40b] OUTPUT: NSStreamEventOpenCompleted
2011-04-26 22:39:35.827 RemoteSample[92127:40b] INPUT: NSStreamEventErrorOccurred
2011-04-26 22:39:35.828 RemoteSample[92127:40b] Error on input stream: The operation couldn’t be completed. (OSStatus error -108.)
2011-04-26 22:39:35.829 RemoteSample[92127:40b] OUTPUT: NSStreamEventErrorOccurred
2011-04-26 22:39:35.829 RemoteSample[92127:40b] Error on output stream: The operation couldn’t be completed. (OSStatus error -108.)
Run Code Online (Sandbox Code Playgroud)

OSStatus 错误 -108 似乎是 memFullErr,这很奇怪,我不太确定该怎么办。这发生在模拟器和设备上。它在 Mac OS X 应用程序中编译和运行时不会出现此问题。只有在为 iOS 构建时才会发生此错误。

花了几个小时尝试各种想法和大量搜索后,我可以使用一些有关下一步的建议。

这是代码:

CFReadStreamRef …
Run Code Online (Sandbox Code Playgroud)

iphone ssl networking cocoa-touch cfstream

5
推荐指数
0
解决办法
836
查看次数

如何在Elixir中更好地构建此代码?

我正在学习Elixir作为我的第一个功能风格的语言.作为第一个熟悉环境和语法的简单项目,我选择构建一个简单的程序来计算命令行中提供的数字的素因子.这是我的第一个解决方案:

defmodule Prime do
  defp is_factor?(number, divisor) do
    cond do
      rem(number, divisor) == 0 -> divisor
      true                      -> nil
    end
  end

  defp not_nil?(thing) do
    !is_nil(thing)
  end

  def factors(number) when number == 1 do
    []
  end

  def factors(number) do
    1..div(number, 2)
      |> Enum.map(&(is_factor?(number, &1)))
      |> Enum.filter(&not_nil?/1)
  end

  def is_prime?(number) when number == 1 do
    true
  end

  def is_prime?(number) do
    factors(number) == [1]
  end

  def prime_factors(number) do
    factors(number)
      |> Enum.filter(&is_prime?/1)
  end
end

input = hd(System.argv)
number = String.strip(input) |> String.to_integer
IO.puts "Prime …
Run Code Online (Sandbox Code Playgroud)

elixir

5
推荐指数
2
解决办法
1129
查看次数