|
|
(12 revisões intermediárias por 2 usuários não estão sendo mostradas) |
Linha 1: |
Linha 1: |
− | No Jupiter-web: [[http://sistemas2.usp.br/jupiterweb/obterDisciplina?sgldis=SCC0263&nomdis= ementa]] | + | No Jupiter-web: [[https://uspdigital.usp.br/jupiterweb/obterDisciplina?sgldis=scc0263&nomdis= ementa]] |
| | | |
− | '''Provas'''
| + | == 1º Semestre 2010 == |
| | | |
− | P1 - 13/05/2010
| + | *[[scc-263(mello)| Técnicas de Programação para Web]] - prof. Rodrigo Mello |
− | | |
− | '''1.o Semestre de 2010'''
| |
− | | |
− | Material disponível [[http://www.icmc.usp.br/~mello aqui]]
| |
− | | |
− | [http://netuno.icmc.usp.br/ssp01 Site de submissão de trabalhos]
| |
− | | |
− | '''Horário de atendimento estagiário PAE'''. (Este horário será atualizado por semana)
| |
− | | |
− | '''Dia:''' 26 de Maio - '''Horário:''' 14h-17h - '''Local:''' Bloco 6, lab 209
| |
− | | |
− | '''Trabalhos'''
| |
− | | |
− | Trabalho 1 - até 17/03/2010 (23:59h). Entregar um arquivo Zipado (com todo o conteúdo do sistema) via sistema de submissão de trabalhos.
| |
− | A descrição do trabalho já está disponível no sistema de submissões. Por favor, cadastrem-se no sistema de submissões de trabalhos.
| |
− | | |
− | Trabalho 2 - até 24/03/2010 (23:59h). Entregar um arquivo Zipado (com todo o conteúdo do sistema) via sistema de submissão de trabalhos. A descrição do trabalho já está disponível no sistema de submissões.
| |
− | | |
− | Trabalho 3 - até 21/04/2010 (23:59h). Entregar um arquivo Zipado (com todo o conteúdo do sistema) via sistema de submissão de trabalhos. A descrição do trabalho já está disponível no sistema de submissões. O sistema deve: 1) tratar login e logout no backend; 2) tratar estoque (verificar quantidade e dar baixa); 3) backend para purchase: search, alterar status; 4) controle de transacões para Purchase; 5) Frete; 6) Suporte para língua Portuguesa e Inglesa; 7) Gerar Boleto PDF via site após compra.
| |
− | | |
− | Trabalho 4 - até 27/06/2010 (23:59h). Entregar um arquivo Zipado (com todo o conteúdo do sistema) via sistema de submissão de trabalhos. Implemente um sistema de músicas na Internet. Deve-se implementar: 1) Cadastro de usuários; 2) Cada usuário pode montar sua playlist com músicas preferidas. Caso a música não exista, ele pode inserir essa nova música no sistema; 3) Um usuário pode adicionar uma música da playlist de outro usuário em sua própria playlist; 4) Deve-se tocar a música via Browser; 5) Ao selecionar uma música para tocar, busque, utilizando o Robot de buscas, notícias relacionadas a essa música (há sites com XML sobre músicas); 6) Crie um serviço Web que exporte a playlist de usuário para que seja acessada via Desktop; 7) Crie um aplicativo em desktop onde o usuário poderá logar e acessar sua playlist via Web Service; 8) Deve-se utilizar Hibernate, Web Services, Ant e Modelo MVC (JSP, Servlets e JavaBeans). Escolha o banco de dados de acordo com sua preferência.
| |
− | | |
− | '''Plano de Aulas'''
| |
− | | |
− | <b>Apresentar ementa</b>
| |
− | <b>O que é um Servidor Web?</b>
| |
− | <b>Instalação do Web Server Apache</b>
| |
− | <b>Html básico</b>
| |
− | <ul>
| |
− | <li>html, head, body, p, br, table, table border, table bgcolor, tr bgcolor, font face color size, espaço, body cellspacing cellpadding topmargin leftmargin, a href, img, ...
| |
− | </ul>
| |
− | <b>CSS básico</b>
| |
− | <ul>
| |
− | <li>para fontes
| |
− | </ul>
| |
− | | |
− | <b>Criar primeiras páginas em JSP</b>
| |
− | <ul>
| |
− | <li>request.getParameter
| |
− | <li>out.print
| |
− | <li>System.out.println
| |
− | <li>Compilação do JSP
| |
− | </ul>
| |
− | | |
− | <b>Desenvolver um primeiro sistema com html, css, banco de dados, page import, configuração de banco na classe e depois em uma interface. Exemplo: search engine</b>
| |
− | | |
− | <b>Decidir sobre um sistema para implementar (criar página template, usar img, html, page import, header, footer, jsp:include page, response.sendRedirect). Algumas opções:</b>
| |
− | <ul>
| |
− | <li>e-Commerce
| |
− | <li>Gerenciador de Conteúdo
| |
− | <li>Blog
| |
− | <li>Orkut
| |
− | <li>Twitter
| |
− | </ul>
| |
− | | |
− | <b>eCommerce: Back-end</b>
| |
− | | |
− | <b>Decidimos sobre o eCommerce - PARTE I</b>
| |
− | <ul>
| |
− | <li>Insert com e sem JavaBeans (jsp:useBean id class scope, com e sem uso de jsp:setProperty name property, jsp:getProperty)
| |
− | <li>Cascade StyleSheet
| |
− | <li>Upload de Imagem de Produto
| |
− | </ul>
| |
− | | |
− | <b>Decidimos sobre o eCommerce - PARTE II</b>
| |
− | <ul>
| |
− | <li>Editar produto
| |
− | <li>Remover produto
| |
− | <li>Buscar produto por código
| |
− | <li>Usar javascript para escolha entre editar e remover Produto
| |
− | <li>Padronizar páginas usando CSS, header e footer (header e footer de front-end e back-end) (jsp:include page="" (executa e depois inclui) e <%@ include file="" %> (inclui e depois executa))
| |
− | <li>next para classe Produto
| |
− | <li>Reestruturar códigos que necessitam de next()
| |
− | </ul>
| |
− | | |
− | <b>Decidimos sobre o eCommerce - PARTE III</b>
| |
− | <ul>
| |
− | <li>Criar classe Usuário
| |
− | <li>Criar classe Compra
| |
− | <li>Criar inserir, remover, listar e editar para Usuário
| |
− | <li>Criar remover, listar para Compra
| |
− | </ul>
| |
− | | |
− | <b>eCommerce: Front-end</b>
| |
− | | |
− | <b>Decidimos sobre o eCommerce - PARTE IV</b>
| |
− | <ul>
| |
− | <li>Criar página inicial (Home) do site de e-Commerce
| |
− | <li>Listar Produtos na página Home, colocar CSS, header e footer
| |
− | <li>Montar login e tratar sessão (session.setMaxInactiveInterval(segs), setAttribute(String, Object), getAttribute(String), invalidate())
| |
− | <li>Como colocar produtos em um carrinho de compras
| |
− | <li>Finalizar compra
| |
− | </ul>
| |
− | | |
− | <b>eCommerce: Adicionais</b>
| |
− | | |
− | <b>Decidimos sobre o eCommerce - PARTE V</b>
| |
− | <ul>
| |
− | <li>Stored Procedure para inserir, atomicamente, um produto e obter seu código
| |
− | </ul>
| |
− | | |
− | | |
− | | |
− | | |
− | | |
− | | |
− | | |
− | | |
− | <b>Evoluir sistema adicionando:</b>
| |
− | <ul>
| |
− | <li>response.sendRedirect()
| |
− | </ul>
| |
− | | |
− | bash-3.1# /etc/rc.d/rc.postgresql start
| |
− | | |
− | Creating PGDIR /var/lib/pgsql: ok
| |
− | | |
− | Initializing database: ok
| |
− | | |
− | Starting PostgreSQL: ok
| |
− | | |
− | bash-3.1# su - postgres
| |
− | | |
− | postgres@athena:~$ createuser -P uguuugle
| |
− | | |
− | Enter password for new role:
| |
− | | |
− | Enter it again:
| |
− | | |
− | Shall the new role be a superuser? (y/n) y
| |
− | | |
− | postgres@athena:~$ createdb -U uguuugle guuugledb
| |
− | | |
− | postgres@athena:~$ psql -U uguuugle guuugledb
| |
− | | |
− | psql (8.4.0)
| |
− | | |
− | Type "help" for help.
| |
− | | |
− | | |
− | guuugledb=# create table webpage (url varchar(255) not null, body text);
| |
− | | |
− | CREATE TABLE
| |
− | | |
− | guuugledb=#
| |
− | | |
− | guuugledb=# insert into webpage values ('http://www.google.com', 'concorrente outro google fake');
| |
− | | |
− | INSERT 0 1
| |
− | | |
− | guuugledb=# insert into webpage values ('http://www.yahoo.com', 'ms microsoft ultra fake');
| |
− | | |
− | INSERT 0 1
| |
− | | |
− | guuugledb=# select * from webpage;
| |
− | | |
− | url | body
| |
− | | |
− | -----------------------+-------------------------------
| |
− | | |
− | http://www.google.com | concorrente outro google fake
| |
− | | |
− | http://www.yahoo.com | ms microsoft ultra fake
| |
− | | |
− | (2 rows)
| |
− | | |
− | | |
− | guuugledb=# \q
| |