我正在浏览PHP中预定义的Exceptions列表,我注意到了DomainException.有人知道DomainException是什么意思吗?这是否意味着数据模型验证失败?
我目前正在学习Objective-C,并在Protocols中遇到了可选方法.我的背景是C#,可以看到一个类似于C#接口的协议.
在C#接口代表合同的地方,通过宣传一个接口,你说你将实现定义的方法.
考虑到这一点,我很困惑为什么你需要定义一个可选方法.这不是诽谤或试图减少Objective-C,我喜欢Objective-C.我只是想了解这些可选方法的好处,以便更好地理解语言.
如果有人可以提供一些可选方法有用的真实场景(带有示例代码),我真的很感激.
所有程序员都应该知道很多事情,但我对我们都应该知道的Unix/Linux命令特别感兴趣.为了完成我们可能在某些时候遇到的任务,例如重构,报告,网络更新等.
我很好奇的原因是因为我在学习学位期间曾在一家软件公司担任过软件测试员,我注意到所有开发人员(开发Windows软件的人)都有2台计算机.
左边是他们的Windows XP开发机器,右边是一个Linux机器.我认为这是Ubuntu.无论如何,他们告诉我他们使用它是因为它提供了Windows在开发过程中无法完成的强大的unix操作.
这让我很奇怪,作为一名软件工程师,您认为您可以在Unix/Linux操作系统上执行哪些最强大的脚本/命令/用途,每个程序员都应该知道这些脚本/命令/用途可以解决现实世界中可能没有的任务.必然与编写代码有关?
我们都知道什么是sed,awk和grep.我对一些已经解决了一个难题的实际Unix/Linux脚本片感兴趣,以便其他程序员可以从中受益.请提供您的故事和来源.
我相信有很多这样的例子,人们会保留在他们的' Scripts '文件夹中.
更新:人们似乎误解了这个问题.我不是要求各个unix命令的名称,而是要求解决问题的UNIX代码片段.
遍历目录树并打印出与正则表达式匹配的任何文件的路径:
find . -exec grep -l -e 'myregex' {} \; >> outfile.txt
Run Code Online (Sandbox Code Playgroud)
调用默认编辑器(Nano/ViM)
(适用于大多数Unix系统,包括Mac OS X)默认编辑器是您的" EDITOR "环境变量设置的任何内容.即:导出EDITOR =/usr/bin/pico,位于Mac OS X下的〜/ .profile.
Ctrl+x Ctrl+e
Run Code Online (Sandbox Code Playgroud)
列出所有正在运行的网络连接(包括它们所属的应用程序)
lsof -i -nP
Run Code Online (Sandbox Code Playgroud)
清除终端的搜索历史(我最喜欢的另一个)
history -c
Run Code Online (Sandbox Code Playgroud) 我是Java的新手,我对某些事感到困惑:
在Java中的简单hello world程序中,没有创建任何对象,所以该类在以下示例中如何工作?
public class HelloWorld
{
public static void main (String args[])
{
System.out.println ("Hello World!");
}
}
Run Code Online (Sandbox Code Playgroud) 是否可以直接从程序中更改应用程序图标?
我的意思是,改变icon.png
了在res\drawable
文件夹中.
我想让用户从程序中更改应用程序的图标,以便下次他们在启动器中看到之前选择的图标.
想象一下以下场景:
我们在几个svn分支中进行了大量的并行开发.有些项目是不分支的,有些是分支的.有很多相互依赖.我们还有一个本地存储库(因此没有开发人员直接下载软件包,我们使用自己的maven存储库).
问题是maven我们必须在所有pom文件中指定版本.具有该版本的工件存储在我们的本地存储库中.在处理多个分支时,我们将使用来自另一个分支的工件覆盖工件的相同版本(在pom文件中).
如果我使用pom文件中的版本号也包含一些分支信息,那么依赖于许多分支模块的非分支模块就会出现问题.
是否有任何标准的解决方案/政策来应对这个问题?
为每个分支创建一个单独的存储库是一个解决方案,但是看看我们可能拥有的分支数量,它有点贵.
我正在尝试学习如何在php中使用oop.我对jquery也很新.是否可以向php类方法发出Ajax请求?我只是将Ajax请求发送到专门用于此目的的文件,并返回我需要的数据.
flex 前端与用 C# 编写的后端通信的最佳方式是什么?HTTP 中唯一的通信通道,因此没有自定义套接字。
我过去使用过 SOAP,但由于 xml 的大量开销而担心性能,而我目前正在开发的这个应用程序将是数据密集型的。
任何支持简单设置和透明编组/解组的东西都可以。
.net 有像 BlazeDS 这样的东西吗?
我必须将一个非常大的数据集从一个系统迁移到另一个系统.其中一个"源"列包含日期,但实际上是一个没有约束的字符串,而目标系统要求格式为yyyy-mm-dd的日期.
许多(但不是全部)源日期格式为yyyymmdd.所以为了强制它们达到预期的格式,我做(在Perl中):
return "$1-$2-$3" if ($val =~ /(\d{4})[-\/]*(\d{2})[-\/]*(\d{2})/);
Run Code Online (Sandbox Code Playgroud)
当源日期远离"通用"yyyymmdd时出现问题.目标是在放弃之前尽可能多地挽救日期.示例源字符串包括:
21/3/1998,2004年3月,2001年,3/4/97
我可以尝试通过一系列正则表达式(如上面的表达式)来匹配尽可能多的示例.
但有更聪明的事情吗?我不是在重新发明轮子吗?在某个地方有类似的东西吗?我找不到任何相关的谷歌搜索"原谅日期解析器".(任何语言都可以).
简介:UIViewController
在初始化该视图时,应该如何知道其UIView实例的大小?
UIView的专用初始化方法是initWithFrame:(CGRect)frame
方法.这将为新创建的UIView设置框架.UIViewController's
如果请求了视图控制器的视图,则可以从loadView方法调用此方法.UIViewController
关于子类化和视图大小的状态文档:
为视图层次结构创建视图时,应始终设置视图的自动调整大小属性.当视图控制器显示在屏幕上时,其根视图通常会调整大小以适应可用空间,可用空间可能会根据窗口的当前方向和状态栏等其他界面元素的存在而变化.
因此,UIViewController
实例应该设置这些属性.到目前为止一直很好,UIViewController
到目前为止还没有必要知道它的观点有多大.
当UIViewController
请求a 的视图并且view属性为nil时,将调用视图控制器的loadView方法.现在有一个问题,因为UIView
需要初始化,但视图控制器仍然不知道视图应该是多大.你应该初始化那个视图有多大?您在代码中确定视图大小的位置?
您可以使用零rect(CGRectZero
)初始化视图:
- (void)loadView {
self.view = [[[UIView alloc] initWithFrame:CGRectZero] autorelease];
}
Run Code Online (Sandbox Code Playgroud)
让调用者像这样设置视图框:
UIViewController *viewController = [[MyUIViewController alloc] init];
// next two lines are normally combined, but for clarity they are not now
UIView *view = viewController.view;
view.frame = CGRectMake(0, 0, 200, 200);
Run Code Online (Sandbox Code Playgroud)
这将从视图控制器(viewController.view)请求视图,从而使用loadView方法加载其视图.此loadView方法使用a初始化视图CGRectZero
.然后调用者设置其框架(view.frame = ...)
问题是视图上的frame属性设置了两次,如果你的自定义UIView
在setFrame方法中进行一些高级布局(例如放置和调整子视图),可能会导致更多的双重工作.您可以通过为UIViewController
已经向调用者请求CGRect 的专用初始化方法来阻止这种情况,CGRect将存储在ivar中.在调用loadView方法时,使用此ivar创建视图.
去这儿的好方法是什么?或者设置视图的框架两次(初始化CGRectZero
,事后设定),或给予 …