Use o código BLACKFRIDAY2024 e tenha 25% de desconto! Válido até 01/12/2024
Desenvolvimento efetivo na plataforma Microsoft Como desenvolver e suportar software que funciona
Time de Suporte Microsoft Modern AppsCOPYRIGHT
Este livro é fornecido “tal como está”, expressando exclusivamente as visões e opiniões dos autores, sendo, portanto, uma obra independente. Informações e opiniões expressas neste livro, incluindo URLs e outras referências a sites, podem mudar sem aviso prévio.
Alguns exemplos mencionados neste livro são fornecidos apenas a título demonstrativo e são de natureza fictícia, pelo que não se destinam, de todo, a representar dados nem situações reais, salvo indicação em contrário.
Microsoft e as marcas registradas listadas em http://www.microsoft.com/trademarks são marcas registradas do grupo de empresas Microsoft. Todas as outras marcas comerciais pertencem a seus respectivos proprietários.
PREFÁCIO
Rubiana Dalla Rosa
Scientia non habet inimicum nisi ignorantem.
Você pode imaginar como é trabalhar em um time de profissionais com alto desempenho, cujos integrantes possuem grande capacidade técnica, focados em resultados, na busca constante pela excelência na execução e com muita paixão pelo o que fazem? Pois esta é a nossa realidade. Hoje, nosso time de PFEs, além de todas estas características citadas, tem uma integração única e um companheirismo sem igual. A cultura de compartilhar o conhecimento, suas experiências e ajudar o próximo são os pilares que norteiam nosso modo de trabalhar.
Essa paixão por compartilhar conhecimento é uma prática diária, tanto para o time quanto para os clientes. Este livro é um marco para toda equipe, pois essa é a materialização da nossa realidade e daquilo em que acreditamos. A grandeza de compartilhar o que se conhece abre caminhos sem volta, pois, quando se ensina realmente, se aprende duas vezes.
Quando a ideia da criação do livro surgiu, logo identificamos que esse seria um grande desafio e algo diferente daquilo que havíamos feito enquanto time. Quando a equipe possui um objetivo em comum e sabe claramente onde chegar, o caminho até o sucesso é mais fácil. O empenho de todos foi de extrema importância e responsável por mais essa conquista.
Todo este trabalho é parte de uma nova fase que se inicia. É a prova de que tudo o que nos propusermos a fazer será feito com muita dedicação. Não há dúvidas de que faremos o máximo para que seja executado dentro dos maiores e melhores padrões de qualidade.
Posso afirmar que esta é a melhor equipe com a qual já trabalhei e que tenho muito orgulho do que fazemos diariamente! É uma honra e um prazer trabalhar com esse time! Com muita satisfação, convido a todos a embarcar nesta obra, a desenvolver seus softwares seguindo as melhores práticas e a compartilharem seus conhecimentos, sempre.
Scott Hanselman
Computer software is an art as well as a science. Some hard won bits of knowledge come only from failures and experience. There are many computer bills with just one engineer sharing their years of experience. We hope that one engineer is good at their job, and that we can learn from that one engineer's failures and successes.
So why write another book? Why should you buy this book? Because this is a collection of knowledge, pulled from not just 20 years experience of one engineer, but from over 20 engineers and all their years, all working together to bring you stories of their success, their favorite patterns, and their best learnings.
This is a uniquely Brazilian book, written by Brazilians, for Brazilians. These engineers are your friends, your community leaders, and your software architects. In this book they share the secrets of release management and source code tracking. How to measure code quality and when to use finalizes vs dispose. How and when to use threading, and when not to. Why are you contractors late and how can you manage that risk? Learn not just from one but from many in this powerful anthology.
Now it is time for you to get in and build your own "Casa do Código" with this new collection.
Enjoy, friends!
INTRODUÇÃO
Por Alexandre Teoi
Na década de 1990, os produtos da Microsoft se consolidaram no mundo corporativo, tanto nas estações de trabalho quanto nos servidores. Assim, cada vez mais as empresas começaram a desenvolver aplicações para essa plataforma.
Com essa consolidação, a Microsoft precisou adequar o suporte oferecido para os clientes corporativos. Inicialmente, todo o atendimento de suporte era remoto, e a comunicação era feita por telefone e e-mail. Com o aumento da complexidade dos ambientes tecnológicos dos clientes e, consequentemente, das aplicações, o suporte remoto começou a ter dificuldades de resolver os chamados mais complexos.
Para endereçar esse problema, criou-se um grupo de engenheiros de suporte em campo para auxiliar na resolução desses casos mais complexos. Hoje, esses engenheiros são conhecidos por Premier Field Engineers (PFE).
Pela natureza do trabalho de suporte, os engenheiros de suporte são constantemente expostos aos casos mais críticos e que, potencialmente, podem causar prejuízos (financeiros ou de reputação) enormes para os clientes. Devido à criticidade dos casos, esse grupo desenvolveu várias técnicas e ferramentas para acelerar a resolução de problemas na plataforma Microsoft.
Com a evolução do grupo, esses engenheiros desenvolveram novos serviços, e começaram a fazer análises de riscos nas quais os ambientes dos clientes estão expostos, e sugerir melhorias para evitar problemas no futuro. A maior parte dos riscos analisados se origina nos casos em que os engenheiros atuam.
Toda essa experiência em resolução e prevenção de problemas permitiu que esse grupo acumulasse um vasto conhecimento do que funciona e o que pode causar problemas ao se utilizar a plataforma Microsoft. Nos capítulos seguintes, os engenheiros especializados em desenvolvimento de aplicações vão compartilhar esse conhecimento adquirido na prática, em tópicos que cobrem todas as fases do processo de desenvolvimento de aplicações.
Estrutura do livro
O primeiro capítulo deste livro contém conceitos introdutórios necessários para o entendimento dos temas discutidos. Os demais capítulos estão divididos em tópicos que descrevem problemas reais encontrados em campo.
Em alguns destes tópicos, apresentamos as narrativas de clientes sobre estes problemas. Em seguida, mostramos seus riscos, impactos e detalhes técnicos. Estes detalhes técnicos funcionam como base para os parágrafos e subseções posteriores, nos quais explanações e recomendações feitas pelos engenheiros apresentam o modo como estes problemas são resolvidos, além de detalhar cada técnica e recurso recomendado.
Público-alvo
Este livro é recomendado para desenvolvedores e arquitetos que possuam o objetivo de aperfeiçoar a qualidade e disponibilidade de seus sistemas, além de procurarem aumentar seu nível de maturidade em suas entregas.
Pré-requisitos
Como pré-requisitos para este livro, espera-se que o leitor já possua conhecimento sobre a plataforma .NET e esteja familiarizado com o funcionamento do Microsoft Visual Studio. Este livro não tem por objetivo discutir noções básicas de desenvolvimento, por ser o reflexo de experiências retiradas de cenários avançados de clientes do time de Suporte Modern Apps Microsoft.
Sumário
- 1 Conceitos introdutórios
- 1.1 Tópicos base para software e sistemas operacionais
- 1.2 O motivo por trás da causa: buscando a origem da causa raiz
- 1.3 Garbage Collector
- 1.4 Suportando o IIS e entendendo o seu funcionamento
- 1.5 Conclusão
- 2 Falhas e problemas recorrentes da produção de software
- 2.1 O que acontece se eu não usar o método Dispose?
- 2.2 Padrão Dispose
- 2.3 O porquê de utilizar threads
- 2.4 Quando devo sobrescrever o método Finalize
- 2.5 Exception Shielding
- 2.6 Propagação de exceções
- 2.7 Busca em memória
- 2.8 Modelo para Serviços Windows
- 2.9 Utilizando Server Name Indications
- 2.10 Conclusão
- 3 Planejamento e gestão de demandas
- 3.1 Problemas na gestão de requisitos e suas principais causas
- 3.2 A fábrica está atrasando todas as entregas, o que posso fazer para melhorar isso?
- 3.3 Planejamento de projeto guiado a feedback
- 3.4 Como gerenciar a entrega de software por fábricas de software utilizando o TFS Git?
- 3.5 Conclusão
- 4 Padrões de desenvolvimento
- 4.1 Por que criar exceções customizadas
- 4.2 Como tratar as exceções
- 4.3 Validação de parâmetros
- 4.4 Não exponha listas em seu modelo de dados
- 4.5 Passagem de parâmetros<
- 4.6 Qual a melhor estratégia de branch para o meu sistema?
- 4.7 Qualidade de código
- 4.8 Por que investir em qualidade do código?
- 4.9 Conclusão<
- 5 Gestão e monitoramento de releases
- 5.1 Build e release
- 5.2 Rastreabilidade de código-fonte
- 5.3 Como extrair o máximo do Lab Management para garantir a qualidade do seu software
- 5.4 Conclusão
- 6 Boas práticas
- 6.1 Invista em revisão de código
- 6.2 Evite a codificação de métodos complexos
- 6.3 Como devo me preparar para um teste de carga?
- 6.4 Como simular a carga necessária para minha aplicação?
- 6.5 Profiling de aplicações .NET
- 6.6 Cuidados ao definir contratos de serviços
- 6.7 Bundling e minification
- 6.8 Lutando contra alterações inadvertidas no planejamento
- 6.9 Aumentando a disponibilidade e o desempenho de websites por meio de seus application pools
- 6.10 Como o Web Deploy pode ser útil?
- 6.11 Melhores práticas ao escrever expressões regulares
- 6.12 Conclusão
- 7 Bibliografia
- 8 Sobre os autores
Dados do produto
- Número de páginas:
- 383
- ISBN:
- 978-85-5519-183-1
- Data publicação:
- 05/2016