Qual a diferença entre o método construtor e a utilização do setters em Orientação a Objetos em JavaScript

A pergunta pode parecer meio tosca, mas fiquei com dúvidas e gostaria de compreender mais a fundo.

O construtor ele alimenta os objetos criados da classe, correto?

As dúvidas são:

1- Então qual seria a utilidade dele se tem os setters que alimenta também o objeto?

2- Posso trabalhar com uma classe em JS apenas com o construtor sem os getters/setters ou trabalhar sem o construtor ficando com os getters/setters?

3- De algum modo da dúvida 2 isso irá atrapalhar em algo quando for realizar herança?

Qual a diferença do PWA e TWA (Trusted Web Activities)?

Por acaso estava vendo as novidades do Chrome, e vi um post Using Trusted Web Activities, nele diz:

Trusted Web Activities are a new way to integrate your web-app content such as your PWA with your Android app using a protocol based on Custom Tabs.

Nesse artigo cita que o TWA precisa de um PWA, então precisamos cumprir as exigências do PWA para ter um TWA. Mas, ele não menciona qualquer vantagem direta do TWA em relação ao PWA, exceto o possível fato de poder publica-lo na Play Store.

O TWA é apenas um PWA publicado na Google Play? É possível publicar fora da Play Store? Qual é a diferença do TWA e de um PWA, ou melhor, de um Webviewer e um TWA?

Qual o teste RSpec derivado a partir de um cenário e passo cucumber?

Cenário cucumber:

Funcionalidade: listar todos os usuarios do sistema Como Administrador do Sistema eu quero ver uma lista de todos os usuários do sistema  Contexto:     Dado que eu sou administrador do sistema com email "admin@admin.com" senha "admin123"     E que eu esteja na pagina backoffice  Esquema do Cenário: Listar todos os usuários     E que exista um usuário com nome "<username>", curso "<course>", email "<email>", registro "<registration>"     Quando eu clicar no link "Todos os usuários"     Então eu devo ver uma tabela com os dados:         | username     | <username>     |         | course       | <course>       |         | email        | <email>        |         | registration | <registration> |      Exemplos:         | username | course                 | email             | registration |         | João     | Ciência da Computação  | joao@gmail.com    | teste        |         | Genesio  | Engenharia de Software | genesio@gmail.com | 123123123    | 

Passo Cucumber:

Dado("que eu seja admin do sistema com email {string} e senha {string}") do |string, string2|     User.create(username: 'admin', email: string, password: string2,               registration: "15015296", course: "CIC", is_admin: true               )     visit new_user_session_path     fill_in :user_email, with: string     fill_in :user_password, with: string2     click_button "Log in" end  E("que eu esteja na pagina backoffice") do     visit(backoffice_path) end  Então("eu devo ver uma tabela com os dados:") do |table|     table.rows_hash.each do |field, value|         expect(page).to have_content(value)     end end  Então("eu devo estar em uma página com uma lista contendo o usuario       {string}, email {string}, curso {string}, e registro {string}")       do |string1 ,string2, string3, string4|      expect(page).to have_content(string1)      expect(page).to have_content(string2)      expect(page).to have_content(string3)      expect(page).to have_content(string4) end 

Preciso de uma tradução vamos dizer assim pra um teste RSpec, somente uma idéia de como ficaria o RSpec.

Qual o erro do meu código?

Realmente não sei qual o erro do meu código, se alguém souber por favor me ajude!

#include<stdio.h> #include<string.h> #include<stdlib.h>  int main() {     const char *RA = "19431428";     int tamanho = strlen(RA);     int vetor[tamanho];     for (int i = 0; i < tamanho; i++) vetor[i] = RA[i];     int i = 0;         while (i < strlen(RA))         {             printf ("%d\n", vetor[i]);             i++;         } } 

inserir a descrição da imagem aqui

Qual é a diferença entre “merge” e “fill” no Lucid do AdonisJs?

Eu tenho vários anos de experiência com o Laravel e estou dando uma olhada no framework AdonisJs. Ele é bem parecido com o Laravel em vários pontos, porém especificamente estou tendo uma dúvida em relação ao preenchimento de dados de um model Lucid.

Por exemplo, no Laravel eu costumo utilizar o método fill para preencher apenas alguns campos desejados através de um array, para salvar essas informações.

Eu tentei usar o fill no AdonisJS de forma parecida, porém estava aparecendo um erro, como se os outros campos tivessem sido apagados. Quando usei o merge, não tive esse problema, o comportalmente foi parecido com o do fill do Laravel.

Por exemplo:

const usuario = await Usuario.find(1)  usuario.merge({"nome": "Wallace"});  usuario.save(); // Aqui é ok  usuario.fill({"nome" : "Wallace"});  usuario.save(); // Aqui dá erro 

Diante disso, eu pergunto:

  • Qual são as diferenças entre fill e merge no AdonisJS?
  • Quando usar um ou outro?

Qual o risco de um erro em uma página já carregada?

Possuo uma aplicação onde dados grandes em requisições ajax são feitas, isso gera um certo delay ate posicionar os dados na página.

Preciso renderizar uma imagem onde seu path está um array. Ao meu perceber o browser tenta carregar a imagem uma vez mas o array não foi processado ainda, gerando um erro no console. O browser tenta encontrar a imagem de novo e nessa tentativa consegue pois o array já foi processado.

Para um usuário ele não veria problema nenhum, mas no console eu recebo um erro de

Undefined

Com base nisso segue algumas dúvidas:

  • Devemos sempre eliminar os erros por mais que visualmente está tudo “certo“?
  • A melhor forma de resolver a situação seria com um Catch?
  • Existe alguma técnica ou tendencia a fazer um carregamento tardio?