这个问题的标题不是那么清楚,但代码和问题很简单.
假设我想每天向用户展示一次广告.为了实现这一点,每次他们访问我网站上的页面时,都会检查某个memcache密钥是否存储了任何数据.如果是这样,请勿展示广告.如果没有,请将值"1"存储在该密钥中,到期时间为86400.
我可以用两种方式做到这一点:
//version a
$key='OPD_'.date('Ymd').'_'.$type.'_'.$user;
if($memcache->get($key)===false){
$memcache->set($key,'1',false,$expire);
//show ad
}
//version b
$key='OPD_'.date('Ymd').'_'.$type.'_'.$user;
if($memcache->add($key,'1',false,$expire)){
//show ad
}
Run Code Online (Sandbox Code Playgroud)
现在,似乎很明显b更好,它总是进行1个memcache调用.但是,"添加"与"获取"的开销是多少?这些并不是真正的比较...而我只是编写了这些数字,但是假设1加〜= 1集〜= 5得到努力,平均用户每天查看5页:
a: (5 get * 1 effort) + (1 set * 5 effort) = 10 units of effort
b: (5 add * 5 effort) = 25 units of effort
Run Code Online (Sandbox Code Playgroud)
总是进行添加呼叫会有意义吗?这是不必要的微优化吗?
我正在搞乱XNA中的一些东西,并试图在小行星风格周围移动物体,因为你按左右旋转和上/下按照你指向的方向向前和向后移动.
我已经完成了精灵的旋转,但是我不能让对象沿你指向的方向移动,它总是在x = 0轴上上下移动.
我猜这是直截了当的,但我无法弄明白.我的"船"类具有以下属性值得注意:
Vector2 Position
float Rotation
Run Code Online (Sandbox Code Playgroud)
"ship"类有一个更新方法,处理输入,到目前为止,我有以下内容:
public void Update(GameTime gameTime)
{
KeyboardState keyboard = Keyboard.GetState();
GamePadState gamePad = GamePad.GetState(PlayerIndex.One);
float x = Position.X;
float y = Position.Y;
if (keyboard.IsKeyDown(Keys.Left)) Rotation -= 0.1f;
if (keyboard.IsKeyDown(Keys.Right)) Rotation += 0.1f;
if (keyboard.IsKeyDown(Keys.Up)) ??;
if (keyboard.IsKeyDown(Keys.Down)) ??;
this.Position = new Vector2(x, y);
}
Run Code Online (Sandbox Code Playgroud)
非常感激任何的帮助!
当重写OnActionExecuting时,如何在不传递操作的情况下返回Json结果?
我虽然很简单,但我今天无法得到它.
我有一个用户控件,其中包含一个网格控件.
public Unit Width
{
get
{
return CustomerGrid.Width;
}
set
{
CustomerGrid.Width = value;
}
}
Run Code Online (Sandbox Code Playgroud)
我公开了width属性,当我在设计器中设置它时,它在运行时工作但不是设计时.
我将继承什么类或重写方法以使我的控件在设计时运行.
注意我试图从WebControl继承但得到了消息
Make sure that the class defined in this code file matches the 'inherits' attribute, and that it extends the correct base class
Run Code Online (Sandbox Code Playgroud) 我有一个从数据库返回的数组,如下所示:
$data = array(201 => array('description' => blah, 'hours' => 0),
222 => array('description' => feh, 'hours' => 0);
Run Code Online (Sandbox Code Playgroud)
在下一段代码中,我正在使用a foreach并检查另一个表中的键.如果下一个查询返回数据,我想用新的小时值更新该键的数组中的'hours'值:
foreach ($data as $row => $value){
$query = $db->query('SELECT * FROM t WHERE id=$row');
if ($result){
$value['hours'] = $result['hours'];
}
Run Code Online (Sandbox Code Playgroud)
一切都很好,除了我已经尝试了foreach循环的每个声明组合,但我不断得到错误,这$value['hours']是一个无效的引用.我试过宣布$value[]......但这也行不通.我不需要迭代,$value所以不需要另一个foreach循环.
当然,这比我的大脑感知更容易.
这是整个片段:
foreach($_gspec as $key => $value){
$sql = sprintf('SELECT * FROM List WHERE specialtyID=%s', $key);
$query = $db->query($sql);
if ($query->num_rows() !== 0){
$result = $query->row_array();
$value['hours'] = $result['hours']; …Run Code Online (Sandbox Code Playgroud) 我见过很多人都在谈论IQueryable,我还没有完全了解所有的嗡嗡声.我总是使用泛型List,并发现它们非常丰富,你可以"查询"它们并使用它们,甚至对它们运行LINQ查询.
我想知道是否有充分的理由开始在我的项目中考虑不同的默认集合.
我正在学习WPF,所以我对此非常感兴趣.我看到了一些关于如何做我想做的事的例子,但没有确切的......
问题:我想将List绑定到ListBox.我想在XAML中完成它,没有编码后面的代码.我怎样才能做到这一点?
现在我做的那样:
XAML
<ListBox x:Name="FileList">
<ListBox.ItemTemplate>
<DataTemplate>
<Label Content="{Binding Path=.}"/>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
Run Code Online (Sandbox Code Playgroud)
代码背后
public MainWindow()
{
// ...
files = new List<string>();
FileList.ItemsSource = files;
}
private void FolderBrowser_TextChanged(object sender, RoutedEventArgs e)
{
string folder = FolderBrowser.Text;
files.Clear();
files.AddRange(Directory.GetFiles(folder, "*.txt", SearchOption.AllDirectories));
FileList.Items.Refresh();
}
Run Code Online (Sandbox Code Playgroud)
但我想摆脱FileList.ItemsSource = files;,并FileList.Items.Refresh();在C#代码.
谢谢
我使用 JavaRuntime.getRuntime().exec(command)创建一个子进程并打印它,pid如下所示:
public static void main(String[] args) {
Process p2;
try {
p2 = Runtime.getRuntime().exec(cmd);
Field f2 = p2.getClass().getDeclaredField("pid");
f2.setAccessible(true);
System.out.println( f2.get( p2 ) );
} catch (Exception ie)
{
System.out.println("Yikes, you are not supposed to be here");
}
}
Run Code Online (Sandbox Code Playgroud)
我尝试了 C++ 可执行文件和 Java 可执行文件(.jar 文件)。两个可执行文件都会不断地将“Hello World”打印到标准输出。
当cmdC++ 可执行文件出现时,pid会打印到控制台,但子进程一返回就会被终止main()。但是,当我在 中调用 .jar 可执行文件时cmd,子进程不会被终止,这是所需的行为。
我不明白为什么相同的Java代码,不同的可执行文件可以表现得如此不同。我应该如何修改我的代码,以便我可以在 Java 中拥有持久的子进程?
PS:我使用的是 Ubuntu 9.10 和 OpenJDK-1.6。(不知道有没有关系~)
这个领域的新手。欢迎任何建议。
百合
我将IList返回到我的用户数据模型.我希望我的最终用户能够选择他们想要查看的列.
我知道我可以用一个巨大的"如果声明"来做到这一点但是,我知道必须有一个更好的方法.
我创建了一个带有列名的Enum.我觉得如果我可以使用IListItem.EnumName我将被设置.但是,我不太清楚如何做到这一点.
建议?
有没有一种简单的方法来使用Net :: SFTP来修改文件的日期?
能够做到这一点真是太好了:
Net::SFTP.start('some_server') do |sftp|
sftp.dir.glob('*').each do |file|
puts file.mtime
end
end
Run Code Online (Sandbox Code Playgroud)
但那是不可能的(据我所知).
伯恩斯.
c# ×3
asp.net ×2
asp.net-mvc ×2
architecture ×1
arrays ×1
binding ×1
c++ ×1
collections ×1
dynamic ×1
java ×1
jvm ×1
linq ×1
memcached ×1
mysql ×1
net-sftp ×1
optimization ×1
persistence ×1
php ×1
rotation ×1
ruby ×1
sftp ×1
ssh ×1
subprocess ×1
wpf ×1
wpf-controls ×1
xaml ×1
xna ×1