问:
how to use imgui+glfw+opengl with vcpkg+clion+cmake on win11
I use vcpkg manifest to isntall packages, vcpkg.json:

{
  "name": "vcpkgtest",
  "version": "1.0.0",
  "description": "learn vkpg & glfw & imgui & cmake",
  "dependencies": [
    "glfw3",
    {
      "name": "imgui",
      "features": ["glfw-binding", "opengl3-binding"]
    }
  ]
}
```
<p>and installed them succesfully, <code>CMakeLists.txt</code>:</p>
```cmake_minimum_required(VERSION 3.25)
project(vcpkg_test)

set(CMAKE_CXX_STANDARD 17)

add_executable(vcpkg_test main.cpp)
## link packages
find_package(OpenGL REQUIRED)
target_link_libraries(vcpkg_test PRIVATE opengl32)

find_package(glfw3 CONFIG REQUIRED)
target_link_libraries(vcpkg_test PRIVATE glfw)

find_package(imgui CONFIG REQUIRED)
target_link_libraries(vcpkg_test PRIVATE imgui::imgui)
```
<p>Run the folloing code <code>main.cpp</code>:</p>
<pre class="lang-cpp prettyprint-override"><code>#include <imgui.h>
#include <imgui_impl_glfw.h>
#include <imgui_impl_opengl3.h>

#include <GLFW/glfw3.h>

int main(void)
{
    GLFWwindow* window;

    /* Initialize the library */
    if (!glfwInit())
        return -1;

    /* Create a windowed mode window and its OpenGL context */
    window = glfwCreateWindow(640, 480, "Hello World", NULL, NULL);
    if (!window)
    {
        glfwTerminate();
        return -1;
    }

    /* Make the window's context current */
    glfwMakeContextCurrent(window);

    IMGUI_CHECKVERSION();
    ImGui::CreateContext();
    ImGuiIO& io = ImGui::GetIO(); (void)io;
    ImGui_ImplGlfw_InitForOpenGL(window, true);
    ImGui_ImplOpenGL3_Init("#version 330");

    /* Loop until the user closes the window */
    while (!glfwWindowShouldClose(window))
    {
        /* Render here */
        glClear(GL_COLOR_BUFFER_BIT);

        ImGui_ImplOpenGL3_NewFrame();
        ImGui_ImplGlfw_NewFrame();
        ImGui::NewFrame();

        ImGui::Begin("My name is window, ImGUI window");
        ImGui::Text("Hello there new born!");
        ImGui::End();
        ImGui::Render();
        ImGui_ImplOpenGL3_RenderDrawData(ImGui::GetDrawData());

        /* Swap front and back buffers */
        glfwSwapBuffers(window);

        /* Poll for and process events */
        glfwPollEvents();
    }

    ImGui_ImplOpenGL3_Shutdown();
    ImGui_ImplGlfw_Shutdown();
    ImGui::DestroyContext();

    glfwTerminate();
    return 0;
}

</code>```

I get many undefined reference to 'ImGui::xxx':

```<code>[ 50%] Linking CXX executable vcpkg_test.exe
CMakeFiles\vcpkg_test.dir/objects.a(main.cpp.obj): In function `main':
E:/Fdisk/programming/vcpkg_test/main.cpp:26: undefined reference to `ImGui::DebugCheckVersionAndDataLayout(char const*, unsigned long long, unsigned long long, unsigned long long, unsigned long long, unsigned long long, unsigned long long)'
E:/Fdisk/programming/vcpkg_test/main.cpp:27: undefined reference to `ImGui::CreateContext(ImFontAtlas*)'
E:/Fdisk/programming/vcpkg_test/main.cpp:28: undefined reference to `ImGui::GetIO()'
E:/Fdisk/programming/vcpkg_test/main.cpp:29: undefined reference to `ImGui_ImplGlfw_InitForOpenGL(GLFWwindow*, bool)'
E:/Fdisk/programming/vcpkg_test/main.cpp:30: undefined reference to `ImGui_ImplOpenGL3_Init(char const*)'
E:/Fdisk/programming/vcpkg_test/main.cpp:38: undefined reference to `ImGui_ImplOpenGL3_NewFrame()'
E:/Fdisk/programming/vcpkg_test/main.cpp:39: undefined reference to `ImGui_ImplGlfw_NewFrame()'
E:/Fdisk/programming/vcpkg_test/main.cpp:40: undefined reference to `ImGui::NewFrame()'
E:/Fdisk/programming/vcpkg_test/main.cpp:42: undefined reference to `ImGui::Begin(char const*, bool*, int)'
E:/Fdisk/programming/vcpkg_test/main.cpp:43: undefined reference to `ImGui::Text(char const*, ...)'
E:/Fdisk/programming/vcpkg_test/main.cpp:44: undefined reference to `ImGui::End()'
E:/Fdisk/programming/vcpkg_test/main.cpp:45: undefined reference to `ImGui::Render()'
E:/Fdisk/programming/vcpkg_test/main.cpp:46: undefined reference to `ImGui::GetDrawData()'
E:/Fdisk/programming/vcpkg_test/main.cpp:46: undefined reference to `ImGui_ImplOpenGL3_RenderDrawData(ImDrawData*)'
E:/Fdisk/programming/vcpkg_test/main.cpp:56: undefined reference to `ImGui_ImplOpenGL3_Shutdown()'
E:/Fdisk/programming/vcpkg_test/main.cpp:57: undefined reference to `ImGui_ImplGlfw_Shutdown()'
E:/Fdisk/programming/vcpkg_test/main.cpp:58: undefined reference to `ImGui::DestroyContext(ImGuiContext*)'
collect2.exe: error: ld returned 1 exit status
</code>```

I've directly used the source code of imgui before to run the main.cpp successfully.

It's my first time to use vcpkg+imgui, but it seems that the lib missed something. I'm sure that ["glfw-binding", "opengl3-binding"] are installed because I can see the corresponding header files in ./cmake-build-debug/vcpkg_installed/x64-windows/include. So what's the problem?

Body:
I use vcpkg manifest to isntall packages, vcpkg.json:

{
  "name": "vcpkgtest",
  "version": "1.0.0",
  "description": "learn vkpg & glfw & imgui & cmake",
  "dependencies": [
    "glfw3",
    {
      "name": "imgui",
      "features": ["glfw-binding", "opengl3-binding"]
    }
  ]
}

and installed them succesfully, CMakeLists.txt:

cmake_minimum_required(VERSION 3.25)
project(vcpkg_test)

set(CMAKE_CXX_STANDARD 17)

add_executable(vcpkg_test main.cpp)
## link packages
find_package(OpenGL REQUIRED)
target_link_libraries(vcpkg_test PRIVATE opengl32)

find_package(glfw3 CONFIG REQUIRED)
target_link_libraries(vcpkg_test PRIVATE glfw)

find_package(imgui CONFIG REQUIRED)
target_link_libraries(vcpkg_test PRIVATE imgui::imgui)

Run the folloing code main.cpp:

#include <imgui.h>
#include <imgui_impl_glfw.h>
#include <imgui_impl_opengl3.h>

#include <GLFW/glfw3.h>

int main(void)
{
    GLFWwindow* window;

    /* Initialize the library */
    if (!glfwInit())
        return -1;

    /* Create a windowed mode window and its OpenGL context */
    window = glfwCreateWindow(640, 480, "Hello World", NULL, NULL);
    if (!window)
    {
        glfwTerminate();
        return -1;
    }

    /* Make the window's context current */
    glfwMakeContextCurrent(window);

    IMGUI_CHECKVERSION();
    ImGui::CreateContext();
    ImGuiIO& io = ImGui::GetIO(); (void)io;
    ImGui_ImplGlfw_InitForOpenGL(window, true);
    ImGui_ImplOpenGL3_Init("#version 330");

    /* Loop until the user closes the window */
    while (!glfwWindowShouldClose(window))
    {
        /* Render here */
        glClear(GL_COLOR_BUFFER_BIT);

        ImGui_ImplOpenGL3_NewFrame();
        ImGui_ImplGlfw_NewFrame();
        ImGui::NewFrame();

        ImGui::Begin("My name is window, ImGUI window");
        ImGui::Text("Hello there new born!");
        ImGui::End();
        ImGui::Render();
        ImGui_ImplOpenGL3_RenderDrawData(ImGui::GetDrawData());

        /* Swap front and back buffers */
        glfwSwapBuffers(window);

        /* Poll for and process events */
        glfwPollEvents();
    }

    ImGui_ImplOpenGL3_Shutdown();
    ImGui_ImplGlfw_Shutdown();
    ImGui::DestroyContext();

    glfwTerminate();
    return 0;
}

I get many undefined reference to 'ImGui::xxx':

[ 50%] Linking CXX executable vcpkg_test.exe
CMakeFiles\vcpkg_test.dir/objects.a(main.cpp.obj): In function `main':
E:/Fdisk/programming/vcpkg_test/main.cpp:26: undefined reference to `ImGui::DebugCheckVersionAndDataLayout(char const*, unsigned long long, unsigned long long, unsigned long long, unsigned long long, unsigned long long, unsigned long long)'
E:/Fdisk/programming/vcpkg_test/main.cpp:27: undefined reference to `ImGui::CreateContext(ImFontAtlas*)'
E:/Fdisk/programming/vcpkg_test/main.cpp:28: undefined reference to `ImGui::GetIO()'
E:/Fdisk/programming/vcpkg_test/main.cpp:29: undefined reference to `ImGui_ImplGlfw_InitForOpenGL(GLFWwindow*, bool)'
E:/Fdisk/programming/vcpkg_test/main.cpp:30: undefined reference to `ImGui_ImplOpenGL3_Init(char const*)'
E:/Fdisk/programming/vcpkg_test/main.cpp:38: undefined reference to `ImGui_ImplOpenGL3_NewFrame()'
E:/Fdisk/programming/vcpkg_test/main.cpp:39: undefined reference to `ImGui_ImplGlfw_NewFrame()'
E:/Fdisk/programming/vcpkg_test/main.cpp:40: undefined reference to `ImGui::NewFrame()'
E:/Fdisk/programming/vcpkg_test/main.cpp:42: undefined reference to `ImGui::Begin(char const*, bool*, int)'
E:/Fdisk/programming/vcpkg_test/main.cpp:43: undefined reference to `ImGui::Text(char const*, ...)'
E:/Fdisk/programming/vcpkg_test/main.cpp:44: undefined reference to `ImGui::End()'
E:/Fdisk/programming/vcpkg_test/main.cpp:45: undefined reference to `ImGui::Render()'
E:/Fdisk/programming/vcpkg_test/main.cpp:46: undefined reference to `ImGui::GetDrawData()'
E:/Fdisk/programming/vcpkg_test/main.cpp:46: undefined reference to `ImGui_ImplOpenGL3_RenderDrawData(ImDrawData*)'
E:/Fdisk/programming/vcpkg_test/main.cpp:56: undefined reference to `ImGui_ImplOpenGL3_Shutdown()'
E:/Fdisk/programming/vcpkg_test/main.cpp:57: undefined reference to `ImGui_ImplGlfw_Shutdown()'
E:/Fdisk/programming/vcpkg_test/main.cpp:58: undefined reference to `ImGui::DestroyContext(ImGuiContext*)'
collect2.exe: error: ld returned 1 exit status

I've directly used the source code of imgui before to run the main.cpp successfully.

It's my first time to use vcpkg+imgui, but it seems that the lib missed something. I'm sure that ["glfw-binding", "opengl3-binding"] are installed because I can see the corresponding header files in ./cmake-build-debug/vcpkg_installed/x64-windows/include. So what's the problem?


来源: stackexchange

问:
Manually constructing a Dynamic Link URL with OFL Parameter not working on Desktop Browser
I created dynamic link (React-Native App) which is working perfectly on Android & iOS devices but if open same link on desktop browser it say "Dynamic link not found/Invalid dynamic link". I have created custom dynamic link as well as using Firebase dynamic link

--- Using Firebase Link ---

```<code>await firebase.dynamicLinks().buildShortLink(
    {
      domainUriPrefix: `${prefix_url}`,
      link: `${prefix_url}/${params}`,
      android: {
        packageName: `${package_name}`,
      },
      ios: {
        bundleId: `${bundle_id}`,
        appStoreId: 'xxxxxxxxxx',
      },
      otherPlatform: {
        fallbackUrl: `${web_url}`,
      },
    },
    firebase.dynamicLinks.ShortLinkType.UNGUESSABLE,
  );

</code>```

--- By Custom Link ---

```<code>longDynamicLink: `${prefix_url}/?link=${link_url}&apn=${package_name}&ibi=${bundle_id}&isi=xxxxxxxxx&ofl=${web_url}`,

    suffix: {
      option: 'UNGUESSABLE',
    },
  };
</code>```

Issue -: Link on desktop browser not working (fallback url not working)

Dynamic link should redirect a website link on desktop

ContentLicense: CC BY-SA 4.0

Body:
I created dynamic link (React-Native App) which is working perfectly on Android & iOS devices but if open same link on desktop browser it say "Dynamic link not found/Invalid dynamic link". I have created custom dynamic link as well as using Firebase dynamic link

--- Using Firebase Link ---

await firebase.dynamicLinks().buildShortLink(
    {
      domainUriPrefix: `${prefix_url}`,
      link: `${prefix_url}/${params}`,
      android: {
        packageName: `${package_name}`,
      },
      ios: {
        bundleId: `${bundle_id}`,
        appStoreId: 'xxxxxxxxxx',
      },
      otherPlatform: {
        fallbackUrl: `${web_url}`,
      },
    },
    firebase.dynamicLinks.ShortLinkType.UNGUESSABLE,
  );

--- By Custom Link ---

longDynamicLink: `${prefix_url}/?link=${link_url}&apn=${package_name}&ibi=${bundle_id}&isi=xxxxxxxxx&ofl=${web_url}`,

    suffix: {
      option: 'UNGUESSABLE',
    },
  };

Issue -: Link on desktop browser not working (fallback url not working)

Dynamic link should redirect a website link on desktop


问:
error waiting for Storage Gateway SMB File Share
I am trying to create storage gateway SMB fileshare for s3 through terraform and i am getting unavailable error.

main.tf

```<code>resource "aws_storagegateway_smb_file_share" "sg_fileshare" {
  authentication  = "ActiveDirectory"
  gateway_arn     = "arn:aws:storagegateway:${var.region}:${var.account_number}:gateway/${var.gateway_id}"
  location_arn    = "arn:aws:s3:::${module.migration_bucket.name}"
  role_arn        = module.sgw_role.role_arn
  smb_acl_enabled = true
  oplocks_enabled = false
}
</code>```

when i run this i am getting below error.

```<code>Error: error waiting for Storage Gateway SMB File Share
(arn:aws:storagegateway:us-east-1:01243564785:share/share-57dHUID) to
create: unexpected state 'UNAVAILABLE', wanted target 'AVAILABLE'. last error: %!s(<nil>)
</code>```

sgw_assume_role:

```<code>{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "",
            "Effect": "Allow",
            "Principal": {
                "Service": "storagegateway.amazonaws.com"
            },
            "Action": "sts:AssumeRole"
        }
    ]
}
</code>```

and i have added these policies as well :

```<code>["AmazonS3FullAccess",
    "AWSGlueConsoleFullAccess",
  "AWSLambda_FullAccess", "AmazonSNSFullAccess"]
</code>```

Body:
I am trying to create storage gateway SMB fileshare for s3 through terraform and i am getting unavailable error.

main.tf

resource "aws_storagegateway_smb_file_share" "sg_fileshare" {
  authentication  = "ActiveDirectory"
  gateway_arn     = "arn:aws:storagegateway:${var.region}:${var.account_number}:gateway/${var.gateway_id}"
  location_arn    = "arn:aws:s3:::${module.migration_bucket.name}"
  role_arn        = module.sgw_role.role_arn
  smb_acl_enabled = true
  oplocks_enabled = false
}

when i run this i am getting below error.

Error: error waiting for Storage Gateway SMB File Share
(arn:aws:storagegateway:us-east-1:01243564785:share/share-57dHUID) to
create: unexpected state 'UNAVAILABLE', wanted target 'AVAILABLE'. last error: %!s(<nil>)

sgw_assume_role:

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "",
            "Effect": "Allow",
            "Principal": {
                "Service": "storagegateway.amazonaws.com"
            },
            "Action": "sts:AssumeRole"
        }
    ]
}

and i have added these policies as well :

["AmazonS3FullAccess",
    "AWSGlueConsoleFullAccess",
  "AWSLambda_FullAccess", "AmazonSNSFullAccess"]


问:
Efficient way to add items of a multidimensional array to have int values of grouped true values?
So I have this array that is generated based on a user inputted number and randomly assigns true and false for each value.

```<code>array [
   [true, false, false, true, true],
   [false, false, false, false, true],
   [true, true, true, false, false],
   [false, true, true, false, true],
   [true, false, true, true, true]
]
</code>```

I want to display numbers like in the picross games with this array.
for example:

```<code>array [
         1
         1                   1     2
         1      2     3      1     2
   1 2 [true, false, false, true, true],
     1 [false, false, false, false, true],
     3 [true, true, true, false, false],
   2 1 [false, true, true, false, true],
   1 3 [true, false, true, true, true]
]
</code>```

I have attempted a good few solutions that doesn't really get the job done:

```<code>for(let i = 0; i < userInput; i++) {
    array[i].forEach(element => {
        if(element == true) {
          readInt++
        } else {
          readInt = 0;
          readString += readInt + " ";
        }
    });
  }
  document.getElementById("hint1").innerHTML = readString;
</code>```

I'm just wondering if there may be an easier way of achieving this?

Body:
So I have this array that is generated based on a user inputted number and randomly assigns true and false for each value.

array [
   [true, false, false, true, true],
   [false, false, false, false, true],
   [true, true, true, false, false],
   [false, true, true, false, true],
   [true, false, true, true, true]
]

I want to display numbers like in the picross games with this array.
for example:

array [
         1
         1                   1     2
         1      2     3      1     2
   1 2 [true, false, false, true, true],
     1 [false, false, false, false, true],
     3 [true, true, true, false, false],
   2 1 [false, true, true, false, true],
   1 3 [true, false, true, true, true]
]

I have attempted a good few solutions that doesn't really get the job done:

for(let i = 0; i < userInput; i++) {
    array[i].forEach(element => {
        if(element == true) {
          readInt++
        } else {
          readInt = 0;
          readString += readInt + " ";
        }
    });
  }
  document.getElementById("hint1").innerHTML = readString;

I'm just wondering if there may be an easier way of achieving this?


问:
IOS SDK Epson Printer - How to adjust left and right margin in print receipt?
I'm implement a custom design of the receipt,Create image from the view and image size is 400*600.

I want to decrease left and right margin,Even i increase width for image but not decrease margin in  print receipt.

My printer printing width: 72mm and Character per line: 48/64

Please check this image.

Please help, I am stuck here.

Thanks in advance!

Any suggestions would be highly appreciated.

is there any method available for adjust margin? Use this SDK (https://download.epson-biz.com/modules/pos/index.php?page=single_soft&cid=7031&scat=58&pcat=52).


问:
Get values of nested json with regex
I'm trying to select all of the lowest tier(in the "nest") possible values that are numbers, and not strings, in a nested json. This will include arrays and objects. Currently, im using this code

```<code>(?<=:)\s*([+-]?\d+(?:\.\d*(?:E-?\d+)?)?)\b\s*(?=(?:\{|,)\s*\"[^\"]*\":)
</code>```

(which is mostly from this question)
and it works, if it isn't the last value of an object, or in a list. My main problem is, that it can be fooled. for example, if i have these two "a":":1,", ":":akey-value pairs next to eachother, it sees the number 1 as a value, except that the actual value is ":1,". How can i make a foolproof system for this?

Im excpecting it to not select anything, that couldn't be an integer or a float. I would like to keep the middle part of my original regex, beacuse it also needs to work with scientific notations.

Title: Get values of nested json with regex

Body:
I'm trying to select all of the lowest tier(in the "nest") possible values that are numbers, and not strings, in a nested json. This will include arrays and objects. Currently, im using this code

(?<=:)\s*([+-]?\d+(?:\.\d*(?:E-?\d+)?)?)\b\s*(?=(?:\{|,)\s*\"[^\"]*\":)

(which is mostly from this question)
and it works, if it isn't the last value of an object, or in a list. My main problem is, that it can be fooled. for example, if i have these two "a":":1,", ":":akey-value pairs next to eachother, it sees the number 1 as a value, except that the actual value is ":1,". How can i make a foolproof system for this?

Im excpecting it to not select anything, that couldn't be an integer or a float. I would like to keep the middle part of my original regex, beacuse it also needs to work with scientific notations.


问:
Installing kubebench on GKE
Overview

We are trying to install kube-bench on GKE. But we are getting read only file system error for /srv/kubernetes and /opt/cni volume mount directories. So instead of using the directory we are using emptyDir. How and what will be the effect if we use emptyDir

Following is the cronjob

```<code>apiVersion: batch/v1
{{- else }}
apiVersion: batch/v1beta1
{{- end }}
kind: CronJob
metadata:
  name: {{ .Values.misconfigCron.name }}
  namespace: ajinkya
  labels:
    {{- with .Values.misconfigCron.labels }}
    {{ toYaml . | indent 8 }}
    {{- end }}
spec:
  schedule: {{ .Values.misconfigCron.schedule | quote }}
  jobTemplate:
    spec:
      template:
        metadata:
          labels:
            app: kube-bench
        spec:
          hostPID: true
          restartPolicy: Never
          containers:
          - name: misconfig-cron
            image: {{ .Values.misconfigCron.image }}
            imagePullPolicy: IfNotPresent
            # terminationGracePeriodSeconds: 60
            command: ["kube-bench", "--httpoutput=true"]
            # command: ["kube-bench", "--include-test-output", "--noremediations", "--noresults", "--nototals", "--httpoutput=true"]
            env:
            - name: TOKEN
              valueFrom:
                secretKeyRef:
                  name: testing-secrets
                  key: auth-token
            - name: NODE_NAME
              valueFrom:
                fieldRef:
                  fieldPath: spec.nodeName
            volumeMounts:
            - name: var-lib-etcd
              mountPath: /var/lib/etcd
              readOnly: true
            - name: var-lib-kubelet
              mountPath: /var/lib/kubelet
              readOnly: true
            - name: var-lib-kube-scheduler
              mountPath: /var/lib/kube-scheduler
              readOnly: true
            - name: var-lib-kube-controller-manager
              mountPath: /var/lib/kube-controller-manager
              readOnly: true
            - name: etc-systemd
              mountPath: /etc/systemd
              readOnly: true
            - name: lib-systemd
              mountPath: /lib/systemd/
              readOnly: true
            - name: srv-kubernetes
              mountPath: /srv/kubernetes/
              readOnly: true
            - name: etc-kubernetes
              mountPath: /etc/kubernetes
              readOnly: true
              # /usr/local/mount-from-host/bin is mounted to access kubectl / kubelet, for auto-detecting the Kubernetes version.
              # You can omit this mount if you specify --version as part of the command.
            - name: usr-bin
              mountPath: /usr/local/mount-from-host/bin
              readOnly: true
            - name: etc-cni-netd
              mountPath: /etc/cni/net.d/
              readOnly: true
            - name: opt-cni-bin
              mountPath: /opt/cni/bin/
              readOnly: true
            - name: var-tmp-dump
              mountPath: /var/tmp/dump
            - name: misconfig-volume
              mountPath: /etc/config.yaml
              subPath: config.yaml
          volumes:
          - name: var-lib-etcd
            hostPath:
              path: "/var/lib/etcd"
          - name: var-lib-kubelet
            hostPath:
              path: "/var/lib/kubelet"
          - name: var-lib-kube-scheduler
            hostPath:
              path: "/var/lib/kube-scheduler"
          - name: var-lib-kube-controller-manager
            hostPath:
              path: "/var/lib/kube-controller-manager"
          - name: etc-systemd
            hostPath:
              path: "/etc/systemd"
          - name: lib-systemd
            hostPath:
              path: "/lib/systemd"
          - name: srv-kubernetes
            emptyDir: {}
          - name: etc-kubernetes
            hostPath:
              path: "/etc/kubernetes"
          - name: usr-bin
            hostPath:
              path: "/usr/bin"
          - name: etc-cni-netd
            hostPath:
              path: "/etc/cni/net.d/"
          - name: opt-cni-bin
            emptyDir: {}
          - name: var-tmp-dump
            hostPath:
              path: "/var/tmp/dump"
          - name: misconfig-volume
            configMap:
              name: {{ .Values.misconfigCron.configMapName }}
---
</code>```

After installing the helm chart one of our misconfigcron job failed due to read only file system error. Following is the error.
(combined from similar events): Error: failed to generate container "25441f585d69c59f163d51ddf295dd257e27392e79b3f2729" spec: failed to generate spec: failed to mkdir "/srv/kubernetes": mkdir /srv/kubernetes: read-only file system

Title: Installing kubebench on GKE

Body:
Overview

We are trying to install kube-bench on GKE. But we are getting read only file system error for /srv/kubernetes and /opt/cni volume mount directories. So instead of using the directory we are using emptyDir. How and what will be the effect if we use emptyDir

Following is the cronjob

apiVersion: batch/v1
{{- else }}
apiVersion: batch/v1beta1
{{- end }}
kind: CronJob
metadata:
  name: {{ .Values.misconfigCron.name }}
  namespace: ajinkya
  labels:
    {{- with .Values.misconfigCron.labels }}
    {{ toYaml . | indent 8 }}
    {{- end }}
spec:
  schedule: {{ .Values.misconfigCron.schedule | quote }}
  jobTemplate:
    spec:
      template:
        metadata:
          labels:
            app: kube-bench
        spec:
          hostPID: true
          restartPolicy: Never
          containers:
          - name: misconfig-cron
            image: {{ .Values.misconfigCron.image }}
            imagePullPolicy: IfNotPresent
            # terminationGracePeriodSeconds: 60
            command: ["kube-bench", "--httpoutput=true"]
            # command: ["kube-bench", "--include-test-output", "--noremediations", "--noresults", "--nototals", "--httpoutput=true"]
            env:
            - name: TOKEN
              valueFrom:
                secretKeyRef:
                  name: testing-secrets
                  key: auth-token
            - name: NODE_NAME
              valueFrom:
                fieldRef:
                  fieldPath: spec.nodeName
            volumeMounts:
            - name: var-lib-etcd
              mountPath: /var/lib/etcd
              readOnly: true
            - name: var-lib-kubelet
              mountPath: /var/lib/kubelet
              readOnly: true
            - name: var-lib-kube-scheduler
              mountPath: /var/lib/kube-scheduler
              readOnly: true
            - name: var-lib-kube-controller-manager
              mountPath: /var/lib/kube-controller-manager
              readOnly: true
            - name: etc-systemd
              mountPath: /etc/systemd
              readOnly: true
            - name: lib-systemd
              mountPath: /lib/systemd/
              readOnly: true
            - name: srv-kubernetes
              mountPath: /srv/kubernetes/
              readOnly: true
            - name: etc-kubernetes
              mountPath: /etc/kubernetes
              readOnly: true
              # /usr/local/mount-from-host/bin is mounted to access kubectl / kubelet, for auto-detecting the Kubernetes version.
              # You can omit this mount if you specify --version as part of the command.
            - name: usr-bin
              mountPath: /usr/local/mount-from-host/bin
              readOnly: true
            - name: etc-cni-netd
              mountPath: /etc/cni/net.d/
              readOnly: true
            - name: opt-cni-bin
              mountPath: /opt/cni/bin/
              readOnly: true
            - name: var-tmp-dump
              mountPath: /var/tmp/dump
            - name: misconfig-volume
              mountPath: /etc/config.yaml
              subPath: config.yaml
          volumes:
          - name: var-lib-etcd
            hostPath:
              path: "/var/lib/etcd"
          - name: var-lib-kubelet
            hostPath:
              path: "/var/lib/kubelet"
          - name: var-lib-kube-scheduler
            hostPath:
              path: "/var/lib/kube-scheduler"
          - name: var-lib-kube-controller-manager
            hostPath:
              path: "/var/lib/kube-controller-manager"
          - name: etc-systemd
            hostPath:
              path: "/etc/systemd"
          - name: lib-systemd
            hostPath:
              path: "/lib/systemd"
          - name: srv-kubernetes
            emptyDir: {}
          - name: etc-kubernetes
            hostPath:
              path: "/etc/kubernetes"
          - name: usr-bin
            hostPath:
              path: "/usr/bin"
          - name: etc-cni-netd
            hostPath:
              path: "/etc/cni/net.d/"
          - name: opt-cni-bin
            emptyDir: {}
          - name: var-tmp-dump
            hostPath:
              path: "/var/tmp/dump"
          - name: misconfig-volume
            configMap:
              name: {{ .Values.misconfigCron.configMapName }}
---

After installing the helm chart one of our misconfigcron job failed due to read only file system error. Following is the error.
(combined from similar events): Error: failed to generate container "25441f585d69c59f163d51ddf295dd257e27392e79b3f2729" spec: failed to generate spec: failed to mkdir "/srv/kubernetes": mkdir /srv/kubernetes: read-only file system


问:
MongoDB second nearly identical find query takes a few minutes and try next on cursor takes a similar amount of time
This query is done multiple times on a roughly ~20k documents collection.

```<code>println!("...getting1");
let filter_c = doc!{"c":"MyQuery", "s":{"$gt":0}, "i":{"$gt":0}};
let mut cursor = match collection.find(filter_c, find_options.clone()).await{
   Ok(x)=>x,
   Err(x)=>{println!("{:?}",x);sleep(Duration::from_secs(10)).await;continue}
};
println!("...getting2");
'tn: while let Some(n) = match cursor.try_next().await {Ok(x)=>x, Err(x)=>{println!("{:?}",x);continue 'tn}} {
   print!(".");
   //process query result one by one
}
</code>```

The first query of this type is nearly instantaneous - despite results being double-triple the size. The MyQuery string is different, and other than that it's just copy-pasted - same code, just the next loop.

The second query somehow is stuck for around 2 minutes between getting1 and getting2 outputs.

Then, the program gets stuck between getting2 and first . output for another minute or so...

Of course, no error outputs in-between.

I cannot explain this, and am disappointed. Any ideas? Not using sorts in my options, just projection, like so:

```<code>let find_options = FindOptions::builder()
    .projection(doc! {
        "a1": 1,
        "a2": 1,
        "a3": 1,
        "a4": 1,
        "a5": 1,
        "b1": 1,
        "b2": 1,
        "b3": 1,
        "b4": 1,
        "b5": 1,
    })
    .build();
</code>```

Body:
This query is done multiple times on a roughly ~20k documents collection.

println!("...getting1");
let filter_c = doc!{"c":"MyQuery", "s":{"$gt":0}, "i":{"$gt":0}};
let mut cursor = match collection.find(filter_c, find_options.clone()).await{
   Ok(x)=>x,
   Err(x)=>{println!("{:?}",x);sleep(Duration::from_secs(10)).await;continue}
};
println!("...getting2");
'tn: while let Some(n) = match cursor.try_next().await {Ok(x)=>x, Err(x)=>{println!("{:?}",x);continue 'tn}} {
   print!(".");
   //process query result one by one
}

The first query of this type is nearly instantaneous - despite results being double-triple the size. The MyQuery string is different, and other than that it's just copy-pasted - same code, just the next loop.

The second query somehow is stuck for around 2 minutes between getting1 and getting2 outputs.

Then, the program gets stuck between getting2 and first . output for another minute or so...

Of course, no error outputs in-between.

I cannot explain this, and am disappointed. Any ideas? Not using sorts in my options, just projection, like so:

let find_options = FindOptions::builder()
    .projection(doc! {
        "a1": 1,
        "a2": 1,
        "a3": 1,
        "a4": 1,
        "a5": 1,
        "b1": 1,
        "b2": 1,
        "b3": 1,
        "b4": 1,
        "b5": 1,
    })
    .build();


问:
Serialization error while exporting Object detection model
While expoting an object detection model inference graph with Tensorflow Object Detection API (TFODAPI), I am getting a warning as:

```<code>WARNING:tensorflow:Skipping full serialization of Keras layer object_detection.meta_architectures.ssd_meta_arch.SSDMetaArch object at 0x7f7bf0096d00>, because it is not built.
W1211 12:05:10.070806 140172767647616 save_impl.py:66]
</code>```

This warning also occurs while expoting tflite graph. This is resulting an error while converting the .pb model to tflite with metadata. Also this further gives an error while conversion as:

TypeError: EndVector() missing 1 required positional argument: 'vectorNumElems'

While the inference from .pb model works perfectly, I am not able to get inference from tflite model.

my expoting graph script is:

```<code>%cd /content/models/research/object_detection

##Export inference graph
!python exporter_main_v2.py --trained_checkpoint_dir=/content/gdrive/MyDrive/Road_potholes/new_try/training --pipeline_config_path=/content/gdrive/MyDrive/Road_potholes/new_try/ssd_mobilenet_v2_fpnlite_320x320_coco17_tpu-8.config --output_directory /content/gdrive/MyDrive/Road_potholes/new_try/inference_graph
</code>```

and export tflite graph code is :

```<code>%cd /content/models/research/object_detection

!python export_tflite_graph_tf2.py --pipeline_config_path /content/gdrive/MyDrive/Road_potholes/new_try/ssd_mobilenet_v2_fpnlite_320x320_coco17_tpu-8.config --trained_checkpoint_dir /content/gdrive/MyDrive/Road_potholes/new_try/training --output_directory /content/gdrive/MyDrive/Road_potholes/new_try/tflite
</code>```

I have followed the code as shown here: https://www.youtube.com/watch?v=eA5G-uL_OmQ&t=1591s

Body:
While expoting an object detection model inference graph with Tensorflow Object Detection API (TFODAPI), I am getting a warning as:

WARNING:tensorflow:Skipping full serialization of Keras layer object_detection.meta_architectures.ssd_meta_arch.SSDMetaArch object at 0x7f7bf0096d00>, because it is not built.
W1211 12:05:10.070806 140172767647616 save_impl.py:66]

This warning also occurs while expoting tflite graph. This is resulting an error while converting the .pb model to tflite with metadata. Also this further gives an error while conversion as:

TypeError: EndVector() missing 1 required positional argument: 'vectorNumElems'

While the inference from .pb model works perfectly, I am not able to get inference from tflite model.

my expoting graph script is:

%cd /content/models/research/object_detection

##Export inference graph
!python exporter_main_v2.py --trained_checkpoint_dir=/content/gdrive/MyDrive/Road_potholes/new_try/training --pipeline_config_path=/content/gdrive/MyDrive/Road_potholes/new_try/ssd_mobilenet_v2_fpnlite_320x320_coco17_tpu-8.config --output_directory /content/gdrive/MyDrive/Road_potholes/new_try/inference_graph

and export tflite graph code is :

%cd /content/models/research/object_detection

!python export_tflite_graph_tf2.py --pipeline_config_path /content/gdrive/MyDrive/Road_potholes/new_try/ssd_mobilenet_v2_fpnlite_320x320_coco17_tpu-8.config --trained_checkpoint_dir /content/gdrive/MyDrive/Road_potholes/new_try/training --output_directory /content/gdrive/MyDrive/Road_potholes/new_try/tflite

I have followed the code as shown here: https://www.youtube.com/watch?v=eA5G-uL_OmQ&t=1591s


问:
Xamarin.Forms Android app crashing on splash screen of Android 12
I am currently testing my app with VS 2019. Works fine with android devices lower than android 12 but crashes on devices => android 12.I updated android target framework to Android 12. Application that is being deployed on Android 12 crashes on the splash screen without throwing any errors, exception or activating any debugger in App.xaml.cs, SplashActivity.cs or any other file that supposed to be called. I tried all the possible changes in android manifest, mainActivity and splashActivity but it didn't work. Versions 6.4.0 of MVVMCross.Forms and 4.8.0.1821 of Xamarin.forms are both used in my application. I uploaded the app to the Play Store for internal testing, and while it functions on all devices, Android 12 devices experience splashing crashes.
I'm using VS 2019, Android SDK 31 and Android JDK 11.
I am getting a similar crash in of one my other app as well. Can you please guide me ? I checked but I did not find anything on this.


问:
how to get query params inside getInitialProps?
Here is my code I want to update the meta content based on the query parameter.
For Example localhost:3000/in
I need to fetch the meta content for India and need to update on .
But I can't fetch the query parameters on getInitialProps. how to get query params inside getInitialProps?</p>
```<code>function StartApp({ Component, pageProps, initialAsideLeftHandler }) {
  return <>
    <Provider store={store}>
      <Head>
        <title>{initialAsideLeftHandler[2].values}</title>
        <meta name="title" content={initialAsideLeftHandler[2].values} />
        <meta name="description" content={initialAsideLeftHandler[1].values} />
        <link rel="icon" href="/favicon.ico" />
      </Head>
      <Header/>
      <Component {...pageProps} />
      <Footer />
    </Provider>
  </>
}

StartApp.getInitialProps =  async ({query}) => {

  let parameter = {
    "countryCode": "in",
    "slug": "home",
  }
  let data =  await getMetaContent(parameter);

  return { initialAsideLeftHandler: data }
}
</code>```

Body:
Here is my code I want to update the meta content based on the query parameter.
For Example localhost:3000/in
I need to fetch the meta content for India and need to update on .
But I can't fetch the query parameters on getInitialProps. how to get query params inside getInitialProps?

function StartApp({ Component, pageProps, initialAsideLeftHandler }) {
  return <>
    <Provider store={store}>

        <title>{initialAsideLeftHandler[2].values}</title>
        <meta name="title" content={initialAsideLeftHandler[2].values} />
        <meta name="description" content={initialAsideLeftHandler[1].values} />
        <link rel="icon" href="/favicon.ico" />

      <Component {...pageProps} />

    </Provider>
  </>
}

StartApp.getInitialProps =  async ({query}) => {

  let parameter = {
    "countryCode": "in",
    "slug": "home",
  }
  let data =  await getMetaContent(parameter);

  return { initialAsideLeftHandler: data }
}


问:
Using webClient in global filter,Some requests result in timeout when blocking reading，But some requests are normal，Why?
Using webClient in global filter,Some requests result in timeout when blocking reading，But some requests are normal，Why？

main code

```<code>    <spring-cloud-gateway.version>2.2.5.RELEASE</spring-cloud-gateway.version>
    <dependency>
        <groupId>com.github.ben-manes.caffeine</groupId>
        <artifactId>caffeine</artifactId>
    </dependency>
    <dependency>
        <groupId>org.springframework.cloud</groupId>
        <artifactId>spring-cloud-starter-loadbalancer</artifactId>
    </dependency>

    @Bean
    @LoadBalanced
    public WebClient.Builder loadBalancedWebClientBuilder() {
        return WebClient.builder();
    }
    @Autowired
    private WebClient.Builder webClientBuilder;

    Mono<JSONObject> checkUser = webClientBuilder
        .build().get().uri("url", HttpMethod.GET)
        .headers(e -> e.putAll(newHeaders))
        .header(HttpHeaders.CONTENT_TYPE, "application/json")
        .retrieve().bodyToMono(JSONObject.class);
    CompletableFuture<JSONObject> userFuture = CompletableFuture.supplyAsync(() ->  carInfo.block(Duration.ofSeconds(5)), GlobalThreadPool.getExecutor());
    JSONObject body = userFuture.get();
    return chain.filter(exchange);
</code>```

Do you actually know why?
Thanks

Body:
Using webClient in global filter,Some requests result in timeout when blocking reading，But some requests are normal，Why？

main code

    <spring-cloud-gateway.version>2.2.5.RELEASE</spring-cloud-gateway.version>
    <dependency>
        <groupId>com.github.ben-manes.caffeine</groupId>
        <artifactId>caffeine</artifactId>
    </dependency>
    <dependency>
        <groupId>org.springframework.cloud</groupId>
        <artifactId>spring-cloud-starter-loadbalancer</artifactId>
    </dependency>

    @Bean
    @LoadBalanced
    public WebClient.Builder loadBalancedWebClientBuilder() {
        return WebClient.builder();
    }
    @Autowired
    private WebClient.Builder webClientBuilder;

    Mono<JSONObject> checkUser = webClientBuilder
        .build().get().uri("url", HttpMethod.GET)
        .headers(e -> e.putAll(newHeaders))
        .header(HttpHeaders.CONTENT_TYPE, "application/json")
        .retrieve().bodyToMono(JSONObject.class);
    CompletableFuture<JSONObject> userFuture = CompletableFuture.supplyAsync(() ->  carInfo.block(Duration.ofSeconds(5)), GlobalThreadPool.getExecutor());
    JSONObject body = userFuture.get();
    return chain.filter(exchange);

Do you actually know why?
Thanks


问:
Axios error "Request failed with status code 400" on Mongodb POST request
I’m following a youtube tutorial about mongodb that creates a simple NextJS page and gets only 2 inputs (login and password), and save it in a database on mongodb, but I'm getting that error:

Request failed with status code 400', name: 'AxiosError', code: 'ERR_BAD_REQUEST

That's my code:

import styles from "../styles/Home.module.css";
import axios from "axios";

export default function Home() {
  require("dotenv").config();

  const mongokey = process.env.MONGO_API;

  async function createAccount() {

    const username = document.querySelector("[name=user]").value;
    const email = document.querySelector("[name=email]").value;

    axios
      .post(
        "https://data.mongodb-api.com/app/data-irddk/endpoint/data/v1/action/insertOne",
        {
          collection: "n2D-collection",
          database: "n2D-database",
          dataSource: "Cluster0",
          document: {
            user: username,
            email: email,
          },
        },
        {
          "Content-Type": "application/json",
          "api-key": mongokey,
        }
      )
      .catch((error) => {
        if (error) {
          console.log("call failed :", error);

          let displayerror = "Error";
          document.getElementById("displayresult1").innerHTML = displayerror;

          return;
        }
      });

    let displaysuccess = "Account Created Successfully";
    document.getElementById("displayresult1").innerHTML = displaysuccess;
    console.log("username :", username, "email: ", email);
  }

  return (

Create your account

Create your username

        <input name="user"></input>

Create your email

        <input name="email"></input>
        <button
          style={{ marginTop: "2px", marginBottom: "2px" }}
          onClick={createAccount}
        >
          Create account
        </button>

  );
}

```

The API key is correct, the IP address is allowed on mongodb, also I've tested consoling log the inputs and it's getting correct.

Does anyone know where I'm wrong?

Body:
I’m following a youtube tutorial about mongodb that creates a simple NextJS page and gets only 2 inputs (login and password), and save it in a database on mongodb, but I'm getting that error:

Request failed with status code 400', name: 'AxiosError', code: 'ERR_BAD_REQUEST

That's my code:

import styles from "../styles/Home.module.css";
import axios from "axios";

export default function Home() {
  require("dotenv").config();

  const mongokey = process.env.MONGO_API;

  async function createAccount() {

    const username = document.querySelector("[name=user]").value;
    const email = document.querySelector("[name=email]").value;

    axios
      .post(
        "https://data.mongodb-api.com/app/data-irddk/endpoint/data/v1/action/insertOne",
        {
          collection: "n2D-collection",
          database: "n2D-database",
          dataSource: "Cluster0",
          document: {
            user: username,
            email: email,
          },
        },
        {
          "Content-Type": "application/json",
          "api-key": mongokey,
        }
      )
      .catch((error) => {
        if (error) {
          console.log("call failed :", error);

          let displayerror = "Error";
          document.getElementById("displayresult1").innerHTML = displayerror;

          return;
        }
      });

    let displaysuccess = "Account Created Successfully";
    document.getElementById("displayresult1").innerHTML = displaysuccess;
    console.log("username :", username, "email: ", email);
  }

  return (

Create your account

Create your username

        <input name="user"></input>

Create your email

        <input name="email"></input>
        <button
          style={{ marginTop: "2px", marginBottom: "2px" }}
          onClick={createAccount}
        >
          Create account
        </button>

  );
}

The API key is correct, the IP address is allowed on mongodb, also I've tested consoling log the inputs and it's getting correct.

Does anyone know where I'm wrong?


问:
Python DNS Request: DNS.Base.SocketError: [WinError 10013]
I am making DNS requests in Python in a loop. I use py3dns. After a moment I get this error message and the script stops:

DNS.Base.SocketError: [WinError 10013] An attempt was made to access a
socket in a way forbidden by its access permissions

Here's the code I am running:

```<code>def checkmx(domain):
    reqobj=DNS.Request(name=domain,qtype="MX")
    answers = reqobj.req().answers
    if len(answers) > 0:
        mxrecord = answers[0]['data'][1]
        return mxrecord
    else:
        return 'FAILED'

for i in domains:
    mx[count] = checkmx(I)
</code>```

Domains has ~20k entries.

Any idea why this is failing? I already tried to add wait times but I'd like to avoid to slow the script down too much.

Body:
I am making DNS requests in Python in a loop. I use py3dns. After a moment I get this error message and the script stops:

DNS.Base.SocketError: [WinError 10013] An attempt was made to access a
socket in a way forbidden by its access permissions

Here's the code I am running:

def checkmx(domain):
    reqobj=DNS.Request(name=domain,qtype="MX")
    answers = reqobj.req().answers
    if len(answers) > 0:
        mxrecord = answers[0]['data'][1]
        return mxrecord
    else:
        return 'FAILED'

for i in domains:
    mx[count] = checkmx(I)

Domains has ~20k entries.

Any idea why this is failing? I already tried to add wait times but I'd like to avoid to slow the script down too much.


问:
ValueError: non-broadcastable output operand with shape (199,1) doesn't match the broadcast shape (199,6)
I used openAI to create an algorithm for stock predictions based off machine learning. I have beginner knowledge of coding but this is quite complex. I keep running into the same error, which is centered around this part of my code:

# Reshape the predictions arrays so that they have the same dimensions as the original data
AAPL_predictions = AAPL_predictions.reshape(AAPL_test.shape[0], 1)
AMZN_predictions = AMZN_predictions.reshape(AMZN_test.shape[0], 1)

# Inverse transform the predictions
AAPL_predictions = AAPL_scaler.inverse_transform(AAPL_predictions)
AMZN_predictions = AMZN_scaler.inverse_transform(AMZN_predictions)
```
<p>I keep using openAI to help correct this code but I keep getting various similar errors. This is the error I am getting.:</p>
```---------------------------------------------------------------------------
ValueError                                Traceback (most recent call last)
<ipython-input-23-d913d0bb3652> in <module>
     73
     74 # Inverse transform the predictions
---> 75 AAPL_predictions = AAPL_scaler.inverse_transform(AAPL_predictions)
     76 AMZN_predictions = AMZN_scaler.inverse_transform(AMZN_predictions)
     77

/usr/local/lib/python3.8/dist-packages/sklearn/preprocessing/_data.py in inverse_transform(self, X)
    527         )
    528
--> 529         X -= self.min_
    530         X /= self.scale_
    531         return X

ValueError: non-broadcastable output operand with shape (199,1) doesn't match the broadcast shape (199,6)
```

I believe there is something wrong with the shapes and scales in this code. Is there any possible way to correct this, or do I need to approach the prediction arrays in a completely different way? I am very new to this so any corrected code would be greatly appreciated!

I kept trying to use openAI playground to assist me in correcting the parts of the code. However, it kept going back to the reshape arrays and inverse parts of the code, going in circles with corrections which led to another error, and so on. I was expecting the code to finally pass this stage and show the conclusions.

Body:
I used openAI to create an algorithm for stock predictions based off machine learning. I have beginner knowledge of coding but this is quite complex. I keep running into the same error, which is centered around this part of my code:

# Reshape the predictions arrays so that they have the same dimensions as the original data
AAPL_predictions = AAPL_predictions.reshape(AAPL_test.shape[0], 1)
AMZN_predictions = AMZN_predictions.reshape(AMZN_test.shape[0], 1)

# Inverse transform the predictions
AAPL_predictions = AAPL_scaler.inverse_transform(AAPL_predictions)
AMZN_predictions = AMZN_scaler.inverse_transform(AMZN_predictions)

I keep using openAI to help correct this code but I keep getting various similar errors. This is the error I am getting.:

---------------------------------------------------------------------------
ValueError                                Traceback (most recent call last)
<ipython-input-23-d913d0bb3652> in <module>
     73
     74 # Inverse transform the predictions
---> 75 AAPL_predictions = AAPL_scaler.inverse_transform(AAPL_predictions)
     76 AMZN_predictions = AMZN_scaler.inverse_transform(AMZN_predictions)
     77

/usr/local/lib/python3.8/dist-packages/sklearn/preprocessing/_data.py in inverse_transform(self, X)
    527         )
    528
--> 529         X -= self.min_
    530         X /= self.scale_
    531         return X

ValueError: non-broadcastable output operand with shape (199,1) doesn't match the broadcast shape (199,6)

I believe there is something wrong with the shapes and scales in this code. Is there any possible way to correct this, or do I need to approach the prediction arrays in a completely different way? I am very new to this so any corrected code would be greatly appreciated!

I kept trying to use openAI playground to assist me in correcting the parts of the code. However, it kept going back to the reshape arrays and inverse parts of the code, going in circles with corrections which led to another error, and so on. I was expecting the code to finally pass this stage and show the conclusions.


问:
AWS Codepipeline not serving React from a PHP+React Git repository
I am new to AWS and I was creating a Codepipeline for my GIT repository. My frontend is in React and backend is in PHP. So first I created an elastic beanstalk environment for php as backend. Then used AWS codebuild to build my code and finaly created a code pipeline.

Now issue is, when I am trying to access the pipeline I can only see php in it. React frontend isn't loading.

At first I thought maybe my react code is not getting build so I changed little react code and i got it's update in aws codebuild. So, I guess that's not the problem.

Please let me know if anyone needs any specific detail, I'll update my question.

This is my yaml file.

```<code>version: 0.2
phases:
  install:
    # runtime-versions:
    #   nodejs: 14.11.0
    commands:
      # - echo installing node 16
      # - curl -sL https://deb.nodesource.com/setup_16.x | bash
      # - apt install -y nodejs
      # - echo installing Yarn...
      # -  curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg |  apt-key add -
      # - echo "curl -sS https://dl.yarnpkg.com/debian/ stable main"
      # - apt install --no-install-recommends yarn
  pre_build:
    commands:
      - echo Installing source NPM dependencies...
      - npm install
  build:
    commands:
      - echo Testing ...
      # yarn test
      - echo Building ...
      - npm run build
  post_build:
    commands:
      - echo Build completed on `date`
# Include only the files required for your application to run.
artifacts:
  files:
    - "**/*"
base-directory : 'build'
    # - config.js
    # - index.js
    # - reset.js
    # - package.json
    # - node_modules/**/*
</code>```

Body:
I am new to AWS and I was creating a Codepipeline for my GIT repository. My frontend is in React and backend is in PHP. So first I created an elastic beanstalk environment for php as backend. Then used AWS codebuild to build my code and finaly created a code pipeline.

Now issue is, when I am trying to access the pipeline I can only see php in it. React frontend isn't loading.

At first I thought maybe my react code is not getting build so I changed little react code and i got it's update in aws codebuild. So, I guess that's not the problem.

Please let me know if anyone needs any specific detail, I'll update my question.

This is my yaml file.

version: 0.2
phases:
  install:
    # runtime-versions:
    #   nodejs: 14.11.0
    commands:
      # - echo installing node 16
      # - curl -sL https://deb.nodesource.com/setup_16.x | bash
      # - apt install -y nodejs
      # - echo installing Yarn...
      # -  curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg |  apt-key add -
      # - echo "curl -sS https://dl.yarnpkg.com/debian/ stable main"
      # - apt install --no-install-recommends yarn
  pre_build:
    commands:
      - echo Installing source NPM dependencies...
      - npm install
  build:
    commands:
      - echo Testing ...
      # yarn test
      - echo Building ...
      - npm run build
  post_build:
    commands:
      - echo Build completed on `date`
# Include only the files required for your application to run.
artifacts:
  files:
    - "**/*"
base-directory : 'build'
    # - config.js
    # - index.js
    # - reset.js
    # - package.json
    # - node_modules/**/*


问:
how to clean kubernetes cluster from garbage?
I installed Prometheus in a kubernetes cluster. I am watching the Cluster filesystem usage metric, and I see that it is constantly increasing.

```<code>sum (container_fs_usage_bytes{device=~"^/dev/[sv]d[a-z][1-9]$",id="/",kubernetes_io_hostname=~"^$Node$"}) / sum (container_fs_limit_bytes{device=~"^/dev/[sv]d[a-z][1-9]$",id="/",kubernetes_io_hostname=~"^$Node$"}) * 100
</code>```

Apart from Prometheus, Grafana and Redis HA cluster there is nothing in the k8s (test k8s).

I don't know for sure, but it's most likely related to the increase in logs in pods...

How can I limit the memory allocated to a container?

As I understand it, this is done with ephemeral-storage.

For example:

```<code>apiVersion: apps/v1
kind: Deployment
metadata:
  name: prometheus-deployment
  namespace: monitoring
  labels:
    app: prometheus-server
spec:
  replicas: 1
  selector:
    matchLabels:
      app: prometheus-server
  template:
    metadata:
      labels:
        app: prometheus-server
    spec:
      containers:
        - name: prometheus
          image: prom/prometheus:v2.12.0
          args:
            - "--storage.tsdb.retention.time=2h"
            - "--storage.tsdb.retention.size=1KB"
            - "--storage.tsdb.wal-compression"
            - "--config.file=/etc/prometheus/prometheus.yml"
            - "--storage.tsdb.path=/prometheus/"
          ports:
            - containerPort: 9090
          resources:
            requests:
              ephemeral-storage: 1M
              cpu: 500m
              memory: 10M
            limits:
              ephemeral-storage: 2M
              cpu: 1
              memory: 1Gi
          volumeMounts:
            - name: prometheus-config-volume
              mountPath: /etc/prometheus/
            - name: prometheus-storage-volume
              mountPath: /prometheus/
      volumes:
        - name: prometheus-config-volume
          configMap:
            defaultMode: 420
            name: prometheus-server-conf

        - name: prometheus-storage-volume
          emptyDir: {}

</code>```

However, if the limit is triggered, the pods are not removed and are padded:

```<code>NAME                                         READY   STATUS                   RESTARTS       AGE
pod/grafana-7584bf6dc5-qmz6x                 1/1     Running                  1 (4h8m ago)   10d
pod/prometheus-deployment-5cddcb8776-2vwkt   0/1     Completed                0              47m
pod/prometheus-deployment-5cddcb8776-2wtsg   0/1     Completed                0              62m
pod/prometheus-deployment-5cddcb8776-2xqm6   0/1     Completed                0              77m
pod/prometheus-deployment-5cddcb8776-4fjsc   0/1     ContainerStatusUnknown   1              44m
pod/prometheus-deployment-5cddcb8776-4rbh8   0/1     Completed                0              21m
pod/prometheus-deployment-5cddcb8776-6djvv   0/1     Completed                0              33m
pod/prometheus-deployment-5cddcb8776-6xbpp   0/1     Completed                0              73m
pod/prometheus-deployment-5cddcb8776-8krgn   0/1     Completed                0              23m
pod/prometheus-deployment-5cddcb8776-8zz9b   0/1     Completed                0              89m
pod/prometheus-deployment-5cddcb8776-92pqv   0/1     Completed                0              56m
pod/prometheus-deployment-5cddcb8776-962ng   0/1     Completed                0              3m14s
pod/prometheus-deployment-5cddcb8776-96s7g   0/1     Completed                0              91m
pod/prometheus-deployment-5cddcb8776-9fgrz   0/1     Completed                0              8m32s
pod/prometheus-deployment-5cddcb8776-9mx95   0/1     Completed                0              15m
pod/prometheus-deployment-5cddcb8776-9pzv5   0/1     Completed                0              12m
pod/prometheus-deployment-5cddcb8776-9qwkr   0/1     Completed                0              78m
pod/prometheus-deployment-5cddcb8776-bb9rm   0/1     Completed                0              81m
pod/prometheus-deployment-5cddcb8776-bhz9l   0/1     Completed                0              59m
pod/prometheus-deployment-5cddcb8776-dzdd5   0/1     ContainerStatusUnknown   1              82m
pod/prometheus-deployment-5cddcb8776-fq2t5   0/1     Completed                0              55m
pod/prometheus-deployment-5cddcb8776-g9vp2   0/1     Completed                0              52m
pod/prometheus-deployment-5cddcb8776-ggx8v   0/1     Completed                0              40m
pod/prometheus-deployment-5cddcb8776-gp546   0/1     Completed                0              5m21s
pod/prometheus-deployment-5cddcb8776-gt5q4   0/1     Completed                0              42m
pod/prometheus-deployment-5cddcb8776-jgs67   0/1     Completed                0              11m
pod/prometheus-deployment-5cddcb8776-k8894   1/1     Running                  0              67s
pod/prometheus-deployment-5cddcb8776-kwvmt   0/1     Completed                0              20m
pod/prometheus-deployment-5cddcb8776-ldjjn   0/1     Completed                0              51m
pod/prometheus-deployment-5cddcb8776-lxbfj   0/1     Completed                0              35m
pod/prometheus-deployment-5cddcb8776-mbfdq   0/1     Completed                0              25m
pod/prometheus-deployment-5cddcb8776-mmfxx   0/1     ContainerStatusUnknown   1              30m
pod/prometheus-deployment-5cddcb8776-p2gww   0/1     Completed                0              70m
pod/prometheus-deployment-5cddcb8776-p8w2t   0/1     Completed                0              64m
pod/prometheus-deployment-5cddcb8776-pmxq8   0/1     Completed                0              48m
pod/prometheus-deployment-5cddcb8776-r4bmn   0/1     Completed                0              27m
pod/prometheus-deployment-5cddcb8776-sxdxz   0/1     Completed                0              37m
pod/prometheus-deployment-5cddcb8776-tvfxs   0/1     Completed                0              68m
pod/prometheus-deployment-5cddcb8776-v5rvc   0/1     ContainerStatusUnknown   1              7m27s
pod/prometheus-deployment-5cddcb8776-vf997   0/1     Completed                0              43m
pod/prometheus-deployment-5cddcb8776-vj479   0/1     Completed                0              75m
pod/prometheus-deployment-5cddcb8776-vlfrk   0/1     Completed                0              87m
pod/prometheus-deployment-5cddcb8776-w72mm   0/1     Completed                0              18m
pod/prometheus-deployment-5cddcb8776-wtm6w   0/1     Completed                0              31m
pod/prometheus-deployment-5cddcb8776-xwbql   0/1     ContainerStatusUnknown   1              10m
pod/prometheus-deployment-5cddcb8776-zb24n   0/1     Completed                0              61m
pod/prometheus-deployment-5cddcb8776-zfdf9   0/1     Completed                0              85m
pod/prometheus-deployment-5cddcb8776-zwkc9   0/1     Completed                0              67m
</code>```

This, in turn, also affects memory consumption...

How can I properly control the growth of disk memory consumption and keep it clean?

Body:
I installed Prometheus in a kubernetes cluster. I am watching the Cluster filesystem usage metric, and I see that it is constantly increasing.

sum (container_fs_usage_bytes{device=~"^/dev/[sv]d[a-z][1-9]$",id="/",kubernetes_io_hostname=~"^$Node$"}) / sum (container_fs_limit_bytes{device=~"^/dev/[sv]d[a-z][1-9]$",id="/",kubernetes_io_hostname=~"^$Node$"}) * 100

Apart from Prometheus, Grafana and Redis HA cluster there is nothing in the k8s (test k8s).

I don't know for sure, but it's most likely related to the increase in logs in pods...

How can I limit the memory allocated to a container?

As I understand it, this is done with ephemeral-storage.

For example:

apiVersion: apps/v1
kind: Deployment
metadata:
  name: prometheus-deployment
  namespace: monitoring
  labels:
    app: prometheus-server
spec:
  replicas: 1
  selector:
    matchLabels:
      app: prometheus-server
  template:
    metadata:
      labels:
        app: prometheus-server
    spec:
      containers:
        - name: prometheus
          image: prom/prometheus:v2.12.0
          args:
            - "--storage.tsdb.retention.time=2h"
            - "--storage.tsdb.retention.size=1KB"
            - "--storage.tsdb.wal-compression"
            - "--config.file=/etc/prometheus/prometheus.yml"
            - "--storage.tsdb.path=/prometheus/"
          ports:
            - containerPort: 9090
          resources:
            requests:
              ephemeral-storage: 1M
              cpu: 500m
              memory: 10M
            limits:
              ephemeral-storage: 2M
              cpu: 1
              memory: 1Gi
          volumeMounts:
            - name: prometheus-config-volume
              mountPath: /etc/prometheus/
            - name: prometheus-storage-volume
              mountPath: /prometheus/
      volumes:
        - name: prometheus-config-volume
          configMap:
            defaultMode: 420
            name: prometheus-server-conf

        - name: prometheus-storage-volume
          emptyDir: {}

However, if the limit is triggered, the pods are not removed and are padded:

NAME                                         READY   STATUS                   RESTARTS       AGE
pod/grafana-7584bf6dc5-qmz6x                 1/1     Running                  1 (4h8m ago)   10d
pod/prometheus-deployment-5cddcb8776-2vwkt   0/1     Completed                0              47m
pod/prometheus-deployment-5cddcb8776-2wtsg   0/1     Completed                0              62m
pod/prometheus-deployment-5cddcb8776-2xqm6   0/1     Completed                0              77m
pod/prometheus-deployment-5cddcb8776-4fjsc   0/1     ContainerStatusUnknown   1              44m
pod/prometheus-deployment-5cddcb8776-4rbh8   0/1     Completed                0              21m
pod/prometheus-deployment-5cddcb8776-6djvv   0/1     Completed                0              33m
pod/prometheus-deployment-5cddcb8776-6xbpp   0/1     Completed                0              73m
pod/prometheus-deployment-5cddcb8776-8krgn   0/1     Completed                0              23m
pod/prometheus-deployment-5cddcb8776-8zz9b   0/1     Completed                0              89m
pod/prometheus-deployment-5cddcb8776-92pqv   0/1     Completed                0              56m
pod/prometheus-deployment-5cddcb8776-962ng   0/1     Completed                0              3m14s
pod/prometheus-deployment-5cddcb8776-96s7g   0/1     Completed                0              91m
pod/prometheus-deployment-5cddcb8776-9fgrz   0/1     Completed                0              8m32s
pod/prometheus-deployment-5cddcb8776-9mx95   0/1     Completed                0              15m
pod/prometheus-deployment-5cddcb8776-9pzv5   0/1     Completed                0              12m
pod/prometheus-deployment-5cddcb8776-9qwkr   0/1     Completed                0              78m
pod/prometheus-deployment-5cddcb8776-bb9rm   0/1     Completed                0              81m
pod/prometheus-deployment-5cddcb8776-bhz9l   0/1     Completed                0              59m
pod/prometheus-deployment-5cddcb8776-dzdd5   0/1     ContainerStatusUnknown   1              82m
pod/prometheus-deployment-5cddcb8776-fq2t5   0/1     Completed                0              55m
pod/prometheus-deployment-5cddcb8776-g9vp2   0/1     Completed                0              52m
pod/prometheus-deployment-5cddcb8776-ggx8v   0/1     Completed                0              40m
pod/prometheus-deployment-5cddcb8776-gp546   0/1     Completed                0              5m21s
pod/prometheus-deployment-5cddcb8776-gt5q4   0/1     Completed                0              42m
pod/prometheus-deployment-5cddcb8776-jgs67   0/1     Completed                0              11m
pod/prometheus-deployment-5cddcb8776-k8894   1/1     Running                  0              67s
pod/prometheus-deployment-5cddcb8776-kwvmt   0/1     Completed                0              20m
pod/prometheus-deployment-5cddcb8776-ldjjn   0/1     Completed                0              51m
pod/prometheus-deployment-5cddcb8776-lxbfj   0/1     Completed                0              35m
pod/prometheus-deployment-5cddcb8776-mbfdq   0/1     Completed                0              25m
pod/prometheus-deployment-5cddcb8776-mmfxx   0/1     ContainerStatusUnknown   1              30m
pod/prometheus-deployment-5cddcb8776-p2gww   0/1     Completed                0              70m
pod/prometheus-deployment-5cddcb8776-p8w2t   0/1     Completed                0              64m
pod/prometheus-deployment-5cddcb8776-pmxq8   0/1     Completed                0              48m
pod/prometheus-deployment-5cddcb8776-r4bmn   0/1     Completed                0              27m
pod/prometheus-deployment-5cddcb8776-sxdxz   0/1     Completed                0              37m
pod/prometheus-deployment-5cddcb8776-tvfxs   0/1     Completed                0              68m
pod/prometheus-deployment-5cddcb8776-v5rvc   0/1     ContainerStatusUnknown   1              7m27s
pod/prometheus-deployment-5cddcb8776-vf997   0/1     Completed                0              43m
pod/prometheus-deployment-5cddcb8776-vj479   0/1     Completed                0              75m
pod/prometheus-deployment-5cddcb8776-vlfrk   0/1     Completed                0              87m
pod/prometheus-deployment-5cddcb8776-w72mm   0/1     Completed                0              18m
pod/prometheus-deployment-5cddcb8776-wtm6w   0/1     Completed                0              31m
pod/prometheus-deployment-5cddcb8776-xwbql   0/1     ContainerStatusUnknown   1              10m
pod/prometheus-deployment-5cddcb8776-zb24n   0/1     Completed                0              61m
pod/prometheus-deployment-5cddcb8776-zfdf9   0/1     Completed                0              85m
pod/prometheus-deployment-5cddcb8776-zwkc9   0/1     Completed                0              67m

This, in turn, also affects memory consumption...

How can I properly control the growth of disk memory consumption and keep it clean?


问:
TimeScaleDB add_data_node() - SSL Certificate verification faild
Recently, I have been trying to run the timescaleDB in cluster mode, To do that, I have been following the official document of timescaleDB. I have just created the three instances on the timescaleDB cloud. one for the access node and others for the data node.

First I logged in to the access node service (Which is one of the three instances in my cloud)

```<code>SELECT add_data_node('dn1', host => 'wyauh1bnaf.eme3aez07s.tsdb.cloud.timescale.com', port => 38274, password => 'yyyxxxyyyxx');
</code>```

When I go run the add_data_node query, I got an error.

```<code>DETAIL:  connection to the server at "wyauh1bnaf.eme3aez07s.tsdb.cloud.timescale.com" (3.83.34.152), port 38274 failed: SSL error: certificate verify failed
</code>```

If you know the answer to the SSL certification failed error, please let me know.

Body:
Recently, I have been trying to run the timescaleDB in cluster mode, To do that, I have been following the official document of timescaleDB. I have just created the three instances on the timescaleDB cloud. one for the access node and others for the data node.

First I logged in to the access node service (Which is one of the three instances in my cloud)

SELECT add_data_node('dn1', host => 'wyauh1bnaf.eme3aez07s.tsdb.cloud.timescale.com', port => 38274, password => 'yyyxxxyyyxx');

When I go run the add_data_node query, I got an error.

DETAIL:  connection to the server at "wyauh1bnaf.eme3aez07s.tsdb.cloud.timescale.com" (3.83.34.152), port 38274 failed: SSL error: certificate verify failed

If you know the answer to the SSL certification failed error, please let me know.


问:
Linkedin Profile API
We want to integrate our app with Linkedin. Our Story is that users sign-in with Linkedin and give access to our app to get profile information from Linkedin and merge local information.
Now we create an app for integration but we just have r_liteprofile permission and this access is not satisfactory because we need complete user profile information.

I read Microsoft technical documents and saw this sentence Access to r_fullprofile is now closed. Consider requesting access to the r_liteprofile instead.
So what is your alternative way to get full profile information?

Title: Linkedin Profile API


问:
How to insert data from multiple comma separated txt file into Hierachical Tkinter Treeview in Python?
Currently I have a Tkinter Treeview that should display multiple data points from a txt file in a hierarchical view. I'm having some difficulties in figuring out the correct logic for inserting the data from the txt into the Treeview upon clicking the Check Files button. How can I properly insert into the correct Treeview column as shown in the image? Thanks.

```<code>class HomePage(Tk):
    def __init__(self, *args, **kwargs):
        Tk.__init__(self, *args, **kwargs)
        self.notebook = ttk.Notebook()  # Create a notebook widget
        self.add_tab1()
        #self.add_tab2()
        self.notebook.grid(row=0)
        self.notebook.pack(expand=1, fill="both")

    def add_tab1(self):
        tab1 = tab_one(self.notebook)
        self.notebook.add(tab1, text="Home")

class data_table(object):
    def __init__(self, site, panels_count, tev_count):
        self.site = site
        self.panels_count = panels_count
        self.tev_count = tev_count

class tab_one(Frame):
    def __init__(self, *args, **kwargs):
        Frame.__init__(self, *args, **kwargs)

        frame_tree = tk.LabelFrame(self, text="Results ", bd=6)  # Frame2 on the window/canvas
        frame_tree.grid(column=0, row=1, columnspan=2,  padx=10, pady=10, sticky='NSEW')  # Positioning frame2
        frame_tree.configure(borderwidth=1)
        self.grid_columnconfigure(1, weight=1)  # Configuring the column for the main window/canvas
        self.grid_rowconfigure(1, weight=1)  # Configuring the row for the main window/canvas

        vsb = Scrollbar(frame_tree,orient="vertical")
        hsb = Scrollbar(frame_tree,orient="horizontal")

        dbtreeView = ttk.Treeview(frame_tree, yscrollcommand=vsb.set, xscrollcommand=hsb.set, selectmode="browse")

        dbtreeView.columnconfigure(2, weight=1)
        #dbtreeView.rowconfigure(2, weight=1)
        dbtreeView.grid(column=0, row=0, columnspan=2, sticky="NSEW")

        #databaseView = ttk.Treeview(middleframe, yscrollcommand=vsb.set, xscrollcommand=hsb.set)
        #databaseView.grid(column=0, row=0, sticky = "NSEW")
#         middleframe.columnconfigure(0, weight=1)
#         middleframe.rowconfigure(0, weight=1)
        dbtreeView["show"] = "headings"
        dbtreeView["columns"] = ("id", "date", "job", "engineer", "station", "voltage", "max_db", "max_pd", "panel_id", "tev_id", "components", "location", "phase", "decibel", "prpd", "pulse", "pd")
        vsb.configure(command=dbtreeView.yview)
        hsb.configure(command=dbtreeView.xview)
        vsb.grid(column=2, row=0, sticky="NS")
        hsb.grid(column=0, row=2, sticky="WE")
#
        #Treeview column headings
        dbtreeView.heading("id", text="File Name")
        dbtreeView.column("id", anchor='center', width=100)

        dbtreeView.heading("date", text="Scanned Date")
        dbtreeView.column("date", width=100)

        dbtreeView.heading("job", text="Job No")
        dbtreeView.column("job", anchor='center', width=100)

        dbtreeView.heading("engineer", text="Engineer")
        dbtreeView.column("engineer", anchor='center', width=100)

        dbtreeView.heading("station", text="Station")
        dbtreeView.column("station", anchor='center', width=100)

        dbtreeView.heading("voltage", text="Operating Voltage (kV)")
        dbtreeView.column("voltage", anchor='center', width=170)

        dbtreeView.heading("max_db", text="Max dB")
        dbtreeView.column("max_db", anchor='center', width=100)

        dbtreeView.heading("max_pd", text="Max PD %")
        dbtreeView.column("max_pd", anchor='center', width=100)

        dbtreeView.heading("panel_id", text="Panel Num")
        dbtreeView.column("panel_id", anchor='center', width=100)

        dbtreeView.heading("tev_id", text="TEV Name")
        dbtreeView.column("tev_id", anchor='center', width=150)

        dbtreeView.heading("components", text="Component")
        dbtreeView.column("components", anchor='center', width=100)

        dbtreeView.heading("location", text="Sublocation")
        dbtreeView.column("location", anchor='center', width=100)

        dbtreeView.heading("phase", text="Phase Ref Lock")
        dbtreeView.column("phase", anchor='center', width=150)

        dbtreeView.heading("decibel", text="dB")
        dbtreeView.column("decibel", anchor='center', width=100)

        dbtreeView.heading("prpd", text="PRPD")
        dbtreeView.column("prpd", anchor='center', width=100)

        dbtreeView.heading("pulse", text="Pulse Wave")
        dbtreeView.column("pulse", anchor='center', width=100)

        dbtreeView.heading("pd", text="PD %")
        dbtreeView.column("pd", anchor='center', width=100)

        find_files_btn = tk.Button(frame_tree, width=20, text="Check Files", command=lambda: self.check_files(dbtreeView, find_files_btn))
        find_files_btn.grid(column=0, row=1, padx=5, pady=5, sticky='NSEW')

    def check_files(self, db_tree, btn):

        dir_path = r'C:\Users\Documents\Partial Discharge GUI\input_folder'
        count = 0
        file_list = []
        # Iterate directory
        for path in os.listdir(dir_path):
        # check if current path is a file
            if os.path.isfile(os.path.join(dir_path, path)):
                count += 1
                #print(path)
                file_list.append(path)

        p = Path('C:/Users/Documents/Partial Discharge GUI/input_folder/Festo (6p6) 20210201.txt')
        lines = p.read_text().splitlines()
        print(lines)

        #Clear the current data in the table
        for x in db_tree.get_children():
            db_tree.delete(x)

if __name__ == '__main__':
    homePage = HomePage()
    homePage.title("PD System")  # Window title
    screen_width = homePage.winfo_screenwidth()
    screen_height = homePage.winfo_screenheight()
    width = 1400
    height = 600
    x = (screen_width / 2) - (width / 2)
    y = (screen_height / 2) - (height / 2)
    homePage.geometry("%dx%d+%d+%d" % (width, height, x, y))
    homePage.resizable(1, 1)
    homePage.mainloop()
</code>```

File content:

```<code>20210201T101500,210201,Firdaus,Festo,7,27,100
1,20210201T101735_TEV,Cables,1/L1,True,18,Yes,Yes,100
2,20210201T101804_TEV,Cables,1/L1,True,19,Yes,Yes,100
3,20210201T101831_TEV,Cables,1/L1,True,18,Yes,Yes,100
AIR,20210201T102214_TEV,CT Chamber,,True,12,Yes,No,50
Tf1,20210201T102137_TEV,CT Chamber,,True,27,Yes,Yes,100
</code>```

Body:
Currently I have a Tkinter Treeview that should display multiple data points from a txt file in a hierarchical view. I'm having some difficulties in figuring out the correct logic for inserting the data from the txt into the Treeview upon clicking the Check Files button. How can I properly insert into the correct Treeview column as shown in the image? Thanks.

class HomePage(Tk):
    def __init__(self, *args, **kwargs):
        Tk.__init__(self, *args, **kwargs)
        self.notebook = ttk.Notebook()  # Create a notebook widget
        self.add_tab1()
        #self.add_tab2()
        self.notebook.grid(row=0)
        self.notebook.pack(expand=1, fill="both")

    def add_tab1(self):
        tab1 = tab_one(self.notebook)
        self.notebook.add(tab1, text="Home")

class data_table(object):
    def __init__(self, site, panels_count, tev_count):
        self.site = site
        self.panels_count = panels_count
        self.tev_count = tev_count

class tab_one(Frame):
    def __init__(self, *args, **kwargs):
        Frame.__init__(self, *args, **kwargs)

        frame_tree = tk.LabelFrame(self, text="Results ", bd=6)  # Frame2 on the window/canvas
        frame_tree.grid(column=0, row=1, columnspan=2,  padx=10, pady=10, sticky='NSEW')  # Positioning frame2
        frame_tree.configure(borderwidth=1)
        self.grid_columnconfigure(1, weight=1)  # Configuring the column for the main window/canvas
        self.grid_rowconfigure(1, weight=1)  # Configuring the row for the main window/canvas

        vsb = Scrollbar(frame_tree,orient="vertical")
        hsb = Scrollbar(frame_tree,orient="horizontal")

        dbtreeView = ttk.Treeview(frame_tree, yscrollcommand=vsb.set, xscrollcommand=hsb.set, selectmode="browse")

        dbtreeView.columnconfigure(2, weight=1)
        #dbtreeView.rowconfigure(2, weight=1)
        dbtreeView.grid(column=0, row=0, columnspan=2, sticky="NSEW")

        #databaseView = ttk.Treeview(middleframe, yscrollcommand=vsb.set, xscrollcommand=hsb.set)
        #databaseView.grid(column=0, row=0, sticky = "NSEW")
#         middleframe.columnconfigure(0, weight=1)
#         middleframe.rowconfigure(0, weight=1)
        dbtreeView["show"] = "headings"
        dbtreeView["columns"] = ("id", "date", "job", "engineer", "station", "voltage", "max_db", "max_pd", "panel_id", "tev_id", "components", "location", "phase", "decibel", "prpd", "pulse", "pd")
        vsb.configure(command=dbtreeView.yview)
        hsb.configure(command=dbtreeView.xview)
        vsb.grid(column=2, row=0, sticky="NS")
        hsb.grid(column=0, row=2, sticky="WE")
#
        #Treeview column headings
        dbtreeView.heading("id", text="File Name")
        dbtreeView.column("id", anchor='center', width=100)

        dbtreeView.heading("date", text="Scanned Date")
        dbtreeView.column("date", width=100)

        dbtreeView.heading("job", text="Job No")
        dbtreeView.column("job", anchor='center', width=100)

        dbtreeView.heading("engineer", text="Engineer")
        dbtreeView.column("engineer", anchor='center', width=100)

        dbtreeView.heading("station", text="Station")
        dbtreeView.column("station", anchor='center', width=100)

        dbtreeView.heading("voltage", text="Operating Voltage (kV)")
        dbtreeView.column("voltage", anchor='center', width=170)

        dbtreeView.heading("max_db", text="Max dB")
        dbtreeView.column("max_db", anchor='center', width=100)

        dbtreeView.heading("max_pd", text="Max PD %")
        dbtreeView.column("max_pd", anchor='center', width=100)

        dbtreeView.heading("panel_id", text="Panel Num")
        dbtreeView.column("panel_id", anchor='center', width=100)

        dbtreeView.heading("tev_id", text="TEV Name")
        dbtreeView.column("tev_id", anchor='center', width=150)

        dbtreeView.heading("components", text="Component")
        dbtreeView.column("components", anchor='center', width=100)

        dbtreeView.heading("location", text="Sublocation")
        dbtreeView.column("location", anchor='center', width=100)

        dbtreeView.heading("phase", text="Phase Ref Lock")
        dbtreeView.column("phase", anchor='center', width=150)

        dbtreeView.heading("decibel", text="dB")
        dbtreeView.column("decibel", anchor='center', width=100)

        dbtreeView.heading("prpd", text="PRPD")
        dbtreeView.column("prpd", anchor='center', width=100)

        dbtreeView.heading("pulse", text="Pulse Wave")
        dbtreeView.column("pulse", anchor='center', width=100)

        dbtreeView.heading("pd", text="PD %")
        dbtreeView.column("pd", anchor='center', width=100)

        find_files_btn = tk.Button(frame_tree, width=20, text="Check Files", command=lambda: self.check_files(dbtreeView, find_files_btn))
        find_files_btn.grid(column=0, row=1, padx=5, pady=5, sticky='NSEW')

    def check_files(self, db_tree, btn):

        dir_path = r'C:\Users\Documents\Partial Discharge GUI\input_folder'
        count = 0
        file_list = []
        # Iterate directory
        for path in os.listdir(dir_path):
        # check if current path is a file
            if os.path.isfile(os.path.join(dir_path, path)):
                count += 1
                #print(path)
                file_list.append(path)

        p = Path('C:/Users/Documents/Partial Discharge GUI/input_folder/Festo (6p6) 20210201.txt')
        lines = p.read_text().splitlines()
        print(lines)

        #Clear the current data in the table
        for x in db_tree.get_children():
            db_tree.delete(x)

if __name__ == '__main__':
    homePage = HomePage()
    homePage.title("PD System")  # Window title
    screen_width = homePage.winfo_screenwidth()
    screen_height = homePage.winfo_screenheight()
    width = 1400
    height = 600
    x = (screen_width / 2) - (width / 2)
    y = (screen_height / 2) - (height / 2)
    homePage.geometry("%dx%d+%d+%d" % (width, height, x, y))
    homePage.resizable(1, 1)
    homePage.mainloop()

File content:

20210201T101500,210201,Firdaus,Festo,7,27,100
1,20210201T101735_TEV,Cables,1/L1,True,18,Yes,Yes,100
2,20210201T101804_TEV,Cables,1/L1,True,19,Yes,Yes,100
3,20210201T101831_TEV,Cables,1/L1,True,18,Yes,Yes,100
AIR,20210201T102214_TEV,CT Chamber,,True,12,Yes,No,50
Tf1,20210201T102137_TEV,CT Chamber,,True,27,Yes,Yes,100


问:
Segmentation fault on grpc-netty-shaded libio_grpc_netty_shaded_netty_tcnative_linux_x86_64
I am using grpc-netty-shaded version 1.51.0 on Alpine 3.16.2 and have also added netty-tcnative-boringssl-static 2.0.54-Final to my Maven dependencies. I have also installed the sgerrand/alpine-pkg-glibc apk. My JVM crashes with SIGSEGV and the stack as shown below.
I have seen some workarounds to use gcompat at https://wiki.alpinelinux.org/wiki/Running_glibc_programs.
However I cannot use it since it conflicts with my installed glibc package with

ERROR: gcompat-1.0.0-r4: trying to overwrite lib/ld-linux-x86-64.so.2 owned by glibc-2.35-r0.

I cannot move away from alpine which is my limitation here. Any help would be much appreciated.
Using OpenJDK version "1.8.0_345"

```<code>Stack: [0x00007facd51a2000,0x00007facd51e2af0],  sp=0x00007facd51dfd28,  free space=247k
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
C  0x00000000000207f6
C  [libio_grpc_netty_shaded_netty_tcnative_linux_x86_646225435557092813446.so+0x26eda]  _init+0x6b6a
C  [libio_grpc_netty_shaded_netty_tcnative_linux_x86_646225435557092813446.so+0x22934]  _init+0x25c4
C  [libio_grpc_netty_shaded_netty_tcnative_linux_x86_646225435557092813446.so+0x2741e]  JNI_OnLoad+0x1e
C  [libjava.so+0xebda]  Java_java_lang_ClassLoader_00024NativeLibrary_load+0xba
j  java.lang.ClassLoader$NativeLibrary.load(Ljava/lang/String;Z)V+0
j  java.lang.ClassLoader.loadLibrary0(Ljava/lang/Class;Ljava/io/File;)Z+328
j  java.lang.ClassLoader.loadLibrary(Ljava/lang/Class;Ljava/lang/String;Z)V+48
j  java.lang.Runtime.load0(Ljava/lang/Class;Ljava/lang/String;)V+57
j  java.lang.System.load(Ljava/lang/String;)V+7
j  io.grpc.netty.shaded.io.netty.util.internal.NativeLibraryUtil.loadLibrary(Ljava/lang/String;Z)V+5
v  ~StubRoutines::call_stub
V  [libjvm.so+0x67340d]  JavaCalls::call_helper(JavaValue*, methodHandle*, JavaCallArguments*, Thread*)+0xc7d
V  [libjvm.so+0x9b56b8]  Reflection::invoke(instanceKlassHandle, methodHandle, Handle, bool, objArrayHandle, BasicType, objArrayHandle, bool, Thread*)+0xb18
V  [libjvm.so+0x9b6902]  Reflection::invoke_method(oopDesc*, Handle, objArrayHandle, Thread*)+0x172
V  [libjvm.so+0x71efb1]  JVM_InvokeMethod+0x241
J 2506  sun.reflect.NativeMethodAccessorImpl.invoke0(Ljava/lang/reflect/Method;Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object; (0 bytes) @ 0x00007face572450d [0x00007face5724420+0xed]
J 2505 C1 sun.reflect.NativeMethodAccessorImpl.invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object; (104 bytes) @ 0x00007face572734c [0x00007face57261a0+0x11ac]
J 1910 C1 sun.reflect.DelegatingMethodAccessorImpl.invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object; (10 bytes) @ 0x00007face557d484 [0x00007face557d380+0x104]
J 1909 C1 java.lang.reflect.Method.invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object; (62 bytes) @ 0x00007face557a70c [0x00007face557a320+0x3ec]
j  io.grpc.netty.shaded.io.netty.util.internal.NativeLibraryLoader$1.run()Ljava/lang/Object;+53
v  ~StubRoutines::call_stub
V  [libjvm.so+0x67340d]  JavaCalls::call_helper(JavaValue*, methodHandle*, JavaCallArguments*, Thread*)+0xc7d
V  [libjvm.so+0x722b44]  JVM_DoPrivileged+0x2b4
J 732  java.security.AccessController.doPrivileged(Ljava/security/PrivilegedAction;)Ljava/lang/Object; (0 bytes) @ 0x00007face52171df [0x00007face5217120+0xbf]
j  io.grpc.netty.shaded.io.netty.util.internal.NativeLibraryLoader.loadLibraryByHelper(Ljava/lang/Class;Ljava/lang/String;Z)V+10
j  io.grpc.netty.shaded.io.netty.util.internal.NativeLibraryLoader.loadLibrary(Ljava/lang/ClassLoader;Ljava/lang/String;Z)V+15
j  io.grpc.netty.shaded.io.netty.util.internal.NativeLibraryLoader.load(Ljava/lang/String;Ljava/lang/ClassLoader;)V+352
j  io.grpc.netty.shaded.io.netty.util.internal.NativeLibraryLoader.loadFirstAvailable(Ljava/lang/ClassLoader;[Ljava/lang/String;)V+33
j  io.grpc.netty.shaded.io.netty.handler.ssl.OpenSsl.loadTcNative()V+307
j  io.grpc.netty.shaded.io.netty.handler.ssl.OpenSsl.<clinit>()V+183
v  ~StubRoutines::call_stub
V  [libjvm.so+0x67340d]  JavaCalls::call_helper(JavaValue*, methodHandle*, JavaCallArguments*, Thread*)+0xc7d
V  [libjvm.so+0x62a7b4]  InstanceKlass::call_class_initializer_impl(instanceKlassHandle, Thread*)+0x154
V  [libjvm.so+0x62acbb]  InstanceKlass::initialize_impl(instanceKlassHandle, Thread*)+0x43b
V  [libjvm.so+0x62afa0]  InstanceKlass::initialize(Thread*)+0x60
V  [libjvm.so+0x808eee]  LinkResolver::resolve_static_call(CallInfo&, KlassHandle&, Symbol*, Symbol*, KlassHandle, bool, bool, Thread*)+0x12e
V  [libjvm.so+0x8097a0]  LinkResolver::resolve_invokestatic(CallInfo&, constantPoolHandle, int, Thread*)+0x210
V  [libjvm.so+0x80a4a5]  LinkResolver::resolve_invoke(CallInfo&, Handle, constantPoolHandle, int, Bytecodes::Code, Thread*)+0x1a5
V  [libjvm.so+0x66ae3f]  InterpreterRuntime::resolve_invoke(JavaThread*, Bytecodes::Code)+0x2cf
j  io.grpc.netty.shaded.io.netty.handler.ssl.SslContext.defaultProvider()Lio/grpc/netty/shaded/io/netty/handler/ssl/SslProvider;+0
j  io.grpc.netty.shaded.io.netty.handler.ssl.SslContext.defaultClientProvider()Lio/grpc/netty/shaded/io/netty/handler/ssl/SslProvider;+0
j  io.grpc.netty.shaded.io.netty.handler.ssl.SslContext.newClientContextInternal(Lio/grpc/netty/shaded/io/netty/handler/ssl/SslProvider;Ljava/security/Provider;[Ljava/security/cert/X509Certificate;Ljavax/net/ssl/TrustManagerFactory;[Ljava/security/cert/X509Certificate;Ljava/security/Pr
ivateKey;Ljava/lang/String;Ljavax/net/ssl/KeyManagerFactory;Ljava/lang/Iterable;Lio/grpc/netty/shaded/io/netty/handler/ssl/CipherSuiteFilter;Lio/grpc/netty/shaded/io/netty/handler/ssl/ApplicationProtocolConfig;[Ljava/lang/String;JJZLjava/lang/String;[Ljava/util/Map$Entry;)Lio/grpc/nett
y/shaded/io/netty/handler/ssl/SslContext;+4
j  io.grpc.netty.shaded.io.netty.handler.ssl.SslContextBuilder.build()Lio/grpc/netty/shaded/io/netty/handler/ssl/SslContext;+183
</code>```

Body:
I am using grpc-netty-shaded version 1.51.0 on Alpine 3.16.2 and have also added netty-tcnative-boringssl-static 2.0.54-Final to my Maven dependencies. I have also installed the sgerrand/alpine-pkg-glibc apk. My JVM crashes with SIGSEGV and the stack as shown below.
I have seen some workarounds to use gcompat at https://wiki.alpinelinux.org/wiki/Running_glibc_programs.
However I cannot use it since it conflicts with my installed glibc package with

ERROR: gcompat-1.0.0-r4: trying to overwrite lib/ld-linux-x86-64.so.2 owned by glibc-2.35-r0.

I cannot move away from alpine which is my limitation here. Any help would be much appreciated.
Using OpenJDK version "1.8.0_345"

Stack: [0x00007facd51a2000,0x00007facd51e2af0],  sp=0x00007facd51dfd28,  free space=247k
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
C  0x00000000000207f6
C  [libio_grpc_netty_shaded_netty_tcnative_linux_x86_646225435557092813446.so+0x26eda]  _init+0x6b6a
C  [libio_grpc_netty_shaded_netty_tcnative_linux_x86_646225435557092813446.so+0x22934]  _init+0x25c4
C  [libio_grpc_netty_shaded_netty_tcnative_linux_x86_646225435557092813446.so+0x2741e]  JNI_OnLoad+0x1e
C  [libjava.so+0xebda]  Java_java_lang_ClassLoader_00024NativeLibrary_load+0xba
j  java.lang.ClassLoader$NativeLibrary.load(Ljava/lang/String;Z)V+0
j  java.lang.ClassLoader.loadLibrary0(Ljava/lang/Class;Ljava/io/File;)Z+328
j  java.lang.ClassLoader.loadLibrary(Ljava/lang/Class;Ljava/lang/String;Z)V+48
j  java.lang.Runtime.load0(Ljava/lang/Class;Ljava/lang/String;)V+57
j  java.lang.System.load(Ljava/lang/String;)V+7
j  io.grpc.netty.shaded.io.netty.util.internal.NativeLibraryUtil.loadLibrary(Ljava/lang/String;Z)V+5
v  ~StubRoutines::call_stub
V  [libjvm.so+0x67340d]  JavaCalls::call_helper(JavaValue*, methodHandle*, JavaCallArguments*, Thread*)+0xc7d
V  [libjvm.so+0x9b56b8]  Reflection::invoke(instanceKlassHandle, methodHandle, Handle, bool, objArrayHandle, BasicType, objArrayHandle, bool, Thread*)+0xb18
V  [libjvm.so+0x9b6902]  Reflection::invoke_method(oopDesc*, Handle, objArrayHandle, Thread*)+0x172
V  [libjvm.so+0x71efb1]  JVM_InvokeMethod+0x241
J 2506  sun.reflect.NativeMethodAccessorImpl.invoke0(Ljava/lang/reflect/Method;Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object; (0 bytes) @ 0x00007face572450d [0x00007face5724420+0xed]
J 2505 C1 sun.reflect.NativeMethodAccessorImpl.invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object; (104 bytes) @ 0x00007face572734c [0x00007face57261a0+0x11ac]
J 1910 C1 sun.reflect.DelegatingMethodAccessorImpl.invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object; (10 bytes) @ 0x00007face557d484 [0x00007face557d380+0x104]
J 1909 C1 java.lang.reflect.Method.invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object; (62 bytes) @ 0x00007face557a70c [0x00007face557a320+0x3ec]
j  io.grpc.netty.shaded.io.netty.util.internal.NativeLibraryLoader$1.run()Ljava/lang/Object;+53
v  ~StubRoutines::call_stub
V  [libjvm.so+0x67340d]  JavaCalls::call_helper(JavaValue*, methodHandle*, JavaCallArguments*, Thread*)+0xc7d
V  [libjvm.so+0x722b44]  JVM_DoPrivileged+0x2b4
J 732  java.security.AccessController.doPrivileged(Ljava/security/PrivilegedAction;)Ljava/lang/Object; (0 bytes) @ 0x00007face52171df [0x00007face5217120+0xbf]
j  io.grpc.netty.shaded.io.netty.util.internal.NativeLibraryLoader.loadLibraryByHelper(Ljava/lang/Class;Ljava/lang/String;Z)V+10
j  io.grpc.netty.shaded.io.netty.util.internal.NativeLibraryLoader.loadLibrary(Ljava/lang/ClassLoader;Ljava/lang/String;Z)V+15
j  io.grpc.netty.shaded.io.netty.util.internal.NativeLibraryLoader.load(Ljava/lang/String;Ljava/lang/ClassLoader;)V+352
j  io.grpc.netty.shaded.io.netty.util.internal.NativeLibraryLoader.loadFirstAvailable(Ljava/lang/ClassLoader;[Ljava/lang/String;)V+33
j  io.grpc.netty.shaded.io.netty.handler.ssl.OpenSsl.loadTcNative()V+307
j  io.grpc.netty.shaded.io.netty.handler.ssl.OpenSsl.<clinit>()V+183
v  ~StubRoutines::call_stub
V  [libjvm.so+0x67340d]  JavaCalls::call_helper(JavaValue*, methodHandle*, JavaCallArguments*, Thread*)+0xc7d
V  [libjvm.so+0x62a7b4]  InstanceKlass::call_class_initializer_impl(instanceKlassHandle, Thread*)+0x154
V  [libjvm.so+0x62acbb]  InstanceKlass::initialize_impl(instanceKlassHandle, Thread*)+0x43b
V  [libjvm.so+0x62afa0]  InstanceKlass::initialize(Thread*)+0x60
V  [libjvm.so+0x808eee]  LinkResolver::resolve_static_call(CallInfo&, KlassHandle&, Symbol*, Symbol*, KlassHandle, bool, bool, Thread*)+0x12e
V  [libjvm.so+0x8097a0]  LinkResolver::resolve_invokestatic(CallInfo&, constantPoolHandle, int, Thread*)+0x210
V  [libjvm.so+0x80a4a5]  LinkResolver::resolve_invoke(CallInfo&, Handle, constantPoolHandle, int, Bytecodes::Code, Thread*)+0x1a5
V  [libjvm.so+0x66ae3f]  InterpreterRuntime::resolve_invoke(JavaThread*, Bytecodes::Code)+0x2cf
j  io.grpc.netty.shaded.io.netty.handler.ssl.SslContext.defaultProvider()Lio/grpc/netty/shaded/io/netty/handler/ssl/SslProvider;+0
j  io.grpc.netty.shaded.io.netty.handler.ssl.SslContext.defaultClientProvider()Lio/grpc/netty/shaded/io/netty/handler/ssl/SslProvider;+0
j  io.grpc.netty.shaded.io.netty.handler.ssl.SslContext.newClientContextInternal(Lio/grpc/netty/shaded/io/netty/handler/ssl/SslProvider;Ljava/security/Provider;[Ljava/security/cert/X509Certificate;Ljavax/net/ssl/TrustManagerFactory;[Ljava/security/cert/X509Certificate;Ljava/security/Pr
ivateKey;Ljava/lang/String;Ljavax/net/ssl/KeyManagerFactory;Ljava/lang/Iterable;Lio/grpc/netty/shaded/io/netty/handler/ssl/CipherSuiteFilter;Lio/grpc/netty/shaded/io/netty/handler/ssl/ApplicationProtocolConfig;[Ljava/lang/String;JJZLjava/lang/String;[Ljava/util/Map$Entry;)Lio/grpc/nett
y/shaded/io/netty/handler/ssl/SslContext;+4
j  io.grpc.netty.shaded.io.netty.handler.ssl.SslContextBuilder.build()Lio/grpc/netty/shaded/io/netty/handler/ssl/SslContext;+183


问:
Unclickable iewc:ToolbarButton
My iewc:ToolbarButton is unclickable.</p>
```<code><iewc:toolbar id="tlbrMain" style="POSITION: absolute; LEFT: 5px; Z-INDEX: 101; TOP: 25px" runat="server">
    <iewc:ToolbarButton Text="Processing"></iewc:ToolbarButton>
    <iewc:ToolbarSeparator></iewc:ToolbarSeparator>
    <iewc:ToolbarButton Text="Inquiry"></iewc:ToolbarButton>
    <iewc:ToolbarSeparator></iewc:ToolbarSeparator>
    <iewc:ToolbarButton Text="Reports"></iewc:ToolbarButton>
    <iewc:ToolbarSeparator></iewc:ToolbarSeparator>
    <iewc:ToolbarButton Text="Exit"></iewc:ToolbarButton>
</iewc:toolbar>
</code>```

Title: Unclickable iewc:ToolbarButton

Body:
My iewc:ToolbarButton is unclickable.

<iewc:toolbar id="tlbrMain" style="POSITION: absolute; LEFT: 5px; Z-INDEX: 101; TOP: 25px" runat="server">
    <iewc:ToolbarButton Text="Processing"></iewc:ToolbarButton>
    <iewc:ToolbarSeparator></iewc:ToolbarSeparator>
    <iewc:ToolbarButton Text="Inquiry"></iewc:ToolbarButton>
    <iewc:ToolbarSeparator></iewc:ToolbarSeparator>
    <iewc:ToolbarButton Text="Reports"></iewc:ToolbarButton>
    <iewc:ToolbarSeparator></iewc:ToolbarSeparator>
    <iewc:ToolbarButton Text="Exit"></iewc:ToolbarButton>
</iewc:toolbar>


问:
Extent parameters in GraphQL
I've got graphQL code like below. My question is, if there is any option to write values of parameters as extent ? Or I must write all the values next to each other ?
For example, I want this [1-15], not this [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15]
Thanks !

```<code>const queryGraphQL = {
    query: `query {
  products(searchInput: {
    parameters: [{
      id: 915
      values:[4095,4096,4170]
    }
    ]

  },
          settingsInput: {limit:35 }) {
    products {
      producer{
        link
        name
        id
      }
      awardedParameters {
        id
        name
        values {
          name
          link
        }
      }

    }
  }
}`,
}
</code>```

I tried to put it in [] but it doesn't work

Title: Extent parameters in GraphQL

Body:
I've got graphQL code like below. My question is, if there is any option to write values of parameters as extent ? Or I must write all the values next to each other ?
For example, I want this [1-15], not this [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15]
Thanks !

const queryGraphQL = {
    query: `query {
  products(searchInput: {
    parameters: [{
      id: 915
      values:[4095,4096,4170]
    }
    ]

  },
          settingsInput: {limit:35 }) {
    products {
      producer{
        link
        name
        id
      }
      awardedParameters {
        id
        name
        values {
          name
          link
        }
      }

    }
  }
}`,
}

I tried to put it in [] but it doesn't work


问:
how to use socks5 proxies with puppeteer inside docker container?
I use a script which runs a browser with socks5 proxy connection. The connection is stable when I run it on my local machine.
But once I build the docker image and try to run as docker container it always shows ERR_TIMED_OUT in logs.

Doing the same with http proxies I don't face the same issue. It works both as it is and inside docker image.

Do I need somehow open/forward some extra ports to use socks5 proxies inside docker container?


问:
Can I sync audio and video in frontend side?
Video is coming from server at real time but I already have the audio.I want to merge these video frame and audio in such a way that both are sync.Is it achievable in frontend side?

I tried to sync audio and video using opencv and ffmpeg and I get .m3u8 file which I don' know how to serve at real time


问:
PyInstaller compiled package raised 'ascii' codec can't encode characters in position 0-1
Just with below two lines of codes in test.py:

```<code>s = '你好'
print(s)
</code>```

It works well using:

```<code>>>> python3 test.py
你好
</code>```

After packaging it using the bellow command:

```<code>>>> python3 -m PyInstaller --onefile test.py
</code>```

And run again:

```<code>./test
Traceback (most recent call last):
  File "test.py", line 3, in <module>
UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-1: ordinal not in range(128)
[7228] Failed to execute script 'test' due to unhandled exception!
</code>```

Is it a PyInstaller issue?

Body:
Just with below two lines of codes in test.py:

s = '你好'
print(s)

It works well using:

>>> python3 test.py
你好

After packaging it using the bellow command:

>>> python3 -m PyInstaller --onefile test.py

And run again:

./test
Traceback (most recent call last):
  File "test.py", line 3, in <module>
UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-1: ordinal not in range(128)
[7228] Failed to execute script 'test' due to unhandled exception!

Is it a PyInstaller issue?


问:
How to read configuration file and pass the details to code in databricks environment
I want to read config file and use that file in notebook.How to do that?

I am not getting how to read config file in databricks