问题列表 - 第11242页

何时使用静态vs实例化类

PHP是我的第一个编程语言.在使用静态类和实例化对象时,我无法完全理解.

我意识到你可以复制和克隆对象.但是在我使用php的所有时间中,任何对象或函数总是最终作为单个返回(数组,字符串,整数)值或void.

我理解书中的概念,比如电子游戏角色类.复制汽车对象,并使新的一个红色,这一切都有意义,但不是它在PHP和Web应用程序中的应用程序.

一个简单的例子.一个博客.博客的哪些对象最好实现为静态或实例化对象?DB类?为什么不在全局范围内实例化db对象?为什么不让每个对象都静止呢?性能怎么样?

这一切都只是风格吗?有没有正确的方法来做这些事情?

php oop class

168
推荐指数
8
解决办法
5万
查看次数

MKPinAnnotationView:有三种以上的颜色吗?

根据Apple文档,MKPinAnnotationView的针脚颜色有红色,绿色和紫色可供选择.有没有办法得到其他颜色?我在文档中找不到任何内容.

iphone cocoa-touch mapkit mkpinannotationview

39
推荐指数
4
解决办法
3万
查看次数

如何在Google App Engine中为模型定义唯一属性?

我需要一些独特的属性.我怎样才能做到这一点?

有类似的东西unique=True吗?

我正在使用Google App Engine for Python.

python google-app-engine google-cloud-datastore

32
推荐指数
2
解决办法
9522
查看次数

如何解决"Mastermind"猜谜游戏?

你将如何创建一个算法来解决以下难题,"Mastermind"?

你的对手选择了六种不同的颜色(黄色,蓝色,绿色,红色,橙色,紫色).你必须猜测他们选择了哪个,以及以什么顺序.在每次猜测之后,你的对手会告诉你你猜到的颜色中有多少(但没有哪种)是正确的颜色["黑色"]和多少(但不是哪个)是正确的颜色但是在错误的地方[ "白色"].当你猜对了时,游戏结束(4个黑人,0个白人).

例如,如果您的对手选择了(蓝色,绿色,橙色,红色),并且您猜测(黄色,蓝色,绿色,红色),您将获得一个"黑色"(红色)和两个白色(用于蓝色和绿色).猜测会得到相同的分数(蓝色,橙色,红色,紫色).

我对您选择的算法感兴趣,并且(可选)如何将其转换为代码(最好是Python).我对以下编码解决方案很感兴趣:

  1. 清楚(容易理解)
  2. 简洁
  3. 高效(快速猜测)
  4. 有效(解决难题的猜测次数最少)
  5. 灵活(可以轻松回答有关算法的问题,例如最糟糕的情况是什么?)
  6. 一般(可以很容易地适应其他类型的拼图而不是Mastermind)

我很满意一种非常有效但效率不高的算法(前提是它不仅实现得不好!); 然而,一种非常有效且无效的算法实施起来是不可用的.

我已经发布了我自己的(详细)Python解决方案,但这绝不是唯一或最好的方法,所以请发布更多!我不期待一篇文章;)

python algorithm

34
推荐指数
3
解决办法
3万
查看次数

指向嵌套结构中的struct的指针

我正在尝试运行以下代码(在fedora 11 i586上的gcc 4.3中):

#include <stdio.h>                       
#include <stdint.h>                      
#include <stdlib.h>                      

struct s_smallstruct{
  int smallstruct;
};                      

struct s_test2{
        char * test2;
        struct s_smallstruct* smallstruct;
};

struct s_test3{
        char * test3;
        struct s_smallstruct * smallstruct;
};

struct s_test1{
        char * test1;
        struct s_test2 * test2;
        struct s_test3 * test3;
};


int main(){
        struct s_test1 *test1 = (struct s_test1 *) malloc( sizeof test1 );
        test1->test2[0].smallstruct[0].smallstruct = 123;
        int num = test1->test2[0].smallstruct[0].smallstruct;
//      struct s_smallstruct * smallstruct = (struct s_smallstruct *) malloc( sizeof smallstruct …
Run Code Online (Sandbox Code Playgroud)

c struct pointers

3
推荐指数
1
解决办法
7818
查看次数

为什么WindowStartupLocation = CenterScreen将我的窗口放在除屏幕中心之外的某个位置?

这是窗口声明:

<Window
    x:Class="Pse.ExperimentBase.SplashWindow"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    Style="{StaticResource _windowStyle}"
    WindowStartupLocation="CenterScreen"
    WindowStyle="None">
Run Code Online (Sandbox Code Playgroud)

这是样式声明:

<Style
    x:Key="_windowStyle"
    TargetType="Window">
    <Setter
        Property="Width"
        Value="{Binding Path=InitialWindowWidth}" />
    <Setter
        Property="Height"
        Value="{Binding Path=InitialWindowHeight}" />
    <Setter
        Property="Icon"
        Value="Resources/MyIcon.ico" />
    <Setter
        Property="Background"
        Value="{StaticResource _fadedOrangeBrush}" />
    <Setter
        Property="FontSize"
        Value="11" />
</Style>
Run Code Online (Sandbox Code Playgroud)

讨论:

屏幕为1280 X 1024.窗口大小(由InitialWindowWidth,InitialWindowHeight绑定确定)为800 X 600.

窗口打开时,它显示188,141(左,上).这基本上应该是"西北".如果我计算真正的居中值,它应该是240,212(左,上).

线索?

它始终是第一个出现问题的窗口.如果我打开同一窗口的第二个实例,它将显示在正确的位置.

另一个线索?

如果我在打开第一个实例之前创建两个实例,则第二个窗口实例将显示在正确的位置.

所以...

Window win1 = windowFactory.CreateSplashWindow();
win1.Show();
Window win2 = windowFactory.CreateSplashWindow();
win2.Show();
win1.Hide();
Run Code Online (Sandbox Code Playgroud)

...抵消win1和win2

但...

Window win1 = windowFactory.CreateSplashWindow();
Window win2 = windowFactory.CreateSplashWindow();
win1.Show();
win2.Show();
win1.Hide();
Run Code Online (Sandbox Code Playgroud)

...抵消win1,但显示win2死亡中心.

所以我的问题是:

这里发生了什么??? …

wpf xaml

12
推荐指数
1
解决办法
1万
查看次数

Python:在os.pipe()threadsafe上是os.read()/ os.write()吗?

考虑:

pipe_read, pipe_write = os.pipe()
Run Code Online (Sandbox Code Playgroud)

现在,我想知道两件事:

(1)我有两个主题.如果我保证只有一个正在阅读os.read(pipe_read,n)而另一个只是在写os.write(pipe_write),那么即使两个线程同时进行,我也会遇到任何问题吗?我会获得以正确顺序写入的所有数据吗?如果他们同时这样做会发生什么?是否有可能单个读取片段,例如?:

Thread 1: os.write(pipe_write, '1234567')
Thread 2: os.read(pipe_read,big_number) --> '123'
Thread 2: os.read(pipe_read,big_number) --> '4567'
Run Code Online (Sandbox Code Playgroud)

或者 - 再次考虑同时性 - 单个os.write(some_string)总是会完全由单个返回os.read(pipe_read, very_big_number)吗?

(2)考虑使用多个线程写入pipe_write管道的末尾logging.handlers.FileHandler()- 我已经读过记录模块是线程安全的.这是否意味着我可以做到这一点而不会丢失数据?我想我将无法控制管道中数据的顺序; 但这不是必需的.要求:

  • 写端的某些线程写入的所有数据必须在读端结束
  • 一个人写的字符串logger.info(), logger.error(), ...必须保持一个整体.

这些要求是否得到满足?

先感谢您,

Jan-Philip Gehrcke

python multithreading pipe thread-safety

7
推荐指数
1
解决办法
6801
查看次数

有没有办法将相同的CSS样式表用于打印介质和默认布局?

我正在寻找一种方法来使用与默认屏幕布局相同的打印介质样式表.我的优点是每次更新CSS时都不需要更新2个文件.我希望有一个样式表,并通过某种方式表示它们来指定打印介质的特殊规则......这可能是不可能的,但我想我会把问题放在那里.

css printing media-queries

7
推荐指数
2
解决办法
2485
查看次数

事件处理程序不适用于创建的元素

好吧,标题可能没有任何意义..但无论如何,我可以用一些简单的代码来澄清它.

我正在使用JQuery 1.3.2

这是我的JS

$(document).ready(function() {
  $('#test').click(function() {
    $('#result').html('<a href="#" id="hello">hello world</a>');
  });

  $('#hello').click(function() {
    $('#result').html('<a href="#" id="asdf">Test #2</a>');
  });
});
Run Code Online (Sandbox Code Playgroud)

在html中,我有一个超链接id ='test'和一个id ='result'的div.我期望这个JS代码是当我点击测试时,它显示"Hello World".之后,当我点击"Hello World"时,它应该显示"Test#2"

任何建议都非常有帮助......

谢谢.

javascript jquery javascript-events

0
推荐指数
1
解决办法
670
查看次数

char数组与char指针

当使用recv通过套接字接收数据时,我注意到了:

char buffer[4];
memset(buffer, 0, 4);
recv(socket, buffer, 4, 0);

我收到

mesgx

"mesg"是我发送的内容,附加了一些随机字符.

如果我使用

char * method = (char *) malloc(4);
memset(buffer, 0, 4);
recv(socket, buffer, 4, 0);

相反,我收到了

MESG

所以我的字符串中没有附加的随机内容.我想出如果我使用char [5]而不是它也可以,但我真的不明白为什么.malloc(4)真的分配了5个字节,第五个是NUL吗?

c malloc c-strings memset

6
推荐指数
2
解决办法
4506
查看次数