小编KTr*_*rum的帖子

奇怪的使用泛型

经过一些编程之后,我的一个课程以前所未有的方式使用了泛型.如果编码不好,我想对此有一些看法.

abstract class Base<T> : where T : Base<T>
{
    // omitted methods and properties.
    virtual void CopyTo(T instance) { /*code*/ }
}

class Derived : Base<Derived>
{
    override void CopyTo(Derived instance)
    { 
         base.CopyTo(instance);
         // copy remaining stuff here
    }
}
Run Code Online (Sandbox Code Playgroud)

这是否可以使用泛型?我主要是考虑对"本身"的约束.我有时觉得泛型可以"爆炸"到我使用Base类的其他类.

c# generics

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

Visual Studio快捷键相当于eclipse快捷键

我经常使用eclipse和visual studio(2008年).但是有一些来自eclipse的快捷键,我在Visual Studio中确实错过了一些我无法找到的快捷键.有谁知道Visual Studio中是否存在这些?

能够在你打开的窗口标签中搜索 - 我认为这是日食中的Ctrl+ E吗?我知道你可以导航,但不能搜索.

开放型
开放式层次结构
开放资源
招行选择向上或向下(Alt+ Up/ Down)
移动到最后编辑线
(不Ctrl+ -/ Ctrl+ Shift+ -在VS,而不是Ctrl+ Z,这只有当你在同一个文件是工作?)

如果它们不存在,那么任何人都可以获得关于如何自己为VS编写快捷方式的良好资源?

eclipse shortcuts keyboard-shortcuts visual-studio

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

Flutter/Dart和AWS SDK

我正在考虑在Flutter中编写一个移动应用程序(使用dart).但是我大量使用AWS并且无法使用他们的SDK会很麻烦.

有没有什么好方法可以利用它?据我所知,没有SDK的Dart版本.我不知道是否有可能在Dart或其他东西中插入其他语言的库?

我最好的选择是使用REST apis吗?

dart aws-sdk flutter

9
推荐指数
2
解决办法
3900
查看次数

java中的可序列化工作原理如何?

如果我有一个我存储在会话中的类的实例,我需要使它可序列化.这个类有一个静态变量,这会在每个实例中被序列化存储吗?

静态变量是对包含后台大量数据的缓存的引用.所有这些数据都会被序列化吗?如果是这样,似乎最好使此变量成为瞬态,并在每次恢复实例时重新获取缓存实例.也许不会在类中存储缓存实例.

当一个类从序列化状态恢复时,构造函数是否会执行?如果没有,我可以使用任何其他方法来重新设置瞬态变量?

java serialization

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

PrimeFaces组件的自定义渲染器在Tomcat中工作正常,但在Websphere中没有

我正在使用MyFaces 2.1.9和PrimeFaces 3.5.我为它实现了一个自定义渲染器<p:inputText>.这在Tomcat的家中运行良好.但这与使用Websphere不起作用.我在自定义渲染器类中放置了断点,但它们从未被击中.我的日志中也没有看到任何内容.但是,当我在标准JSF上注册完全相同的自定义渲染器时<h:inputText>,它工作正常.

我把它注册如下faces-config.xml:

<render-kit>
    <renderer>
        <component-family>org.primefaces.component</component-family>
        <renderer-type>org.primefaces.component.InputTextRenderer</renderer-type>
        <renderer-class>xxx.xxx.xxx.MyInputRenderer</renderer-class>
    </renderer>
</render-kit>
Run Code Online (Sandbox Code Playgroud)

如何解决自定义渲染器的注册问题?

websphere jsf myfaces custom-renderer jsf-2

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

与kafka在同一节点上的Zookeeper?

我正在建立一个kafka + zookeeper集群.假设我想要3个卡夫卡经纪人.我想知道我是否可以在其上设置3台带有kafka的机器,然后在相同的节点上运行zookeeper集群.因此每台机器在集​​群中都有一个kafka + zookeeper节点,而不是3台机器用于kafka,3台机器用于zookeeper(总共6台).

有哪些优点和缺点?这些机器很可能专门用于运行kafka/zookeeper.我在想是否可以在不牺牲性能的情况下降低成本.

apache-kafka apache-zookeeper

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

在 python AWS lambda 中使用 aws 加密 SDK

我尝试使用 aws 加密库在 AWS Lambda 中使用 KMS 密钥加密/解密数据(使用 python )。但是,我在运行 lambda 时遇到错误(抱怨找不到共享库,稍后我将使用确切的 lib 进行更新)。我猜测开发工具包正在使用未安装在 AWS lambda 环境中的共享库。

这是我正在使用的 SDK:https : //docs.aws.amazon.com/encryption-sdk/latest/developer-guide/python.html

在构建我的包时,我正在执行 pip install aws-encryption-sdk 和密码学。

任何人都可以给我指点如何解决它?

更新:

这是错误消息:

Unable to import module 'lambdaMain': libffi-d78936b1.so.6.0.4: cannot open shared object file: No such file or directory

更新 2:对于那些想知道解决方案的人。我在错误的平台上构建了库。在与您使用的任何 lambda 运行时兼容的亚马逊 AMI 上执行 pip 安装等非常重要。

python amazon-web-services aws-lambda

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

Visual Studio 代码中的增量搜索快捷方式

我可以在 Visual Studio 代码中进行“增量搜索”/“增量查找”吗,类似于 eclipse 和常规 Visual Studio?我认为是 eclipse 中的 ctrl+j 和可视化代码中的 ctrl+i。

它的作用是允许在文件中的任何位置键入并突出显示匹配项。

keyboard-shortcuts visual-studio-code

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

单独的wiremocks QuarkusTestResources

在我的 Quarkus 应用程序中,我有多个使用多个 REST 客户端的控制器。我有多个测试,它们都使用 @QuarkusTestResource 和 Wiremock 资源。我的方法是让每个控制器拥有自己的 Wiremock 资源,并存根它们需要的任何 Restclient 以及需要如何定义存根。因此,每个测试可能会使用不同的存根来删除相同的其余客户端。

当运行我的测试时,我发现即使每个测试类都用不同的 Wiremock 实现进行注释,它们看起来也会互相覆盖。这些测试可能是并行运行的,并且配置 ( /mp-rest/url) 在它们之间共享,并由最后运行的 QuarkusTestResourceLifecycleManager 覆盖。

关于如何解决这个问题有什么建议吗?或者我应该为每个休息客户端创建一个 Wiremock 类?

wiremock quarkus

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

AWS_PROFILE无法使用aws cli

我在我的macbook上安装了aws cli.我上周更新了版本,从那时起它似乎忽略了AWS_PROFILE环境变量?有没有遇到过这个?我现在必须在每个语句中添加--profile,以使其朝向我更喜欢的配置文件.

有谁知道什么可能是错的或我应该如何解决它?

aws-cli

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

抛出异常与同步

我有一个方法,许多线程并行访问,该方法使用一个具有两个我无法控制的同步方法的类.getObject和createNewObject.我想确保我不创建多个对象(MyObject).

MyObject obj;
public void method1() {
   obj = getObject("key");
   if (obj == null)
      obj = createNewObject("key");
  }
Run Code Online (Sandbox Code Playgroud)

我认为这不会起作用,因为线程可以在获取和创建方法之间暂停,因此另一个线程也可以进入并创建一个对象.同步的createNewObject方法通过检查对象是否已存在名为"key"并在这种情况下抛出异常来解决此问题.

将优先考虑以下哪种方法?性能,安全性和设计明智.我听说双锁型(方法3)不起作用?也许我应该使用method1?

大多数时候,会找到对象,所以没有问题.在极少数情况下跳过同步并处理异常可能会有更好的性能吗?

MyObject obj;
public synchronized void method1() {
   obj = getObject("key");
   if (obj == null)
      obj = createNewObject("key");
  }

public void method2() {
   obj = getObject("key");
   if (obj == null)
       try {
          obj = createNewObject("key");
       } catch (Exception e) { // ops, someone already created object "key"
            obj = getObject();
       }
  }

public void method3() {
   obj = getObject("key");
   if …
Run Code Online (Sandbox Code Playgroud)

java exception synchronized

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

模块之间的依赖管理

如果我有模块 A 和模块 B 都需要 JSON 库(比如 GSON),然后我有应用程序 C,其中包含模块 A 和 B。如果模块 A 和模块 A 和 B,我有机会获得两个不同版本的 JSON 库B 使用不同版本?或者 gradle 是否删除其中之一并仅使用其中一个版本?

如果我有更多模块怎么办,更新它们以使用相同版本的依赖项似乎需要大量工作。在这种情况下,让应用程序 C 决定在所有模块上使用哪个版本会很好(但我猜由于向后兼容性,并不总是有效)。无论如何要实现这一目标?

所以我的问题是如何最好地处理许多模块中非常常见的依赖关系。我是否应该在所有模块中注入一个 Json 包装器,让应用程序定义要使用的内容?

我猜日志记录可能是类似的依赖项

java dependency-management gradle

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

在JSF组件中注入Spring bean

我有一个带有组件类的复合组件:

@FacesComponent("myComponent") // not really necessary I think because I have declared it in faces-config.xml
public class UserHelpPopOver extends UINamingContainer {

@Autowired
private MyBean myTemplate;
    // omitted code
}
Run Code Online (Sandbox Code Playgroud)

我怎样才能让Spring自动注入这个bean?:)当我一直调试它时,它为null。

spring jsf-2

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