Este documento fornece instruções para realizar várias tarefas no CVS, como obter e atualizar cópias de trabalho, submeter alterações, forçar check-ins, resolver conflitos, mover arquivos e diretórios e cancelar operações. As tarefas incluem criar e remover opções aderentes, reverter alterações, listar modificações e mais.
O documento fornece uma introdução ao uso básico do sistema de controle de versão CVS, descrevendo como configurar o acesso a um repositório CVS, obter arquivos do repositório, submeter alterações, atualizar a área de trabalho local e reverter alterações a versões anteriores.
Este documento descreve um laboratório sobre o uso de etiquetas, ramos e exportação de versões no CVS. O laboratório ensina como aplicar etiquetas, mover etiquetas entre revisões, criar e trabalhar em ramos, e exportar uma versão marcada com etiqueta.
Este documento resume os principais pontos sobre o uso básico do CVS (Concurrent Versions System), um sistema de controle de versões. Ele descreve como configurar o acesso a um repositório CVS, obter arquivos de um repositório usando o comando checkout, descartar uma área de trabalho local e submeter alterações. O foco é no ponto de vista do autor, que edita arquivos no repositório.
Nesta aula vamos aprender:
Parte I:
O que é Git
O que é um repositório git
Conceitos Básicos: init, add, commit, push e pull
Parte II:
O que é Github
Como criar um repositório no Github
Como vincular um repositório local no github
Como obter um repositório do git com clone
O documento discute a administração do CVS, focando na escolha da distribuição, instalação, criação de repositórios e importação de projetos. Primeiro, recomenda-se planejar a capacidade do servidor CVS, considerando armazenamento, rede, memória e processamento. Em seguida, ensina-se a instalar o CVS no Linux ou Windows e criar repositórios usando o comando "init". Projetos são importados para o repositório com o comando "import".
Conceitos e exemplos em versionamento de códigoFelipe
Uma pequena apresentação dedicada a expôr desenvolvedores a conceitos e termos relacionados ao controle de versão de código em projetos de software; essa é uma prática essencial no desenvolvimento de software com a qual todos os desenvolvedores se depararão no decorrer de suas carreiras.
O documento discute gestão de configuração de software usando o CVS. Aborda tópicos como etiquetas, ramos, mesclagem de ramos, exportação de projetos e boas práticas. Explica como usar etiquetas para marcar liberações importantes, como criar e trabalhar em ramos para desenvolvimento paralelo, e como mesclar alterações entre ramos e o tronco principal.
O documento fornece uma introdução ao uso básico do sistema de controle de versão CVS, descrevendo como configurar o acesso a um repositório CVS, obter arquivos do repositório, submeter alterações, atualizar a área de trabalho local e reverter alterações a versões anteriores.
Este documento descreve um laboratório sobre o uso de etiquetas, ramos e exportação de versões no CVS. O laboratório ensina como aplicar etiquetas, mover etiquetas entre revisões, criar e trabalhar em ramos, e exportar uma versão marcada com etiqueta.
Este documento resume os principais pontos sobre o uso básico do CVS (Concurrent Versions System), um sistema de controle de versões. Ele descreve como configurar o acesso a um repositório CVS, obter arquivos de um repositório usando o comando checkout, descartar uma área de trabalho local e submeter alterações. O foco é no ponto de vista do autor, que edita arquivos no repositório.
Nesta aula vamos aprender:
Parte I:
O que é Git
O que é um repositório git
Conceitos Básicos: init, add, commit, push e pull
Parte II:
O que é Github
Como criar um repositório no Github
Como vincular um repositório local no github
Como obter um repositório do git com clone
O documento discute a administração do CVS, focando na escolha da distribuição, instalação, criação de repositórios e importação de projetos. Primeiro, recomenda-se planejar a capacidade do servidor CVS, considerando armazenamento, rede, memória e processamento. Em seguida, ensina-se a instalar o CVS no Linux ou Windows e criar repositórios usando o comando "init". Projetos são importados para o repositório com o comando "import".
Conceitos e exemplos em versionamento de códigoFelipe
Uma pequena apresentação dedicada a expôr desenvolvedores a conceitos e termos relacionados ao controle de versão de código em projetos de software; essa é uma prática essencial no desenvolvimento de software com a qual todos os desenvolvedores se depararão no decorrer de suas carreiras.
O documento discute gestão de configuração de software usando o CVS. Aborda tópicos como etiquetas, ramos, mesclagem de ramos, exportação de projetos e boas práticas. Explica como usar etiquetas para marcar liberações importantes, como criar e trabalhar em ramos para desenvolvimento paralelo, e como mesclar alterações entre ramos e o tronco principal.
Este laboratório ensina comandos básicos do Linux como ls, cd, touch, vim, chmod, cp, mv, rm e yum. Os alunos aprenderão a listar, criar, editar, mover e copiar arquivos e diretórios, alterar permissões, instalar e desinstalar pacotes.
UOL Tech Day: Testes de Integração com OpenEJBGabriel Ozeas
O documento descreve testes de integração com OpenEJB, permitindo executar aplicações e testes localmente de forma integrada. OpenEJB é um container EJB leve que permite criar recursos como datasources dentro dos testes para simular dependências.
O documento discute as funcionalidades do PostgreSQL que o tornam adequado para Big Data, como tipos de dados não estruturados, índices eficientes, particionamento, paralelismo de consultas, full text search, window functions e foreign data wrappers. O PostgreSQL vem adicionando novas funcionalidades para melhor atender as necessidades de Big Data e está acompanhando a evolução das tecnologias.
Este documento apresenta sobre replicação lógica no PostgreSQL 10, incluindo sua arquitetura, configuração e funcionamento. A replicação lógica replica mudanças de dados de um banco de dados publicador para bancos de dados assinantes de forma assíncrona e transacional através de publicações e assinaturas.
Este documento discute o uso avançado do CVS, com foco no gerenciamento de configuração e projetos. Ele explica como usar etiquetas para marcar liberações de projeto, criar e trabalhar em diferentes ramos, e fundir ramos. Também discute exportação de projetos, ferramentas para projetos com vários usuários e boas práticas de gerenciamento de configuração.
1. KrahoDB é um software de código aberto que implementa replicação multi-master no PostgreSQL através de replicação lógica.
2. Ele oferece recursos como filtragem de registros e origens, replicação seletiva de bancos de dados e tabelas, e modelo publish-subscribe.
3. A apresentação explica o funcionamento, configuração e limitações da replicação multi-master no KrahoDB, concluindo com informações sobre o projeto e perguntas.
1. O documento apresenta o pgquarrel, uma ferramenta para refatoração e migração de esquemas no PostgreSQL.
2. Ele fornece características como comparação de esquemas, geração de scripts SQL e suporte a diversos objetos do PostgreSQL.
3. O documento explica como instalar e usar o pgquarrel, seja via arquivo de configuração ou linha de comando, e como ele pode ser usado para gerenciar mudanças no esquema do banco de dados.
Oficina destinada a ensinar comandos básicos da plataforma Git para iniciantes em desenvolvimento. Desde a iniciação do repositório até manutenção de versões do código em um repositório remoto.
O documento apresenta um tutorial sobre como utilizar o sistema de controle de versão Git no Eclipse IDE, incluindo como instalar o plugin E-Git, criar e commitar projetos em repositórios locais e remotos no GitHub, comparar versões, clonar projetos e trabalhar em equipe.
O documento discute arquitetura web, containers web, aplicações web e servlets. Ele explica como servlets funcionam, suas tecnologias do lado do servidor, o ciclo de vida de uma servlet, a API servlet HTTP e como implementar, compilar e implantar uma servlet.
O documento descreve as principais diferenças entre SVN e Git, ferramentas de controle de versão. SVN é centralizado enquanto Git é descentralizado. Git permite trabalhar offline e sincronizar mudanças posteriormente, ao contrário do SVN. O documento também fornece exemplos passo a passo de como usar comandos básicos como commit, branch, merge em Git.
Este documento apresenta os conceitos básicos do sistema de controle de versão Git. Resume os principais comandos como add, commit, status, log e diff. Explica conceitos como branches, staging area e working directory. Fornece também dicas e referências sobre Git.
O documento discute operações de gerenciamento de redes e sistemas Linux, incluindo: (1) a criação de diretórios e arquivos, cópia e remoção de diretórios, e comandos find, grep, head e tail; (2) o uso do comando tar para compactar e descompactar arquivos; e (3) comandos para criar, modificar e remover usuários e grupos no sistema.
O documento discute sobre servidores Linux, distribuições como o Ubuntu, aplicações comuns em servidores Linux como servidores de arquivos, web, email, firewalls. Também aborda o sistema de arquivos do Linux, comandos básicos e operações avançadas como find, grep, redirecionamento e compactação de arquivos com tar.
Dextra Sistemas: Novidades do PostgreSQL 9.0Dextra
1) O documento descreve as principais novidades da versão 9.0 do PostgreSQL, incluindo melhorias na replicação de dados, administração de privilégios e desempenho.
2) Entre as melhorias, destacam-se o "Hot Standby", que permite consultas no banco de dados secundário, e a "Streaming Replication", que agiliza a replicação de dados entre os servidores.
3) Também foram introduzidos blocos anônimos em PL/pgSQL e triggers condicionais e por colunas para simplificar tarefas de admin
O documento discute gestão de versão e configuração, abordando problemas de desenvolvimento em equipe e compartilhamento de código. Apresenta controle de versão como solução, explicando os conceitos de espaço de trabalho, índice e repositório local e remoto. Por fim, demonstra na prática os comandos básicos do Git como adição, commit, branch, merge e interação com repositórios remotos.
Este documento propõe uma arquitetura para tolerância a falhas de serviços web em redes internas utilizando pools de serviços, algoritmos preemptivos e adaptativos e manutenção dinâmica de entradas no DNS. A arquitetura executa testes paralelos nos nós dos pools para validar o estado dos serviços e isolar nós com falhas, atualizando automaticamente as entradas no DNS.
O documento descreve como funciona a clusterização com IBM Lotus Domino 8.5, permitindo alta disponibilidade de bancos de dados, balanceamento de carga e escalabilidade através da replicação e distribuição de dados entre servidores. Componentes como o Cluster Manager monitoram o estado dos servidores e direcionam requisições para réplicas em outros servidores em caso de falha ou sobrecarga. É necessário que os servidores estejam na mesma rede e domínio Domino para participar do cluster.
O documento descreve diversos comandos do Linux, incluindo clear para limpar a tela, df para mostrar espaço em disco, uname para mostrar informações do kernel, e shutdown ou reboot para desligar ou reiniciar o sistema. Também discute ln para criar links, find para localizar arquivos, free para mostrar uso de memória, e grep para localizar texto dentro de arquivos.
1) O documento descreve como instalar e configurar o CVS no Linux e Windows;
2) Inclui instruções para compilar o CVS no Linux, instalar binários no Linux e Windows, e testar as instalações;
3) Cria um repositório CVS no Linux e examina a estrutura e formato de arquivos de histórico do repositório.
1) O documento apresenta conceitos sobre Node.js, Express e Nodemon para criação de uma API REST com Node.js.
2) É mostrado como configurar rotas, módulos e repositórios para organizar o código da aplicação.
3) São explicados recursos como servir arquivos estáticos e templates para renderização de páginas HTML.
Este laboratório ensina comandos básicos do Linux como ls, cd, touch, vim, chmod, cp, mv, rm e yum. Os alunos aprenderão a listar, criar, editar, mover e copiar arquivos e diretórios, alterar permissões, instalar e desinstalar pacotes.
UOL Tech Day: Testes de Integração com OpenEJBGabriel Ozeas
O documento descreve testes de integração com OpenEJB, permitindo executar aplicações e testes localmente de forma integrada. OpenEJB é um container EJB leve que permite criar recursos como datasources dentro dos testes para simular dependências.
O documento discute as funcionalidades do PostgreSQL que o tornam adequado para Big Data, como tipos de dados não estruturados, índices eficientes, particionamento, paralelismo de consultas, full text search, window functions e foreign data wrappers. O PostgreSQL vem adicionando novas funcionalidades para melhor atender as necessidades de Big Data e está acompanhando a evolução das tecnologias.
Este documento apresenta sobre replicação lógica no PostgreSQL 10, incluindo sua arquitetura, configuração e funcionamento. A replicação lógica replica mudanças de dados de um banco de dados publicador para bancos de dados assinantes de forma assíncrona e transacional através de publicações e assinaturas.
Este documento discute o uso avançado do CVS, com foco no gerenciamento de configuração e projetos. Ele explica como usar etiquetas para marcar liberações de projeto, criar e trabalhar em diferentes ramos, e fundir ramos. Também discute exportação de projetos, ferramentas para projetos com vários usuários e boas práticas de gerenciamento de configuração.
1. KrahoDB é um software de código aberto que implementa replicação multi-master no PostgreSQL através de replicação lógica.
2. Ele oferece recursos como filtragem de registros e origens, replicação seletiva de bancos de dados e tabelas, e modelo publish-subscribe.
3. A apresentação explica o funcionamento, configuração e limitações da replicação multi-master no KrahoDB, concluindo com informações sobre o projeto e perguntas.
1. O documento apresenta o pgquarrel, uma ferramenta para refatoração e migração de esquemas no PostgreSQL.
2. Ele fornece características como comparação de esquemas, geração de scripts SQL e suporte a diversos objetos do PostgreSQL.
3. O documento explica como instalar e usar o pgquarrel, seja via arquivo de configuração ou linha de comando, e como ele pode ser usado para gerenciar mudanças no esquema do banco de dados.
Oficina destinada a ensinar comandos básicos da plataforma Git para iniciantes em desenvolvimento. Desde a iniciação do repositório até manutenção de versões do código em um repositório remoto.
O documento apresenta um tutorial sobre como utilizar o sistema de controle de versão Git no Eclipse IDE, incluindo como instalar o plugin E-Git, criar e commitar projetos em repositórios locais e remotos no GitHub, comparar versões, clonar projetos e trabalhar em equipe.
O documento discute arquitetura web, containers web, aplicações web e servlets. Ele explica como servlets funcionam, suas tecnologias do lado do servidor, o ciclo de vida de uma servlet, a API servlet HTTP e como implementar, compilar e implantar uma servlet.
O documento descreve as principais diferenças entre SVN e Git, ferramentas de controle de versão. SVN é centralizado enquanto Git é descentralizado. Git permite trabalhar offline e sincronizar mudanças posteriormente, ao contrário do SVN. O documento também fornece exemplos passo a passo de como usar comandos básicos como commit, branch, merge em Git.
Este documento apresenta os conceitos básicos do sistema de controle de versão Git. Resume os principais comandos como add, commit, status, log e diff. Explica conceitos como branches, staging area e working directory. Fornece também dicas e referências sobre Git.
O documento discute operações de gerenciamento de redes e sistemas Linux, incluindo: (1) a criação de diretórios e arquivos, cópia e remoção de diretórios, e comandos find, grep, head e tail; (2) o uso do comando tar para compactar e descompactar arquivos; e (3) comandos para criar, modificar e remover usuários e grupos no sistema.
O documento discute sobre servidores Linux, distribuições como o Ubuntu, aplicações comuns em servidores Linux como servidores de arquivos, web, email, firewalls. Também aborda o sistema de arquivos do Linux, comandos básicos e operações avançadas como find, grep, redirecionamento e compactação de arquivos com tar.
Dextra Sistemas: Novidades do PostgreSQL 9.0Dextra
1) O documento descreve as principais novidades da versão 9.0 do PostgreSQL, incluindo melhorias na replicação de dados, administração de privilégios e desempenho.
2) Entre as melhorias, destacam-se o "Hot Standby", que permite consultas no banco de dados secundário, e a "Streaming Replication", que agiliza a replicação de dados entre os servidores.
3) Também foram introduzidos blocos anônimos em PL/pgSQL e triggers condicionais e por colunas para simplificar tarefas de admin
O documento discute gestão de versão e configuração, abordando problemas de desenvolvimento em equipe e compartilhamento de código. Apresenta controle de versão como solução, explicando os conceitos de espaço de trabalho, índice e repositório local e remoto. Por fim, demonstra na prática os comandos básicos do Git como adição, commit, branch, merge e interação com repositórios remotos.
Este documento propõe uma arquitetura para tolerância a falhas de serviços web em redes internas utilizando pools de serviços, algoritmos preemptivos e adaptativos e manutenção dinâmica de entradas no DNS. A arquitetura executa testes paralelos nos nós dos pools para validar o estado dos serviços e isolar nós com falhas, atualizando automaticamente as entradas no DNS.
O documento descreve como funciona a clusterização com IBM Lotus Domino 8.5, permitindo alta disponibilidade de bancos de dados, balanceamento de carga e escalabilidade através da replicação e distribuição de dados entre servidores. Componentes como o Cluster Manager monitoram o estado dos servidores e direcionam requisições para réplicas em outros servidores em caso de falha ou sobrecarga. É necessário que os servidores estejam na mesma rede e domínio Domino para participar do cluster.
O documento descreve diversos comandos do Linux, incluindo clear para limpar a tela, df para mostrar espaço em disco, uname para mostrar informações do kernel, e shutdown ou reboot para desligar ou reiniciar o sistema. Também discute ln para criar links, find para localizar arquivos, free para mostrar uso de memória, e grep para localizar texto dentro de arquivos.
1) O documento descreve como instalar e configurar o CVS no Linux e Windows;
2) Inclui instruções para compilar o CVS no Linux, instalar binários no Linux e Windows, e testar as instalações;
3) Cria um repositório CVS no Linux e examina a estrutura e formato de arquivos de histórico do repositório.
1) O documento apresenta conceitos sobre Node.js, Express e Nodemon para criação de uma API REST com Node.js.
2) É mostrado como configurar rotas, módulos e repositórios para organizar o código da aplicação.
3) São explicados recursos como servir arquivos estáticos e templates para renderização de páginas HTML.
SVN: Controle de revisões com subversion - Thiago Rafael BeckerTchelinux
O documento resume as principais características e funcionalidades do SVN (Subversion), um sistema de controle de versão. O SVN oferece versionamento de arquivos e diretórios, mantém o histórico de alterações, permite consultar versões anteriores e realizar operações como checkout, commit, branching e merging de forma mais eficiente do que o CVS.
O documento discute a identificação de mudanças conjuntas em arquivos de um sistema de controle de versão através da análise do log do sistema. Propõe dividir o tempo do projeto em fatias para registrar quais arquivos foram alterados em cada período. A partir disso, calcula a probabilidade de pares de arquivos serem modificados conjuntamente. O trabalho a ser desenvolvido deve identificar essas mudanças conjuntas a partir do log e prever alterações futuras.
Este documento fornece um guia sobre como usar o sistema de controle de versão CVS no Eclipse. Ele explica o que é o CVS e como funciona, além de detalhar os passos para configurar um repositório CVS no Eclipse, acessar projetos nesse repositório, atualizar arquivos locais e enviar alterações de volta para o repositório.
Exercícios - Tutorial ETL com Pentaho Data IntegrationJarley Nóbrega
1. O documento descreve como criar uma transformação no Pentaho Data Integration (PDI) para gerar a mensagem "Hello World" utilizando dois steps: um para gerar linhas e outro vazio.
2. Também mostra como expandir essa transformação para ler dados de um arquivo texto, adicionar campos constantes, gerar sequências e gravar o resultado em um novo arquivo texto.
3. Por fim, explica como criar uma conexão com um banco de dados Apache Derby para armazenar dados no futuro.
Este documento apresenta uma introdução sobre persistência de dados com Hibernate e anotações. Ele discute como o Hibernate mapeia classes Java para tabelas de banco de dados usando anotações no código Java no lugar de arquivos XML. O documento também mostra como configurar e usar o Hibernate em um projeto de exemplo passo a passo, incluindo a criação de classes de entidade, mapeamento de atributos e configuração do Hibernate Util.
O documento descreve como utilizar o framework nHibernate em .NET para mapear objetos a dados em uma base de dados relacional. Ele explica os conceitos básicos do nHibernate, como configuração, mapeamento de objetos e tabelas, e operações CRUD. O documento também fornece exemplos passo a passo para criar um projeto simples com nHibernate.
O documento introduz conceitos básicos de gestão de configuração e do sistema de controle de versões CVS. Explica que o CVS permite o trabalho concorrente em arquivos, armazenando versões anteriores. Também define termos como repositório, módulo, área de trabalho, check-out, check-in e revisão.
SVN - Subversion: Guia de sobrevivência do usuárioFabrício Campos
Este documento fornece uma introdução ao sistema de versionamento Subversion (SVN), descrevendo suas principais funcionalidades e comandos. O documento explica o que é um sistema de versionamento, as vantagens do SVN, como instalá-lo e os comandos básicos como checkout, update, add, delete, copy e commit.
O documento descreve o Maven, uma ferramenta de gerenciamento e construção de projetos Java. O Maven revolucionou o gerenciamento de dependências, introduzindo o conceito de repositório central. Ele define padrões para estrutura de projeto, dependências, builds e plugins. Projetos no Maven são definidos através do arquivo pom.xml.
O documento descreve o sistema de controle de versão Git, definindo-o como um sistema descentralizado e discutindo seus principais conceitos e comandos, como inicializar um repositório, fazer commits, comparar versões e recuperar arquivos antigos.
Integração Contínua com CVS, CruiseControl, AntHill, GumpDenis L Presciliano
O documento apresenta três ferramentas de integração contínua - CruiseControl, AntHill e Gump - que combinam Ant, JUnit e sistemas de controle de versão como CVS. É descrito o funcionamento do CVS e como ele é usado com Ant. As ferramentas automatizam a compilação e teste do código-fonte sempre que novos commits são feitos no repositório.
O documento introduz o Node.js, uma plataforma baseada no motor JavaScript V8 do Google Chrome para construir aplicações de rede rápidas e escaláveis. Ele discute como o Node.js usa programação orientada a eventos e callbacks para lidar com operações assíncronas e fornece instruções para configurar o ambiente e realizar exercícios práticos de introdução ao Node.js.
O documento explica como o kernel Linux fornece serviços para aplicativos através de chamadas de sistema, gerencia hardware e permite a troca de módulos. O kernel cria uma "máquina virtual" abstraindo o hardware real e fornece informações sobre o sistema no diretório /proc. Parâmetros no /proc/sys podem ser usados para melhorar o desempenho.
Este documento fornece uma introdução aos principais comandos do Git para iniciar e gerenciar um repositório local e remoto, incluindo comandos para criar commits, branches, fazer merge, pull e push. Ele também explica como clonar um repositório existente e visualizar o histórico e diferenças entre versões.
- Git é um sistema de controle de versão distribuído multiplataforma que permite rastrear alterações em arquivos e coordenar trabalho em equipe.
- Ele funciona com um modelo de três árvores que mantém cópias de trabalho locais, índices e heads.
- Git suporta branches para desenvolvimento isolado e tags para marcar releases. Comandos como add, commit, push e pull controlam o fluxo de trabalho.
Shopping UOL: Uma nova perspectiva sobre comparação de preços e seu papel no ...Marden Neubert
O Shopping UOL é o comparador de preços do UOL, a maior empresa de serviços online do Brasil. Em novembro de 2013, o Shopping UOL foi completamente reformulado para refletir novas tendências no comércio eletrônico mundial. Entenda quais foram os fatores que levaram a essa reformulação e o que o novo Shopping UOL traz de novidades para consumidores e varejistas.
Este documento apresenta o plano de treinamento sobre o sistema de controle de versão Concurrent Versions System (CVS). O objetivo é capacitar profissionais de TI a usarem efetivamente o CVS em projetos de desenvolvimento e administração de sistemas. O treinamento abrange introdução, administração, uso básico e avançado do CVS em módulos que incluem conceitos, laboratórios práticos e referências.
Este documento apresenta um módulo de treinamento sobre administração do CVS. Ele aborda tópicos como dimensionamento de capacidade para implantação do CVS, instalação, criação e importação de repositórios, configuração de segurança e permissões. A agenda inclui planejamento de capacidade, escolha da distribuição CVS, instalação, gestão de repositórios e projetos, e configuração de acessos.
Este documento apresenta um módulo introdutório sobre gestão de configuração e o sistema CVS. Ele explica conceitos gerais de gestão de configuração, o histórico e arquitetura do CVS, e como ele se relaciona com a disciplina de gestão de configuração ao fornecer recursos como controle de versões e trabalho simultâneo em arquivos.
Este documento apresenta um curso sobre o sistema de controle de versões CVS. Ele descreve os objetivos do curso, que são ensinar os participantes a implantar, usar e gerenciar o CVS em projetos de desenvolvimento. Também apresenta a audiência-alvo, pré-requisitos e visão geral do conteúdo e duração dos módulos que compõem o curso.
O documento descreve a evolução dos processos de desenvolvimento de produtos no UOL, passando por três estágios: de nenhum processo formal inicial para um processo monumental com ferramentas complexas e departamentos isolados, até a adoção de um processo ágil baseado em times multidisciplinares, histórias de usuário e responsabilidade compartilhada pelos testes.
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
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.
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).
1. CVS Básico: Laboratório do Aluno Copyright® 2005, Marden Neubert
Lab3-1: Submetendo Alterações
Objetivos
Ao final deste lab, você será capaz de:
• Criar uma área de trabalho sobre um módulo no repositório.
• Alterar cópias locais de arquivos e submeter alterações.
• Configurar o editor utilizado pelo CVS.
• Forçar a criação de novas revisões no repositório.
Cenário
Neste lab, exercitaremos o comando commit. Usaremos o já conhecido comando checkout para
obter uma cópia de trabalho sobre um módulo no repositório. Realizaremos alterações e as
submeteremos ao repositório.
Como utilizaremos somente comandos do cliente CVS, este lab (e todos os próximos) pode ser
executado tanto no Windows como no Linux, com repositórios locais ou remotos.
Tarefa 1: Obter uma cópia de trabalho e submeter modificações
1. Entre no sistema operacional de sua preferência e faça um check-out do projeto places,
importado no Lab2-3. Faça isso sob o seu diretório de trabalho, por exemplo, C:Trabalho ou
/home/mneubert/trabalho, no caso do instrutor. Caso já tenha uma cópia local desse módulo,
certifique-se de que ela está sincronizada com o repositório (você pode usar o comando
checkout para isso). O resultado deve ser similar ao da figura abaixo.
2. Edite o arquivo Country.java, localizado abaixo da raiz do módulo places, no diretório
src/java/br/com/portifolioti/places/domain. Substitua a classe HashSet por TreeSet. Isso
deve ser feito na linha 3 (import java.util.HashSet) e na linha 8 (... = new HashSet()).
3. Faça um check-in da alteração, sem especificar uma mensagem de log na linha de comando:
cvs commit
4. O CVS abrirá o Notepad, pedindo para que seja informada uma mensagem de log. Crie uma
linha no Notepad, pois as linhas começando por CVS: são ignoradas. Insira o comentário:
“Estou usando TreeSet no lugar de HashSet”.
1
2. CVS Básico: Laboratório do Aluno Copyright® 2005, Marden Neubert
5. Feche o Notepad. Ele perguntará se o arquivo deve ser salvo. Observe a localização do arquivo,
ele é um temporário criado pelo CVS. Diga que “Sim”. A alteração será propagada para o
repositório. O CVS imprime na saída de commit o caminho do arquivo RCS (o histórico)
alterado pela operação, o número da revisão anterior e da nova revisão.
6. Observe os números de revisão. Como estamos trabalhando no tronco, os números têm apenas
duas partes, separadas por um ponto. Como vimos ao importar fontes, ramos derivados têm
numerações mais complexas.
7. Edite o arquivo State.java, no mesmo diretório que Country.java. Faça a mesma alteração,
substituindo HashSet por TreeSet. Isso deve ser feito na linha 3 (import java.util.HashSet) e
na linha 7 (... = new HashSet()).
8. Vá à raiz do módulo, o diretório C:Trabalhoplaces, no caso deste exemplo, e execute:
cvs commit –m “Estou usando TreeSet no lugar de HashSet”. A saída deve ser similar a:
9. Observe o funcionamento recursivo de commit. O comando procura por alterações em todos os
subdiretórios da cópia local e encontra a alteração em State.java. A nova revisão é criada no
repositório e, como usamos a opção –m, o editor não é chamado.
2
3. CVS Básico: Laboratório do Aluno Copyright® 2005, Marden Neubert
Tarefa 2: Forçando o check-in de revisões
1. Volte ao diretório src/java/br/com/portifolioti/places/domain e force um check-in do arquivo
City.java, usando a opção –f para commit.
cvs commit –m “Nova revisao sem modificacoes” –f City.java
Note que uma nova revisão foi criada, mesmo que o arquivo não tenha sido modificado.
Tarefa 3 (Opcional): Escolhendo novos números de revisão
Esta tarefa é opcional e, se realizada, deve ser feita no cliente Linux, pois o CVSNT não suporta a
opção de linha de comando –r para commit.
1. Vamos agora forçar a mudança do número de revisão de todos os arquivos no módulo para 2.0,
pois 2 é o número da última liberação principal do projeto places. Vá para a raiz do módulo e
chame commit com os seguintes parâmetros:
cvs commit –m “Registro da liberacao 2” –r 2.0
Observe que é criada uma nova revisão, numerada 2.0, para cada arquivo dentro do módulo.
2. Tente fazer o commit de um arquivo especificando uma revisão mais baixa do que 2.0. Vá ao
diretório onde se encontra o arquivo City.java e execute:
cvs commit –m “Um teste” –r 1.5 City.java
3. Observe que o CVS retornará um erro, dizendo que o número de revisão especificado é muito
baixo e que ele deve ser maior do que 2.0.
3
4. CVS Básico: Laboratório do Aluno Copyright® 2005, Marden Neubert
Lab3-2: Atualizando a Cópia Local
Objetivos
Ao final deste lab, você será capaz de:
• Atualizar uma cópia local com as revisões mais recentes.
• Criar e remover opções aderentes á cópia local.
• Reverter uma alteração feita no repositório.
• Presenciar um cenário de mescla automática com sucesso.
• Resolver um conflito causado por alterações fora de sincronia com o repositório.
Cenário
Neste lab, conheceremos melhor o comando update. Veremos como utilizá-lo para introduzir
opções aderentes na cópia local e como removê-las. Faremos reversão de uma alteração incorreta e
lidaremos com mesclas e conflitos.
Tarefa 1: Atualizar a cópia local com uma opção aderente
Já vimos vários exemplos de atualização com as últimas revisões do repositório. Veremos agora
uma atualização com uma opção de data (-D), que é aderente à cópia local.
1. Vá à raiz do módulo places. Verifique as datas de atualização do arquivo report.properties,
localizado no diretório src/java. Observe a data da revisão 1.2 desse arquivo (criamos essa
revisão em um laboratório do módulo 2). Atenção: as datas estão no fuso horário GMT. Vamos
selecionar uma data logo após a criação dessa revisão.
4
5. CVS Básico: Laboratório do Aluno Copyright® 2005, Marden Neubert
2. Atualize o módulo usando uma data entre a criação da revisão 1.2 e da revisão 1.3. Utilize a
opção –D para update e escreva a data no mesmo formato exibido por log, com a diferença que
será preciso escrever “+0000” ao final, para indicar que o fuso horário usado é GMT.
cvs update –D “2005/12/10 17:52+0000”
Outra possibilidade seria escrever a data como “2005/12/10 15:52+0200”, indicando que o
horário indicado está 02:00h depois de GMT, como o horário brasileiro de verão. Execute
também o comando status para verificar as informações sobre o arquivo na cópia local. Veja a
saída abaixo.
3. Algumas observações importantes. Note que o arquivo encontra-se atualizado (“Up-to-date”)
em relação ao repositório, mesmo existindo lá uma opção mais recente, a 1.3. Perceba que a
“Sticky Date” está definida e seu valor é a data que usamos com update. Execute novamente
update, sem parâmetros, e veja que nenhuma atualização ocorre.
4. Tentaremos agora realizar o check-in de um arquivo com a opção de data presente na cópia
local. Edite qualquer arquivo, por exemplo, Plan.java, no diretório
src/java/br/com/portifolioti/places/domain, colocando um comentário antes da declaração da
classe. Tente realizar um check-in e veja que ocorre um erro. Não é possível efetuar um check-
in com uma data aderente na cópia local.
5. Limpe as opções aderentes na cópia local. Vá à raiz do módulo e execute:
cvs update –A
5
6. CVS Básico: Laboratório do Aluno Copyright® 2005, Marden Neubert
6. Observe que o arquivo report.properties foi novamente atualizado, com a revisão mais recente
no repositório (assim como City.java). O arquivo Plan.java, que foi editado mas cujo check-in
falhou, permanece modificado na cópia local.
Tarefa 2: Reverter uma alteração
Veremos agora como reverter uma alteração já submetida ao repositório.
1. Volte ao diretório domain e efetive a alteração no arquivo Plan.java. Uma nova revisão foi
criada, neste exemplo, o número é 1.2. Em seguida, reverta a alteração usando a alternativa
combinando as opções –r e –p. Observe a saída abaixo.
2. Desafio: faça agora uma nova reversão, voltando com o comentário removido, e usando a opção
–j. Descubra como montar a linha de comando. Responda: o que fez esse comando?
6
7. CVS Básico: Laboratório do Aluno Copyright® 2005, Marden Neubert
Tarefa 3: Realizar mesclas na atualização
Nesta tarefa, veremos uma situação em que uma mescla ocorre com sucesso. Já vimos
anteriormente outro cenário no qual ocorre um conflito.
1. Crie uma nova cópia local para o módulo places. Use, por exemplo, um diretório places2:
cvs –d /cvsrep checkout –d places2 places
2. Edite o arquivo City.java, alterando o método toString. Por exemplo, altere a linha
return getName() + ", " + state;
para que ela fique assim:
return getName() + " - " + state;
3. Faça o check-in do arquivo, como visto abaixo.
4. Na cópia original, edite o mesmo arquivo, inserindo um comentário antes do nome da classe:
/**
* Esta classe representa uma Cidade.
*/
public class City extends Place {
5. Faça o check-in do arquivo. Como visto abaixo, ocorrerá um erro. Faça o update para atualizar
a cópia local. Veja a saída de update. A mescla foi feita com sucesso, pois as alterações estão
distantes no arquivo. Inspecione o resultado (opcionalmente, chame o comando status para
verificar o estado do arquivo) e se tudo estiver OK, faça o check-in.
7
8. CVS Básico: Laboratório do Aluno Copyright® 2005, Marden Neubert
Lab3-3: Movimentando Arquivos e Diretórios
Objetivos
Ao final deste lab, você será capaz de:
• Adicionar novos arquivos e novos diretórios ao CVS.
• Abortar a adição de um arquivo.
• Ressuscitar um arquivo removido.
• Mover arquivos entre diretórios e remover diretórios.
Cenário
Neste lab, aprenderemos como movimentar arquivos e diretórios e propagar essas alterações para o
repositório.
Tarefa 1: Adicionar um arquivo em um novo diretório
1. Vá ao diretório src dentro do módulo places e crie um diretório test. Crie um arquivo chamado
test.txt dentro do diretório test, com um conteúdo qualquer. Tente adicionar este arquivo a
partir desse diretório – veja (figura adiante) que ocorrerá um erro, pois o diretório test ainda não
foi adicionado (não possui o subdiretório CVS).
2. Volte ao diretório src e adicione o diretório test e o arquivo test.txt; você pode usar o mesmo
comando para adicionar ambos. Veja que o diretório CVS foi criado e o arquivo test.txt foi
programado para adição. Não faça o commit ainda.
8
9. CVS Básico: Laboratório do Aluno Copyright® 2005, Marden Neubert
Tarefa 2: Cancelar a adição de um arquivo
1. Você irá agora cancelar a adição do arquivo test.txt. Volte ao diretório test e apague o arquivo
test.txt. Execute o comando remove. A adição será cancelada e nenhum registro ficará no
repositório. Veja a saída abaixo.
Tarefa 3: Cancelar a remoção de um arquivo
1. Vamos cancelar a remoção antes da execução de remove. Apague o arquivo places.csv do
diretório src/java. Cancele a remoção com o comando update.
2. Vamos cancelar a remoção após a execução de remove e antes de commit. Apague novamente
o arquivo places.csv. Execute o comando remove. Cancele a remoção com o comando add.
Veja que o arquivo foi ressuscitado e a revisão anterior foi restaurada.
Tarefa 4: (Desafio) Cancelar a remoção de um arquivo após commit
1. Vamos cancelar uma remoção após a execução de commit. Apague novamente places.csv.
Execute remove e, em seguida, commit. Veja abaixo que uma nova revisão é criada (a revisão
morta, ou dead), mas seu número não é exibido na saída de remove.
Tarefa 5: Mover arquivos entre diretórios
1. Mova todos os arquivos terminados em “.bat” do diretório bin para o diretório lib, na raiz do
módulo. Use o comando remove para apagá-los da origem e commit para confirmar.
2. No diretório lib, use add para adicionar os arquivos e commit para confirmar. Veja a saída dos
comandos abaixo. Note que as novas revisões criadas têm a numeração 1.1, do tronco. As
revisões anteriores, numeradas 1.1.1.1, não estão conectadas à nova numeração.
9
10. CVS Básico: Laboratório do Aluno Copyright® 2005, Marden Neubert
Tarefa 5: (Opcional) Renomear um diretório
1. Deseja-se renomear o diretório lib para jars. Para isso, copie o diretório lib, criando o diretório
jars. Apague os arquivos em lib, remova-os com remove e execute commit. Vá ao diretório
jars, adicione os arquivos usando add e confirme com commit. Use comentários que deixem
clara a movimentação.
Dica: Os arquivos *.jar, que serão movidos, são binários. Lembre-se que eles foram importados
usando-se o embalador *.jar –k ‘b’. Para adicionar esses arquivos sob o diretório jars, não se
esqueça de informar para o comando add que eles são binários, usando a opção –k.
10
11. CVS Básico: Laboratório do Aluno Copyright® 2005, Marden Neubert
Lab3-4: Listando Modificações
Objetivos
Ao final deste lab, você será capaz de:
• Consultar o status de um arquivo na cópia local.
• Listar o histórico de revisões de um arquivo.
• Verificar que revisão alterou cada linha de um arquivo.
Cenário
Neste lab, consultaremos o status de arquivos que passaram por operações como remoção, adição e
mescla. Listaremos históricos de arquivos, controlando as opções da saída e anotaremos um
arquivo, identificando quem alterou o quê.
Tarefa 1: Consultar status de arquivos
Vamos repetir algumas das operações feitas anteriormente e consultar o status dos arquivos durante
o processo.
1. Verifique o status de um arquivo durante um processo de remoção. Volte ao arquivo places.csv
e repita os passos feitos no lab anterior. Veja o status dele logo após ser apagado da cópia local:
é “Needs Checkout”, pois um update trará todo o conteúdo do arquivo para a cópia local.
2. Use o comando remove e verifique o status de places.csv. É “Locally removed”, pois a
remoção ainda não foi efetivada com commit.
11
12. CVS Básico: Laboratório do Aluno Copyright® 2005, Marden Neubert
3. Cancele a remoção com add e verifique que o arquivo volta a estar atualizado.
4. Crie novamente o arquivo test.txt, e verifique o status do arquivo recém-criado. O CVS não o
conhece, portanto, não há muitas informações a exibir.
5. Adicione test.txt e peça seu status. Verifique que ele está adicionado pela cópia local, mas ainda
não tem um número de revisão. Após conferir a saída, apague o arquivo e use remove para
cancelar a adição.
6. Verifique os status que surgem diante de uma mescla. Altere um arquivo, por exemplo,
ReportPrinterTest.java, no diretório src/java/br/com/portifolioti/places, a partir de uma
cópia local. Faça, por exemplo, uma alteração no final do arquivo. Vá a outra cópia local e
verifique seu status. Veja que o CVS indica que enviará um patch, uma pequena atualização do
arquivo.
12
13. CVS Básico: Laboratório do Aluno Copyright® 2005, Marden Neubert
7. Faça uma outra alteração nesse arquivo, a partir dessa cópia. Para evitar um possível conflito, se
você fez antes uma alteração ao fim do arquivo, faça agora uma alteração no início dele.
Verifique que o status mudou e indica que uma mescla deve ser feita.
8. Faça uma atualização e a mescla ocorrerá. Ela provavelmente funcionará e a saída será a
seguinte. Veja que o arquivo agora se encontra desatualizado e um commit precisa ser feito.
Faça o check-in e crie a nova revisão.
13
14. CVS Básico: Laboratório do Aluno Copyright® 2005, Marden Neubert
9. Volte à cópia local original e altere o arquivo na mesma linha que foi alterada na outra cópia.
Perceba que essa alteração certamente criará um conflito. Faça o update e verifique o status do
arquivo. Um conflito foi gerado, como mostrado pela saída do comando status.
Tarefa 2: Listar o histórico de revisões de um arquivo
Usando um arquivo para o qual já criamos algumas revisões, vamos verificar seu histórico.
1. Vá ao diretório src/java/br/com/portifolioti/places/domain, e peça o histórico do arquivo
City.java, informando a opção –h, para obter somente o cabeçalho da saída. Observe que
vemos informações sobre o arquivo no repositório e as etiquetas criadas com suas importações.
2. Peça agora o log do mesmo arquivo, porém usando a opção –N, para não exibir as etiquetas.
Observe que todo o histórico de revisões é exibido, juntamente com as mensagens de log. A
saída de log pode ser bem extensa, portanto algumas vezes ela tem que ser direcionada para
um arquivo.
14
15. CVS Básico: Laboratório do Aluno Copyright® 2005, Marden Neubert
Tarefa 3: Anotar as modificações em um arquivo
Usando o mesmo arquivo da tarefa anterior, verificaremos que revisão (e quem e quando) alterou
cada uma de suas linhas.
1. No mesmo diretório onde a tarefa anterior foi executada, chame o comando annotate sobre o
arquivo City.java. Observe a saída a seguir. Para cada linha da última revisão do arquivo,
mostram-se a última revisão que a alterou, o nome do autor e a data (somente o dia).
15
17. CVS Básico: Laboratório do Aluno Copyright® 2005, Marden Neubert
Lab3-5: Comparando Revisões
Objetivos
Ao final deste lab, você será capaz de:
• Selecionar revisões para a comparação.
• Escolher um formato de saída para a comparação.
• Usar opções para controlar a comparação.
Cenário
Neste lab, compararemos revisões usando comando diff e suas diversas opções.
Tarefa 1: Selecionar revisões para a comparação
1. Edite o arquivo City.java, usado no lab anterior. Faça as seguintes alterações sobre ele: inverta
a ordem dos métodos getState e contains (deixe contains antes de getState, respeitando as
linhas em branco) e mude o método toString, usando uma vírgula em vez de um traço.
2. Execute o comando diff sem usar opções. O CVS compara a cópia local com a última revisão
no repositório. Veja a saída a seguir, que usa o formato padrão de saída de diff. Como o método
getState “desceu”, ele foi indicado como tendo sido removido (o caractere d indica deleted) das
linhas 15 a 18 e adicionado (o caractere a indica added) nas linhas 19 a 22. A linha alterada no
método toString (número 32) aparece como modificada (o caractere c indica changed).
3. Observe a saída acima e veja que os trechos marcados com “<” são do arquivo no repositório (o
arquivo origem da comparação, ou o arquivo 1) e os trechos marcados com “>” são do arquivo
na cópia local (o arquivo destino, ou o arquivo 2). A ordem dos arquivos é muito importante na
comparação.
4. Compare agora a cópia local contra a revisão 1.2 de City.java. Para isso, use apenas uma opção
–r para diff. Perceba que a saída indica que um comentário foi adicionado (trocando-se uma
linha em branco pelas 3 linhas de comentário) e que a troca de ordem dos métodos ocorreu. A
alteração no método toString fez com a que a cópia local voltasse a ficar como a revisão 1.2,
portanto essa diferença não existe aí.
17
18. CVS Básico: Laboratório do Aluno Copyright® 2005, Marden Neubert
5. Compare agora a revisão 1.4 contra a 1.2. Atenção à ordem das opções –r. Queremos as
modificações feitas a partir da revisão 1.2 até a revisão 1.4. Portanto, 1.2 deve aparecer na linha
de comando antes de 1.4. Veja a saída abaixo.
6. É possível também comparar revisões na ordem cronológica inversa. Por exemplo, quais as
modificações que deveriam ser feitas para sairmos da revisão 1.4 e chegarmos na 1.2? Execute o
comando invertendo a ordem das revisões. Veja a saída a seguir. Ela mostra as alterações no
sentido exatamente inverso ao das alterações na figura anterior.
18
19. CVS Básico: Laboratório do Aluno Copyright® 2005, Marden Neubert
Tarefa 2: Escolher outros formatos de saída
1. Faça a mesma comparação entre cópia local e revisão-base, porém escolhendo o formato de
saída de Contexto, com uma linha de contexto. Veja a saída abaixo.
2. Veja os caracteres que indicam remoção, adição e modificação. Observe que uma linha foi
adicionada antes e depois de cada diferença, para mostrar seu contexto. Faça o teste com 3
linhas de contexto. O programa patch precisa de ao menos 2 linhas para executar.
3. Faça a mesma comparação usando agora o formato Unificado, que também usa linhas de
contexto ao redor da modificação. Especifique também apenas uma linha de contexto. Veja a
saída a seguir.
19
20. CVS Básico: Laboratório do Aluno Copyright® 2005, Marden Neubert
4. Note que a saída é mais compacta, mas também mais complicada. A alteração é representada
como uma remoção e uma adição. O formato Unificado foi criado para ser lido por ferramentas.
5. Selecione agora o formato lado-a-lado. Use –W 80 para ajustar a largura. Veja a saída abaixo.
20
21. CVS Básico: Laboratório do Aluno Copyright® 2005, Marden Neubert
Lab3-6: Usando Palavras-Chave
Objetivos
Ao final deste lab, você será capaz de:
• Inserir palavras-chave em um arquivo.
• Controlar a substituição de palavras-chave.
Cenário
Neste lab, treinaremos o uso de palavras-chave com o CVS.
Tarefa 1: Inserindo palavras-chave e verificando os resultados
1. Considere o arquivo City.java, usado no lab anterior. Provavelmente ele conterá as
modificações pendentes feitas naquele lab; faça antes um check-in daquelas modificações.
Modifique o comentário ao início da classe, da seguinte forma:
/**
* Esta classe representa uma Cidade.
* @version $Revision$
*/
Faça um novo check-in do arquivo. Abra-o novamente e verifique seu conteúdo. Provavelmente
ele será como a seguir (o número da revisão pode estar diferente).
2. Perceba que o CVS substituiu a palavra-chave $Revision$ por seu nome e seu valor.
3. Faça uma nova modificação em City.java, por exemplo, modificando o método toString ao
final da classe. Faça novo check-in e verifique os resultados com a figura abaixo.
Tarefa 2: Controlando a substituição de palavras-chave
1. Vamos comparar as duas últimas revisões do arquivo City.java criadas no lab anterior. Faça um
diff, usando a opção –C 1, para selecionar o formato de saída de contexto. Você pode usar duas
opções –r para selecionar explicitamente as revisões, ou aproveitar que a revisão 1.7 já está na
cópia local e usar somente uma opção –r. O resultado deve ser similar à figura adiante. Observe
que a alteração gerada pela palavra-chave foi interpretada como uma alteração.
21
22. CVS Básico: Laboratório do Aluno Copyright® 2005, Marden Neubert
2. Para evitar que esse tipo de modificação gere diferenças espúrias, vamos usar os modos de
substituição de palavras-chave para inibi-las. Use a opção –k k para fazer com que as palavras-
chave não incluam seu valor, somente seu nome. Veja que diferença agora é somente a
modificação no método toString.
22