这让我感到困惑了一段时间.我正在浏览目录并回显其内容,我想排除".."和"." 文件.
现在,这段代码有效:
if ($files = scandir("temp/"))
{
foreach ($files as $file)
{
if ($file == ".." OR $file == ".")
{
}
else {
echo $file;
echo "<br>";
}
}
}
Run Code Online (Sandbox Code Playgroud)
但这不......
if ($files = scandir("temp/"))
{
foreach ($files as $file)
{
if ($file != ".." OR $file != ".")
{
echo $file;
echo "<br>";
}
}
}
Run Code Online (Sandbox Code Playgroud)
出于显而易见的原因,第二块代码更符合我的要求,因为我真的很讨厌真正的声明什么都不做.
我有一个充满表格数据的表格.我需要在表中找到列(单元格)的索引.
例如:
<table>
<tr>
<td>Column1</td>
<td>Column2</td>
<td>Column3</td>
</tr>
<tr>
<td>foo</td>
<td>bar</td>
<td>foobar</td>
</tr>
</table>
function TestIndexOf(someTD)
{
$(someTD) // what's my column index?
}
Run Code Online (Sandbox Code Playgroud) 我需要为一个字段分配一个数组.我不知道字段类型,但我确实有一个实例的引用和字段的名称.我可以假设数组可以转换为字段类型.可以这样做吗?
巴斯
编辑:
希望这段代码能够澄清我想要做的事情,这会导致在assign中出现异常:
class MyClass
{
static void Main()
{
MyClass t = new MyClass();
A a = new A();
C[] c = new C[] {new B()};
t.Assign(a, "field", c);
}
void Assign(object obj, string field, object[] value)
{
// crashes
obj.GetType().GetField(field).SetValue(obj, value);
}
}
class A
{
public B[] field;
}
class B : C { }
class C { }
Run Code Online (Sandbox Code Playgroud) 已解决,请参阅编辑2
你好,
我一直在编写一个Perl程序来处理本地(专有)程序的自动升级(对于我工作的公司).
基本上,它通过cron运行,不幸的是有内存泄漏(或类似的东西).问题是泄漏只发生在我不看的时候(也就是说当通过cron运行时,而不是通过命令行).
我的代码不包含任何循环(或其他)引用,因此常用的工具不会帮助我(Devel::Cycle,Devel::Peek).
我怎样才能找出内核杀死内存的内存是多少呢?
基本上,代码SFTP进入服务器(使用```sftp ...```),调用OpenSSL来验证文件,然后在需要更多文件时更多SFTP并安装它们(解压它们).
在第一次SFTP会议之前我已经看到了延迟(约15秒),但它从来没有使用太多的内存来杀死(在我面前).
如果我不能解决这个问题,我需要用不同的语言重写,这将花费宝贵的时间.
编辑:内核打印出以下消息,这使我相信它是内存泄漏:
[100023.123] Out of memory: kill process 9568 (update.pl) score 325406 or a child
[100023.123] Killed Process 9568 (update.pl)
Run Code Online (Sandbox Code Playgroud)
我不相信这是cron的问题,因为在通过命令行运行它时会停止(有时约为15秒).此外,没有使用环境变量(至少通过我所写的内容,可能是潜在的事情吗?)
编辑2:我自己找到了这个问题,在mobrule的下面评论的帮助下(回答这个问题).事实证明,脚本每天只从用户的crontab(非root用户)调用一次,并且(非root权限)导致特殊的无限循环情况.
对不起伙计们,我觉得以前没有找到这个有点傻,但谢谢.
mobrule,如果你提交你的评论作为答案,我会接受它,因为它导致我发现问题.
结束编辑
谢谢,Brian
PS我可以发布小代码片段,但不是由于公司政策而发布的全部内容.
我正在尝试向我正在创建的CRM添加注释功能.我正在使用经过身份验证的环境,用户可以在其中管理其潜在客户.例如,我注册,我登录,我可以进入潜在客户并查看它们.所以...我已经创建了一个潜在客户和用户表,让他们一切都很好.我现在正试图让用户能够记录并将其"附加"给潜在客户.所以......我创建了一个带有列,注释和前景的笔记表.用户可以从他们提取此表单的任何位置记录,我的目标是在下拉框中提供他们的客户名称以附加到表单.到目前为止,我已在前景控制器中创建了一个对象,其中包含以下内容
def index
@myprospects = current_user.prospects.find(params[:id])
end
Run Code Online (Sandbox Code Playgroud)
我正在努力在视图/ notes/new.html.erb文件中创建下拉列表的下一步.表单如下所示:
<h1>New note</h1><hr/>
<% form_for(@note) do |f| %>
<%= f.error_messages %>
<p>
<%= f.label :note %><br />
<%= f.text_area :note %>
</p>
<p>
<%= f.label :prospect %><br />
<%= f.text_field :prospect %>
</p>
<p>
<%= f.submit 'Create' %>
</p>
<% end %>
<%= link_to 'Back', notes_path %>
Run Code Online (Sandbox Code Playgroud)
我如何映射
<p>
<%= f.label :prospect %><br />
<%= f.text_field :prospect %>
</p>
Run Code Online (Sandbox Code Playgroud)
字段显示我想要的数据?我是三天进入轨道所以请跟我说话,就像我是一个10岁(一个不知道铁轨的10岁).
我有一个包含学生编号和相应教师编号的简单表格,我需要对其进行非规范化以输入遗留系统.
例如,以下是数据现在的样子:
StudNumber TeacherNumber
445 57315
445 88584
445 95842
858 88115
858 65443
858 57315
858 21144
858 18657
858 88584
311 64521
665 35512
665 57315
665 15546
我希望它看起来像这样,将每个教师分成一个单独的列,从左到右填充列.一个商业规则是每个学生的教师不超过六名:
StudNum Teacher1 Teacher2 Teacher3 Teacher4 Teacher5 Teacher6
445 57315 88584 95842
858 88115 65443 57315 21144 18657 88584
311 64521
665 35512 57315 15546
原始表中有10,000多行,因此我需要以编程方式执行此操作.谢谢!
我似乎无法让一个HashSet实例按预期工作.我使用的代码如下:
import testing.Subclass;
import java.util.HashSet;
public class tester {
public static void main(String[] args) throws Exception {
HashSet<Subclass> set = new HashSet<Subclass>();
set.add(new Subclass("007812"));
set.add(new Subclass("007813"));
System.out.println("Set size " + set.size());
set.add(new Subclass("007812"));
System.out.println("Set size " + set.size());
for(Subclass sub : set) {
System.out.println(" sub acctNbr " + sub.getAcctNbr());
}
}
}
Run Code Online (Sandbox Code Playgroud)
子类
public class Subclass implements Comparable<Subclass> {
public Subclass(String acctNbr) {
this.acctNbr = acctNbr;
}
private String acctNbr;
public String getAcctNbr() {
return this.acctNbr;
}
public …Run Code Online (Sandbox Code Playgroud) 如何使用扩展方法调用重新表达此LINQ查询表达式?
public static List<Tuple<int, int>> Concat()
{
return (from x in Enumerable.Range(1, 3)
from y in Enumerable.Range(4, 3)
select new Tuple<int, int>(x, y)).ToList();
}
Run Code Online (Sandbox Code Playgroud) 我有一个应用程序,它将大量的SMS消息发送到中央服务器.每个用户可能会发送~300 txts /天.SMS消息被用作网络层,因为SMS几乎无处不在,而移动互联网则不是.该应用程序适用于许多移动互联网无处不在的第三世界国家.
当我达到100条消息的限制时,我会收到每条消息的提示.提示"正在发送大量SMS消息".每次询问应用程序是否可以发送短信时,用户都不会收到提示.用户不希望获得30个连续提示.
我发现这个Android源文件与谷歌.它可能已经过时了,我无法分辨.对于每个应用程序,每3600000毫秒(1天)看起来有100个sms消息的限制.
/** Default checking period for SMS sent without uesr permit */
private static final int DEFAULT_SMS_CHECK_PERIOD = 3600000;
/** Default number of SMS sent in checking period without uesr permit */
private static final int DEFAULT_SMS_MAX_ALLOWED = 100;
Run Code Online (Sandbox Code Playgroud)
和
/**
* Implement the per-application based SMS control, which only allows
* a limit on the number of SMS/MMS messages an app can send in checking
* period.
*/
private class SmsCounter {
private int …Run Code Online (Sandbox Code Playgroud) 我必须开始使用QualityTools.UnitTestFramework为我们开发的Web服务层编写一些单元测试,当我的方法从一开始就看起来不正确时.
似乎单元测试应该能够以任何顺序运行而不依赖于其他测试.
我最初的想法是使用类似于以下测试的东西(简化的示例),它将以相同的顺序作为有序测试运行.
AddObject1SuccessTest
AddObject2WithSameUniqueCodeTest
(依赖于首先创建了object1然后期望失败的第一个测试)
AddObject2SuccessTest
UpdateObject2WithSameUniqueCodeTest
(依赖于先创建了object1的第一个测试,并且thrid测试先创建了object2然后期望失败)
UpdateObject2SuccessTest
GetObjectListTest
DeleteObjectsTest
(使用添加的ID)
但是,测试之间没有状态,并且没有明显的方法将例如添加的ID添加到deletetest中.
那么,那么单元测试复杂交互的正确方法是通过场景吗?
例如
AddObjectSuccessTest
(创建一个对象,获取它以验证数据然后将其删除)
AddObjectWithSameUniqueCodeTest
(创建对象1然后尝试创建具有失败的对象2,然后删除对象1)
UpdateObjectWithSameUniqueCodeTest
(创建对象1然后创建对象2和然后尝试更新对象2以使其具有与失败时对象1相同的唯一代码,然后删除对象1和对象2)
我错了吗?
谢谢
c# ×2
android ×1
covariance ×1
duplicates ×1
frameworks ×1
hashset ×1
java ×1
jquery ×1
linq ×1
memory-leaks ×1
perl ×1
php ×1
reflection ×1
sms ×1
sql ×1
sql-server ×1
t-sql ×1
unit-testing ×1