Archive for Agosto 2007
mod_python – Como descobrir o ip, navegador e so do usuário ….
Para conseguir visualizar os dados enviados pelo header basta utilizar um parâmetro do objeto req da seguinte forma:
req.write(str(req.subprocess_env))
Ao se fazer isso aparecerá na tela somente alguns dados. Para se ter uma lista mais completa de dados primeiramente devemos chamar a função add_common_vars() do seguinte modo:
req.add_common_vars()
req.write(str(req.subprocess_env))
Com isso será possível notar uma lista mais rica em dados. Contudo os mais interessantes ao meu ver são:
req.subprocess_env['HTTP_USER_AGENT'] – Contém os dados do navegador, e sistema operacional utilizado pelo usuario
req.subprocess_env['REMOTE_ADDR'] – Ip do usuário
req.subprocess_env['REMOTE_ADDR'] – Query dos dados passados por GET
req.subprocess_env['SCRIPT_NAME'] – qual o caminho apartir da raiz do domínio em que esta o arquivo chamado
req.subprocess_env['SERVER_ADDR'] – Ip do servidor
req.subprocess_env['HTTP_HOST'] – Domínio do servidor
Existem mais dados que se analizados são facilmente identificados… a todos um abraço….
Como utilizar o MVC
O padrão MVC (Model View Controler) que traduzido siginifica uma camada de Modelo, Visão e Controle que também é conhecido por representar uma arquitetura de software, é bastante divulgado e comentado, entretanto ao se tentar implementar um software com esse padrão muitas dúvidas surgem e na prática ficamos com a teoria e não sabemos como efetivamente implementar esse padrão.
Após ler diversos materiais sobre o assunto gostaria de fazer um apanhado geral do que encontrei na tentativa de esclarecer o processo de desenvolvimento em 3 camadas chamado de MVC.
As funções das camadas são:
M – MODEL: Encapsula o núcleo da aplicação e a abstração dos dados
V – VIEW: Obtém os dados de um modelo e apresenta para o usuário
C – CONTROLLER: Recebe as requisições e as encaminha para processamento
Model
Esta camada deve ser independente e funcionar de forma exclusiva. Sua principal característica é fazer a abstração dos dados e dos mecanismos de armazenamento. Seu funcionamento ocorre de forma passiva, ou seja, não possui conhecimento dos níveis superior.
View
Camada de apresentação de dados. Representa a saída e fornece o mecanismo de entrada dos dados. Esta camada pode acessar diretamente o modelo para consultas (através dos métodos que esse oferece), contudo, não pode alterar o modelo.
Controller
São responsáveis pelas chamadas de métodos que alteram o modelo, sendo responsável por comunicar a camada de visão para se atualizar. Algo importante a se destacar é que esta camada não é uma ponte entre as outras duas camadas. Afinal ambos (Controller e View) tem a oportunidade de acessar o modelo.
Relacionamentos entre as camadas
- View e Controller:
Na definição do MVC as duas camadas são extremamente dependentes, de modo que o Controller é o mecanismo que o view possui para salvar os dados e os atualizar.
- View e Model:
O View depende do Model e as alterações no modelo necessitam que a visão seja alterada.
- Controller e Model:
O Controller depende do Model e as alterações no modelo são realizadas por esta camada.
