Posts da Tag: Desenvolvimento - Blog da TreinaWeb

Desenvolvimento Back-end Java

O que é o Spring Boot?

Todo desenvolvedor Java sabe o quão trabalhoso é configurar uma aplicação. Uma vez que é necessário a criação de várias pastas e arquivos XML extensos e o menor dos erros pode impedir o funcionamento correto da aplicação, o que resulta em uma tremenda dor de cabeça até a identificação e correção do problema.

Certamente todo esse trabalho de configuração é por vezes frustrante. Pois o que o desenvolvedor deseja é escrever o código das regras de negócio, acompanhando os resultados na tela sem perda de tempo.

Entretanto, dentro do ecossistema do projeto Spring temos o Spring Boot que facilita todo esse trabalho de configuração.

Neste artigo você entenderá um pouco mais sobre como ele torna o desenvolvimento de aplicações Spring mais prazeroso.

Formação:
CONHEÇA A FORMAÇÃO

O que é o Spring Boot?

O Spring Boot é um framework que torna fácil a criação de aplicações Spring autossuficientes e robustas, possibilitando a execução imediata. Contudo isso só é possível por conta da abordagem opinativa sobre a plataforma Spring e bibliotecas de terceiros, que permite ao desenvolvedor gastar o mínimo de tempo possível configurando o projeto, e sim codificando suas regras de negócio.

Dentre as principais funcionalidades do Spring Boot podemos citar:

  • A criação de aplicações Spring autossuficientes;
  • Servidores web como o Tomcat, Jetty e Undertow embutidos;
  • Prover starter’s opinativos para gerenciamento de dependências e build;
  • Configuração automática de bibliotecas Spring e de terceiros sempre que possível;
  • Funcionalidades para ambiente de produção como métricas, health checks e configurações externalizadas.
  • Dispensar a necessidade de configuração XML e geração de código.
Java - Criação de aplicações web com Spring Boot
Curso de Java - Criação de aplicações web com Spring Boot
CONHEÇA O CURSO

Como o Spring Boot funciona?

A princípio, para que tudo isso funcione, o Spring Boot utiliza o conceito de convenção sobre configuração, ou seja, o Spring Boot já possui uma série de configurações padrões para as bibliotecas Spring ou de terceiros que você deseja utilizar.

Entretanto, isso não impede que você personalize essas configurações. É bastante interessante que só é necessário alterar as configurações que deseja, as demais configurações do projeto seguem inalteradas.

Todo esse processo de autoconfiguração e gerenciamento de dependências providos pelo Spring Boot é feito através dos Starters – uma dependência que inicializa algum módulo dentro do nosso projeto.

Só para exemplificar, imagine o desenvolvimento de uma aplicação web com o Spring Web MVC, seria necessário adicionar no nosso projeto as dependências do Spring Core, Spring Web e Spring Web MVC. Além disso haveria a necessidade de configuração dos arquivos XML para que essas dependências funcionem corretamente. Com o Spring Boot, adicionando-se o spring-boot-starter-web o projeto já estará configurado corretamente para utilizar o Spring Web MVC.

Ainda assim existe outra vantagem sobre o uso dos starters do Spring Boot, é que ao utilizá-los, o nosso arquivo de dependências fica menor e mais organizado.

O Spring Initializr

Além disso, para facilitar ainda mais o desenvolvimento de aplicações com o Spring Boot, o Spring possui uma página chama spring initializr, nesta página você repassa as informações do seu projeto como a versão do Spring Boot, GroupID, ArtifactID e os starters. Assim, o spring initializr gera um projeto base para que você já comece o desenvolvimento das regras de negócio da sua aplicação.

Criando uma aplicação Spring Boot na prática

Para ilustrar o funcionamento do Spring Boot, vamos criar uma aplicação web simples com o auxílio do spring initializr.

Primeiramente, acesse o site do spring initializr e preencha as informações:

  • Project: Selecione a opção Maven
  • Language: Selecione a opção Java
  • Spring Boot: Selecione a opção 2.4.2
  • Group: br.com.treinaweb
  • Artifcat: spring-boot-teste
  • Packaging: Jar
  • Java: 11

Como esse será um projeto web, será necessária a adição dos starters do Spring Web e do Thymeleaf para servir como Template Engine.

Print da página do spring initializr com as informações necessárias para criar o projeto Spring

Então, preenchidas todas as informações, clique no botão “GENERATE” para baixar o arquivo .zip contendo o projeto.

Em seguida descompacte o arquivo .zip e o importe para a IDE ou Editor de Código Fonte que você usa.

Agora crie uma nova pasta chamada controller dentro da pasta src/main/java/br/com/treinaweb/springboottest.

Logo após a criação da pasta, crie um novo arquivo Java chamado HomeController.java com o seguinte código.

package br.com.treinaweb.springbootteste.controller;

import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;

@Controller
@RequestMapping("/")
public class HomeController {

    @GetMapping("/saudacao/{nome}")
    public String saudacao(@PathVariable String nome, ModelMap model) {
        model.addAttribute("nome", nome);

        return "saudacao";
    }

}

Agora que já temos a nossa Action e nosso Controller criados, o que precisamos fazer é criar a página HTML que será exibida para o cliente.

Dentro da pasta resources/templates crie um arquivo HTML chamado saudacao.html com o seguinte código.

<!DOCTYPE html>
<html lang="pt-br" xmlns:th="<http://www.thymeleaf.org>">
<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Spring Boot - Index</title>
</head>
<body>
  <h1 th:text="'Olá, ' + ${nome}"></h1>
</body>
</html>
Java - Criação de aplicações web com Spring MVC
Curso de Java - Criação de aplicações web com Spring MVC
CONHEÇA O CURSO

Executando nossa aplicação Spring Boot

Por fim, agora que já temos a nossa aplicação criada, temos que executá-la para vermos o resultado no navegador.

A fim de executar a aplicação, abra o seu terminal e use o comando abaixo:

mvn spring-boot:run

Esse comando executa a aplicação que estará acessível a partir do localhost na porta 8080, acesse a url: http://localhost:8080/saudacao/TreinaWeb e uma página com o texto “Olá, TreinaWeb” aparecerá na tela.

Conclusão

Nesse artigo você viu como o Spring Boot nos ajuda durante o desenvolvimento de aplicações Spring, a criação de um projeto Spring Boot usando o Spring Initializr e o desenvolvimento de uma simples página usando o Spring Web MVC.

Embora esta seja uma aplicação bastante simples, perceba que em nenhum momento houve a necessidade de criar nenhum arquivo XML para a configuração dos módulos do Spring Web MVC e do Thymeleaf. Além disso, nem tivemos o trabalho de configurar um servidor Apache para servir a nossa aplicação, o que nos poupa tempo que é melhor empregado na codificação das regras de negócio.

Recomendo também a leitura do artigo Criando uma API REST com Spring Boot para um melhor contato com os frameworks do projeto Spring.


Desenvolvimento Front-end Javascript

Estruturas condicionais e estruturas de repetição em JavaScript

Neste artigo vamos focar na utilização das estruturas condicionais e estruturas de repetição em JavaScript e de seus conceitos.

JavaScript - Fundamentos
Curso de JavaScript - Fundamentos
CONHEÇA O CURSO

As estruturas condicionais estão ligadas à tomada de decisão de um algoritmo. Ao utilizar expressões que retornam verdadeiro ou falso, o algoritmo executa o bloco de comandos relativos a este resultado.

Já no caso das estruturas de repetição, elas são úteis quando precisamos repetir N vezes a execução de um bloco de comandos até que uma condição seja atendida.

Caso você não esteja familiarizado com os conceitos de estruturas condicionais e estruturas de repetição, aconselho a leitura de nosso artigo Estruturas condicionais e de repetição.

Os exemplos serão executados utilizando o console do navegador, caso você não saiba executar um código JavaScript, leia nosso artigo Executando seu primeiro código com JavaScript.

Estruturas condicionais no JavaScript

Como utilizar a estrutura condicional ‘if(se)’ no JavaScript

Vamos aprender a utilizar as estruturas condicionais no JavaScript, começando pelo uso do if(se), else if e else(senão).

Primeiramente precisamos entender a sintaxe, podemos simplificar com o exemplo abaixo:

if (idade > 18){
    console.log("Você é obrigado a votar");
}

No exemplo nós utilizamos a palavra if seguido da condição idade > 18 . Ou seja, caso a variável idade seja maior que 18 (verdadeiro), os comandos que estarão no bloco serão executados, se tratando do exemplo, será executado o comando console.log("Você é obrigado a votar").

Utilizando estruturas - IF

Porém este exemplo não está completo, afinal, há quem não pode votar e também o voto opcional. Podemos utilizar os operadores lógicos na condição para deixar mais robusto o nosso exemplo:

if (idade > 15 && idade < 18 || idade > 70){
    console.log("O voto é opcional");
}

Agora nós criamos uma estrutura condicional utilizando if e os operadores lógicos && (E) e ||(OU), mas ainda podemos deixar mais completo o nosso exemplo utilizando a estrutura else if :

if (idade > 15 && idade < 18 || idade > 70) {
    console.log("O voto é opcional")
}else if (idade < 16) {
    console.log("Você não pode votar");
}

Como se pode ver, utilizamos o else if para impor outro bloco de comandos caso a primeira condição do if não fosse atendida, neste caso nós teremos o seguinte resultado:

Utilizando estruturas condicionais - ELSE IF

Contudo, para finalizar o nosso exemplo, precisamos também informar quando o voto é obrigatório. Percebe-se que é, justamente, o intervalo de idade que as condições que estão em nosso if / else if não estão abrangendo, portanto, podemos somente adicionar um else, ficando desta forma:

if (idade > 15 && idade < 18 || idade > 70) {
    console.log("O voto é opcional")
}else if (idade < 16) {
    console.log("Você não pode votar");
}else {
    console.log("Você é obrigado a votar");
}

Obtendo o seguinte resultado:

Utilizando estruturas condicionais no Javascript - ELSE

Neste exemplo mostramos como é possível atribuir um comportamento de tomada de decisão utilizando as estruturas condicionais if, else if e else no JavaScript.

Em algumas situações onde trabalhamos com inúmeros if / else e com valores pré-definidos nas condições, podemos utilizar a instrução Switch Case.

Como utilizar Switch Case no JavaScript

Outra estrutura condicional do JavaScript que podemos utilizar é o Switch Case.
O Swith Case é uma instrução que se comporta de forma semelhante ao if / else, porém possui uma estrutura mais organizada e de fácil compreensão. Lembrando que só é aceito valores pré-definidos e não expressões condicionais.

Podemos analisar a estrutura do Switch Case no seguinte exemplo:

let signo = 'Leão';

switch (signo) {
  case 'Áries':
    console.log("De 21 março a 20 abril");
    break;
    case 'Touro':
    console.log("de 21 abril a 20 maio");
    break;
  case 'Gêmeos':
    console.log("de 21 maio a 20 junho");
    break;
  case 'Câncer':
    console.log("de 21 junho a 22 julho");
    break;
  case 'Leão':
    console.log("de 23 julho a 22 agosto");
    break;
  case 'Virgem':
    console.log("de 23 agosto a 22 setembro");
    break;
  default:
    console.log("Signo não registrado");
    break;
}

Neste caso nós temos uma variável que recebe um signo, e então, devemos exibir qual o intervalo de nascimento referente a esse signo. Seria muito mais complexo utilizar if / else para este exemplo do que o switch case.

Ao analisar o exemplo, ao lado do switch atribuímos a variável signo, neste caso ele pede a expressão que será comparada a cada case. Sendo verdadeiro com alguma das opções, os comandos do bloco são executados até atingir a palavra-chave break. Caso nenhuma das opções seja verdadeira, a instrução irá executar os comandos que estarão na opção default.

Ao executar o exemplo acima, obtemos o seguinte resultado:

Utilizando estruturas condicionais - Switch Case

JavaScript Intermediário
Curso de JavaScript Intermediário
CONHEÇA O CURSO

Estruturas de repetição no JavaScrpit

Agora vamos aprender a utilizar as estruturas de repetição no JavaScript, como: while, for, for…in e for…of.

Como utilizar while(enquanto) no JavaScript

Podemos utilizar a estrutura de repetição while caso seja necessário repetir um bloco de comandos por N vezes.

let i = 0;
while(i < 11){
    console.log('5 x ' + i + ' = ' + 5*i);
    i++;
}

A sintaxe do while, como vemos no exemplo acima, é bem simples. Utilizamos a palavra reservada while , logo em seguida precisamos passar uma condição que será atendida enquanto ela retornar true, ou seja, verdadeiro.

Neste caso, simulamos a tabuada do 5, a variável i é o nosso contador, iniciamos ela com o valor 0 , portanto a condição será verdadeira até que ela atinja o valor 11, e por isso ela é iterada a cada repetição – i++, ao atingir tal valor o laço é quebrado.

Executando o código acima teremos o seguinte resultado:

Utilizando estruturas de repetição - While

Utilizando Do-While

O do-while tem o mesmo conceito que o while com uma única diferença, a condição é verificada após os comandos do bloco serem executados, ou seja, mesmo que a condição seja falsa, é garantia que o bloco será executado ao menos uma vez.

Podemos testar da seguinte forma:

let contador = 0;

do{
    console.log("O contador vale: " + contador);
    contador++;
}while(contador == 1)

A variável contador foi inicializada com o valor 0 e o while está com a condição contador == 1 ou seja, a condição é falsa e utilizando o while nosso bloco de comandos não seria executado. Porém podemos perceber que ao utilizar do-while, o bloco vem antes da verificação da condição, com isso ele garante que o bloco de comandos seja executado ao menos uma vez.

Desta forma vamos obter o seguinte comportamento:

Utilizando do-while

Como utilizar For(para) no JavaScript

A estrutura de repetição for no JavaScript segue o mesmo princípio que o while, porém este recurso é mais utilizado quando se sabe o número de iterações da repetição, como ao percorrer um vetor, por exemplo.

Podemos replicar o exemplo acima da tabuada, porém utilizando for:

for(let i = 0; i < 11; i++){
    console.log("5 x " + i + " = " + 5*i);
}

Para utilizar o for, usamos a palavra-chave for seguida de três declarações, primeiramente iniciamos a variável que será o controlador do nosso laço de repetição, logo em seguida precisamos informar a condição a ser atendida e, por último, uma expressão que será executado ao final de cada iteração do for, normalmente utilizamos para incrementar a variável que será utilizada como controlador do nosso laço.

Ao executar o código teremos o resultado semelhante ao exemplo utilizando while:

Utilizando estruturas de repetição no Javascript - FOR

OBS: Vale ressaltar que o while é mais indicado para situações onde não temos conhecimento do número de iterações do laço, já o for é mais adequado para situações que o número de iterações está definido previamente.*

Utilizando for…in e for…of

No JavaScript, nós temos mais duas variações da utilização do for, o for…in e for…of.

O for…in é utilizado para percorrer as propriedades de um objeto, por exemplo:

let carro = {
marca: 'ford',
modelo: 'fiesta',
cor: 'prata',
}

for (propriedade in carro) {
    console.log(propriedade);
}

Criamos uma instância do objeto carro, onde temos como propriedade a marca, modelo e cor.

Ao utilizar o for, passamos a variável que irá percorrer as propriedades do objeto e logo em seguida, de qual objeto.

O resultado esperado:

Utilizando estruturas de repetição no Javascript - FOR IN

Também podemos acessar os atributos de cada propriedade, para isso basta usarmos propriedadecomo índice do nosso objeto, desta maneira:

for (propriedade in carro) {
    console.log(carro[propriedade]);
}

Vamos obter a seguinte saída:

Acessando atributos for in

E por fim, podemos exibir o objeto por completo somente usando o for…in:

for (propriedade in carro) {
    console.log(propriedade + ': ' + carro[propriedade]);
}

Exibindo objetos for in

O for…of nós podemos utilizar para percorrer objetos iteráveis como Maps, Sets e Vetores de forma simples e eficaz, da seguinte forma:

let carros = [ 'fiesta', 'onix', 'fusca', 'saveiro' ];

for (let carro of carros) {
    console.log(carro);
}

Neste caso, vamos obter os valores de cada índice:

Utilizando estruturas de repetição no Javascript - FOR OF

Também é possível exibir o índice referente a cada item usando o método entries()da seguinte forma:

for (let [index, carro] of carros.entries()) {
    console.log(index, carro);
}

Desta maneira vamos obter os índices e os respectivos valores:

Utilizando estruturas de repetição no Javascript - FOR OF

Existem outras maneiras que podemos utilizar para percorrer vetores, aconselho a leitura de nosso artigo Métodos de Arrays que você deve conhecer aqui da TreinaWeb 😀

Conclusão

Neste artigo aprendemos a utilizar as estruturas condicionais if, else if e else, e as estruturas de repetição while, for, for…in e for…of no JavaScript.

Lembrando que são conceitos fundamentais para o seu desenvolvimento no estudo de qualquer linguagem de programação.

Desenvolvedor Front-end
Formação: Desenvolvedor Front-end
HTML, CSS e JavaScript são a base de toda a web. Tudo o que você está vendo aqui agora depende deste tripé. Nesta formação vamos iniciar aprendendo lógica. Em seguida veremos todos os aspectos do HTML, CSS e JavaScript. Por fim, aprenderemos Sass, Google Analytics, empacotar nossas aplicações com Webpack, criação de aplicações Desktop com Electron, UX/UI e uma introdução aos frameworks mais utilizados no mercado: Angular, React, Vue e Ember.
CONHEÇA A FORMAÇÃO

Desenvolvimento Front-end Javascript

Conhecendo variáveis e constantes no JavaScript

Características de tipagem do JavaScript

Primeiramente, devemos citar que a linguagem JavaScript é de tipagem dinâmica, ou seja, não é necessário declarar tipo a uma variável, podendo ser modificada posteriormente.

A própria linguagem de programação, neste caso, tem a habilidade de escolher o tipo de dado de acordo com o valor atribuído a variável.

Em nosso artigo “Quais as diferenças entre tipagens: estática ou dinâmica e forte ou fraca“, explicamos quais os conceitos por tipagem estática e dinâmica e também sobre tipagem fraca e forte. É importante a leitura para você entender como o JavaScript lida com os tipos, principalmente se você está acostumado a programar em uma linguagem com tipagem estática e forte.

JavaScript Básico
Curso de JavaScript Básico
CONHEÇA O CURSO

Tipos de dados do JavaScript

Ao programar em JavaScrpit nós precisamos saber quais os tipos de dados que a linguagem trabalha, os principais tipos de dados primitivos são:

  • Boolean – possuem apenas dois valores: verdadeiro ou falso;
  • Undefined – indica que não foi definido um valor;
  • Null – indica que um valor é nulo;
  • Number – armazena valores numéricos;
  • String – armazena textos;
  • Symbol – armazena símbolos;

Além dos tipos de dados primitivos, nós também temos o tipo object, que possibilita trabalharmos com objetos utilizando JavaScript.

Regras de nomeação de variáveis no JavaScript

Uma das peculiaridades da linguagem JavaScript é que podemos declarar variáveis de duas formas, utilizando var, comum em outras linguagens, ou utilizando let.

Vale ressaltar que por se tratar de uma linguagem de tipagem dinâmica, ao declarar uma variável não é necessário informar o tipo da variável, por exemplo:

var idade = 15;
var nome = 'Marina';
let endereco = 'Av. Central 1';

Ao atribuir o valor 15 para a variável idade, a linguagem já reconhece como uma variável do tipo Number. O mesmo ocorre para a variável nome, ao atribuirmos o valor ‘Marina’ a linguagem reconhece como uma variável do tipo String.

Outras regras devem ser seguidas, como:

  • Não declarar variável com palavras reservadas, como let, var, while, for, etc.
  • Deve conter somente letras, números e underscore.
  • Pode iniciar com uma letra, underscore (_) ou cifrão ($).

Declarando variáveis com var e let no JavaScript

No JavaScript nós temos que nos atentar quando vamos declarar variáveis usando var ou let, pois cada uma possuí diferenças que são importantes.

Antes de tudo precisamos explicar que o JavaScript trabalha com escopos, onde cada bloco (funções, condicionais e estruturas de repetição, por exemplo) é um escopo fechado.

Ao utilizarmos var, ele trabalha de forma independente para cada escopo de função, por exemplo:

var nomeCarro = 'onix';

function carro() {
   var nomeCarro = 'fiesta';
   console.log(nomeCarro);
}

console.log(nomeCarro);

Analisando o código acima percebemos que ao executar a função carro(), iremos obter como resposta a String fiesta. Se executarmos console.log(nomeCarro), vamos obter o nome onix, pois a variável carro só mudou de nome dentro do escopo da função carro().

Usando 'Var' no JavaScript

Porém se trabalharmos com um IF por exemplo, a situação muda:

var nomeCarro = 'onix';
var i = 0;

if(i === 0){
    var nomeCarro = 'fiesta';
    console.log(nomeCarro);
}

console.log(nomeCarro);

Neste caso utilizando var sem o efeito de escopo. Portanto, ao executar console.log(nomeCarro) fora do if teremos como retorno a String fiesta e não onix conforme declarado anteriormente.

Usando 'var' no JavaScript

JavaScript Intermediário
Curso de JavaScript Intermediário
CONHEÇA O CURSO

Ou seja, uma variável sendo declarada como var só tem efeito de escopo em função.

Agora se substituirmos o código acima declarando as variáveis como let:

let nomeCarro = 'onix';
var i = 0;

if (i === 0){
    let nomeCarro = 'fiesta';
    console.log(nomeCarro);
}

console.log(nomeCarro);

No caso declaramos a variável nomeCarro dentro do if com o valor fiesta , mas ao executarmos console.log(nomeCarro) fora do if será exibido a string onix.

Desta forma respeitando o escopo do bloco.

Obs: Vale lembrar que let tem o mesmo comportamento de escopo que var se tratando do escopo de funções.

Usando 'let' no JavaScript

Declarando constantes

Assim como em outras linguagens, podemos declarar constantes que possuem valores fixos. Também vale ressaltar que as constantes tem o mesmo comportamento que variáveis definidas como let em relação ao escopo de bloco, como vimos no exemplo acima.

Na prática podemos utilizar uma constante para atribuir o valor de PI, por exemplo:

const PI = 3.14;

Obs: Por convenção usamos letras maiúsculas separadas por underscore ao declarar uma constante.

Ao tentar alterar o valor da constante, vamos obter o seguinte erro:

Usando Constantes no JavaScript

Conclusão

Neste artigo falamos sobre as características do JavaScript, sendo uma linguagem de tipagem dinâmica. Também aprendemos sobre escopo e, principalmente, sobre a declaração e uso de variáveis e constantes usando as palavras-chave: var, let e const. Aconselho também a leitura de nosso artigo “Como executar o seu primeiro código JavaScript” para iniciar os seus estudos.

Desenvolvedor Front-end
Formação: Desenvolvedor Front-end
HTML, CSS e JavaScript são a base de toda a web. Tudo o que você está vendo aqui agora depende deste tripé. Nesta formação vamos iniciar aprendendo lógica. Em seguida veremos todos os aspectos do HTML, CSS e JavaScript. Por fim, aprenderemos Sass, Google Analytics, empacotar nossas aplicações com Webpack, criação de aplicações Desktop com Electron, UX/UI e uma introdução aos frameworks mais utilizados no mercado: Angular, React, Vue e Ember.
CONHEÇA A FORMAÇÃO

Desenvolvimento Java

Como instalar o Java e nosso primeiro exemplo

Neste artigo veremos como instalar o Java nos sistemas Windows, Linux e MacOS, além disso vamos ver como escrever e executar nosso primeiro programa com a linguagem Java.

O que é o Java?

Java é uma linguagem de programação Orientada a Objetos desenvolvida na década de 90 pela Sun Microsystems, mas que atualmente é mantida pela Oracle.

É uma linguagem multiplataforma, permitindo assim que os programas escritos em Java possam ser executados em diferentes sistemas operacionais. Diferente de outras linguagens que tem o seu código compilado e transformado em código nativo, o Java é compilado para bytecode que por sua vez é interpretado por uma máquina virtual, a JVM (Java Virtual Machine), sendo assim os programas feitos em Java podem ser executados em qualquer plataforma que possua a JVM instalada.

Desenvolvedor Java
Formação: Desenvolvedor Java
A formação Desenvolvedor Java da TreinaWeb tem como objetivo apresentar o desenvolvimento através do Java e todo o ecossistema para desenvolvimento da Oracle. Nesta formação, são desde tópicos básicos como o paradigma orientado a objetos, a preparação do ambiente de desenvolvimento para o Java através do Eclipse e o controle de versão de código através do Git e do GitHub. Até aspectos mais avançados como acesso a bancos de dados relacionais e o desenvolvimento de aplicações web com o Java.
CONHEÇA A FORMAÇÃO

O que é o JDK?

Para que possamos desenvolver nossos projetos utilizando a linguagem de programação Java, primeiro é necessário realizar a instalação do Java Development Kit (JDK), que é um conjunto de ferramentas que permite compilar, executar e depurar nossos códigos em Java. Esse kit de desenvolvimento é gratuito e pode ser obtido a partir de diferentes fornecedores, como a Oracle, o AdoptOpenJDK e entre outros.

Para essa instalação vamos utilizar a versão 11 do JDK fornecido pela AdoptOpenJDK.

Instalação do Java no Windows

  1. Acesse o site do AdoptOpenJDK
  2. Nas opções de versões marque a opção “OpenJDK 11 (LTS)”
  3. Nas opções da JVM marque a opção “HotSpot”
  4. Clique no botão de download para baixar o assistente de instalação

Página de download do OpenJDK

Após realizar o download do assistente de instalação basta executa-lo e seguir o processo padrão de instalação de softwares no Windows (next, next, next, finish), com uma única ressalva, tenha certeza que a opção “Set JAVA_HOME variable” esteja habilitada.

Tela de configuração da variável de ambiente JAVA_HOME

Após finalizar o processo de instalação precisamos verificar se a instalação foi realizada com sucesso, para isso abra um terminal (PowerShell ou Prompt) e execute os comandos abaixo:

java --version

e

javac --version

Caso não ocorra nenhum erro após a execução de ambos os comandos acima significa que o processo de instalação do JDK foi realizado com sucesso.

Windows - Fundamentos para desenvolvedores
Curso de Windows - Fundamentos para desenvolvedores
CONHEÇA O CURSO

Instalação do Java no Linux e MacOS

Para realizar a instalação do JDK em sistemas Linux e no MacOS nós vamos utilizar uma ferramenta de gerenciamento de versões chamada SDKMAN!.

Primeiro precisamos instalar o SDKMAN!, para isso execute o comando abaixo:

curl -s "https://get.sdkman.io" | bash

Em seguida execute o comando a seguir:

source "$HOME/.sdkman/bin/sdkman-init.sh"

Para confirmar que a instalação do SDKMAN! foi executada com sucesso execute seguinte comando:

sdk version

Caso não seja apresentado nenhum erro significa que a instalação do SDKMAN! foi um sucesso!

Um vez que o SDKMAN! foi instalado nós podemos utilizar essa ferramenta para realizar a instalação do JDK.

Para realizar a instalação da JDK na versão 11 fornecida pela AdoptOpenJDK execute o comando a seguir:

sdk install java 11.0.9.hs-adpt

E é apenas isso, com o SDKMAN! podemos realizar a instalação de uma nova versão do JDK com apenas um comando. Para confirmar que a instalação do JDK realmente foi efetuada com sucesso basta executar os comandos abaixo:

java --version

e

javac --version

Caso não ocorra nenhum erro após a execução dos comandos acima significa que o processo de instalação do JDK foi realizado com sucesso.

Linux - Fundamentos para desenvolvedores
Curso de Linux - Fundamentos para desenvolvedores
CONHEÇA O CURSO
macOS - Fundamentos para desenvolvedores
Curso de macOS - Fundamentos para desenvolvedores
CONHEÇA O CURSO

Criando nosso primeiro exemplo em Java

Agora que já temos o JDK instalado em nossa máquina vamos escrever nosso primeiro código em Java que será um simples Olá Mundo. Esse simples código que vai exibir a mensagem “Olá Mundo” tem como objetivo principal verificar se nosso ambiente de desenvolvimento está configurado de maneira adequada.

Para escrevermos nosso código vamos precisar de algum editor de código fonte ou uma IDE, eu irei utilizar o editor de código Visual Studio Code, caso queira saber como instalar esse editor na sua máquina veja o artigo Instalação do VS Code no Windows, Linux e MacOS.

Para desenvolver um código em Java é necessário criar um arquivo com a extensão .java, para escrever o nosso código irei criar um arquivo chamado OlaMundo.java e abri-lo no VS Code, é possível realizar ambas as ações com um único comando:

code OlaMundo.java

Após executar o comando acima o VS Code irá abrir já com o arquivo criado e aberto para que possamos escrever nosso código.

Animação demonstrado a execução do comando para abrir o arquivo OlaMundo.java pelo VS Code

Caso você tenha o VS Code instalado e mesmo assim o comando code não esteja habilitado, basta abrir o VS Code normalmente e criar o arquivo OlaMundo.java da maneira convencional.

  1. Abra o VS Code
  2. Clique na opção de menu File > New File ou use o atalho CTRL + n
  3. Clique na opção de menu File > Save File ou use o atalho CTRL + s
  4. Escolha o local onde o arquivo irá ser salvo
  5. Coloque o nome do arquivo como OlaMundo.java
  6. Clique no botão Salvar

Animação demonstrado a criação do arquivo OlaMundo.java de maneira convencional pelo VS Code

Vamos escrever o nosso Olá Mundo

Na linguagem Java é necessário seguir o paradigma Orientado a Objetos, sendo assim, precisamos criar uma classe publica que tenha o mesmo nome do nosso arquivo, por isso a primeira coisa a fazer no nosso código é escrever uma classe chamada OlaMundo.

public class OlaMundo {

}

Agora que temos a nossa classe criada, precisamos indicar para JVM qual a classe principal do nosso programa, a maneira que a JVM sabe que uma classe é a classe principal é através de um método chamado main, além disso esse método precisa seguir algumas regras, ele precisa ser um método público, estático, ter void como retorno e receber como parâmetro um array de strings.

public class OlaMundo {
    public static void main(String[] args) {

    }
}

Agora chegamos na parte final do nosso código, uma vez que temos a nossa classe OlaMundo e nosso método main definidos o que precisamos fazer é escrever a instrução que irá exibir o texto “Olá Mundo”.

Na linguagem Java quando queremos exibir alguma mensagem na tela durante a execução do nosso código utilizamos a instrução System.out.println e passamos como parâmetro dessa função uma String contendo a mensagem a ser exibida.

public class OlaMundo {
    public static void main(String[] args) {
        System.out.println("Olá Mundo");
    }
}

E com isso finalizamos o nosso código que irá exibir o texto “Olá Mundo”.

Hora de executar o nosso Olá Mundo

Agora que nosso código já está pronto é hora de executa-lo, para isso precisamos primeiro compilar esse código para Bytecode através do compilador do Java que foi instalado na nossa máquina a partir do JDK.

Para isso execute o comando abaixo no seu terminal.

javac OlaMundo.java

O comando javac quer dizer Java Compiler (Compilador Java) e ele é o responsável por compilar o nosso código para Bytecode, depois da execução do comando acima o compilador do Java irá criar um novo arquivo chamado OlaMundo.class esse arquivo é o nosso Bytecode que deverá ser executado pela JVM.

Para executar o nosso arquivo Bytecode nós utilizaremos o comando java

java OlaMundo

Veja que agora não é necessário especificar a versão do arquivo que será executado pela JVM.

Animação demonstrando a execução do arquivo OlaMundo.java pela JVM

Lembrando que os comandos acima devem ser executados no mesmo local onde se encontra o seu arquivo OlaMundo.java

Conclusão

Neste artigo vimos o que é o Java, o que é e como realizar a instalação do JDK nos sistemas Windows, Linux e MacOS e além disso escrevemos e executamos o nosso primeiro Olá Mundo para assim garantirmos que todo o nosso ambiente de desenvolvimento foi configurado corretamente.

Se você quer conhecer mais sobre essa linguagem, não se esqueça de acessar nosso Guia da linguagem Java. Te esperamos lá 🙂


Desenvolvimento Javascript

Como executar seu primeiro código JavaScript

Antes de tudo, caso você não saiba o que é JavaScript, aconselho a leitura de nosso artigo “O que é e como começar com JS” e também sobre “O que se pode fazer com JS hoje em dia“. Com esses artigos você terá uma dimensão maior do que é a linguagem e das possibilidades que ela pode proporcionar.

JavaScript Básico
Curso de JavaScript Básico
CONHEÇA O CURSO

JavaScript no console do navegador

Dito isto, vamos começar a colocar a mão na massa e rodar algo básico utilizando JavaScript. Primeiramente, vamos utilizar o console do navegador, para isto crie um arquivo index.html simples, pode ser como abaixo:

<!DOCTYPE html>
<html lang="pt-br">
  <head>
    <meta charset="utf-8">
    <title>Começando com JavaScript</title>
  </head>
  <body>
    <h2>Começando com JavaScript</h2>
  </body>
</html>

Logo em seguida abra o arquivo em seu navegador de preferência e entre no console pelo inspecionar (normalmente pode ser aberto apertando Ctrl+Shift+i no Windows/linux, cmd+option+c no MacOS ou botão direito → Inspecionar/Inspecionar elemento).

Console do navegador

Será aberto um painel com inúmeras ferramentas de desenvolvimento, clique em console. Neste local podemos fazer alguns testes e entender o comportamento de nosso código direto no navegador (além de inúmeras outras funções).

Neste exemplo vamos criar uma caixa de diálogo usando a função alert(), portanto, basta digitar alert("hello world"). Ao executar a função esperamos que seja exibida a seguinte caixa de diálogo:

Executando função JavaScript

Legal! Acabamos de executar nossa primeira função em JavaScript, agora vamos estruturar um arquivo em JavaScript para entender o seu funcionamento.

JavaScript Intermediário
Curso de JavaScript Intermediário
CONHEÇA O CURSO

Criando e executando um arquivo JavaScript

Crie um arquivo chamado script.js na mesma pasta que criamos o arquivo index.html, com a função que acabamos de utilizar no exemplo anterior:

alert("hello world")

Desta forma, nossa pasta com os arquivos html e js terá a seguinte estrutura:

Estrutura de arquivos

Agora precisamos alterar o nosso arquivo index.html. Lembrando que nós podemos colocar um código JavaScript em qualquer lugar de nosso arquivo html utilizando a tag script. Mas não é recomendado, pois irá gerar certa desorganização e futuras complicações na manutenção de seu projeto.

O ideal é criarmos o arquivo .js e então chamar este arquivo dentro de nosso index.html, para isto também vamos usar a tag script, da seguinte forma:

<!DOCTYPE html>
<html lang="pt-br">
  <head>
    <meta charset="utf-8">
    <title>Começando com JavaScript</title>
  </head>
  <body>
    <h2>Começando com JavaScript</h2>
    <script src="./scripts.js"></script>
  </body>
</html>

Desta forma, o arquivo scripts.js será executado logo na abertura de nosso index.html, exibindo a caixa de diálogo referente ao código de alerta que criamos, como abaixo:

Executando JavaScript

Além das formas citadas acima, para fins de teste e aprendizado, nós também podemos executar nosso código JavaScript em ferramentas online, como o JSFiddle.

Utilizando a ferramenta JSFiddle

Ao entrar no JSFillde logo percebemos que o layout é dividido em quatro seções, sendo: HTML, CSS, JavaScript e a última conta com a preview gerada.

Como podemos ver abaixo, perceba que está implementado o mesmo código que utilizamos no exemplo acima, com a única diferença no CSS, onde podemos ver exatamente o resultado esperado na última seção:

Testando código javascript online

Existem outras ferramentas similares como o JSEditor.io e playcode.io.

Conclusão

Neste artigo demos os primeiros passos em JavaScript. Aprendemos como utilizar o console do próprio navegador, como estruturar os arquivos .js de forma ideal e por último como podemos utilizar ferramentas online que vão nos auxiliar em testes e no aprendizado da linguagem.

Aguarde para mais artigos sobre JavaScript logo em breve 🙂

Desenvolvedor Front-end
Formação: Desenvolvedor Front-end
HTML, CSS e JavaScript são a base de toda a web. Tudo o que você está vendo aqui agora depende deste tripé. Nesta formação vamos iniciar aprendendo lógica. Em seguida veremos todos os aspectos do HTML, CSS e JavaScript. Por fim, aprenderemos Sass, Google Analytics, empacotar nossas aplicações com Webpack, criação de aplicações Desktop com Electron, UX/UI e uma introdução aos frameworks mais utilizados no mercado: Angular, React, Vue e Ember.
CONHEÇA A FORMAÇÃO

Desenvolvimento Python

Instalação do Python e nosso primeiro Olá Mundo

Neste artigo vamos ver como realizar a instalação do Python nos sistemas Windows, Linux e MacOS, além disso vamos ver como escrever e executar nosso primeiro programa com a linguagem Python.

O que é o Python?

O Python é uma linguagem de programação de alto nível e que tem como principal princípio permitir uma alta legibilidade de código através de uma sintaxe simples, porém, poderosa e que permite que programadores desenvolvam suas soluções utilizando poucas linhas de código. A linguagem Python foi desenvolvida por Guido Van Rossum no final dos anos 80.

O Python possui as seguintes características:

  • Open Source
  • Multiplataforma
  • Linguagem Interpretada
  • Tipagem Dinâmica
  • Tipagem Forte
  • Multiparadigma
  • Multinicho

Além disso a linguagem Python possui uma curva de aprendizado muito pequena e é bastante reconhecida pela sua comunidade diversa, acolhedora e bastante ativa.

Desenvolvedor Python
Formação: Desenvolvedor Python
Aprenda os principais conceitos do Python (uso de variáveis, estruturas condicionais e estruturas de decisão), como trabalhar com orientação à objetos (métodos, construtores, destrutores, classes, herança, polimorfismo e duck-typing), estruturas de dados (Listas, Filas, Pilhas, Árvores Binárias, Dicionários, Conjuntos, Tabelas de Espalhamento e Mapas), banco de dados relacionais (DB API e SQLAlchemy) e como criar aplicações desktop com o Kivy.
CONHEÇA A FORMAÇÃO

Caso queira saber mais sobre a linguagem Python recomendo o artigo O que é o Python?.

Como instalar o Python no Windows

A instalação do Python no Windows segue o padrão da maioria dos programas instalados no sistema operacional em questão (next, next, next, finish) com uma única ressalva: no início do processo de instalação, deve-se selecionar a opção “Add Python 3.8 to PATH”. Com isso, o Windows saberá onde está localizado o interpretador do Python e, assim, conseguiremos utilizá-lo sem problemas.

  1. Acesse a página oficial para realizar o download do instalador do Python na versão 3.8.
  2. Vá até a pasta na qual foi feito o download do instalador do Python 3.8.
  3. Clique com o botão direito em cima do instalador.
  4. Clique na opção “Executar como Administrador”.
  5. Com o instalador aberto tenha a certeza de ter marcado as opções “Add Python 3.8 to PATH” para que o comando python fique disponível.
  6. Por fim clique em “Install Now” e siga o processo padrão de instalação de programas no Windows (next, next, next, finish).

Print da tela do assistente de instalação do Python com a opção "Add Python 3.8 to PATH" marcada

Para verificar se a instalação foi realizada com sucesso basta abrir algum terminal do Windows (Prompt de Comando ou Power Shell) e digitar o comando abaixo:

python --version

Caso nenhum erro seja exibido, isso significa que a instalação do Python foi realizada com sucesso.

Windows - Fundamentos para desenvolvedores
Curso de Windows - Fundamentos para desenvolvedores
CONHEÇA O CURSO

Como instalar o Python no Linux

A instalação do Python em ambientes Linux também é bem simples.

Por padrão, o Python já vem instalado nos sistemas baseados em Debian (como o Ubuntu e o Mint), porém dependendo da versão do seu sistema você terá uma versão diferente do Python. Sendo assim, primeiramente devemos verificar se o Python está instalado na nossa máquina e em qual versão. Para isso, execute o comando abaixo para verificar a existência (ou não) do Python 3.8:

python3 --version

Ao executar o comando acima, será retornado a versão do Python 3 instalado em sua máquina. Caso seja retornado algum erro, isso indica que o interpretador do Python ainda não está instalado.

Caso seja retornada uma versão inferior ao Python 3.8 fica sendo sua decisão instalar uma versão mais recente ou não, qualquer versão superior ou igual a versão 3.6 já é o suficiente para desenvolver seus projetos utilizando a grande maioria dos recursos da linguagem.

Sendo assim, caso necessite realizar a instalação, basta executar o seguinte comando:

sudo apt install python3.8

Este comando irá instalar o interpretador do Python em sua versão 3.8.x.

Caso você já tenha uma versão do Python instalada no seu Linux e mesmo assim optou por instalar a versão 3.8, o seu sistema operacional terá duas versões do Python, uma versão é a padrão do sistema que pode ser acessado através do comando python3 e a outra versão é a que foi instalada por você que será acessível através do comando python3.8.

Como instalar o pip

Além disso precisamos instalar o pip, pois diferente dos assistentes de instalação do Python para os sistemas Windows e MacOS ao instalar o Python via apt no Linux a ferramenta pip não é instalada em conjunto.

O pip é um gerenciador de pacotes para projetos Python, é através dele que podemos instalar, remover e atualizar pacotes em nossos projetos, para saber mais sobre o pip recomendo a leitura do artigo Gerenciando pacotes em projetos Python com o PIP.

Para realizar a instalação do pip execute o comando abaixo:

sudo apt install python3-pip

Como instalar o venv

Caso você esteja em um sistema derivado do Debian como o Ubuntu por exemplo, é necessário instalar os binários da biblioteca venv caso você queira utilizar ambientes virtuais em seu ambiente de desenvolvimento, para saber mais sobre ambientes virtuais aqui mesmo no blog da TreinaWeb temos o artigo Criando ambientes virtuais para projetos Python com o Virtualenv.

Para realizar a instalação dos binários da biblioteca venv basta executar o comando abaixo:

sudo apt install python3-venv
Linux - Fundamentos para desenvolvedores
Curso de Linux - Fundamentos para desenvolvedores
CONHEÇA O CURSO

Como instalar o Python no MacOS

A instalação do Python em ambientes MacOS segue a mesma ideia do Windows, onde o processo de instalação é o “padrão” (next, next, next, finish), para realizar o download do instalador acesse o site oficial do Python. Ao final do processo, podemos abrir o terminal do Mac e com o comando abaixo, verificar se a instalação foi feita com sucesso.

python3 --version

Caso nenhum erro seja exibido isso significa dizer que a instalação do Python foi realizada com sucesso.

macOS - Fundamentos para desenvolvedores
Curso de macOS - Fundamentos para desenvolvedores
CONHEÇA O CURSO

Criando nosso primeiro Olá Mundo

Agora que já temos o Python instalado em nossa máquina, vamos escrever nosso primeiro código em Python que será um simples Olá Mundo. Esse simples código que vai exibir a mensagem “Olá Mundo” tem como objetivo principal verificar se nosso ambiente de desenvolvimento está configurado de maneira adequada.

Python - Fundamentos
Curso de Python - Fundamentos
CONHEÇA O CURSO

Hora de escrever nosso Olá Mundo

Para escrevermos nosso código vamos precisar de algum editor de código fonte ou uma IDE, eu irei utilizar o editor de código Visual Studio Code, caso queira saber como instalar esse editor na sua máquina veja o artigo Instalação do VS Code no Windows, Linux e MacOS.

Para desenvolver um código em Python é necessário criar um arquivo com a extensão .py, para escrever o nosso código irei criar um arquivo chamado ola_mundo.py e abri-lo no VS Code, é possível realizar ambas as ações com um único comando:

code ola_mundo.py

Após executar o comando acima o VS Code irá abrir já com o arquivo criado e aberto para que possamos escrever nosso código.

Animação demonstrado a execução do comando para abrir o arquivo ola_mundo.py pelo VS Code

Na linguagem Python quando queremos exibir alguma mensagem na tela durante a execução do nosso código utilizamos a função print e passamos como parâmetro dessa função uma String contendo a mensagem a ser exibida.

print("Olá Mundo")

E com uma única linha de código o nosso Olá Mundo já está pronto, essa é uma das grandes vantagens do Python, ele nos permite desenvolver nossas aplicações com pouquíssimas linhas de código e não precisamos colocar o ponto e vírgula no final da instrução.

Vamos executar nosso Olá Mundo

Agora que nosso código já está pronto precisamos “pedir” para o interpretador do Python executar o nosso arquivo ola_mundo.py, para isso execute o comando abaixo no seu terminal, mas antes de executar o comando não esqueça de salvar o arquivo.

python3 ola_mundo.py
Caso você esteja no Windows deverá utilizar o comando python ao invés de python3.

Pronto, com isso nosso código será executado e a mensagem “Olá Mundo” será exibida no seu terminal.

Animação demonstrando a execução do arquivo ola_mundo.py pelo interpretador da linguagem Python

Conclusão

Neste artigo vimos como é realizada a instalação do Python nos sistemas Windows, Linux e MacOS, além disso escrevemos e executamos o nosso primeiro Olá Mundo para assim garantirmos que todo o nosso ambiente de desenvolvimento foi configurado corretamente.

Mais informações a respeito do Python, basta acessar a documentação da linguagem, também temos alguns outros artigos sobre a linguagem Python e suas funcionalidades:

Se você quer conhecer mais sobre Python, acesse nosso guia da linguagem.


Algoritmos Desenvolvimento Guias

Guia de introdução à programação

O que é de fato a lógica de programação

Quem está começando na área de desenvolvimento de software já deve ter ouvido falar no termo “lógica de programação”. Afinal, este é o primeiro passo para quem deseja iniciar os estudos nesta área.

Lógica de programação se baseia no fato de que ao desenvolver um software nós devemos aprimorar o nosso raciocínio lógico. Ao realizar alguma ação diária, nosso cérebro muitas vezes faz cada etapa da ação de forma automática. Quando você aprende a andar de bicicleta, o que era difícil no começo se torna automático após algum tempo, porém ao desenvolver um software nós vamos precisar passar o passo a passo de cada ação, criando algoritmos que resolvam problemas específicos. Aprender a aperfeiçoar essa capacidade analítica é fundamental para ser um desenvolvedor.

Há um ótimo artigo sobre “O que é de fato a lógica de programação“, aconselho a leitura para você que está começando no mundo do desenvolvimento.

Lógica de Programação Completo
Curso de Lógica de Programação Completo
CONHEÇA O CURSO

Conceitos usados no aprendizado de programação

Ao estudar lógica de programação nos deparamos com alguns conceitos como: algoritmos, fluxogramas, pseudocódigo e sobre linguagem estruturada.

É importante entendermos esses conceitos para ter uma base sólida no aprendizado de programação. Vamos resumir alguns conceitos:

Um algoritmo é uma sequência de passos, com começo, meio e fim, que realiza uma tarefa específica. Muitas vezes para auxiliar na criação e interpretação de um algoritmo nós podemos utilizar uma ferramenta chamada fluxograma, que é um diagrama com símbolos específicos para indicar cada passo e ordem de um algoritmo.

Partindo para algo mais prático, podemos utilizar o “pseudocódigo”, que é um “código” entre a linguagem natural e a codificação propriamente dita. Ela utiliza a estrutura de uma linguagem mas com termos mais simples para facilitar a interpretação do algoritmo. Como podemos ver no exemplo abaixo.

Algoritmo "Somar"

inteiro numero1, numero2, soma;
Exiba: "Digite dois números que serão somados";
leia (numero1,numero2);
soma = numero1+numero2;
Exiba: "O resultado da soma é "soma;
fim;

Você pode se aprofundar sobre o tema lendo o nosso artigo sobre os “Conceitos usados no aprendizado de programação“.

Variáveis e constantes na programação

Ao desenvolver um algoritmo nós precisamos lidar com algum dado ou informação que será manipulado pelo nosso programa. Para lidar com esses dados nós utilizamos as variáveis e constantes.

As variáveis são utilizadas para armazenar dados simples, dado este que pode ser alterado de alguma forma dentro de nosso programa. Como podemos armazenar diferentes tipos de dados, as variáveis também possuem tipos como:
int: (valor número do tipo inteiro).
float: (valor número do tipo decimal).
double: (valor numérico do tipo decimal de precisão dupla).
char: (caractere do tipo texto), string (conjunto de caracteres do tipo texto).
boolean: (representa somente dois valores, verdadeiro ou falso).

As constantes, ao contrário das variáveis, armazenam dados que não podem ser alterados no desenvolvimento do algoritmo, elas possuem um valor fixo. São utilizadas para guardar valores matemáticos ou textos que são estáticos.

Em nosso artigo Variáveis e constantes na programação contamos com exemplos práticos para facilitar a compreensão. Aconselho a leitura para quem está começando os estudos em lógica de programação.

Operadores matemáticos usados na programação

Utilizamos operadores matemáticos a todo momento quando vamos desenvolver um software, independente da linguagem ou paradigma, portanto é fundamental saber como utilizar cada operador.

Partindo do básico, com frequência utilizamos funções com operações básicas da matemática, para realizar essas operações utilizando uma linguagem de programação nós utilizamos os seguintes operadores:

Operador Descrição
+ Adição
Subtração
/ Divisão
* Multiplicação

Vale ressaltar que, como aprendemos em expressões matemáticas, cada operação tem precedência perante outras, seguindo a lógica dos parênteses, potenciação e raiz quadrada, multiplicação e divisão, soma e subtração.

Em nosso artigo aqui na TreinaWeb sobre Operadores matemáticos usados na programação também citamos o uso do operador % (mod), que retorna o resto de uma divisão. Assim como usar os operadores para potenciação e cálculo de raiz quadrada, portanto indico a leitura.

Lógica Orientada a Objetos Completo
Curso de Lógica Orientada a Objetos Completo
CONHEÇA O CURSO

Operadores de comparação na programação

Usamos os operadores de comparação para analisar os valores em uma condição, onde o retorno dessa condição será um valor booleano, ou seja, verdadeiro ou falso. Com isso podemos tratar o comportamento de um algoritmo dependendo dos resultados obtidos.

Os operadores podem variar dependendo da linguagem de programação, pois algumas possuem certas particularidades, mas temos os mais comuns e utilizados na grande maioria delas, que são:

  • > (maior): Retorna verdadeiro caso o primeiro valor seja maior que o segundo.
  • >= (maior ou igual): Retorna verdadeiro caso o primeiro valor seja maior ou igual ao segundo.
  • < (menor): Retorna verdadeiro caso o primeiro valor seja menor que o segundo.
  • <= (menor ou igual): Retorna verdadeiro caso o primeiro valor seja menor ou igual ao segundo
  • == (igual a): Retorna verdadeiro caso o primeiro valor seja igual ao segundo.
  • != (diferente de): Retorna verdadeiro caso o primeiro valor seja diferente do segundo.

No javascript por exemplo temos também o operador ===que além de comparar os valores também leva em consideração o tipo da variável.

Em nosso artigo sobre Operadores de comparação na programação aplicamos na prática o uso dos operadores de comparação e utilizamos fluxogramas para facilitar a interpretação, vale a leitura caso você queira se aprofundar sobre o assunto.

Operadores lógicos

Além dos operadores matemáticos e de comparação, existem os operadores lógicos. Estes são os que trazem mais dúvidas aos iniciantes em lógica de programação se tratando do estudo de operadores.

Em programação existe um tipo de dado chamado booleano, tipo este que guarda somente duas informações: Verdadeiro ou Falso. Ao criar uma estrutura de condição, o retorno desta condição será um dado booleano, para criar essas condições as linguagens também possuem os operadores lógicos. Dessa forma podemos criar operações lógicas mais complexas, esses operadores são:

  • && (E): Retorna verdadeiro quando todas as expressões da condição são verdadeiras, caso contrário, retorna falso.

Operador lógico E

  • || (OU): Retorna verdadeiro quando pelo menos uma das expressões da condição é verdadeira.

Operador lógico OU

  • ! (negação ou “not”): Retorna o oposto do valor em questão.

Operador lógico NOT

Temos um artigo falando somente sobre os Operadores lógicos, para se aprofundar no tema indico a leitura do mesmo.

Estruturas condicionais e de repetição

Utilizando os operadores de comparação e lógicos podemos criar as estruturas condicionais. Em relação as estruturas condicionais, podemos separar em dois tipos de estrutura:

  • Simples – Utilizamos a condição SE (IF), caso a condição seja verdadeira, o algoritmo executa a tarefa solicitada, caso contrário o bloco da condição é ignorado.

  • Composta – Utilizamos a condição SE (IF), caso a condição seja verdadeira, o algoritmo executa a tarefa solicitada, caso contrário utilizamos a condição SENÃO (ELSE), desta forma o algoritmo irá executar a tarefa do bloco SENÃO.

Em algumas situações será necessário executar mais de uma vez o bloco referente às estruturas condicionais, para isso utilizamos as estruturas de repetição. As estruturas de repetição mais comuns são:

  • ENQUANTO (WHILE) – Enquanto o resultado da condição for verdadeira, o algoritmo executa o bloco proposto, por fim é necessário que algo dentro do bloco altere a condição. Mais indicado para ser utilizado quando não sabemos quantas vezes o bloco será executado.

  • PARA (FOR) – A condição PARA tem o mesmo princípio que utilizar enquanto (while), porém este recurso é mais utilizado quando se sabe o número de iterações da repetição, como listar os valores de um vetor por exemplo, também vale ressaltar a legibilidade do código, por ser mais limpo e elegante.

Em nosso artigo sobre estruturas condicionais e de repetição aprofundamos a explicação de cada estrutura e condição, com exemplos práticos e com fluxogramas.

Modularização: Funções e Procedimentos

Utilizando funções e procedimentos podemos modular a construção de um software, ou seja, definir em tarefas menores partes do sistema que possuem responsabilidades específicas. O uso deste recurso traz muitas vantagens como reutilização de código, facilidade de manutenção, melhor legibilidade, entre outras.

Podemos definir de forma básica funções e procedimentos da seguinte forma:

  • Funções – Uma função é um conjunto de comandos que pode ser separado por um “bloco” de código visando o processamento de uma tarefa específica, onde esta função recebe parâmetros e retorna um valor.
  • Procedimento – Os procedimentos são similares às funções, tanto na sua criação como no conceito de ter uma responsabilidade específica, porém nós utilizamos os procedimentos quando não há retorno, para mostrar uma mensagem por exemplo.

Utilizando o conceito de modularização podemos facilitar a construção de sistemas mais complexos dividindo as responsabilidades em blocos menores e específicos. Em nosso artigo sobre Modularização: Funções e Procedimentos, explicamos de forma didática com fluxogramas e exemplos utilizando a linguagem C o uso de cada conceito.

C Básico
Curso de C Básico
CONHEÇA O CURSO

Algoritmos Desenvolvimento

Operadores matemáticos usados na programação

Operadores matemáticos ou aritméticos, são usados com frequência no desenvolvimento de software, independente da linguagem ou paradigma. Vamos ver quais e como são usados os operadores matemáticos mais comuns presentes nas linguagens de programação.

Lógica de Programação Completo
Curso de Lógica de Programação Completo
CONHEÇA O CURSO

Operadores matemáticos mais comuns

Começando do básico, com frequência é necessário criarmos funções que utilizam as operações básicas da matemática, como adição, subtração, divisão e multiplicação, para estes cálculos nós vamos utilizar os operadores da tabela abaixo:

Operador Descrição
+ Adição
Subtração
/ Divisão
* Multiplicação

Utilizando a linguagem C como exemplo, podemos exemplificar as operações básicas da seguinte maneira:

void main()
{
    printf("5 + 5 = %d", 5 + 5); //adição
    printf("\n10 - 3 = %d", 10 - 3); //subtração
    printf("\n10 / 3 = %d", 10 / 3); //divisão
    printf("\n3 * 3 = %d", 3 * 3); //multiplicação
}

Com o código acima vamos obter o seguinte resultado:

Operadores matematicos

Além dos operadores citados acima, algumas linguagens oferecem os operadores referentes a potenciação e módulo (que retorna o resto de uma divisão), normalmente eles são representados por ** e % respectivamente. No caso a linguagem C não oferece um operador para o módulo, mas sim uma função.

Outro ponto que pode gerar dúvidas é sobre o operador +, além da adição ele pode ser usado também em algumas linguagens como operador de concatenação, que nada mais é do que encadear (ou unir) duas strings.

Também podemos realizar operações como potenciação e cálculo de raiz quadrada, onde algumas linguagens possuem operadores específicos para estes cálculos ou disponibilizam funções. Na linguagem C podemos efetuar potenciação e o cálculo de raiz quadrada utilizando as funções pow(base, expoente) e sqrt(x) respectivamente. Em outras linguagens nós podemos utilizar o operador ^ para potenciação.

Lógica Orientada a Objetos Completo
Curso de Lógica Orientada a Objetos Completo
CONHEÇA O CURSO

Precedência de operadores

Assim como aprendemos sobre as expressões matemáticas, quando trabalhamos com programação também devemos prestar atenção sobre a precedência dos operadores.

A prioridade se comporta da mesma forma que aprendemos expressôes matemáticas no ensino fundamental, resolvemos primeiro a potenciação e calculo de raiz quadrada, divisão e multiplicação, adição e subtração, lembrando que podemos utilizar os parenteses para apontar prioridade.

Podemos ver uma lista de precedência mais completa referente a linguagem C conforme abaixo:
Lista precedência de operadores

Nosso artigo sobre precedência e associatividade de operadores aqui da TreinaWeb se aprofunda neste tema, caso você queira saber mais sobre este assunto, vale a pena sua leitura.

Além dos operadores matemáticos, é importante estudar sobre os operadores lógicos e operadores de comparação. Todos eles são importantes para o desenvolvimento na área de programação, pois são amplamente utilizados independente da linguagem de programação ou paradigma, aconselho a leitura do guia de introdução a programaçãoo onde abordamos os conceitos necessários para inicar os estudos na área de desenvolvimento.

Desenvolvedor Java
Formação: Desenvolvedor Java
A formação Desenvolvedor Java da TreinaWeb tem como objetivo apresentar o desenvolvimento através do Java e todo o ecossistema para desenvolvimento da Oracle. Nesta formação, são desde tópicos básicos como o paradigma orientado a objetos, a preparação do ambiente de desenvolvimento para o Java através do Eclipse e o controle de versão de código através do Git e do GitHub. Até aspectos mais avançados como acesso a bancos de dados relacionais e o desenvolvimento de aplicações web com o Java.
CONHEÇA A FORMAÇÃO

Tecnologia

Qual computador comprar para programar?

Olá Web Developers! Caso você esteja na dúvida sobre qual máquina comprar para programar, veio ao lugar certo! Vamos ver os principais pontos que você deve levar em consideração ao escolher sua ferramenta de trabalho, além de dicas de sites que podem te ajudar na análise e escolhas.

Investimento a longo prazo

Computadores não são baratos, mas você não deve pensar apenas no preço, e sim, no valor que uma boa máquina irá te entregar.

Em média uma máquina pode ser bem aproveitada por 3 anos (minha última teve peças que usei por 15 anos). Mas lembre-se que ela será ferramenta de trabalho e, portanto, você vai utilizá-la para ganhar dinheiro. Um computador ruim dificultará o retorno do dinheiro investido, pois você poderá ter travamentos, limitações nas tarefas que pode fazer e gastar mais tempo e dinheiro com manutenção.

Porém, não vá além do que o seu bolso pode pagar. Você deve equilibrar as suas possibilidades, suas necessidades e o retorno financeiro que a ferramenta vai te dar.

Estudante ou Profissional?

Caso você ainda seja estudante de programação, há a possibilidade de ainda não saber direito qual área da programação quer seguir. E também há a chance de ainda não trabalhar, limitando o dinheiro disponível para investir em um computador mais caro. Neste caso, é importante já começar a pesquisar um pouco mais sobre cada área.

Caso já trabalhe com programação e não pensa em mudar no ramo em que atua nos próximos 3 anos, já tem uma ideia da potência que precisa.

Qual a área?

Cada nicho exige um computador mais ou menos potente.

Desenvolvimento web é um dos mais leves, pois você vai precisar basicamente de um editor de código e um navegador (e mais algumas ferramentas que não vão pesar tanto).

Caso precise trabalhar em um projeto mais pesado, que exige ferramentas mais pesadas abertas ao mesmo tempo (como Visual Studio + SGBD), pode ser necessário um computador um pouco mais potente.

Enquanto isso, aplicativos mobile vão exigir coisas como Android Studio e um emulador, que são ferramentas pesadas. Analogamente, Jogos 3D mais complexos e inteligência artificial também vão exigir mais da sua máquina. Portanto, é mais indicado algo mais potente.

Se acaso o seu foco for aplicativos para iOS com Swift, será preciso um Mac, que são máquinas muito caras. Caso você vá utilizar coisas como Flutter ou React Native, dá para programar sem Mac e depois contratar um serviço pela Internet para gerar o seu aplicativo.

Pelo alto preço, não recomendo de forma alguma Macs para iniciantes. Caso você já tenha uma boa experiência e tenha dinheiro, eu recomendo experimentar. Macs são máquinas incríveis para desenvolvimento e entregam ótima performance e experiência.

Também temos um post bem completo no blog do AvMakers caso você também precise do computador para coisas como edição e finalização audiovisual.

HTML5 + CSS3 - Introdução a geradores de sites estáticos
Curso de HTML5 + CSS3 - Introdução a geradores de sites estáticos
CONHEÇA O CURSO

Mobilidade VS Atualização

Outro ponto a se considerar é a necessidade de mobilidade. Computadores de mesa costumam ser mais baratos do que Notebooks (essa diferença está se tornando cada vez menor) e podem ter suas peças trocadas facilmente, facilitando uma melhoria com o tempo. Porém, Notebooks permitem que você os leve para qualquer lugar.

Há pessoas que também levam em consideração que Desktops são mais confortáveis do que Notebooks. Mas você pode solucionar isso comprando um Mouse e um suporte para o Notebook, tornando-o mais confortável com pouco dinheiro.

Caso opte por Desktop, sugiro comprar as peças separadamente, pois vai sair mais barato, mesmo se você pedir para alguém montar para você. Você também pode usar a diferença para comprar peças de mais qualidade. Já no caso do Notebook ou computadores montados, prefira fugir das marcas mais baratas 👍.

Processador

Processador

Processador é o cérebro do seu computador. Temos dois principais fabricantes: Intel e AMD. Sugiro que ao planejar comprar um computador, entre no site da Intel ou AMD e veja qual o último lançamento.

Certamente não faz muito sentido comprar o processador mais atual, pois ele estará caro e provavelmente vai entregar um poder além do que você precisa. Mas é bom ter uma ideia do último lançamento para evitar comprar um processador muito ultrapassado. Compre no máximo algo de duas gerações passadas.

A linha Intel Core possui os processadores i3, i5, i7 e i9. O i3 é o mais fraco entre eles, mas os de hoje em dia possuem uma potência muito aceitável para programar coisas mais leves. O i9 é o mais potente, porém, mais caro.

Para a maioria dos casos, o i5 servirá para você. Caso faça coisas mais pesadas como aplicativos mobile e jogos 3D, é mais interessante optar por um i7. Siga sempre essa lógica: para programação, normalmente você vai precisar de algo intermediário.

Caso você esteja procurando por um Notebook, a tarefa daqui para frente será mais simples. Se você estiver montando o seu computador, precisará verificar se as peças são compatíveis entre sí. Portanto, também é importante a escolha da placa mãe.

Memória RAM

Memória RAM

A RAM é onde os dados ficam armazenados para o processador acessá-los e usá-los. Ou seja, é para onde vão os arquivos e programas que são abertos.

Hoje em dia o mínimo recomendado são 8GB de RAM. Caso você faça coisas mais pesadas, como desenvolvimento de jogos, ou precisa deixar IDE, banco de dados e outras ferramentas pesadas abertas, pode ser interessante ter 16GB.

Além disso, também é importante verificar o modelo e velocidade da memória. Os modelos atuais usam o padrão DDR4, então evite comprar algo com DDR3 ou anterior. Os modelos DDR4 oferecem velocidades entre 2.133MHz até 4.266 MHz. Para programação não fará muita diferença.

Mais uma vez, verifique o modelo suportado pela placa mãe. A capacidade máxima de memória também vai depender dela.

Prefira sempre comprar os pentes de memória em pares. Se deseja 8GB, compre dois pentes de 4GB. Isso vai permitir o uso da tecnologia chamada Dual Channel, que possibilita o acesso às duas ao mesmo tempo.

Memórias de marcas e velocidades diferentes podem gerar inconsistências na performance. Mesmo memórias de mesma velocidade e marca podem ter alguma diferença na fabricação. Portanto, também é indicado comprar os pentes que já vem em pares, pois eles já foram fabricados e testados juntos.

Placa Mãe

Placa Mãe

A Placa Mãe (motherboard) é onde a gente conecta todos os componentes. Para evitar problemas de compatibilidade entre peças de diferentes gerações e marcas, cada geração costuma ter um padrão de encaixe.

Por exemplo, você não poderá encaixar um processador Intel da 11ª geração em uma placa mãe projetada para a 7ª geração, nem poderá colocar um processador da AMD.

Veja também o tamanho da placa mãe, como mostrado na imagem acima. Os modelos mais comuns são ATX. É importante saber o tamanho da placa para depois não errar na escolha do gabinete.

React - Despertando o Poder dos Hooks
Curso de React - Despertando o Poder dos Hooks
CONHEÇA O CURSO

Armazenamento – HD e SSD

HD e SSD

Quando salvamos nossos arquivos ou queremos abrir um programa, tudo é acessado no dispositivo de armazenamento. Temos duas opções: HD e SSD.

Os HDs existem há mais tempo, portanto, costumam ser mais baratos com mais capacidade de armazenamento (como 1TB e 2TB) e costumam durar mais.

Já os SSDs são mais recentes e mais caros. Porém, são bem mais rápidos. Eles costumam ter uma capacidade de armazenamento menor e tem uma vida útil um pouco menor também.

Se tiver pouco dinheiro, indico usar um HD mesmo. Se tiver um pouco mais, indico comprar um SSD para o sistema operacional (assim o computador e os programas instalados irão iniciar mais rapidamente) e comprar um HD entre 500GB e 1TB para salvar seus arquivos.

Tenha pelo menos 250GB de armazenamento. Isso deve ser o suficiente para o sistema operacional, seus programas e alguns projetos. Lembrando que projetos normalmente são salvos em algum repositório remoto, como o GitHub, então você sempre poderá apagar da sua máquina antes de começar a trabalhar em um novo projeto caso falte espaço.

Fonte de Alimentação

Fonte de Alimentação

Para que o computador funcione corretamente, todas as peças devem receber uma quantidade suficiente de energia. Por isso devemos escolher a fonte certa.

Para saber a potência necessária de acordo com o consumo das peças que você está escolhendo, utilize esta calculadora de PSU online.

Lembre-se de sempre deixar uma margem de folga para futuras melhorias.

Ao procurar por fontes, você também verá esses selos:

Selos de Eficiência de Fontes

Eles indicam a eficiência da fonte. Por exemplo, se ela precisa entregar 100 watts de energia, ela irá puxar mais do que isso da tomada.

20% 50% 100%
80 Plus Bronze 82% 85% 82%
80 Plus Silver 85% 88% 85%
80 Plus Gold 87% 90% 87%
80 Plus Platinum 90% 94% 91%

Prefira escolher fontes que possuam alguns destes selos, pois indica que passaram por testes rigorosos para certificação. Do contrário, você corre o risco de comprar uma fonte que pode danificar seu hardware e até causar explosões.

Gabinete e Refrigeração

Gabinete

O gabinete vai servir para proteger seus componentes. Deve ser do tamanho certo para o modelo da sua placa mãe e fonte.

Gabinete pequeno com fonte de energia grande saindo pelos lados

Um bom espaço interno também permite melhor circulação de ar. Em outras palavras, será melhor para a refrigeração do seu hardware.

Alguns gabinetes também permitem a adição de mais coolers, melhorando o fluxo do ar que entra e sai do gabinete.

Sistema Operacional

Em um mesmo hardware, o Linux costuma ser mais rápido do que o Windows.

Se você é iniciante, sugiro o Windows. Com ele será mais simples configurar e instalar seus programas. Por outro lado, como programador é importante você também aprender a usar alguma distribuição Linux.

Aqui na TreinaWeb possuímos cursos para você aprender a trabalhar com Windows, Linux e Mac para programação.

Windows - Fundamentos para desenvolvedores
Curso de Windows - Fundamentos para desenvolvedores
CONHEÇA O CURSO
Linux - Fundamentos para desenvolvedores
Curso de Linux - Fundamentos para desenvolvedores
CONHEÇA O CURSO
macOS - Fundamentos para desenvolvedores
Curso de macOS - Fundamentos para desenvolvedores
CONHEÇA O CURSO

Ainda na dúvida de quais peças escolher?

Há sites onde você pode escolher as peças e montar o seu computador. Geralmente esses sites são voltados para montar computadores gamers, mas a vantagem é que o sistema deles já indica as peças compatíveis com suas escolhas e também a potência mínima que você precisa para a fonte de alimentação.

Depois você pode pesquisar estes componentes em outros sites ou comprar por ali mesmo, que geralmente vão te mandar o computador já montado e testado. Esse é o caso de sites como Terabyte e Pichau.

Também há o site Meu PC, onde você pode ir escolhendo peças e ele vai te ajudando a montar o seu PC, indicando a compatibilidade das peças, potência necessária da fonte e indicando as lojas onde você pode comprar cada peça. Além disso, também possuem um blog onde sempre há noticías sobre hardware e uma seção chamada Build dos usuários, onde usuários do site compartilham as peças que usaram para montar suas máquinas.

Outra dica também muito importante e conhecida para escolher um bom computador: jamais compre computadores em lojas que vendem geladeiras. Isso porque essas lojas costumam vender de tudo, e não possuem especialização na área de informática. Por outro lado, lojas especializadas em informática costumam analisar as marcas e qualidade das peças que vão disponibilizar para venda, além de conseguir oferecer um preço melhor.

Telas

Monitor Dell

Para um bom conforto (e poder ter mais coisas ao mesmo tempo na tela), são recomendados monitores de pelo menos 21″. Monitores muito grandes (acima de 27″) também podem causar desconforto, mas isso vai depender muito do seu local de trabalho.

Não é preciso um monitor com tantas cores e taxa de atualização alta. Porém, como você vai ficar muito tempo no computador, pode ser interessante um monitor que possua uma tecnologia de redução de luz azul emitida para não prejudicar tanto a sua vista.

Dependendo do seu trabalho, pode ser interessante trabalhar com 2 telas. Normalmente compensa mais ter 2 telas pequenas do que apenas uma tela grande.

Placa de Vídeo

Placa de Vìdeo GeForce RTX-3090

Placas de Vídeo são responsáveis por gerar as imagens que a tela irá exibir. Como o trabalho do programador é principalmente escrever código, não são necessárias, a menos que você esteja programando, por exemplo, um jogo 3D com vários elementos e efeitos que exigem muito da máquina para gerar as imagens, como Ray Tracing.

Também pode ser que você esteja desenvolvendo uma inteligência artificial com Machine Learning, e precisa treiná-la bem. Neste caso, uma placa de vídeo pode ajudar a acelerar o processamento, o que te economizará tempo.

Unidade de DVD

Hoje em dia tudo é feito na base do download ou pen drive. Portanto, não é necessário a compra de um leitor/gravador de CD/DVD. Muitos gabinetes e notebooks hoje em dia nem estão vindo mais com isso.

Caso você ainda queira poder ler CDs e DVDs, pode comprar um leitor externo, que se conecta ao computador por USB.

Desenvolvedor Python
Formação: Desenvolvedor Python
Aprenda os principais conceitos do Python (uso de variáveis, estruturas condicionais e estruturas de decisão), como trabalhar com orientação à objetos (métodos, construtores, destrutores, classes, herança, polimorfismo e duck-typing), estruturas de dados (Listas, Filas, Pilhas, Árvores Binárias, Dicionários, Conjuntos, Tabelas de Espalhamento e Mapas), banco de dados relacionais (DB API e SQLAlchemy) e como criar aplicações desktop com o Kivy.
CONHEÇA A FORMAÇÃO

Algoritmos Desenvolvimento

Conceitos usados no aprendizado de programação

Para desenvolver um software nós precisamos passar instruções para o computador com o passo a passo das tarefas que o mesmo irá realizar para resolver um problema, este conceito é chamado de algoritmo. Diferentemente do início do desenvolvimento de software, onde essas instruções eram passadas por cartões perfurados, hoje nós podemos passar as instruções utilizando padrões de códigos, que podem ser traduzido nas linguagens de programação.

cartão perfurado

Lógica de Programação Completo
Curso de Lógica de Programação Completo
CONHEÇA O CURSO

Existe uma variedade de linguagens de programação e de paradigmas que visam facilitar o desenvolvimento e manutenção dos sistemas, porém algo imutável é o conceito base da lógica de programação, este que você deve desenvolver pois são fundamentais no uso de qualquer linguagem e paradigma.

Se você está começando agora a estudar lógica de programação, antes de tudo aconselho a leitura de nosso artigo “O que é de fato a lógica de programação?” entramos mais a fundo sobre o conceito deste tópico tão importante da área de desenvolvimento.

Neste artigo vamos partir para a introdução a lógica de programação, exemplificando como podemos transformar ações do mundo real em algoritmos, uso de ferramentas para reforçar o aprendizado como o fluxograma e o próprio desenvolvimento de um algoritmo básico em uma linguagem de programação.

O que são algoritmos?

As nossas ações desde o momento que acordamos são lógicas, pense bem, quais ações nós fazemos ao acordar para levantar pela manhã?

Acordar
Abrir o olho esquerdo
Abrir o olho direito
Sentar na cama
Procurar o Chinelo
Encontrou?
    Colocar o chinelo esquerdo
    Colocar o chinelo direito.
    Levantar
    Fim
Não Encontrou?
    Levantar Descalço
    Fim.

Ao acordar nós fazemos uma série de ações, porém é algo natural para nós, já o computador necessita que essas instruções sejam informadas passo a passo de forma minuciosa, essa sequência de passos que realizam uma tarefa são chamados de algoritmo.

Repare como em uma atividade do nosso dia a dia nós efetuamos uma série de passos para realizar uma tarefa simples, por ser algo de nosso cotidiano, realizamos esse “algoritmo” de forma automática, porém um computador não tem essa habilidade, sendo necessário que o ser humano programe o algoritmo para o computador realizar uma tarefa que resolva um problema específico.

O que é um fluxograma?

Uma ferramenta que é muito utilizada para auxiliar no desenvolvimento de algoritmos é o uso de fluxogramas, com essa opção é possível analisar de forma visual o comportamento de um algoritmo e facilitar a sua interpretação. Ao utilizar um fluxograma é necessário seguir um padrão de símbolos, a tabela abaixo explica os símbolos mais utilizados na área de programação:

Conceito do algortimo em um fluxograma
fonte: (http://www.univasf.edu.br/~marcelo.linder/arquivos_ap/aulas_M2/aula4.pdf)

O algoritmo acima, aplicando o fluxograma, ficaria da seguinte forma:

Fluxograma de exemplo

Utilizando Pseudocódigo

Vamos partir agora para um exemplo mais prático, como podemos criar um algoritmo para o computador somar dois números?

Em pseudocódigo, que é um “código” onde utilizamos uma linguagem entre a natural e a codificação, teremos o seguinte resultado:

Algoritmo "Somar"

inteiro numero1, numero2, soma;
Exiba: "Digite dois números que serão somados";
leia (numero1,numero2);
soma = numero1+numero2;
Exiba: "O resultado da soma é "soma;
fim;

No pseudocódigo acima nós criamos um algoritmo para somar dois números utilizando os operadores matemáticos.

O primeiro passo foi informar com quais valores o algoritmo deverá trabalhar, no caso o valor do numero1, numero2 e o valor que representa a soma com o valor soma, todos os valores são do tipo inteiro. Você pode conferir este conceito em nosso artigo sobre variáveis e constantes caso não conheça.

Logo em seguida utilizamos o passo “Exiba”, onde nosso algoritmo irá exibir uma mensagem para o usuário e posteriormente o passo leia, para ler os dados do número 1 e número 2 que serão respectivamente informados pelo usuário.

Usamos uma expressão matemática para somar o numero1 e numero2, atribuir este valor a variável soma e por último, exibir a mensagem com o valor correto da soma.

Nós podemos também representar o algoritmo acima utilizando o fluxograma, onde iremos obter o seguinte resultado:

fluxograma de soma

Lógica Orientada a Objetos Completo
Curso de Lógica Orientada a Objetos Completo
CONHEÇA O CURSO

Linguagem de Programação Estruturada

Para finalizar o nosso exemplo, vamos efetivamente programar este algoritmo utilizando uma linguagem de programação, neste caso o C que é ótimo para fins didáticos.

void main() {
    int numero1;
    int numero2;
    int soma;

    printf("Digite dois numeros que serao somados:\n");
    scanf("%d", &numero1);
    scanf("%d", &numero2);

    soma = numero1 + numero2;

    printf("O resultado da soma é %d", soma);
}

Iremos obter o seguinte resultado:

Resultado do exemplo em C

Utilizamos a linguagem C para este exemplo, uma linguagem estruturada. A programação estruturada é baseada no conceito de modularização, onde cada responsabilidade do software a ser desenvolvido é baseado em blocos que devem realizar tarefas únicas, estes “blocos de código” são chamados de funções e procedimentos. Você pode entender melhor este conceito em nosso artigo sobre “modularização: funções e procedimentos“.

Conclusão

Vale reforçar que o estudo em lógica de programação é fundamental para o domínio de qualquer linguagem e paradigma, esse conhecimento será primordial para a sua evolução nos estudos na área de desenvolvimento de software, portanto, tenha paciência e evite pular etapas no seu aprendizado, aconselho a leitura de nosso artigo sobre o guia de introdução a programação onde abordamos vários assuntos importantes.

C Básico
Curso de C Básico
CONHEÇA O CURSO

Carreira

Motivos que podem te fazer desanimar/desistir da programação: como evitá-los?

Com as oportunidades e ótimos salários que a área de TI oferece, é normal muitas pessoas se interessarem em partir/migrar para ela, principalmente para a área de desenvolvimento, onde há muita procura. Mas, essa caminhada pode não ser tão fácil assim. Porque algumas pessoas começam a programar, mas acabam desistindo no meio do caminho? Veremos neste artigo algumas causas que podem te levar a desistência e como você pode evitá-las.

Muita coisa para estudar

Se você está iniciando na área ou está em transição, pode se assustar com a quantidade de conteúdo que vai encontrar por aí: uma infinidade de conceitos, linguagens, frameworks… a lista é bem grande!

Sendo assim, se você está começando, busque conhecer um pouco de cada coisa. Depois tente escolher uma linguagem e estudar somente ela, até você ir pegando o jeito.

Além disso, devemos frisar aqui que essa questão de estudos varia pra cada aluno: depende da quantidade de tempo que tem para estudar, se tem mais ou menos dificuldade, entre outros aspectos…

Por isso, não se apegue a quantidade de coisas que você deve estudar e não espere por resultados rápidos. Se você já inicia os estudos na programação querendo saber em quantos meses vai se tornar um programador profissional pode acabar se frustrando. Isso é algo que você vai construindo com o tempo, não tem jeito.

Não consigo fazer sozinho

Conforme você for estudando e aprendendo, seja com vídeo aulas ou com seu professor na faculdade, é normal você ir fazendo junto com ele, “copiando” o mesmo código. Isso não tem o menor problema, afinal você está aprendendo. Mas é muito importante você aprender de verdade.

Você deve saber o porquê de estar fazendo cada coisa, não apenas copiando e colando código. Isso porque, na hora que você for desenvolver algo sozinho, você vai ficar perdido e não vai conseguir. Sendo assim, não seja apenas um copiador de código. Tente desenvolver programas do zero, algo que você tem mente, para ir praticando. Claro que você pode realizar consultas sem problemas 😀

Não consigo estudar / manter o foco

Neste tópico podemos ter algumas causas para a frase acima: você não consegue estudar porque não tem tempo? Ou porque está travado em alguma coisa? Ou porque você ainda não vê resultados? Falta de motivação? Podem ser diversas as causas que fazem você estacionar.

É extremamente importante manter uma constância nos estudos, ter essa disciplina e dedicação ao aprendizado fará com que você alcance melhores resultados. Realmente em algumas vezes você também terá que estudar algo que não gosta, faz parte! Mas não tenha medo de estudar algo e se sentir perdendo tempo.

Desenvolvedor ASP.NET Full-Stack
Formação: Desenvolvedor ASP.NET Full-Stack
A formação Desenvolvedor ASP.NET Full Stack da TreinaWeb tem como objetivo abordar as duas principais plataformas dentro do ASP.NET: o ASP.NET MVC, para criação de aplicações web seguindo o padrão MVC/MVW; e o ASP.NET WebAPI, para criação de APIs RESTful que sigam os padrões mais atuais da indústria.
CONHEÇA A FORMAÇÃO

Me sinto perdido

Com a quantidade de possibilidades que a área oferece, é normal você se sentir perdido com tantas tecnologias. Esse excesso de informação pode te deixar totalmente perdido em que rumo tomar. Por isso, muitas vezes ter um caminho a seguir, já ajuda muito.

Aqui mesmo na TreinaWeb possuímos o plano de carreira personalizado, que são aconselhados principalmente aos alunos que necessitam ter um acompanhamento profissional na hora de escolher qual caminho trilhar nos estudos (por qual curso iniciar).

Então o ideal é traçar um caminho e segui-lo. Não precisa ser um caminho longo, pode ser algo a curto prazo.

Muita exigência das vagas

Você já deve ter visto algumas vagas onde a lista de conhecimentos pedidos é enorme – às vezes até um pouco exagerada para o cargo e, principalmente, o salário.

Mesmo que você não se sinta preparado, é importante você se candidatar a vagas de estágio ou de nível júnior. Ainda que você não possua todos os conhecimentos pedidos, você pode explicar nas entrevistas que apesar de não saber determinada tecnologia naquele momento, você tem interesse em aprender. Mesmo que não dê certo, você ainda ganha experiência em entrevistas.

Isso porque é difícil achar um profissional que atenda 100% do que é pedido, por isso deixe de lado o pensamento de que você não está a altura daquela vaga, só porque não atende 100%. Não custa tentar, certo? 🙂


Algoritmos Desenvolvimento

Operadores de comparação na programação

Neste artigo vamos abordar como são utilizados os operadores de comparação, fundamentais para a criação de algoritmos na lógica de programação.

Caso você não esteja familiarizado com o estudo de lógica de programação, indico a leitura do nosso artigo sobre variáveis e constantes na programação.

Os operadores de comparação são operadores que possuem o objetivo de analisar os valores de uma expressão e retornar um valor booleano, ou seja, verdadeiro (1) ou falso (0). Cabe mencionar que também existem os operadores lógicos, aconselho a ler o nosso artigo.

Lógica de Programação Completo
Curso de Lógica de Programação Completo
CONHEÇA O CURSO

Tabela de operadores de comparação

Os operadores mais utilizados na lógica de programação são: >, >=, <, <=, ==, !=.

  • > (maior): Retorna verdadeiro caso o primeiro valor seja maior que o segundo.
  • >= (maior ou igual): Retorna verdadeiro caso o primeiro valor seja maior ou igual ao segundo.
  • < (menor): Retorna verdadeiro caso o primeiro valor seja menor que o segundo.
  • <= (menor ou igual): Retorna verdadeiro caso o primeiro valor seja menor ou igual ao segundo
  • == (igual a): Retorna verdadeiro caso o primeiro valor seja igual ao segundo.
  • != (diferente de): Retorna verdadeiro caso o primeiro valor seja diferente do segundo.

Importante ressaltar que algumas linguagens de programação possuem algumas particularidades, como em javascript, temos o operador de comparação ===, que além de comparar o valor ele também verifica o tipo da variável, em relação aos tipos aconselho a leitura de nosso artigo sobre tipagem nas linguagens de programação.

Podemos ver na prática usando a linguagem C, por exemplo, como um algoritmo se comporta ao retornar os valores ( verdadeiro (1) ou falso (0) ) das expressões utilizando os operadores de comparação da tabela, conforme código que segue:

void main(){
    int x = 5;
    int y = 10;

    printf("X é maior que Y? %d", x > y);
    printf("\nX é menor que Y? %d", x < y);
    printf("\nX é diferente de Y? %d", x != y);
    printf("\nX é igual a Y? %d", x == y);

//também temos os comparadores maior ou igual e menor ou igual

    int a = 20;
    int b = 20;

    printf("\nA é maior ou igual a B? %d", a >= b);
    printf("\nB é maior ou igual a B? %d", a <= b);

    //agora vamos fazer um teste trocando o valor de b

    b = 21;

    printf("\nA é maior ou igual a B? %d", a >= b);
    printf("\nB é maior ou igual a B? %d", a <= b);
}

O retorno esperado será:
Retorno operadores de comparação

Como utilizar os operadores de comparação

Quando vamos tratar o comportamento de um algoritmo precisamos utilizar as estruturas condicionais e de repetição, estas que serão dependentes dos operadores de comparação para trilhar um caminho, por exemplo, se nosso objetivo é exibir os números ímpares em um intervalo definido, teremos o seguinte algoritmo:

Início
var inteiro x = 10;
para (inteiro i = 1; i <= x; i++) {
    var float y = i % 2;
        se (y != 0) {
            exibir "o número i é ímpar"
        }
}
Fim

Para facilitar o entendimento podemos usar o seguinte fluxograma:

Fluxograma operadores de comparação

E para entender na prática em C ficará da seguinte forma:

void main()
{
    int x = 10;
    for (int i = 1; i <= x; i++) {
        float y = i % 2;
        if (y != 0) {
            printf("O número %d é impar", i);
        }
    }
}
Lógica Orientada a Objetos Completo
Curso de Lógica Orientada a Objetos Completo
CONHEÇA O CURSO

O retorno esperado será:

Retorno algoritmo números ímpares

Neste algoritmo temos uma série de operadores de comparação, vamos entender como eles funcionam.

Vale ressaltar que é importante se atentar ao operador == e =, == é um operador de comparação que o algoritmo verifica se os valores são iguais, já = é um operador de atribuição, que irá atribuir o valor declarado a variável, onde na linha int x = 10 atribuímos o valor 10 a variável x. Dito isso, vamos ao algoritmo:

Dentro do para/for temos o uso do operador de comparação <= (menor ou igual), em: i <= x, ou seja, o algoritmo está verificando se a variável i é menor ou igual a x (variável que declaramos acima), portanto, se essa expressão for verdadeira o algoritmo irá executar o bloco a seguir, se for falsa o laço de repetição chegará ao seu fim.
Outro operador de comparação importante no algoritmo é o != (diferente de), que utilizamos em: y != 0, ou seja, se a variável y é diferente de 0, o próximo bloco que exibe o número ímpar será executado, agora se o retorno for falso o algoritmo irá retornar ao laço para/for.

Considerações finais

No exemplo aprendemos a utilizar os operadores de comparação para tratar o comportamento de um algoritmo. Lembrando que nos exemplos deste artigo utilizamos a linguagem de programação C, mas os conceitos são fundamentais para o uso de qualquer linguagem de programação. Em nosso artigo sobre o guia de introdução a programação abordamos outros conceitos importantes, indico a leitura.

Projeto de Banco de dados - Fundamentos
Curso de Projeto de Banco de dados - Fundamentos
CONHEÇA O CURSO