问:
Why does my OS not boot when I try to access 0xE0000000?
To implement a linear framebuffer, I wanted to use the pre-registered VBE LFB, at address 0xE0000000. Note that I am using Bochs 2.7, Assembly using NASM, and C using GCC.

I am using a regular char pointer to attempt to point at the address:

```<code>char* m = (char*)VIDEO_ADDRESS; //0xE0000000
</code>```

Though when calling char* m to draw pixels, the OS wouldn't boot - it would be stuck trying in a flashing sequence until it finally gave an error stating

```<code>[BXVGA ]
update: select_high_bank != 1
</code>```

which was when it terminated.
This is the code for my display settings in my assembly bootloader (found on a Stack Overflow post):

```<code>mov ax, 4F02h ; set vbe mode
mov bx, 118h ; mode 1024*768*24
or bx, 0100000000000000b ; set bit 14th (use LFB)
int 10h
</code>```

EDIT:
I have four files:
boot.asm, loader.asm, kernel.asm, and main.c. Here they are, for a complete reproducible example.

boot.asm:

```<code>[BITS 16]
[ORG 0x7c00]

start:
    xor ax,ax
    mov ds,ax
    mov es,ax
    mov ss,ax
    mov sp,0x7c00

TestDiskExtension:
    mov [DriveId],dl
    mov ah,0x41
    mov bx,0x55aa
    int 0x13
    jc NotSupport
    cmp bx,0xaa55
    jne NotSupport

LoadLoader:
    mov si,ReadPacket
    mov word[si],0x10
    mov word[si+2],5
    mov word[si+4],0x7e00
    mov word[si+6],0
    mov dword[si+8],1
    mov dword[si+0xc],0
    mov dl,[DriveId]
    mov ah,0x42
    int 0x13
    jc  ReadError

    mov dl,[DriveId]
    jmp 0x7e00

ReadError:
NotSupport:
    mov ah,0x13
    mov al,1
    mov bx,0xa
    xor dx,dx
    mov bp,Message
    mov cx,MessageLen
    int 0x10

End:
    hlt
    jmp End

DriveId:    db 0
Message:    db "We have an error in boot process"
MessageLen: equ $-Message
ReadPacket: times 16 db 0

times (0x1be-($-$$)) db 0

    db 80h
    db 0,2,0
    db 0f0h
    db 0ffh,0ffh,0ffh
    dd 1
    dd (20*16*63-1)

    times (16*3) db 0

    db 0x55
    db 0xaa
</code>```

loader.asm:

```<code>[BITS 16]
[ORG 0x7e00]

start:
    mov [DriveId],dl

    mov eax,0x80000000
    cpuid
    cmp eax,0x80000001
    jb NotSupport

    mov eax,0x80000001
    cpuid
    test edx,(1<<29)
    jz NotSupport
    test edx,(1<<26)
    jz NotSupport

LoadKernel:
    mov si,ReadPacket
    mov word[si],0x10
    mov word[si+2],100
    mov word[si+4],0
    mov word[si+6],0x1000
    mov dword[si+8],6
    mov dword[si+0xc],0
    mov dl,[DriveId]
    mov ah,0x42
    int 0x13
    jc  ReadError

GetMemInfoStart:
    mov eax,0xe820
    mov edx,0x534d4150
    mov ecx,20
    mov edi,0x9000
    xor ebx,ebx
    int 0x15
    jc NotSupport

GetMemInfo:
    add edi,20
    mov eax,0xe820
    mov edx,0x534d4150
    mov ecx,20
    int 0x15
    jc GetMemDone

    test ebx,ebx
    jnz GetMemInfo

GetMemDone:
TestA20:
    mov ax,0xffff
    mov es,ax
    mov word[ds:0x7c00],0xa200
    cmp word[es:0x7c10],0xa200
    jne SetA20LineDone
    mov word[0x7c00],0xb200
    cmp word[es:0x7c10],0xb200
    je End

SetA20LineDone:
    xor ax,ax
    mov es,ax

SetVideoMode:
    ;mov ax,4f02h ;set vesa 1.0 screen mode
    ;mov bx,81feh ; FOR 800X600 THIS SHOULD BE "103h", for 1024x768 it should be "105h"
    ;int 10h
    ;mov ax,3
    ;int 0x10

    mov ax, 4F02h ; set vbe mode

    mov bx, 118h ; mode 1024*768*24

    or bx, 0100000000000000b ; set bit 14th (use LFB)

    int 10h

    ;mov ax, 13h
    ;int 10h

    mov ah,2
    mov dl,7
    int 21h

    cli
    lgdt [Gdt32Ptr]
    lidt [Idt32Ptr]

    mov eax,cr0
    or eax,1
    mov cr0,eax

    jmp 8:PMEntry

ReadError:
NotSupport:
End:
    hlt
    jmp End

[BITS 32]
PMEntry:
    mov ax,0x10
    mov ds,ax
    mov es,ax
    mov ss,ax
    mov esp,0x7c00

    cld
    mov edi,0x70000
    xor eax,eax
    mov ecx,0x10000/4
    rep stosd

    mov dword[0x70000],0x71007
    mov dword[0x71000],10000111b

    lgdt [Gdt64Ptr]

    mov eax,cr4
    or eax,(1<<5)
    mov cr4,eax

    mov eax,0x70000
    mov cr3,eax

    mov ecx,0xc0000080
    rdmsr
    or eax,(1<<8)
    wrmsr

    mov eax,cr0
    or eax,(1<<31)
    mov cr0,eax

    jmp 8:LMEntry

PEnd:
    hlt
    jmp PEnd

[BITS 64]
LMEntry:
    mov rsp,0x7c00

    cld
    mov rdi,0x200000
    mov rsi,0x10000
    mov rcx,51200/8
    rep movsq

    jmp 0x200000

LEnd:
    hlt
    jmp LEnd

DriveId:    db 0
ReadPacket: times 16 db 0

Gdt32:
    dq 0
Code32:
    dw 0xffff
    dw 0
    db 0
    db 0x9a
    db 0xcf
    db 0
Data32:
    dw 0xffff
    dw 0
    db 0
    db 0x92
    db 0xcf
    db 0

Gdt32Len: equ $-Gdt32

Gdt32Ptr: dw Gdt32Len-1
          dd Gdt32

Idt32Ptr: dw 0
          dd 0

Gdt64:
    dq 0
    dq 0x0020980000000000

Gdt64Len: equ $-Gdt64

Gdt64Ptr: dw Gdt64Len-1
          dd Gdt64
</code>```

kernel.asm:

```<code>section .data

Gdt64:
    dq 0
    dq 0x0020980000000000
    dq 0x0020f80000000000
    dq 0x0000f20000000000
TssDesc:
    dw TssLen-1
    dw 0
    db 0
    db 0x89
    db 0
    db 0
    dq 0

Gdt64Len: equ $-Gdt64

Gdt64Ptr: dw Gdt64Len-1
          dq Gdt64

Tss:
    dd 0
    dq 0x190000
    times 88 db 0
    dd TssLen

TssLen: equ $-Tss

section .text
extern KMain
global start

start:
    lgdt [Gdt64Ptr]

SetTss:
    mov rax,Tss
    mov [TssDesc+2],ax
    shr rax,16
    mov [TssDesc+4],al
    shr rax,8
    mov [TssDesc+7],al
    shr rax,8
    mov [TssDesc+8],eax
    mov ax,0x20
    ltr ax

InitPIT:
    mov al,(1<<2)|(3<<4)
    out 0x43,al

    mov ax,11931
    out 0x40,al
    mov al,ah
    out 0x40,al

InitPIC:
    mov al,0x11
    out 0x20,al
    out 0xa0,al

    mov al,32
    out 0x21,al
    mov al,40
    out 0xa1,al

    mov al,4
    out 0x21,al
    mov al,2
    out 0xa1,al

    mov al,1
    out 0x21,al
    out 0xa1,al

    mov al,11111110b
    out 0x21,al
    mov al,11111111b
    out 0xa1,al

    push 8
    push KernelEntry
    db 0x48
    retf

KernelEntry:
    mov rsp,0x200000
    call KMain

End:
    hlt
    jmp End
</code>```

main.c:

```<code>#include <string.h>
#define SCREEN_HEIGHT 768
#define SCREEN_WIDTH 1024
#define VIDEO_ADDRESS 0xe0000000
#define VBE_DISPI_ID5 0xB0C5

void pixel8bit(int x, int y, int color)
{
    long *v = (long*)VIDEO_ADDRESS;
    int offset = ((y * SCREEN_WIDTH) + x);
    v[offset] = color;
}

void pixel(int x, int y, int color)
{
    long *v = (long*)VIDEO_ADDRESS;
    int offset = ((y * SCREEN_WIDTH) + x) * 3;
    v[offset] = color;
}

void line(int x, int y, int length, int color)
{
    for(int i = 0; i < length; i++)
    {
        pixel(x+i, y, color);
    }
}

void vLine(int x, int y, int length, int color)
{
    for(int i = 0; i < length; i++)
    {
        pixel(x, y+i, color);
    }
}

void box(int x, int y, int l, int w, int color)
{
    char* v = (char*)VIDEO_ADDRESS;
    line(x,y,l,color);
    vLine(x,y,w,color);
    line(x,y+w-1,l,color);
    vLine(x+l-1,y,w,color);
}

void fillScreen(int color)
{
    char* v = (char*)VIDEO_ADDRESS;
    for(int i = 0; i < SCREEN_WIDTH*SCREEN_HEIGHT; i++) {
        v[i] = color;
    }
}

void coloredBars()
{
    char* v = (char*)VIDEO_ADDRESS;
    int j = 0;
    for(int i = 0; i < SCREEN_WIDTH*SCREEN_HEIGHT; i++) {
        if (j > 255)
        {
            j = 0;
            v[i] = j;
        }
        else
        {
            j++;
            v[i] = j;
        }
    }
}

void text(int x, int y, int size, char* text, int color, int length)
{
    for (int i = 0; i < length; i++)
    {

    }
}

void KMain(void)
{
    //coloredBars(); //debug only
    pixel(1,1,0x0f);
}
</code>```

I also have a build script:

```<code>nasm -f bin -o boot.bin boot.asm
nasm -f bin -o loader.bin loader.asm
nasm -f elf64 -o kernel.o kernel.asm
gcc -std=c99 -mcmodel=large -ffreestanding -fno-stack-protector -mno-red-zone -c main.c
ld -T link.lds -o kernel kernel.o main.o
objcopy -O binary kernel kernel.bin
dd if=boot.bin of=boot.img bs=512 count=1 conv=notrunc
dd if=loader.bin of=boot.img bs=512 count=5 seek=1 conv=notrunc
dd if=kernel.bin of=boot.img bs=512 count=100 seek=6 conv=notrunc
</code>```

My boot.img, which is 10MB, and bochsrc.bxrc:

```<code># configuration file generated by Bochs
plugin_ctrl: voodoo=false, unmapped=true, biosdev=true, speaker=true, extfpuirq=true, parallel=true, serial=true, busmouse=false, e1000=false, es1370=false, gameport=true, ne2k=false, sb16=false, usb_uhci=false, usb_ohci=false, usb_ehci=false, usb_xhci=false
config_interface: win32config
display_library: win32
memory: host=1024, guest=1024
romimage: file="C:\Program Files\Bochs-2.7/BIOS-bochs-latest", address=0x00000000, options=none
vgaromimage: file="C:\Program Files\Bochs-2.7/VGABIOS-lgpl-latest"
boot: disk
floppy_bootsig_check: disabled=0
floppya: type=1_44
# no floppyb
ata0: enabled=true, ioaddr1=0x1f0, ioaddr2=0x3f0, irq=14
ata0-master: type=disk, path="C:\Users\{USER}\Desktop\1\boot.img", mode=flat, cylinders=20, heads=16, spt=63, sect_size=512, model="Generic 1234", biosdetect=auto, translation=auto
ata0-slave: type=none
ata1: enabled=true, ioaddr1=0x170, ioaddr2=0x370, irq=15
ata1-master: type=none
ata1-slave: type=none
ata2: enabled=false
ata3: enabled=false
optromimage1: file=none
optromimage2: file=none
optromimage3: file=none
optromimage4: file=none
optramimage1: file=none
optramimage2: file=none
optramimage3: file=none
optramimage4: file=none
pci: enabled=1, chipset=i440fx, slot1=none, slot2=none, slot3=none, slot4=none, slot5=none
vga: extension=vbe, update_freq=60, realtime=1, ddc=builtin
cpu: count=1, ips=4000000, model=bx_generic, reset_on_triple_fault=1, cpuid_limit_winnt=0, ignore_bad_msrs=1, mwait_is_nop=0
cpuid: level=6, stepping=3, model=3, family=6, vendor_string="GenuineIntel", brand_string="              Intel(R) Pentium(R) 4 CPU        "
cpuid: mmx=true, apic=xapic, simd=sse2, sse4a=false, misaligned_sse=false, sep=true
cpuid: movbe=false, adx=false, aes=false, sha=false, xsave=false, xsaveopt=false, x86_64=true
cpuid: 1g_pages=true, pcid=false, fsgsbase=false, smep=false, smap=false, mwait=true
cpuid: vmx=1
print_timestamps: enabled=0
port_e9_hack: enabled=0
private_colormap: enabled=0
clock: sync=none, time0=local, rtc_sync=0
# no cmosimage
log: -
logprefix: %t%e%d
debug: action=ignore
info: action=report
error: action=report
panic: action=ask
keyboard: type=mf, serial_delay=250, paste_delay=100000, user_shortcut=none
mouse: type=ps2, enabled=false, toggle=ctrl+mbutton
sound: waveoutdrv=win, waveout=none, waveindrv=win, wavein=none, midioutdrv=win, midiout=none
speaker: enabled=true, mode=sound, volume=15
parport1: enabled=true, file=none
parport2: enabled=false
com1: enabled=true, mode=null
com2: enabled=false
com3: enabled=false
com4: enabled=false
</code>```

How can I stop this code from crashing with a triple fault when writing to the video memory at 0xe0000000?

Body:
To implement a linear framebuffer, I wanted to use the pre-registered VBE LFB, at address 0xE0000000. Note that I am using Bochs 2.7, Assembly using NASM, and C using GCC.

I am using a regular char pointer to attempt to point at the address:

char* m = (char*)VIDEO_ADDRESS; //0xE0000000

Though when calling char* m to draw pixels, the OS wouldn't boot - it would be stuck trying in a flashing sequence until it finally gave an error stating

[BXVGA ]
update: select_high_bank != 1

which was when it terminated.
This is the code for my display settings in my assembly bootloader (found on a Stack Overflow post):

mov ax, 4F02h ; set vbe mode
mov bx, 118h ; mode 1024*768*24
or bx, 0100000000000000b ; set bit 14th (use LFB)
int 10h

EDIT:
I have four files:
boot.asm, loader.asm, kernel.asm, and main.c. Here they are, for a complete reproducible example.

boot.asm:

[BITS 16]
[ORG 0x7c00]

start:
    xor ax,ax
    mov ds,ax
    mov es,ax
    mov ss,ax
    mov sp,0x7c00

TestDiskExtension:
    mov [DriveId],dl
    mov ah,0x41
    mov bx,0x55aa
    int 0x13
    jc NotSupport
    cmp bx,0xaa55
    jne NotSupport

LoadLoader:
    mov si,ReadPacket
    mov word[si],0x10
    mov word[si+2],5
    mov word[si+4],0x7e00
    mov word[si+6],0
    mov dword[si+8],1
    mov dword[si+0xc],0
    mov dl,[DriveId]
    mov ah,0x42
    int 0x13
    jc  ReadError

    mov dl,[DriveId]
    jmp 0x7e00

ReadError:
NotSupport:
    mov ah,0x13
    mov al,1
    mov bx,0xa
    xor dx,dx
    mov bp,Message
    mov cx,MessageLen
    int 0x10

End:
    hlt
    jmp End

DriveId:    db 0
Message:    db "We have an error in boot process"
MessageLen: equ $-Message
ReadPacket: times 16 db 0

times (0x1be-($-$$)) db 0

    db 80h
    db 0,2,0
    db 0f0h
    db 0ffh,0ffh,0ffh
    dd 1
    dd (20*16*63-1)

    times (16*3) db 0

    db 0x55
    db 0xaa

loader.asm:

[BITS 16]
[ORG 0x7e00]

start:
    mov [DriveId],dl

    mov eax,0x80000000
    cpuid
    cmp eax,0x80000001
    jb NotSupport

    mov eax,0x80000001
    cpuid
    test edx,(1<<29)
    jz NotSupport
    test edx,(1<<26)
    jz NotSupport

LoadKernel:
    mov si,ReadPacket
    mov word[si],0x10
    mov word[si+2],100
    mov word[si+4],0
    mov word[si+6],0x1000
    mov dword[si+8],6
    mov dword[si+0xc],0
    mov dl,[DriveId]
    mov ah,0x42
    int 0x13
    jc  ReadError

GetMemInfoStart:
    mov eax,0xe820
    mov edx,0x534d4150
    mov ecx,20
    mov edi,0x9000
    xor ebx,ebx
    int 0x15
    jc NotSupport

GetMemInfo:
    add edi,20
    mov eax,0xe820
    mov edx,0x534d4150
    mov ecx,20
    int 0x15
    jc GetMemDone

    test ebx,ebx
    jnz GetMemInfo

GetMemDone:
TestA20:
    mov ax,0xffff
    mov es,ax
    mov word[ds:0x7c00],0xa200
    cmp word[es:0x7c10],0xa200
    jne SetA20LineDone
    mov word[0x7c00],0xb200
    cmp word[es:0x7c10],0xb200
    je End

SetA20LineDone:
    xor ax,ax
    mov es,ax

SetVideoMode:
    ;mov ax,4f02h ;set vesa 1.0 screen mode
    ;mov bx,81feh ; FOR 800X600 THIS SHOULD BE "103h", for 1024x768 it should be "105h"
    ;int 10h
    ;mov ax,3
    ;int 0x10

    mov ax, 4F02h ; set vbe mode

    mov bx, 118h ; mode 1024*768*24

    or bx, 0100000000000000b ; set bit 14th (use LFB)

    int 10h

    ;mov ax, 13h
    ;int 10h

    mov ah,2
    mov dl,7
    int 21h

    cli
    lgdt [Gdt32Ptr]
    lidt [Idt32Ptr]

    mov eax,cr0
    or eax,1
    mov cr0,eax

    jmp 8:PMEntry

ReadError:
NotSupport:
End:
    hlt
    jmp End

[BITS 32]
PMEntry:
    mov ax,0x10
    mov ds,ax
    mov es,ax
    mov ss,ax
    mov esp,0x7c00

    cld
    mov edi,0x70000
    xor eax,eax
    mov ecx,0x10000/4
    rep stosd

    mov dword[0x70000],0x71007
    mov dword[0x71000],10000111b

    lgdt [Gdt64Ptr]

    mov eax,cr4
    or eax,(1<<5)
    mov cr4,eax

    mov eax,0x70000
    mov cr3,eax

    mov ecx,0xc0000080
    rdmsr
    or eax,(1<<8)
    wrmsr

    mov eax,cr0
    or eax,(1<<31)
    mov cr0,eax

    jmp 8:LMEntry

PEnd:
    hlt
    jmp PEnd

[BITS 64]
LMEntry:
    mov rsp,0x7c00

    cld
    mov rdi,0x200000
    mov rsi,0x10000
    mov rcx,51200/8
    rep movsq

    jmp 0x200000

LEnd:
    hlt
    jmp LEnd

DriveId:    db 0
ReadPacket: times 16 db 0

Gdt32:
    dq 0
Code32:
    dw 0xffff
    dw 0
    db 0
    db 0x9a
    db 0xcf
    db 0
Data32:
    dw 0xffff
    dw 0
    db 0
    db 0x92
    db 0xcf
    db 0

Gdt32Len: equ $-Gdt32

Gdt32Ptr: dw Gdt32Len-1
          dd Gdt32

Idt32Ptr: dw 0
          dd 0

Gdt64:
    dq 0
    dq 0x0020980000000000

Gdt64Len: equ $-Gdt64

Gdt64Ptr: dw Gdt64Len-1
          dd Gdt64

kernel.asm:

section .data

Gdt64:
    dq 0
    dq 0x0020980000000000
    dq 0x0020f80000000000
    dq 0x0000f20000000000
TssDesc:
    dw TssLen-1
    dw 0
    db 0
    db 0x89
    db 0
    db 0
    dq 0

Gdt64Len: equ $-Gdt64

Gdt64Ptr: dw Gdt64Len-1
          dq Gdt64

Tss:
    dd 0
    dq 0x190000
    times 88 db 0
    dd TssLen

TssLen: equ $-Tss

section .text
extern KMain
global start

start:
    lgdt [Gdt64Ptr]

SetTss:
    mov rax,Tss
    mov [TssDesc+2],ax
    shr rax,16
    mov [TssDesc+4],al
    shr rax,8
    mov [TssDesc+7],al
    shr rax,8
    mov [TssDesc+8],eax
    mov ax,0x20
    ltr ax

InitPIT:
    mov al,(1<<2)|(3<<4)
    out 0x43,al

    mov ax,11931
    out 0x40,al
    mov al,ah
    out 0x40,al

InitPIC:
    mov al,0x11
    out 0x20,al
    out 0xa0,al

    mov al,32
    out 0x21,al
    mov al,40
    out 0xa1,al

    mov al,4
    out 0x21,al
    mov al,2
    out 0xa1,al

    mov al,1
    out 0x21,al
    out 0xa1,al

    mov al,11111110b
    out 0x21,al
    mov al,11111111b
    out 0xa1,al

    push 8
    push KernelEntry
    db 0x48
    retf

KernelEntry:
    mov rsp,0x200000
    call KMain

End:
    hlt
    jmp End

main.c:

#include <string.h>
#define SCREEN_HEIGHT 768
#define SCREEN_WIDTH 1024
#define VIDEO_ADDRESS 0xe0000000
#define VBE_DISPI_ID5 0xB0C5

void pixel8bit(int x, int y, int color)
{
    long *v = (long*)VIDEO_ADDRESS;
    int offset = ((y * SCREEN_WIDTH) + x);
    v[offset] = color;
}

void pixel(int x, int y, int color)
{
    long *v = (long*)VIDEO_ADDRESS;
    int offset = ((y * SCREEN_WIDTH) + x) * 3;
    v[offset] = color;
}

void line(int x, int y, int length, int color)
{
    for(int i = 0; i < length; i++)
    {
        pixel(x+i, y, color);
    }
}

void vLine(int x, int y, int length, int color)
{
    for(int i = 0; i < length; i++)
    {
        pixel(x, y+i, color);
    }
}

void box(int x, int y, int l, int w, int color)
{
    char* v = (char*)VIDEO_ADDRESS;
    line(x,y,l,color);
    vLine(x,y,w,color);
    line(x,y+w-1,l,color);
    vLine(x+l-1,y,w,color);
}

void fillScreen(int color)
{
    char* v = (char*)VIDEO_ADDRESS;
    for(int i = 0; i < SCREEN_WIDTH*SCREEN_HEIGHT; i++) {
        v[i] = color;
    }
}

void coloredBars()
{
    char* v = (char*)VIDEO_ADDRESS;
    int j = 0;
    for(int i = 0; i < SCREEN_WIDTH*SCREEN_HEIGHT; i++) {
        if (j > 255)
        {
            j = 0;
            v[i] = j;
        }
        else
        {
            j++;
            v[i] = j;
        }
    }
}

void text(int x, int y, int size, char* text, int color, int length)
{
    for (int i = 0; i < length; i++)
    {

    }
}

void KMain(void)
{
    //coloredBars(); //debug only
    pixel(1,1,0x0f);
}

I also have a build script:

nasm -f bin -o boot.bin boot.asm
nasm -f bin -o loader.bin loader.asm
nasm -f elf64 -o kernel.o kernel.asm
gcc -std=c99 -mcmodel=large -ffreestanding -fno-stack-protector -mno-red-zone -c main.c
ld -T link.lds -o kernel kernel.o main.o
objcopy -O binary kernel kernel.bin
dd if=boot.bin of=boot.img bs=512 count=1 conv=notrunc
dd if=loader.bin of=boot.img bs=512 count=5 seek=1 conv=notrunc
dd if=kernel.bin of=boot.img bs=512 count=100 seek=6 conv=notrunc

My boot.img, which is 10MB, and bochsrc.bxrc:

# configuration file generated by Bochs
plugin_ctrl: voodoo=false, unmapped=true, biosdev=true, speaker=true, extfpuirq=true, parallel=true, serial=true, busmouse=false, e1000=false, es1370=false, gameport=true, ne2k=false, sb16=false, usb_uhci=false, usb_ohci=false, usb_ehci=false, usb_xhci=false
config_interface: win32config
display_library: win32
memory: host=1024, guest=1024
romimage: file="C:\Program Files\Bochs-2.7/BIOS-bochs-latest", address=0x00000000, options=none
vgaromimage: file="C:\Program Files\Bochs-2.7/VGABIOS-lgpl-latest"
boot: disk
floppy_bootsig_check: disabled=0
floppya: type=1_44
# no floppyb
ata0: enabled=true, ioaddr1=0x1f0, ioaddr2=0x3f0, irq=14
ata0-master: type=disk, path="C:\Users\{USER}\Desktop\1\boot.img", mode=flat, cylinders=20, heads=16, spt=63, sect_size=512, model="Generic 1234", biosdetect=auto, translation=auto
ata0-slave: type=none
ata1: enabled=true, ioaddr1=0x170, ioaddr2=0x370, irq=15
ata1-master: type=none
ata1-slave: type=none
ata2: enabled=false
ata3: enabled=false
optromimage1: file=none
optromimage2: file=none
optromimage3: file=none
optromimage4: file=none
optramimage1: file=none
optramimage2: file=none
optramimage3: file=none
optramimage4: file=none
pci: enabled=1, chipset=i440fx, slot1=none, slot2=none, slot3=none, slot4=none, slot5=none
vga: extension=vbe, update_freq=60, realtime=1, ddc=builtin
cpu: count=1, ips=4000000, model=bx_generic, reset_on_triple_fault=1, cpuid_limit_winnt=0, ignore_bad_msrs=1, mwait_is_nop=0
cpuid: level=6, stepping=3, model=3, family=6, vendor_string="GenuineIntel", brand_string="              Intel(R) Pentium(R) 4 CPU        "
cpuid: mmx=true, apic=xapic, simd=sse2, sse4a=false, misaligned_sse=false, sep=true
cpuid: movbe=false, adx=false, aes=false, sha=false, xsave=false, xsaveopt=false, x86_64=true
cpuid: 1g_pages=true, pcid=false, fsgsbase=false, smep=false, smap=false, mwait=true
cpuid: vmx=1
print_timestamps: enabled=0
port_e9_hack: enabled=0
private_colormap: enabled=0
clock: sync=none, time0=local, rtc_sync=0
# no cmosimage
log: -
logprefix: %t%e%d
debug: action=ignore
info: action=report
error: action=report
panic: action=ask
keyboard: type=mf, serial_delay=250, paste_delay=100000, user_shortcut=none
mouse: type=ps2, enabled=false, toggle=ctrl+mbutton
sound: waveoutdrv=win, waveout=none, waveindrv=win, wavein=none, midioutdrv=win, midiout=none
speaker: enabled=true, mode=sound, volume=15
parport1: enabled=true, file=none
parport2: enabled=false
com1: enabled=true, mode=null
com2: enabled=false
com3: enabled=false
com4: enabled=false

How can I stop this code from crashing with a triple fault when writing to the video memory at 0xe0000000?


来源: stackexchange

问:
I want to check yesterday’s data and improve performance in TDengine database
The dates I save in the TDengine table are all in UTC0, but both the server and the client are in the UTC8 time zone.
I want to check yesterday’s data. How should I use to improve performance?

Version： 2.6

I want to check yesterday’s data. How should I use to improve performance?

ContentLicense: CC BY-SA 4.0


问:
CAPL Script - security access
I want to unlock ECU using more than one security level and use API diagGenerateKeyFromSeed to calculate the key but I occur some problems below:

How to import multiple .dll files using CAPL script?

(I tried import .dll file by the command #pragma library("\capldll.dll"))
when I add some .dll files and use the API diagGenerateKeyFromSeed to calculate the key but it doesn't operate. I think the program doesn't understand which should is used to calculate.
-> If the way above is true,  Please tell me, How to implement the way to program understand should choose .dll files to calculate the key into source code CAPL?

If the ideal above is wrong then please propose the ideal other to test work. Thanks for reading and commenting.

Title: CAPL Script - security access


问:
Exclude file that not fully transferred
I am writing a typescript function to display all the files in the current directory and all the subfolders. It works like a charm but wanted to exclude the file that is still under transfer(growing file). The transfer is done via a 3rd part tool, and I can't access the source to compare.

Here is the code

```<code>interface DirectoryFiles {
  fileName: string;
  directory: string;
}

private async ListFilesDir(
    currDirecory: string,
    fileArray: DirectoryFiles[] | [],
  ): Promise<DirectoryFiles[]> {
    const allFiles = await this.getAllFilesInDir(currDirecory);

    fileArray = fileArray || [];

    for (const file of allFiles) {
      if (fs.statSync(currDirecory + '/' + file).isDirectory()) {
        fileArray = await this.ListFilesDir(
          join(currDirecory, file),
          fileArray,
        );
      } else {
        fileArray.push({
          directory: currDirecory,
          fileName: file,
        });
      }
    }

    return fileArray;
  }

  async getAllFilesInDir(dir: string): Promise<string[]> {
    try {
      return fsPromises.readdir(dir);
    } catch (error) {
      throw new Error(`Error occurred while reading directory ${dir}!`);
    }
  }
</code>```

been figuring out this for a while now. Thank you for your time.

Title: Exclude file that not fully transferred

Body:
I am writing a typescript function to display all the files in the current directory and all the subfolders. It works like a charm but wanted to exclude the file that is still under transfer(growing file). The transfer is done via a 3rd part tool, and I can't access the source to compare.

Here is the code

interface DirectoryFiles {
  fileName: string;
  directory: string;
}

private async ListFilesDir(
    currDirecory: string,
    fileArray: DirectoryFiles[] | [],
  ): Promise<DirectoryFiles[]> {
    const allFiles = await this.getAllFilesInDir(currDirecory);

    fileArray = fileArray || [];

    for (const file of allFiles) {
      if (fs.statSync(currDirecory + '/' + file).isDirectory()) {
        fileArray = await this.ListFilesDir(
          join(currDirecory, file),
          fileArray,
        );
      } else {
        fileArray.push({
          directory: currDirecory,
          fileName: file,
        });
      }
    }

    return fileArray;
  }

  async getAllFilesInDir(dir: string): Promise<string[]> {
    try {
      return fsPromises.readdir(dir);
    } catch (error) {
      throw new Error(`Error occurred while reading directory ${dir}!`);
    }
  }

been figuring out this for a while now. Thank you for your time.


问:
OpenVPN Firewall issue
I am trying to allow OpenVPN firewall access through command prompt but getting not found error everytime. I am getting the below mentioned response everytime.

`EasyRSA Shell

New-NetFirewallRule -DisplayName "OpenVPN" -Direction inbound -Profile Any -Action Allow -LocalPort 1194 -Protocol UDP

bin/sh: New-NetFirewallRule: not found`

Title: OpenVPN Firewall issue


问:
What request properties are available to retrieve under the Activity object type in marketing cloud SOAP API
So I am using postman to retrieve all the activities information under one automation. But I have trouble retrieving the activity types.
The response I got was:
<soap:Body><RetrieveResponseMsg xmlns="http://exacttarget.com/wsdl/partnerAPI"><OverallStatus>Error: The Request Property(s) AutomationTask do not match with the fields of Activity retrieve</OverallStatus><RequestID>----</RequestID></RetrieveResponseMsg></soap:Body>

Hence, I am curious if there is a list of request properties that I can use (like a documentation for the activity object type properties) in the soap api call.

I have tried https://developer.salesforce.com/docs/marketing/marketing-cloud/guide/automationactivity.html but not much luck, some of the fields are unable to retrieve.


问:
cloud function rewrite 302
We have a website that uses firebase rewrites with cloud functions. Depending on my computers or accounts running firebase deploy --only functions,hosting results in an error sometimes. The error is 302 with redirect request prompting a login screen: https://us-central1-foo.cloudfunctions.net/_ah/conflogin?continue=https://us-central1-foo.cloudfunctions.net/get-calendars/api/calendars

```<code>"rewrites": [{
    "source": "/api/calendar",
    "function": "get-calendar"
  }
]
</code>```

I am still not sure what exactly is a root issue but I suspect firebase deploy is causing the problem. I have tried deploying the sames files with different settings:
I have accounts A, B and three machines (linux 1, linux 2, mac)

Deploying on linux 1 with account A has the problem

Deploying on mac with account A works fine

Deploying on linux 2 with account B works fine

I created the files for deployment on linux 1. What confuses me is account A works ok on mac but not on linux because I was suspecting an auth or permission issue. Does anyone know what causes my problem?

Title: cloud function rewrite 302

Body:
We have a website that uses firebase rewrites with cloud functions. Depending on my computers or accounts running firebase deploy --only functions,hosting results in an error sometimes. The error is 302 with redirect request prompting a login screen: https://us-central1-foo.cloudfunctions.net/_ah/conflogin?continue=https://us-central1-foo.cloudfunctions.net/get-calendars/api/calendars

"rewrites": [{
    "source": "/api/calendar",
    "function": "get-calendar"
  }
]

I am still not sure what exactly is a root issue but I suspect firebase deploy is causing the problem. I have tried deploying the sames files with different settings:
I have accounts A, B and three machines (linux 1, linux 2, mac)

Deploying on linux 1 with account A has the problem

Deploying on mac with account A works fine

Deploying on linux 2 with account B works fine

I created the files for deployment on linux 1. What confuses me is account A works ok on mac but not on linux because I was suspecting an auth or permission issue. Does anyone know what causes my problem?


问:
Pillow library quantize not working on my raspberry pi4b
Code basically grayscale, pixelize and resize to a 32x32 format, everything works except when i put in the code in line 11 which limits the picture to 8 shades of grey. This causes the code to come up with the error "ValueError: Conversion not supported"

```<code># Tested on Raspberry Pi 4 Model B
# Huats Club 2022 for the Pixel-Tint Project
from PIL import Image, ImageOps
#from student_pub import *

## open image file
myImage = Image.open('Pixelizer/pokeball.png')
myImage.show()

## greyscale image file
greyImage = ImageOps.grayscale(myImage)
#greyImage.show()

## Limiting to 8 shades of greyscale colour
greyQuantize = greyImage.quantize(8)
#greyQuantize.show()

## resize to 32 x 32 pixels
smallImage = greyQuantize.resize((32,32), Image.BILINEAR)
#smallImage.show()

## Blow it back up to original photo size (32 x 32 pixels upscale)
resultImage = smallImage.resize(myImage.size, Image.NEAREST)
resultImage.show()

## Write Image to save .png file
#resultImage.save('cartoon.png')

# Retrieving pixel value and formating it into list of list
x = 32; k = 0; outputValue = [0 for i in range(x)]
for i in range(x):
    outputValue[i] = [0 for j in range(x)]
pixValue = list(smallImage.getdata())

for i in range(x):
    for j in range(x):
        outputValue[i][j] = pixValue[k]
        k = k + 1;

print(outputValue)
#pubpic(outputValue)

</code>```

the code works fine without the greyQuantize = greyImage.quantize(8) and im new so i dont really know how to fix this problem. The code is running on my pi raspberry 4b with python 3.7.3 using the thonny python ide editor. u can put in your own pictures on line 7 just list the directory and image file such as 'folder/file.png'

Body:
Code basically grayscale, pixelize and resize to a 32x32 format, everything works except when i put in the code in line 11 which limits the picture to 8 shades of grey. This causes the code to come up with the error "ValueError: Conversion not supported"

# Tested on Raspberry Pi 4 Model B
# Huats Club 2022 for the Pixel-Tint Project
from PIL import Image, ImageOps
#from student_pub import *

## open image file
myImage = Image.open('Pixelizer/pokeball.png')
myImage.show()

## greyscale image file
greyImage = ImageOps.grayscale(myImage)
#greyImage.show()

## Limiting to 8 shades of greyscale colour
greyQuantize = greyImage.quantize(8)
#greyQuantize.show()

## resize to 32 x 32 pixels
smallImage = greyQuantize.resize((32,32), Image.BILINEAR)
#smallImage.show()

## Blow it back up to original photo size (32 x 32 pixels upscale)
resultImage = smallImage.resize(myImage.size, Image.NEAREST)
resultImage.show()

## Write Image to save .png file
#resultImage.save('cartoon.png')

# Retrieving pixel value and formating it into list of list
x = 32; k = 0; outputValue = [0 for i in range(x)]
for i in range(x):
    outputValue[i] = [0 for j in range(x)]
pixValue = list(smallImage.getdata())

for i in range(x):
    for j in range(x):
        outputValue[i][j] = pixValue[k]
        k = k + 1;

print(outputValue)
#pubpic(outputValue)

the code works fine without the greyQuantize = greyImage.quantize(8) and im new so i dont really know how to fix this problem. The code is running on my pi raspberry 4b with python 3.7.3 using the thonny python ide editor. u can put in your own pictures on line 7 just list the directory and image file such as 'folder/file.png'


问:
How to display legend in the same order labels were created using matplotlib?
It has been discused in other posts (e.g., here) how to reorder items in a legend since sometimes they don't appear in the order of creation. For example:

```<code>plt.errorbar(1, 1, .2, label='label 1')
plt.plot(1, 2, '.', label='label 2')
plt.legend()
plt.show()
</code>```

So how could be possible to tell matplotlib to display all legends of the script/notebook automatically in the order labels were defined without having to reorder manually?

Body:
It has been discused in other posts (e.g., here) how to reorder items in a legend since sometimes they don't appear in the order of creation. For example:

plt.errorbar(1, 1, .2, label='label 1')
plt.plot(1, 2, '.', label='label 2')
plt.legend()
plt.show()

So how could be possible to tell matplotlib to display all legends of the script/notebook automatically in the order labels were defined without having to reorder manually?


问:
Save Recent Location History Google Maps API With Auto Complete Search Location
recently I use flutter_google_places to auto complete search location but I think theres no component in it to save recent location as image below. I'm thinking to create my own by saving it on shared preferences. Is there any better way to do that like package or do google maps api provides that?


问:
View whole page in inspect/dev tools window
Is there a way so I can see my entire page while having the inspect/dev tools open in google chrome, as it is it is only displaying the far left two inches of the page which isnt particularly helpful when trying to view aspects on the other side?

I am trying to see the entire chart. I have tried to enlarge/shrink screen size and increase % and adjust to fit but it still only manipulates the two inch strip visible here instead of the entire chart.


问:
Python: How to Slice & Index Chunks of a List into a New List
Let's say I have the following list:

```<code>nums = [10,2,3,4, 8, 3]
</code>```

I want to slice and index nums so that I create a new list from only some elements of the original list.  For example #1:

```<code>nums_1 = [10, 3, 4, 8, 3]
</code>```

Or Example 2:

```<code>nums_2 = [10, 3, 4, 3]
</code>```

Is there an efficient way to do this?  I tried nums.pop() but I don't want to change the original list.

Body:
Let's say I have the following list:

nums = [10,2,3,4, 8, 3]

I want to slice and index nums so that I create a new list from only some elements of the original list.  For example #1:

nums_1 = [10, 3, 4, 8, 3]

Or Example 2:

nums_2 = [10, 3, 4, 3]

Is there an efficient way to do this?  I tried nums.pop() but I don't want to change the original list.


问:
jekyll how to read from markdown content
I wonder can I use jekyll to read the content of a markdown line by line and generate a timeline page?

Basically, I want to achieve something like this. I assume I need to make a HTML file like timeline.html, and then in the markdown title has a thing like layout: timeline.

I already find some codes to create this timeline view. Like below

```<code><div id="archives" class="pl-xl-3">
 <div class="year lead">2022</div>
  <ul class="list-unstyled">
    <li>
      <span class="date day">25</span>
      <span class="date month small text-muted ml-1">Dec</span>
      <a> My first news</a>
    </li>
  </ul>
</div>
</code>```

But what I want is a way to automatically replace the '25', 'Dec', and 'My first news' with the content in my markdown file.

Any hint about how to access the markdown content in this HTML file is appreciated!

Body:
I wonder can I use jekyll to read the content of a markdown line by line and generate a timeline page?

Basically, I want to achieve something like this. I assume I need to make a HTML file like timeline.html, and then in the markdown title has a thing like layout: timeline.

I already find some codes to create this timeline view. Like below

2022

      25
      Dec
       My first news

But what I want is a way to automatically replace the '25', 'Dec', and 'My first news' with the content in my markdown file.

Any hint about how to access the markdown content in this HTML file is appreciated!


问:
How can I make a component in AstroJS that renders paypal buttons?
I've adapated the client-side example from Paypal's docs and my code works fine if I add it directly to a page, but I want to create a reusable component, and when I try to do that and import the component, it just doesn't render. When I try to inspect the element in Chrome's dev tools, all I get is

. Here is the code:

```<code>---
const clientId = import.meta.env.PAYPAL_CLIENT_ID;
---

<!-- Replace "test" with your own sandbox Business account app client ID -->
  <script is:inline src={`https://www.paypal.com/sdk/js?client-id=${clientId}&currency=USD`}></script>
  <!-- Set up a container element for the button -->
  <div id="paypal-button-container"></div>
  <script is:inline>
    paypal.Buttons({
      // Sets up the transaction when a payment button is clicked
      createOrder: (data, actions) => {
        return actions.order.create({
          purchase_units: [{
            amount: {
              value: '77.44' // Can also reference a variable or function
            }
          }]
        });
      },
      // Finalize the transaction after payer approval
      onApprove: (data, actions) => {
        return actions.order.capture().then(function(orderData) {
          // Successful capture! For dev/demo purposes:
          console.log('Capture result', orderData, JSON.stringify(orderData, null, 2));
          const transaction = orderData.purchase_units[0].payments.captures[0];
          alert(`Transaction ${transaction.status}: ${transaction.id}\n\nSee console for all available details`);
          // When ready to go live, remove the alert and show a success message within this page. For example:
          // const element = document.getElementById('paypal-button-container');
          // element.innerHTML = '<h3>Thank you for your payment!</h3>';
          // Or go to another URL:  actions.redirect('thank_you.html');
        });
      }
    }).render('#paypal-button-container');
  </script>
</code>```

Body:
I've adapated the client-side example from Paypal's docs and my code works fine if I add it directly to a page, but I want to create a reusable component, and when I try to do that and import the component, it just doesn't render. When I try to inspect the element in Chrome's dev tools, all I get is

. Here is the code:

---
const clientId = import.meta.env.PAYPAL_CLIENT_ID;
---


问:
OneSignal - Previously received notification is showing up again when app is opened next time
STR -

when notification receive dismiss from notification panel

close the app and don't use it for some time

open the app again

now will see the previously dismissed notification is showing up again.

shows previous past time of received notification. Example as 5h.

Expected result -
cleared notification from notification panel should not show when the app is opened next time.


问:
BigQuery SQL - flatten array + autofill column
I'm trying to write a query to unnest an array path in my table, BUT i want each new row to autofill the non-null/non-empty path.id for the interaction_id of that row.

interaction_id
path.id

f91aef41

5863068202

so i would like this to be:

interaction_id
path.id

f91aef41
5863068202

f91aef41
5863068202

not sure if that makes sense but i've tried to do

```<code>select
*
from logs, unnest(path)
</code>```

but that will output:

interaction_id
path.id

f91aef41

f91aef41
5863068202

any help is much appreciated.. thank you

Body:
I'm trying to write a query to unnest an array path in my table, BUT i want each new row to autofill the non-null/non-empty path.id for the interaction_id of that row.

interaction_id
path.id

f91aef41

5863068202

so i would like this to be:

interaction_id
path.id

f91aef41
5863068202

f91aef41
5863068202

not sure if that makes sense but i've tried to do

select
*
from logs, unnest(path)

but that will output:

interaction_id
path.id

f91aef41

f91aef41
5863068202

any help is much appreciated.. thank you


问:
Elasticsearch improve search accuracy on Boolean query match, matchesNot, matchesPartial
Need a help about the implementation of how to improve the search accuracy of the elasticSearch logic on the JAVA side which is in the springboot application.

Why I am aiming for search accuracy? Because in the production side whenever I am searching for products using the search bar in the app ex. Laptops it shows different results of product also.

First I have a **controller class ** where the request goes to this endpoint:

```<code>@PostMapping("/bsl/view/products/sort-filter")
    public Response<SearchByFilterByResponse> viewSortByFilterBy(@RequestBody SearchByDto searchBy) throws IOException{
        return Response.success(elasticSearchProductBslService.viewSortByFilterBy(searchBy));
    }
</code>```

RequestBody contains the SearchByDto class where inside of that class I have the filterBy object, where inside of it the structure of query is there.

SearchByDto class:
SearchByDto class

FilterBy class:

```<code>private Map<String, List<String>> filter;
    private List<KeyValue<String, String>> matches;
    private List<KeyValue<String, String>> matchesPartial;
    private List<KeyValue<String, String>> matchesNot;
    private List<KeyValue<String, RangeValue>> ranges;
    private List<String> discludeFieldNotNullAndEmpty;

    public List<String> getDiscludeFieldNotNullAndEmpty() {
        if(discludeFieldNotNullAndEmpty==null) {
            this.discludeFieldNotNullAndEmpty =  new ArrayList<>();
        }
        return discludeFieldNotNullAndEmpty;
    }
    public void setDiscludeFieldNotNullAndEmpty(List<String> discludeFieldNotNullAndEmpty) {
        this.discludeFieldNotNullAndEmpty = discludeFieldNotNullAndEmpty;
    }

    public List<KeyValue<String, RangeValue>> getRanges() {
        if(ranges==null) {
            this.ranges =  new ArrayList<>();
        }
        return ranges;
    }
    public void setRanges(List<KeyValue<String, RangeValue>> ranges) {
        this.ranges = ranges;
    }

    public Map<String, List<String>> getFilter() {
        if(filter==null) {
            this.filter = new HashMap<>();
        }
        return filter;
    }
    public void setFilter(Map<String, List<String>> filter) {
        this.filter = filter;
    }

    public List<KeyValue<String, String>> getMatches() {
        if(matches==null) {
            this.matches = new ArrayList<>();
        }
        return matches;
    }
    public void setMatches(List<KeyValue<String, String>> matches) {
        this.matches = matches;
    }

    public List<KeyValue<String, String>> getMatchesPartial() {
        if(matchesPartial==null) {
            this.matchesPartial = new ArrayList<>();
        }
        return matchesPartial;
    }
    public void setMatchesPartial(List<KeyValue<String, String>> matchesPartial) {
        this.matchesPartial = matchesPartial;
    }

    public List<KeyValue<String, String>> getMatchesNot() {
        if(matchesNot==null) {
            this.matchesNot = new ArrayList<>();
        }
        return matchesNot;
    }
    public void setMatchesNot(List<KeyValue<String, String>> matchesNot) {
        this.matchesNot = matchesNot;
    }
}
</code>```

As based on the structure of the code the matches, matchesPartial, matchesNot is nested under the filter Map, and each keyword queries should have key and value.

Now let's go back to the controller class, as you can see inside of the Response.success method
it is calling also the elasticSearchProductBslService.viewSortByFilterBy(searchBy) where inside of the searchBy it contains the request including the filterBy.

Let's jump to the viewSortByFilterBy() method inside of the elasticSearchProductBslService class.

```<code>    public SearchByFilterByResponse viewSortByFilterBy(SearchByDto searchBy) throws IOException{

        SearchSourceBuilder sourceBuilder = new SearchSourceBuilder();
        SearchRequest request = new SearchRequest();
        request.indices("product_bsl");
        request.source(sourceBuilder);

        int fromIndex = searchBy.getPagination().getFrom();
        int size = searchBy.getPagination().getSize();

        elasticSearchHelper.buildFieldSort(searchBy, sourceBuilder);
        sourceBuilder.from(fromIndex);
        sourceBuilder.size(size);

        BoolQueryBuilder queryBuilder = elasticSearchHelper.boolQueryBuilder(searchBy);
        sourceBuilder.query(queryBuilder);

        SearchResponse response = client.search(request, RequestOptions.DEFAULT);
        SearchHit[] searchHits = response.getHits().getHits();

        SearchByFilterByResponse resp = new SearchByFilterByResponse();
        resp.setTotalHits(response.getHits().getTotalHits().value);

        List<ProductWithImage> products = searchHitToDto(searchHits);
        resp.setProducts(products);

        return resp;
    }
</code>```

Additional information for you, this is the DTO class for "product_bsl" index. As I will show it to you how it look like in the OpenAPI later.

ProductBslElasticDto class:

```<code>public class ProductBslElasticDto {

    private String id;
    private String name;
    private List<OfferElasticDto> offers;
    private List<ProductBslElasticCategory> productBslElasticCategory;
    private String brandId;
    private String brandName;
    private String shortdesc;
    private String longDesc;
    private int brandRating;
    private long dateInserted;
    private List<String> imagePath;
    private String isActive;
    private List<String> images;
    private List<String> imageId;
    private long totalVisits;
    private long totalVisitUpdateTime;
    private long totalViewCount;

    public String getId() {
        return id;
    }
    public void setId(String id) {
        this.id = id;
    }
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public String getBrandName() {
        return brandName;
    }
    public void setBrandName(String brandName) {
        this.brandName = brandName;
    }
    public String getShortdesc() {
        return shortdesc;
    }
    public void setShortdesc(String shortdesc) {
        this.shortdesc = shortdesc;
    }
    public String getLongDesc() {
        return longDesc;
    }
    public void setLongDesc(String longDesc) {
        this.longDesc = longDesc;
    }
    public int getBrandRating() {
        return brandRating;
    }
    public void setBrandRating(int brandRating) {
        this.brandRating = brandRating;
    }
    public String getBrandId() {
        return brandId;
    }
    public void setBrandId(String brandId) {
        this.brandId = brandId;
    }
    public long getDateInserted() {
        return dateInserted;
    }
    public void setDateInserted(long dateInserted) {
        this.dateInserted = dateInserted;
    }

    public List<ProductBslElasticCategory> getProductBslElasticCategory() {
        return productBslElasticCategory;
    }
    public void setProductBslElasticCategory(List<ProductBslElasticCategory> productBslElasticCategory) {
        this.productBslElasticCategory = productBslElasticCategory;
    }
    public long getTotalVisits() {
        return totalVisits;
    }
    public void setTotalVisits(long totalVisits) {
        this.totalVisits = totalVisits;
    }
    public long getTotalVisitUpdateTime() {
        return totalVisitUpdateTime;
    }
    public void setTotalVisitUpdateTime(long totalVisitUpdateTime) {
        this.totalVisitUpdateTime = totalVisitUpdateTime;
    }
    public String getIsActive() {
        return isActive;
    }
    public void setIsActive(String isActive) {
        this.isActive = isActive;
    }
    public List<String> getImages() {
        return images;
    }
    public void setImages(List<String> images) {
        this.images = images;
    }
    public List<String> getImageId() {
        return imageId;
    }
    public void setImageId(List<String> imageId) {
        this.imageId = imageId;
    }
    public List<OfferElasticDto> getOffers() {
        return offers;
    }
    public void setOffers(List<OfferElasticDto> offers) {
        this.offers = offers;
    }

    public long getTotalViewCount() {
        return totalViewCount;
    }

    public void setTotalViewCount(long totalViewCount) {
        this.totalViewCount = totalViewCount;
    }

    public List<String> getImagePath() {
        return imagePath;
    }

    public void setImagePath(List<String> imagePath) {
        sortIndexedImagePaths(imagePath);
        this.imagePath = imagePath;
    }

    private void sortIndexedImagePaths(List<String> imagePaths) {
        if (null == imagePaths) return;
        for (String path : imagePaths) {
            if (null == path ||
                    !PRODUCT_INDEXED_IMAGE_PATH_PATTERN.matcher(path).find()) {
                return;
            }
        }
        imagePaths.sort(String::compareTo);
    }
}
</code>```

Now after I show the DTO you can look back to the viewSortByFilterBy() again. I think you can disregard the SourceBuilder and SearchRequest let's focus on the elasticSearchHelper.boolQueryBuilder(searchBy) as we will jump inside of it.

ElasticSearchHelper class:

```<code>@Service
public class ElasticSearchHelper {

    private static final String KEY_NAME = "name";
    private static final String REGEX_SPACE = " ";
    private static final String REGEX_WILDCARD = "*";

    public BoolQueryBuilder boolQueryBuilder(SearchByDto searchBy) {
        FilterBy filterBy = searchBy.getFilterBy();
        BoolQueryBuilder rootBuilder = QueryBuilders.boolQuery();

        if(filterBy!=null) {
            nestedTermsQueryBuilder(rootBuilder, filterBy.getFilter());
            nestedBoolQueryBuilder(rootBuilder, filterBy.getMatches(), MUST);
            nestedBoolQueryBuilder(rootBuilder, filterBy.getMatchesNot(), MUST_NOT);
            nestedBoolQueryBuilder(rootBuilder, filterBy.getMatchesPartial(), SHOULD);
            nestedExistsQueryBuilder(rootBuilder, filterBy.getDiscludeFieldNotNullAndEmpty());
            nestedRangeQueryBuilder(rootBuilder, filterBy.getRanges());
        }

        return rootBuilder;
    }

    private void nestedTermsQueryBuilder(BoolQueryBuilder rootBuilder, Map<String, List<String>> filter) {
        filter.forEach((key, value) -> {
            TermsQueryBuilder nestedBuilder = QueryBuilders.termsQuery(key, value);
            rootBuilder.must(nestedBuilder);
        });
    }

    private void nestedBoolQueryBuilder(BoolQueryBuilder rootBuilder, List<KeyValue<String, String>> entries, ElasticSearchBoolQueryType queryType) {
        if(entries != null && !entries.isEmpty()) {
            Set<String> distinctKeys = entries.stream().map(KeyValue::getKey).collect(Collectors.toSet());
            for (String key : distinctKeys) {
                BoolQueryBuilder nestedBuilder = QueryBuilders.boolQuery();
                for (KeyValue<String, String> entry : entries) {
                    nestedQueryStringOrDisMaxQueryBuilder(key, entry, nestedBuilder);
                }
                switch (queryType) {
                    case MUST:
                        rootBuilder.must(nestedBuilder);
                        break;
                    case MUST_NOT:
                        rootBuilder.mustNot(nestedBuilder);
                        break;
                    case SHOULD:
                        rootBuilder.should(nestedBuilder);
                        break;
                    default:
                        break;
                }
            }
        }
    }

</code>```

I just included the boolQueryBuilder and nestedBoolQueryBuilder only just to focus relating to my concern. don't get confuse on the MUST, MUST_NOT, SHOULD it is the same for matches, matchesNot, matchesPartial as I have told earlier on the FilterBy class. So in this class I think the logic happens here, any suggestions for any changes and how should I improve search accuracy for this kind of structure?

How it looks like in OpenAPI as I will search for product name:

Request: POST "/bsl/view/products/sort-filter"

```<code>{
    "pagination": {
        "from": 0,
        "size": 20
    },
    "sortBy": {
        "fieldsAscOrDesc": {
            "offers.financing.finalAmount": "desc"
        }
    },
    "filterBy": {
        "matches": [
            {
                "key": "name",
                "value": "Lenovo IdeaPad3 81Y4001NPH"
            }
        ],
        "matchesNot": [
            {
                "key": "isActive",
                "value": "false"
            }
        ],
        "discludeFieldNotNullAndEmpty": [
            "offers"
        ]
    }
}
</code>```

Result was it had total of 17 hits and I used the matches keyword where it should be search the exact word right? But it shows different Lenovo products in the result.

Result

Body:
Need a help about the implementation of how to improve the search accuracy of the elasticSearch logic on the JAVA side which is in the springboot application.

Why I am aiming for search accuracy? Because in the production side whenever I am searching for products using the search bar in the app ex. Laptops it shows different results of product also.

First I have a **controller class ** where the request goes to this endpoint:

@PostMapping("/bsl/view/products/sort-filter")
    public Response<SearchByFilterByResponse> viewSortByFilterBy(@RequestBody SearchByDto searchBy) throws IOException{
        return Response.success(elasticSearchProductBslService.viewSortByFilterBy(searchBy));
    }

RequestBody contains the SearchByDto class where inside of that class I have the filterBy object, where inside of it the structure of query is there.

SearchByDto class:
SearchByDto class

FilterBy class:

private Map<String, List<String>> filter;
    private List<KeyValue<String, String>> matches;
    private List<KeyValue<String, String>> matchesPartial;
    private List<KeyValue<String, String>> matchesNot;
    private List<KeyValue<String, RangeValue>> ranges;
    private List<String> discludeFieldNotNullAndEmpty;

    public List<String> getDiscludeFieldNotNullAndEmpty() {
        if(discludeFieldNotNullAndEmpty==null) {
            this.discludeFieldNotNullAndEmpty =  new ArrayList<>();
        }
        return discludeFieldNotNullAndEmpty;
    }
    public void setDiscludeFieldNotNullAndEmpty(List<String> discludeFieldNotNullAndEmpty) {
        this.discludeFieldNotNullAndEmpty = discludeFieldNotNullAndEmpty;
    }

    public List<KeyValue<String, RangeValue>> getRanges() {
        if(ranges==null) {
            this.ranges =  new ArrayList<>();
        }
        return ranges;
    }
    public void setRanges(List<KeyValue<String, RangeValue>> ranges) {
        this.ranges = ranges;
    }

    public Map<String, List<String>> getFilter() {
        if(filter==null) {
            this.filter = new HashMap<>();
        }
        return filter;
    }
    public void setFilter(Map<String, List<String>> filter) {
        this.filter = filter;
    }

    public List<KeyValue<String, String>> getMatches() {
        if(matches==null) {
            this.matches = new ArrayList<>();
        }
        return matches;
    }
    public void setMatches(List<KeyValue<String, String>> matches) {
        this.matches = matches;
    }

    public List<KeyValue<String, String>> getMatchesPartial() {
        if(matchesPartial==null) {
            this.matchesPartial = new ArrayList<>();
        }
        return matchesPartial;
    }
    public void setMatchesPartial(List<KeyValue<String, String>> matchesPartial) {
        this.matchesPartial = matchesPartial;
    }

    public List<KeyValue<String, String>> getMatchesNot() {
        if(matchesNot==null) {
            this.matchesNot = new ArrayList<>();
        }
        return matchesNot;
    }
    public void setMatchesNot(List<KeyValue<String, String>> matchesNot) {
        this.matchesNot = matchesNot;
    }
}

As based on the structure of the code the matches, matchesPartial, matchesNot is nested under the filter Map, and each keyword queries should have key and value.

Now let's go back to the controller class, as you can see inside of the Response.success method
it is calling also the elasticSearchProductBslService.viewSortByFilterBy(searchBy) where inside of the searchBy it contains the request including the filterBy.

Let's jump to the viewSortByFilterBy() method inside of the elasticSearchProductBslService class.

    public SearchByFilterByResponse viewSortByFilterBy(SearchByDto searchBy) throws IOException{

        SearchSourceBuilder sourceBuilder = new SearchSourceBuilder();
        SearchRequest request = new SearchRequest();
        request.indices("product_bsl");
        request.source(sourceBuilder);

        int fromIndex = searchBy.getPagination().getFrom();
        int size = searchBy.getPagination().getSize();

        elasticSearchHelper.buildFieldSort(searchBy, sourceBuilder);
        sourceBuilder.from(fromIndex);
        sourceBuilder.size(size);

        BoolQueryBuilder queryBuilder = elasticSearchHelper.boolQueryBuilder(searchBy);
        sourceBuilder.query(queryBuilder);

        SearchResponse response = client.search(request, RequestOptions.DEFAULT);
        SearchHit[] searchHits = response.getHits().getHits();

        SearchByFilterByResponse resp = new SearchByFilterByResponse();
        resp.setTotalHits(response.getHits().getTotalHits().value);

        List<ProductWithImage> products = searchHitToDto(searchHits);
        resp.setProducts(products);

        return resp;
    }

Additional information for you, this is the DTO class for "product_bsl" index. As I will show it to you how it look like in the OpenAPI later.

ProductBslElasticDto class:

public class ProductBslElasticDto {

    private String id;
    private String name;
    private List<OfferElasticDto> offers;
    private List<ProductBslElasticCategory> productBslElasticCategory;
    private String brandId;
    private String brandName;
    private String shortdesc;
    private String longDesc;
    private int brandRating;
    private long dateInserted;
    private List<String> imagePath;
    private String isActive;
    private List<String> images;
    private List<String> imageId;
    private long totalVisits;
    private long totalVisitUpdateTime;
    private long totalViewCount;

    public String getId() {
        return id;
    }
    public void setId(String id) {
        this.id = id;
    }
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public String getBrandName() {
        return brandName;
    }
    public void setBrandName(String brandName) {
        this.brandName = brandName;
    }
    public String getShortdesc() {
        return shortdesc;
    }
    public void setShortdesc(String shortdesc) {
        this.shortdesc = shortdesc;
    }
    public String getLongDesc() {
        return longDesc;
    }
    public void setLongDesc(String longDesc) {
        this.longDesc = longDesc;
    }
    public int getBrandRating() {
        return brandRating;
    }
    public void setBrandRating(int brandRating) {
        this.brandRating = brandRating;
    }
    public String getBrandId() {
        return brandId;
    }
    public void setBrandId(String brandId) {
        this.brandId = brandId;
    }
    public long getDateInserted() {
        return dateInserted;
    }
    public void setDateInserted(long dateInserted) {
        this.dateInserted = dateInserted;
    }

    public List<ProductBslElasticCategory> getProductBslElasticCategory() {
        return productBslElasticCategory;
    }
    public void setProductBslElasticCategory(List<ProductBslElasticCategory> productBslElasticCategory) {
        this.productBslElasticCategory = productBslElasticCategory;
    }
    public long getTotalVisits() {
        return totalVisits;
    }
    public void setTotalVisits(long totalVisits) {
        this.totalVisits = totalVisits;
    }
    public long getTotalVisitUpdateTime() {
        return totalVisitUpdateTime;
    }
    public void setTotalVisitUpdateTime(long totalVisitUpdateTime) {
        this.totalVisitUpdateTime = totalVisitUpdateTime;
    }
    public String getIsActive() {
        return isActive;
    }
    public void setIsActive(String isActive) {
        this.isActive = isActive;
    }
    public List<String> getImages() {
        return images;
    }
    public void setImages(List<String> images) {
        this.images = images;
    }
    public List<String> getImageId() {
        return imageId;
    }
    public void setImageId(List<String> imageId) {
        this.imageId = imageId;
    }
    public List<OfferElasticDto> getOffers() {
        return offers;
    }
    public void setOffers(List<OfferElasticDto> offers) {
        this.offers = offers;
    }

    public long getTotalViewCount() {
        return totalViewCount;
    }

    public void setTotalViewCount(long totalViewCount) {
        this.totalViewCount = totalViewCount;
    }

    public List<String> getImagePath() {
        return imagePath;
    }

    public void setImagePath(List<String> imagePath) {
        sortIndexedImagePaths(imagePath);
        this.imagePath = imagePath;
    }

    private void sortIndexedImagePaths(List<String> imagePaths) {
        if (null == imagePaths) return;
        for (String path : imagePaths) {
            if (null == path ||
                    !PRODUCT_INDEXED_IMAGE_PATH_PATTERN.matcher(path).find()) {
                return;
            }
        }
        imagePaths.sort(String::compareTo);
    }
}

Now after I show the DTO you can look back to the viewSortByFilterBy() again. I think you can disregard the SourceBuilder and SearchRequest let's focus on the elasticSearchHelper.boolQueryBuilder(searchBy) as we will jump inside of it.

ElasticSearchHelper class:

@Service
public class ElasticSearchHelper {

    private static final String KEY_NAME = "name";
    private static final String REGEX_SPACE = " ";
    private static final String REGEX_WILDCARD = "*";

    public BoolQueryBuilder boolQueryBuilder(SearchByDto searchBy) {
        FilterBy filterBy = searchBy.getFilterBy();
        BoolQueryBuilder rootBuilder = QueryBuilders.boolQuery();

        if(filterBy!=null) {
            nestedTermsQueryBuilder(rootBuilder, filterBy.getFilter());
            nestedBoolQueryBuilder(rootBuilder, filterBy.getMatches(), MUST);
            nestedBoolQueryBuilder(rootBuilder, filterBy.getMatchesNot(), MUST_NOT);
            nestedBoolQueryBuilder(rootBuilder, filterBy.getMatchesPartial(), SHOULD);
            nestedExistsQueryBuilder(rootBuilder, filterBy.getDiscludeFieldNotNullAndEmpty());
            nestedRangeQueryBuilder(rootBuilder, filterBy.getRanges());
        }

        return rootBuilder;
    }

    private void nestedTermsQueryBuilder(BoolQueryBuilder rootBuilder, Map<String, List<String>> filter) {
        filter.forEach((key, value) -> {
            TermsQueryBuilder nestedBuilder = QueryBuilders.termsQuery(key, value);
            rootBuilder.must(nestedBuilder);
        });
    }

    private void nestedBoolQueryBuilder(BoolQueryBuilder rootBuilder, List<KeyValue<String, String>> entries, ElasticSearchBoolQueryType queryType) {
        if(entries != null && !entries.isEmpty()) {
            Set<String> distinctKeys = entries.stream().map(KeyValue::getKey).collect(Collectors.toSet());
            for (String key : distinctKeys) {
                BoolQueryBuilder nestedBuilder = QueryBuilders.boolQuery();
                for (KeyValue<String, String> entry : entries) {
                    nestedQueryStringOrDisMaxQueryBuilder(key, entry, nestedBuilder);
                }
                switch (queryType) {
                    case MUST:
                        rootBuilder.must(nestedBuilder);
                        break;
                    case MUST_NOT:
                        rootBuilder.mustNot(nestedBuilder);
                        break;
                    case SHOULD:
                        rootBuilder.should(nestedBuilder);
                        break;
                    default:
                        break;
                }
            }
        }
    }

I just included the boolQueryBuilder and nestedBoolQueryBuilder only just to focus relating to my concern. don't get confuse on the MUST, MUST_NOT, SHOULD it is the same for matches, matchesNot, matchesPartial as I have told earlier on the FilterBy class. So in this class I think the logic happens here, any suggestions for any changes and how should I improve search accuracy for this kind of structure?

How it looks like in OpenAPI as I will search for product name:

Request: POST "/bsl/view/products/sort-filter"

{
    "pagination": {
        "from": 0,
        "size": 20
    },
    "sortBy": {
        "fieldsAscOrDesc": {
            "offers.financing.finalAmount": "desc"
        }
    },
    "filterBy": {
        "matches": [
            {
                "key": "name",
                "value": "Lenovo IdeaPad3 81Y4001NPH"
            }
        ],
        "matchesNot": [
            {
                "key": "isActive",
                "value": "false"
            }
        ],
        "discludeFieldNotNullAndEmpty": [
            "offers"
        ]
    }
}

Result was it had total of 17 hits and I used the matches keyword where it should be search the exact word right? But it shows different Lenovo products in the result.

Result


问:
Is there a way to order SQL query results by several columns?
let's say I have a purchase_transactions table with fields: transactionId, store, department, category and product_name. I could make a sql query to obtain the number sales (SUM(transactionId)) by each product and store (GROUP BY product, store), and get something like this as a result:
Unordered results

However, I want to get final results ordered (or clustered) by store, department and category, in the following way:
Ordered/clustered

Could anyone please help me with this? Is there a way to do this in standard SQL??


问:
How to log into RobinHood with the R package?
I have not seen many resources. The package is RobinHood. It is used to access your portfolio. However with the latest version of the package it requires an mfa code. I'll type the following.

```<code>RH <- RobinHood(username = "Username", password = "Password")
</code>```

Then I will run this because the mfa code comes from trying to log into a new device via text.  This is the error I get:

```<code>Error in RobinHood::api_login(username, password, mfa_code) :
  argument "mfa_code" is missing, with no default
</code>```

How can I create a Robinhood object? Do I have to initiate a new login on an incognito tab to login?

Body:
I have not seen many resources. The package is RobinHood. It is used to access your portfolio. However with the latest version of the package it requires an mfa code. I'll type the following.

RH <- RobinHood(username = "Username", password = "Password")

Then I will run this because the mfa code comes from trying to log into a new device via text.  This is the error I get:

Error in RobinHood::api_login(username, password, mfa_code) :
  argument "mfa_code" is missing, with no default

How can I create a Robinhood object? Do I have to initiate a new login on an incognito tab to login?


问:
Serializer returning empty Strings in a Django Project while displayed in Json
I have a serializer.py and views.py in a django which I am trying to access from flutter app. But the issue is that in the json I can see the string available but when it is called it is not showing any results.

Here is the serializers.py:

```<code>class ActiveSessionSerializer(serializers.ModelSerializer):
..................................
    class Meta:
        model = ActiveSession
        fields = '__all__'

    def __init__(self, queryset, *args, **kwargs):
        print(f'queryset: {queryset}')
        self.queryset = queryset
        super(ActiveSessionSerializer, self).__init__(*args, **kwargs)

    def to_representation(self, instance):
        print(f'instance: {instance}')
        return super(ActiveSessionSerializer, self).to_representation(instance)
</code>```

Here is the json data:

```<code>[
    {
        "session_workout": "Lower1Updated",
        "activated": false,
    }
]
</code>```

but in the views.py:

```<code>def getActiveSession(request, **kwargs):
    last_active_session = ActiveSession.objects.filter(user=user).latest('id')
    serializer = ActiveSessionSerializer(last_active_session, many=False)
    print(f"Serialized active session data: {serializer.data}")
    return Response(serializer.data)
</code>```

The result of the serializer.data is the following:

```<code>Serialized active session data: {'activated': False, 'session_workout': ''}
</code>```

My question what is the reason for showing empty string in the serializer.data while in the json data there is data populated. How to fix this error ?

Body:
I have a serializer.py and views.py in a django which I am trying to access from flutter app. But the issue is that in the json I can see the string available but when it is called it is not showing any results.

Here is the serializers.py:

class ActiveSessionSerializer(serializers.ModelSerializer):
..................................
    class Meta:
        model = ActiveSession
        fields = '__all__'

    def __init__(self, queryset, *args, **kwargs):
        print(f'queryset: {queryset}')
        self.queryset = queryset
        super(ActiveSessionSerializer, self).__init__(*args, **kwargs)

    def to_representation(self, instance):
        print(f'instance: {instance}')
        return super(ActiveSessionSerializer, self).to_representation(instance)

Here is the json data:

[
    {
        "session_workout": "Lower1Updated",
        "activated": false,
    }
]

but in the views.py:

def getActiveSession(request, **kwargs):
    last_active_session = ActiveSession.objects.filter(user=user).latest('id')
    serializer = ActiveSessionSerializer(last_active_session, many=False)
    print(f"Serialized active session data: {serializer.data}")
    return Response(serializer.data)

The result of the serializer.data is the following:

Serialized active session data: {'activated': False, 'session_workout': ''}

My question what is the reason for showing empty string in the serializer.data while in the json data there is data populated. How to fix this error ?


问:
SQLCODE=-302, SQLSTATE=22001 error while loading Spark dataframes to Relational DB tables
I have a dataframe with 100 plus columns, majority of them are of StringType. During load into DB2 table, I sometimes face DB2 SQL Error: SQLCODE=-302, SQLSTATE=22001. On checking the error code I came to know that its a length issue, one ore more columns I have in my dataframe(usually StringType columns) might have data which exceeds the length of varchar or char field to which its being loaded to. The main issue is that the error doesnt specify which column or row causes this in the error log so I have to go through the whole dataframe, is there any elegant solution available for this?

For troubleshooting I have tried to get the max length of each column in dataframe and check if it exceeds the column length in database

```<code>df.withColumn("length_of_column1",length(col("column1")))
  .groupBy()
  .max("length_of_column1")
  .show()
</code>```

Body:
I have a dataframe with 100 plus columns, majority of them are of StringType. During load into DB2 table, I sometimes face DB2 SQL Error: SQLCODE=-302, SQLSTATE=22001. On checking the error code I came to know that its a length issue, one ore more columns I have in my dataframe(usually StringType columns) might have data which exceeds the length of varchar or char field to which its being loaded to. The main issue is that the error doesnt specify which column or row causes this in the error log so I have to go through the whole dataframe, is there any elegant solution available for this?

For troubleshooting I have tried to get the max length of each column in dataframe and check if it exceeds the column length in database

df.withColumn("length_of_column1",length(col("column1")))
  .groupBy()
  .max("length_of_column1")
  .show()


问:
Want to count the number of rows in the super table
The amount of data in the super table is too large to be searched,  is there any way to count the number of rows？The table ofINFORMATION_SCHEMA.INS_STABLES does not exist.
taos> select count(*) from s_device ; DB error: Query killed (4328.710142s)

i want to count the number of rows in the super table


问:
Facing issue on On Click Listener events
am working as an Android Developer, and I am facing issue for onclick actions not working in any device's from last 1 week. can any one please tell me the solution for this why this will happen suddenly.

I tried add listeners on imageview and before my Lister on layout.


问:
Select option from a select with jQuery
In a select, how I can select a particular option ?

For example, I want to select the option with 3 from this select ?

```<code><select name="dropdown">
    <option disabled>10x10</option>
    <option disabled>20x20</option>
    <option disabled>30x30</option>
</select>
</code>```

What I have tried:

```<code>$('select[name="dropdown"] option[text="20x20"]').attr('disabled', false);
</code>```

Thanks.

Title: Select option from a select with jQuery

Body:
In a select, how I can select a particular option ?

For example, I want to select the option with 3 from this select ?

<select name="dropdown">
    <option disabled>10x10</option>
    <option disabled>20x20</option>
    <option disabled>30x30</option>
</select>

What I have tried:

$('select[name="dropdown"] option[text="20x20"]').attr('disabled', false);

Thanks.


问:
ASP.NET displaying fixed DIV on top of page
I'm using VS2010,C# to develop my ASP.NET web app, I'm going to insert a fixed header on top of my pages so that my content area has a smaller width and these fixed DIVs are always on top of my page, in this way contents should start displaying from bottom of DIVs and not from screen top, I'm not going to use master pages, what are my options? how should I arrange my page?
thanks</p>

ContentLicense: CC BY-SA 3.0


问:
What is the idiomatic bash way to echo the executed commands which include pipes and embeded evaluations?
For example, consider the following code (running in an ADO pipeline):

```<code>PS4="##[command]"; set -euxo pipefail

wget -qO- https://apt.releases.hashicorp.com/gpg | gpg --dearmor | sudo tee /usr/share/keyrings/hashicorp-archive-keyring.gpg > /dev/null
echo "deb [signed-by=/usr/share/keyrings/hashicorp-archive-keyring.gpg] https://apt.releases.hashicorp.com $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/hashicorp.list > /dev/null
</code>```

The output it produces is pretty confusing:

```<code>##[command]gpg --dearmor
##[command]sudo tee /usr/share/keyrings/hashicorp-archive-keyring.gpg
##[command]wget -qO- https://apt.releases.hashicorp.com/gpg
##[command]sudo tee /etc/apt/sources.list.d/hashicorp.list
##[command]]lsb_release -cs
##[command]echo 'deb [signed-by=/usr/share/keyrings/hashicorp-archive-keyring.gpg] https://apt.releases.hashicorp.com focal main'
</code>```

Is there a better way to do it while keeping it as unobtrusive as it is now? And what is the deal with the ] character in ]lsb_release -cs (line 16) ?

Body:
For example, consider the following code (running in an ADO pipeline):

PS4="##[command]"; set -euxo pipefail

wget -qO- https://apt.releases.hashicorp.com/gpg | gpg --dearmor | sudo tee /usr/share/keyrings/hashicorp-archive-keyring.gpg > /dev/null
echo "deb [signed-by=/usr/share/keyrings/hashicorp-archive-keyring.gpg] https://apt.releases.hashicorp.com $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/hashicorp.list > /dev/null

The output it produces is pretty confusing:

##[command]gpg --dearmor
##[command]sudo tee /usr/share/keyrings/hashicorp-archive-keyring.gpg
##[command]wget -qO- https://apt.releases.hashicorp.com/gpg
##[command]sudo tee /etc/apt/sources.list.d/hashicorp.list
##[command]]lsb_release -cs
##[command]echo 'deb [signed-by=/usr/share/keyrings/hashicorp-archive-keyring.gpg] https://apt.releases.hashicorp.com focal main'

Is there a better way to do it while keeping it as unobtrusive as it is now? And what is the deal with the ] character in ]lsb_release -cs (line 16) ?


问:
TypeError: SomeClass_vue_1.default is not a constructor in Jest test
I need to test Line class. But I see only this error TypeError: Line_vue_1.default is not a constructor in Jest test.
If I test class that extends only Vue - it works fine.
But if it extends myCustomClass it throw an error.
I checked I use correct import/export.
If I do

```<code>console.log(typeof Line) // i got object
</code>```

my vue.config.js

```<code>const { defineConfig } = require("@vue/cli-service");
const CopyWebpackPlugin = require("copy-webpack-plugin");
const path = require("path");

module.exports = defineConfig({
  outputDir: path.resolve(__dirname, "wwwroot"),
  assetsDir: "structures/documents/",
  transpileDependencies: true,
  chainWebpack: (config) => {
    config.resolve.symlinks(false);
    config.module
      .rule("vue")
      .use("vue-loader")
      .tap((options) => {
        // modify the options...
        return options;
      });
    config.entry("app").clear().add("./ClientApp/main.ts").end();
    config.resolve.alias
      .set("@", path.join(__dirname, "ClientApp/"))
      .set("vue", path.resolve(__dirname, "./node_modules/vue"));
    config.plugin("copy").use(CopyWebpackPlugin, [
      {
        patterns: [
          {
            from: path.resolve(__dirname, "ClientApp/assets/icons/favicon.ico"),
            to: path.resolve(__dirname, "wwwroot/structures/documents/favicon.ico"),
          },
        ],
      },
    ]);
  },
});
</code>```

my ts config

```<code>{
  "compilerOptions": {
    "target": "esnext",
    "module": "esnext",
    "strict": false,
    "jsx": "preserve",
    "moduleResolution": "node",
    "experimentalDecorators": true,
    "skipLibCheck": true,
    "allowJs": true,
    "esModuleInterop": true,
    "resolveJsonModule": true,
    "allowSyntheticDefaultImports": true,
    "forceConsistentCasingInFileNames": true,
    "useDefineForClassFields": true,
    "sourceMap": true,
    "baseUrl": ".",
    "types": [
      "webpack-env",
      "jest"
    ],
    "paths": {
      "@/*": ["ClientApp/*"]
    },
    "lib": [
      "esnext",
      "dom",
      "dom.iterable",
      "scripthost"
    ]
  },
  "include": [
    "ClientApp/**/*.ts",
    "ClientApp/**/*.tsx",
    "ClientApp/**/*.vue",
    "tests/**/*.ts",
    "tests/**/*.tsx",
    "tests/unit/testData/mockHtml.ts"
  ],
  "exclude": ["node_modules"]
}
</code>```

my jest config

```<code>// eslint-disable-next-line @typescript-eslint/no-var-requires
const { compilerOptions } = require("./tsconfig");
import { pathsToModuleNameMapper } from "ts-jest";

module.exports = {
  collectCoverage: true,
  coverageReporters: ["json", "html"],
  preset: "ts-jest",
  setupFiles: ["./tests/jest.init.ts"],
  testEnvironment: "jest-environment-jsdom",
  testEnvironmentOptions: {
    customExportConditions: ["node", "node-addons"],
  },
  modulePaths: ["<rootDir>"],
  moduleDirectories: ["node_modules", __dirname],
  moduleNameMapper: pathsToModuleNameMapper(compilerOptions.paths),
  moduleFileExtensions: ["js", "vue", "ts"],
  transform: {
    ".*\\.(vue)$": "<rootDir>/node_modules/@vue/vue3-jest",
    "^.+\\.tsx?$": "<rootDir>/node_modules/ts-jest",
    "^.+\\.jsx?$": "<rootDir>/node_modules/babel-jest",
    "^.+\\.js$": "<rootDir>/node_modules/babel-jest",
  },
  transformIgnorePatterns: [
    "node_modules/(?!variables/.*)",
    "<rootDir>/node_modules/button-plugin-vue",
  ],
};
</code>```

I have some class extends other class that extends Vue

```<code>export default class Line extends LineBase{}
</code>```
```<code>export default class LineBase extends Vue{}
</code>```

in Jest test i try to test Line class

```<code>const instance = new Line();
</code>```

but jest throw error

```<code>TypeError: Line_vue_1.default is not a constructor
</code>```

Body:
I need to test Line class. But I see only this error TypeError: Line_vue_1.default is not a constructor in Jest test.
If I test class that extends only Vue - it works fine.
But if it extends myCustomClass it throw an error.
I checked I use correct import/export.
If I do

console.log(typeof Line) // i got object

my vue.config.js

const { defineConfig } = require("@vue/cli-service");
const CopyWebpackPlugin = require("copy-webpack-plugin");
const path = require("path");

module.exports = defineConfig({
  outputDir: path.resolve(__dirname, "wwwroot"),
  assetsDir: "structures/documents/",
  transpileDependencies: true,
  chainWebpack: (config) => {
    config.resolve.symlinks(false);
    config.module
      .rule("vue")
      .use("vue-loader")
      .tap((options) => {
        // modify the options...
        return options;
      });
    config.entry("app").clear().add("./ClientApp/main.ts").end();
    config.resolve.alias
      .set("@", path.join(__dirname, "ClientApp/"))
      .set("vue", path.resolve(__dirname, "./node_modules/vue"));
    config.plugin("copy").use(CopyWebpackPlugin, [
      {
        patterns: [
          {
            from: path.resolve(__dirname, "ClientApp/assets/icons/favicon.ico"),
            to: path.resolve(__dirname, "wwwroot/structures/documents/favicon.ico"),
          },
        ],
      },
    ]);
  },
});

my ts config

{
  "compilerOptions": {
    "target": "esnext",
    "module": "esnext",
    "strict": false,
    "jsx": "preserve",
    "moduleResolution": "node",
    "experimentalDecorators": true,
    "skipLibCheck": true,
    "allowJs": true,
    "esModuleInterop": true,
    "resolveJsonModule": true,
    "allowSyntheticDefaultImports": true,
    "forceConsistentCasingInFileNames": true,
    "useDefineForClassFields": true,
    "sourceMap": true,
    "baseUrl": ".",
    "types": [
      "webpack-env",
      "jest"
    ],
    "paths": {
      "@/*": ["ClientApp/*"]
    },
    "lib": [
      "esnext",
      "dom",
      "dom.iterable",
      "scripthost"
    ]
  },
  "include": [
    "ClientApp/**/*.ts",
    "ClientApp/**/*.tsx",
    "ClientApp/**/*.vue",
    "tests/**/*.ts",
    "tests/**/*.tsx",
    "tests/unit/testData/mockHtml.ts"
  ],
  "exclude": ["node_modules"]
}

my jest config

// eslint-disable-next-line @typescript-eslint/no-var-requires
const { compilerOptions } = require("./tsconfig");
import { pathsToModuleNameMapper } from "ts-jest";

module.exports = {
  collectCoverage: true,
  coverageReporters: ["json", "html"],
  preset: "ts-jest",
  setupFiles: ["./tests/jest.init.ts"],
  testEnvironment: "jest-environment-jsdom",
  testEnvironmentOptions: {
    customExportConditions: ["node", "node-addons"],
  },
  modulePaths: ["<rootDir>"],
  moduleDirectories: ["node_modules", __dirname],
  moduleNameMapper: pathsToModuleNameMapper(compilerOptions.paths),
  moduleFileExtensions: ["js", "vue", "ts"],
  transform: {
    ".*\\.(vue)$": "<rootDir>/node_modules/@vue/vue3-jest",
    "^.+\\.tsx?$": "<rootDir>/node_modules/ts-jest",
    "^.+\\.jsx?$": "<rootDir>/node_modules/babel-jest",
    "^.+\\.js$": "<rootDir>/node_modules/babel-jest",
  },
  transformIgnorePatterns: [
    "node_modules/(?!variables/.*)",
    "<rootDir>/node_modules/button-plugin-vue",
  ],
};

I have some class extends other class that extends Vue

export default class Line extends LineBase{}

export default class LineBase extends Vue{}

in Jest test i try to test Line class

const instance = new Line();

but jest throw error

TypeError: Line_vue_1.default is not a constructor


问:
AVPlayer won't play HLS stream URL with special characters
I want to play a streaming video on iOS. Users upload the video with special characters in the filename (.mp4). It works well when AVPlayer plays it with the encoded URL (https://.../%F0%9F%98%82.mp4). But if I use AWS MediaConvert to convert it to M3U8 (https://.../%F0%9F%98%82.m3u8), AVPlayer plays it with the error:

https://.../%F0%9F%98%82_hls_qvbr_7_2000k_00001.ts CoreMediaErrorDomain -12938 - HTTP 404: File Not Found.

I checked the content of M3U8, names look correct:

```<code>#EXTM3U
#EXT-X-VERSION:3
#EXT-X-INDEPENDENT-SEGMENTS
#EXT-X-STREAM-INF:BANDWIDTH=232969,AVERAGE-BANDWIDTH=231047,CODECS="avc1.77.30,mp4a.40.2",RESOLUTION=640x480,FRAME-RATE=30.000
_hls_qvbr_9_6000k.m3u8
#EXT-X-STREAM-INF:BANDWIDTH=205897,AVERAGE-BANDWIDTH=204707,CODECS="avc1.77.30,mp4a.40.2",RESOLUTION=640x480,FRAME-RATE=30.000
_hls_qvbr_7_2000k.m3u8
</code>```
```<code>#EXTM3U
#EXT-X-VERSION:3
#EXT-X-TARGETDURATION:10
#EXT-X-MEDIA-SEQUENCE:1
#EXT-X-PLAYLIST-TYPE:VOD
#EXTINF:10,
_hls_qvbr_7_2000k_00001.ts
#EXTINF:10,
_hls_qvbr_7_2000k_00002.ts
...
</code>```

I tried the same URL with the VLC player, it can play. Can anyone help me?

Body:
I want to play a streaming video on iOS. Users upload the video with special characters in the filename (.mp4). It works well when AVPlayer plays it with the encoded URL (https://.../%F0%9F%98%82.mp4). But if I use AWS MediaConvert to convert it to M3U8 (https://.../%F0%9F%98%82.m3u8), AVPlayer plays it with the error:

https://.../%F0%9F%98%82_hls_qvbr_7_2000k_00001.ts CoreMediaErrorDomain -12938 - HTTP 404: File Not Found.

I checked the content of M3U8, names look correct:

#EXTM3U
#EXT-X-VERSION:3
#EXT-X-INDEPENDENT-SEGMENTS
#EXT-X-STREAM-INF:BANDWIDTH=232969,AVERAGE-BANDWIDTH=231047,CODECS="avc1.77.30,mp4a.40.2",RESOLUTION=640x480,FRAME-RATE=30.000
_hls_qvbr_9_6000k.m3u8
#EXT-X-STREAM-INF:BANDWIDTH=205897,AVERAGE-BANDWIDTH=204707,CODECS="avc1.77.30,mp4a.40.2",RESOLUTION=640x480,FRAME-RATE=30.000
_hls_qvbr_7_2000k.m3u8

#EXTM3U
#EXT-X-VERSION:3
#EXT-X-TARGETDURATION:10
#EXT-X-MEDIA-SEQUENCE:1
#EXT-X-PLAYLIST-TYPE:VOD
#EXTINF:10,
_hls_qvbr_7_2000k_00001.ts
#EXTINF:10,
_hls_qvbr_7_2000k_00002.ts
...

I tried the same URL with the VLC player, it can play. Can anyone help me?


问:
AudioSegment after convert and Export, Double Duration after Exported in Mac Music

After I Converted it, if i click get info it shows the real duration

ConvertFile = AudioSegment.from_file(fullPath, format=fileFormat) ConvertFile.export(fullPath,format=self.ExportFormat)

But after I play it on MAC it doubles the playing time automatically,

although I track the file itself it shows the original duration


问:
Pyspark jobs on dataproc using documents from Firestore
I need to run some simple Pyspark jobs on Big Data that are stored in Google's Firestore.
The dataset contains 42 million documents regarding Instagram posts. I want to do some simple aggregations like summing the number of likes per country (location).

However i am new to Big Data processing and i have no idea on how to import the data to the Dataproc cluster to do the processing.

Should i export all the data into a GCS bucket and then load them to the VMs on the cluster?
Or i should connect the VMs to firebase when i need to do the processing?

Also, since Spark distributes the data into RDDs, is it possible to split (parallelize) the data directly from firebase so that each worker gets a chunk without having to load all 42m documents and then do the split?

The data should be around 15GB so i must consider which is the cheaper option as well.


问:
node.js installed but not showing
I installed node.js onto my macbook air laptop and it says that the installation was successful. However, when I put in the command node -v in the terminal it's not showing up. I'm getting an error message. Does anyone know why? The error message is below:

Abort trap: 6
Home:~ user$ node -v
dyld: lazy symbol binding failed: Symbol not found: ____chkstk_darwin
Referenced from: /usr/local/bin/node (which was built for Mac OS X 10.15)
Expected in: /usr/lib/libSystem.B.dylib

Title: node.js installed but not showing


问:
why git uses 32 bits number for storing time in index? is good idea make a lossy conversion?
For learning purposes, I'm implementing git from scratch.

And in the process I have reached the part of the git index, and this the thing.

Git stores information about the index entry related to timing and others in 32-bit integers, for example each index entry has a ctime field that tracks last time a file was changed.

And here my confusion, I am working with rust and with the libc crate  and the interfaces it provides to obtain this information returns values in 64 bits.

And this raises me a couple  questions

First, is there a reason why the interfaces of libc and git are different? Why libc works with 64-bit registers and git with 32-bits registers? Is it really like that or am I missing something? There is some more fundamental concept that I don't see?

And mainly, How to approach this, how problematic would it be to make a lossy conversion? Is this a bad idea?

I mean the format in the git documentation specifies that these values are stored in 32 bits, therefore I have to work with 32 bit values, so it means that there is no other way out than to do a lossy conversion?


问:
Not able to run selenium test jar in ec2
I am new to selenium and by help of some blogs and videos and i made a java selenium test in eclipse which is running perfectly fine, but my goal is to run the file on an ec2. I exported the jar and tried to run it on a ubuntu VM, but it is not running and giving the error as mentioned below. Any help would be appreciated.

Microsoft Edge WebDriver was started successfully.
Exception in thread "main" org.openqa.selenium.SessionNotCreatedException: Could not start a new session. Response code 500. Message: chrome not reachable
Host info: host: 'ip-192-168-2-75', ip: '192.168.2.75'
Build info: version: '4.7.1', revision: 'c6795baf1a3'
System info: os.name: 'Linux', os.arch: 'amd64', os.version: '5.15.0-1027-aws', java.version: '11.0.17'
Driver info: org.openqa.selenium.edge.EdgeDriver
Command: [null, newSession {capabilities=[Capabilities {browserName: MicrosoftEdge, ms:edgeOptions: {args: [], extensions: []}}], desiredCapabilities=Capabilities {browserName: MicrosoftEdge, ms:edgeOptions: {args: [], extensions: []}}}]
at org.openqa.selenium.remote.ProtocolHandshake.createSession(ProtocolHandshake.java:148)
at org.openqa.selenium.remote.ProtocolHandshake.createSession(ProtocolHandshake.java:106)
at org.openqa.selenium.remote.ProtocolHandshake.createSession(ProtocolHandshake.java:67)
at org.openqa.selenium.remote.HttpCommandExecutor.execute(HttpCommandExecutor.java:156)
at org.openqa.selenium.remote.service.DriverCommandExecutor.invokeExecute(DriverCommandExecutor.java:167)
at org.openqa.selenium.remote.service.DriverCommandExecutor.execute(DriverCommandExecutor.java:142)
at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:551)
at org.openqa.selenium.remote.RemoteWebDriver.startSession(RemoteWebDriver.java:244)
at org.openqa.selenium.remote.RemoteWebDriver.(RemoteWebDriver.java:159)
at org.openqa.selenium.chromium.ChromiumDriver.(ChromiumDriver.java:101)
at org.openqa.selenium.edge.EdgeDriver.(EdgeDriver.java:54)
at org.openqa.selenium.edge.EdgeDriver.(EdgeDriver.java:46)
at org.openqa.selenium.edge.EdgeDriver.(EdgeDriver.java:42)
at ui.SureSMSTest.main(SureSMSTest.java:36)


问:
npm ERR! code ENOENT. Does not create a new package.json or install dependencies
I wanted to start a new package.json with npm init -y from the windows cmd and the console throws an error.

I tried to solve it this way and it didn't work.

Remove the npm cache with npm cache clean --force.

Update to the latest version of npm

Install the latest version of LTS node.

Uninstall and install node and it didn't work.

```<code>C:\Users\ADMIN\Documents\server>npm init -y
npm ERR! code ENOENT
npm ERR! syscall open
npm ERR! path C:\Users\ADMIN\Documents\server\package.json
npm ERR! errno -4058
npm ERR! enoent ENOENT: no such file or directory, open 'C:\Users\ADMIN\Documents\server\package.json'
npm ERR! enoent This is related to npm not being able to find a file.
npm ERR! enoent
npm ERR! A complete log of this run can be found in:
npm ERR!     C:\Users\ADMIN\AppData\Local\npm-cache\_logs\2023-01-12T00_47_42_486Z-debug-0.log
</code>```

The npm cache error log

```<code>> 0 verbose cli C:\Program Files\nodejs\node.exe
> C:\Users\ADMIN\AppData\Roaming\npm\node_modules\npm\bin\npm-cli.js 1
> info using npm@9.2.0 2 info using node@v18.13.0 3 timing
> npm:load:whichnode Completed in 0ms 4 timing config:load:defaults
> Completed in 2ms 5 timing
> config:load:file:C:\Users\ADMIN\AppData\Roaming\npm\node_modules\npm\npmrc
> Completed in 3ms 6 timing config:load:builtin Completed in 3ms 7
> timing config:load:cli Completed in 2ms 8 timing config:load:env
> Completed in 0ms 9 timing config:load:project Completed in 3ms 10
> timing config:load:file:C:\Users\ADMIN\.npmrc Completed in 1ms 11
> timing config:load:user Completed in 1ms 12 timing
> config:load:file:C:\Users\ADMIN\AppData\Roaming\npm\etc\npmrc
> Completed in 0ms 13 timing config:load:global Completed in 1ms 14
> timing config:load:setEnvs Completed in 1ms 15 timing config:load
> Completed in 14ms 16 timing npm:load:configload Completed in 14ms 17
> timing npm:load:mkdirpcache Completed in 0ms 18 timing
> npm:load:mkdirplogs Completed in 0ms 19 verbose title npm doctor 20
> verbose argv "doctor" 21 timing npm:load:setTitle Completed in 2ms 22
> timing config:load:flatten Completed in 3ms 23 timing npm:load:display
> Completed in 4ms 24 verbose logfile logs-max:10
> dir:C:\Users\ADMIN\AppData\Local\npm-cache\_logs\2023-01-12T00_58_05_674Z-
> 25 verbose logfile
> C:\Users\ADMIN\AppData\Local\npm-cache\_logs\2023-01-12T00_58_05_674Z-debug-0.log
> 26 timing npm:load:logFile Completed in 15ms 27 timing npm:load:timers
> Completed in 0ms 28 timing npm:load:configScope Completed in 0ms 29
> timing npm:load Completed in 37ms 30 silly logfile done cleaning log
> files 31 timing config:load:flatten Completed in 1ms 32 info Running
> checkup 33 http fetch GET 200
> https://registry.npmjs.org/-/ping?write=true 453ms (cache miss) 34
> http fetch GET 200 https://registry.npmjs.org/npm 261ms (cache miss)
> 35 timing command:doctor Completed in 4395ms 36 verbose exit 0 37
> timing npm Completed in 4460ms 38 info ok
</code>```

I applied the solutions that I mentioned and none of them solved the error. Does anyone know how I could solve it? Since I have not found any method to solve it

Body:
I wanted to start a new package.json with npm init -y from the windows cmd and the console throws an error.

I tried to solve it this way and it didn't work.

Remove the npm cache with npm cache clean --force.

Update to the latest version of npm

Install the latest version of LTS node.

Uninstall and install node and it didn't work.

C:\Users\ADMIN\Documents\server>npm init -y
npm ERR! code ENOENT
npm ERR! syscall open
npm ERR! path C:\Users\ADMIN\Documents\server\package.json
npm ERR! errno -4058
npm ERR! enoent ENOENT: no such file or directory, open 'C:\Users\ADMIN\Documents\server\package.json'
npm ERR! enoent This is related to npm not being able to find a file.
npm ERR! enoent
npm ERR! A complete log of this run can be found in:
npm ERR!     C:\Users\ADMIN\AppData\Local\npm-cache\_logs\2023-01-12T00_47_42_486Z-debug-0.log

The npm cache error log

> 0 verbose cli C:\Program Files\nodejs\node.exe
> C:\Users\ADMIN\AppData\Roaming\npm\node_modules\npm\bin\npm-cli.js 1
> info using npm@9.2.0 2 info using node@v18.13.0 3 timing
> npm:load:whichnode Completed in 0ms 4 timing config:load:defaults
> Completed in 2ms 5 timing
> config:load:file:C:\Users\ADMIN\AppData\Roaming\npm\node_modules\npm\npmrc
> Completed in 3ms 6 timing config:load:builtin Completed in 3ms 7
> timing config:load:cli Completed in 2ms 8 timing config:load:env
> Completed in 0ms 9 timing config:load:project Completed in 3ms 10
> timing config:load:file:C:\Users\ADMIN\.npmrc Completed in 1ms 11
> timing config:load:user Completed in 1ms 12 timing
> config:load:file:C:\Users\ADMIN\AppData\Roaming\npm\etc\npmrc
> Completed in 0ms 13 timing config:load:global Completed in 1ms 14
> timing config:load:setEnvs Completed in 1ms 15 timing config:load
> Completed in 14ms 16 timing npm:load:configload Completed in 14ms 17
> timing npm:load:mkdirpcache Completed in 0ms 18 timing
> npm:load:mkdirplogs Completed in 0ms 19 verbose title npm doctor 20
> verbose argv "doctor" 21 timing npm:load:setTitle Completed in 2ms 22
> timing config:load:flatten Completed in 3ms 23 timing npm:load:display
> Completed in 4ms 24 verbose logfile logs-max:10
> dir:C:\Users\ADMIN\AppData\Local\npm-cache\_logs\2023-01-12T00_58_05_674Z-
> 25 verbose logfile
> C:\Users\ADMIN\AppData\Local\npm-cache\_logs\2023-01-12T00_58_05_674Z-debug-0.log
> 26 timing npm:load:logFile Completed in 15ms 27 timing npm:load:timers
> Completed in 0ms 28 timing npm:load:configScope Completed in 0ms 29
> timing npm:load Completed in 37ms 30 silly logfile done cleaning log
> files 31 timing config:load:flatten Completed in 1ms 32 info Running
> checkup 33 http fetch GET 200
> https://registry.npmjs.org/-/ping?write=true 453ms (cache miss) 34
> http fetch GET 200 https://registry.npmjs.org/npm 261ms (cache miss)
> 35 timing command:doctor Completed in 4395ms 36 verbose exit 0 37
> timing npm Completed in 4460ms 38 info ok

I applied the solutions that I mentioned and none of them solved the error. Does anyone know how I could solve it? Since I have not found any method to solve it


问:
Cloud Firestore for .net Maui IOS support? facing errors
I can't find any support for fireStore Database on IOS in .net Maui. I tried f-miyu / Plugin.CloudFirestore on .net maui app on IOS using Firebase.Core.App.Configure(); after that if I call CrossCloudFirestore.Current.Instance the app stops and i get an error:

"This functionality is not implemented in the portable version of this
assembly"

I tried the NuGet packages Xamarin.Firebase.iOS.CloudFirestore , Xamarin.Firebase.Firestore , Plugin.Firebase.Tmp nothing is working.