我习惯脚本语言.PHP,Javascript等,我写了一些相对简单的Java和C#应用程序.这是一个我一再需要答案的问题,我想我不是唯一一个.
假设我使用的是Javascript.
我有一个由GUI调用的函数A(),它检索一些值.
函数B(),也由GUI调用,需要该值,但函数B()将被调用任意次数,即A()之后的任意长度.
我不希望A()每次重新计算值.
一个示例是登录凭据.A()要求输入用户名,B()使用该值在每次调用时追加到日志中.
为此我可能只使用一个全局变量.
现在,C#.没有全局变量!我该怎么做?
编辑: 享受答案,但有很多"尽量不使用全局"的评论.我明白了,但我想听听这个要求的替代模式.
我们正在运行来自TFS的持续集成构建,并使用symstore.exe生成大量符号文件(去年左右价值67GB).其他人如何清理符号文件?你自动化这个过程吗?
我只是想进入python,但我发现很难找到任何Python 3的资源.到目前为止我所有的都是diveintopython3.org,而且它有限.无论如何,我只是试图通过做一些非常基本的东西来感受语言,但我无法弄清楚为什么这个小程序不会做我想要的,即添加2个数字.我相信这里有人知道如何修复它,但是非常感谢包含Python 3教程的任何其他资源:
def add(num=0,num2=0):
sumEm = (num+num2)
print (sumEm)
if __name__ == '__main__':
num = input("Enter a number: ")
num2 = input("Enter a number: ")
add(num,num2)
Run Code Online (Sandbox Code Playgroud)
输出:
Enter a number: 23
Enter a number: 24
23
24
Run Code Online (Sandbox Code Playgroud) 我正在寻找一个Java库来显示来自各种来源的地图数据,包括shapefile,WMS,WFS,谷歌地图,可能还有ArcIMS等.看起来OpenLayers是最接近我想要的东西,除了它是一个JavaScript库,并且我正在写一个Swing应用程序.
GDAL看起来很有希望,但据我所知,在未来"某个时间"之前不会有Java绑定.
为了清楚起见,我正在寻找一个可用于显示来自多个地图服务器/源的地图的Java API.
有谁知道这样的事情是否存在,如果没有,从哪里开始?我应该在GeoTools之上构建这个API吗?要么...
如何使用jquery阻止特殊字符输入到输入字段?
从技术上讲,这可能不属于编程问题,因为我已经实现了一个解决方案.但这仍然是科技领域的一个有趣问题.
无论如何......我设置了一个基本的联系表格,没有任何垃圾邮件保护.在发现它无法正常工作时,我忽略了它并设置了一个Javascript以更改指向联系页面的所有链接以使用mailto:链接.(我打算用关于联系我的相应消息替换表单.)我昨天发现表单现在突然正常工作,因为我收到了垃圾邮件.这是一个例子:
从联系表单收到的消息.
姓名:
pvenvoqks
电邮:allceh@bxyzsn.com消息:
Mx7orZ iafgvohkzxmv, [url=http://wxmrsloamyhf.com/]wxmrsloamyhf[/url], [link=http://gloukuwmttnj.com/]gloukuwmttnj[/link], http://vmekxmqouktx.com/
这显然只是胡言乱语.我检查了链接,但它们无法正常工作.似乎有一个机器人只是在表单中提交随机数据 - 尽管注意到它设法接收应该在适当的字段中提交电子邮件.
我的问题是,这个垃圾邮件试图达到目的吗?我会理解这些链接是否会导致医学或恶意软件或其他东西的真实网站,但他们没有.它似乎完全随机.
旁白:如果有人感兴趣,我使用"隐藏字段"解决方案来打击垃圾邮件.我使用了一个名为"网站"的隐藏字段,如果填写,则不会发送电子邮件.
我没有启用python/ruby.我的问题:我经常要编写如下内容:
%macro(200701);x gzip /home/test/200701.txt;run;
%macro(200702);x gzip /home/test/200702.txt;run;
%macro(200703);x gzip /home/test/200703.txt;run;
%macro(200704);x gzip /home/test/200704.txt;run;
%macro(200705);x gzip /home/test/200705.txt;run;
%macro(200706);x gzip /home/test/200706.txt;run;
%macro(200707);x gzip /home/test/200707.txt;run;
%macro(200708);x gzip /home/test/200708.txt;run;
%macro(200709);x gzip /home/test/200709.txt;run;
%macro(200710);x gzip /home/test/200710.txt;run;
%macro(200711);x gzip /home/test/200711.txt;run;
%macro(200712);x gzip /home/test/200712.txt;run;
%macro(200801);x gzip /home/test/200801.txt;run;
%macro(200802);x gzip /home/test/200802.txt;run;
%macro(200803);x gzip /home/test/200803.txt;run;
%macro(200804);x gzip /home/test/200804.txt;run;
%macro(200805);x gzip /home/test/200805.txt;run;
%macro(200806);x gzip /home/test/200806.txt;run;
%macro(200807);x gzip /home/test/200807.txt;run;
%macro(200808);x gzip /home/test/200808.txt;run;
%macro(200809);x gzip /home/test/200809.txt;run;
%macro(200810);x gzip /home/test/200810.txt;run;
%macro(200811);x gzip /home/test/200811.txt;run;
%macro(200812);x gzip /home/test/200812.txt;run;
Run Code Online (Sandbox Code Playgroud)
在Vim有这么快的方法吗?
我通常会输入:
%macro(200701);x gzip /home/test/200701.txt;run;
Run Code Online (Sandbox Code Playgroud)
然后发出以下命令:
yy11p10<up>13<right>r2<down>r3<down>r4<down>... …Run Code Online (Sandbox Code Playgroud) 更新
已经提到,不会根据文档调用viewWillAppear和viewDidAppear.但是,我在这些方法中不执行初始化,也没有向视图添加UI元素.
我只是用它们来设置断点来尝试调试它.
还有其他想法吗?
原始问题
我很难过.我正在重构一些代码,并遇到了一些奇怪的行为....
我在没有nib的情况下初始化viewController A并以编程方式设置视图.
调用控制器A中的viewDidLoad.
在viewController A的viewDidLoad里面,我从一个nib初始化viewController B.
我将viewControllerB.view添加为viewControllerA.view的子视图
调用控制器B的viewDidload.
然后它变得奇怪:
viewController B的viewWillAppear和viewDidAppear 永远不会被调用.
viewControllerB.view 永远不会在屏幕上显示它.
没有错误.
我查过的东西:
viewControllerBs Nib的名称是正确的.
viewControllerB的视图出口连接到视图.
viewControllerB及其视图都是非零的.
最重要的是,SDK [编辑] beta 5中的一切都很棒!
有任何想法吗?它必须是愚蠢的东西..
据我了解,你应该使用这个Environment.GetFolderPath方法,所以你有独立于操作系统的代码......
Windows XP使用C:\Documents and Settings\.Windows Vista使用C:\ProgramData和C:\Users.
我在Windows Vista计算机上使用下面的代码,它正在返回一个C:\Documents and Settings\目录而不是C:\ProgramData它应该...任何想法?
string commonAppData = Environment.GetFolderPath(Environment.SpecialFolder.CommonApplicationData);
try
{
File.CreateText(
Environment.GetFolderPath(Environment.SpecialFolder.CommonApplicationData) +
"\\mycompany\\uid");
log.Debug("Created file successfully");
}
catch (Exception ex)
{
log.Error("Unable to create the uid file: ", ex);
}
Run Code Online (Sandbox Code Playgroud) 我正在使用需要非常高级的图像处理的Java项目.事实上,我正在使用OpenCV进行大部分操作,而我正在使用JNI来包装我需要的OpenCV函数.我对OpenCV给出的性能非常满意,编写OpenCV代码的人应该为代码赢得极大的荣誉.与Java开发人员编写的代码形成鲜明对比.
我开始对我的编程语言的选择持乐观态度,我项目的第一次工作迭代工作得很好,但它的性能远不及实时(每2秒大约1帧).我已经对MY代码进行了一些优化,它帮了很多忙.我已经能够将帧速率提高到大约每秒10-20帧,这很好,但我发现要进行任何进一步的优化我必须重写Java代码来做同样的事情但是10效率提高-20倍.
我对Java开发人员如何很少关注性能感到震惊,尤其是在为Media相关类编写类时.我已经下载了OpenJDK,我正在探索我正在使用的功能.例如,在Raster类下有一个名为getPixels(...)的函数,它获取图像的像素.我期望这个函数在源代码中是一个高度优化的函数,有几个调用System.arrayCopy来进一步优化性能.相反,我发现的是非常"优雅"的代码,他们调用5-6个不同的类和10-20个不同的方法,只是为了完成我在一行中可以做的事情:
for (int i =0; i < n; i++) {
long p = rawFrame[i];
p = (p << 32) >>> 32;
byte red = (byte) ((p >> 16) & 0xff);
byte green = (byte) ((p >> 8) & 0xff);
byte blue = (byte) ((p) & 0xff);
byte val = (byte)(0.212671f * red + 0.715160f * green + 0.072169f * blue);
data[i] = val;
grayFrameData[i] = (val & 0x80) + (val & (0x7f));
}
Run Code Online (Sandbox Code Playgroud)
上面的代码将图像转换为灰度,并获得浮点像素数据,大约1-10ms.如果我想对Java内置函数做同样的事情,转换为灰度本身需要200-300ms,然后抓取浮动像素需要大约50-100ms.这对于实时性能来说是不可接受的.注意为了获得加速,我大量使用按位运算符,Java开发人员不愿意这样做.
我知道他们需要处理一般情况,但即便如此,他们至少不能给出优化选项,或者至少警告这个代码可能执行的速度有多慢.
我的问题是,在开发的最后阶段(我已经进行了第一次迭代,而不是我正在进行第二次迭代,实时执行更多)我应该咬紧牙关切换到C/C++我可以在调整更多东西,或者我应该坚持使用Java并希望事情变得更加实时友好,这样我就不必重写已经实现的Java代码来获得加速.
我真的开始厌恶"优雅"和慢速Java的真实性.那里的课程数量似乎有点矫枉过正.