问题列表 - 第14313页

完整堆栈与非完整堆栈MVC PHP框架 - 有什么区别?

我一直看到CakePHP和CodeIgniter被称为完整堆栈MVC框架,而Zend Framework被称为非完整堆栈.这到底是什么意思?

php model-view-controller frameworks

9
推荐指数
1
解决办法
6337
查看次数

人类可以通过限制限定符做出什么?

如果我得到了restrict正确的C99 关键字,那么用它来限定一个指针是一个承诺,它引用的数据不会在编译器的后面通过别名修改.

相比之下,我理解const限定符的方式是编译器强制执行的文档,即在人类编写代码的背后不会修改给定对象.编译器可能会得到一个提示作为副作用,但作为程序员,我并不在乎.

以类似的方式,将restrict函数原型中的限定符视为要求用户在调用期间确保独占访问("避免别名"或可能更强的东西)是否合适?它应该用作"文件"吗?

此外,是否有一些事情可以理解,restrict它指向一个指针而不是它指向的数据(如同const)?

编辑:我原本认为这restrict可能会影响线程代码,但这似乎是错误的,所以我从问题中删除对线程的引用,以避免混淆读者.

c c99 keyword restrict-qualifier

16
推荐指数
4
解决办法
2397
查看次数

C#Interop:out params也可以为null

考虑以下DllImport:

[DllImport("lulz.so")]
public static extern int DoSomething(IntPtr SomeParam);
Run Code Online (Sandbox Code Playgroud)

这实际上引用了这样的C风格函数:

int DoSomething(void* SomeParam); 
Run Code Online (Sandbox Code Playgroud)

考虑SomeParam是一个"out"参数,但也可以是NULL.如果param为NULL,则C函数的行为会有所不同.所以我可能想要:

[DllImport("lulz.so")]
public static extern int DoSomething(out IntPtr SomeParam);
Run Code Online (Sandbox Code Playgroud)

但是,如果我在导入中将它设为out参数,我就无法将其传递为NULL,即我不能这样做:

int retVal = DoSomething(IntPtr.Zero)
Run Code Online (Sandbox Code Playgroud)

我有什么选择?

c# interop

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

在Perl中,有什么理由更喜欢glob而不是readdir(反之亦然)?

这个问题是从这个问题中分拆出来的.一些历史:当我第一次学习Perl时,我总是使用glob而不是opendir+ readdir因为我发现它更容易.后来各种帖子和读物表明这glob很糟糕,所以现在我几乎总是使用readdir.

在思考了这个最近的问题之后,我意识到我选择其中一个或另一个选择的理由可能是无聊的.所以,我将列出一些优点和缺点,我希望更有经验的Perl人可以插入并澄清.概括地说,问题是有没有令人信服的理由,更喜欢globreaddirreaddirglob(在某些或所有情况下)?

glob 优点:

  1. 没有dotfiles(除非你要求他们)
  2. 物品的订单是有保证的
  3. 无需手动将目录名称添加到项目上
  4. 更好的名字(来吧- globreaddir没有比赛,如果我们的名字单独判断)
  5. (从ysth的回答;参见glob下面的参考资料4)可以返回不存在的文件名:

    @deck = glob "{A,K,Q,J,10,9,8,7,6,5,4,3,2}{\x{2660},\x{2665},\x{2666},\x{2663}}";
    
    Run Code Online (Sandbox Code Playgroud)

glob 缺点:

  1. 旧版本只是简单的破坏(但是"较旧"意味着5.6之前的版本,我认为,坦率地说,如果你使用的是5.6之前的版本,你会遇到更大的问题)
  2. stat每次调用(即stat在大多数情况下无用).
  3. 目录名称中的空格问题(这仍然是真的吗?)
  4. (来自brian的回答)可以返回不存在的文件名:

    $ perl -le 'print glob "{ab}{cd}"'
    
    Run Code Online (Sandbox Code Playgroud)

readdir 优点:

  1. (来自brian的回答)opendir返回一个文件句柄,你可以在你的程序中传递(并重用),但glob只返回一个列表
  2. (布莱恩的回答)readdir是正确的迭代器,并提供功能rewinddir,seekdir,telldir
  3. 快点?(根据上面的一些glob特征进行纯粹的猜测.无论如何,我并不是真的担心这种优化水平,但它是理论专家.)
  4. 不太容易出现边缘情况的错误glob
  5. 默认情况下读取所有内容(dotfiles)(这也是一个骗局)
  6. 可能会说服你不要命名文件0 …

perl glob readdir

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

从文件导入用户到ASP.NET成员身份

我有一个使用ASP.NET成员资格的网站.我还有一个包含大约60个用户记录的excel文件.如何将记录导入成员资格数据库,而无需在ASP.NET网站管理工具中键入所有60.

谢谢

asp.net asp.net-membership

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

如何识别生成Click事件的控件?

在以下代码中,如何识别引发Click事件的控件?

    void x_Click(object sender, EventArgs e)
    {
        //How do I identify the sender?
    }

    private void fill()
    {
        for(blah)
        {
            Button x = new Button();
            x.Click += new EventHandler(x_Click);
            this.controls.Add(x)
        }
    }
Run Code Online (Sandbox Code Playgroud)

c# events controls

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

在活动目录中查找特定用户所属的组/分发列表

假设我在

OU=Groups,DC=contaco,DC=com,ct
Run Code Online (Sandbox Code Playgroud)

我可以找到一个子 OU 中的所有组,但是找到用户“bobdole”所属的所有组的唯一方法是让我查看每个组,看看他是否在“成员”字段中。

不幸的是,当我查看用户“bobdole”时,我没有看到包含所有这些列表的 memberOf 字段,因此我必须枚举每个组\分发列表并查看他是哪个成员。

有没有更有效的方法来做到这一点?我在 C#

ldap active-directory .net-3.5

2
推荐指数
1
解决办法
1571
查看次数

是否可以使用 django 使 URL 成为条件?

我使用中间件来检测子域并将相应的对象放置在请求范围中。是否可以进一步声明子域实现这些 url 而不是那些?

就像是?

if request.subdomain.is_blue:
     include(these.urls)
Run Code Online (Sandbox Code Playgroud)

django

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

应该用什么来检查C++中的身份?

我有两个指向对象的指针,我想以最健壮的方式测试它们是否是完全相同的对象.我明确地不想调用任何operator ==重载,无论使用什么基类,虚基类和多继承,我都希望它能够工作.

我目前的代码是这样的:

((void*)a) == ((void*)b)
Run Code Online (Sandbox Code Playgroud)

对于我的情况,这是有效的.但是,这不适用于这种情况:

class B1 {};
class B2 {};
class C : public B1, public B2 {}

C c;
B1 *a = &c;
B2 *b = &c;
Run Code Online (Sandbox Code Playgroud)

底层的reinterpert_cast,static_cast或者dynamic_cast也不管用.


特别是我希望最终会变得非常简单和有效.理想情况下,它不需要任何分支指令来实现,并且会执行类似的操作,将指针调整到对象的开头并进行比较.

c++ identity casting

5
推荐指数
1
解决办法
1765
查看次数

BackgroundWorker与后台线程

我有一个关于我应该在Windows窗体应用程序上使用的后台线程实现的选择的风格问题.目前我BackgroundWorker在一个具有无限(while(true))循环的表单上.在这个循环中,我WaitHandle.WaitAny用来保持线程打盹直到感兴趣的事情发生.我等待的一个事件句柄是一个" StopThread"事件,这样我就可以摆脱循环.来自我被覆盖的事件会发出此事件的信号Form.Dispose().

我读到的某个地方BackgroundWorker真的是用于那些你不想将UI绑定到并且具有有限结束的操作 - 比如下载文件或处理一系列项目.在这种情况下,"结束"是未知的,并且仅在窗口关闭时.因此,使用后台线程而不是BackgroundWorker为此目的更合适吗?

.net multithreading backgroundworker winforms

163
推荐指数
7
解决办法
11万
查看次数