我最近从css-tricks.com博客#38:iPhone设计的基础知识和技巧中完成了Chris Coyier教程.毋庸置疑,我非常兴奋,并向一个人建议我做一些代码猴工作,我们现在可以向他的客户提供iPhone网站.他说很酷,但其他移动设备呢?好问题.那么Android,Blackberry,WindowsMobile等网站设计的低端是什么?人们是否在困扰其他平台?谢谢.
我正在创建一个不可变的类.
我已将所有属性标记为只读.
我有一个课程列表.
虽然如果属性是只读的,则可以修改列表.
公开列表的IEnumerable使其不可变.
我想知道为了使一个类不可变而必须遵循的基本规则是什么?
我很想知道你用于项目参考的结构类型是什么?
在我工作的地方,开发人员有一个名为AssemblyCache(\\ MACHINENAME\AssemblyCache)的共享文件夹,它通过Windows 2008 AD中的GPO(与开发人员AD组绑定)映射到R:\.
我们的共享组件具有后期构建事件,可将它们复制到以下内容:
R:\.净%VERSION%\ Project \%SOMETHING%
有时它会跟随'Common',如果它是项目的共同点或特定的东西.在.Net版本文件夹下还有一个共享内容的公共目录.
这是多个解决方案的大型项目可以从一个共同的地方引用组件.
构建机器还具有相同共享名称的共享驱动器,开发人员已将其映射到S:.这允许他们在需要时获得最新的工作版本.
所有这一切都是因为有人可以使用新的PC,并打开一个项目,而无需复制对不同位置的引用,并确保dev a引用与dev b等相同位置的程序集...
这个解决方案对我们很有用,所以我想知道你有什么(如果有的话)解决方案来确保所有开发人员从同一路径引用程序集?
我有一个接口A,我必须提供一些不同的实现.但是,这些实现共享一些辅助方法,因此我将这些方法移动到抽象基类.
Interface A {
void doX();
}
abstract Class B implements A {
protected void commonY() {
// ...
}
@Override
public abstract void doX();
}
Class C extends B {
@Override
public void doX() {
// ...
}
}
Class D extends B {
@Override
public void doX() {
// ...
}
}
Run Code Online (Sandbox Code Playgroud)
我的代码按预期工作,但我有几个问题:
我应该在B类中声明抽象方法doX()吗?为什么不)?
我是否还应该在C类和D类上明确声明"实现A"?为什么不)?
有没有人知道一个非常简单的方法,只是将字符串的第一个字母大写,而不管字符串其余部分的大小写?
例如:
asimpletest -> Asimpletest
aSimpleTest -> ASimpleTest
Run Code Online (Sandbox Code Playgroud)
我希望能够完成所有字符串长度.
当我在Delphi 2006下编译我的应用程序时,我收到以下警告[Pascal警告] - W1002符号'FileSetDate'特定于一个平台
我该怎么做才能抑制这个警告?
代码
MyLastError:= FileSetDate( Files[ i ].Handle, DateTimeToFileDate( arcDate ) );
Run Code Online (Sandbox Code Playgroud) 根据这篇文章,由于代码的JIT编译,.NET程序集不需要变基.文章指出:
"JIT编译的代码没有重定位问题,因为地址是在运行时根据代码放置在内存中的位置生成的.此外,MSIL很少受到基地址丢失的影响,因为MSIL引用是基于令牌的,而不是地址因此,当使用JIT编译器时,系统对基地址冲突具有弹性."
但是,我注意到VS2008为所有程序集分配了默认的0x0400000基址(项目属性>构建>高级),如果我listdlls /r为我的进程执行了一个操作,那么我的所有.NET程序集实际上都是默认的.
如果我自己分配地址,则不会进行变基.
我的问题是:在这种情况下,什么是重新定义的?为什么?
编辑:我应该补充一点,我不是在谈论NGen'ed集会.
问题:
说明:
我最近想在/ usr/bin/env周围编写一个包装器,因为我的CGI环境不允许我设置PATH变量,除了全局(当然这很糟糕!).
所以我想,"好的.让我们设置PREPENDPATH并在环绕包装器中设置PATH." 生成的脚本(此处称为env.1)如下所示:
#!/bin/bash
/usr/bin/env PATH=$PREPENDPATH:$PATH $*
Run Code Online (Sandbox Code Playgroud)
看起来它应该工作.在设置PREPENDPATH后,我检查了它们是如何反应的:
$ which /usr/bin/env python
/usr/bin/env
/usr/bin/python
$ which /usr/bin/env.1 python
/usr/bin/env
/home/pi/prepend/bin/python
Run Code Online (Sandbox Code Playgroud)
看起来绝对完美!到现在为止还挺好.但看看"Hello World!"会发生什么.
# Shebang is #!/usr/bin/env python
$ test-env.py
Hello World!
# Shebang is #!/usr/bin/env.1 python
$ test-env.1.py
Warning: unknown mime-type for "Hello World!" -- using "application/*"
Error: no such file "Hello World!"
Run Code Online (Sandbox Code Playgroud)
我想我错过了一些关于UNIX的基本内容.
我很失落,甚至看着原来的源代码后,ENV.它设置环境并启动程序(或者在我看来......).
我正在研究将MemCached用于我正在开发的Web应用程序,在过去几天研究MemCached之后,我遇到了一个我无法找到答案的问题.
如何将Memcached服务器链接在一起或如何在MemCached服务器之间复制数据?
另外:这个功能是由服务器还是客户端控制的,如何?
如何在python中扩展内置类?我想在str类中添加一个方法.
我已经做了一些搜索,但我发现的都是较旧的帖子,我希望有人知道更新的东西.
.net ×3
assemblies ×2
python ×2
string ×2
abstract ×1
apache ×1
base-address ×1
browser ×1
c# ×1
class ×1
declaration ×1
delphi ×1
environment ×1
immutability ×1
interface ×1
iphone ×1
java ×1
linux ×1
memcached ×1
mobile ×1
rebasing ×1
shebang ×1
unix ×1