小编Scr*_*Dev的帖子

`CI=true` 如何影响 `npm install` 命令?

我无法找到有关命令如何CI=true影响的良好文档npm install

与有何CI=true npm install不同npm install。甚至会CI=true影响安装吗?

我在本地尝试过,它不会导致它的行为像npm ci. package-lock.json我尝试在没有或文件存在的情况下运行它npm-shrinkwrap.json。它创建了锁定文件。

另外,两者之间有区别吗

CI=true npm install
Run Code Online (Sandbox Code Playgroud)

CI=true 
npm install
Run Code Online (Sandbox Code Playgroud)

export CI=true 
npm install
Run Code Online (Sandbox Code Playgroud)

node.js npm

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

当oraclepki,osdt_cert和osdt_core在类路径上时,从Jav 6升级到Java 8后无法登录到Web应用程序

在从Java 1.6升级到Java 1.8之前,我们能够登录Web应用程序.升级后,我们无法登录其中一个Web应用程序,但我可以登录到另一个.他们使用相同的Spring-Security,OJDBC和Hibernate版本.

但是,如果我们从类路径中删除了以下jar,只要您不需要使用钱包登录,登录就会再次起作用:

  • com.oracle:oraclepki(12.1.0.2.0)
  • com.oracle:osdt_cert(12.1.0.2.0)
  • com.oracle:osdt_core(12.1.0.2.0)

在上层环境中删除它们不是一种选择,因为我们使用oracle钱包登录.

版本:

  • OJDBC6 12.1.0.2.0
  • SPRINGFRAMEWORK 3.0.7.RELEASE

调试日志

当我将日志级别设置为DEBUG时,我看到登录被拒绝作为anonomys用户,但在loggs之前它成功验证了登录名/密码.

认证成功:

DEBUG [org.springframework.security.web.authentication.UsernamePasswordAuthenticationFilter][http-bio-8080-exec-10] - Authentication success. Updating SecurityContextHolder to contain: org.springframework.security.authentication.UsernamePasswordAuthenticationToken@85ca488a: Principal: org.springframework.security.core.userdetails.User@f75cc3bd: Username: admin; Password: [PROTECTED]; Enabled: true; AccountNonExpired: true; credentialsNonExpired: true; AccountNonLocked: true; Granted Authorities: ADMIN,READ_ONLY; Credentials: [PROTECTED]; Authenticated: true; Details: org.springframework.security.web.authentication.WebAuthenticationDetails@2cd90: RemoteIpAddress: 0:0:0:0:0:0:0:1; SessionId: 383A7E52904236DDEA18E00864C0B94C; Granted Authorities: ADMIN, READ_ONLY
DEBUG [org.springframework.security.web.context.HttpSessionSecurityContextRepository][http-bio-8080-exec-10] - SecurityContext stored to HttpSession: 'org.springframework.security.core.context.SecurityContextImpl@85ca488a: Authentication: org.springframework.security.authentication.UsernamePasswordAuthenticationToken@85ca488a: Principal: org.springframework.security.core.userdetails.User@f75cc3bd: Username: admin; Password: [PROTECTED]; Enabled: true; AccountNonExpired: true; credentialsNonExpired: true; AccountNonLocked: …
Run Code Online (Sandbox Code Playgroud)

java spring-security ojdbc

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

如何从RAISED异常中获取oracle PL/SQL中原始异常的堆栈跟踪?

我有一个问题,当我捕获异常时,原始堆栈跟踪丢失,然后提高它.

  1. 在proc_a中抛出异常
  2. 抓住例外.
  3. 执行回滚.
  4. 引起例外.
  5. 捕获异常(父块)
  6. 打印堆栈跟踪: SUBSTR(SQLERRM || chr(10) || DBMS_UTILITY.FORMAT_ERROR_BACKTRACE(), 1, 3999)

例:

DECLARE
BEGIN
   DECLARE
      lv_val VARCHAR2(1);
   BEGIN
      SELECT dummy INTO lv_val -- Line# 6 (desired)
      FROM   dual
      WHERE  dummy = 'FFF';
   EXCEPTION
      WHEN OTHERS THEN
         --DBMS_OUTPUT.PUT_LINE(SUBSTR(SQLERRM || chr(10) || DBMS_UTILITY.FORMAT_ERROR_BACKTRACE(), 1, 3999));
         RAISE; -- Line# 12 (actual)
   END;
EXCEPTION
   WHEN OTHERS THEN
      DBMS_OUTPUT.PUT_LINE(SUBSTR(SQLERRM || chr(10) || DBMS_UTILITY.FORMAT_ERROR_BACKTRACE(), 1, 3999));
END;
/
Run Code Online (Sandbox Code Playgroud)

期望的结果:

原始异常的行号(步骤1).

ORA-01403: no data found
ORA-06512: at line 6
Run Code Online (Sandbox Code Playgroud)

要么

ORA-01403: no data found …
Run Code Online (Sandbox Code Playgroud)

oracle plsql exception raise

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

oracle pl/sql中如何选择成嵌套类型?

我希望能够通过 rowid 删除,然后立即将要删除的数据插入审计表中。

有太多的记录到 INSERT INTO ... SELECT CRITERIA那时DELETE ... CRITERIA

我已经知道如何仅使用 rowid 和INSERT INTO ... SELECT.

内部包装体:

TYPE some_type IS RECORD (
   row_id    ROWID,
   full_row  table_name%ROWTYPE
);
TYPE some_type_list IS TABLE OF some_type
   INDEX BY BINARY_INTEGER;

PROCEDURE do_stuff
IS
   lc_data  SYS_REFCURSOR;
   lt_recs  some_type_list;
BEGIN
   OPEN lc_date FOR
      SELECT rowid, a.*
      FROM   table_name;
   LOOP
      FETCH lc_data
      BULK COLLECT INTO lt_recs
      LIMIT 50000;
      EXIT WHEN lt_recs.COUNT = 0;
      --
      FORALL i IN lt_recs.FIRST..lt_recs.LAST
         DELETE table_name
         WHERE …
Run Code Online (Sandbox Code Playgroud)

oracle plsql oracle11g

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

如何检索 SSL 客户端正在使用的 KeyManager、TrustManager 和 SecureRandom 对象?

我正在尝试创建一个 SSL 套接字工厂,它使用 TSLv1.2 协议执行握手。

到目前为止我所拥有的[更新1/18]

SSLContext sslContext = SSLContext.getInstance("TLSv1.2");
ServerSocketFactory sf = SSLServerSocketFactory.getDefault();
KeyManager[] km = KeyManagerFactory.getInstance(KeyManagerFactory.getDefaultAlgorithm()).getKeyManagers();
TrustManager[] tm = TrustManagerFactory.getInstance(TrustManagerFactory.getDefaultAlgorithm()).getTrustManagers();
SecureRandom random = new SecureRandom();
sslContext.init(km, tm, random);
requestContext.put(BindingProviderProperties.SSL_SOCKET_FACTORY, sslContext.getSocketFactory());
Run Code Online (Sandbox Code Playgroud)

我希望从 中获取 KeyManager、TrustManager 和 SecureRandom 对象SSLServerSocketFactory.getDefault(),但没有可用的 getter。
我可以从另一个地方提取这个吗?或者更有效的方法来做到这一点?

我不想手动创建密钥和信任管理器以避免需要系统特定的配置。

完整方法供参考:

    public MyOutBoundClientWSImpl(URL wsdlUrl){
        super(wsdlUrl, serviceName);
        this.wsUrl=wsdlUrl;
        this.mService = this.getMySoapHttpPort();
        Map<String, Object> requestContext = ((BindingProvider)mService).getRequestContext();
        requestContext.put(BindingProviderProperties.REQUEST_TIMEOUT, REQUEST_TIMEOUT); // Timeout in millis
        requestContext.put(BindingProviderProperties.CONNECT_TIMEOUT, CONNECT_TIMEOUT); // Timeout in millis
        try {
            SSLContext sslContext = SSLContext.getInstance("TLSv1.2");
            ServerSocketFactory sf …
Run Code Online (Sandbox Code Playgroud)

java ssl sslsocketfactory tls1.2

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

使用 log4j.xml,在调试其他所有错误时记录特定文件或包

我想设置我的 log4j.xml 文件以在调试级别记录特定的类/包,并在错误级别记录其余的类/包。

正如您在下面看到的,我将日志记录级别更新为 info forgov.xxxx.app.batch.threadgov.xxxx.app.batch.sms.DoWorkto info。

然而,看起来threshold优先(这是有道理的)。有没有办法使类/包级别配置优先于阈值?或者另一种可以产生预期结果的方法?

log4j.xml:

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
<log4j:configuration>

        <appender name="console" class="org.apache.log4j.ConsoleAppender">
                <param name="threshold" value="all"/>
                <layout class="org.apache.log4j.PatternLayout">
                        <param name="conversionPattern" value="%d  %p  %c %L - %m%n"/>
                </layout>
        </appender>

        <appender name="logFile" class="org.apache.log4j.DailyRollingFileAppender">
                <param name="file" value="${app.batchdriver.home}/logs/${app.batchdriver.log.name}"/>
                <param name="maxFileSize" value="5MB"/>
                <param name="maxBackupIndex" value="20"/>
                <param name="threshold" value="error"/>

                <layout class="org.apache.log4j.PatternLayout">
                        <param name="conversionPattern" value="%d  %p  %c %L - %m%n"/>
                </layout>
        </appender>

        <!-- Logger for Batch classes -->
        <logger name="gov.xxxx.app">
                <level value="error"/>
        </logger> …
Run Code Online (Sandbox Code Playgroud)

java log4j

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

如何在 Oracle PL/SQL 中动态(反射)获取 OBJECT 或 ROWTYPE 的值?

我正在尝试采用 ROWTYPE、RECORD 或 OBJECT 类型并将其动态转换为单个字符串表示形式。
我想动态地做到这一点。

更新:由于 Justin Cave 的反馈,现在可以为 OBJECT 类型执行此操作。

示例数据:

ID | VAL
---------
1  | BOB
Run Code Online (Sandbox Code Playgroud)

期望输出:

ID=1, VAL=BOB
Run Code Online (Sandbox Code Playgroud)

收到错误:

ORA-06550: line 7, column 25:
PLS-00306: wrong number or types of arguments in call to 'TO_STRING'
ORA-06550: line 7, column 4:
PL/SQL: Statement ignored
Run Code Online (Sandbox Code Playgroud)

到目前为止我所拥有的(尚未遍历列。):

ID | VAL
---------
1  | BOB
Run Code Online (Sandbox Code Playgroud)

场景#1 - 选择 INTO w/ ROWTYPE:

ID=1, VAL=BOB
Run Code Online (Sandbox Code Playgroud)

场景#2 - FETCH INTO w/ Cursor ROWTYPE:

ORA-06550: line 7, column 25:
PLS-00306: wrong number …
Run Code Online (Sandbox Code Playgroud)

oracle plsql

5
推荐指数
0
解决办法
4092
查看次数

如何使用 microdnf install 安装 PostgreSQL 终端客户端?

通过 microdnf 安装可以使用哪些 PostgreSQL 客户端?我正在尝试通过 Dockerfile 安装客户端。

我尝试了多个我见过的推荐命令和一些猜测,但没有一个对我有用:

microdnf install -y postgresql-client
microdnf install -y postgresql
microdnf install -y psql
etc.
Run Code Online (Sandbox Code Playgroud)

正在使用的图像: https: //hub.docker.com/r/jboss/keycloak/

sh-4.4$ cat /etc/os-release
NAME="Red Hat Enterprise Linux"
VERSION="8.3 (Ootpa)"
ID="rhel"
ID_LIKE="fedora"
VERSION_ID="8.3"
PLATFORM_ID="platform:el8"
PRETTY_NAME="Red Hat Enterprise Linux 8.3 (Ootpa)"
ANSI_COLOR="0;31"
CPE_NAME="cpe:/o:redhat:enterprise_linux:8.3:GA"
HOME_URL="https://www.redhat.com/"
BUG_REPORT_URL="https://bugzilla.redhat.com/"

REDHAT_BUGZILLA_PRODUCT="Red Hat Enterprise Linux 8"
REDHAT_BUGZILLA_PRODUCT_VERSION=8.3
REDHAT_SUPPORT_PRODUCT="Red Hat Enterprise Linux"
REDHAT_SUPPORT_PRODUCT_VERSION="8.3"
Run Code Online (Sandbox Code Playgroud)

PS = 我可以访问一个网站来查看可用软件包的完整列表吗?

linux postgresql keycloak dnf

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

如何控制 Springdoc OpenAPI 3.0 中的标签顺序?

我正在从 Springfox 3.0 切换到 OpenAPI 3.0 + Springdoc-openapi。
在 Springfox 中,标签顺序是按字母顺序排列的,但在 Springdoc 的 Swagger UI 中,顺序似乎是随机的。

如何控制 UI 上的标签顺序?我更喜欢自己选择的顺序,但也可以按标签名称的字母顺序排序。

@Tag(name = MY_CONTROLLER_TAG_NAME, description = MY_CONTROLLER_TAG_DESC)
public class MyController {
Run Code Online (Sandbox Code Playgroud)

所需订单:

  • 分页端点
  • 用户访问
  • 标记
  • 标记 - 管理员
  • 用户管理
  • 用户管理 - 管理员

实际订单:

  • 用户访问
  • 标记
  • 分页端点
  • 标记 - 管理员
  • 用户管理 - 管理员
  • 用户管理

POM 依赖关系:

        <springdoc-openapi.version>1.6.4</springdoc-openapi.version>
...
        <dependency>
            <groupId>org.springdoc</groupId>
            <artifactId>springdoc-openapi-ui</artifactId>
            <version>${springdoc-openapi.version}</version>
        </dependency>
        <dependency>
            <groupId>org.springdoc</groupId>
            <artifactId>springdoc-openapi-security</artifactId>
            <version>${springdoc-openapi.version}</version>
        </dependency>
Run Code Online (Sandbox Code Playgroud)

应用程序.yml:

springdoc:
  show-actuator: ${SWAGGER_ENABLED:true}
  swagger-ui:
    doc-expansion: none
  api-docs:
    enabled: ${SWAGGER_ENABLED:true}
  model-converters:
    pageable-converter:
      enabled: true
Run Code Online (Sandbox Code Playgroud)

java openapi springdoc-openui springdoc-openapi-ui

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

如何将LONG数据转换为TIMESTAMP或VARCHAR2?

我需要这样的东西:

SELECT PARTITION_NAME,
       to_char(LONG_TO_TIMESTAMP(HIGH_VALUE), 'MM/DD/YYYY HH24:MI:SS') AS HIGH_VAL
  FROM USER_TAB_PARTITIONS
 WHERE TABLE_NAME = 'TABLE_NAME'
Run Code Online (Sandbox Code Playgroud)

输出应该如下所示:

PARTITION_NAME HIGH_VAL
---------------- --------------------
SOME_NAME 01/01/2010 00:00:00

当我跑:

SELECT PARTITION_NAME,来自USER_TAB_PARTITIONS的HIGH_VALUE

看起来像:

PARTITION_NAME HIGH_VAL
---------------- --------------------
SOME_NAME TIMESTAMP'2010-01-01 00:00:00'

如果我使用UTL_RAW.CAST_TO_VARCHAR2(HIGH_VALUE),
我最终会收到ORA-00997: illegal use of LONG datatype错误.

如果我使用''||HIGH_VALUEor to_clob(HIGH_VALUE)to_char(HIGH_VALUE),
我会收到ORA-00932: inconsistent datatypes: expected [DATA_TYPE] got LONG错误

我的工作功能归功于shobi:

CREATE OR REPLACE FUNCTION GET_HIGH_VALUE_AS_DATE (
    p_TableName     IN VARCHAR2,
    p_PatitionName  IN VARCHAR2
) RETURN DATE
IS
   v_LongVal LONG;
BEGIN …
Run Code Online (Sandbox Code Playgroud)

sql oracle oracle11g

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