Por que HTML e CSS não são consideradas linguagens de programação

O HTML (HyperText Markup Language) e o CSS (Cascading Style Sheets) são dois dos principais componentes da Web e são usados ​​para criar e estilizar páginas da Web. No entanto, muitas pessoas se confundem e acreditam que o HTML e o CSS são linguagens de programação. Na verdade, eles são considerados linguagens de marcação e folhas de estilo, respectivamente, e não são considerados linguagens de programação.

Uma linguagem de programação é um conjunto de instruções que podem ser usadas para criar programas que executam tarefas específicas. Elas geralmente incluem recursos como variáveis, loops, condições e funções, que permitem aos programadores criar lógica e tomar decisões.

O HTML e o CSS, por outro lado, são usados ​​para estruturar e estilizar o conteúdo de uma página da Web. O HTML é usado para definir a estrutura da página, enquanto o CSS é usado para definir o estilo e a aparência da página. Eles não têm a capacidade de tomar decisões ou criar lógica como as linguagens de programação fazem.

Isso não significa que o HTML e o CSS não sejam importantes. Eles são fundamentais para a criação de páginas da Web atraentes e bem estruturadas, mas não são considerados linguagens de programação. Se você está interessado em aprender a programar, existem muitas linguagens de programação populares para escolher, como Python, Java e C++.

Espero que isso esclareça por que o HTML e o CSS não são considerados linguagens de programação

As 5 tecnologias mais populares do momento

A tecnologia está avançando a um ritmo acelerado e novas ferramentas e plataformas estão surgindo a todo momento. Pode ser difícil acompanhar tudo o que está acontecendo, mas há algumas tecnologias que são particularmente populares no momento e que vale a pena conhecer.

  1. Inteligência artificial: A IA está sendo aplicada em uma ampla variedade de setores, desde saúde até transporte, e está mudando radicalmente a forma como fazemos coisas. As empresas estão usando IA para automatizar tarefas repetitivas, fornecer assistência personalizada aos clientes e até mesmo tomar decisões importantes.
  2. Internet das Coisas: A IoT se refere ao uso de dispositivos conectados à Internet para coletar e compartilhar dados. Isso está permitindo a criação de sistemas mais eficientes e a tomada de decisões mais informadas em uma ampla variedade de setores.
  3. Realidade aumentada e realidade virtual: A RA e a RV estão mudando a forma como interagimos com o mundo ao nosso redor. A RA adiciona camadas de informação ao mundo real, enquanto a RV cria um mundo completamente novo e imersivo. Ambas as tecnologias estão sendo usadas em aplicativos de treinamento, entretenimento e até mesmo para ajudar a resolver problemas complexos.
  4. Blockchain: O blockchain é uma tecnologia de registro distribuído que permite o registro seguro de transações. Está sendo usado em uma ampla variedade de aplicativos, incluindo criptomoedas como o Bitcoin, mas também está sendo explorado em outras áreas, como a cadeia de suprimentos e a votação eletrônica.
  5. Robótica: A robótica está avançando rapidamente e está sendo usada em uma ampla variedade de setores, desde a fabricação até a saúde. Os robôs estão sendo usados ​​para automatizar tarefas repetitivas, mas também estão sendo desenvolvidos para realizar tarefas mais complexas, como cirurgias.

Essas são apenas algumas das tecnologias mais populares do momento, mas há muito mais por aí. A tecnologia está mudando rapidamente e é importante ficar atento ao que está acontecendo para não ficar para trás.

5 dicas para iniciar seus estudos em programação

Se você está interessado em aprender a programar, é importante ter uma abordagem planejada e focada para aproveitar ao máximo seus esforços. Aqui estão cinco dicas para ajudá-lo a começar seus estudos em programação:

  1. Escolha uma linguagem de programação: Existem muitas linguagens de programação disponíveis, cada uma com suas próprias características e usos. Escolha uma linguagem que seja adequada para o tipo de aplicativo ou sistema que você deseja criar. Algumas linguagens populares para iniciantes incluem o PHP, Python, JAVA, C#. Não, HTML e CSS não são linguagens de programação.
  2. Estabeleça um objetivo claro: Defina o que você quer alcançar com seus estudos em programação. Isso pode ser criar um aplicativo específico, participar de um projeto de código aberto ou simplesmente aprender a programar como uma habilidade geral. Tenha um objetivo claro em mente para guiar seus estudos e ajudá-lo a manter o foco.
  3. Encontre um bom recurso de aprendizado: Existem muitos recursos de aprendizado disponíveis na internet, incluindo tutoriais em vídeo, livros eletrônicos e cursos online. Escolha um recurso que seja adequado para o seu nível de conhecimento e objetivos de aprendizado. Certifique-se de que o recurso seja atualizado regularmente e ofereça suporte a dúvidas ou problemas.
  4. Faça muitos exercícios: A prática é a chave para se tornar um programador experiente. Encontre exercícios e problemas para resolver usando a linguagem de programação que você está aprendendo. Isso pode incluir participar de desafios online ou criar projetos pequenos por conta própria.
  5. Participe de uma comunidade: Uma das melhores maneiras de aprender a programar é participar de uma comunidade de programadores. Isso pode incluir fóruns online, grupos do Facebook ou eventos presenciais. Participe de discussões e peça ajuda quando precisar. Isso pode ajudá-lo a aprender mais rapidamente e se manter motivado.

Com essas dicas em mente, você estará bem equipado para iniciar seus estudos em programação e se tornar um programador experiente. Boa sorte em seus estudos!

Como criar uma API em PHP para verificar a cotação do dólar

Se você deseja criar uma API em PHP para verificar a cotação do dólar, uma forma de fazê-lo é usando a biblioteca cURL. O cURL (Client URL Library) é uma ferramenta que permite aos programas fazer requisições HTTP (Hypertext Transfer Protocol) de forma rápida e simples.

  1. Primeiro, você vai precisar de um serviço que forneça a cotação do dólar em tempo real. Existem muitas opções disponíveis na internet, como o Yahoo Finance ou o Google Finance. Escolha o que melhor se adequar às suas necessidades.
  2. Em seguida, crie um arquivo PHP em seu servidor. Você pode fazer isso usando o seu editor de código ou o painel de controle do seu servidor.
  3. No seu arquivo PHP, adicione o código para inicializar a biblioteca cURL. Isso pode ser feito usando a função curl_init(). Por exemplo:
Copy code$ch = curl_init();
  1. Em seguida, configure a requisição HTTP para o serviço de cotação do dólar escolhido. Isso pode ser feito usando a função curl_setopt(). Por exemplo:
Copy codecurl_setopt($ch, CURLOPT_URL, "https://finance.yahoo.com/quote/USD/");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
  1. Execute a requisição HTTP usando a função curl_exec(). Isso vai retornar os dados da cotação do dólar. Por exemplo:
Copy code$cotacao = curl_exec($ch);
  1. Por fim, adicione o código para retornar os dados da cotação do dólar em formato JSON (JavaScript Object Notation). Isso pode ser feito usando a função json_encode() do PHP. Por exemplo:
Copy codeecho json_encode(array("cotacao" => $cotacao));

E é isso! Agora você tem uma API em PHP que pode ser acessada por outros sistemas ou aplicativos para verificar a cotação do dólar em tempo real. Você pode expandir essa API adicionando mais funcionalidades ou integrando outros serviços de cotação de moedas.

Criando um arquivo JSON em 5 passos simples

JSON (JavaScript Object Notation) é uma formatação de dados simples que é amplamente utilizada em aplicativos da web para transmitir dados. Se você deseja criar um arquivo JSON, é fácil fazê-lo em apenas alguns passos simples.

  1. Abra o seu editor de texto preferido. Alguns exemplos populares incluem o Notepad (para Windows) ou o TextEdit (para Mac).
  2. Comece a escrever o seu código JSON. O formato é bastante simples e consiste em um conjunto de pares chave-valor, separados por vírgulas e envolvidos por chaves.
  3. Certifique-se de que o seu código JSON está bem formatado. Isso significa que as chaves devem estar alinhadas e que cada par chave-valor deve ser separado por uma vírgula.
  4. Salve o arquivo com a extensão “.json”. Isso fará com que o seu sistema o reconheça como um arquivo JSON e o abra corretamente quando for aberto.
  5. Abra o arquivo para verificar se ele foi criado corretamente. Se tudo estiver correto, você deve ver os pares chave-valor que você escreveu no arquivo.
{
    "nome": "João",
    "idade": 30,
    "cidade": "Florianópolis"
}

Como criar um repositório no Laravel

O Laravel é um framework de PHP populado que facilita a criação de aplicativos web. Um dos recursos úteis do Laravel é o uso de repositórios para gerenciar o acesso a dados em seu aplicativo.

Um repositório é uma camada de abstração que separa o acesso a dados de sua lógica de negócios. Isso significa que, em vez de escrever código para acessar diretamente o banco de dados em suas classes de modelo, você pode usar métodos do repositório para realizar operações de banco de dados. Isso pode tornar o seu código mais legível e facilita a manutenção.

Para criar um repositório no Laravel, siga estes passos:

  1. Crie uma nova interface de repositório em app/Repositories. Esta interface deve conter métodos para as operações de banco de dados que você deseja realizar (por exemplo, obter todos os registros, obter um registro pelo ID, salvar um novo registro, etc.).
  2. Crie uma nova classe de repositório que implemente a interface de repositório criada no passo 1. Esta classe deve conter a lógica para realizar as operações de banco de dados usando a classe de modelo correspondente do Laravel.
  3. Adicione o repositório criado ao container de injeção de dependência do Laravel em app/Providers/AppServiceProvider.php. Isso permitirá que o Laravel crie uma instância do repositório quando for necessário.
  4. Em sua classe de modelo, adicione uma propriedade privada para a instância do repositório e um construtor que aceite uma instância do repositório como argumento. Isso permitirá que você use o repositório em sua classe de modelo para realizar operações de banco de dados.
<?php

namespace App\Repositories;

interface PostRepositoryInterface
{
  public function getAll();
  public function findById($id);
  public function save($data);
  public function update($id, $data);
  public function delete($id);
}

<?php

namespace App\Repositories;

use App\Models\Post;

class PostRepository implements PostRepositoryInterface
{
  protected $model;

  public function __construct(Post $model)
  {
    $this->model = $model;

Como usar a API do WordPress para gerenciar seu site

Usar a API do WordPress é uma ótima maneira de gerenciar o conteúdo do seu site de forma programática. Com a API, você pode criar, ler, atualizar e excluir publicações, páginas e outros tipos de conteúdo do seu site WordPress, bem como gerenciar usuários e configurações.

Para começar a usar a API do WordPress, é preciso ter uma instalação do WordPress e ativar o plugin WordPress REST API. Uma vez ativado, a API estará disponível em um endpoint específico em sua instalação WordPress, geralmente em http://seusite.com.br/wp-json/wp/v2/.

Para acessar os dados do seu site WordPress e realizar operações com a API, você pode fazer solicitações HTTP (como GET, POST, PUT e DELETE) usando uma biblioteca de cliente HTTP, como o cURL ou o WordPress HTTP API. Por exemplo, aqui está como você poderia usar o cURL para obter a lista de publicações do seu site WordPress:

<?php
// Inicializa a solicitação HTTP
$curl = curl_init();

// Define a URL da API
curl_setopt($curl, CURLOPT_URL, 'http://seusite.com.br/wp-json/wp/v2/posts');

// Define o método como GET
curl_setopt($curl, CURLOPT_HTTPGET, true);

// Executa a solicitação HTTP e armazena a resposta
$response = curl_exec($curl);

// Fecha a conexão cURL
curl_close($curl);

// Decodifica a resposta JSON
$posts = json_decode($response, true);

// Itera sobre cada publicação e exibe o título
foreach ($posts as $post) {
  echo $post['title']['rendered'] . "\n";
}

Com a API do WordPress, existem muitas possibilidades. Você pode criar aplicativos personalizados para gerenciar seu projeto, integrar o seu site com outros serviços ou até mesmo criar seus próprios plugins usando a API como base.

Hospede seu site em um servidor Cloud por menos de R$ 11 Mês

Seja para quem é iniciante ou dinossauro na área de tecnologia, sempre fica aquela dúvida, qual o melhor e mais barato serviço de hospedagem atualmente? Hospedagem Cloud ou compartilhada? (Compartilhada não quero mais nem de graça). Se você já tem um certo conhecimento, claro que compensa muito mais configurar seu próprio servidor e alocar seus clientes, a desvantagem é que você fica responsável por praticamente tudo, configurar gerenciador de hospedagem, e-mails, quedas de serviços entre outros, neste caso, recomendo a Linode, sem medo de errar.

Porém, todavia, entretanto, contudo, se você não tem um grande conhecimento em gerenciamento de hospedagens, ou simplesmente não quer se incomodar em prestar suporte para o seu cliente, poderá muito bem optar por um Cloud 100% configurado com:

  • Servidor Cloud individual (Apenas o seu site hospedado no Cloud)
  • E-mails ilimitados
  • SSL grátis
  • Firewall
  • Tráfego ilimitado
  • Banco de dados ilimitados
  • Backup grátis
  • Acesso SSH
  • Software anti-spam para e-mails
  • Upgrade/Downgrade de plano direto pelo painel, sem precisar abrir ticket e sem downtime
  • Suporte grátis
  • Instalações de aplicações com poucos cliques
  • Revenda de hospedagem
  • Plugin de cache (WordPress)
  • Editor de arquivos
  • FTP
  • Deploy pelo GitLab em breve Github e Bitbucket
  • Restauração de backup em poucos cliques
  • Gerenciador de banco de dados (PHPMYADMIN)
  • Acesso remoto ao banco de dados
  • Escolher entre Mysql e PostgreSQL
  • Balanceador de carga
  • Escolher versões do PHP (5.4 até >= 8.0)
  • CronJob direto pelo painel
  • Logs de erro do PHP e do servidor
  • Migração dos seus dados gratuitamente (Consulte)
  • Hospedagem individualizada, sem compartilhamento de CPU e memória com outros sites
  • Sem fidelidade (cancele quando quiser)
  • A partir de R$ 10,90

Lembrando que o valor de R$ 10,90 é a configuração inicial, se você precisar de mais poder de processamento, poderá efetuar upgrade da sua instância, com valores adicionais.

Sem surpresas na conta

Você está no controle da sua hospedagem, no painel de controle, é possível verificar uma estimativa de quantos créditos você ainda possuí e quanto tempo ele irá durar.

Você pode optar por deixar a recarga automática através de cartão de crédito, também é possível inserir créditos através de boleto bancário, Pix ou mercado pago.

Estimativa de valor e duração do crédito em dias

Você no controle

Com a hostoo você está no controle e não precisa ser expert em servidores, é possível efetuar upgrade e downgrade de servidor com poucos cliques e sem deixar o seu site offline. Instale e configure aplicações em poucos cliques. Gosta do WordPress? Plugin de cache gratuito para acelerar ainda mais o carregamento do seu site.

No print abaixo, podemos notar o domínio do site, versão do PHP, SSL ativo, detalhes do plano, detalhes de consumo de CPU, RAM, disco e outras configurações da hospedagem.

PAINEL DE CONTROLE HOSTOO

Precisa de mais?

Além de ter servidores nos Estados Unidos, também é possível hospedar seus sites em clouds aqui no Brasil, claro, por um valor adicional. Com a Hostoo você pode fazer upgrade de plano facilmente. Suponhamos que durante o dia, você teve visitas atípicas em seu website, resultando em um consumo máximo de CPU e RAM, e agora o que fazer? Em poucos cliques, você pode efetuar upgrade do seu plano, contratando um cloud melhor, pagando por hora utilizada, e posteriormente, retornar ao plano original, você está 100% no controle.

Suporte que não te deixa 48h esperando

Estou com a Hostoo há mais de 1 ano e diferente de outros serviços de hospedagem, o suporte é muito rápido e definitivamente resolve seus problemas. Até o momento, precisei abrir apenas 1 ticket de site fora do ar, onde ficou constatado que o problema não era na hospedagem e sim no servidor dns que eu estava utilizando como proxy, o outro ticket? Foi aberto pela própria empresa, quando me deparei com um erro 500 no painel de hospedagem. Tempo da primeira resposta < 22 minutos.

Painel de suporte Hostoo

Sem dúvidas, foi um grande achado que estou compartilhando com você! https://hostoo.io

Como migrei um site WordPress de 20GB sem acesso ao gerenciador de hospedagem

Fui procurado por uma empresa para refazer um portal de notícias, o site foi desenvolvido sob o cms WordPress, com elementor. A principal reclamação do solicitante era a demora para carregar o site, mesmo tendo um sistema de cache. Não foi necessário ir muito longe para encontrar o problema, simplesmente existiam mais de 55 plugins instalados, sem contar os inativos, WordPress desatualizado, banco com excesso de tabelas, entre outros problemas.

Instalei o WordPress na sua versão mais atual na minha máquina e comecei a trabalhar em cima do novo site, como sempre, o prazo não era dos melhores, para não precisar configurar um tema do 0, utilizei o Underscore para gerar um template inicial.

Depois de finalizado o novo layout, removido todos os plugins desnecessários e configurado a nova hospedagem, chegou a hora da migração do conteúdo.

Inicialmente pensei, vai ser moleza, já migrei site de +60GB em poucas horas, 20GB não vou nem ter trabalho, aí que me enganei. Não foi possível obter acesso ao Cpanel muito menos ao ssh do servidor. Pesquisando algumas alternativas, encontrei o plugin UpdraftPlus, resolvi fazer um teste.

Iniciei o backup do site no sábado por volta das 9h, mas infelizmente o plugin não conseguia concluir o backup, então mudei algumas configurações e tentei novamente, isso já era mais de 12h, por volta das 17h ~ 18h o backup terminou, agora precisava transferir 20GB para o novo servidor. Já se passava de 22h e mal tinha atingido 50%, não sei se era alguma limitação no servidor de saída, entrada ou se o próprio plugin restringia a velocidade por ser a versão free. Então contratei um s3 temporariamente para tentar jogar os arquivos no bucket e depois resgatar no novo servidor. Já no domingo pela manhã iniciei novamente a tentativa de migração, dessa vez para o S3, mas nada mudou, continuava lento, dois dias tentando migrar o conteúdo e sem sucesso.

No fim de semana seguinte, sábado às 8h iniciei uma nova tentativa, finalmente no início da noite, todo o conteúdo já estava no novo servidor, então iniciei a importação desses dados, depois de algumas horas, finalmente terminou, mas para a minha surpresa, faltava muito conteúdo, o plugin não conseguiu efetuar o backup total como o esperado. Nessa hora eu já estava desiludido, como dizia minha mãe, é hora de se enforcar em um pé de cebolinha, já passando das 01h, abortei a missão.

Novamente domingo, já no 4º dia de tentativa, resolvi utilizar o plugin novamente e fazer backup somente do banco de dados, em 15 minutos o backup estava feito e importado no novo servidor. Fiz o download do backup do banco para minha máquina local, 1,5GB, depois subi para o servidor com o scp e importei no mysql pelo shell . Enviando o arquivo para o servidor.

scp banco-de-dados.zip ssh servidor:/home/user/

Maravilha, o banco já estava importado com todo o conteúdo, sem erros, mas como recuperar as imagens e vídeos, e agora, José?

Até pensei em utilizar o Al-In-One WP Migration que é um dos meus favoritos, mas o limite de 512MB era um empecilho, até poderia utilizar uma versão nulled, mas pra que complicar ainda mais, né? A dor de cabeça posteriormente poderia ser maior ainda.

Depois de já ter acabado com o estoque de café do mês em 4 dias, parei para refletir, deve ter um jeito de acessar o terminal do servidor e fazer o backup desses arquivos, foi então que encontrei o plugin WPTerm, eu não sabia, mas ele iria me salvar ❤️

Com o WPTerm é possível rodar comandos como se estivesse conectado no shell do servidor, obviamente, eu não podia rodar um zip diretamente na pasta public_html, trata-se de um emulador, não estou conectado diretamente via ssh.

Então comecei fazendo backup nos arquivos.

zip -r a1.zip wp-content/uploads/ano/dia

E no servidor de destino, com acesso ssh, realizava o download e descompactação

wget https://site.com.br/wp-content/uploads/ano/dia/a1.zip

unzip a.zip

E assim fiz, pasta por pasta até chegar na última. Em menos de 2h já tinha migrado todos os vídeos, fotos e e-mails.

Por volta das 16h já estava tudo pronto para a virada definitiva, terminei algumas configurações na hospedagem, troquei o plugin de cache por um mais eficaz, configurei corretamente o cache, diferente do que muitos pensam, não basta apenas apontar o dns para o CloudFlare, é necessário configurar as regras de cache, para ter certeza que o arquivo está em cache, o CloudFlare retorna no header o status HIT, se for diferente disso, seus arquivos não estão sendo armazenados corretamente ou o cache é individual, o que não é muito interessante se o conteúdo é público.

cf-cache-status: HIT

age: Tempo em segundos que o arquivo está armazenado em cache

Print status cache Cloudflare

E foi assim, graças ao WpTerm, consegui migrar 20GB de conteúdo em pouquíssimo tempo, parece fácil, né? Mas não foi.

Protegendo formulários de Landing Page com Captcha v3 invisível e honeypot

Integrando formulário com o captcha invísivel (v3) – e enviando e-mails, utilizado em Landing pages

A cada dia surgem diversas landing pages na web, seja para promover um evento ou até mesmo a venda de um produto, geralmente essas páginas possuem pelo menos um formulário de contato.

Precisamos proteger esses formulários, se deixarmos a “esmo” os clientes passarão a receber muitos spams e não queremos isso.

Alguns devs preferem criar um “honeypot” que é basicamente um field que recebe uma classe css e nesse css o campo é setado como hidden, no backend é feito uma validação, se esse field oculto for preenchido, o e-mail não é enviado, isso serve para bots menos “inteligentes”.

Uma das melhores soluções do mercado, querendo ou não, é a utilização do Captcha do Google. Pensando nisso, resolvi criar uma integração com o captcha e também utilizar o honeypot que citei acima. Tornei o projeto público, é muito simples de usar.

Você está livre para utilizar e modificar como preferir.

https://github.com/leonardop21/captcha-send-form