Jump to content

Gabriel Ribeiro da Silva Neto

Pessoal da TecnoSpeed
  • Contagem de Conteúdo

    22
  • Ingressou

  • Última visita

  • Dias Ganhos

    1

Gabriel Ribeiro da Silva Neto ganhou o dia em Dezembro 30 2022

Gabriel Ribeiro da Silva Neto teve o conteúdo mais curtido!

Informações Pessoais

  • Cidade
    Maringá
  • Estado
    Acre (AC)

Clientes & Parceiros

  • Você é um cliente TecnoSpeed?
    Não
  • Você é um parceiro da Casa do Desenvolvedor?
    Não

Visitantes Recentes do Perfil

397 visualizações do perfil

Conquistas de Gabriel Ribeiro da Silva Neto

  • Participativo Raro
  • Ótima Reputação Raro
  • Positividade Raro

Emblemas Recentes

14

Reputação na Comunidade

  1. Boa tarde Dev! Tudo bem? Pude perceber que o primeiro comando já deu um erro, você precisa respeitar os espaços do arquivo. Poderia enviar o arquivo que está utilizando para executar a mudança de senha e exatamente a mesma linha de código que está utilizando no CMD, por gentileza? Assim será mais fácil te ajudar. Qualquer dúvida estamos à disposição. Atenciosamente, Gabriel Ribeiro.
  2. Existem alguns arquivos .conf e .txt que precisam de permissão de administrador para serem editados, ou seja, se você simplesmente dar dois cliques para abrir, você consegue visualizar, porém não consegue editar e salvar. Para conseguir fazer mudanças nesses arquivos, é necessário acessar com permissões de administrador, para isso, precisamos abrir o editor com essas permissões. Após isso você já tem acesso ao editor como administrador, então basta abrir o arquivo, editar e salvar. Caso mesmo com a permissão de administrador você não consiga editar o arquivo, você pode alterar a permissão do arquivo para que ele seja editado por qualquer usuário
  3. Para excluir a instância EC2 da AWS você precisa interrompe-la e encerrar, ela só será excluída de fato, depois de alguns minutos, por questões de segurança. Seguem os passos para que você faça o encerramento para excluir: Após acessar o portal da Amazon EC2 e escolher o servidor correto, você deve abrir a tela com todas as suas instâncias: Depois selecione a instância que você precisa excluir/encerrar E então confirmar o encerramento Após isso, você verá que o status da instância irá mudar para "Desligando" e logo depois para "Encerrado" Agora basta aguardar que ela será excluída depois de alguns minutos.
  4. Em alguns cenários, você pode encontrar um erro como os seguints org.firebirdsql.jdbc.FBSQLExceptionInfo: Client attempted to attach unencrypted but wire encryption is required org.firebirdsql.gds.ng.wire.crypt.FBSQLEncryptException: Client attempted to attach unencrypted but wire encryption is required Isso ocorre devido à ausência de uma criptografia legado do Firebird, que é nativa das versões menores que v2.5. Para corrigir devemos ativar o "Wirecrypt", para isso temos que acessar a pasta de instalação do banco, que geralmente fica no seguinte diretório: > C:\Program Files\Firebird\Firebird_3_0 Devemos abrir o arquivo firebird.conf como administrador. Após isso, procure por "Wirecrypt", possivelmente deve ter uma linha escrita da seguinte maneira: #WireCrypt = Enabled (for client) / Required (for server) Neste caso você deve deixar desta forma: WireCrypt = Enabled Então salve o arquivo e reinicie o banco.
  5. Entendendo o básico Primeiramente precisamos aplicar as variáveis de tempo no select que vamos utilizar, são elas data_inicial -> é referente à data inicial da comparação. data_final -> é referente à data final da comparação. Essas variáveis sempre são chamadas como string (entre apóstrofe) e dentro de colchetes. Iremos utilizar essas duas variáveis dentro do SQL, como no exemplo abaixo feito em MySQL: SELECT label, produção AS VALUE, dia AS bar FROM produção WHERE dia BETWEEN '[[data_inicial]]' AND '[[data_final]]' Utilizaremos um comparador entre datas, que é diferente para cada tipo de banco de dados, para descobrir qual é a função utilizada pelo seu banco, consulte a documentação oficial. Obs: O formato das datas deverá ser sempre yyyy-mm-dd Configurando o filtro Sempre que formos alterar algo no filtro, a API fará uma nova requisição para o PlugBot e então o gráfico será atualizado somente após rodar a query novamente no banco. Os filtros são os seguintes Presente Exibe os dados atuais, de acordo com o dia de hoje, mês atual e ano atual. Ano - Apresenta os dados do ano atual. Mês - Apresenta os dados do mês atual. Dia - Apresenta os dados de hoje. Passado Exibe os dados do passado, como últimos 30 dias, mês e ano. Podendo escolher quantos dias/meses/anos quiser. Dia - Exibe os dados dos últimos dias. Mês - Exibe os dados dos últimos meses. Ano - Exibe os dados dos últimos anos. Período fixo Exibe os dados do período escolhido. Deve ser escolhido primeiro a "data_inicial" e depois a "data_final", nunca o contrário. Utilizando o filtro dentro do APP/DashWeb Para utilizarmos o filtro dentro do APP/Dashweb basta clicar no ícone de "calendário" no canto superior esquerdo: Então selecione o período: Então clique em "Aplicar Filtro e aguarde o carregamento: E pronto, seus gráficos com o filtro aplicado serão atualizados com os novos dados!!
  6. O dump de banco de dados, nada mais é do que uma cópia da estrutura do banco de dados, com ou sem dados. Para fazer o nosso dump, iremos utilizar o HeidiSQL que é um gerenciador de banco de dados gratuito. Para iniciar, você precisa ter feito a conexão com o banco de dados utilizando essa ferramenta, então acesse Ferramentas>Exportar banco de dados como SQL Então teremos algumas opções, na tela à esquerda você escolhe quais bancos e tabelas gostaria de exportar Então à direita, temos algumas opções, como "Editor de tabela em massa" onde você consegue fazer algumas mudanças no banco antes de exportar, como mudar a colação. Na tela de "Pesquisar texto" você consegue fazer alguma busca antes de exportar o banco. Na tela de "Manutenção" você consegue fazer algumas otimizações e alterações no banco também. A principal tela é a de "Exportar SQL" onde você escolhe a forma que será feito o dump. Banco de dados e tabelas você pode escolher "Eliminar" que faz com que o SQL apague algum banco com o mesmo nome e crie novamente (Já quando for restaurar) e "Criar" que basicamente cria a tabela caso não exista nenhuma outra com o mesmo nome. Em "Dados" você deve escolher: Sem dados - Os dados das tabelas não serão exportados. Remover e inserir - Remove todos os dados na nova base e insere os novos (caso exista dados nessa base). Inserir - Somente insere os dados (caso não exista nessa base). Inserir ou Ignorar - Somente insere os dados e ignora os dados que já existem. Substituir dados existentes - Insere os dados que vem da base antiga sobre os que já tem na nova base (caso exista dados nessa base). Então na próxima seleção será o tamanho máximo que o dump deve exportar e algumas opções extras. Então escolhemos o formato do arquivo que será exportado. Em seguida digite o nome do arquivo, diretório e clique em exportar.
  7. PostgreSQL é um banco de dados muito famoso e gratuito, para obter o instalador dele no Windows, é necessário acessar a página oficial do banco. A instalação é bastante simples, são dois passos importantes, instalar o banco e o gerenciador (PGADMIN ou qualquer outro de sua preferência) eles são instalados de fontes diferentes. No caso vamos utilizar o instalador de 64bits para o Postgres: Basta clicar no ícone de download e assim que for concluído execute o arquivo baixado. Então após abrir o arquivo, será exibida a tela de instalação e após avançar você deve escolher o diretório de instalação: Basta clicar em "Next" para avançar após escolher o diretório de "data storage" que é onde os seus dados serão armazenados. Então será exibida a tela com todas as informações do que será feito pelo instalador: Após finalizar será exibida essa tela: Então basta deixar essa caixa desmarcada e clicar em "Finish" Perfeito, agora o banco de dados foi instalado, agora basta fazer a conexão pelo seu SGBD como o pgAdmin por exemplo;
  8. Devemos entender que o SQL sim tem uma forma de ser "traduzido" para MongoDB, o principal comando que utilizamos nos bancos de dados relacionais é o "Select where" onde trazemos uma busca passando parâmetros, no mongo é feito de uma forma um pouco menos simplificada. Geralmente nos bancos relacionais faríamos uma busca do tipo: SELECT nome from tabela_de_usuarios WHERE idade > 3 E transformando para MongoDB ficaria assim: db.getCollection("tabela_de_usuarios").find({idade : { $gt : 3 }, { NOME: 1 } } Onde: db.getCollection.find é o nosso SELECT que apontamos para a tabela "tabela_de_usuarios", a forma que está no exemplo é a sintaxe correta. Os outros comandos de CRUD do MongoDB são: find -> Busca os dados de uma collection insert -> Insere um documento em uma collection update -> Altera os dados de um documento delete -> Deleta os dados de um documento idade : { $gt : 3 } é o nosso "Where idade > 3" No caso o campo "idade" é o campo que estamos comparando para obter o resultado, estamos utilizando o operador de busca $gt que é o equivalente à ">" (Maior que), segue a lista de todos os operadores de comparação do MongoDB $eq Corresponde a valores que são iguais a um valor especificado. $gt Corresponde a valores maiores que um valor especificado. $gte Corresponde a valores maiores ou iguais a um valor especificado. $in Corresponde a qualquer um dos valores especificados em uma matriz. $lt Corresponde a valores que são menores que um valor especificado. $lte Corresponde a valores menores ou iguais a um valor especificado. $ne Corresponde a todos os valores que não são iguais a um valor especificado. $nin Não corresponde a nenhum dos valores especificados em uma matriz. Entre outros operadores, disponíveis na documentação da tecnologia { NOME: 1 } é o nosso operador que indica os campos que você quer trazer no resultado, se você indicar "1" ele trás o campo, se você indicar "0" ele não trás esse campo.
  9. Essa função é utilizada para converter um campo de um tipo de dados para outro, como por exemplo, converter um campo 'number' para 'string' ou vice-versa. Basicamente a sintaxe do campo é CAST(valor AS datatype) Onde "valor" é o campo que você quer converter e "datatype" é o tipo de dado. Vamos ver o exemplo de um campo numerico sendo convertido em CHAR SELECT CAST(12 AS CHAR); Você pode utilizar ao fazer um select com vários campos também, como no exemplo: SELECT id, nome, senha, CAST (departamento AS CHAR) from funcionários Os tipos mais utilizados são: DATE converte o value para o tipo DATE. Format: "YYYY-MM-DD" DATETIME converte o value para DATETIME. Format: "YYYY-MM-DD HH:MM:SS" DECIMAL converte o value para DECIMAL. Format: "N,D" ou exemplo "2.0" TIME converte o value para TIME. Format: "HH:MM:SS" CHAR converte o value para CHAR (Uma string de tamanho fixo) NCHAR converte o value para NCHAR (É como o CHAR porém inclui os caracteres nacionais) SIGNED converte o value para SIGNED (Um SIGNED de um número inteiro) UNSIGNED converte o value para UNSIGNED (Um unsigned de um número inteiro) BINARY converte o value para BINARY (Uma string binária)
  10. Esse problema pode ser comum para quem utiliza o MySQL atualizado e uma aplicação rodando em Node.js, pois acontece devido a ausência de compatibilidade entre essas tecnologias até o momento, mais especificamente, no caching_sha2_password que é um novo formato de autenticação que contém no MySQL mais atual, por hora a dependência que utilizamos não tem compatibilidade com esse método de autenticação. Geralmente o erro apresentado é: ER_NOT_SUPPORTED_AUTH_MODE: Client does not support authentication protocol requested by server; consider upgrading MySQL client A correção é bem simples, porém é importante entender que estamos desativando esse novo método de autenticação, para fazer a conexão com o PlugBot. Para corrigir, basta utilizar o seguinte comando: ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password'; Onde você deve substituir o campo "password" pela senha do usuário, no caso estamos utilizando o usuário "root" e o caminho "localhost", porém também devem ser preenchidos de acordo com a configuração que você utiliza em seu banco. Após isso, deve-se rodar o seguinte comando: flush privileges; Pronto, caso o erro ocorra novamente, você pode tentar o mesmo processo, sem o campo "localhost" do código.
  11. Bom dia, meu consagrado, tudo certo? O problema se dá, pois ela está preenchida por "NULL" e então o seu SGBD ao invés de preencher todos os valores com o padrão, apenas apresenta o erro, tente zerar os dados dessa tabela ou preencher a coluna "profissao" com espaços manualmente, deixando nenhuma linha com "NULL";
  12. Há várias formas de identificar esses registros duplicados, a maneira mais fácil é criar um agrupamento das colunas e criar um contador, para isso, podemos utilizar a seguinte query: SELECT <campo>, count(*) as total FROM <tabela> GROUP BY <campo> Nota: Esse método retorna todos os campos e os que estão duplicados terão o "total" maior que 1. O segundo método trás apenas os resultados que estão duplicados, para isso utilizaremos a primeira query como uma subconsulta, desta forma: SELECT * from ( SELECT <campo>, count(*) as total FROM <tabela> GROUP BY <campo> ) tabela WHERE total > 1 Nota: Veja que antes do WHERE há um "tabela" essa é o alias/apelido que damos à consulta anterior. Onde <campo> é a coluna que você deseja verificar se há registros duplicados, para adicionar mais colunas basta separar por vírgula e ir adicionando. O termo <tabela> é a tabela onde você está fazendo a busca. Lembrando que os campos de ID e outras chaves, devem sempre ser únicos, logo, não podem ser repetidos, para isso é indicado adicionar a condição "auto_increment" ao campo.
  13. O que é uma view? Uma view é uma maneira alternativa de observação de dados de uma ou mais tabelas, que compõem uma base de dados. Geralmente é considerada como uma tabela virtual ou uma consulta armazenada. Como criar uma view? O exemplo que vou utilizar, será em uma base MySQL, cada banco de dados pode ter alguma particularidade, então é necessário que você verifique em sua documentação própria. CREATE VIEW viewTeste AS SELECT t.texto, t.valor, i.label FROM teste AS t INNER JOIN info AS i WHERE i.label is NOT null Basicamente o que precisamos utilizar para criar a view é "CREATE VIEW <nome da view> AS <select que será armazenado>" então rodamos no banco. Quando vamos consultar a view, será da mesma forma que faríamos normalmente com uma tabela, porém vamos chamar a view, como no exemplo que trouxemos antes: SELECT * FROM viewteste Quando utilizamos uma view? Geralmente é recomendável, uma view, implementada encapsulando uma instrução SELECT guarda os dados em uma tabela virtual, armazenando também em cache. Por este motivo, pode ser mais rápido ter uma consulta armazenada em forma de view, em vez de ter que retrabalhar uma instrução. As vantagens de se usar views são: Economizar tempo com retrabalho, você simplesmente armazena o select gigantesto e quando precisar chamar, será mais simples. Velocidade de acesso às informações, como as views armazenam o resultado em cache, terá uma resposta mais rápida do que o select tradicional. Mascarar complexidade do banco de dados, as vezes você precisa compartilhar o SQL com terceiros ou deixar exposto, você pode modificar a estrutura sem que atrapalhe o uso do usuário. Simplifica o gerenciamento de permissão de usuários, você pode simplesmente liberar acesso aos usuários para que visualizem views ao invés de todas as tabelas do banco.
  14. ER_NOT_SUPPORTED_AUTH_MODE: Client does not support authentication protocol requested by server; consider upgrading MySQL client Esse problema pode ser comum para quem utiliza o MySQL atualizado e uma aplicação rodando em Node.js, pois acontece devido a ausência de compatibilidade entre essas tecnologias até o momento, mais especificamente, no caching_sha2_password que é um novo formato de autenticação que contém no MySQL mais atual. A correção é bem simples, porém é importante entender que estamos desativando esse novo método de autenticação, para fazer a conexão com a aplicação. Para corrigir, basta utilizar o seguinte comando: ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password'; Onde você deve substituir o campo "password" pela senha do usuário, no caso estamos utilizando o usuário "root" e o caminho "localhost", porém também devem ser preenchidos de acordo com a configuração que você utiliza em seu banco. Após isso, deve-se rodar o seguinte comando: flush privileges; Pronto, caso o erro ocorra novamente, você pode tentar o mesmo processo, sem o campo "localhost" do código.
  15. Olá! Tudo bem? Este processo é bem simples, para iniciar você precisa abrir o diretório até a pasta que você quer modificar, eu vou utilizar como exemplo, a pasta do serviço Plugbot, que é um serviço excepcional, para combinar seu banco de dados em dashboards mobile. Então clicamos com o botão direito na pasta que desejamos modificar e então em propriedades, depois segurança. Após isso então, vamos na aba de "Segurança" e clicamos em editar, depois adicionar, ao abrir essa opção, vai aparecer uma tela solicitando "os nomes de objeto a serem selecionados" no caso é o grupo de usuário que você pretende liberar a pasta, pode ser "Administratores", "usuário padrão, "trusted installer", etc.. No exemplo, vou utilizar o "Todos" ou "Everyone" para algumas versões do Windows, veja no gif abaixo: OBS: O grupo "Todos" deixa a pasta publica, ou seja, qualquer usuário terá acesso à ela. Caso a pasta que você precisa alterar as permissões não deixe você clicar no botão "editar", você deve ir para o final do post em "Permissões em pastas seguras" e seguir os passos que estão lá, antes de continuar. Após adicionar o grupo na pasta, vamos dar acesso total a ele, basta procurar pelo nome e clicar em "Controle total" e "Modificar". Após aplicar e clicar em OK, você pode fechar essa aba de propriedades, então a sua pasta estará com as novas permissões. Permissão em pastas seguras Há um cenário em que a pasta tem uma camada de permissões a mais, em que é necessário alterar o proprietário da pasta. Nesse caso, dentro da tela de "Propriedades>segurança" você clica em "Avançadas", então clicamos em "Alterar" e escolhemos o grupo de proprietários de preferência, eu vou utilizar novamente o "Todos". OBS: Não esqueça de habilitar a opção de "Substituir proprietário em subcontêineres e objetos" o qual vai permitir que todos os arquivos e pastas dentro desse diretório terão a mesma permissão. Qualquer dúvida comente aqui em baixo. Não esqueça de deixar o seu feedback sobre o conteúdo também.
×
×
  • Create New...