小编Joh*_*ica的帖子

使用Shell脚本检查数据库连接

我正在尝试编写一个shell脚本来检查数据库连接.在我的脚本中,我正在使用该命令

sqlplus uid/pwd@database-schemaname
Run Code Online (Sandbox Code Playgroud)

连接到我的Oracle数据库.

现在我想在临时文件中保存此命令生成的输出(在它下降到SQL提示符之前),然后从该文件中grep/find字符串"Connected to"以查看连接是否正常.

任何人都可以帮我抓住输出并退出提示并测试连接是否正常?

database linux shell

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

如何使用LINQ获取Count()的Max()

我是LINQ的新手,我有这种情况.我有这张桌子:

ID Date  Range
1 10/10/10 9-10
2 10/10/10 9-10
3 10/10/10 9-10
4 10/10/10 8-9
5 10/11/10 1-2
6 10/11/10 1-2
7 10/12/10 5-6
Run Code Online (Sandbox Code Playgroud)

我只想按范围列出每个日期行的最大值,如下所示:

Date  Range  Total
10/10/10 9-10  3
10/11/10 1-2  2
10/12/10 5-6  1
Run Code Online (Sandbox Code Playgroud)

我想通过使用LINQ来做到这一点,你有任何想法如何做到这一点?

linq

9
推荐指数
3
解决办法
8962
查看次数

Java/VNC中的单点登录

背景

在我工作的项目上,我们在几个不同的服务器上运行GUI应用程序.由于他们的用户界面相似,我正在研究将他们的OMI组合成一个统一的界面.目前,这些应用程序都可以通过VNC远程查看.我计划通过让主显示器在封面下运行几个VNC查看器并围绕这些VNC会话包装接口以使它们看起来像本机应用程序来利用这一点.

问题

我正在寻找构建单点登录解决方案的指针.我希望消除每个应用程序的个人登录,而只是让用户登录统一显示.当他们这样做时,他们将自动登录到每个单独的应用程序.

约束

  1. 这些应用程序都是在Linux上运行的基于Swing的Java应用程序.
  2. 身份验证由具有Active Directory的Windows 2003 Server计算机执行.
  3. 我非常喜欢现成的解决方案,而不是定制的解决方案.

思路

我的调查指向了KerberosGSSAPI.Kerberos的基于票证的机制似乎非常适合这项任务.

一个棘手的问题是这些应用程序始终在运行.当用户登录时,我需要统一显示以某种方式"告诉"它们.它不像普通的Kerberized程序,它们将在启动时执行Kerberos登录.

如果我使用Kerberos,我不知道如何将票证转移到各种应用程序服务器.有转移它们的标准方法吗?我只是使用"scp"或其他东西吗?或者我是否开发自己的基于套接字的网络协议并让Java程序相互连接并以这种方式传输票证?

不过,我不想让细节陷入困境.我甚至欣赏一般的想法,比如"你考虑过X技术?" 或者"尝试XYZ而不是VNC,它会为你做到这一点."


更新

我会在这里编辑答案和说明......

您是否认为必须进行某些身份验证并且VNC仅将视图导出到正在运行的程序,因此VNC会话无法传输票证?

确实是的.Java + VNC就是我们现在所拥有的.如果有更好的远程查看应用程序的方法,我可以更换VNC.没有重写它们,就是这样.理想的解决方案是将它们分成不同的客户端和服务器部分,并将所有GUI代码放入客户端,但这是5星级的难度,我需要1星或2星.

您是否考虑过两个用户同时登录时的情况?他们会看到相同的应用程序吗?或者这会被禁止吗?

是的,我考虑过了.他们要么看到相同的应用程序,要么将被禁止.就这个特定的系统而言,这两种解决方案都没问题,所以这不是什么大问题.

您是否考虑过在本地主机上使用X Server并导出客户端应用程序窗口?

是的,这会很棒.这可以通过已经运行的应用程序完成吗?我们必须在这些应用程序启动后连接这些应用程序.当有人解雇中央观众时,我无法按需启动它们.

java vnc kerberos gssapi single-sign-on

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

错误:无法创建Java虚拟机

我已经访问了与我的问题相关的所有现有问题,但我仍然有问题.所有安装都已正确安装.我使用的是最新的Netbeans版本.执行程序后我有这个错误:

Error: Could not create the Java Virtual Machine.
Error occurred during initialization of VM
Could not reserve enough space for object heap
Error: A fatal exception has occurred. Program will exit.
Run Code Online (Sandbox Code Playgroud)

我的Netbeans.conf是:

# ${HOME} will be replaced by JVM user.home system property
netbeans_default_userdir="${HOME}/.netbeans/7.1.2"
# Options used by NetBeans launcher by default, can be overridden by explicit
# command line switches:
netbeans_default_options="-J-client -J-Xss2m -J-Xms16m -J-XX:PermSize=16m -J-Dapple.laf.useScreenMenuBar=true -J-Dapple.awt.graphics.UseQuartz=true -J-Dsun.java2d.noddraw=true -J-Dsun.zip.disableMemoryMapping=true"
# Note that default -Xmx and -XX:MaxPermSize are selected for you …
Run Code Online (Sandbox Code Playgroud)

java netbeans

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

Python:在文本中删除一个单词但是最后一个单词不会审查

我在Codecademy上做Python,试图在文本中检查一个单词.代码有效,但如果文本中的最后一个单词有单词,则不会被删除.

我认为for声明需要改变,for x in (text + 1)但当然会导致错误.我们不是要使用replace()任何想法等内置函数吗?

def censor(text,word):
    text = text.split()
    for x in text:
        if x == word:
            text[text.index(x)] = "*" * len(word)
    return " ".join(text)

print(censor("You dirty guy and dirty boy dirty.", "dirty"))
Run Code Online (Sandbox Code Playgroud)

这回来了 [You ***** guy and ***** boy dirty.]

python

9
推荐指数
3
解决办法
1689
查看次数

(arr + 2)相当于*(arr + 2).怎么样?

我正在研究如何借助指针显示2D数组的元素.这是我试过的代码:

#include<stdio.h>  

int main(){

    int arr[3][2] = {  

    {7, 8},
    {6,3},
    {3,4}
    };

    printf("%u\n", (arr + 2));
    printf("%u\n", *(arr + 2)); 
}
Run Code Online (Sandbox Code Playgroud)

输出:

6487616
6487616
Run Code Online (Sandbox Code Playgroud)

我期待的输出*(arr + 2)3.它怎么样(arr + 2)

c arrays pointers

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

在函数内部使用lambda

我正在通过在线教程学习python中的lambda函数.我理解它是如何工作的但是我遇到了一个令我困惑的例子(在这个页面上https://www.w3schools.com/python/python_lambda.asp):

def myfunc(n):
    return lambda a : a * n

mydoubler = myfunc(2)
print(mydoubler(11))
Run Code Online (Sandbox Code Playgroud)

我不明白"mydoubler"功能在这里是如何工作的.当我们之前没有定义它时,如何将11作为参数.谢谢.

python lambda function

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

如何强制java显示完整的堆栈跟踪

我正在尝试使用抛出异常的应用程序调试问题,即使我使用-XX:MaxJavaStackTraceDepth=16777216(或那里的任何其他值,如-12048),堆栈跟踪也会被切断。

它是这样切断的:

Caused by: java.lang.IllegalStateException: unexpected message type: DefaultLastHttpContent
    at io.netty.handler.codec.http.HttpObjectEncoder.encode(HttpObjectEncoder.java:124)
    at io.netty.handler.codec.http.HttpClientCodec$Encoder.encode(HttpClientCodec.java:167)
    at io.netty.handler.codec.MessageToMessageEncoder.write(MessageToMessageEncoder.java:89)
    ... 89 more
Run Code Online (Sandbox Code Playgroud)

我想看到更多的堆栈跟踪元素而不是... 89 more如何实现?

这是在 Java 8 中使用 SLF4J + Logback 使用以下配置进行日志记录:

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
        <layout class="ch.qos.logback.classic.PatternLayout">
            <Pattern>
                %d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger{36} - %msg%n
            </Pattern>
        </layout>
    </appender>
    <root level="info">
        <appender-ref ref="STDOUT"/>
    </root>
</configuration>
Run Code Online (Sandbox Code Playgroud)

java logback slf4j java-8

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

为什么 Rust 阻止为外部结构实现外部特征?

我刚刚遇到了为我不拥有的类型实现我不拥有的特征的问题。然后我用谷歌搜索了确切的如何为我不拥有的类型实现我不拥有的特征?问题。

让我困惑的是这种限制背后的动机。我来自 Scala,在那里可以为外部类型提供外部类型类实例。

为什么 Rust 会限制这一点?

traits rust

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

用零字节填充向量的最佳方法?

我需要发送一些消息(作为向量),并且它们需要以相同的长度发送。如果向量的长度不正确,我想用零填充向量。

假设我们需要所有有效负载的长度为 100。我想我可以使用该extend函数并执行如下操作:

let len = 100;
let mut msg = &[1,23,34].to_vec();
let  diff : usize = msg.len()-len;
let padding = [0;diff].to_vec();
msg.extend(padding);
Run Code Online (Sandbox Code Playgroud)

但这不会编译,因为编译器抱怨这diff不是一个常量。但对于我们正在尝试做的这个简单的事情来说,这似乎相当冗长。

有没有一种好的、简洁的方法来做到这一点?

rust

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