palestra - profissão: desenvolvedor
Post on 18-Feb-2017
582 Views
Preview:
TRANSCRIPT
Profissão: Desenvolvedor
por Daniel Brandão
Me apresentandoDaniel Brandão
◇ Na Informática desde 2002.◇ Desenvolvedor Web desde 2005◇ Professor pelo SENAI (2011-2014), pela
Faculdade AVEC(2013), pelo IFPB e UNIPÊ (2015)
◇ Graduado em SPI (2008)◇ Especialista em Aplicações Web(2015)
O que veremos?
Breve introdução (senta que lá vem história) Evolução na Programação Programação Orientada a Objetos (POO) Design Patterns (Padrões de Projetos) Frameworks Mercado de Trabalho para Desenvolvedores
Por onde comeceiMeus primeiros passos
1
1998 – Meu primeiro PC2002 – Digitador2003 – Universidade2004 – Estagiário2005 – Programador2009 – Gerente de projetos2011 – Professor
“A arte de programar consiste na arte
de organizar e dominar a complexidade.
Edsger Dijkstra
Primeira Experiência◇ Front-end: HTML e CSS.◇ Criação de sites simples e estáticos◇ Sem complexidades e sem Banco de
dados.
A evolução2
Sistemas◇ Criação de sites Dinâmicos■ Flash■ PHP■ MySQL■ …
“Qualquer um pode escrever um código
que o computador entenda. Bons programadores escrevem códigos que
os humanos entendam.
Martin Fowler
POO2Programação Orientada a Objetos
P.O.O.◇ Programação Orientada a Objetos
■ O que é?■ Porque programar OO?■ Quais as vantagens?
P.O.O.◇ Programação Orientada a Objetos■ O que é?
É um conceito que esta relacionado com a ideia de classificar, organizar e abstrair coisas.
O termo orientação a objetos significa organizar o mundo real como uma coleção de objetos que incorporam estrutura de dados e um conjunto de operações que manipulam estes dados.
P.O.O.◇ Programação Orientada a Objetos
■ O que é?■ Porque programar OO?■ Quais as vantagens?
P.O.O.◇ Programação Orientada a Objetos■ Porque?
- POO é um padrão de desenvolvimento que é seguido por muitas linguagens, como C#, Java, PHP;
- É mais fácil pensar em objetos do que em funções / procedimentos pois objetos estão mais próximos ao mundo real;
- Se bem programado, torna-se mais prática a manutenção do programa.
P.O.O.◇ Programação Orientada a Objetos
■ O que é?■ Porque programar OO?■ Quais as vantagens?
P.O.O.◇ Programação Orientada a Objetos■ Vantagens?
- Facilidade na manutenção do código;
- Trás vários recursos para produzir componentes independentes intercambiáveis (encapsulamento, interfaces, polimorfismo, etc);
- Criação de bibliotecas e utilização de bibliotecas próprias da linguagem;
Design Patterns◇ O que é isso?◇ Porque MVC?◇ Modelos utilizados
Design Patterns◇ O que é isso?
- Padrão de projeto de software é uma solução geral reutilizável para um problema que ocorre com frequência dentro de um determinado contexto no projeto de software;
- Normalmente mostram relacionamentos e interações entre classes ou objetos, sem especificar as classes ou objetos da aplicação final que estão envolvidas.
- MVC – Padrão bastante utilizado em linguagens OO
Design Patterns◇ O que é isso?◇ Porque MVC?◇ Modelos utilizados
Design Patterns◇ MVC
- Model-view-controller (MVC), em português modelo-visão-controlador, é um padrão de arquitetura de software (design pattern) que separa a representação de informação da interação do usuário com ele;
- Ele divide basicamente em três partes o projeto, facilitando a manutenção de código e a segurança no acesso aos dados.
Design Patterns◇ MVC
- O modelo (model) consiste nos dados da aplicação, regras de negócios, lógica e funções.
- Uma visão (view) pode ser qualquer saída de representação dos dados, como uma tabela ou um diagrama. É possível ter várias visões do mesmo dado;
- O controlador (controller) faz a mediação da entrada, convertendo-a em comandos para o modelo ou visão. As ideias centrais por trás do MVC são a reusabilidade de código e separação de conceitos.
Design Patterns◇ O que é isso?◇ Porque MVC?◇ Modelos utilizados
Design Patterns◇ Modelos utilizados (Frameworks)
◇ Java
■ Apache Struts■ Click Framework■ JSF■ Spring MVC■ Vraptor■ PrimeFaces
◇ .NET
■ ASP.NET MVC - oficial da Microsoft■ C♯ - oficial da Microsoft
Design Patterns◇ Modelos utilizados (Frameworks)
◇ PHP
■ CakePHP■ CodeIgniter■ Laravel■ Symfony■ Zend Framework
◇ Python
■ Django■ Zope
Design Patterns◇ CMS´s (Content Manager System)
■ CMS é a sigla para Content Management System, ou em bom português, Sistema Gerenciador de Conteúdo. Um CMS tem como objetivo facilitar a criação, edição, publicação e distribuição de informação.
■ Voltado para a Web, são muito utilizados em linguagens como PHP, Python e Ruby.
O que uma empresaEspera de mim?
O que uma empresaEspera de mim?
◇ Atitude◇ Vontade de aprender◇ Proatividade◇ Bom relacionamento em grupo◇ Caixa de ferramentas
FrameworksUsar ou Criar?
◇ Criação◇ Utilização
3. Carreira: Por onde começar?
CarreiraDicas úteis
◇ Não pule etapas◇ Almeje um objetivo◇ Invista em você mesmo◇ Aproveite as oportunidades◇ Não pise nos outros para crescer◇ Compartilhe o conhecimento
Como alçar vôosMais altos?
Ter um bom network
Segredos da carreira de Desenvolvedor
Manter-se atualizado
Nunca achar que sabe
tudo
Perguntas?
Obrigado!Você pode me achar por aqui:
◇ DanielBrandao.com.br◇ Twitter @daniel85br◇ FB.me/danielbrandao.com.br◇ professor@danielbrandao.com.br
“ "Inovação é o que distingue um líder de um seguidor."
{Steve Jobs}
top related