小编Dan*_*n J的帖子

不同的PHP压缩库有什么好处?

我一直在研究如何压缩PHP库,我发现了几个可能有用的库,但我真的不太了解它们.

我一直在阅读有关bcompiler和PHAR库的内容.这些中的任何一个都有任何性能优势吗?有什么"陷阱"我需要注意吗?有什么相对的好处?他们中的任何一个会增加/减少性能吗?

我也有兴趣学习其他可能在文档中不明显的库?

顺便说一句,有没有人碰巧知道这些工作是否更像是恰好在那里有代码的zip文件,或者它们是否更像Python的预编译实际运行伪编译器?

=======================编辑=======================

我被问到,"你想要完成什么?" 好吧,我想答案是这都是假设的.它是这些的组合:

  • 如果我的宠物项目成为世界上最受欢迎的网络项目并且我想快速轻松地分发它会怎么样?(干草,男人可以做梦吧?)似乎如果能够轻松地使用PHAR,这将是创建颠覆快照的最佳方式.
  • Python有这个非常酷的预编译策略,我想知道PHP是否有这样的东西?这些库似乎做了类似的事情.他们会这样做吗?
  • 嘿,这些库看起来很整洁,但我想澄清差异,因为它们似乎做同样的事情

php compression phar bcompiler

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

这两个linq实现有什么区别?

我正在经历Jon Skeet的Reimplemnting Linq to Objects系列.在where文章的实现中,我发现了以下片段,但是我没有得到通过将原始方法分成两部分来获得的优势.

原始方法:

// Naive validation - broken! 
public static IEnumerable<TSource> Where<TSource>( 
    this IEnumerable<TSource> source, 
    Func<TSource, bool> predicate) 
{ 
    if (source == null) 
    { 
        throw new ArgumentNullException("source"); 
    } 
    if (predicate == null) 
    { 
        throw new ArgumentNullException("predicate"); 
    } 
    foreach (TSource item in source) 
    { 
        if (predicate(item)) 
        { 
            yield return item; 
        } 
    } 
}
Run Code Online (Sandbox Code Playgroud)

重构方法:

public static IEnumerable<TSource> Where<TSource>( 
    this IEnumerable<TSource> source, 
    Func<TSource, bool> predicate) 
{ 
    if (source == null) 
    { 
        throw new …
Run Code Online (Sandbox Code Playgroud)

c# linq-to-objects where deferred-execution

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

放弃重载有利于Extension方法

既然我们在C#中有扩展方法,那么为了传递默认值,在实现任何类的过程中是否还有任何重点?为什么在重载时可以使扩展方法污染类实现?重载的任何优点(用于传递默认值)?

我正在计算默认参数的选项,因为它强制参数的特定排序(即默认值可以结束)以及默认值在客户端代码中编译并且服务包可能因此而中断的事实.

c# extension-methods api-design c#-4.0

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

使用quickSort时得到stackoverflower错误,我可以增加堆栈和堆吗?

我可以在java中增加堆栈和堆吗?我正在使用BlueJ.

========

编辑:

这是代码:

// ***** Quick-Sort Method *****

public static void quickSort(int[] data, int first, int n)
{
    int p, n1, n2;
    if(n > 1)
    {
        p = partition(data, first, n);
        n1 = p - first;
        n2 = n - n1 - 1;
        quickSort(data, first, n1);
        quickSort(data, p+1, n2);
    }
}

// ***** PRIVATE HELPER FUNCTIONS *****

public static void quickSort(int[] data)
{
    quickSort(data, 0, data.length);
}

private static int partition(int[] A, int first, int n )
{
    int …
Run Code Online (Sandbox Code Playgroud)

java stack-overflow quicksort

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

如何格式化列表视图列以显示货币符号

我使用c#在其中一个Windows项目上有一个ListView.其中一列包含货币值.如何设置列表视图的格式以使此列显示"£"符号(对于英镑)?

c# listview symbols currency winforms

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

WPF中的全局样式

我正在学习如何在WPF中使用样式,并根据我在网上找到的信息,如果我以这种方式定义样式(使用目标类型):

<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
                    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">

    <Style  TargetType="{x:Type Button}">
        <Setter Property="Background" Value="Black"/>
    </Style>
</ResourceDictionary>
Run Code Online (Sandbox Code Playgroud)

...此样式将应用于我的应用程序中的所有按钮.然而,似乎我的按钮保持不变.在主窗口中,我将资源字典添加到资源集合中,并插入了几个按钮,但是我的按钮始终看起来一样.这是主窗口的代码:

<Window x:Class="MCTSTrainingChapter1.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        Title="MainWindow" Height="350" Width="525">
    <Window.Resources>
        <ResourceDictionary>
            <ResourceDictionary.MergedDictionaries>
                <ResourceDictionary Source="GridResources.xaml"/>
                <ResourceDictionary Source="ButtonResources.xaml"/>
            </ResourceDictionary.MergedDictionaries>
        </ResourceDictionary>
    </Window.Resources>

    <DockPanel >
        <ToolBar DockPanel.Dock="Top" Height="26" Name="toolBar1"  >
            <Button x:Name="btnBold"  Click="Button_Click">Bold</Button>
            <Button Click="Button_Click_1">Italic</Button>
            <Slider Name="slider1" Minimum="2" Maximum="72" Width="100" ValueChanged="slider1_ValueChanged"></Slider>
        </ToolBar>
        <Grid Name="grid1" Background="{StaticResource GridBackgroundBrush}">
            <Grid.ColumnDefinitions>
                <ColumnDefinition Width="100"/>
                <ColumnDefinition Width="5"/>
                <ColumnDefinition Width="*"/>
            </Grid.ColumnDefinitions>
            <ListBox Grid.Column="0" Name="listBox1" SelectionChanged="listBox1_SelectionChanged" />
            <GridSplitter Grid.Column="1" Margin="0" Width="5" HorizontalAlignment="Left"/>
            <RichTextBox Grid.Column="2" Name="richTextBox1"/>
        </Grid>

    </DockPanel>
</Window>
Run Code Online (Sandbox Code Playgroud)

为什么不应用Button样式?

.net c# wpf styles

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

导入到新计算机后,MySQL ENUM列将不匹配引用的值

最近我导入了一个新的数据库,在我的本地机器上进行开发,但它不起作用:ENUM列仅在没有引号的情况下发送变量时才起作用.这是一个例子:

mysql.local>select count(*) from psh_products where active = 1;
+----------+
| count(*) |
+----------+
|    72782 |
+----------+
1 row in set (0.04 sec)

mysql.local>select count(*) from psh_products where active = '1';
+----------+
| count(*) |
+----------+
|        0 |
+----------+
1 row in set (0.00 sec)
Run Code Online (Sandbox Code Playgroud)

如果你想知道表结构:

CREATE TABLE `psh_products` (
  `productID` int(12) unsigned NOT NULL AUTO_INCREMENT,
  `catID` int(2) unsigned NOT NULL,
  `main_sku` varchar(255) COLLATE utf8_unicode_ci NOT NULL,
  `sku` varchar(255) COLLATE utf8_unicode_ci NOT NULL,
  `shortsku` varchar(255) COLLATE utf8_unicode_ci NOT …
Run Code Online (Sandbox Code Playgroud)

mysql mysqldump

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

禁用-msse

我正在尝试使用CPU2006运行各种基准测试,以查看各种优化在gcc上的速度方面做了什么.我熟悉-O1,-O2和-O3,但是听说-msse是一个不错的优化.到底是什么?我也看到-msse在64位架构上是默认的,那么如何禁用它来比较使用它和不使用它之间的区别?

compiler-construction gcc compiler-optimization

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

是否有可能保持指向超出该变量范围的局部变量的指针?

假设我使用此代码:

int *pointer;
if(1) {
    int num = 5; // local variable, can't be used outside the if block.
    pointer = &num
}
Run Code Online (Sandbox Code Playgroud)

这是一种跟踪num变量的安全方法吗?我知道这段代码会起作用.但我认为编译器将使用旧num内存来分配新变量,从而导致pointer引用不可预测的值.真的吗?

c memory pointers

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

如何返回与给定字符串匹配的枚举值?

所以我有一个字符串,我希望从枚举中获取一个值,并返回与string相同的名称.例:

enum Types{
    one,
    two,
    three
}

private Types getType(string value){   //Let's say value is "two"
    return Types.value;                //This should return the enum "two" of Types
}
Run Code Online (Sandbox Code Playgroud)

我希望我说得够清楚!

c# enums

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