O documento discute princípios de programação procedural versus programação orientada a objetos. Ele enfatiza a importância de separar as responsabilidades do código através de modelagem, uso de padrões e testes para produzir software de melhor qualidade e mais fácil de manter.
O documento apresenta uma palestra sobre segurança em aplicações PHP. Aborda os principais ataques como XSS, SQL Injection e Email Injection, explica como eles acontecem e como se prevenir, e recomenda ferramentas para diagnóstico e testes de segurança.
Arquitetura PHP para um mundo orientado a microsserviçosFlávio Lisboa
Nesta palestra abordaremos diversos aspectos da arquitetura de software contextualizados para o cenário de aplicações PHP construídas a partir da integração de microsserviços integrados. Dentro desse cenário, iremos separar o que é responsabilidade do PHP e o que não é, mas com o que ele pode contribuir (ou como ele pode evitar que seus parceiros tornem sua vida difícil). Abordaremos motivações, boas práticas e orientações para lidar com transações, manipulação de erros, execução de código lento, execução em linha de comando, coleta de dados de usuário, análise e business intelligence.
Apresentação criada para o TDC 2015, foi apresentada na trilha .Net. Tem o foco em Automação de Testes em .Net. Retrata um estudo de caso de automação em um dos maiores e-commerces de artigos esportivos do mercado.
Lições aprendidas com a Re (escrita |design) de uma aplicação PHP Domingos Teruel
Um mergulho no mundo de feature-flipping, otimização de perfomanec, remoção de dívida técnica, lidando com o legado e reconstruido uma API sustentável.
O documento discute integração contínua, um processo no desenvolvimento de software onde os desenvolvedores integram frequentemente seu trabalho, preferencialmente diariamente, a fim de evitar problemas de integração. O documento descreve os princípios e benefícios da integração contínua, incluindo a redução de riscos, maior velocidade e qualidade do software.
TDC Florianópolis 2019. Trilha Java - Arquitetura de TestesSandro Giacomozzi
O documento discute a importância de se construir uma arquitetura de testes para garantir a qualidade e velocidade de entrega de software. Ele apresenta boas práticas de testes como a utilização de frameworks como JUnit, estrutura de pastas e nomenclatura de testes. Além disso, exemplifica testes de unidade, integração e integração com mock utilizando ferramentas como Spring Boot Test, RestAssured e MockServer.
DevOps CE - Containers, DevOps e Cloud SecurityMaurício Harley
O documento discute containers, DevOps e segurança na nuvem. Primeiro define containers, DevOps e segurança na nuvem, e apresenta alguns números sobre o crescimento de DevOps. Em seguida, discute como containers e DevOps estão relacionados e como orquestrar containers com Docker. Por fim, fornece dicas de segurança para containers, DevOps e nuvem.
O documento apresenta uma palestra sobre segurança em aplicações PHP. Aborda os principais ataques como XSS, SQL Injection e Email Injection, explica como eles acontecem e como se prevenir, e recomenda ferramentas para diagnóstico e testes de segurança.
Arquitetura PHP para um mundo orientado a microsserviçosFlávio Lisboa
Nesta palestra abordaremos diversos aspectos da arquitetura de software contextualizados para o cenário de aplicações PHP construídas a partir da integração de microsserviços integrados. Dentro desse cenário, iremos separar o que é responsabilidade do PHP e o que não é, mas com o que ele pode contribuir (ou como ele pode evitar que seus parceiros tornem sua vida difícil). Abordaremos motivações, boas práticas e orientações para lidar com transações, manipulação de erros, execução de código lento, execução em linha de comando, coleta de dados de usuário, análise e business intelligence.
Apresentação criada para o TDC 2015, foi apresentada na trilha .Net. Tem o foco em Automação de Testes em .Net. Retrata um estudo de caso de automação em um dos maiores e-commerces de artigos esportivos do mercado.
Lições aprendidas com a Re (escrita |design) de uma aplicação PHP Domingos Teruel
Um mergulho no mundo de feature-flipping, otimização de perfomanec, remoção de dívida técnica, lidando com o legado e reconstruido uma API sustentável.
O documento discute integração contínua, um processo no desenvolvimento de software onde os desenvolvedores integram frequentemente seu trabalho, preferencialmente diariamente, a fim de evitar problemas de integração. O documento descreve os princípios e benefícios da integração contínua, incluindo a redução de riscos, maior velocidade e qualidade do software.
TDC Florianópolis 2019. Trilha Java - Arquitetura de TestesSandro Giacomozzi
O documento discute a importância de se construir uma arquitetura de testes para garantir a qualidade e velocidade de entrega de software. Ele apresenta boas práticas de testes como a utilização de frameworks como JUnit, estrutura de pastas e nomenclatura de testes. Além disso, exemplifica testes de unidade, integração e integração com mock utilizando ferramentas como Spring Boot Test, RestAssured e MockServer.
DevOps CE - Containers, DevOps e Cloud SecurityMaurício Harley
O documento discute containers, DevOps e segurança na nuvem. Primeiro define containers, DevOps e segurança na nuvem, e apresenta alguns números sobre o crescimento de DevOps. Em seguida, discute como containers e DevOps estão relacionados e como orquestrar containers com Docker. Por fim, fornece dicas de segurança para containers, DevOps e nuvem.
O documento apresenta uma palestra sobre gestão da automação de testes utilizando BDD (Behavior Driven Development) e containers. A palestra discute como usar cenários BDD para documentar e automatizar casos de teste, preparar casos de teste para execução em diferentes ambientes usando containers Docker, e publicar resultados de teste no Visual Studio Team Services.
TDC 2012 TDD e 20 coisas que você precisa saberCamilo Lopes
[1] O documento discute TDD (Test Driven Development) e fornece 20 lições aprendidas sobre TDD. [2] Apresenta Camilo Lopes, o palestrante, e seu background com desenvolvimento ágil. [3] Explica os benefícios de TDD como melhor qualidade de código, estimativas mais precisas e entregas mais rápidas.
O documento apresenta a técnica de virtualização de serviços para remover restrições de dependência entre equipes de desenvolvimento e teste. Apresenta alguns casos de uso e ferramentas open source para virtualização de serviços, incluindo um exemplo prático utilizando a ferramenta WireMock.
Configurando aplicações em ambiente RedHat OpenShift através do EclipseAlberlan Barros
Este documento ensina como implantar uma aplicação PHP simples na plataforma OpenShift usando o Eclipse, explicando como gerar chaves SSH, criar um projeto no Eclipse vinculado ao OpenShift, fazer alterações no código e implantá-las (deploy) no servidor remoto.
O documento discute monitoramento de serviços REST usando Application Insights e Distributed Tracing. Apresenta o contexto atual de microserviços e escalabilidade, explica porque monitorar é importante e como fazer isso. Detalha como o Application Insights coleta automaticamente métricas de desempenho e logs para análise, e como o Distributed Tracing mapeia requisições entre serviços. Aponta exemplos de uso de Application Insights e Zipkin para esse fim.
TDD garante pra gente a melhor arquitetura?
TDD estraga a arquitetura?
Muitas perguntas que devem ser bem pensadas antes de começar qualquer aplicação.
GWT permite desenvolver aplicações web ricas sem escrever JavaScript. Este documento discute como GWT pode ser integrado com o framework Spring para adicionar recursos como injeção de dependência, suporte a transações e segurança. Um exemplo demonstra como construir um sistema de leilões usando GWT com Spring MVC.
O documento apresenta o JBoss Developer Framework (JDF), que mostra como escrever aplicações Java EE 6 de forma consistente e integrada. O JDF inclui 54 quickstarts focados em casos de uso e APIs comuns e visa resolver problemas de inconsistência e fragmentação entre frameworks Java EE.
O documento apresenta os desafios de startups e como a nuvem (cloud computing) pode ajudar a superá-los de forma mais barata e rápida. Apresenta o Openshift como uma plataforma como serviço (PaaS) que permite implantar aplicações na nuvem de forma fácil, escalável e segura, utilizando diversas linguagens e bancos de dados. O palestrante realiza uma demonstração das funcionalidades do Openshift.
TheDevConf 2016 - Análise efetiva de microservices em 3 passosTaise Dias da Silva
1) O documento apresenta uma palestra sobre análise de microsserviços em 3 passos.
2) É discutido o contexto e desafios de análise em arquiteturas de microsserviços, como times perdendo a visão geral do produto e ficando bloqueados por dependências.
3) São apresentados 3 passos para realizar a análise de microsserviços de forma efetiva: definir histórias do usuário, organizar o backlog, e mapear dependências.
O documento discute o futuro dos analistas de testes no contexto ágil, propondo o termo "DevQA" para descrever seu papel integral na equipe de desenvolvimento. Também aborda tópicos como testes unitários, qualidade de código, mutação e especificações vivas.
O documento fornece diretrizes para conduzir entrevistas técnicas eficazes, incluindo se preparar coletando evidências sobre o candidato, usar dinâmicas como sessões de pairing para avaliar habilidades técnicas, e garantir uma boa impressão final enfatizando a realidade do trabalho.
O documento discute os desafios de ser uma startup de dispositivos médicos no Brasil, incluindo a necessidade de prototipagem rápida com recursos limitados, a importância de testes e certificações regulatórias, e as opções de financiamento como agências de fomento. Ele usa a empresa Bright Photomedicine como exemplo ao descrever seu processo de desenvolvimento de produto.
Construir aplicativos para web é uma das principais demandas do mercado. O Java EE define uma série de componentes para essa área, um deles é o JavaServer Faces (JSF). O JSF é um framework que adota o modelo de arquitetura MVC (Model View Controller), com o objetivo de aumentar a produtividade da construção de interfaces gráficas web baseadas em templates e disponibilizando um conjunto de componentes visuais reutilizáveis. Os componentes visuais do JSF encapsulam a escrita de código HTML, CSS e JavaScript, muitos delessuportam Ajax. Outra caracteristica importante do JSF é permitir o uso de bibliotecas de componentes visuais fornecidas por terceiros, trazendo mais opções de escolha aos desenvolvedores. Esta apresentação descreverá como o JSF pode ser uma tecnologia interessante para o desenvolvimento de aplicações web com Java EE.
O documento descreve a parceria entre três empresas (Empresa V, Empresa G e Empresa Z) para o desenvolvimento de um aplicativo móvel. Inicialmente houve desafios como bugs, falta de documentação e comunicação deficiente. Com o tempo, melhorias como daily meetings produtivas, autonomia da equipe e testes automatizados foram implementados. Atualmente o app está em produção e recebendo downloads, porém problemas como mudanças constantes de escopo e falta de um testador dedicado ainda persistem.
Introdução à Segurança de Containers e KubernetesTenchi Security
Apresentação de Alexandre Sieira na edição online do evento Mind The Sec Rio de Janeiro de 2020. Oferece uma introdução a conceitos básicos de segurança de containers e do orquestrador Kubernetes.
O documento apresenta o Spring Roo, uma ferramenta RAD para criação de aplicações Java. O Spring Roo aumenta a produtividade, elimina burocracia de projetos Java, e gera código de qualidade adotando padrões da comunidade Java. Ele permite criar rapidamente um projeto com estrutura de pastas, configuração do Maven, definição da camada de persistência e geração de entidades, atributos e controladores.
O documento discute as questões legais no desenvolvimento de software, incluindo tipos de licenças, compatibilidade entre licenças, e fluxos de controle de licenças. O documento também aborda o processo de desenvolvimento de software, desde a definição inicial da licença até a entrega do produto final, enfatizando a importância de verificar as questões legais em cada etapa.
O documento discute a importância da refatoração de código para mantê-lo limpo, de fácil manutenção e entendimento. Apresenta conceitos como Clean Code, Object Calisthenics, princípios SOLID e padrões de projeto que auxiliam na refatoração, além de discutir técnicas como identificar código que precisa ser refatorado, manter a interface inalterada e testar durante o processo.
Dos requisitos à implantação em uma palestraRafael Chaves
O documento discute as dificuldades no desenvolvimento de software de gestão e propõe uma abordagem que aproxime o entendimento do negócio e o desenvolvimento da solução técnica através de uma linguagem de modelagem conceitual, protótipo e testes automatizados no nível do modelo e geração automática da solução final e documentação.
Automacao de testes em .NET? Keep Calm and Just do Ittdc-globalcode
O documento discute a automação de testes em .NET, apresentando a estrutura e ferramentas utilizadas como Visual Studio, NUnit, Selenium WebDriver e NuGet. Detalha o planejamento dos testes, a organização dos casos de teste em categorias, a execução dos testes de forma automatizada e integrada ao build do projeto, e os resultados e benefícios obtidos com a abordagem adotada.
O documento apresenta uma palestra sobre gestão da automação de testes utilizando BDD (Behavior Driven Development) e containers. A palestra discute como usar cenários BDD para documentar e automatizar casos de teste, preparar casos de teste para execução em diferentes ambientes usando containers Docker, e publicar resultados de teste no Visual Studio Team Services.
TDC 2012 TDD e 20 coisas que você precisa saberCamilo Lopes
[1] O documento discute TDD (Test Driven Development) e fornece 20 lições aprendidas sobre TDD. [2] Apresenta Camilo Lopes, o palestrante, e seu background com desenvolvimento ágil. [3] Explica os benefícios de TDD como melhor qualidade de código, estimativas mais precisas e entregas mais rápidas.
O documento apresenta a técnica de virtualização de serviços para remover restrições de dependência entre equipes de desenvolvimento e teste. Apresenta alguns casos de uso e ferramentas open source para virtualização de serviços, incluindo um exemplo prático utilizando a ferramenta WireMock.
Configurando aplicações em ambiente RedHat OpenShift através do EclipseAlberlan Barros
Este documento ensina como implantar uma aplicação PHP simples na plataforma OpenShift usando o Eclipse, explicando como gerar chaves SSH, criar um projeto no Eclipse vinculado ao OpenShift, fazer alterações no código e implantá-las (deploy) no servidor remoto.
O documento discute monitoramento de serviços REST usando Application Insights e Distributed Tracing. Apresenta o contexto atual de microserviços e escalabilidade, explica porque monitorar é importante e como fazer isso. Detalha como o Application Insights coleta automaticamente métricas de desempenho e logs para análise, e como o Distributed Tracing mapeia requisições entre serviços. Aponta exemplos de uso de Application Insights e Zipkin para esse fim.
TDD garante pra gente a melhor arquitetura?
TDD estraga a arquitetura?
Muitas perguntas que devem ser bem pensadas antes de começar qualquer aplicação.
GWT permite desenvolver aplicações web ricas sem escrever JavaScript. Este documento discute como GWT pode ser integrado com o framework Spring para adicionar recursos como injeção de dependência, suporte a transações e segurança. Um exemplo demonstra como construir um sistema de leilões usando GWT com Spring MVC.
O documento apresenta o JBoss Developer Framework (JDF), que mostra como escrever aplicações Java EE 6 de forma consistente e integrada. O JDF inclui 54 quickstarts focados em casos de uso e APIs comuns e visa resolver problemas de inconsistência e fragmentação entre frameworks Java EE.
O documento apresenta os desafios de startups e como a nuvem (cloud computing) pode ajudar a superá-los de forma mais barata e rápida. Apresenta o Openshift como uma plataforma como serviço (PaaS) que permite implantar aplicações na nuvem de forma fácil, escalável e segura, utilizando diversas linguagens e bancos de dados. O palestrante realiza uma demonstração das funcionalidades do Openshift.
TheDevConf 2016 - Análise efetiva de microservices em 3 passosTaise Dias da Silva
1) O documento apresenta uma palestra sobre análise de microsserviços em 3 passos.
2) É discutido o contexto e desafios de análise em arquiteturas de microsserviços, como times perdendo a visão geral do produto e ficando bloqueados por dependências.
3) São apresentados 3 passos para realizar a análise de microsserviços de forma efetiva: definir histórias do usuário, organizar o backlog, e mapear dependências.
O documento discute o futuro dos analistas de testes no contexto ágil, propondo o termo "DevQA" para descrever seu papel integral na equipe de desenvolvimento. Também aborda tópicos como testes unitários, qualidade de código, mutação e especificações vivas.
O documento fornece diretrizes para conduzir entrevistas técnicas eficazes, incluindo se preparar coletando evidências sobre o candidato, usar dinâmicas como sessões de pairing para avaliar habilidades técnicas, e garantir uma boa impressão final enfatizando a realidade do trabalho.
O documento discute os desafios de ser uma startup de dispositivos médicos no Brasil, incluindo a necessidade de prototipagem rápida com recursos limitados, a importância de testes e certificações regulatórias, e as opções de financiamento como agências de fomento. Ele usa a empresa Bright Photomedicine como exemplo ao descrever seu processo de desenvolvimento de produto.
Construir aplicativos para web é uma das principais demandas do mercado. O Java EE define uma série de componentes para essa área, um deles é o JavaServer Faces (JSF). O JSF é um framework que adota o modelo de arquitetura MVC (Model View Controller), com o objetivo de aumentar a produtividade da construção de interfaces gráficas web baseadas em templates e disponibilizando um conjunto de componentes visuais reutilizáveis. Os componentes visuais do JSF encapsulam a escrita de código HTML, CSS e JavaScript, muitos delessuportam Ajax. Outra caracteristica importante do JSF é permitir o uso de bibliotecas de componentes visuais fornecidas por terceiros, trazendo mais opções de escolha aos desenvolvedores. Esta apresentação descreverá como o JSF pode ser uma tecnologia interessante para o desenvolvimento de aplicações web com Java EE.
O documento descreve a parceria entre três empresas (Empresa V, Empresa G e Empresa Z) para o desenvolvimento de um aplicativo móvel. Inicialmente houve desafios como bugs, falta de documentação e comunicação deficiente. Com o tempo, melhorias como daily meetings produtivas, autonomia da equipe e testes automatizados foram implementados. Atualmente o app está em produção e recebendo downloads, porém problemas como mudanças constantes de escopo e falta de um testador dedicado ainda persistem.
Introdução à Segurança de Containers e KubernetesTenchi Security
Apresentação de Alexandre Sieira na edição online do evento Mind The Sec Rio de Janeiro de 2020. Oferece uma introdução a conceitos básicos de segurança de containers e do orquestrador Kubernetes.
O documento apresenta o Spring Roo, uma ferramenta RAD para criação de aplicações Java. O Spring Roo aumenta a produtividade, elimina burocracia de projetos Java, e gera código de qualidade adotando padrões da comunidade Java. Ele permite criar rapidamente um projeto com estrutura de pastas, configuração do Maven, definição da camada de persistência e geração de entidades, atributos e controladores.
O documento discute as questões legais no desenvolvimento de software, incluindo tipos de licenças, compatibilidade entre licenças, e fluxos de controle de licenças. O documento também aborda o processo de desenvolvimento de software, desde a definição inicial da licença até a entrega do produto final, enfatizando a importância de verificar as questões legais em cada etapa.
O documento discute a importância da refatoração de código para mantê-lo limpo, de fácil manutenção e entendimento. Apresenta conceitos como Clean Code, Object Calisthenics, princípios SOLID e padrões de projeto que auxiliam na refatoração, além de discutir técnicas como identificar código que precisa ser refatorado, manter a interface inalterada e testar durante o processo.
Dos requisitos à implantação em uma palestraRafael Chaves
O documento discute as dificuldades no desenvolvimento de software de gestão e propõe uma abordagem que aproxime o entendimento do negócio e o desenvolvimento da solução técnica através de uma linguagem de modelagem conceitual, protótipo e testes automatizados no nível do modelo e geração automática da solução final e documentação.
Automacao de testes em .NET? Keep Calm and Just do Ittdc-globalcode
O documento discute a automação de testes em .NET, apresentando a estrutura e ferramentas utilizadas como Visual Studio, NUnit, Selenium WebDriver e NuGet. Detalha o planejamento dos testes, a organização dos casos de teste em categorias, a execução dos testes de forma automatizada e integrada ao build do projeto, e os resultados e benefícios obtidos com a abordagem adotada.
Da introdução à prática com Drools Expert e Drools FlowRicardo Longa
O documento apresenta a trilha "SOA & Big Data" da Globalcode sobre JBoss Drools e Drools Flow. Resume os tópicos apresentados: introdução ao Drools Expert e como funciona a engine de regras; quando não utilizar Drools Expert; e uma breve introdução ao Drools Flow para modelagem de fluxos de regras.
TDC 2014 - A influência dos processos de desenvolvimento na arquiteturaEric Lemes
A apresentação discute a relação entre "design smells" e práticas ruins de desenvolvimento, sugerindo uma abordagem para implementar melhores processos e refatorar uma arquitetura já existente
O documento apresenta os principais conceitos da programação funcional usando a linguagem F#, como imutabilidade, funções como valores, composição de funções, type providers e features como Option e unidades de medida. O objetivo é mostrar como F# oferece um paradigma diferente de programação e como seus recursos podem ser usados no desenvolvimento .NET.
O documento apresenta os principais conceitos da programação funcional usando a linguagem F#, como imutabilidade, funções como valores, tipos fortemente tipados, pipelines e composição. O palestrante destaca recursos da linguagem como Option, unidades de medida e type providers para carregar dados dinamicamente.
Vamos falar como a adoção de Go mudou a linguaguem dos componentes, mudou o time de um time mais segmentado para um time multidisciplinar e arquitetura do sistema foi de monolitica para micro serviços com tolerância a falha e escalabilidade horizontal.
O documento apresenta uma palestra sobre programação funcional e refatoração de código usando abordagens funcionais. A palestra discute como o paradigma funcional pode ajudar a resolver problemas comuns como null exceptions, apresenta conceitos como value containers e high order functions, e mostra como refatorar uma função de atualização de usuário usando esses conceitos para melhor tratar erros e encadear operações.
O documento discute a API Roslyn do .NET, que permite o acesso ao pipeline de compilação do C# e VB.NET. Isso torna possível implementar ferramentas de código como syntax highlighting, intellisense e refactoring sem precisar reimplementar a análise sintática e semântica. A API Roslyn também permite a geração e análise de código em tempo de execução, facilitando o desenvolvimento de ferramentas de software.
Desenvolvimento Orientado a Documentação? Utilizando doctests para tornar seu...Adam Victor Brandizzi
O documento discute o módulo doctest em Python, que executa exemplos de código em docstrings para verificar se os resultados são os esperados. Isso permite que a documentação seja executável e sempre atualizada. Doctests podem encontrar erros ao atualizar código para novas versões do Python. Embora haja pequenos problemas, como detalhes irrelevantes que quebram exemplos, doctest pode melhorar a clareza do código e manter a documentação atualizada.
O documento discute como criar testes de interface do usuário (e2e) que sejam rápidos, robustos e de fácil manutenção. Ele explica a importância da automação de testes, os problemas comuns de testes e2e, e estratégias para torná-los independentes, paralelizados e baseados em padrões de teste.
TDC2018SP | Trilha Modern Web - Blazor - C# rodando no navegador padrao, sem ...tdc-globalcode
O documento resume o framework Blazor da Microsoft, que permite criar aplicações web interativas usando C# no lado do cliente, sem plugins. Explica que o Blazor compila C# para WebAssembly, permitindo que o código rode diretamente no navegador. Detalha alguns recursos e limitações atuais do Blazor, que é um projeto experimental da Microsoft.
[TDCPOA2019] Upstream Kanban: exercitando a eficácia criativa do seu fluxo de...Vinicius Campos Silva
O documento discute a importância do Upstream Kanban para avaliar opções e preparar itens de trabalho de forma a estarem prontos para serem entregues sem atrasos desnecessários. Também aborda como alinhar as fases de Discovery e Delivery para a construção de produtos, minimizando a escassez no fluxo de trabalho por meio de limites mínimos e equilíbrio de itens de alto e baixo valor. Além disso, destaca a relevância de considerar a jornada do cliente para atender às expectativas e ao tempo de mercado.
O documento discute como os code reviews podem revelar informações valiosas sobre bibliotecas, estruturas de projeto, dicas de programação e design patterns. Também apresenta exemplos reais de comentários feitos em code reviews que destacaram tais informações e discute boas práticas para compartilhar esses aprendizados em reuniões técnicas regulares.
O documento discute arquitetura limpa para software, onde o núcleo da aplicação contém apenas regras de negócio e entidades independentes de detalhes externos. Adaptadores fazem a interface entre o núcleo e elementos externos como bancos de dados e interfaces web. Uma demonstração mostra uma aplicação armazenando dados de usuários com diferentes alvos de linguagem e interface usando esta abordagem arquitetural.
O documento discute a arquitetura limpa para desenvolvimento de software. Apresenta os conceitos de arquitetura hexagonal, ports and adapters e como a arquitetura limpa separa a lógica do núcleo da aplicação de detalhes como a interface do usuário, banco de dados e linguagem. Demonstra uma aplicação que armazena dados de usuários usando essa abordagem arquitetural.
Este documento discute a automação de testes em projetos ágeis. Ele descreve como os testes ágeis são integrados ao processo de desenvolvimento, frequentemente automatizados, e realizados em todas as camadas do sistema. Além disso, explica como técnicas como testes unitários, BDD e ferramentas como Cucumber e Pyccuracy podem ser usadas para automatizar testes funcionais e de aceitação de forma a apoiar a entrega contínua em metodologias ágeis.
O documento discute conceitos de qualidade de código como sistemas legados, refatoração, bad smells, nomenclatura, comentários, métodos, testes e métricas. A palestrante Gisele Zomer Rossi fala sobre como melhorar a estrutura e legibilidade do código através de refatorações.
TDC SP 2016 - Dos requisitos à implantação em uma palestraRafael Chaves
O palestrante propõe uma abordagem para desenvolvimento de software baseada em modelagem conceitual e geração de código. A abordagem separa entendimento de negócio de decisões arquitetônicas e permite que requisitos sejam testados e documentação gerada automaticamente antes da implementação. A demonstração mostra como a solução conceitual de um sistema de gerenciamento de tarefas é traduzida em código funcional em poucas horas.
Semelhante a Combatendo o Código Procedural - TDC 2012 Florianópolis - Trilha PHP (20)
PRODUÇÃO E CONSUMO DE ENERGIA DA PRÉ-HISTÓRIA À ERA CONTEMPORÂNEA E SUA EVOLU...Faga1939
Este artigo tem por objetivo apresentar como ocorreu a evolução do consumo e da produção de energia desde a pré-história até os tempos atuais, bem como propor o futuro da energia requerido para o mundo. Da pré-história até o século XVIII predominou o uso de fontes renováveis de energia como a madeira, o vento e a energia hidráulica. Do século XVIII até a era contemporânea, os combustíveis fósseis predominaram com o carvão e o petróleo, mas seu uso chegará ao fim provavelmente a partir do século XXI para evitar a mudança climática catastrófica global resultante de sua utilização ao emitir gases do efeito estufa responsáveis pelo aquecimento global. Com o fim da era dos combustíveis fósseis virá a era das fontes renováveis de energia quando prevalecerá a utilização da energia hidrelétrica, energia solar, energia eólica, energia das marés, energia das ondas, energia geotérmica, energia da biomassa e energia do hidrogênio. Não existem dúvidas de que as atividades humanas sobre a Terra provocam alterações no meio ambiente em que vivemos. Muitos destes impactos ambientais são provenientes da geração, manuseio e uso da energia com o uso de combustíveis fósseis. A principal razão para a existência desses impactos ambientais reside no fato de que o consumo mundial de energia primária proveniente de fontes não renováveis (petróleo, carvão, gás natural e nuclear) corresponde a aproximadamente 88% do total, cabendo apenas 12% às fontes renováveis. Independentemente das várias soluções que venham a ser adotadas para eliminar ou mitigar as causas do efeito estufa, a mais importante ação é, sem dúvidas, a adoção de medidas que contribuam para a eliminação ou redução do consumo de combustíveis fósseis na produção de energia, bem como para seu uso mais eficiente nos transportes, na indústria, na agropecuária e nas cidades (residências e comércio), haja vista que o uso e a produção de energia são responsáveis por 57% dos gases de estufa emitidos pela atividade humana. Neste sentido, é imprescindível a implantação de um sistema de energia sustentável no mundo. Em um sistema de energia sustentável, a matriz energética mundial só deveria contar com fontes de energia limpa e renováveis (hidroelétrica, solar, eólica, hidrogênio, geotérmica, das marés, das ondas e biomassa), não devendo contar, portanto, com o uso dos combustíveis fósseis (petróleo, carvão e gás natural).
Em um mundo cada vez mais digital, a segurança da informação tornou-se essencial para proteger dados pessoais e empresariais contra ameaças cibernéticas. Nesta apresentação, abordaremos os principais conceitos e práticas de segurança digital, incluindo o reconhecimento de ameaças comuns, como malware e phishing, e a implementação de medidas de proteção e mitigação para vazamento de senhas.
As classes de modelagem podem ser comparadas a moldes ou
formas que definem as características e os comportamentos dos
objetos criados a partir delas. Vale traçar um paralelo com o projeto de
um automóvel. Os engenheiros definem as medidas, a quantidade de
portas, a potência do motor, a localização do estepe, dentre outras
descrições necessárias para a fabricação de um veículo
Este certificado confirma que Gabriel de Mattos Faustino concluiu com sucesso um curso de 42 horas de Gestão Estratégica de TI - ITIL na Escola Virtual entre 19 de fevereiro de 2014 a 20 de fevereiro de 2014.
1. Combatendo o código procedural
Trilha PHP
Rodrigo dos Santos
rodrigodossantos.ws
@rosantoz
Globalcode – Open4education
2. Sobre mim
Desenvolvedor PHP desde 2004
Zend Certified Engineer PHP 5.3
Pós Graduado em Engenharia de Projetos de Software
Sócio-Proprietário da empresa Ilha Web (www.ilhaweb.net)
Globalcode – Open4education
3. Sobre mim
Blog pessoal: www.rodrigodossantos.ws
Twitter: @rosantoz
E-mail: rodrigo@ilhaweb.net
Globalcode – Open4education
5. Programação procedural
➔
Também conhecida como Programação Imperativa;
➔
Facilita o aprendizado de uma linguagem de programação;
➔
Foco em “Como fazer” e não o “quê fazer”;
➔
Proporciona liberdade ao programador, mas pode se tornar
um grande problema;
Globalcode – Open4education
6. Programação procedural
➔
Cada página do sistema é feito como um bloco.
➔
Não existe a separação de objetivos e responsabilidades.
➔
Alto grau de acoplamento entre interface, lógica de negócio
e persistência de dados.
➔
Não segue um padrão específico;
➔
Código difícil de ler;
➔
Dificulta o processo de evolução e manutenção;
Globalcode – Open4education
25. Por que modelar?
Ajuda a entender o problema;
Globalcode – Open4education
26. Por que modelar?
Ajuda a entender o problema;
Nos faz pensar antes de fazer;
Globalcode – Open4education
27. Por que modelar?
Ajuda a entender o problema;
Nos faz pensar antes de fazer;
Facilita a comunicação com o usuário;
Globalcode – Open4education
28. Por que modelar?
Ajuda a entender o problema;
Nos faz pensar antes de fazer;
Facilita a comunicação com o usuário;
Serve de documentação do sistema;
Globalcode – Open4education
29. Como fazer?
Comece pelo mais importante (comece pelo pior);
Globalcode – Open4education
30. Como fazer?
Comece pelo mais importante (comece pelo pior);
UML;
Globalcode – Open4education
31. Como fazer?
Comece pelo mais importante (comece pelo pior);
UML;
Ferramentas case (Ex. Entreprise Architect);
Globalcode – Open4education
32. Como fazer?
Comece pelo mais importante (comece pelo pior);
UML;
Ferramentas case (Ex. Entreprise Architect);
Papel e caneta também servem.
Globalcode – Open4education
45. Ciclo contínuo
A cada novo release:
Adicionamos novas funcionalidades;
Globalcode – Open4education
46. Ciclo contínuo
A cada novo release:
Adicionamos novas funcionalidades;
Refatoramos uma parte do código legado;
Globalcode – Open4education
47. Ciclo contínuo
A cada novo release:
Adicionamos novas funcionalidades;
Refatoramos uma parte do código legado;
Mantemos a documentação.
Globalcode – Open4education