我正在尝试在Netbeans 6.9中搜索所有带有"text"类型的HTML输入标签.
Netbeans是否支持使用分布在多行中的不同搜索条件的正则表达式搜索字符串,还是仅在一行内工作?
这个正则表达式
<input.*type=['"]text['"].*/>
Run Code Online (Sandbox Code Playgroud)
当整个标记及其属性像这样写在一行中时起作用
<input name="data[something]" id="some_id" value="some_value" type="text" />
Run Code Online (Sandbox Code Playgroud)
但是因为我避免编写长行代码并将其打破
<input name="data[something]" id="some_id"
value="some_value" type="text" />
Run Code Online (Sandbox Code Playgroud)
相同的正则表达式不起作用.
有没有办法实现这一目标?
我试图通过使用常量来访问一个类对象的数据成员.我想知道这是否可能使用类似于我正在使用的语法?
当我尝试在以下脚本中执行此操作时,我收到此错误:解析错误:语法错误,意外T_PAAMAYIM_NEKUDOTAYIM
class Certificate {
const BALANCE = 'cert_balance';
public function __construct() {}
}
class Ticket {
public $cert_balance = null;
public function __construct()
{
$this->cert_balance = 'not a chance';
echo $this->cert_balance."<br />";
}
}
$cert = new Certificate();
$ticket = new Ticket();
// This next code line should be equal to: $ticket->cert_balance = 'nice';
$ticket->$cert::BALANCE = 'nice!';
Run Code Online (Sandbox Code Playgroud) 我的程序正在经历令人讨厌的性能下降.它基本上是一对嵌套的for循环,它们执行一对数据集的操作,然后写入结果.问题是,在300,000对中的大约500个之后,它减慢了从.07秒/对到5秒/对,并且CPU使用率从接近100%下降到~4%.所有使用的内存都在嵌套循环之前分配,并在循环之后释放.
这是伪代码,所以你可以希望得到这个想法:
for (i=0; i<759; i++) {
read_binary_data(data_file_1, data_1);
read_binary_header(header_file_1, header_1);
for (j=i+1; j<760;j++) {
read_binary_data(data_file_2, data_2);
read_binary_header(header_file_2, header_2);
do_operation(data_1, data_2, out_data);
update_header_data(header_1, header_2, out_header);
write_binary_data_and_header(out_data, out_header);
}
}
Run Code Online (Sandbox Code Playgroud)
我在第二个for循环的开头和结尾放入时序标志,看看上面引用的时间,但我想知道是否有更好的调试选项来告诉我为什么操作速度变慢.到目前为止我唯一想到的是文件系统阻塞,但我每次运行时只打开5-6个文件,每个文件在子程序结束时关闭.
太平洋时间晚上10:15更新:
经过各种测试,我发现罪魁祸首似乎在read_binary_data部分.许多文件可能需要3秒钟.我将尝试将所有二进制数据打包成1个文件并一次读取所有内容,因此我只需要读取一个.我打赌我会耗尽内存,但它值得一试,如果发生这种情况,我会不那么雄心勃勃,并试图一次少于760*2*31*43201浮点数(我想这应该是16 GB左右?).
我最近开始使用Xuggle将各种格式的视频文件转换为相应的FLV(通过jwplayer在我们的网站上播放).我正在使用的代码非常简单; 基本上他们为基本视频转换教程展示了什么:
IMediaReader reader = ToolFactory.makeReader(file.getPath());
reader.addListener(ToolFactory.makeWriter(tempFileName, reader));
while (reader.readPacket() == null)
;
Run Code Online (Sandbox Code Playgroud)
这适用于我尝试过的约50%的视频.但是,我收到一些视频的以下错误(我遇到的所有.MP4s,以及一些.MOVs)
Caused by: java.lang.RuntimeException: Error Operation not permitted, failed to write header to container com.xuggle.xuggler.IContainer@-635072136[url:/tmp/1280786368521.flv;type:WRITE;format:com.xuggle.xuggler.IContainerFormat@-631842520[oname:flv;olongname:FLV format;omimetype:video/x-flv;oextensions:flv;];] while establishing stream com.xuggle.xuggler.IStream@-615272544[index:1;id:2;streamcoder:com.xuggle.xuggler.IStreamCoder@-677475184[codec=com.xuggle.xuggler.ICodec@-635131032[type=CODEC_TYPE_AUDIO;id=CODEC_ID_MP3;name=libmp3lame;];time base=1/48000;frame rate=0/0;sample rate=48000;channels=2;];framerate:0/0;timebase:1/90000;direction:OUTBOUND;]
at com.xuggle.mediatool.MediaWriter.getStream(MediaWriter.java:1065)
at com.xuggle.mediatool.MediaWriter.encodeAudio(MediaWriter.java:837)
at com.xuggle.mediatool.MediaWriter.onAudioSamples(MediaWriter.java:1448)
at com.xuggle.mediatool.AMediaToolMixin.onAudioSamples(AMediaToolMixin.java:89)
at com.xuggle.mediatool.MediaReader.dispatchAudioSamples(MediaReader.java:628)
at com.xuggle.mediatool.MediaReader.decodeAudio(MediaReader.java:555)
at com.xuggle.mediatool.MediaReader.readPacket(MediaReader.java:469)
... 10 more
Run Code Online (Sandbox Code Playgroud)
我很难确定错误的根本原因是否与Xuggle/ffmpeg/lame/etc有关.安装,或者我的代码是否存在问题.
我认为第一步是解密错误日志并使用该信息尝试使用本机ffmpeg调用转换视频.如果可行,我认为相信这些组件安装正确是合理的吗?
所以对于日志消息,如:
Error Operation not permitted, failed to write header to container com.xuggle.xuggler.IContainer@-635072136
[url:/tmp/1280786368521.flv;type:WRITE;format:com.xuggle.xuggler.IContainerFormat@-631842520[oname:flv;olongname:FLV format;omimetype:video/x-flv;oextensions:flv;];]
while establishing stream com.xuggle.xuggler.IStream@-615272544
[index:1;id:2;streamcoder:com.xuggle.xuggler.IStreamCoder@-677475184[codec=com.xuggle.xuggler.ICodec@-635131032[type=CODEC_TYPE_AUDIO;id=CODEC_ID_MP3;name=libmp3lame;];time base=1/48000;frame rate=0/0;sample rate=48000;channels=2;];framerate:0/0;timebase:1/90000;direction:OUTBOUND;]
Run Code Online (Sandbox Code Playgroud)
我怎么把它翻译成ffmpeg命令?
这个Xuggle新手的任何其他调试技巧?
说我有以下任何一个数字:
230957或83487或4785
在Ruby中有什么方法我可以分别返回300000或90000或5000?
我正在将一些套接字代码从Linux移植到Windows.
在Linux中,我可以使用strerror()将errno代码转换为人类可读的字符串.
MSDN文档显示返回的每个错误代码的等效字符串WSAGetLastError(),但我没有看到有关如何检索这些字符串的任何信息.会strerror()在这里工作吗?
如何从Winsock中检索人类可读的错误字符串?
如何在我的日志中打印正在运行的程序的版本?换句话说,我可以使用Console.WriteLine访问AssemblyFileVersion吗?
谢谢托尼
假设您正在为具有许多属性(2400+)的实体建模,远远大于给定数据库引擎的物理限制(例如~1000 SQL Server).除了域/候选键之外,对这些数据点的相对重要性(哪些是最常用的/最常用的)一无所知,您将如何实现它?
A)EAV.(嘘...本机关系工具抛出窗外.)
B)直接穿过.第一个表有一个主键和1000列,直到极限.下表是1000,外键是第一个.最后一张表是剩余的400,也是外键.
C)在ceil( n / limit )表格上均匀条纹.每个表都有偶数列,外键键到第一个表.800,800,800.
D)别的......
为什么?
编辑:这更像是一个哲学/通用问题,与任何特定限制或引擎无关.
编辑^ 2:正如许多人所指出的那样,数据可能没有规范化.按照惯例,当时的业务限制使深入研究成为不可能.