domingo, 26 de janeiro de 2025

VERBOS HTTP

Os verbos HTTP são usados para definir ações específicas em recursos da web. Eles são uma parte fundamental do protocolo HTTP (HyperText Transfer Protocol) e são comumente usados em APIs RESTful. Aqui estão os principais verbos HTTP e suas funções:

Principais Verbos HTTP

GET:

Propósito: Recuperar dados de um servidor.

Exemplo: Obter uma lista de usuários ou detalhes de um único usuário.

Idempotência: Sim (várias requisições retornam o mesmo resultado).

Uso: GET /api/users


POST:

Propósito: Enviar dados para o servidor para criar um novo recurso.

Exemplo: Criar um novo usuário ou fazer login.

Idempotência: Não (cada requisição pode resultar em uma nova criação).

Uso: POST /api/users


PUT:

Propósito: Atualizar um recurso existente no servidor.

Exemplo: Atualizar informações de um usuário.

Idempotência: Sim (várias requisições resultam no mesmo estado).

Uso: PUT /api/users/{id}


DELETE:

Propósito: Remover um recurso do servidor.

Exemplo: Deletar um usuário.

Idempotência: Sim (várias requisições resultam no mesmo estado).

Uso: DELETE /api/users/{id}


PATCH:

Propósito: Atualizar parcialmente um recurso existente.

Exemplo: Atualizar parcialmente as informações de um usuário (apenas alguns campos).

Idempotência: Sim (várias requisições resultam no mesmo estado).

Uso: PATCH /api/users/{id}


HEAD:

Propósito: Recuperar os cabeçalhos de uma resposta sem o corpo.

Exemplo: Obter metadados sobre um recurso sem transferir o conteúdo.

Idempotência: Sim.

Uso: HEAD /api/users


OPTIONS:

Propósito: Obter informações sobre as opções de comunicação disponíveis para o recurso.

Exemplo: Descobrir quais métodos HTTP são suportados pelo servidor.

Idempotência: Sim.

Uso: OPTIONS /api/users

 

 

Tabela Resumida dos Verbos HTTP

Verbo

Propósito

Idempotência

Uso Exemplo

GET

Recuperar dados

Sim

GET /api/users

POST

Enviar dados para criar novo recurso

Não

POST /api/users

PUT

Atualizar recurso existente

Sim

PUT /api/users/{id}

DELETE

Remover recurso

Sim

DELETE /api/users/{id}

PATCH

Atualização parcial de recurso existente

Sim

PATCH /api/users/{id}

HEAD

Recuperar cabeçalhos

Sim

HEAD /api/users

OPTIONS

Obter informações sobre comunicação

Sim

OPTIONS /api/users

Conclusão

Os verbos HTTP são essenciais para a comunicação cliente-servidor em APIs RESTful. Cada verbo tem um propósito específico e comportamento que ajuda a definir como as ações devem ser realizadas nos recursos da web.

Algumas Versões do .NET

 O .NET tem várias versões, cada uma com diferentes recursos e períodos de suporte. Aqui está um resumo das principais versões disponíveis:

Versões Atuais do .NET

VersãoTipo de SuporteData de LançamentoData de Fim de Suporte
.NET 9.0Suporte de Termo (18 meses)14 de janeiro de 202512 de maio de 2026
.NET 8.0Suporte de Longo Prazo (3 anos)14 de janeiro de 202510 de novembro de 2026
.NET 7.0Suporte de Longo Prazo (3 anos)28 de maio de 202414 de maio de 2024
.NET 6.0Suporte de Longo Prazo (3 anos)8 de novembro de 202112 de novembro de 2024
.NET 5.0Suporte de Longo Prazo (3 anos)10 de novembro de 202010 de maio de 2022
.NET Core 3.1Suporte de Longo Prazo (3 anos)23 de dezembro de 201913 de dezembro de 2022
.NET Core 3.0Suporte de Longo Prazo (3 anos)23 de setembro de 20193 de março de 2020
.NET Core 2.2Suporte de Longo Prazo (3 anos)12 de dezembro de 201823 de dezembro de 2019
.NET Core 2.1Suporte de Longo Prazo (3 anos)20 de agosto de 201821 de agosto de 2021
.NET Core 2.0Suporte de Longo Prazo (3 anos)20 de agosto de 20171 de outubro de 2018
.NET Core 1.1Suporte de Longo Prazo (3 anos)17 de novembro de 201627 de junho de 2019
.NET Core 1.0Suporte de Longo Prazo (3 anos)7 de junho de 201627 de junho de 2019

Notas Importantes

  • Suporte de Longo Prazo (LTS): Versões LTS são recomendadas para quem precisa de estabilidade e suporte prolongado.

  • Suporte de Termo (STS): Versões STS são ideais para quem quer experimentar as últimas funcionalidades e atualizações mais frequentes, mas com um período de suporte mais curto


.NET Core 1.x e 2.x

  • .NET Core 1.x: Lançado em 2016, foi a primeira versão do .NET Core, focada em ser uma plataforma modular e multiplataforma.

  • .NET Core 2.x: Lançado em 2017 e 2018, trouxe melhorias de desempenho, suporte a mais plataformas e novas bibliotecas.

.NET Core 3.x

  • .NET Core 3.0: Lançado em 2019, introduziu suporte para desenvolvimento de desktop com Windows Forms e WPF, além de melhorias no desempenho e na eficiência.

  • .NET Core 3.1: Lançado em 2020, foi uma versão de manutenção que trouxe correções de bugs e melhorias de segurança, mas sem novos recursos significativos.

.NET 5 e .NET 6

  • .NET 5: Lançado em 2020, unificou o .NET Core e o .NET Framework em uma única plataforma, com melhorias de desempenho, suporte a mais plataformas e novas bibliotecas.

  • .NET 6: Lançado em 2021, trouxe melhorias significativas de desempenho, novas funcionalidades e suporte a mais plataformas.

.NET 7 e .NET 8

  • .NET 7: Lançado em 2022, focou em melhorias de desempenho, novas funcionalidades e suporte a mais plataformas.

  • .NET 8: Lançado em 2023, continua a tradição de melhorias de desempenho, novas funcionalidades e suporte a mais plataformas.

Ciclo de Vida e Suporte

Cada versão do .NET segue um ciclo de vida específico, com suporte para versões principais por aproximadamente 3 anos, versões secundárias por cerca de 18 meses e atualizações de manutenção (patches) lançadas regularmente para corrigir bugs e melhorar a segurança.


.NET Core e .NET Unificado

  • .NET Core: A Microsoft usou o nome ".NET Core" para as versões 1.0 a 3.1. O objetivo do .NET Core era ser uma plataforma modular, open-source e multiplataforma (Windows, macOS e Linux).

  • Unificação com .NET 5: A partir de .NET 5, lançado em novembro de 2020, a Microsoft unificou o .NET Core e o .NET Framework em uma única plataforma chamada simplesmente ".NET". Esta unificação visou simplificar o ecossistema .NET e eliminar a distinção entre as diferentes versões da plataforma.

Portanto, após o .NET Core 3.1, a Microsoft passou a usar o nome ".NET" para todas as versões subsequentes, começando com o .NET 5, seguido por .NET 6, .NET 7 e o mais recente .NET 8.




domingo, 22 de dezembro de 2024

Triângulo de Pascal em Python

 

def generate_pascals_triangle(n):

    triangle = []


    for i in range(n):

        # Cada linha começa com um '1'

        row = [1]

        if i > 0:

            last_row = triangle[i-1]

            for j in range(1, i):

                row.append(last_row[j-1] + last_row[j])

            row.append(1)  # Cada linha termina com um '1'

        triangle.append(row)


    return triangle


def print_pascals_triangle(triangle):

    for row in triangle:

        print(' '.join(map(str, row)).center(len(triangle[-1]) * 2))


# Número de linhas do Triângulo de Pascal

n = 5

pascals_triangle = generate_pascals_triangle(n)

print_pascals_triangle(pascals_triangle)



Explicação

  1. generate_pascals_triangle(n): Esta função gera o Triângulo de Pascal até a n-ésima linha. Cada linha começa e termina com 1, e cada número interno é a soma dos dois números acima dele.

  2. print_pascals_triangle(triangle): Esta função imprime o Triângulo de Pascal formatado centralizado para melhor visualização.

  3. Você pode ajustar o valor de n para gerar mais ou menos linhas do Triângulo de Pascal conforme necessário.


PASCAL - Verificar Número Par

 program Paridade;

var

  numero: integer;

begin

  writeln('Introduza um número:');

  readln(numero);

  if numero mod 2 = 0 then

    writeln(numero, ' é par')

  else

    writeln(numero, ' é ímpar');

end.


PASCAL - Cálculo de Área de Formas Geométricas

 program AreaQuadrado;

var

  lado: real;

begin

  writeln('Introduza o lado do quadrado:');

  readln(lado);

  writeln('A área do quadrado é: ', lado * lado:0:2);

end.