Closed guigudf closed 2 years ago
Usado para atualizar conteúdo de repositórios remotos e fazer a atualização imediata ao seu repositório local
Usado para salvar alterações locais no seu repositório local
Usado para guardar o estado do seu repositório local naquele momento
Usado para enviar o conteúdo do seu repositório local para um repositório remoto
Usado para pedir que o proprietário do repositório dê um pull do seu repositório para o dele, adotado quando você não possui acesso ao repositório e está impossibilitado de realizar um push
Precisa de um resumo mais aprofundado dos comandos? Confira esse markdown
Um web crawler pode ser implementado em diversas linguagens de programação, nesta pesquisa foi focado na implementação em phyton pela facilidade de possuir uma ferramenta open source muito útil para a implementação de um web crawler, abaixo serão citados alguns artigos que tratam sobre esta ferramenta.
Primeiro turorial web crawler Este tutorial aponta os primeiros passos para se poder fazer um web crawler em phyton, ensinando a pegar informações de uma determinada página da web com a ajuda da ferramenta Scrapy.
Segundo tutorial web crawler Neste link e possível obter acesso a outro tutorial de como utilizar o Scrapy para a construção de um web crawler e também possui um vídeo explicativo do conceito de um web crawler.
Documentação Scrapy O Scrapy possui uma pagina de documentação que ajuda o usuário a aprender desde a instalação da ferramenta até exemplos de uso e tutoriais de como utilizar a ferramenta. Podendo ajudar no entendimento de como utilizar a ferramenta e na resolução de problemas que possam vir a serem encontrados durante a realização de um projeto.
O Scrum ou Scrum Agile, é uma das Metodologias Ágeis que existem hoje em dia no mercado, derivadas do manifesto ágil e tem como sua ideia principal, dividir um projeto em diversos pequenos ciclos de atividades ou “sprints” com reuniões frequentes (diária ou semanalmente) para que a equipe possa se alinhar melhor e pensar em formas melhores de aumentar a agilidade do projeto ou de ajudar seus colegas de trabalho.
Sprints: São os ciclos de atividades em que o projeto será divido com o intuito de no final de cada Sprint algo do projeto seja feito, e também que não durem muito, no máximo 2 semanas. Tem o objetivo de promover um desenvolvimento mais focalizado do projeto.
Sprint Plannig Meeting: São reuniões que ocorrem no inicio de um Sprint, com o objetivo de planejar a próxima e suas atividades.
Product Backlog: Todas as tarefas e funcionalidades listadas e detalhadas para a entrega do produto.
Sprint Backlog: É uma lista de atividades que precisam ser feitas durante uma Sprint.
Stand up meeting: representa um formato de reuniões realizadas na teoria Scrum, que têm características específicas, como tempo de duração curto (15 minutos em média) e maior frequência (daily Scrum — diárias). O objetivo dessas reuniões é organizar um encontro diário com todos os integrantes da equipe para trocar ideias e discutir informações sobre o projeto, bem como priorizar certas atividades.
Sprint Review Meeting: Reunião ao final de cada Sprint com o objetivo de revisar o que foi feito e no que isso resultou. Após isso, entraria a Sprint Planning Meeting para iniciar a próxima Sprint.
Scrum Master: Pessoa responsável por gerenciar e garantir a execução das práticas ágeis, também possuindo o papel de facilitador no uso do Scrum, servindo como proteção contra interferências externas e auxiliando com a organização das tarefas referentes à metodologia. É o coordenador do time.
Project Owner(PO): É a pessoa com poderes de liderança sobre o produto, como se fosse um cliente, é responsável por decidir o que será feito e em qual ordem de prioridade. Responsável por definir os requisitos do Software e dar o direcionamento ao que é mais importante para o Software.
Time Scrum: É uma equipe que engloba todos os outros integrantes do projeto de forma que ela seja responsável pela concepção, construção e testes do produto final, atividades essas divididas e gerenciadas pela própria equipe. São os desenvolvedores em especial.
Kanban é um método de gestão de trabalho criado no sistema Toyota de produção que tem como objetivo principal criar mais valor pra o cliente sem gerar mais custos para o fabricante, método esse bastante utilizado com metodologias ágeis e desenvolvimento de softwares. A forma mais utilizada do Kanban e a mais conhecida também são os Quadros Kanban, os quais ajudam toda a equipe a ser mais eficiente.
O Lean Manufacturing ou Produção Enxuta, é uma metodologia de gestão criada na mesma época do Kanban, inclusive trabalhando em conjunto com o mesmo, que tem como objetivo reduzir desperdícios enquanto aumenta a produtividade e qualidade. Para isso se analisam 5 princípios básicos são eles: Especificar valor sob a ótica do cliente, Alinhar da melhor forma possível o fluxo de valor, Realizar as atividades em um fluxo continua e sempre que alguém as solicita, de maneira que fique cada vez mais eficaz, cada tópico pode ser visto em detalhes no link salvo.
Diferentemente do Modelo Ágil ou metodologia ágil, o modelo cascata tem como principal objetivo ser facilmente administrado e ter uma alta estabilidade no desenvolvimento do projeto, ao custo de rapidez de entrega e de possíveis grandes problemas no decorrer do projeto. Ele tem como metodologia, uma serie de passos sequencialmente lógicos, no qual qualquer um deles é extremamente dependente de seu anterior (a próxima etapa só se inicia com o termino da anterior) e, caso algo dê errado em uma etapa mais á frente e for preciso retornar, será necessário retornar do inicio, pois a dependência entre etapas cria essa necessidade, fazendo assim com que a transição entre eles seja algo extremamente delicado e importante.
O Docker é uma forma de virtualizar aplicações no conceito de “contêiners”, trazendo da web ou de seu repositório interno uma imagem completa, incluindo todas as dependências necessárias para executar sua aplicação.
Um contêiner é uma unidade padrão de software que empacota o código e todas as suas dependências para que o aplicativo seja executado de forma rápida e confiável de um ambiente de computação para outro. Uma imagem de contêiner do Docker é um pacote de software leve, autônomo e executável que inclui tudo o que é necessário para executar um aplicativo: código, tempo de execução, ferramentas do sistema, bibliotecas do sistema e configurações. Os contêineres isolam o software de seu ambiente e garantem que ele funcione uniformemente, apesar das diferenças, por exemplo, entre desenvolvimento e teste. Nessa perspectiva, cada contêiner criado atua como uma máquina virtual flexível. Com isso, a equipe de TI pode migrar, copiar ou implementar ambientes de trabalho com facilidade, garantindo melhor desempenho para as aplicações baseadas em nuvem.
Um sistema de gerenciamento de banco de dados (DBMS) é uma coleção de dados inter-relacionados e um conjunto de programas (Oracle, SQL server, PostgreSQL, MySQL...) para acessar esses dados.
A coleção de dados, normalmente chamada de banco de dados, contém informações relevantes a uma empresa. O principal objetivo de um sistema de gerenciamento de banco de dados é fornecer uma maneira de recuperar informações de banco de dados que seja tanto conveniente quanto eficiente, ou seja, capazes de manipular as informações e interagir com o usuário.
Os sistemas de banco de dados são projetados para gerenciar grandes blocos de informação. O gerenciamento de dados envolve definir estruturas para armazenamento de informações. Além disso, o sistema de banco de dados precisa garantir a segurança da informações armazenadas, apesas das falhas de sistema ou de tentativas de acesso não autorizado. Se os dados precisarem ser compartilhados entre vários usuários, o sistema precisa evitar possíveis resultados anômalos.
MySQL – Um dos sistemas mais populares do mundo e é open source. Este é um dos sistemas que mais evoluiu nos últimos anos, ele é um banco que providencia segurança e é ideal para grandes aplicações e indicado para novos desenvolvedores. Ele utiliza a linguagem SQL como interface.
PostgreSQL – Também conhecido como Postgree é um sistema gerenciador de banco de dados (SGBD) objeto relacional. Trata-se de outro projeto open source, ou seja, foi desenvolvido e vem sendo melhorado por diversas pessoas ao redor do mundo através do seu código aberto.
MSSQL – O sistema desenvolvido pela Microsoft também é relacional. É um sistema grande, assim como o Oracle oferece amplo suporte aos aplicativos críticos e à soluções de big data.
MongoDB – Um banco de dados flexível, de alta performance e orientado a documentos. É utilizado por grandes empresas como Cisco, Github, Globo.com, Linkedin e diversas outras para gerenciar aplicações de Big Data – onde é preciso gerenciar uma grande quantidade de dados.
Principalmente como teremos um negócio de pequeno ou médio porte, poderiamos considerar as alternativas open source. O MySQL é um bom exemplo de software que é gratuito ou que custa pouco e que, ao mesmo tempo, pode ser customizado para atender melhor às necessidades do nosso negócio.
Bancos de dados relacionais como MySQL, PostgreSQL e SQLite3 representam e armazenam dados em tabelas e linhas. ... Enquanto isso, bancos de dados não relacionais como o MongoDB representam dados em coleções de documentos JSON.
O banco de dados relacional sempre irá fornecer dados íntegros e imutáveis, garantindo um controle transacional consistente. Além disso, seu esquema é rígido, sendo possível atribuir campos e estabelecer se o dado de uma coluna é nulo ou não nulo.
Já o banco de dados não relacional, que representa diversos tipos de bancos de dados, não exige a rigidez de esquemas para armazenar os dados, ou seja, ele não limita os campos, diferente das colunas do SQL. Além disso, é possível adicionar novas propriedades, sem a preocupação com o impacto nas demais informações já armazenadas.
Como trabalharemos utilizando metodologias ágeis modernas, um banco de dados relacional provavelmente não seria uma boa opção nesse contexto, pois ela requer um nível maior de preparação
Business Intelligence (BI) se trata de um processo, guiado pela tecnologia, que visa coletar e analisar quaisquer tipos de dados, de modo a transformá-los em informações, seguido pela tomada de decisão dos executivos em cima de tais informações. Assim dito, o BI utiliza de diversos recursos que possibilitam esse tipo de tratamento e conversão de dados possível, sendo a principal dela, o dashboard, que pode conter desde painéis gráficos a relatórios analíticos, a partir da integração com uma fonte de dados.
Para colocar tudo que foi citado em prática, existem diversos softwares que utilizam a metodologia de Business Intelligence, sendo alguns deles:
Ferramentas gratuitas:
Ferramentas pagas:
Apesar de a qualidade da entrega ser sempre a principal prioridade do projeto, existem outros fatores a mais que devem ser considerados, Aspectos como a viabilidade financeira da operação e suas capacitações também são importantes para garantir a sua realização. Devido a inviabilidade financeira e falta de investimentos, além da qualidade da própria plataforma, tal qual a sua intuitiva capacitação, a ferramenta BI ideal para uso no projeto é o Google Data Studio, pois engloba todos os aspectos fundamentais para colocar em prática os conceitos de Business Intelligence de maneira satisfatória e viável.
O que são APIs? API é um termo para designar uma interface de comunicação que um sistema oferece para que outros acessem suas funções, dados e recursos sem que o software ou plataforma externa precise saber como eles foram implementados.
Quais são os padrões de uma API web? RPC - Basicamente funciona como uma chamada de função. Soap - Esse padrão fornece uma interface para ser trabalhado com RPC, então ele determina o formato de uma requisição utilizando XML. REST - Esse padrão utiliza o protocolo HTTP 1.1 como ele foi pensado, o que é isso: usando os "verbos" do HTTP como o "get" e o "post".
Qual o retorno de uma API web?
Geralmente o retorno das APIs web vem em formato JSON ou XML.
https://www.youtube.com/watch?v=lc0VOosnlAc - Video explicativo de como Utilizar uma API do zero
Descrição
Pesquisar sobre as tecnologias e metodologias que serão utilizadas durante a execução do projeto.
Tarefas
Pesquisar sobre as seguintes ferramentas:
Pesquisar sobre as seguintes metodologias:
Critérios de aceitação