Delphi Lazarus MNote2 Mysql pacotes Programação Yocto Project
Exemplo de Pacote debian – Parte 1

O objetivo deste artigo é demonstrar o uso prático de pacotes do linux.

Escrevi alguns artigos, sobre o desenvolvimento de pacotes.

    Inclusive já desenvolvi o MNOTE2, que é um bloco de notas simplificado. Sendo que este projeto, o MNote2, já possui um pacote em seu código.

    O MNote 2 pode ser visto no meu git:

    https://github.com/marcelomaurin/MNote2

    Neste artigo, e nos demais, irei continuar o trabalho apresentado no MNote2, gerando um pacote para um projeto em Lazarus, este projeto consiste em um sistema Cliente/Server, que consome um banco de dados Mysql.

    Este artigo tem relação tambem sobre outro conjunto de artigos:

      A instalação deste tipo de aplicação demanda certo trabalho, que irei abordar durante o ciclo de posts, aqui apresentados.

      Ao fim dos artigoa, pretendo se houver tempo, desenvolver uma imagem iso, usando yocto project, consumindo este pacote. E por fim criando um instalador completo com uma imagem de CD para distribuição. ankara escort çankaya escort ankara escort çankaya escort escort ankara çankaya escort escort bayan çankaya istanbul rus escort eryaman escort escort bayan ankara ankara escort kızılay escort istanbul escort ankara escort ankara rus escort escort çankaya ankara escort bayan istanbul rus Escort atasehir Escort beylikduzu Escort Ankara Escort malatya Escort kuşadası Escort gaziantep Escort izmir Escort

      Para apresentar o trabalho completo, estarei incluindo tudo no git:

      GIT do Exemplo

      https://github.com/marcelomaurin/cliPessoa

      Este é um conjunto de posts, que irei apresentar.

      Serão vários, e por um período longo. Espero que gostem.

      Mysql PHP Programação Python
      Mysql com C/Lazarus/Python/PHP/R – Parte 4

      Neste penultimo artigo, mostrarei como ler JSON com mysql.

      Para não me repetir, pois já apresentei isso anteriormente, no artigo abaixo:

      http://maurinsoft.com.br/index.php/2019/03/09/usar-o-mysql-com-python/
      Usando mysql diretamente com python.

      Resolvi fazer diferente.

      No artigo de PHP, mostrei um web service, que consumi com AngularJS/BootStrap:

      http://maurinsoft.com.br/index.php/2022/02/04/mysql-com-c-lazarus-python-php-r-parte-3/

      Agora neste artigo, vou consumir tambem o web service.

      GIT do Projeto

      https://github.com/marcelomaurin/PythonJS

      Exemplo do Código

      Client WebService

      Neste exemplo, consumimos o web service, onde recebemos o JSON.

      import requests
      import codecs
      import json
      
      api_url = "http://maurinsoft.com.br/exemplos/phpmysql/ws/Pessoa.php"
      response = requests.get(api_url)
      response.headers['content-type']
      #response.encoding
      #response.text
      #print(response.text)
      #response.text.encode('utf-8-sig','ignore')
      #print(response);
      info = ""
      if(response.text!={}):
          dados = codecs.decode(response.text.encode(),'utf-8-sig')
          js = json.loads(dados)
          print(js)
          #print(js.count())
      

      Usando PANDAS

      Neste segundo exemplo, podemos verificar uma ligeira diferença, pois estamos convertendo os dados para Pandas. ankara escort çankaya escort ankara escort çankaya escort escort ankara çankaya escort escort bayan çankaya istanbul rus escort eryaman escort escort bayan ankara ankara escort kızılay escort istanbul escort ankara escort ankara rus escort escort çankaya ankara escort bayan istanbul rus Escort atasehir Escort beylikduzu Escort Ankara Escort malatya Escort kuşadası Escort gaziantep Escort izmir Escort

      from urllib.request import urlopen
      import json
      import pandas as pd
      
      response = urlopen("http://maurinsoft.com.br/exemplos/phpmysql/ws/Pessoa.php")
      json_data = response.read().decode('utf-8-sig', 'replace')
      
      d = json.loads(json_data)
      df = pd.json_normalize(d[0])
      
      print(df)

      Espero ter auxiliado os amigos, neste interessante artigo.

      Artigos relacionados

        Blog C/C++ Dicas PHP Python Sem categoria
        Validação de JSON ONLINE

        Uma boa dica para quem esta montando seus JSONS, é que existem alguns sites que validam seu JSON.

        Um bom exemplo disso é o site:

        https://jsonformatter.curiousconcept.com/#

        Ele permite validar erros de JSON. ankara escort çankaya escort ankara escort çankaya escort escort ankara çankaya escort escort bayan çankaya istanbul rus escort eryaman escort escort bayan ankara ankara escort kızılay escort istanbul escort ankara escort ankara rus escort escort çankaya ankara escort bayan istanbul rus Escort atasehir Escort beylikduzu Escort Ankara Escort malatya Escort kuşadası Escort gaziantep Escort izmir Escort

        Blog Dicas IA Programação Python
        Incluir python no wordpress

        Muitas vezes ao começarmos a apresentar um conceito em uma linguagens, temos a necessidade de apresentar uma interface, que permita a interação do usuário come esta linguagem.

        Para faze-lo com python, sugiro o

        onlinegdb.com

        Este site permite interagir de forma fácil e interativa, não somente com python mas com C, C# entre outras linguagens.

        <iframe height="400px" width="100%" src="https://replit.com/@USERNAME/REPLNAME?<script src="//onlinegdb.com/embed/js/nVoXG1sFy?theme=dark"></script>

        Apresentação do Exemplo:

        Python
        Python – List Comprehensions

        Otimiza código para listas.

        Exemplo de Caso:

        Exemplo1

        Código tradicional

        Código simplificado

        Exemplo2

        Código tradicional

        lista = []
        for numero in range(1,30):
           if numero % 4 = 0:
              lista.append(numero)
        print(lista)

        Código simplificado

        multiplo4 = [numero for numero in range(1,30) if numero % 4 == 0]
        print(multiplo4

        CUDA IA Sem categoria
        Criando CUDA Hello World

        O objetivo deste artigo, é iniciar o programador, no desenvolvimento de aplicações usando GPU da NVIDIA.

        No artigo anterior, eu ensinei a instalar o pacote cuda.

        http://maurinsoft.com.br/index.php/2021/08/27/install-cuda-toolkit-em-xubuntu-18-04/

        Agora iremos desenvolver o nosso famoso hello world.

        Primeiramente, precisamos instalar um outro pacote adicional:

        apt install nvidia-cuda-toolkit

        Este pacote instala o compilador do cuda “nvcc”, que gera o binário para o GPU.

        Criando o Hello World

        Neste exemplo não faremos muita coisa, a não ser chamar nossa primeira rotina que irá processar no GPU.

        GIT

        O projeto esta no GIT e pode ser baixado aqui:

        https://github.com/marcelomaurin/CUDA_HELLO

        Baixando o Projeto

        Para baixar o projeto digite:

        git clone https://github.com/marcelomaurin/CUDA_HELLO.git

        Compilando o projeto

        Para compilar o projeto digite o seguinte comando:

        make

        Segue o print screen da tela

        Compilação do projeto

        Agora iremos rodar o projeto.

        Rodando o projeto

        Analisando o código

        Agora vamos dar uma olhada no fonte:

        #include <stdio.h>
        #include "cuda_runtime.h"
        
        //Kernel
        __global__
        void hello_world(void){
        	printf("hello\n");
        }
        
        
        int main(){
        	printf("Chamando hello!\n");
        	hello_world << <3, 10>> >();
        	cudaDeviceSynchronize();
        	return 0;
        }

        Este pequeno código, chama o hello_world, iniciando 30 threads, onde chama 3 blocos (SMs), com 10 threads cada.

        O comando cudaDeviceSynchronize, realiza a sincronização entre o kernel do linux e as threads do cuda.

        Lembrando que o valor máximo dado por thread é 1024 por bloco SM.

        Referências

        https://cuda-tutorial.readthedocs.io/en/latest/tutorials/tutorial01/

        Documentação NVIDIA da API runtime

        https://docs.nvidia.com/cuda/cuda-runtime-api/modules.html#modules

        POSTGRES
        Instalar PostgreSQL no Linux

        O Procedimento de instalação do postgresql é muito simples:

        apt install postgresql

        apt install postgresql-contrib

        Vídeo apresentando a instalação do PostgreSQL no linux

        Acessando o banco de dados

        Voce instalou o banco, agora iremos acessa-lo.

        O processo de instalação criou o usuário padrão postgres, iremos utiliza-lo.

        su -i -u postgres

        Agora iremos chamar o psql.

        psql

        Para sair \q do postgres.

        Criando contas de usuário e Banco de dados

        Para criar um usuário no banco, deve-se primeiramente entrar com o usuário postgres.

        su -i -u postgres

        Em seguida devemos criar um novo usuário.

        createuser –interactive

        Voce será questionado, ao nome do usuário.

        Criando um banco de dados

        Ainda com usuário postgres, faça:

        createdb <nome do banco>

        Conectando com outro usuário

        psql -d postgres

        Instalando pacote de desenvolvimento

        Entre com o super usuário, e instale o seguinte pacote:

        apt install libpq-dev

        O include ficará em /usr/include/postgresql/libpq

        Referências:

        https://www.digitalocean.com/community/tutorials/how-to-install-postgresql-on-ubuntu-20-04-quickstart-pt

        https://qastack.com.br/programming/3116015/how-to-install-postgresqls-pg-gem-on-ubuntu

        Veja tambem

          cmusphinx IA Programação srvOuve
          Sphinx reconhecimento de audio gravado

          Para este experimento iremos utilizar o seguinte texto:

          https://www.nasa.gov/mp3/586447main_JFKwechoosemoonspeech.mp3

          Trata-se do famoso discurso de J.F. Kenedy, sobre a necessidade de ir a lua.

          A transcrição do audio, pode ser vista neste link.

          JFK RICE MOON SPEECH (nasa.gov)

          Preparação do Arquivo

          Primeiramente precisamos converter o texto em wav.

          ffmpeg -i 586447main_JFKwechoosemoonspeech.mp3 -ar 16000 -ac -1 jfk.wav

          o ffmpeg, faz a conversão do texto no formato desejado para analise. O arquivo é preparado para uma taxa de amostragem de 16k.

          Lendo o arquivo

          pocketsphinx_continuous -infile jfk.wav > jfk.txt

          Segue o que ele ouviu

          i got an r n n n
          not because they are easy one because they are hot
          the car and gold
          wilson to organize then it then asked
          our energy density else
          we got it at our ideas and won that we’re willing to exactly
          while we are unwilling to postpone
          and one nintendo wii in and then look

          Podemos perceber que neste primeiro processo ele ouviu muita coisa errada, porem algumas palavras de cara deram certo. “not because they are easy”. Porem a qualidade do audio comprometeu em muito a leitura.

          O parametro -infile, permite ler o arquivo origem, porem o mesmo precisa ser previamente preparado para leitura deste.

          Pudemos verificar que a qualidade do audio foi importante para refletir a acuracia do audio, iremos pegar algo mais simples agora.

          Segundo exemplo

          Neste segundo exemplo extraímos o audio do seguinte link:

          https://freesound.org/people/tim.kahn/sounds/82986/

          Neste link temos uma contagem regressiva, bem pronunciada de uma voz feminina.

          Iremos baixar o wav e passar um filtro conforme a sintaxe abaixo:

          ffmpeg -i 82986__tim-kahn__countdown.wav -ar 16000 -ac 1 countdown.wav

          Agora iremos processar o arquivo, jogando o resultado no arquivo countdown.txt

          pocketsphinx_continuous -infile 82986__tim-kahn__countdown.wav > countdown.txt

          Temos como conteudo, o seguinte texto:

          ten
          nine
          eight seven
          six five four three two
          wind
          zero

          Podemos perceber que de 10 itens falados, apenas o one, não foi ouvido corretamente.

          Referencias:

          https://freesound.org/browse/tags/english/

          Blog cmusphinx IA Reconhecimento de Voz srvOuve
          CMU Sphinx

          Temos visto uma crescente de IoT desenvolvidos especificamente para reconhecer comandos de seu dono, tais dispositivos, como Alexa ou o Google Home, tem se tornado, bem popular.

          Iremos neste artigo, aprender a criar nosso próprio google home.

          O que é o CMU Sphinx

          CMU Sphinx é uma api de reconhecimento de voz. Ela é bastante consagrada, possuindo muitos projetos atrelados a ela.

          Trato a biblioteca com bastante foco para desenvolvimento IoT, no meu livro que pode ser baixado livremente.

          A grande vantagem desta api, é que ela não necessita de conexão externa ou acesso a internet.

          Uso do CMU Sphinx

          Utilizaremos o CMU Sphinx como base do nosso projeto.

          GIT do Projeto

          cmusphinx · GitHub

          Site do Projeto

          CMUSphinx Documentation – CMUSphinx Open Source Speech Recognition

          Divisão por Projetos

          O CMU Sphinx, possui diversos softwares ou pacotes separados.

          Irei abordar alguns deles, que serão algo deste artigo.

          • sphixbase – Biblioteca base
          • pocketsphinx – Conjunto de fontes e dicionário para reconhecimento de vóz usado no sphinxbase.
          • sphinxtrain – Ferramenta de Traino de modelos acústicos
          • Modelo em portguês

          Instalação do Sphinx

          Pré requisitos de instalação

          Para atender a instalação será necessário as seguintes bibliotecas:

          apt install bison

          apt install libasound2-dev

          apt install swig

          apt install python

          Pré requisitos de instalação

          Instalação do Sphinx pelo gerenciador de pacotes

          A instalação do sphinx pelo gerenciador de pacote, fica bem mais fácil, porem pode ser necessário, atualizar manualmente a versão, pois ninguem garante que o repositório estará atualizado com a ultima versão.

          apt install shinxbase*

          apt install pocketsphinx*

          instalação através do gerenciador de pacotes

          Baixa manual

          Nesta modalidade iremos baixar e instalar o sphinx manualmente em nosso linux.

          Primeiramente iremos baixar o projeto no git

          git clone https://github.com/cmusphinx/sphinxbase.git

          Baixando o projeto do repositório

          digite agora o autogen para gerar os arquivos de configuração.

          ./autogen.sh

          execução do autogen.sh

          Agora, rode o /configure, conforme a linha a seguir:

          ./configure –enable-fixed

          Em seguida compile o projeto:

          make clean all

          make

          make install

          Ao fim do processo, voce terá instalado a base.

          Instalando o Pocket Sphinx

          Bom fizemos a instalação do Sphinxbase, mas iremos agora, adicionar o pacote, necessário para desenvolvimento desktop.

          A instalação tradicional já foi passada na instalação do sphinxbase, por isso iremos omitir.

          Iremos agora orientar na compilação dos fontes.

          Baixe os fontes do repositório:

          git clone https://github.com/cmusphinx/pocketsphinx.git

          Em seguida entre na pasta e realize os seguintes comandos:

          ./autogen.sh

          ./configure

          make check

          make install

          make installcheck

          ldconfig

          Ao fim do projeto, se der certo, irá aparecer o seguinte binário.

          > pocketsphinx_continuous

          Ao tentar rodar, ele irá pedir parametros, vamos testar agora com parametros adicionais.

          pocketsphinx_continuous -adcdev plughw:1,0 -kws_threshold 1e-20 -inmic yes

          Neste modo ele irá ouvir comandos em inglês, fale um simples hello, que voce irá verificar que o mesmo funciona.

          Teste de hello

          Bom, finalizamos este primeiro artigo, no próximo, iremos criar uma aplicação que ouve as pessoas. Sendo nosso hello world em C.

          Espero que tenham gostado.

          Reconhecimento de voz com sphinx

          Blog
          Fé na justiça de Deus

          Quem me conhece, sabe da minha luta pelas minhas filhas.

          A 12 anos atraz, vi que a minha ex mulher não tinha condições de cuidar das minhas filhas.

          Para tentar resolver isso entrei na justiça. Após quase 5 anos de luta na justiça, recebi da Justiça a negativa.

          Mesmo apresentando todos os argumentos e provas inequivocas.

          Após mais 2 anos de vencido o processo, uma das minhas filhas, comecou a apresentar comportamento que condizia com o abandono, e negligência que reclamava. Ela se cortava.

          E eu ficava desesperado, sem conseguir ajuda-la. Mais uma vez eu entrei na justiça, para tentar na justiça dos homens que minha ex desse o tratamento necessário. Que interviessem sobre o assunto, e exigissem o tratamento.

          Infelizmente, não fui ouvido, e muitas vezes era injuriado ou chacoteado pela minha insistência.

          Mesmo fazendo tudo o que pude, já que não mais detinha o poder pátrio. Pois me foi roubado, na decisão de guarda.

          Lutei, mas nada conseguia. Parecia que as portas se fechavam para mim.

          Fiz tudo o que pude, para proteger as meninas na epoca. Sempre mostrando para elas (minhas filhas) que o pai amava elas.

          Pedia a Deus, que me mostrasse o caminho. Mas só encontrava desespero e abandono.

          Sem poder fazer nada por elas. Via mãos e pernas cortados, e meu coração sangrava junto dela. A cada corte meu desespero, e minhas lágrimas corriam em silencio.

          Rezava pela outra, pelo abandono e falta de carinho, que a Mae demonstrava. Onde era imposto a mais velha o papel de mãe da mais nova. Mesmo ela não podendo realizar tal comportamento, desde os 7 anos de idade.

          Nos poucos momentos que tinha com elas, fazia de tudo, para que naqueles momentos com elas (minhas filhas) fossem momentos inesqueciveis

          Mesmo que para isso eu passa-se meses em situação de penúria (comendo miojo e salsicha), nos meses subsequentes.

          Anos se passaram, muitas lagrimas cairam, do meu rosto e das minhas filhas.

          Mas Deus, sabe seu tempo.

          Minhas filhas hoje moram perto de mim.

          A mais velha, que sempre foi minha amiga, saiu escondido, ao completar 18 anos da casa da mãe.

          E veio morar comigo Hoje ela casou, esta bem, lutando pelo pão, mas sempre nos fins de semana estamos juntos.

          A outra, ao completar 18 anos, tambem viu a injustiça. Viu ela mesma as injustiças que sofria e resolveu tomar para si. Veio para minha casa. Hoje vivo com elas (minhas filhas) com minha parceira, que tambem foi algo trazido por Deus. Gosta das minhas filhas, e todos nós estamos juntos como uma famíla.

          Sempre sonhei com uma família, lutei muito, construindo um lar.

          Montei uma casa, que como eu era destruída.

          Aos poucos fui reformando. Sonhando com uma casa para minha família. Onde os filhos estivessem aqui, junto com uma mulher que tornasse aqui um lar.

          Teve momentos que jamais acreditaria que o desfecho fosse bom, pois com um relacionamento com uma pessoa extremente egoísta, que não aceitava minha família. Via pouca ou nenhuma a chance de ser feliz por completo.

          No entanto, Deus não deixou eu me casar com ela. Separei, sofri, me perdi.

          Mas Deus tira as pedras, para liberar a estrada.

          Conheci a mulher certa. em 4 meses casei, ela adotou minhas filhas como sua.

          Abraçou a família porque ela mesma não tinha a sua.

          Hoje Deus me deu tudo isso.

          Conclusão

          Deus sabe o que faz,

          Não peça por vingança.

          Peça por dissernimento, peça pelo melhor caminho.

          Lute, mas lute com todas as suas forças, contra a injustiça. E pelo que acredita. Não desista.

          Porque Deus no final te dá o resultado.

          Ele sabe o que faz. Ele abre caminhos, resolve problemas insoluveis.

          Infelizmente a gente é imediatista, mas Deus tem seu tempo.

          Ele sabe o caminho. E de vagar irá resolver o irresolvivel, te abraçar e confortar.

          Seja justo, seja honesto, seja forte, seja sincero. Porque Deus gosta de quem é honesto e sincero.

          Confie NELE, o resto vem. Fique tranquilo, sou prova viva disso.

          en_USEnglish