Giter VIP home page Giter VIP logo

curso-completo-de-ruby's Introduction

O Projeto final é um arquivo de Tradução usando a API do Google

Este é o projeto final do curso de Ruby completo da One Bit Code, onde eu criei um arquivo Ruby que utiliza a API do Google Cloud Translation para traduzir textos para diferentes idiomas.

Como o arquivo funciona?

  • credentials

Pré-requisitos

Antes de começar, você precisa ter os seguintes requisitos instalados e configurados em seu ambiente de desenvolvimento:

  • Ruby 2.6 ou superior
  • Gem google-cloud-translate instalada

Configuração da API do Google Cloud Translation

Para utilizar a API do Google Cloud Translation, siga os passos abaixo:

  • Acesse o Google Cloud Console e crie um novo projeto ou selecione um projeto existente.
  • Ative a API de Tradução (Cloud Translation API) para o seu projeto.
  • Crie uma chave de API (API Key) para autenticação. Você precisará criar e fornecer o caminho para o arquivo JSON de credenciais da conta de serviço do Google Cloud em vez de apenas a chave da API.

Instalação

  • Clone o repositório do projeto para o seu ambiente local
  • Acesse o diretório do projeto
  • Instale as dependências do projeto (bundle install)

Utilização

  • Siga esse passo a passo para criar a chave API (https://alexsacchi.com.br/como-gerar-uma-api-do-google-translate/)
  • Crie a credencial dentro do seu projeto no site do google
  • credentials
  • Crie a service account
  • credentials
  • Dentro de service account crie a chave
  • credentials
  • Crie e Baixe o arquivo JSON com as credenciais e salve na pasta do projeto
  • credentials
  • Substitua o caminho dentro do arquivo tradutor_de_texto.rb no projeto para o da credencial que vc baixou
  • credentials
  • Agora pra finalizar copie a ID do seu projeto no site do google
  • credentials
  • Basta colar no caminho de ID do seu projeto
  • credentials
  • Salve o arquivo após realizar as alterações.
  • Execute o arquivo traducao.rb conforme o gif do início

Contribuição

Contribuições são bem-vindas! Se você tiver alguma melhoria ou correção para propor, fique à vontade para abrir uma issue ou enviar um pull request.

curso-completo-de-ruby's People

Contributors

philipeex avatar

Watchers

 avatar

curso-completo-de-ruby's Issues

08- Ruby Avançado I

Blocks

Um bloco pode ser entendido como uma função anônima, ou seja, uma função sem nome.É definido entre do..end ou colchetes e da mesma forma que os métodos que você viu até agora, pode receber parâmetros para sua execução.

Lambda

Lambdas são similares aos blocks, mas podem ser salvas em variáveis para serem reutilizadas.

Modules

  • NameSpace

  • Mixin

  • MISSÃO 1 O ruby oferece um método chamado capitalize para tornar a primeira letra de uma string maiúscula. Sabendo disso crie uma lambda que recebe um nome como parâmetro e o imprime com a primeira letra maiúscula. Esta lambda deverá ser salva dentro de uma variável que será passada como argumento de um método chamado capitalize_name. Dentro deste método você chamará a lambda duas vezes, passando como parâmetro em cada uma delas um nome diferente.

  • Image

  • Image

  • MISSÃO 3 Pesquisar o que é o Proc em Ruby e descobrir as diferenças entre ele e o Lambda.
    "A principal diferença prática entre "lambda" e "proc" está relacionada à forma como eles lidam com a passagem de argumentos. Em Ruby, os objetos "proc" são mais flexíveis e menos rigorosos com relação ao número de argumentos que são passados para a função anônima. Se você passar menos argumentos do que o esperado por um "proc", os argumentos restantes serão preenchidos com "nil". Já as funções "lambda" são mais rígidas e exigem que o número de argumentos seja exatamente igual ao esperado."

09- Ruby Avançado II

REGEX

As expressões regulares são notações
para representar padrões em strings,
elas servem para validar entradas de
dados ou fazer busca e extração de
informações em textos.
Documentação do Regex em ruby

TIME

METHOD MISSING

SELF

No ruby, self é uma variável especial
que aponta para o objeto atual.

PRIVATE AND PROTECTED

  • MISSÃO1 - Crie uma expressão regular que faça o casamento de padrão com o número de telefone presente no texto a seguir. "Olá, tudo bem? Meu whats app é (99) 74321-1234"
  • MISSÃO 2- Em uma classe chamada Carro, crie um método público chamado get_km que recebe como parâmetro a seguinte informação "Um fusca de cor amarela viaja a 80km/h ". O método get_km deve chamar um método privado com o nome de find_Km. Este deve localizar e retornar o casamento de padrão 80km/h. No final. imprima este retorno.

04- Collections

  • O que sao collections
  • manipulando collections
  • iterações em collections

metodos importantes
each
map
select

tarefas:

  • UTILIZANDO UMA COLLECTION DO TIPO ARRAY, ESCREVA UM PROGRAMA QUE RECEBA 3
    NUMEROS E NO FINAL EXIBA O RESULTADO DE CADA UM DELES ELEVADO A SEGUNDA POTÊNCIA.

  • CRIE UMA COLLECTION DO TIPO HASH E PERMITA QUE O USUÁRIO CRIE TRÊS ELEMENTOS
    INFORMANDO A CHAVE E O VALOR. NO FINAL DO PROGRAMA PARA CADA UM DESSES
    ELEMENTOS IMPRIMA A FRASE "UMA DAS CHAVES É **** E O SEU VALOR É ****"

  • DADO O SEGUINTE HASH:
    NUMBERS = (A: 10, B: 30 2, C: 20, D: 25, E: 15}
    CRIE UMA INSTRUÇÃO QUE SELECIONA O MAIOR VALOR DESTE HASH E NO FINAL IMPRIMA
    A CHAVE E VALUK DO ELEMENTO RESULTANTE.

02- Conceitos Básicos

  • integer

  • float

  • boolean

  • string

  • array

  • hash

  • symbol

  • metodo .class

  • entrada e saída de dados

  • criar todos os principais tipos de dados

  • criar um programa que recebe nome e idade de uma pessoa e no final exibir em uma frase

  • criar um programa que recebe 2 numeros e no final exibe a soma a subtração e a adição e a divisão entre eles

05- Métodos e Gems

  1. Como criar metodos
  2. O que são e como usar gems

Tarefas:

  • CRIE UM PROGRAMA QUE POSSUA UM MÉTODO QUE RESOLVA A
    POTÊNCIA DADO UM NÚMERO BASE E SEU EXPOENTE. ESTES DOIS
    VALORES DEVEM SER INFORMADOS PELO USUÁRIO.

  • SIGA A DOCUMENTAÇÃO DA GEM CPF_ CNPJ PARA CRIAR UM
    PROGRAMA QUE RECEBE COMO ENTRADA UM NÚMERO DE CPF E
    EM UM MÉTODO VERIFIQUE SE ESTE NÚMERO É VÁLIDO.

07- Programação Orientada a Objetos II

Require

  • require_relative

Escopo das variáveis

  • Variavel local
    É declarada com a primeira letra de seu nome sendo uma
    letra minúscula ou sublinhado.
  • Variável Global
    Declarada com o prefixo $
  • Variável de classe
    É declarada com o prefixo @@
  • Variável de instância
    Seu nome começa com o símbolo @

Atributos

  • São sempre privados

Construtores

  • INSTRUCÕES DO PROJETO

  • 1- No arquivo produto.rb, crie uma classe chamada Produto
    com os atributos: nome e preco.

  • 2- No arquivo mercado.rb crie uma classe chamada Mercado que ao ser inicializada
    recebe como atributo uma instancia da classe Produto (com nome de produto).
    Dentro da classe, crie um método chamado comprar que imprime a seguinte frase:
    "Você comprou o produto #{@produto.nome] no valor de #[@produto.preco]"

  • 3- No arquivo app.rb crie uma instância da classe Produto e adicione valores aos
    atributos nome e preco.Depois, inicie uma instância da classe Mercado passando como atributo a instância
    da classe Produto e para finalizar execute o método comprar.

06- Programação Orientada a Objetos I

POO
Classe
Objetos
Exemplos práticos com ruby
abstração
encapsulamento
herança
polimorfismo
conceito super

  • AGORA QUE VOCÊ SABE O QUE É PROGRAMAÇÃO ORIENTADA
    A OBJETOS, CRIE UM PROGRAMA SEGUINDO O SEGUINTE
    PARADIGMA COM:

Classes

Esportista

  • Métodos
    •competir - Imprime a mensagem: "Participando de uma competição"
    JogadorDeFutebol
    Métodos
    • correr -> Imprime a mensagem: "Correndo atrás da bola"
    Maratonista
    Métodos
    • correr-> Imprime a mensagem: "Percorrendo o circuito"

OBS: AS CLASSES JogadorDeFutebol E Maratonista DEVEM HERDAR OS
COMPORTAMENTOS DA CLASSE Esportista.
NO FINAL DO PROGRAMA EXECUTE OS MÉTODOS competir E correr EM
OBJETOS DO TIPO JogadorDeFutebol E Maratonista.

10- Projeto Final

Leitura de arquivos

Chamadas web

Através de chamadas Web
podemos conectar o nosso software
a
outros programas através da internet.
Então veremos alguns exemplos de como
fazer isso com a Lib Net:: HTTP do Ruby.

Web scrapping

Através do Web Scraping conseguimos extrair
dados de sites, como por exemplo: resultados dos
jogos de futebol de um portal de notícias, uma lista
de posts de um blog e etc.
Para fazermos isto, usaremos uma biblioteca
chamada Nokogiri, que nos ajudará a encontrar
as informações dentro das estruturas Html dos sites.

Projeto final

  • Crie um software que permita que o
    usuário entre com um texto, o idioma
    em que o texto está escrito e também
    o idioma para qual ele deseja traduzir
    o texto e receba como resposta na
    tela o texto traduzido.
    CRITÉRIOS:
    Tudo isto deve ser realizado dentro de uma classe.
    O resultado de cada tradução (junto com a frase original),
    deve ser guardado em um arquivo que possua no nome a
    data e horário da tradução (ex: 10-10-18_10:30.txt)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.