小编Ken*_*Y-N的帖子

子类化Java Builder类

这篇Dr Dobbs文章,特别是Builder Pattern,我们如何处理子类化Builder的情况?以我们想要子类化添加GMO标签的示例的简化版本为例,一个简单的实现将是:

public class NutritionFacts {                                                                                                    

    private final int calories;                                                                                                  

    public static class Builder {                                                                                                
        private int calories = 0;                                                                                                

        public Builder() {}                                                                                                      

        public Builder calories(int val) { calories = val; return this; }                                                                                                                        

        public NutritionFacts build() { return new NutritionFacts(this); }                                                       
    }                                                                                                                            

    protected NutritionFacts(Builder builder) {                                                                                  
        calories = builder.calories;                                                                                             
    }                                                                                                                            
}
Run Code Online (Sandbox Code Playgroud)

子类:

public class GMOFacts extends NutritionFacts {                                                                                   

    private final boolean hasGMO;                                                                                                

    public static class Builder extends NutritionFacts.Builder {                                                                 

        private boolean hasGMO = false;                                                                                          

        public Builder() …
Run Code Online (Sandbox Code Playgroud)

java design-patterns

123
推荐指数
4
解决办法
6万
查看次数

angularjs with oop inheritance in action

Abstract

I'm working on an application that uses angular as a client side framework, angular currently rocks and I'm really happy using it, though now I find that I use to much copy and paste code that I would like to organize into class hierarchy. For example dialogs share a common set of functionality, they need to be opened, closed, the code that provides typeahead functionality is also a first candidate to inherit from some parent BaseTypeaheadClass, though one thing …

oop angularjs

53
推荐指数
2
解决办法
2万
查看次数

如何自行停止服务?

我在一个活动中启动服务,然后我希望服务在一段时间后停止运行.

我在服务中调用了stopSelf()但它不起作用.

如何使服务停止?

android

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

从另一个表中匹配标准中选择一个?

我非常感谢对表间的SQL查询提供一些帮助.我意识到这种事情是经常被问到的,但我找不到类似的问题来理解答案.

我想从中选择table_A具有相应标签的行table_B.
因此,例如,"选择table_a标记'主席'的行将返回" table_C.

此外,id是一个独特的table_a,而不是在table_b.

table_A:             table_B:                  table_C:

id    object         id    tag                 id    object
1     lamp           1     furniture           3     stool
2     table          2     furniture           4     bench
3     stool          3     furniture
4     bench          4     furniture
                     4     chair
                     3     chair
Run Code Online (Sandbox Code Playgroud)

或者,是否有更好的方法来组织数据?

sql multiple-tables

43
推荐指数
2
解决办法
17万
查看次数

尝试安装PIL时出错

我尝试安装PIL但出错,我该怎么办?

$ Command
Result
------------
$ pip install PIL

Collecting PIL
  Could not find a version that satisfies the requirement PIL (from versions: )
No matching distribution found for PIL
--------------------------------------------------------------------
$ pip install PIL  --allow-unverified PIL --allow-all-external

DEPRECATION: --allow-all-external has been deprecated and will be removed in the future. Due to changes in the repository protocol, it no longer has any effect.
DEPRECATION: --allow-unverified has been deprecated and will be removed in the future. Due to changes in the …
Run Code Online (Sandbox Code Playgroud)

python install python-imaging-library

36
推荐指数
2
解决办法
5万
查看次数

从字典中删除重复项

我有以下Python 2.7字典数据结构(我不控制源数据 - 来自另一个系统):

{112762853378: 
   {'dst': ['10.121.4.136'], 
    'src': ['1.2.3.4'], 
    'alias': ['www.example.com']
   },
 112762853385: 
   {'dst': ['10.121.4.136'], 
    'src': ['1.2.3.4'], 
    'alias': ['www.example.com']
   },
 112760496444: 
   {'dst': ['10.121.4.136'], 
    'src': ['1.2.3.4']
   },
 112760496502: 
   {'dst': ['10.122.195.34'], 
    'src': ['4.3.2.1']
   },
 112765083670: ...
}

字典键将始终是唯一的.Dst,src和别名可以是重复的.所有记录都将始终具有dst和src,但并非每条记录都必须具有第三条记录中显示的别名.

在样本数据中,前两个记录中的任何一个都将被删除(对我来说无关紧要).第三条记录将被认为是唯一的,因为虽然dst和src是相同的,但它缺少别名.

我的目标是删除所有重复dst,src和别名的记录 - 无论密钥是什么.

这个菜鸟怎么做到这一点?

另外,我对Python的有限理解将数据结构解释为字典,其值存储在字典中...这是一个dicts的字典,这是正确的吗?

python dictionary duplicates

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

Celery在本地系统上是否像python多处理一样高效?

我在为我的应用程序决定使用python多处理或celery或pp时遇到了一些麻烦.

我的应用程序非常重CPU,但目前只使用一个cpu,所以我需要将它扩展到所有可用的cpus(这使我看到python的多处理库)但我读到如果需要,这个库不会扩展到其他机器.现在我不确定我是否需要多个服务器才能运行我的代码,但我想在本地运行celery然后扩展只需要添加新的服务器而不是重构代码(就像我使用的那样)多).

我的问题:这个逻辑是否正确?在本地使用芹菜是否存在任何负面影响(如果事实证明,具有多个核心的单个服务器可以完成我的任务)?或者是否更多建议使用多处理并在以后将其扩展到其他内容?

谢谢!

ps这是一个个人学习项目,但我可能有一天会喜欢在一家公司担任开发人员,并希望了解专业人士如何做到这一点.

python parallel-processing multiprocessing celery

20
推荐指数
2
解决办法
6095
查看次数

在HackerRank的Array Manipulation背后使用的逻辑

我无法掌握Hackerrank这个问题解决方案背后的逻辑,https://www.hackerrank.com/challenges/crush/problem

在讨论部分,许多人也发布了他们的解决方案,但我无法理解为什么这种逻辑有效.

以下解决方案取自相同问题的讨论部分,并具有最大数量的upvotes,

#include <cmath>
#include <cstdio>
#include <vector>
#include <iostream>
#include <algorithm>
using namespace std;


int main() {
    long int N,K,p,q,sum,i,j,max=0,x=0;

    cin>>N>>K;
    long int *a=new long int[N+1]();

    for(i=0;i<K;i++)
    {
        cin>>p>>q>>sum;
        a[p]+=sum;
        if((q+1)<=N) a[q+1]-=sum;
    }

    for(i=1;i<=N;i++)
    {
       x=x+a[i];
       if(max<x) max=x;

    }

    cout<<max;
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

有人可以解释背后的逻辑吗?非常感谢您的帮助.

c++ arrays

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

如何在SQL Server中使用Switch

我想CASE在我的存储过程中使用.我的代码中出现了一些语法错误:

select 
   case @Temp
   when 1 then (@selectoneCount=@selectoneCount+1)
   when 2 then (@selectoneCount=@selectoneCount+1)
   end
Run Code Online (Sandbox Code Playgroud)

跑步时,我得到:

'='附近的语法不正确.

在这一行:

@selectoneCount = @selectoneCount + 1
Run Code Online (Sandbox Code Playgroud)

接近平等.

实际上我从另一个sp获得返回值到@temp然后如果@temp = 1那么我想将@SelectoneCount的计数增加1,依此类推.请告诉我正确的语法是什么.

sql-server syntax-error switch-statement

18
推荐指数
2
解决办法
11万
查看次数

Android工作室无法运行

Android工作室不能在Windows 8中运行.我下载它,安装,但是当我按下图标运行它时 - 没有任何反应.我尝试与管理员一起运行.我尝试设置与Windows 7的兼容性.

android android-studio

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