anúncios

terça-feira, 19 de maio de 2020

Conhecendo o Deno

Surgimento do Deno

No final de 2018, Ryan Dahl, criador do Node.js, estava no desenvolvimento do novo runtime JavaScript: O Deno. Apesar do trocadilho com o nome (no-de x de-no) e ter como integrante do time desenvolvimento o criador do Node.js, o Deno vem sendo desenvolvendo como uma implementação completamente nova e não como um fork do Node.

O que é Deno?
"Deno is a new runtime for executing JavaScript and TypeScript outside of the web browser."

A proposta do Deno é prover uma ferramenta standalone que permita a criação de uma solução rápida para funcionalidades complexas. Sua abordagem é, e sempre será, de ser um único arquivo executável.

Vantagens do Deno são:

  • Seguro por padrão. Nenhum acesso a arquivos, redes ou ambientes, a menos que seja explicitamente ativado.
  • Suporta TypeScript pronto para uso.
  • Envia apenas um único arquivo executável.
  • Possui utilitários embutidos, como um inspetor de dependências (deno info) e um formatador de código (deno fmt).
  • Possui um conjunto de módulos padrão revisados (auditados) que garantem o funcionamento com o Deno: https://deno.land/std
Instalação do Deno

Linux (qualquer distro)

Com o curl instalado, execute:

$ curl -fsSL https://deno.land/x/install/install.sh | sh

Windows (usando o Chocolatey )
choco install deno
$ export DENO_INSTALL="$HOME/.deno"
$ export PATH="$DENO_INSTALL/bin:$PATH"


macOS
brew install deno

helloworld.ts

import { serve } from 'https://deno.land/std@0.50.0/http/server.ts';
const s = serve({ port : 8000 });
console.log("Running ...");
for await (const req of s) {
req.respond({ body: "Hello World" });
}

Executar

deno run --allow-net helloworld.ts

Abra o browser e acesse http://localhost:8000 que verá o "Hello World" na página.

Referência

https://deno.land/

https://deno.land/v1

https://www.infoq.com/br/news/2019/04/deno-v8-typescript/

https://www.infoq.com/br/news/2020/05/sucessor-node-js-conheca-deno/

Feito!

terça-feira, 12 de maio de 2020

Conhecendo o Bagisto

O que é Bagisto?
Bagisto é uma plataforma de E-commerce, de código aberto, com licença MIT, implementado em PHP, Framework Laravel, Vue.js e com SGBD MySQL/MariaDB.

Recursos do Bagisto
  • Suporte RTL
  • Suporta vários canais, localidades e moedas
  • Camada de controle de acesso embutido
  • Loja responsiva
  • Painel de administração e painel
  • Atributos de produtos personalizados
  • Suporte para vários temas da loja
  • Inventário de várias lojas
  • Sistema de gerenciamento de pedidos
  • Carrinho de cliente, lista de desejos e análises de produtos
Pré requisitos do Bagisto

PHP, MySQL, Composer e Git

Procedimentos de instalação e configuração do Bagisto

Clone do repositório
git clone https://github.com/bagisto/bagisto.git

Acesse o diretório do repositório clonado

cd bagisto

Instala as dependências com o composer

composer install

Crie o banco de dados com nome ecommerce no SGBD MySQL

Nota: Pode utilizar o cliente SGBD que preferir, por exemplo: MySQL Workbench, DBeaver ou whatever.
Nesse howto é explicado no terminal do Linux (qualquer distro).

# mysql -u root -p
Enter password: < digite a senha de root que foi definida na instalação do MySQL > mysql> create database ecommerce character set utf8;

Criar o usuário ecommerce para o banco ecommerce

mysql> GRANT ALL PRIVILEGES ON *.* TO ecommerce@localhost IDENTIFIED BY 'secret' WITH GRANT OPTION;
Query OK, 0 rows affected (0.00 sec)
mysql> quit

Renomeia o arquivo .env.example para .env

$ mv .env.example .env
Adicione as configurações do banco de dados, como host, nome da base, usuário e password

Gerar a chave da aplicação

php artisan key:generate

Criar as tabelas no banco de dados automatizado com migrations do Laravel

php artisan migrate

Popular os dados na tabela

php artisan db:seed

Configuração base inicial, como imagens, entre outros

php artisan vendor:publish
digite 0

Criar o link simbólico da aplicação

php artisan storage:link

Iniciar o servidor embutido do PHP

php artisan serve

No browser acessar http://localhost:8000/bagisto/public

As credencias defaults do Bagisto são:

email:admin@example.com
password:admin123
Feito!

sábado, 9 de maio de 2020

Instalando o Composer no Windows e Linux

O que é Composer?
Composer é um gerenciador de dependências do PHP que facilita instalar bibliotecas e frameworks de terceiros ou mesmo suas que deseja ou precisa utilizar em seu projeto. Assim o composer encarraga-se de buscar, fazer o download e criar um autoloader deixando-as prontas para uso.

Instalação do Composer

Windows

Faça o download e execute o Composer-Setup.exe . Esse instalador do Composer já adiciona no PATH do sistema. Fecha o CMD ou PowerShell se tiver aberto e abre novamente, digita composer -V

Linux (qualquer distro)

Pré requisitos:

$ curl -s https://getcomposer.org/installer | php

$ sudo mv composer.phar /usr/local/bin/composer

Feito!

Instalando o MySQL no Windows 10

O MySQL é um Sistema de Gerenciamento de Banco de Dados (SGBD) relacional de plataforma aberta e de código aberto desenvolvido pela empresa Sueca "MySQL AB" e posteriormente adquirido pela Oracle Corporation. O MySQL é oferecido em duas versões: MySQL community e enterprise. Nesse artigo, será instalado o MySQL Community.

O objetivo deste artigo é descrever a instalação do SGBD MySQL 8 oficial e do jeito certo no Windows 10.

Pré requisitos do SGBD MySQL

Microsoft .NET 4.5 ou superior

Visual C++

Download e instalação do SGBD MySQL

No setup escolha o tipo de instalação, você tem quatro opções de instalação.

  • Developer default: Se você deseja criar uma máquina de desenvolvimento, pode usar esta opção. Ele instala os componentes necessários para o desenvolvimento de aplicativos, por exemplo, MySQL Server, MySQL Shell, conectores MySQL, MySQL.
  • Server: Se você deseja criar um servidor de banco de dados independente com componentes específicos, pode usar esta opção.
  • Full: Se você deseja instalar o MySQL Server com todos os seus componentes, poderá usar esta opção.
  • Custom: se seus requisitos estiverem limitados a poucos componentes, você poderá usar esta opção.

No setup, marque Developer Default ou Full se estiver instalando na máquina de desenvolvimento, conforme na Figura 1



Figura 1 Tipo de instalação

Revisão da lista que será instalado, se marcou o Developer default ou Full, é exibido conforme na Fig. 2



Figura 2. Revisão da lista incluída na instalação


Lista do que foi instalado, conforme na Figura 3.


Na tela de configuração do produto, você pode ver a lista dos produtos que precisam ser configurados. Primeiro, vamos configurar o servidor MySQL. Clique em Next.

Figura 3 Lista do que foi instalado

Na Figura 4 de alta disponibilidade, podemos optar por instalar o cluster InnoDB ou o servidor MySQL independente. O cluster InnoDB é a solução de alta disponibilidade do MySQL, que utiliza replicação de grupo. Neste artigo, foi instalado instalação standalone do MySQL Server.




Figura 4 Alta disponibilidade

Na Figura 5, configuração do tipo de configuração do MySQL. O tipo de configuração do MySQL é um conjunto predefinido de parâmetro de configuração que determina quantos recursos devem ser alocados aos Serviços MySQL.

  • Development Computer: Esta configuração utiliza uma quantidade mínima de recursos para o MySQL Service.
  • Server Computer: Esta configuração utiliza uma quantidade mínima de recursos. Essa opção é adequada quando estamos instalando servidores de banco de dados e servidores da web na mesma máquina. A configuração aloca uma quantidade média de recursos para o MySQL Service.
  • Dedidecated Computer: Esta opção é usada quando criamos um servidor MySQL dedicado. A configuração aloca uma grande quantidade de recursos para o MySQL Service


Figura 5 Tipo de configuração do MySQL


Nesta etapa, podemos controlar como os clientes podem se conectar aos bancos de dados MySQL. Podemos usar o protocolo TCP/IP ou pipe nomeado ou memória compartilhada. Se você deseja configurar pipe ou memória compartilhada, devemos fornecer o nome do pipe e o nome da memória. Você também pode especificar a porta padrão para se conectar ao servidor de banco de dados. Você também pode optar por permitir o número da porta especificado na caixa de texto Porta no firewall. Veja a Figura 6.



Figura 6 Forma de conexão do MySQL


Na versão MySQL 8.0, podemos usar senhas fortes baseadas em SHA256. Na tela Método de autenticação, escolha a opção para usar o método de autenticação herdado ou a senha forte para autenticação. Nota: Se você estiver usando a Criptografia de senha forte para autenticação, verifique se todos os conectores devem estar atualizados para a versão mais recente. Vamos usar a criptografia de senha forte para autenticação. Veja na Figura 7.



Figura 7 Autenticação do MySQL


Nesta etapa, Contas e funções, você pode especificar a senha da conta raiz do MySQL. A conta raiz do MySQL é uma conta sysadmin padrão e deve ser desativada. Assim criar outras contas de usuários para o MySQL, aplicando o Grant. Veja na Figura 8



Figura 8 Contas de usuários e papeis do MySQL


Na etapa, Serviço do Windows, você pode configurar o servidor MySQL para ser executado como um serviço do Windows. Você pode fornecer o nome desejado e configurá-lo para iniciar automaticamente o serviço quando o sistema reiniciar. Além disso, você pode fornecer as credenciais sob as quais o serviço MySQL será executado. Você pode escolher a conta padrão do sistema ou fornecer um usuário específico. Veja na Figura 9.



Figura 9 Serviço do Windows


Nesta etapa, Aplicar configuração, você pode ver a lista de etapas de confirmação. Depois que todas as definições de configuração forem verificadas, clique em Executar. Veja na Figura 10.



Figura 10 Aplicar configuração


O processo de instalação do MySQL é iniciado. Você pode visualizar o processo de instalação na guia "Log". Quando a instalação for concluída com êxito, clique em "Concluir" para fechar o instalador. Veja Figura 11.



Figura 11 Etapa final de instalação do MySQL


Feito!

sexta-feira, 8 de maio de 2020

Configurando o ambiente PHP no Windows do jeito certo

É comum no Windows usar ferramenta Wampp, Xampp, conhecidos como "amps" que inclui o Apache, PHP, MySQL e phpmyadmin, de início parece ser bom, mas devemos tomar cuidado para que não fiquemos presos nessas ferramentas de modo que não saibamos a trabalhar em outro ambiente. Principalmente para quem é iniciante ou está aprendendo, é importante saber trabalhar de modo desapegado, tanto para ter flexibilidade, quanto para entender como as coisas funcionam.

O desenvolvedor PHP no Windows precisa no mínimo saber usar o PHP instalado do zero, até mesmo porque a partir da versão 5.4, o PHP vem com servidor embutido que nos permite executar uma aplicação rapidamente usando o terminal.
Qual é o objetivo?
Fazer o download do PHP diretamente do site https://php.net e configurar manualmente no Windows e mostrar o uso do servidor embutido para executar scripts, aplicações em PHP.

Procedimentos
  1. Acesse https://php.net/downloads.php e faça o download do PHP para Windows. Recomendo o download da versão mais recente do PHP. Até a data de publicação deste post, a versão atual do PHP é 7.4.5
  2. Escolha a plataforma do PHP em relação ao seu computador, x86 ou x64.
    Detalhe importante é escolher entre as versões Thread Safe (TS) ou Non Thread Safe (NTS). Isso significa questões internas do PHP, mas para desenvolvimento escolha Non Thread Safe (NTS)
  3. Após o download, descompacte o arquivo .zip na partição C:\ e renomeie o diretório para php
  4. Faça a instalação do Microsoft Visual C++ , o PHP precisa para ser executado na máquina.
  5. Adicionar no PATH do Windows 10 o diretório C:\php que foi descompactado no item 1
    1. Clique no botão direito no "Computador" / "Computer" e escolha "Propriedades" / "Properties";
    2. Escolha "Configurações Avançadas de Sistema" / "Advanced System Settings";
    3. Clique em "Variáveis de Ambiente" / "Environment variables";
    4. Selecione PATH e clique em editar ou novo
    5. Adicione valor da variável de ambiente PATH, colocar o diretório C:\php. Fecha todas as janelas restantes, clicando em OK;
    6. Reabra o CMD ou Powershell e digite php --version
  6. No diretório C:\php tem dois arquivos de configurações: php.ini-development e php.ini-production. Renomei o arquivo php.ini-development para php.ini. É nesse arquivo que apresenta as configurações para executar o PHP e habilitar extensões necessárias durante o desenvolvimento da aplicação.
  7. Ajustes no arquivo php.ini

    Procurar a linha extension_dir e descomentar (retirar o ;).

    O extension_dir é onde indica as extensões do PHP, que por padrão é o diretório ext no Windows.

    Habilitar as extensões necessárias que desejar, descomentando as linhas correspondentes, em extension=

  8. Abra o Bloco de Notas com botão direito do mouse e clique em Executar como Administrador. C:\Windows\System32\drivers\etc, selecione Todos os arquivos para exibir o arquivo hosts. Verifique se existe a linha 127.0.0.1 localhost, se existir está pronto, senão acresente-a ao final do arquivo, salve e feche o Bloco de Notas.
  9. Escolha o diretório onde irá manter os projetos PHP. Nesse exemplo, foi escolhido o diretório C:\Users\Reginaldo\projeto
  10. Criei o arquivo info.php no diretório escolhido

    
    <?php 
    phpinfo();
  11. Execute no diretório escolhido no item anterior
  12. php -S localhost:8000

  13. No browser acesse http://localhost:8000

Agora só instalar o SGBD MySQL ou PostgreSQL e o cliente DBeaver que suporta diversos SGBDs (MySQL, PostgreSQL, Oracle, MSSQL).

Referências

https://www.php.net/manual/pt_BR/features.commandline.webserver.php

Feito!

quarta-feira, 6 de maio de 2020

Conhecendo o Joplin como alternativa ao Evernote

O que é Joplin?

O Joplin é um aplicativo gratuito, de código aberto, de anotações e tarefas a fazer, que pode lidar com um grande número de notas organizadas em cadernos. As notas são pesquisáveis, podem ser copiadas, marcadas e modificadas diretamente dos aplicativos ou do seu próprio editor de texto. As notas estão no formato Markdown.

As notas exportadas do Evernote via arquivos .enex podem ser importadas para o Joplin, incluindo o conteúdo formatado (que é convertido em Markdown), recursos (imagens, anexos etc.) e metadados completos (geolocalização, hora atualizada, hora criada, etc.) . Arquivos Markdown simples também podem ser importados.

As notas podem ser sincronizadas com vários serviços em nuvem, incluindo Nextcloud, Dropbox, OneDrive, WebDAV ou o sistema de arquivos (por exemplo, com um diretório de rede). Ao sincronizar as anotações, blocos de anotações, tags e outros metadados são salvos em arquivos de texto sem formatação que podem ser facilmente inspecionados, copiados e movidos.

O aplicativo está disponível para Windows, Linux, macOS, Android e iOS (o aplicativo do terminal também funciona no FreeBSD). Um Web Clipper, para salvar páginas da Web e capturas de tela do seu navegador, também está disponível para Firefox e Chrome.


Figura 1. Aplicativo Joplin desktop, mobile e terminal


Instalação do Joplin

Linux (qualquer distro)

$ sudo wget -O - https://raw.githubusercontent.com/laurent22/joplin/master/Joplin_install_and_update.sh | bash

macOS

brew install joplin

Windows 10

Joplin Portable

Mobile

Android

iOS

Aplicação terminal para sincronização

Linux (qualquer distro)

Pré-requisitos: Requer Node versão 10 ou superior

$ sudo npm install -g joplin

Sincronização

Um dos objetivos de Joplin era evitar estar vinculado a qualquer empresa ou serviço em particular, seja Evernote, Google ou Microsoft. Como tal, a sincronização é projetada sem nenhuma dependência rígida de qualquer serviço específico. A maior parte do processo de sincronização é feita em um nível abstrato e o acesso a serviços externos, como Nextcloud ou Dropbox, é feito por meio de drivers leves. É fácil oferecer suporte a novos serviços, criando drivers simples que fornecem uma interface semelhante ao sistema de arquivos, ou seja, a capacidade de ler, gravar, excluir e listar itens. Também é simples alternar de um serviço para outro ou sincronizar para vários serviços ao mesmo tempo. Cada nota, bloco de anotações, tags e a relação entre os itens são transmitidos como arquivos de texto sem formatação durante a sincronização, o que significa que os dados também podem ser movidos para um aplicativo diferente, podem ser facilmente copiados, inspecionados, etc.

Atualmente, a sincronização é possível com o Nextcloud, Dropbox, OneDrive ou o sistema de arquivos local. Para ativar a sincronização, siga as instruções abaixo. Depois disso, o aplicativo será sincronizado em segundo plano sempre que estiver em execução, ou você pode clicar em "Sincronizar" para iniciar uma sincronização manualmente.

Sincronizando com Nextcloud

O Nextcloud é uma solução de nuvem privada auto-hospedada. Ele pode armazenar documentos, imagens e vídeos, mas também calendários, senhas e inúmeras outras coisas, além de sincronizá-los com o seu laptop ou telefone. Como você pode hospedar seu próprio servidor Nextcloud, você possui os dados em seu dispositivo e a infraestrutura usada para sincronização. Como tal, é uma boa opção para Joplin. A plataforma também é bem suportada e com uma comunidade forte, por isso provavelmente existe por um tempo, já que é de código aberto de qualquer maneira, não é um serviço que possa ser fechado, pode existir em um servidor por um tempo.

No aplicativo de desktop ou móvel, vá para a tela de configuração e selecione Nextcloud como o destino de sincronização. Em seguida, insira o URL do WebDAV (para obtê-lo, clique em Configurações no canto inferior esquerdo da página, no Nextcloud), normalmente é https://seudominio.com/nextcloud/remote.php/webdav/Joplin (certifique-se de crie o diretório "Joplin" no Nextcloud) e defina o nome de usuário e a senha. Se não funcionar, consulte esta explicação para mais detalhes.

No aplicativo de terminal, você precisará definir a variável de configuração sync.target e todas as variáveis ​​de configuração sync.5.path, sync.5.username e sync.5.password como, respectivamente, o URL do Nextcloud WebDAV, seu nome de usuário e seu senha.

Isso pode ser feito no modo de linha de comando usando:

Após digitar no terminal joplin

:config sync.5.path https://seudominio.com/nextcloud/remote.php/webdav/Joplin
:config sync.5.username YOUR_USERNAME
:config sync.5.password YOUR_PASSWORD
:config sync.target 5

Referências

https://joplinapp.org/

Feito!