Resolvi compartilhar esse video, porque isso foi a alguns anos atrás, e pelo visto pouco foi feito para evitar essa previsão... será que na próxima estaremos preparados?
quinta-feira, 19 de março de 2020
Bill Gates: A próxima epidemia? Não estamos preparados
Um nerd do interior, cristão, apreciador de boas cervejas, cultura asiática, gaúcho, gremista, curto finanças, investimentos, tecnologia, fantasia, mistérios etc.
quarta-feira, 11 de março de 2020
Bloquear/Desativar Botão de Voltar Navegador (Chrome, Firefox, Edge)
Olá!
Segunda dica do dia, javascript agora.
Infelizmente, em algumas ocasiões em que você envia um formulário de dados para o servidor, faz o cadastro deles no banco de dados e tal, o usuário resolve de clicar no botão voltar, e chama novamente a função que insere os dados, e duplica o registro... ou execute alguma outra ação duplamente. Enfim, isso é uma ação que pode gerar alguns incômodos.
Estava quebrando a cabeça pensando em como bloquear isso ou de alguma forma identificar quando o usuário faz essa ação e não inserir os dados novamente... mas no fim resolvi ir pro Google e procurar se alguém já desenvolveu algo parecido, e depois de uns 30 testes sem sucesso, especialmente no Chrome, encontrei a solução pronta, simples, funcional, uma maravilha!
Não podia deixar de compartilhar ela aqui com vocês!
O autor original é Azrulmukmin Azmi, e essa solução eu vi em Disable back button on browser , muito obrigado!
Segunda dica do dia, javascript agora.
Infelizmente, em algumas ocasiões em que você envia um formulário de dados para o servidor, faz o cadastro deles no banco de dados e tal, o usuário resolve de clicar no botão voltar, e chama novamente a função que insere os dados, e duplica o registro... ou execute alguma outra ação duplamente. Enfim, isso é uma ação que pode gerar alguns incômodos.
Estava quebrando a cabeça pensando em como bloquear isso ou de alguma forma identificar quando o usuário faz essa ação e não inserir os dados novamente... mas no fim resolvi ir pro Google e procurar se alguém já desenvolveu algo parecido, e depois de uns 30 testes sem sucesso, especialmente no Chrome, encontrei a solução pronta, simples, funcional, uma maravilha!
Não podia deixar de compartilhar ela aqui com vocês!
O autor original é Azrulmukmin Azmi, e essa solução eu vi em Disable back button on browser , muito obrigado!
Marcadores:
JavaScript
Um nerd do interior, cristão, apreciador de boas cervejas, cultura asiática, gaúcho, gremista, curto finanças, investimentos, tecnologia, fantasia, mistérios etc.
Solução Socket Error #10054 Connection reset by peer
Em 2017 eu já sofri um pouco com o SIOPE, confiram o post da época: SIOPE - Instalação e Restauração Cópia de Segurança.
Ano passado tivemos diversas mudanças na rede da prefeitura, e foi reinstalado um PFSENSE para autenticação das conexões com Internet e balanceamento de carga, e acredito que essa seja a causa dos problemas de atualização dos dados do SIOPE (Arquivo -> Atualizar dados -> Dados do SIOPE).
Um dos primeiros erros que acontece é logo na instalação, se o usuário não for administrador local da máquina, vai dar os seguintes erros:
Ou este ainda: File access denied.
Com isso você já sabe, desinstala e instala em uma pasta que o usuário tenha acesso, ou dê permissão de administrador local para o usuário. Aqui eu optei por instalar o sistema diretamente no C da máquina, e não na pasta de Arquivos de Programas.
Também recomendo que execute o instalador como Administrador, botão direito do mouse e Executar como administrador.
Feito isso passamos pelos problemas antigos e chegamos nos novos, com o PFSENSE aqui na rede, o sistema não transmite nem atualiza os dados, dá o seguinte erro: "Conexão perdida com servidor, verifique sua conexão com a internet. Socket Error # 10054 Connection reset by peer".
Depois de algumas horas de testes e investigação, eis que surge a solução! Já tivemos problemas com FTP e PFSENSE no passado, a solução na época foi a instalação de um pacote, FTP Client Proxy, fiz isso e ainda não funcionou... pesquisando mais um pouco, encontrei essa opção desmarcada:
Marcando essa opção, resolveu o problema. Então são 2 coisas, primeiro instale esse pacote:
Instalado o pacote, acesse o menu Services -> FTP Client Proxy, e ative ele, na interface LAN.
Aquela opção marcada (Early Firewall Rule) não é necessário marcar, aqui eu tinha marcado por causa de um comentário lá no outro post, mas sem marcar testei e funciona também.
Uma outra alteração que fiz, que não deu certo, mas pode ser que influenciou em algo, foi o seguinte comando: service nginx oneupgrade Tinha visto isso aqui, mas não resolveu nada.
Isso aí pessoal, com estes ajustes tudo funcionou!
Ano passado tivemos diversas mudanças na rede da prefeitura, e foi reinstalado um PFSENSE para autenticação das conexões com Internet e balanceamento de carga, e acredito que essa seja a causa dos problemas de atualização dos dados do SIOPE (Arquivo -> Atualizar dados -> Dados do SIOPE).
Novos erros do SIOPE
Um dos primeiros erros que acontece é logo na instalação, se o usuário não for administrador local da máquina, vai dar os seguintes erros:
- Arquivo C:\Program Files (x86)\SIOPE\... é inválido ou está corrompido.
Ou este ainda: File access denied.
Com isso você já sabe, desinstala e instala em uma pasta que o usuário tenha acesso, ou dê permissão de administrador local para o usuário. Aqui eu optei por instalar o sistema diretamente no C da máquina, e não na pasta de Arquivos de Programas.
Também recomendo que execute o instalador como Administrador, botão direito do mouse e Executar como administrador.
Feito isso passamos pelos problemas antigos e chegamos nos novos, com o PFSENSE aqui na rede, o sistema não transmite nem atualiza os dados, dá o seguinte erro: "Conexão perdida com servidor, verifique sua conexão com a internet. Socket Error # 10054 Connection reset by peer".
SOLUÇÃO do erro #10054 Connection reset by peer
Depois de algumas horas de testes e investigação, eis que surge a solução! Já tivemos problemas com FTP e PFSENSE no passado, a solução na época foi a instalação de um pacote, FTP Client Proxy, fiz isso e ainda não funcionou... pesquisando mais um pouco, encontrei essa opção desmarcada:
Automatic create outbound NAT rules that direct traffic back out to the same subnet it originated from. |
Pode pesquisar por ftp, então clique em install, no FTP_Client_Proxy |
Aguarde concluir a instalação! |
Aqui é igual da outra vez, só marcar e ativar na LAN. |
Uma outra alteração que fiz, que não deu certo, mas pode ser que influenciou em algo, foi o seguinte comando: service nginx oneupgrade Tinha visto isso aqui, mas não resolveu nada.
Isso aí pessoal, com estes ajustes tudo funcionou!
Um nerd do interior, cristão, apreciador de boas cervejas, cultura asiática, gaúcho, gremista, curto finanças, investimentos, tecnologia, fantasia, mistérios etc.
quinta-feira, 5 de março de 2020
Migrar CDS/ISIS (Winisis INBIB) para BibLivre formato MARC
Na Biblioteca Pública da minha cidade ainda utilizavam um sistema muito antigo chamado Zeus, que a algum tempo começou a dar problema. Este sistema trabalha com um banco de dados chamado CDS/ISIS, que pode ser acessado com programa Winisis.
Enfim, depois de muito procurarmos um software para substituir, resolvemos adotar o BibLivre5, mas a migração dos dados mostrou-se um problema, que solucionamos na base da pesquisa em fóruns, tentativas e erros, até conseguir.
Observação: Provavelmente essa não seja a melhor solução, mas funcionou pra nós. Tive que corrigir acentos manualmente, na base do pesquisar e substituir, porque não consegui achar um enconding que funcionasse todos acentos. Eu acho que é um problema com a ISO, porque se exportar o XML os acentos estão corretos, talvez trabalhando com o XML seja uma alternativa mais fácil de migrar, mas enfim, segue o que fizemos aqui.
O resultado dessa conversão é este arquivo .MRC, que ao clicar nele com botão direito e selecionar Preview MARC File, vai aparecer o seguinte:
Quando terminar de substituir os caracteres acentuados, você vai clicar em File -> Save As (Salvar Como) e vai selecionar o tipo Marc File, porque por padrão ele iria mudar o tipo para .MRK, mas esse tipo não importa no BibLivre, então selecione o tipo certo, .MRC ok?
O resultado final você salva e importa no BibLivre, menu Catalogação -> Importação...
Resultado na importação:
Para importar tudo, utilize o botão bem no final da página, Importar Todas as páginas.
Dentro do Biblivre, depois de importar, os registros ficam em Catalogação Bibliográfica, mas dentro da base de dados "Trabalho", pra ver os livros importados você troca, sai da principal e vai pra essa de trabalho, depois clica em Listar Todos.
Pra mover estes livros é o seguinte, selecionar e mover:
Não sei se tem como fazer tudo de uma vez só, seria interessante.
Segunda Solução (Por Ronaldo)
Uma outra forma de fazer a mesma coisa é mudando a extensão do arquivo .ISO para .TXT, e fazer as substituições diretamente no arquivo com editor de textos (notepad), depois muda extensão de volta para .ISO usa o MarcEditor para converter para o formato MARC, novamente marcando aquela primeira opção da aba avançada, para adicionar indicadores. Meu colega que fez testes dessa forma e o resultado foi praticamente o mesmo, só as substituições eram diferentes, não era entre chaves {}... essa segunda forma foi a que acabamos utilizando porque ficou pronta primeiro, só porque eu não me liguei no detalhe da paginação no Marc Preview... :)
Buenas pessoal, por hoje é só! Se alguém estiver precisando desse serviço, pode entrar em contato comigo que eu posso dar uma ajuda.
Até o futuro!
Enfim, depois de muito procurarmos um software para substituir, resolvemos adotar o BibLivre5, mas a migração dos dados mostrou-se um problema, que solucionamos na base da pesquisa em fóruns, tentativas e erros, até conseguir.
Observação: Provavelmente essa não seja a melhor solução, mas funcionou pra nós. Tive que corrigir acentos manualmente, na base do pesquisar e substituir, porque não consegui achar um enconding que funcionasse todos acentos. Eu acho que é um problema com a ISO, porque se exportar o XML os acentos estão corretos, talvez trabalhando com o XML seja uma alternativa mais fácil de migrar, mas enfim, segue o que fizemos aqui.
Pra começar exportei no formato ISO.
-
Exportando os dados do CDS/ISIS, Menu Base de dados → Exportar
- Defina o nome do arquivo e local que vai salvar, e DETALHE, no caso que trabalhei tinha Separador de subcampos (^) acento circunflexo.
Ao tentar importar
esse arquivo ISO no BibLivre5 vem os registros todos vazios, então
pesquisei alguma forma de corrigir essa ISO, e encontrei o MarcEdit,
software livre que faz a conversão para o formato MARC, disponível
em https://marcedit.reeset.net/downloads
Nesse programa vai
em:
-
Plugins → CDS/ISIS → MARC
Em seguida:
-
Seleciona a ISO e define o local que vai salvar.
-
Clica em Advanced Translation
-
Seleciona a opção Add Indicators (a Correct LDRs eu marquei também mas acho que não precisa, fiz uns testes depois e não vi diferença nenhuma).
O resultado dessa conversão é este arquivo .MRC, que ao clicar nele com botão direito e selecionar Preview MARC File, vai aparecer o seguinte:
Os acentos todos
errados, mas existe um padrão aqui, {88} = ê; {iexcl} = ã, então basicamente você precisa fazer as substituições, olha como era pra ser, no caso da palavra Pública, o 'ú' tem {Dstrok}, pega e substitui todos "{Dstrok}" por "ú", beleza? É uma solução.
Se tentar importar
este arquivo no BibLivre5, o resultado é o seguinte:
Acentos continuam todos
errados. Formato MARC não me parece muito certo também... embora o BibLivre até consegue ler os dados.
Para corrigir os acentos errados, problema de codificação dos caracteres,
eu comecei a substituir usando o MarcEdit mesmo, clica com botão direito do mouse no arquivo e depois clica em Preview MARC
File, igual antes.
Nessa janela você
utiliza o CTRL+F pra pesquisar por ‘{‘, assim vai encontrar os
termos que tem problemas nos acentos, e pode usar o CTRL+R para
Substituir todas as ocorrências pelo caractere correto. Vai chegar um momento em que você não vai mais encontrar ‘{‘ no arquivo, pode ser que esteja pronto, mas pode ser que não, pra confirmar, utilize o botão Find All.
![]() |
Achei que tinha terminado :( |
Eu
descobri mais tarde que a busca se limitava nos registros exibidos em
tela, apesar de a substituição fazer em todo o arquivo. Então, se
você olhar com atenção, tem bem embaixo um campo que diz o número
de registro por página… pode deixar isso assim mesmo, usando o
Find All você vai pra página certa.
![]() |
Ainda tinha serviço a ser feito... |
O resultado final você salva e importa no BibLivre, menu Catalogação -> Importação...
Resultado na importação:
Para importar tudo, utilize o botão bem no final da página, Importar Todas as páginas.
Dentro do Biblivre, depois de importar, os registros ficam em Catalogação Bibliográfica, mas dentro da base de dados "Trabalho", pra ver os livros importados você troca, sai da principal e vai pra essa de trabalho, depois clica em Listar Todos.
Pra mover estes livros é o seguinte, selecionar e mover:
Não sei se tem como fazer tudo de uma vez só, seria interessante.
Segunda Solução (Por Ronaldo)
Uma outra forma de fazer a mesma coisa é mudando a extensão do arquivo .ISO para .TXT, e fazer as substituições diretamente no arquivo com editor de textos (notepad), depois muda extensão de volta para .ISO usa o MarcEditor para converter para o formato MARC, novamente marcando aquela primeira opção da aba avançada, para adicionar indicadores. Meu colega que fez testes dessa forma e o resultado foi praticamente o mesmo, só as substituições eram diferentes, não era entre chaves {}... essa segunda forma foi a que acabamos utilizando porque ficou pronta primeiro, só porque eu não me liguei no detalhe da paginação no Marc Preview... :)
Buenas pessoal, por hoje é só! Se alguém estiver precisando desse serviço, pode entrar em contato comigo que eu posso dar uma ajuda.
Até o futuro!
Marcadores:
Banco de Dados,
Biblioteca,
BibLivre5,
CDS/ISIS,
MARC,
Migração,
Winisis,
Zeus
Um nerd do interior, cristão, apreciador de boas cervejas, cultura asiática, gaúcho, gremista, curto finanças, investimentos, tecnologia, fantasia, mistérios etc.
Assinar:
Postagens (Atom)