我希望能够通过我的应用程序中的任何位置引用某些状态/对象.例如,用户登录到他们的应用程序,我需要调用Web服务并检索用户信息.然后,我希望能够从应用程序的任何位置访问此信息,如下所示:
myAppDelegate *delegate = [[UIApplication sharedApplication] delegate];
user = delegate.u;
Run Code Online (Sandbox Code Playgroud)
是否在应用程序委托中将实例变量设置为User对象,并在需要时从那里引用它是一种糟糕的方式来实现它?我通常根据用户的登录设置它.
想听听专业人士如何处理这个.
我有一个包含域名的MySQL表:
+----+---------------+
| id | domain |
+----+---------------+
| 1 | amazon.com |
| 2 | google.com |
| 3 | microsoft.com |
| | ... |
+----+---------------+
Run Code Online (Sandbox Code Playgroud)
我希望能够在此表中搜索完整的主机名(即"www.google.com").如果它是相反的方式,表中包含我使用的完整URL:
SELECT * FROM table WHERE domain LIKE '%google.com%'
Run Code Online (Sandbox Code Playgroud)
但反过来并不那么简单.我目前的想法是搜索完整的主机名,然后逐步剥离域的每个部分,然后再次搜索.(即搜索'www.google.com'然后'google.com')
这不是特别有效或聪明,必须有更好的方法.我确信这是一个常见的问题,毫无疑问很容易解决!
目前我有一个函数CreateLog()用于在构造实例的类之后创建一个带有名称的log4net日志.通常用于:
class MessageReceiver
{
protected ILog Log = Util.CreateLog();
...
}
Run Code Online (Sandbox Code Playgroud)
如果我们删除了大量的错误处理,实现归结为:[编辑:请在本文中进一步阅读更长版本的CreateLog.]
public ILog CreateLog()
{
System.Diagnostics.StackFrame stackFrame = new System.Diagnostics.StackFrame(1);
System.Reflection.MethodBase method = stackFrame.GetMethod();
return CreateLogWithName(method.DeclaringType.FullName);
}
Run Code Online (Sandbox Code Playgroud)
问题是,如果我们将MessageReceiver置于子类中,则日志仍将从MessageReceiver获取其名称,因为这是调用CreateLog的方法(构造函数)的声明类.
class IMReceiver : MessageReceiver
{ ... }
class EmailReceiver : MessageReceiver
{ ... }
Run Code Online (Sandbox Code Playgroud)
这两个类的实例将获得与名称"的messageReceiver"日志,而我想他们是赐名"IMReceiver"和"EmailReceiver".
我知道这很容易通过调用CreateLog时,因为对对象对GetType()方法,我想要做什么创作传递一个参考对象来完成(并完成).
有一些小的理由不喜欢不添加参数,个人感到不安,因为没有找到没有额外参数的解决方案.
是否有人可以告诉我如何实现零参数CreateLog()从子类而不是声明类获取名称?
编辑:
CreateLog函数比上面提到的更多.每个实例有一个日志的原因是能够在日志文件中的不同实例之间有所不同.这由CreateLog/CreateLogWithName对强制执行.
扩展CreateLog()的功能以激发其存在.
public ILog CreateLog()
{
System.Diagnostics.StackFrame stackFrame = new System.Diagnostics.StackFrame(1);
System.Reflection.MethodBase method = stackFrame.GetMethod();
Type type = method.DeclaringType;
if (method.IsStatic)
{
return CreateLogWithName(type.FullName);
}
else
{
return CreateLogWithName(type.FullName + "-" + …Run Code Online (Sandbox Code Playgroud) 我正在与我现在的雇主处理一个问题,这个问题严重地让我考虑在其他地方找工作.它们的印象是100%的自定义开发应该被淘汰并替换为COTS产品,例如SharePoint.虽然我意识到这不是一个现实的期望,但我发现不可能与管理层中的人分享这些观点.他们的论点通常涉及SharePoint中已存在的功能,其中包含功能X,因此涉及的风险较小,并且不必对其进行测试.
举个例子,我们的情况是SharePoint列表完全无法满足客户的期望和要求.但是,将此数据保存在SQL数据库中很容易满足要求.然而,只要我们的开发团队建议超出SharePoint的界限,管理层就会对每行代码如何增加项目的复杂性并增加风险感到震惊.虽然在某些情况下肯定是这样,但情况并非总是如此.然而,他们的论点是,由于SharePoint提供了一种存储数据的机制,我们应该100%使用它.无论是否满足客户要求.
我已经到了我讨厌上班的地步,因为我经常被迫做我认识的事情(100%肯定)是不对的,这可以通过定制开发来做到.然而,这似乎是我工作的一个不可能的论点.
你们有没有遇到过类似的情况?如果是这样,你做了什么来应对这些挑战?
你如何计算glsl中两个法线之间的角度?我试图将菲涅尔效果添加到对象的外边缘(将该效果与phong着色相结合),我认为角度是我唯一缺少的.
片段着色器:
varying vec3 N;
varying vec3 v;
void main(void) {
v = vec3(gl_ModelViewMatrix * gl_Vertex);
N = normalize(gl_NormalMatrix * gl_Normal);
gl_Position = gl_ModelViewProjectionMatrix * gl_Vertex;
}
Run Code Online (Sandbox Code Playgroud)
顶点着色器:
varying vec3 N;
varying vec3 v;
void main(void) {
vec3 L = normalize(gl_LightSource[0].position.xyz - v);
vec3 E = normalize(-v);
vec3 R = normalize(-reflect(L,N));
vec4 Iamb = gl_FrontLightProduct[0].ambient
vec4 Idiff = gl_FrontLightProduct[0].diffuse * max(dot(N,L), 0.0);
vec4 Ispec = gl_FrontLightProduct[0].specular * pow(max(dot(R,E),0.0), gl_FrontMaterial.shininess);
vec4 Itot = gl_FrontLightModelProduct.sceneColor + Iamb + Idiff + Ispec;
vec3 …Run Code Online (Sandbox Code Playgroud) 我有一些使用空格进行缩进的.py文件,我想将它们转换为制表符.
我可以很容易地使用正则表达式来破解一些东西,但我可以想到这种方法可能失败的几个边缘情况.是否有一个工具通过解析文件并确定缩进级别与python解释器相同的方式来执行此操作?
Python安装在本地目录中.
我的目录树如下所示:
(local directory)/site-packages/toolkit/interface.py
Run Code Online (Sandbox Code Playgroud)
我的代码在这里:
(local directory)/site-packages/toolkit/examples/mountain.py
Run Code Online (Sandbox Code Playgroud)
为了运行这个例子,我写了python mountain.py,在我的代码中:
from toolkit.interface import interface
Run Code Online (Sandbox Code Playgroud)
我收到错误:
Traceback (most recent call last):
File "mountain.py", line 28, in ?
from toolkit.interface import interface
ImportError: No module named toolkit.interface
Run Code Online (Sandbox Code Playgroud)
我已经检查过sys.path,我有目录/site-packages.另外,我__init__.py.bin在toolkit文件夹中有文件向Python表明这是一个包.我__init__.py.bin在examples目录中也有一个.
我不知道为什么Python在它出现时无法找到该文件sys.path.有任何想法吗?可以是权限问题吗?我需要一些执行权限吗?
我在一些matrials中看到了这句话:
"在Java中,简单的数据类型(如int和char)就像在C中一样运行."
我想知道它们在Java和C++中实际上是不同的吗?
在C++中,像Java中的原语这样的简单变量也被赋予了一个内存地址,因此C++中的这些原始类型也可以有一个指针.但是Java中的原语并没有分配像Objects这样的内存地址.
我对么?
谢谢!
我正在尝试将Excel文档转换为SQL 2005中的表.我找到了下面的链接,我想知道它是否看起来像一个解决方案.如果是这样,@ excel_full_file_name语法是什么以及路径相对于何处?
http://www.siccolo.com/Articles/SQLScripts/how-to-create-sql-to-convert-Excel_to_table.html
python ×2
sql ×2
.net ×1
angle ×1
c# ×1
c++ ×1
cocoa-touch ×1
cots ×1
database ×1
excel ×1
fresnel ×1
geometry ×1
glsl ×1
graphics ×1
importerror ×1
indentation ×1
iphone ×1
java ×1
logging ×1
mysql ×1
objective-c ×1
primitive ×1
reflection ×1
sharepoint ×1
wpf ×1