Pular para o conteúdo principal

Postagens

Mostrando postagens de 2023

C# - Notação Big O

Falaremos hoje da notação "Big O", ela não é exclusiva do C#, muito pelo contrário, pode e deve ser aplicado a qualquer tipo de algoritmo, mas como nossos exemplos serão com essa linguagem o classificamos dessa forma. A notação big O é usada na análise de algoritmos para descrever a complexidade de um algoritmo. A ideia é fornecer uma maneira de comparar algoritmos permitindo que os desenvolvedores escolham o mais eficiente. É uma forma de descrever o limite superior da complexidade de tempo ou espaço de um algoritmo em relação ao tamanho da entrada. A notação big O é denotada por "O(f(n))", onde "f(n)" é uma função que descreve o comportamento do algoritmo. A função "f(n)" geralmente é uma expressão matemática que envolve a entrada "n" (por exemplo, "n^2" ou "2^n"). Se o tempo de execução de um algoritmo é proporcional ao quadrado do tamanho da entrada, podemos dizer que sua complexidade de tempo é O(n^2). Isso s

C# - Primeiros passos com Docker

Hoje veremos como disponibilizar uma aplicação console criada com .Net a partir de um contêiner, mas antes vamos entender melhor o que é o Docker, o que exatamente estamos criando e ai sim criar nosso primeiro exemplo. O que é o Docker? " Docker é uma plataforma de software que permite criar, testar e implantar aplicativos em contêineres. Os contêineres são ambientes isolados que contêm todo o software necessário para executar um aplicativo, incluindo código, bibliotecas, dependências e configurações. Eles permitem que os aplicativos sejam executados de forma consistente em diferentes ambientes, como desenvolvimento, teste e produção. " Em resumo, com ele conseguimos empacotar aplicativos e dependências em contêineres portáteis e executá-los em qualquer máquina que possua o Docker instalado. Podemos dizer que temos os seguintes passos para esse processo: Criar uma imagem: possui um conjunto de informações para dizer como um container deve funcionar; Criar um contêiner: com ba

PHP - Construtores e destrutores

Neste post, vamos mostrar como usar construtores e destrutores em scripts PHP para serem executados na linha de comando, incluindo exemplos práticos (você pode ver o que já publicamos sobre o PHP aqui ). Construtores em PHP Construtores são métodos especiais que são chamados automaticamente quando um objeto é criado. Eles geralmente são usados para inicializar as propriedades de um objeto. Por exemplo, a seguinte classe "Pessoa" tem um construtor que inicializa as propriedades "nome" e "idade": class Pessoa { public $nome; public $idade; public function __construct($nome, $idade) { $this->nome = $nome; $this->idade = $idade; } } Destrutores em PHP Destrutores são métodos especiais que são chamados automaticamente quando um objeto é destruído. Eles geralmente são usados para liberar recursos alocados pelo objeto, como conexões com banco de dados ou arquivos abertos. Por exemplo, a seguinte classe &quo

C# - Design Patterns - Template Method

Olá! Seguindo a proposta de padrões de projeto com C#, falaremos hoje sobre o padrão comportamental Template Method.  Para ver outros padrões que já visitamos por aqui consulte esse link . Esse tema foi tratado de forma brilhante  aqui . Template Method Como dito anteriormente ele é um padrão comportamental que define etapas a serem seguidas, ou seja, com esse padrão podemos determinar etapas e a sequencia de execução delas, deixando a cargo de quem está implementantado como será a implementação dessas etapas. E que vantagem Maria leva? Bom, o grande diferencial aqui é poder ter um contrato que não só define o que deve ser feito mas também garante a sequencia a ser seguida, processos que seguem o mesmo roteiro porém de diferentes formas podem se beneficiar desse padrão: Frameworks fornecem métodos abstratos ou hooks para as subclasses personalizarem o comportamento; Algoritmos que têm uma estrutura comum mas detalhes diferentes, como ordenação, compilação ou  mesmo criptografia; Classe

PHP - Encapsulamento e modificadores de acesso

Neste post, vamos mostrar como usar encapsulamento e modificadores de acesso em PHP, incluindo exemplos práticos (você pode ver o que já publicamos sobre o PHP aqui ). Encapsulamento em PHP Encapsulamento é a prática de esconder o estado e comportamento interno de um objeto do mundo externo e fornecer uma interface pública para interagir com o objeto. Isso pode ser alcançado usando modificadores de acesso, como "public", "private" e "protected". Por exemplo, a seguinte classe "ContaBancaria" encapsula a propriedade "saldo": class ContaBancaria { private $saldo; public function __construct($saldoInicial) { $this->saldo = $saldoInicial; } public function depositar($valor) { $this->saldo += $valor; } public function sacar($valor) {

C# - Design Patterns - Chain of Responsibility

Olá a  todos! Seguindo a proposta de padrões de projeto com C#, falaremos hoje sobre o padrão comportamental  Chain of Responsibility . Para ver outros padrões que já visitamos por aqui consulte esse link . Esse tema foi tratado de forma brilhante  aqui . Chain of Responsibility O padrão de projeto Chain of Responsibility é um padrão de design comportamental que permite passar uma solicitação ao longo de uma cadeia de objetos até que um deles a trate. Cada objeto na cadeia tem a chance de tratar a solicitação. É útil quando há múltiplos objetos que podem responder a uma solicitação e você não sabe antecipadamente qual objeto será o responsável. No C#, a implementação deste padrão envolve a definição de uma interface para as solicitações, criação de classes concretas para tratar as solicitações e definição de uma lógica de encadeamento entre essas classes. Ao receber uma solicitação, cada objeto na cadeia verifica se pode tratá-la e, se não puder,

PHP - Herança e polimorfismo

Neste post, vamos mostrar como usar herança e polimorfismo em PHP, incluindo exemplos práticos (você pode ver o que já publicamos sobre o PHP aqui ). Esses dois elementos que iremos tratar hoje dizem respeito a base do paradigma de orientação a objetos, entende-los é fundamental para criar boas aplicações com recursos reutilizáveis e também compreender recursos e complementos externos a nossa aplicação, sejam das linguagens de programação com as quais estamos lidando como também o uso de plugins e extensões de terceiros. Herança em PHP A herança é um mecanismo que permite que uma classe herde as propriedades e métodos de outra classe. Isso permite a reutilização de código e a organização hierárquica de classes. Por exemplo, a seguinte classe "Estudante" herda da classe "Pessoa" e adiciona a propriedade "matricula": class Estudante extends Pessoa {     public $matricula; } Polim

C# - Design Patterns - Strategy

Olá! Seguindo a proposta de padrões de projeto com C#, falaremos hoje sobre o padrão comportamental Strategy. Para ver outros padrões que já visitamos por aqui consulte esse link . Esse tema foi tratado de forma brilhante aqui . Introdução É muito comum no dia dia nos depararmos com necessidades que executam ações de formas diferentes, ou seja, apesar do trabalho ser o mesmo a forma de execução é distinta, exemplos clássicos são a cobrança de impostos (ICMS e ISS são impostos porém cada um tem seu próprio cálculo), cálculos de descontos entre outros.  Nos exemplos citados anteriormente o que temos é uma mesma tarefa que, em determinado fluxo da aplicação deverá ter um comportamento com um resultado e em outro fluxo teremos comportamentos e resultados diferentes. Uma situação muito comum é simplesmente separar o fluxo em "ifs" e em cada bloco codificar o que precisamos, no exemplo dos impostos bastaria um:  if (

C# - Design Patterns

Olá meus queridos! Hoje daremos inicio a uma série de postagens falando sobre Design Patterns e utilizaremos o C# para demonstra-los. Essa (e as próximas postagens) são uma iniciativa após o meu ingresso nos excelentes cursos da Alura sobre essa temática, porém lá a linguagem utilizada é Java. Minha intenção aqui é passar por cada padrão mostrando na prática como resolver problemas cotidianos que já foram pensados e resolvidos. Mas do que se trata "Design Patterns"? Segundo a Wikipédia "padrão de projeto (do inglês design pattern) é uma solução geral para um problema que ocorre com frequência dentro de um determinado contexto no projeto de software", ou seja, para a maioria dos "problemas" mais comuns que enfrentamos no dia a dia já existem soluções propostas, testadas e amplamente utilizadas. Desse modo evitamos "reinventar" a roda para problemas comuns e melhor, escrevemos código padronizado que qualquer pessoa que também conheça os padrões ir

PHP - Classes e objetos

Seguindo nosso aprendizado sobre PHP hoje veremos um pouco sobre classes e objetos. Neste post, vamos mostrar como usar classes e objetos no PHP incluindo exemplos práticos (você pode ver o que já publicamos sobre o PHP aqui ). Classes e objetos foram introduzidos no PHP a partir da versão 4, lançada em 2000, sendo isso um dos principais motivos para sua popularidade crescente como linguagem de programação para desenvolvimento web. Antes disso, o PHP era principalmente utilizado como linguagem de script para a criação de páginas dinâmicas. Classes em PHP Uma classe é um modelo para a criação de objetos. Ela define as propriedades (estado) e métodos (comportamento) dos objetos criados a partir dela. Por exemplo, a seguinte classe "Pessoa" define as propriedades "nome" e "idade" e o método "imprimirDados": class Pessoa {     public $nome;     public $idade;     public func

PHP - Variáveis e funções

Seguindo nossos primeiros passos com o PHP, neste post vamos mostrar como usar variáveis e funções em scripts PHP para serem executados na linha de comando, incluindo exemplos práticos (você pode ver o que já publicamos sobre o PHP aqui ). Variáveis em PHP As variáveis em PHP são declaradas usando o símbolo "$" seguido pelo nome da variável. O tipo de variável não precisa ser especificado, já que o PHP é uma linguagem de tipagem dinâmica. Por exemplo, o seguinte script atribui o valor "Hello World!" à variável $mensagem e realiza a impressão na tela: <?php     $mensagem = "Hello World!";     echo $mensagem; ?> Funções em PHP As funções em PHP são declaradas usando a palavra-chave "function" seguida pelo nome da função e parênteses. O corpo da função é escrito entre chaves. Por exemplo, o seguinte script define uma função chamada "imprimirMensagem" que impri

C# - Tipos genéricos

A linguagem C# introduziu a funcionalidade de tipos genéricos com a versão 2.0, permitindo que desenvolvedores escrevam código mais flexível e reutilizável. Os tipos genéricos permitem que você escreva uma classe ou método que funciona com qualquer tipo de dados, em vez de estar preso a um tipo específico. Isso permite que o código seja escrito de forma mais genérica, o que aumenta a sua reutilização. Para entender melhor, vamos dar um exemplo de uma classe simples para gerenciar uma lista de objetos. Sem o uso de tipos genéricos, seria necessário escrever uma classe para cada tipo de objeto que desejássemos gerenciar. Por exemplo, uma classe "ListaDeInteiros", outra "ListaDeStrings", e assim por diante. Com o uso de tipos genéricos, é possível escrever uma única classe "Lista<T>" onde T é o tipo genérico. Isso significa que a classe pode ser usada para gerenciar uma lista de qualquer tipo de objeto, sem precisar escreve

PHP - Criando scripts e os executando pela linha de comando

O PHP é uma linguagem de programação popular usada para desenvolvimento web, mas também pode ser usada para criar scripts que podem ser executados diretamente na linha de comando. Neste post, vamos mostrar como criar scripts PHP e como executá-los na linha de comando (você pode ver o que já publicamos sobre o PHP aqui ). Criando scripts PHP Para criar um script PHP, você precisa criar um arquivo com a extensão ".php". Isso pode ser feito com qualquer editor de texto, como o Bloco de Notas ou o Sublime Text. Dentro do arquivo, você pode escrever o código PHP desejado. Por exemplo, o seguinte script imprime "Hello World!" na tela: <?php     echo "Hello World!"; ?> Executando scripts PHP na linha de comando Para executar um script PHP na linha de comando, você precisa usar o interpretador PHP. No Linux e macOS, o interpretador PHP geralmente vem instalado por padrão e pode ser executado

PHP - Como instalar

PHP é uma linguagem de programação popular usada para desenvolvimento web. Neste post, vamos mostrar como instalar o PHP em sistemas operacionais Linux, macOS e Windows, além de como testar a instalação. Instalação no Linux A maneira mais fácil de instalar o PHP no Linux é usando o gerenciador de pacotes do sistema. Para fazer isso no Ubuntu, por exemplo, você pode usar o seguinte comando: sudo apt-get install php Isso instalará a versão mais recente do PHP disponível no repositório do Ubuntu. Se você deseja instalar uma versão específica, pode especificá-la no comando, como por exemplo: sudo apt-get install php7.4 Instalação no macOS Para instalar o PHP no macOS, você pode usar o gerenciador de pacotes Homebrew. Primeiro, você precisa instalar o Homebrew seguindo as instruções no site oficial. Em seguida, você pode usar o seguinte comando para instalar o PHP: brew install php Assim como no Linux, isso instalará a versão mais recente do PHP di