O documento descreve a migração de aproximadamente 4 milhões de linhas de código de Delphi 7 para Delphi XE7 por uma empresa de software. A migração foi motivada pela obsolescência do Delphi 7 e problemas com o BDE. A estratégia envolveu reuniões com as partes interessadas, criação de bibliotecas para abstrair camadas, conversores automatizados e testes para garantir a segurança durante o processo gradual de migração.
This session will give attendees an overview of the new testing features in Spring 3.1 as well the new Spring MVC test support. Sam Brannen will demonstrate how to use the Spring TestContext Framework to write integration tests for Java-based Spring configuration using @Configuration classes. He'll then compare and contrast this approach with XML-based configuration and follow up with a discussion of the new testing support for bean definition profiles. Next, Rossen Stoyanchev will show attendees how testing server-side code with annotated controllers and client-side code with the RestTemplate just got a whole lot easier with the new Spring MVC test support. Come to this session to see these new Spring testing features in action and learn how you can get involved in the Spring MVC Test Support project.
O documento discute conceitos fundamentais de orientação a objetos em Java, como:
1) Pacotes agrupam classes relacionadas e definem sua localização no sistema de arquivos;
2) Métodos acessam variáveis de instância de um objeto;
3) Getters e setters encapsulam variáveis de instância e permitem acesso seguro a propriedades de objetos.
The Spring Framework has always embraced testing as a first class citizen. Spring-based components should be modular, easy to wire together via dependency injection, and therefore easy to test. In fact, when well designed following a POJO programming model, a component in a Spring application can be unit tested without using Spring at all. And when you take the step toward developing integration tests, Spring's testing support is there to make your job easy.
Join Spring Test component lead Sam Brannen in this talk to learn about the basics for Spring's unit and integration testing support. This talk will provide attendees an overview of the following topics: unit testing without Spring, integration testing with Spring, loading application contexts (with and without context hierarchies), injecting dependencies into tests, transaction management for tests, SQL script execution, testing Spring MVC and REST web applications, and more.
Spring I/O 2012: Natural Templating in Spring MVC with ThymeleafThymeleaf
Introduction to the Thymeleaf java XML/XHTML/HTML5 template engine by José Miguel Samper and Daniel Fernández at Spring I/O 2012 Madrid, Feb 17th 2012.
Angular is a development platform for building mobile and desktop web applications using TypeScript/JavaScript. It is an update to AngularJS with a focus on mobile and typesafety. Major versions include Angular 1.x, 2.x, 4.x and 5.x. Angular uses components, services and modules to build applications with templates and styles. It is compiled to JavaScript using transpilation and supports AOT and JIT compilation. Common tools used with Angular include the Angular CLI, Webpack and Zone.js.
The document discusses asynchronous programming with futures and promises in Scala. It covers key topics like:
1) Futures provide a way to reason about parallel operations efficiently in a non-blocking way. Futures represent asynchronous computations with results that can be accessed later.
2) Promises allow completing a future with a value or exception. Callbacks allow accessing future results asynchronously once completed.
3) Functional composition with futures uses methods like map, flatMap, recover to transform and compose futures. For-comprehensions provide a cleaner way to compose futures.
Svelte is a frontend framework that focuses on compiler-centered reactivity rather than a virtual DOM for better performance and smaller bundle sizes. It allows writing components in a simpler reactive way using declarative templates, properties and events. The talk covered Svelte basics like project setup, components, events and lifecycle methods. It demonstrated Svelte's speed advantages and discussed the ecosystem of libraries and community support including Typescript. Advanced topics covered included Single Page Application routing with Sapper and NativeScript for mobile.
This document discusses the importance of testing in Django and provides examples of how to write tests. It describes how the Pinax project added tests after users were able to incorrectly edit ticket statuses. It recommends writing unit tests using the Django testing framework and provides a pattern for organizing and writing tests, including setting up test data and individual test methods. The document emphasizes that code without tests is "broken by design" and that writing tests improves code quality and avoids embarrassment.
This session will give attendees an overview of the new testing features in Spring 3.1 as well the new Spring MVC test support. Sam Brannen will demonstrate how to use the Spring TestContext Framework to write integration tests for Java-based Spring configuration using @Configuration classes. He'll then compare and contrast this approach with XML-based configuration and follow up with a discussion of the new testing support for bean definition profiles. Next, Rossen Stoyanchev will show attendees how testing server-side code with annotated controllers and client-side code with the RestTemplate just got a whole lot easier with the new Spring MVC test support. Come to this session to see these new Spring testing features in action and learn how you can get involved in the Spring MVC Test Support project.
O documento discute conceitos fundamentais de orientação a objetos em Java, como:
1) Pacotes agrupam classes relacionadas e definem sua localização no sistema de arquivos;
2) Métodos acessam variáveis de instância de um objeto;
3) Getters e setters encapsulam variáveis de instância e permitem acesso seguro a propriedades de objetos.
The Spring Framework has always embraced testing as a first class citizen. Spring-based components should be modular, easy to wire together via dependency injection, and therefore easy to test. In fact, when well designed following a POJO programming model, a component in a Spring application can be unit tested without using Spring at all. And when you take the step toward developing integration tests, Spring's testing support is there to make your job easy.
Join Spring Test component lead Sam Brannen in this talk to learn about the basics for Spring's unit and integration testing support. This talk will provide attendees an overview of the following topics: unit testing without Spring, integration testing with Spring, loading application contexts (with and without context hierarchies), injecting dependencies into tests, transaction management for tests, SQL script execution, testing Spring MVC and REST web applications, and more.
Spring I/O 2012: Natural Templating in Spring MVC with ThymeleafThymeleaf
Introduction to the Thymeleaf java XML/XHTML/HTML5 template engine by José Miguel Samper and Daniel Fernández at Spring I/O 2012 Madrid, Feb 17th 2012.
Angular is a development platform for building mobile and desktop web applications using TypeScript/JavaScript. It is an update to AngularJS with a focus on mobile and typesafety. Major versions include Angular 1.x, 2.x, 4.x and 5.x. Angular uses components, services and modules to build applications with templates and styles. It is compiled to JavaScript using transpilation and supports AOT and JIT compilation. Common tools used with Angular include the Angular CLI, Webpack and Zone.js.
The document discusses asynchronous programming with futures and promises in Scala. It covers key topics like:
1) Futures provide a way to reason about parallel operations efficiently in a non-blocking way. Futures represent asynchronous computations with results that can be accessed later.
2) Promises allow completing a future with a value or exception. Callbacks allow accessing future results asynchronously once completed.
3) Functional composition with futures uses methods like map, flatMap, recover to transform and compose futures. For-comprehensions provide a cleaner way to compose futures.
Svelte is a frontend framework that focuses on compiler-centered reactivity rather than a virtual DOM for better performance and smaller bundle sizes. It allows writing components in a simpler reactive way using declarative templates, properties and events. The talk covered Svelte basics like project setup, components, events and lifecycle methods. It demonstrated Svelte's speed advantages and discussed the ecosystem of libraries and community support including Typescript. Advanced topics covered included Single Page Application routing with Sapper and NativeScript for mobile.
This document discusses the importance of testing in Django and provides examples of how to write tests. It describes how the Pinax project added tests after users were able to incorrectly edit ticket statuses. It recommends writing unit tests using the Django testing framework and provides a pattern for organizing and writing tests, including setting up test data and individual test methods. The document emphasizes that code without tests is "broken by design" and that writing tests improves code quality and avoids embarrassment.
O documento apresenta um guia rápido de referência sobre variáveis, tipos de dados, operadores e fluxos de controle na linguagem Java, incluindo a declaração e inicialização de variáveis, tipos primitivos, constantes, operadores aritméticos, relacionais e lógicos. Também aborda comentários, strings, entrada e saída de dados, e convenções de codificação.
Victor Hazin é um engenheiro de software e professor com mais de 10 anos de experiência. Ele possui graduação e mestrado em Ciências da Computação pela UFPE.
Here are slides from basic training for Gradle.
This training is aimed to help Java Developers to get hands-on experience to use Gradle as a primary build tool for Java source code starting from simple compilation continuing with different kinds of tests and finishing with code quality analysis and artefacts publishing.
[Curso Java Basico] Aula 12: Lendo dados do teclado usando a classe ScannerLoiane Groner
Este documento fornece instruções sobre como ler dados do teclado em Java, incluindo ler uma linha inteira ou um tipo de dado específico usando a classe Scanner. Ele também lista os requisitos do JDK e IDE e fornece um link para um curso online completo sobre Java básico.
Top 10 Mistakes When Migrating From Oracle to PostgreSQLJim Mlodgenski
As more and more people are moving to PostgreSQL from Oracle, a pattern of mistakes is emerging. They can be caused by the tools being used or just not understanding how PostgreSQL is different than Oracle. In this talk we will discuss the top mistakes people generally make when moving to PostgreSQL from Oracle and what the correct course of action.
Mais infos e links: http://www.loiane.com/2013/10/curso-java-basico-java-se-gratuito/
Exercícios: http://www.slideshare.net/loianeg/curso-java-bsico-exerccios-aulas-11-12-13
The document outlines a React workshop covering what React is, its core concepts, and coding with React. It begins with an introduction and overview of React. It then covers key React concepts like components, the virtual DOM, JSX, state and props. Finally, it demonstrates how to start coding with React by rendering a component, using state, and working with forms. Resources for further learning are also provided at the end.
Objective-C is an object-oriented programming language that is a superset of C. It was developed in the 1980s on top of C to provide object-oriented capabilities. Objective-C uses classes and messages to define methods and invoke behaviors on objects. Developers create classes with properties and methods to define behaviors and attributes for objects. Memory is managed through retain counts, and objects communicate by sending messages to each other to invoke methods.
Java Interview Questions and Answers | Spring and Hibernate Interview Questio...Edureka!
This Edureka Java Interview Questions and Answers tutorial will help you to prepare yourself for Java Interviews ( Java Interview Questions Blog: https://goo.gl/GY3yTR ). Learn about the most important Java interview questions and answers and know what will set you apart in the interview process.
This tutorial covers Java Interview Questions on:
1) Basic Java Questions
2) OOPS Questions
3) Servlets
4) JDBC
5) Spring
6) Hibernate
Swagger UI enables generating documentation for RESTful APIs that is updated as the server code changes. It works with Spring Boot by adding dependencies, a configuration file, and annotations. This exposes API endpoints in the browser for testing and provides descriptive documentation of each service's title, function, inputs, and outputs.
Slide do evento Amazon Event Tech - Tecnologia e Inovação na Amazônia que aconteceu dia 9 de junho de 2017, às 19:30.
Tema: Orquestração de containers com Rancher.io
Palestrantes: Alex Ishida e Jorge Luis
This document discusses Node.js functions, modules, and exporting modules. It covers defining functions, parameters, and return values. It also covers the different types of modules in Node.js including core modules, local modules, and third party modules. Finally, it discusses how to export variables, functions, objects, and classes from modules using module.exports.
Express is a web framework for Node.js that allows routing, middleware, templating and more. It is inspired by Sinatra and uses Connect as its middleware framework. Key features include routing, middleware support, template rendering with engines like Jade, and session handling with storage options. Errors can be handled via the app.error() method. Express provides a full-featured and easy to use web development framework for Node.js.
Video of the presentation: http://www.youtube.com/watch?v=8z3h4Uv9YbE
At LinkedIn, we have started to use the Play Framework to build front-end and back-end services at massive scale. Play does things a little differently: it's a Java and Scala web framework, but it doesn't follow the servlet spec; it's fairly new, but it runs on top of robust technologies like Akka and Netty; it uses a thread pool, but it's built for non-blocking I/O and reactive programming; most importantly, it's high performance, but also high productivity. We've found that the Play Framework is one of the few frameworks that is able to maintain the delicate balance of performance, reliability, and developer productivity. In the Java and Scala world, nothing even comes close. In this talk, I'll share what we've learned so far, including details of rapid iteration with Java and Scala, the story behind async I/O on the JVM, support for real time web apps (comet, WebSockets), and integrating Play into a large existing codebase.
Presentation on various definitions for JSON including JSON-RPC, JSPON, JSON Schema, JSONP and tools for working these definitions including Persevere client and server..
Version 6 of Adobe Experience Manager (AEM 6) is a major release that introduces significant innovations. Sightly is a new template system to be used in place of (or together with) JSP. Along with Sling Models, SIghtly strongly improves the separation between the logic and presentation. The development effort is reduced because a Sightly template is an HTML 5 document, easily maintainable even by front-end developers.
The presentation provides an overview of the basic features of Sightly and introduces the fundamentals of the new development model with the support of tools released release together with AEM 6.
Exemplo e caso prático do uso de bases de dados relacionais
SGBDR SQLite e o exemplo de uma biblioteca pessoal
Luis Borges Gouveia
V2.0 - Fevereiro de 2015
Apresentar aos alunos as estruturas de repetição da linguagem C#, utilizando exemplos práticos e comparando-as com as estruturas de repetição utilizadas no software VisualG.
Realizar atividades práticas aplicando os laços de repetição em estruturas de dados complexas (vetores e matrizes).
Migrando aplicações para FireDac - Embarcadero Conference 2014Diego Rosa
Vamos orienta-lo através de uma série de etapas como realizar a migração de aplicações que utilizam BDE para passar a utilizar o FireDac (o novo conjunto de componentes de acesso a banco de dados). E como grande parte desse processo pode ser automatizado.
O documento apresenta os principais recursos do FireDAC, como recuperação automática de conexões, acesso offline a dados, abstração de dialetos SQL, execução de scripts SQL e ETL. O FireDAC fornece acesso universal a bancos de dados com características específicas de cada banco.
O documento apresenta um guia rápido de referência sobre variáveis, tipos de dados, operadores e fluxos de controle na linguagem Java, incluindo a declaração e inicialização de variáveis, tipos primitivos, constantes, operadores aritméticos, relacionais e lógicos. Também aborda comentários, strings, entrada e saída de dados, e convenções de codificação.
Victor Hazin é um engenheiro de software e professor com mais de 10 anos de experiência. Ele possui graduação e mestrado em Ciências da Computação pela UFPE.
Here are slides from basic training for Gradle.
This training is aimed to help Java Developers to get hands-on experience to use Gradle as a primary build tool for Java source code starting from simple compilation continuing with different kinds of tests and finishing with code quality analysis and artefacts publishing.
[Curso Java Basico] Aula 12: Lendo dados do teclado usando a classe ScannerLoiane Groner
Este documento fornece instruções sobre como ler dados do teclado em Java, incluindo ler uma linha inteira ou um tipo de dado específico usando a classe Scanner. Ele também lista os requisitos do JDK e IDE e fornece um link para um curso online completo sobre Java básico.
Top 10 Mistakes When Migrating From Oracle to PostgreSQLJim Mlodgenski
As more and more people are moving to PostgreSQL from Oracle, a pattern of mistakes is emerging. They can be caused by the tools being used or just not understanding how PostgreSQL is different than Oracle. In this talk we will discuss the top mistakes people generally make when moving to PostgreSQL from Oracle and what the correct course of action.
Mais infos e links: http://www.loiane.com/2013/10/curso-java-basico-java-se-gratuito/
Exercícios: http://www.slideshare.net/loianeg/curso-java-bsico-exerccios-aulas-11-12-13
The document outlines a React workshop covering what React is, its core concepts, and coding with React. It begins with an introduction and overview of React. It then covers key React concepts like components, the virtual DOM, JSX, state and props. Finally, it demonstrates how to start coding with React by rendering a component, using state, and working with forms. Resources for further learning are also provided at the end.
Objective-C is an object-oriented programming language that is a superset of C. It was developed in the 1980s on top of C to provide object-oriented capabilities. Objective-C uses classes and messages to define methods and invoke behaviors on objects. Developers create classes with properties and methods to define behaviors and attributes for objects. Memory is managed through retain counts, and objects communicate by sending messages to each other to invoke methods.
Java Interview Questions and Answers | Spring and Hibernate Interview Questio...Edureka!
This Edureka Java Interview Questions and Answers tutorial will help you to prepare yourself for Java Interviews ( Java Interview Questions Blog: https://goo.gl/GY3yTR ). Learn about the most important Java interview questions and answers and know what will set you apart in the interview process.
This tutorial covers Java Interview Questions on:
1) Basic Java Questions
2) OOPS Questions
3) Servlets
4) JDBC
5) Spring
6) Hibernate
Swagger UI enables generating documentation for RESTful APIs that is updated as the server code changes. It works with Spring Boot by adding dependencies, a configuration file, and annotations. This exposes API endpoints in the browser for testing and provides descriptive documentation of each service's title, function, inputs, and outputs.
Slide do evento Amazon Event Tech - Tecnologia e Inovação na Amazônia que aconteceu dia 9 de junho de 2017, às 19:30.
Tema: Orquestração de containers com Rancher.io
Palestrantes: Alex Ishida e Jorge Luis
This document discusses Node.js functions, modules, and exporting modules. It covers defining functions, parameters, and return values. It also covers the different types of modules in Node.js including core modules, local modules, and third party modules. Finally, it discusses how to export variables, functions, objects, and classes from modules using module.exports.
Express is a web framework for Node.js that allows routing, middleware, templating and more. It is inspired by Sinatra and uses Connect as its middleware framework. Key features include routing, middleware support, template rendering with engines like Jade, and session handling with storage options. Errors can be handled via the app.error() method. Express provides a full-featured and easy to use web development framework for Node.js.
Video of the presentation: http://www.youtube.com/watch?v=8z3h4Uv9YbE
At LinkedIn, we have started to use the Play Framework to build front-end and back-end services at massive scale. Play does things a little differently: it's a Java and Scala web framework, but it doesn't follow the servlet spec; it's fairly new, but it runs on top of robust technologies like Akka and Netty; it uses a thread pool, but it's built for non-blocking I/O and reactive programming; most importantly, it's high performance, but also high productivity. We've found that the Play Framework is one of the few frameworks that is able to maintain the delicate balance of performance, reliability, and developer productivity. In the Java and Scala world, nothing even comes close. In this talk, I'll share what we've learned so far, including details of rapid iteration with Java and Scala, the story behind async I/O on the JVM, support for real time web apps (comet, WebSockets), and integrating Play into a large existing codebase.
Presentation on various definitions for JSON including JSON-RPC, JSPON, JSON Schema, JSONP and tools for working these definitions including Persevere client and server..
Version 6 of Adobe Experience Manager (AEM 6) is a major release that introduces significant innovations. Sightly is a new template system to be used in place of (or together with) JSP. Along with Sling Models, SIghtly strongly improves the separation between the logic and presentation. The development effort is reduced because a Sightly template is an HTML 5 document, easily maintainable even by front-end developers.
The presentation provides an overview of the basic features of Sightly and introduces the fundamentals of the new development model with the support of tools released release together with AEM 6.
Exemplo e caso prático do uso de bases de dados relacionais
SGBDR SQLite e o exemplo de uma biblioteca pessoal
Luis Borges Gouveia
V2.0 - Fevereiro de 2015
Apresentar aos alunos as estruturas de repetição da linguagem C#, utilizando exemplos práticos e comparando-as com as estruturas de repetição utilizadas no software VisualG.
Realizar atividades práticas aplicando os laços de repetição em estruturas de dados complexas (vetores e matrizes).
Migrando aplicações para FireDac - Embarcadero Conference 2014Diego Rosa
Vamos orienta-lo através de uma série de etapas como realizar a migração de aplicações que utilizam BDE para passar a utilizar o FireDac (o novo conjunto de componentes de acesso a banco de dados). E como grande parte desse processo pode ser automatizado.
O documento apresenta os principais recursos do FireDAC, como recuperação automática de conexões, acesso offline a dados, abstração de dialetos SQL, execução de scripts SQL e ETL. O FireDAC fornece acesso universal a bancos de dados com características específicas de cada banco.
Introdução FireDACAcesso multi-banco para Delphi e C++ BuilderDiego Rosa
O documento apresenta o FireDAC, um conjunto de componentes para acesso multi-banco para Delphi e C++ Builder. Resume os principais pontos abordados: 1) O que é o FireDAC e suas principais características como alta performance e API unificada; 2) Uma visão geral da arquitetura do FireDAC com seus principais componentes; 3) Algumas funcionalidades como comandos em lote, execução assíncrona e mapeamento de tipos de dados.
O documento descreve as principais características e funcionalidades do banco de dados Firebird. Ele é um banco de dados relacional compatível com SQL que é independente de plataforma e sistema operacional, requer poucos recursos e não necessita de administradores de banco de dados. O documento também lista alguns dos principais comandos SQL suportados pelo Firebird.
O documento descreve as funções de um sistema de gestão empresarial chamado InfoTêxtil Confecção Clássico, incluindo módulos financeiros, de faturamento, vendas, produção, estoques e controle de custos para ajudar empresas têxteis a controlar custos, aumentar lucratividade e ter uma produção mais ágil.
RAD Studio 10 Seattle é o caminho mais rápido para construir e atualizar aplicativos visualmente atraentes, ricos em dados, hiperconectados, para Windows 10, Mac, Mobile, Internet das coisas, e muito mais!
O manual apresenta os principais subprocessos do processo de comprar mercadorias no sistema Winthor, sendo eles: (1) emitir pedido de compra, (2) receber mercadorias, (3) conferir entrada de mercadorias, (4) devolver a fornecedor e (5) precificar produtos. O primeiro subprocesso detalhado é emitir pedido de compra, onde são explicados os passos para lançar um pedido de compra no sistema, definindo suas condições comerciais como preço, desconto, impostos e quantidade a ser adquirida.
O documento descreve a evolução da linguagem Delphi desde seu surgimento até a versão mais recente, o Delphi XE6. Ele explica que o Delphi começou como uma evolução do Pascal e foi lançado pela primeira vez em 1995 pela Borland para desenvolvimento Windows. Desde então, passou por várias atualizações de sua IDE para agregar novos recursos e suporte a plataformas móveis como iOS e Android. Atualmente, o Delphi é uma ferramenta popular entre desenvolvedores por proporcionar alta produtividade e agilidade na criação
O documento apresenta o produto RAD Studio XE7 da Embarcadero Technologies, que permite o desenvolvimento rápido de aplicações multiplataforma. O documento discute as principais funcionalidades do RAD Studio XE7, incluindo o FireUI para design responsivo, a biblioteca de programação paralela para melhor desempenho, e suporte aprimorado para plataformas como Android, iOS, Windows e OS X.
O documento discute a evolução do framework DLib para acesso a dados no Delphi. Originalmente usava o componente BDE, mas ele foi descontinuado. A nova versão DLib2 foi projetada para ser flexível o suficiente para suportar diferentes tecnologias de banco de dados sem quebrar a interface existente. Isso foi feito isolando a interface de uso da tecnologia subjacente. A implantação nos clientes usou uma abordagem de "canário" para testar a nova versão em produção de forma controlada e reverter rapidamente se necessário.
Palestra Desenvolvimento Ágil para Web com ROR UVAThiago Cifani
O documento resume as principais características e conceitos da linguagem de programação Ruby e do framework web Ruby on Rails. Foi lançado em 1995 e projetado para tornar os programadores felizes, com sintaxe enxuta e tudo como objeto. Rails facilita o desenvolvimento web ágil com convenções sobre configuração, DRY e simplicidade.
Do Clipper e Delphi ao Ruby e PHP: Antes e depois dos frameworksPablo Dall'Oglio
O documento descreve as tecnologias de desenvolvimento de software utilizadas antes e depois da popularização dos frameworks, mencionando Clipper, Delphi, PHP e os frameworks Ruby on Rails e Adianti. Também discute conceitos como modelo-visão-controlador (MVC) e padrões de projeto.
O documento fornece dicas sobre boas práticas de programação PHP para obter alta performance e escalabilidade. Em três frases ou menos, resume-se:
Divida a aplicação em camadas, use frameworks para padronização e reuso de código, e otimize o banco de dados e cache para melhorar a performance e capacidade de suportar alto tráfego.
Este documento apresenta PHP como uma linguagem de programação adequada para aplicações web de grande porte. Apresenta as vantagens do PHP, como simplicidade, escalabilidade e custo baixo, e como o PHP pode lidar com requisitos como integração, testes, desempenho e suporte através de recursos como frameworks, caches, clusters e comunidades ativas. O documento também discute outras tecnologias para aplicações web e como o PHP se compara a elas.
Modularização via BPL - Abordagem Prática para DataSnap & Front-endMario Guedes
O documento discute a modularização de aplicativos usando BPL (Borland Package Library) no Delphi, permitindo dividir um projeto grande em vários módulos menores com poucas dependências. A abordagem modular traz vantagens como melhor divisão de trabalho na equipe, escopo menor para cada desenvolvedor e possibilidade de atualizar partes do sistema separadamente.
Eduardo Bregaida apresenta seu perfil profissional como desenvolvedor Java e Scrum Master e seu objetivo de se tornar um piloto comercial de avião. Ele oferece ajuda a James para desenvolver um sistema para a loja de aeronaves herdada por James. Eles discutem os requisitos do domínio, incluindo diferentes tipos de aeronaves e suas características, e como modelar e implementar o sistema usando Domain-Driven Design (DDD), Behavior-Driven Development (BDD) e Test-Driven Development (TDD).
O documento apresenta Redis, um banco de dados chave-valor em memória. Redis é descrito como um servidor de estrutura de dados remoto que armazena dados em chave-valor e suporta operações em listas, conjuntos e hashes. Além disso, Redis oferece canais de publicação/assinatura e é apresentado como uma ferramenta versátil para armazenamento e processamento de dados.
O documento apresenta uma introdução à linguagem de programação PHP, abordando: 1) sua história e características principais; 2) tipos de dados e variáveis; 3) estruturas de controle como condicionais e repetição; 4) formulários HTML e captura de dados.
TDCSP - 2018 - Possibilidades com o REDIS no DelphiMario Guedes
O documento apresenta o Redis, um banco de dados chave-valor orientado a memória. Redis pode ser usado para armazenamento de sessão, cache de dados e mensageria. Ele suporta vários tipos de dados como strings, hashes, listas e conjuntos. No Delphi, a biblioteca DelphiRedisClient facilita o uso do Redis. Exemplos de uso estão disponíveis no GitHub do palestrante.
Apresentação feita na trilha .NET de Porto Alegre em Outubro 2014.
Nesta Apresentação falei sobre o início do ORM, o foco no cliente para adoção de frameworks de acesso a dados.
Uso de TSQL, consultas personalizadas, SPs, Orm....
O documento apresenta um tutorial sobre como criar uma aplicação web simples utilizando o framework Ruby on Rails, abordando tópicos como criação de projeto, banco de dados, layout e componentes front-end.
O documento discute a implementação de um sistema para uma loja de aeronaves utilizando Domain-Driven Design (DDD), Behavior Driven Development (BDD) e Test Driven Development (TDD). O sistema precisa permitir buscas por nome, fabricante e capacidade das aeronaves. O desenvolvedor sugere como modelar as entidades e repositórios do domínio e implementar testes para validar o comportamento desejado.
Utilizando NoSQL no desenvolvimento de soluções inteligentesChristiano Anderson
O documento discute as vantagens de bancos NoSQL em relação a bancos de dados relacionais tradicionais para armazenar grandes quantidades de dados. O autor apresenta exemplos de bancos NoSQL como MongoDB, orientado a documentos, e Riak, baseado em chave-valor, e discute como cada um pode ser usado para diferentes casos. O autor também fornece exemplos de código para inserir e consultar dados nesses bancos usando Python.
O documento descreve o Redis, um banco de dados chave-valor armazenado na memória. Ele é muito rápido, de código aberto, e suporta vários tipos de dados e recursos como publicação-assinatura. O documento também discute como configurar e usar o Redis com PHP via bibliotecas como Predis, incluindo comandos básicos e avançados.
PHP Jedi - Boas Práticas e Alta PerformanceFelipe Ribeiro
O documento fornece diretrizes sobre boas práticas de programação PHP, como estruturação do código em camadas, uso de padrões de codificação, reuso de componentes, tratamento de erros, desempenho e escalabilidade. Recomenda frameworks, bibliotecas como PEAR e cuidados com nomeação, comentários e complexidade do código.
A apresentação visa repensar os padrões JavaEE para evitar o uso de padrões obsoletos, focando no container server-side, para criar arquiteturas enxutas.
O documento discute o Delphi, um compilador e IDE produzido pela Embarcadero. Apresenta que o Delphi usa programação orientada a objetos, foi criado por Anders Hejlsberg, e tem como objetivo ensinar conceitos como algoritmos, variáveis, funções e a criação de aplicativos simples.
Palestra apresentada na Semana Acadêmica Integrada 2009 do Centro de Ensino Superior de Foz do Iguaçu. O objetivo da palestra era de mostrar de modo geral a evolução da linguagem PHP, o mercado regional e também em companhias internacionais, perfis de profissionais e dicas para se tornar um profissional melhor e, por último mas não menos importante, as certificações disponíveis, tendo foco na certificação de PHP5.
WEBINAR DE LANÇAMENTO DELPHI, C++ BUILDER E RAD STUDIO 10.1 BERLIMFernando Rizzato
O documento apresenta as novidades do RAD Studio 10.1 Berlim, incluindo uma nova experiência de instalação mais flexível, melhorias nos compiladores nativos e ferramentas para Delphi e C++, e novos recursos para desenvolvimento multiplataforma e mobile com FireMonkey.
Semelhante a Migrando 4 milhões de linhas de Delphi 7 para XE7 (20)
Este documento apresenta os principais conceitos sobre bancos de dados relacionais, incluindo tabelas, registros, chaves primárias e estrangeiras, relacionamentos um-para-um, um-para-muitos e muitos-para-muitos, e as propriedades ACID que garantem a integridade dos dados.
O documento apresenta os principais conceitos da linguagem de programação Pascal, incluindo sua história, características, tipos de variáveis, estruturas de decisão e repetição. Exemplos de código ilustram como declarar variáveis, ler e escrever dados, usar operadores lógicos e laços For/To e While/Do.
Curso de Delphi - Lógica de Programação 2José Araújo
A última aula de Lógica de Programação 2 cobriu operadores relacionais e lógicos, estruturas de decisão e repetição em Portugol, incluindo os comandos SE/ENTÃO/SENÃO e ENQUANTO/FAÇA. O professor também forneceu exemplos e exercícios sobre essas estruturas e operadores para que os alunos possam praticar.
Curso de Delphi - Lógica de ProgramacaoJosé Araújo
O documento apresenta os principais conceitos de lógica de programação, incluindo lógica, algoritmos, variáveis, estruturas de decisão e repetição. Explica como a lógica é usada no dia a dia e como ela é essencial para desenvolvimento de sistemas. Também introduz a linguagem Portugol para escrever algoritmos de forma estruturada.
9º FireBird Developer Day - Automatizar Manutenção do Banco de DadosJosé Araújo
Este documento descreve uma apresentação sobre automatizando a criação e atualização de bancos de dados Firebird. Ele discute os desafios de gerenciar manualmente as versões do banco de dados, e como usar integração contínua e metodologias ágeis para automatizar esses processos repetitivos. O documento também aborda como refletir a estrutura do banco de dados na estrutura do sistema e como isso pode melhorar o versionamento e a confiabilidade do projeto.
O documento discute a integração contínua na prática, apresentando José Araújo como palestrante com experiência em engenharia de software. A integração contínua é um processo onde os desenvolvedores integram frequentemente seu código no repositório principal, permitindo que testes automatizados sejam executados a cada alteração para fornecer feedback rápido e confiança coletiva no código. O documento também fornece detalhes sobre o fluxo de trabalho de integração contínua.
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.
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).
3. Quem?
• 9 anos na área de desenvolvimento;
• Fortes Informática(Fortes Report);
• Delphi Developer Certification;
• Embarcadero Conference 2011, 2012;
• Sócio da Startup Top Sistemas;
4. Um pouco de história
• Clipper;
• Delphi 1;
• BDE;
• Mesmos programadores;
• Conceito RAD;
• 15 anos de legado;
• +50 programadores/analistas;
5. Motivação
• Delphi 7 obsoleto;
• Problemas com link edição;
• Se livrar do BDE;
• Colaboradores insatisfeitos;
• Embarcadero (Delphi – O Retorno);
• AlphaControls(Projeto Botox);
6. Dificuldades
• Muitos usuários(+40 mil);
• Backlog, bugs;
• Muitas pessoas envolvidas;
• GP’$;
• Vendedore$;
• Diretore$;
7. 1ª reunião
• GP’s, Vendedores, Diretores e Programadores;
• Todos na mesma sala;
8. 2ª reunião
• Reuniões separadas primeiro;
• GP’s, Vendedores, Diretores;
• Estratégia para cada grupo;
• GP’s: Entregar mais tarefas;
• Vendedores: Sistema mais rico;
• Diretores: Maior retorno $;
9. 3ª reunião
• GP’s, Vendedores, Diretores e Programadores;
• Todos na mesma sala;
10. Recursos
• Pessoas para executar;
• 1 membro de cada equipe;
• Algumas horas por dia;
• Equipe PeD (Pesquisa e Desenvolvimento);
• Buscar novos conhecimento;
• Resolver impedimentos do setor;
12. Cenário
• 9 sistemas;
• 9 segmentos diferentes;
• ~4 milhões de linhas;
• Firebird e SQLServer;
• Delphi 7 (12 anos);
• BDE (Era o que tinha);
• Poucos componentes de terceiros;
13. Analisando valores
• Delphi 7 x Delphi XE;
• BDE x DBXpress;
• Morro(MOnitor de eRROs);
• Maiores queixas dos clientes;
• Problemas com blobs;
• MaxFileHandle;
14. DLib2
• BDE <> DBXpress(Totalmente);
• E se amanhã mudar denovo;
• Design Pattern Strategy;
• Wrapper(Empacotador);
• Mínimo de impacto nos sistemas;
• Reduzir tempo de conversão;
[9 anos]
Dedicados: Delphi, Java, Android e Engenharia de Software;
[Fortes]
5 anos, Programador nos sistemas finais, Analista na equipe PeD;
[EC 2011]
-Criando um servidor de integração contínua na prática;
[EC 2012]
-Melhorando a qualidade do código através de métricas;
-Material se encontra na revista Active Delphi e Blog;
[TopSistemas]
-Menos de 1 ano, Automação, HTTP;
[Clipper]
Fortes, Sistemas Contábeis; Paradox
Depois de vários anos apareceu Delphi 1;
Delphi sistemas intuitivos e produtividade;
Começou utilizando a forma RAD de ser;
[Delphi 7]
-12 anos, editor defasado, linguagem obsoleta;
-Ferramenta atualizada XE;
[Link edição]
-Sistema muito grande, vários problemas diários durante as compilações;
-Dica muito boa: Trocar dll Link32 do D7 pela do XE;
[Colaboradores]
-Recursos .Net, Java, Estudando outras ferramentas.
-Criar frameworks e a linguagem não da suporte;
[AlphaControls]
-Tentativa de deixar nossos sistemas mais atraentes;
-Criar uma identidade visual para nossos sistemas;
-Padronizar;
[Pessoas]
-Principal dificuldade foi pessoas;
-GP’s, Vendedores, Diretores
-Cada produto tem seu próprio eco-sistema;
-Todos com prioridades diferentes;
-Visões diferentes;
-Na nossa analise não teríamos problema com tecnologia;
-Nem com mão de obra;
-Nós empolgadissímos;
-Figura de animção!!!
-Não conseguimos chegar a lugar nenhum;
-Reagrupar e traçar nova estrátegia;
-Para cada grupo usamos estratégias diferentes;
--GP’s(Programadores iriam realizar as tarefas de forma mais eficaz);
--Vendedores(Sistema iria ficar mais Rico, logo iriam vender mais,
GPs iriam entregar mais tarefas);
--Diretores(Vendedores iriam vender mais, GP’s iriam entregar mais Logo Mais grana);
Após falar com todos separados;
Alinhar todos;
[Peraí, precisamos de gente pra fazer]
Selecionar candidatos para executar;
1 Membro de cada equipe trabalhando algumas horas por dia;
Não deu certo, tinha dia que a equipe não libera a pessoa;
Quando liberava tinha muitas interrupções;
Suporte;
Estava andando muito lento;
Tivemos outra reunião e acabamos criando a Equipe PeD;
Nesse ponto, todos já estavam empolgados pelos resultados;
As reuniões já eram mais animadoras;
[Sistemas]
-AC(Contábil, Fiscal, Pessoal) > +1,5 milhões de linhas;
-Ponto, Gestão(Financeiro, Estoque), Cargas, Frotas;
-Dlib: biblioteca própria para encapsular particularidades, reduzir escrita de código;
[Componentes]
-DevExpress(Quantum Grid);
-AlphaControls(Skins);
-SQLMemTable(Tabela em memória);
-madException(Captura de Runtime Erros - Morro);
[Compilacoes]
-Existem alguns sistemas compilando em XE;
-Deploy em Delphi 7;
[Escolher]
-Entre D7 e XE;
-BDE e DBXpress;
[Morro]
-Ferramenta para coletas de erros;
-Enviar do windows e de várias empresas;
-Por sistema;
-Envia a CallStack, Print da tela atual(Não do desktop inteiro);
[Blobs]
-Nossos sistemas tem muitos blobs;
[Decisão]
-Se livrar do BDE primeiro;
-Agrega mais valor ao cliente final;
[DLib1]
-Herdando diretamente do BDE;
-Estruturas totalmente diferentes entre BDE e DBXpress;
-Esforço gigante para migrar;
-Maior tempo de testar;
[DLib2]
-Estrutura de acesso banco de dados partindo do ZERO;
-Não reescrevemos a tecnologia de acesso a dados;
-Encapsulamos o tipo de tecnologia utilizada;
-Strategy Wiki: O padrão Strategy permite definir novas operações sem alterar as classes dos elementos sobre os quais opera.
Este padrão permite que o algoritmo possa variar independentemente dos clientes que o utilizam.
-Mantemos a compatibilidade com os recursos utilizados nos sistemas;
-Insert, Edit, IndexFields, RecordCount...
-Trouxemos o problema para dentro da nossa biblioteca;
-Protegemos os sistemas;
[ABRIR UML JPG]
[Próprio]
-Na nossa época não existia nenhum tipo de utilitário oficial da Embarcadero;
-Começamos devagar, bem inocente, ReplaceAll, Deu nem para o começo;
-Maioria do código esta padronizado, porém existe muita criatividade espalhada;
-Em alguns casos, foi até uma oportunidade de refatorar o código;
[DFM]
-Classe Métodos(Substituir o componente inteiro, Adicionar, Substituir e Remover Propriedades);
-DFMs Binários;
-Até que foi tranquilo, existe um padrão;
[PAS]
-Tentamos comecar igual ao DFM, não existe um padrão;
-Para cada parte do pas fizemos um método virtual;
-Uses, Interface, Implementation;
-Cada equipe implementa as particularidades dos seus sistemas;
[Removendo]
-Replaces especificos dentro do código para remover o que não era mais necessário;
[DLib2]
-Branch da DLib1;
-Trabalhar sem afetar a linha principal de desenvolvimento;
-Podemos acompanhar todas as mudanças feitas na DLib1;
[Router]
-Técnica para Internet;
-Quando precisava testar, era só converter;
-Nada de mudar o principal;
-Cópia com todas as modificações;
-Fontes2;
[Representantes]
-Retorno de cara na performance e estabilidade;
-Filiais não queriam mais utilizar a DLib1(BDE);
-Empolgação total;
-Filiais queriam implantar nos seus clientes;
-Controlamos os ânimos e agimos com a realidade;
[Implantar nos demais clientes]
[Mineiros]
-Gases tóxicos;
-Canários morriam primeiro;
[Canário]
-Forma de poder testar em produção;
-Impacto controlado;
-Reverter a situação rapidamente;
-Caption do Form tinha DLib2;
[XE]
-Porque?
-Com a DLib2 acabamos esquecendo os companheiros;
-Colaboradores: Empresa estava muito preocupada com o animo da equipe;
-Até o momento só tinhamos agradado os Clientes, Vendedores, GPs e Gerentes;
-Animo da equipe foi FUNDAMENTAL para reforçar a ida para o XE;
-Nunca vi o setor tão empolgado quando nós anunciamos que iríamos para XE;
[Investimento]
-Cara, você vive disso;
-Maior poder perante a Embarcadero;
-Com que moral você vai cobrar a empresa se usa uma versão pirata;
-Se por no lugar do outro, Se alguém piratear seu software?
-Uma hora o cerco vai fechar;
-Estamos na era das validações de licença ser online;
-Vida longa a nossa ferramenta de trabalho;
[XE]
-Retornos imediatos;
-Maior de todos: Colaboradores;
-Linguagem tem recursos modernos como jamais teve antes;
-Generics, Metodos anonimos, RTTI muito robusta, modificadores de acesso(Strict, Final, Abstract Class);
-Class Helpers;
-Estabilidade;
-Gerenciamento de memória;
-Milhares de melhorias, não dúvidas sobre isso;
-Não ver somente o mobile como melhorias, existes várias outras;
-Lógico que a Embarcadero irá dar enfase ao mobile;
[Convivencia]
-Desafio: Migrar para a nova plataforma sem engasgar a do negócio;
-Diferente da DLib, teríamos que mexer no código fonte das equipes;
-Maioria das alterações ocorreu dentro da nossa biblioteca;
-Diretivas não impactam funcionalmente no funcionamento da outra plataforma;
[Passo a Passo]
-Usamos pouco o conversor;
-Afinal de contas é código Delphi, a linguagem não mudou;
-Preferimos analisar caso a caso;
-Já tinhamos toda a carga de experiencia de conversão do BDE;
[DBXpress]
-Dentro da nossa biblioteca;
-cvDelphiXE7 unit chamada DLCompilerConts tem todas as versões de compiladores;
-Maior legibilidade;
Unit DLCompilerConsts;
-Override do ClientDataSet;
-Handle para o evento OnDocumentComplete do TWebBrowser;
-De VAR para CONST;
-Até aqui erros de compilação;
-Casos isolados;
-Bookmark no delphi 7 é um tipo primitivo;
-No XE é um tipo complexo;
-Usavamos aos milhares no Delphi7 bookmark como string;
-Substituir os bookmark para Tbookmark;
-Basta declarar a DelphiUP na uses;
[Migração]
-Já haviamos analisado várias vezes a possibilidade;
-Por baixo de 5 a 7 anos;
-Detalhe: Esses 5 a 7 anos é na unidade de medida Programador!
-Nossa conclusão – IMAGEM;
-Não é impossível, mais....;
-Todos falam em WEB, alguém em sã conciência acredita mesmo que o Desktop vai morrer duma hora pra outra;
-Estruture seu sistema para rodar na sobre HTTP e seja feliz;
-Roda em todo lugar. Existem quantos mercantis ou bares que tem um MAC ou Linux no caixa!
-No final das contas tudo se resume em MAIS DO MESMO;
[Golden Gates]
[Golden Gates]
Em média, na época, uma fatalidade foi registrada, por cada milhão de dólares gastos em um projeto dessa magnitude. Mas o engenheiro chefe da ponte, Joseph Strauss, cerca de vinte milhões de dólares gastos para a construção não deve ser sinônimo de vinte mortes entre seus funcionários.
[Protótipo]
Maneira barata de viabilizar algo;
Acredite, começe;