我正在开发一个将数据存储在文件中的财务应用程序.我注意到文本文件i/o很慢.如果我切换到二进制格式,它会更快多少?2倍?10倍?我可以编写自己的计时测试,但我希望其他人已经完成了.提前致谢.
我们正在为离线工作的iPhone构建Web应用程序.但是我们在缓存动态图像时遇到了困难.请继续阅读,我将通过示例的方式向我展示我的意思以及到目前为止我们所做的工作.
例如,假设我们正在构建一个只有1页的简单列表应用程序.应用程序的唯一目的是列出5个项目,每个项目包含一些文本和1个图像.
该应用程序有一个简单的徽标和一些单独的JavaScript和CSS代码.使用缓存清单文件缓存这些静态资源.
有2个场景:
场景1:我在线,我打开了Web应用程序
当我在Safari中加载列表应用程序时,它将从包含1000个项目的数据库中获取5个新的随机项.这些都是通过AJAX调用(JSON格式)通过简单的后端提供的.
包含5个项目的整个JSON对象将立即存储在HTML5本地存储中并缓存以供脱机使用.
JSON对象的结构有点像这样:
{
"0" : {
id: "3",
text: "Some text about item #3",
image_url: "http://www.domain.com/image22341.png"
},
"1" : {
id: "23",
text: "Some text about item #23",
image_url: "http://www.domain.com/image442321.png"
},
"2" : {
id: "4",
text: "Some text about item #4",
image_url: "http://www.domain.com/image2321.png"
},
"3" : {
id: "432",
text: "Some text about item #432",
image_url: "http://www.domain.com/image2441.png"
},
"4" : {
id: "43",
text: "Some text about item #43",
image_url: "http://www.domain.com/image221.png" …Run Code Online (Sandbox Code Playgroud) 我正在尝试在Ubuntu 10.04下构建一个非常简单的OpenGL应用程序(我有一个32位系统).
当我尝试编译该文件时,我收到错误消息:
g++ -L/usr/lib simple.cpp -lglut
/usr/bin/ld: /tmp/ccoPczAo.o: undefined reference to symbol 'glEnd'
/usr/bin/ld: note: 'glEnd' is defined in DSO //usr/lib/libGL.so.1 so try adding it to the linker command line
//usr/lib/libGL.so.1: could not read symbols: Invalid operation
collect2: ld returned 1 exit status
Run Code Online (Sandbox Code Playgroud)
有人知道我做错了什么吗?
我试图bp_genbank2gff3.pl从另一个获取genbank作为其参数的perl脚本运行(bioperl包).
这不起作用(不生成输出文件):
my $command = "bp_genbank2gff3.pl -y -o /tmp $ARGV[0]";
open( my $command_out, "-|", $command );
close $command_out;
Run Code Online (Sandbox Code Playgroud)
但确实如此
open( my $command_out, "-|", $command );
sleep 3; # why do I need to sleep?
close $command_out;
Run Code Online (Sandbox Code Playgroud)
为什么?
我认为close在命令完成之前应该阻止:
关闭任何管道文件句柄会导致父进程等待子进程完成...(请参阅http://perldoc.perl.org/functions/open.html).
编辑
我在最后一行添加了这个:
say "ret=$ret, \$?=$?, \$!=$!";
Run Code Online (Sandbox Code Playgroud)
在这两种情况下,打印输出是:
ret=, $?=13, $!=
Run Code Online (Sandbox Code Playgroud)
(这close两种情况都意味着失败,对吧?)
嗨,我今天问了一个问题,关于如何在同一个向量数组中插入不同类型的对象,我的代码就是那个问题
gate* G[1000];
G[0] = new ANDgate() ;
G[1] = new ORgate;
//gate is a class inherited by ANDgate and ORgate classes
class gate
{
.....
......
virtual void Run()
{ //A virtual function
}
};
class ANDgate :public gate
{.....
.......
void Run()
{
//AND version of Run
}
};
class ORgate :public gate
{.....
.......
void Run()
{
//OR version of Run
}
};
//Running the simulator using overloading concept
for(...;...;..)
{
G[i]->Run() ; //will run …Run Code Online (Sandbox Code Playgroud) 简而言之,我正在尝试编写一些吐司式弹出式通知(类似于Growl),它应该出现在系统托盘和堆栈旁边.
我可以处理实例化/位置/等...但我想为非矩形的Toast添加一个功能.我也想要Alpha透明度,所以吐司形式的半透明背景PNG将与桌面或窗口后面的窗口混合.
所以...为了明显的方式:
Form.TransparencyKey不足以满足我的需求,因为它是一个全有或全无透明效果我想在某些地方获得50/50前景/背景,在其他地方获得0/100,在其他地方获得100/0等等.
我最初的方法是覆盖OnBackgroundPaint()方法,注释掉对MyBase.OnBackgroundPaint的调用,并使用eventargs中的图形对象来准确地绘制我想要的表单.
这似乎可以开始 - 目前,我只是为了测试目的画了一些矩形,所以PNG可能会遇到新的困难,但我还没有到达那里.
我无法完成的是更新图形 - 第一次渲染表单时,它完全按照我的预期显示(没有边框,只有一些矩形浮在桌面上).如果我在透明窗口后面移动窗口,透明窗口不会更新/重新绘制
我相信我需要调用Me.Invalidate()强制重新绘制,但我不确定何时应该打电话 - 我怎么知道我后面的窗口改变了它的'内容?
我采取了错误的做法吗?
非常感谢
编辑:我尝试在一个计时器中放置一个Me.Invalidate()来测试重绘是如何发生的 - 它似乎确实触发了重新绘制,但是重新绘制会超出现有的表单背景 - 即最初的区域50%不透明现在是75%不透明(50%+以前的50%+)
因此,在几个Invalidate()之后,我的表单显示为黑盒子 - 我需要在重新绘制之前清除表单的背景但Graphics.Clear(Color)似乎只是用指定的颜色填充- 显然出于这个问题的目的,Colors.Transparent并不真正意味着透明 - 这似乎是一个技巧,当渲染窗口"显示在这下面的控制内容"时,当我们是处理表单本身
如果有人想轻易复制,我的表单代码如下:
Imports System.Drawing
Public Class TransparentForm
Private Timer As Timers.Timer
Private Sub TransparentForm_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Timer = New Timers.Timer
AddHandler Timer.Elapsed, AddressOf Timer_Tick
Timer.Interval = 100
Timer.Start()
End Sub
Protected Overrides Sub OnPaintBackground(ByVal e As System.Windows.Forms.PaintEventArgs)
''MyBase.OnPaintBackground(e)
Console.WriteLine("BackgroundPainted")
For x = 0 To …Run Code Online (Sandbox Code Playgroud) 我使用iTextSharp创建简单的测试PDF文档.我只是使用PdfContentByte来显示一些文字.这是代码:
Document document = new Document();
Stream outStream = new FileStream("D:\\aaa\\test.pdf", FileMode.OpenOrCreate);
PdfWriter writer = PdfWriter.GetInstance(document, outStream);
document.Open();
PdfContentByte to = writer.DirectContent;
to.BeginText();
to.SetFontAndSize(BaseFont.CreateFont(), 12);
to.SetTextMatrix(0, 0);
to.ShowText("aaa");
to.EndText();
document.Close();
outStream.Close();
Run Code Online (Sandbox Code Playgroud)
该文件已创建,但当我尝试打开它时(使用Acrobat Reader),我得到的是以下消息:
打开此文档时出错.阅读本文件存在问题(14).
问题出在哪儿 ?我如何解决它?谢谢
这似乎是一个非常非常简单的问题,但我无法弄明白.罪魁祸首似乎是WP7的默认风格.单击按钮时,它会将背景颜色更改为白色,然后返回到按钮的默认背景.
我遇到的问题是我想在单击按钮时更改按钮的背景.我找不到任何可能的方法来做到这一点.
我已经尝试在代码中设置背景,但这没有任何作用.我认为它被默认样式覆盖了.
我尝试在Blend中使用Property Change行为,但结果完全相同.
我已经尝试为按钮创建一个新的可视状态并在点击时进行设置,但这有点儿错误并且我正在处理的按钮数量有很大的开销.此外,它没有用.
我可以在点击事件中设置其他按钮的背景,而不是单击按钮.
这是一个令人讨厌的障碍!我确信这是一行代码的答案.:)
Rake db:seed使用应用程序的默认数据库值填充数据库吗?那么如果你已经有一个种子并且你需要添加它(你添加了一个需要种子的新功能).根据我的经验,当我再次运行rake db:seed时,它已经添加了现有内容,因此现有内容变为双倍.
我需要的是添加一些种子,当它运行时,它应该只添加最新的种子,并忽略现有的种子.我该如何解决这个问题?(我通常这样做的脏,noob方式是截断我的整个db然后再次运行种子,但是在生产中这不是很聪明,对吧?)