小编Syn*_*ity的帖子

在 chrome 上禁用本地主机上的任何证书检查

我只是尝试工作,但 Google 非常努力地阻止我这样做。我只是想开发我最喜欢的遗留应用程序,即使在本地主机上的开发期间,我也必须使用 HTTPS。很长时间以来,我都像现在一样设置了一切……但突然间我开始NET::ERR_CERT_INVALID出错。

我将证书添加到我的钥匙串并将其设置为始终信任。

我检查了我很久以前知道并设置的 Chrome 中的设置,它允许我在本地主机上使用自签名证书:

chrome://flags/#allow-insecure-localhost
Run Code Online (Sandbox Code Playgroud)

但是现在我找不到了。他们有可能将其删除吗?我还尝试使用以下参数从命令行启动 chrome:

Google\ Chrome.app/Contents/MacOS/Google\ Chrome  --ignore-certificate-errors --ignore-urlfetcher-cert-requests &> /dev/null
Run Code Online (Sandbox Code Playgroud)

但是有了这个,我也会NET::ERR_CERT_INVALID出错。我在以下版本的 Chrome 中尝试了标志和命令行选项:

88.0.4324.96 (Official Build) (x86_64)
90.0.4394.0 (Official Build) canary (x86_64)
Run Code Online (Sandbox Code Playgroud)

frontend google-chrome ssl-certificate

8
推荐指数
1
解决办法
3338
查看次数

flying-saucer-pdf ubuntu上的例外表'name'不存在

我有一个简单的春季启动网络应用程序,我用html 创建可下载的pdf with flying-saucer-pdf,我用thymeleaf渲染.它工作正常并正确生成html字符串.我在Windows上开发并在开发期间生成pdf也运行良好,但在ubuntu服务器上不起作用.

    ITextRenderer renderer = new ITextRenderer();
    renderer.getFontResolver().addFont(fontFile, BaseFont.IDENTITY_H, BaseFont.EMBEDDED);
Run Code Online (Sandbox Code Playgroud)

fontFile存在,在ubuntu上也可以通过程序访问它,并且可以访问它,但是当我想渲染pdf时,我得到了以下异常.我不知道它究竟意味着什么.

引起:com.lowagie.text.DocumentException:com.lowagie.text.pdf.TrueTypeFont.getBaseFont中的/opt/RFIT/TextileApp/conf/font/Rubik-Regular.ttf中不存在表'name'(未知来源) )〜[itext-2.1.7.jar:na] at com.lowagie.text.pdf.TrueTypeFont.process(Unknown Source)〜[itext-2.1.7.jar:na] at com.lowagie.text.pdf. TrueTypeFontUnicode.(未知来源)〜[itext-2.1.7.jar:na] at com.lowagie.text.pdf.BaseFont.createFont(Unknown Source)〜[itext-2.1.7.jar:na] at com.lowagie .text.pdf.BaseFont.createFont(未知来源)〜[itext-2.1.7.jar:na] at com.lowagie.text.pdf.BaseFont.createFont(Unknown Source)〜[itext-2.1.7.jar: na] org.xhtmlrenderer.pdf.ITextFontResolver.addFont(ITextFontResolver.java:201)〜[flying-saucer-pdf-9.1.6.jar:na] org.xhtmlrenderer.pdf.ITextFontResolver.addFont(ITextFontResolver.java: 193)〜[flying-saucer-pdf-9.1.6.jar:na] org.xhtmlrenderer.pdf.ITextFontResolver.addFont(ITextFontResolver.java:188)~ [flying-saucer-pdf-9.1.6.jar:na ]在hu.rfit.textile.service.impl.Pdf PrinterService.printPDF(PdfPrinterService.java:53)〜[TextileApp-1.0.0-SNAPSHOT.jar:1.0.0-SNAPSHOT:4749]

在一些论坛上,他们说我应该将字体添加到/ usr/share/fonts dirt,并重新构建字体缓存.但它不起作用.

java pdf ubuntu

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

在 CriteriaQuery 多选中使用自定义函数调用会导致空指针异常

我有一个基于 Spring Boot 的应用程序,其中hibernate-types包含将 Postgres 数组正确映射到 JPA 实体。它工作正常,但当我想创建 CriteriaQuery 时遇到问题。

sql 架构如下:

create table if not exists my_values
    (
        id          bigserial,
        external_id varchar(255),
        ts_values   double precision[]
    );
Run Code Online (Sandbox Code Playgroud)

另外,我已经为该表提供了一个完美运行的 JPA 实体,并且我想使用 JPA 创建以下类型安全的条件查询:

select external_id, cardinality(ts_values)
from my_values
where external_id = 'my_extermal_id'
Run Code Online (Sandbox Code Playgroud)

使用 JPA 标准 API 编写查询非常简单,但每当我尝试运行查询时,它都会产生空指针异常。

到目前为止的java代码:

CriteriaBuilder cb = em.getCriteriaBuilder();
CriteriaQuery<MyData> query = cb.createQuery(MyData.class);
Root<MyDataEntity> root = query.from(MyDataEntity.class);

query.multiselect(
    root.get(MyDataEntity_.externalId),
    cb.function("cardinality", Integer.class, root.get(MyDataEntity_.values))
);

query.where(cb.equal(root.get(MyDataEntity_.externalId), id));

return em.createQuery(query).getSingleResult();
Run Code Online (Sandbox Code Playgroud)

正如我提到的,实体实现工作正常,我可以完美地保存和读取数据,MyData类也具有适当的构造函数。当我通过简单地选择整个数组来替换 cb.function 调用时,它也工作得很好,我怀疑在多选中使用一个函数会导致问题。

java.lang.NullPointerException:无法调用“org.hibernate.type.Type.getColumnSpan(org.hibernate.engine.spi.Mapping)”,因为“types[i]”在org.hibernate.hql.internal.NameGenerator处为空。 org.hibernate.hql.internal.ast.util.SessionFactoryHelper.generateColumnNames(NameGenerator.java:27) 处的generateColumnNames(SessionFactoryHelper.java:434)

我尝试向函数表达式添加别名和显式类型声明, …

java hibernate jpa

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

使用 GitLab CI 构建和推送 docker 镜像

我想使用 GitLab CI 构建 docker 镜像并将其推送到我的本地 nexus 存储库

这是我当前的 CI 文件:

image: docker:latest

services:
  - docker:dind

before_script:
  - docker info
  - docker login -u some_user -p nexus-rfit some_host

stages:
  - build

build-deploy-ubuntu-image:
  stage: build
  script:
    - docker build -t some_host/dev-image:ubuntu ./ubuntu/
    - docker push some_host/dev-image:ubuntu
  only:
    - master
  when: manual
Run Code Online (Sandbox Code Playgroud)

也有一个 alpin docker 的工作,但是当我想运行它时,它失败并出现以下错误:

检出 13102ac4 作为主...跳过 Git 子模块设置 $ docker info 无法连接到 unix:///var/run/docker.sock 上的 Docker 守护进程。docker 守护进程是否正在运行?错误:作业失败:退出代码 1

所以从技术上讲,镜像中的 docker 守护进程没有运行,但我不知道为什么?

gitlab gitlab-ci gitlab-ci-runner

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

使用gitlab CI构建docker镜像并推送到自签名的https nexus repo

我有一个gitlab CI设置,我想构建和推送docker镜像,第一个问题是我的nexus repo不是https.实际的错误消息是这样的:

来自守护程序的错误响应:获取http://some.host:port/v2/:http:server向HTTPS客户端发出HTTP响应

要构建docker镜像我们使用docker:latestimage,我找不到将主机添加为不安全注册表的方法.gitlab-ci.yml

所以自我签署了我的nexus存储库,希望它能解决,但它也没有用,并提供以下错误消息:

来自守护程序的错误响应:获取https://some.host:port/v2/:x509:由未知权限签名的证书

这是我目前的CI设置:

image: docker:latest

services:
  - docker:dind

before_script:
  - docker info
  - docker login -u USER -p PASSWORD some.host:port

stages:
  - build

build-image:
  stage: build
  script:
    - docker build -t some.host:port/image:alpine .
    - docker push some.host:port/image:alpine
  only:
    - master
  when: manual
Run Code Online (Sandbox Code Playgroud)

那么有一个简单的解决方案或现有的docker镜像我可以配置不安全的注册表可能是一些docker magic with command line我真的需要创建一个自己的图像来解决这个问题吗?

self-signed gitlab docker

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

将 --add-opens 标志与基于 Adoptium 的 java 17 docker 映像一起使用会导致无法识别的选项错误

我有基于 java 17 的 spring 项目,我必须通过 SSL 会话重用连接到 ftps 服务器。互联网上有很多针对此问题的解决方案,所有这些解决方案都需要设置以下 JVM 标志:

--add-opens java.base/sun.security.ssl=ALL-UNNAMED 
--add-opens java.base/sun.security.util=ALL-UNNAMED
Run Code Online (Sandbox Code Playgroud)

该解决方案在开发期间完美运行,但我无法创建工作的 docker 映像。目前,这些映像是使用jib-maven-plugin基础映像创建的amd64/eclipse-temurin:17.0.1_12-jre-alpine,但我已经尝试过较新版本的 Java 17 及更早版本,我什至也尝试过 JDK 映像。

    <plugin>
        <groupId>com.google.cloud.tools</groupId>
        <artifactId>jib-maven-plugin</artifactId>
        <version>3.1.4</version>
        <configuration>
            <from>
                <image>${image.base}</image>
            </from>
            <to>
                <image>${image.name}:${project.version}</image>
            </to>
            <container>
                <mainClass>${image.mainClass}</mainClass>
                <jvmFlags>
                    <jvmFlag>--add-opens java.base/sun.security.ssl=ALL-UNNAMED</jvmFlag>
                    <jvmFlag>--add-opens java.base/sun.security.util=ALL-UNNAMED</jvmFlag>
                </jvmFlags>
            </container>
        </configuration>
    </plugin>
Run Code Online (Sandbox Code Playgroud)

这是当前的设置,所有变量都是正确的,并且之前工作过,我只是添加了 JVM 标志,但是每当我尝试启动 docker 容器时,我都会收到以下错误消息:

无法识别的选项:--add-opens java.base/sun.security.ssl=ALL-UNNAMED 错误:无法创建 Java 虚拟机。错误:发生致命异常。程序将会退出。

我也尝试添加这个 JVM 参数,JAVA_TOOL_OPTIONS但得到了相同的结果。由于我不知道可能会出现什么问题,所以我转储了 docker 映像 tar,并检查了 config.json 中定义的入口点,据我所知,这看起来很好。

   "Entrypoint":[
      "java",
      "--add-opens java.base/sun.security.ssl=ALL-UNNAMED --add-opens java.base/sun.security.util=ALL-UNNAMED",
      "-cp",
      "@/app/jib-classpath-file",
      "com.example.demo.DemoApplication"
   ], …
Run Code Online (Sandbox Code Playgroud)

java docker

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

将输入字符串转换为char数组

我的问题是,我有一个从键盘获得的字符串,并希望将其保存到char数组中.我得到阵列后,我想把它变成一个数字或类似的东西.

我尝试了很多东西,但它不起作用.这是迄今为止我最好的解决方案:

string input_string;
char char_string[20];

cout << "type in some input text:$" << endl;
cin >> input_string;

strcpy(char_string, input_string.c_str());

for (int i = 0;  i < 20 ; i++)
{
    switch(char_string[i])
    {
        case 'a' : cout << "a" << endl; break;
        case 'b' : cout << "b" << endl; break;
        case 'c' : cout << "c" << endl; break;
        case 'd' : cout << "d" << endl; break;
        case 'e' : cout << "e" << endl; break;
        case 'f' …
Run Code Online (Sandbox Code Playgroud)

c++ arrays string

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

计算句子haskell中特定单词的出现次数

我是Haskell的新手,我想写一个简单的函数来计算字符串中子字符串的出现次数.

例如:"There is an apple"我想计算"is"句子中的次数,在这种情况下结果应该是1.

这就是我尝试过的:

countOf :: String -> Int
countOf x = length [n | n <- words x, filter "is" x]
Run Code Online (Sandbox Code Playgroud)

根据我所研究的它应该有效,但事实并非如此.我真的不知道如何解决问题,也不知道我得到的错误信息是什么意思:

input:1:41:
     Couldn't match expected type `Bool' with actual type `[a0]'
     In the return type of a call of `filter'
     In the expression: filter "a" x
     In a stmt of a list comprehension: filter "a" x
Run Code Online (Sandbox Code Playgroud)

haskell

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

使用geoJson时,Leaflet交换坐标

我有一个小叶应用程序,其中应用程序从服务器获取geoJson对象,并显示它,特别是LineString.我在服务器端使用的json解析器正常工作.客户端脚本也可以.

但是有些原因我想在路线上画箭头,而且在使用L.geoJson()时我无法弄清楚如何做到这一点 .

使用L.geoJson()的代码:

   getJsonFrom(routeQueryURL, params, function(data) {
     var a = L.geoJson(data, {
       onEachFeature: bindRouteDirection,
     }).addTo(map);
   });
Run Code Online (Sandbox Code Playgroud)

因为我不想在服务器端改变任何东西,我试过这个:

getJsonFrom(routeQueryURL, param, function(data) {
    $.each(data, function(index, feature) {
      var polyline = new L.Polyline(feature.geometry.coordinates, {
        color: feature.properties.color,
        opacity: 0.8
      }).addTo(routeMapLayer);

      var decorator = L.polylineDecorator(polyline, {
        patterns: [{
          offset: 25,
          repeat: 50,
          symbol: L.Symbol.arrowHead({
            pixelSize: 15,
            pathOptions: {
              stroke: true,
              color: feature.properties.color,
              fillOpacity: 0.8,
              polygon: false,
              weight: 3
            }
          })
        }]
      }).addTo(routeMapLayer);

      map.addLayer(routeMapLayer);
    });
  });
Run Code Online (Sandbox Code Playgroud)

所以我从geoJson对象和其他一些数据中访问坐标数组,并将折线直接绘制到地图上.问题是它将我的路线放到中东而不是匈牙利中间,所以它实际上是交换坐标.为什么L.Polyline处理不同形式的 …

javascript leaflet

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

开关数量不是整数

我有这个程序

int main()
{
    string valami = "-- .- .-. -.- ------ -- .- .-. -.-";
    from_morse_string(valami);
    return 0;
}

int from_morse_string(string input_morse_string)
{
    string morse_arr[1764];

    int j = 0;
    stringstream ssin(input_morse_string);
    while (ssin.good() && j < 1764)
    {
        ssin >> morse_arr[j];
        ++j;
    }

    for(int i = 0; i < j; i++)
    {
        switch(morse_arr[i])
        {
            case ".-" : cout << "a" << endl; break;
            case "-..." : cout << "b" << endl; break;
            case "-.-." : cout << "c" << …
Run Code Online (Sandbox Code Playgroud)

c++ switch-statement

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

将每个函数应用于列表Haskell的每个元素

我有一个这样的函数列表:

[(+1),(+ 2),(*4),(^ 2)]

我想将每个函数应用于另一个列表的每个元素.例如我有一个这样的列表[1..5],我希望得到这个结果:[2,4,12,16]

这就是我已经尝试过的.

applyEach :: [(a -> b)] -> [a] -> [b]
applyEach _ [] = []
applyEach (x:xs) (y:ys) = x y : applyEach xs ys
Run Code Online (Sandbox Code Playgroud)

我不知道是什么问题,我们有一个在线表面,我们必须放置代码并测试我们的submision,并且只说我的代码没有通过.

haskell

0
推荐指数
2
解决办法
1064
查看次数