Segue o vídeo da minha apresentação do mashup que eu e o Hary criamos no Yahoo Hack Day.
Como dito antes nossa aplicação não foi das melhores, o ajax demorou demais, não possuia formatação de layout, mas fizemos na raça, valeu a experiência.
Obs.: A aplicação foi desenvolvida utilizando php.

As aplicações podem ser vistas nesse link: http://brhackday.pbwiki.com/Projetos-Hackday-2008

Hoje trago uma aplicação simplíssima em php e mysql, porém após o SELECT creio que é a uma das aplicações mais utilizadas por um programador php, ou de qualquer programador, trata-se de  uma query de inserção de dados em uma tabela. Considerando que já temos a tabela criada no banco e também o arquivo de conexão. (tutoriais passados)

<?php
//chama o arquivo de conexão com o bd
include(‘conectar.php’);

$nome = ‘Lucas’;
$data_nascimento = ‘1989-04-09′;

//consulta sql - inserção
$query = mysql_query(“INSERT INTO clientes (nome, data_nascimento) VALUES (’$nome’, ‘$data_nascimento’)”) or die(mysql_error());

//fecha a conexão com o banco
mysql_close($conexao);
?>

Formulario de Contato em Ajax

Trago hoje um trabalho realizado no meu atual emprego, na Agência Seek Search Marketing.
Trata-se de um simples formulário de contato, porém a mensagem é enviada sem refresh da página, com AJAX.
O layout foi desenvolvido por Eduardo Oliveira.
O endereço do site é: http://www.sistemaganhamais.com

As tecnologias utilizadas foram: PHP, AJAX, Javascript. 

Integrando_PHP_5_com_MySQL-Guia_de_Consulta_Rápida

Recomendo a utilização do livro : Integrando PHP 5 com MySQL - Guia de Consulta Rápida.
Para programadores mais experientes é uma excelente fonte de consulta quando se esquece aquela função básica, para programadores iniciantes pode ser um grande guia de aprendizado das operações básicas com PHP e MySQL.

Segue Resenha:
PHP é uma das linguagens de programação mais utilizadas na Web para a criação de páginas dinâmicas. MySQL é um SGBD (Sistema de Gerência de Bancos de Dados) relacional largamente utilizado em aplicações para a Internet, que utiliza a linguagem padrão SQL (Structured Query Language).

Este guia descreve de forma prática e direta a integração entre PHP e MySQL. Apresenta conceitos básicos da linguagem PHP, além das principais operações que podem ser realizadas sobre o MySQL e a descrição das funções de conectividade entre essas duas tecnologias. Contém ainda uma referência dos recursos do MySQL e um exemplo completo de cadastro, alteração, exclusão e pesquisa de dados.

Útil para desenvolvedores iniciantes e experientes como um guia de referência rápido, mostrando de forma didática os procedimentos de instalação, configuração e integração da linguagem com o banco de dados.

Prático para carregar e consultar a qualquer momento, no trabalho ou em casa.  

PHP para quem conhece PHP

Indico a leitura do livro PHP para quem conhece PHP.

Segue Resenha:
PHP para quem conhece PHP apresenta recursos avançados desta poderosa linguagem de programação para a Web. Aborda diversos assuntos úteis ao desenvolvedor, como cookies e sessões, upload de arquivos, geração de imagens e gráficos, arquivos PDF, templates, abstração de bancos de dados, entre outros. Além disso, contém uma abrangente revisão sobre PHP, para aqueles que tiveram pouco contato com a linguagem.
Assim como nas demais obras do autor, neste livro a didática também é o ponto forte, o que permite ao leitor o rápido entendimento de assuntos aparentemente complexos. Para facilitar a compreensão dos conteúdos, são apresentados vários exemplos de programas e, ao final, um estudo de caso envolvendo diversos recursos da linguagem.

Nesta obra, você irá encontrar os seguintes assuntos:
- Revisão da linguagem PHP.
- Como melhorar o processamento de formulários HTML.
- Manutenção de informações com cookies e sessões.
- Uso de arquivos no formato texto para o rápido armazenamento e recuperação de dados.
- Envio de e-mails utilizando o PHP, incluindo o uso do formato HTML.
- Upload de arquivos e explicação das diferenças entre o uso dos protocolos FTP e HTTP.
- Geração e manipulação de imagens, incluindo a criação de diferentes tipos de gráficos (pizza, colunas e linhas).
- Criação de documentos no formato PDF, incluindo a geração de relatórios a partir de consultas SQL.
- Ferramentas de templates (modelos) e apresentação da Smarty (http://smarty.php.net), uma das mais utilizadas.
- Abstração de bancos de dados com as extensões dbx e PEAR::DB.

Ler “PHP para quem conhece PHP” é indispensável para quem deseja se tornar um especialista nessa linguagem!

Após o sucesso do PHP, do Ruby, principalmente com a plataforma Rails, e do crescimento exponencial de Python, a Microsoft investe para disponibilizar estas novas linguagens também na plataforma .NET. Com a filosofia “desenvolva em qualquer linguagem, desde que seja na minha plataforma”, a Microsoft vem ganhando cada vez mais adeptos, e gerando cada vez mais recursos para facilitar e fidelizar (ou evangelizar, como a MS gosta de falar) o desenvolvedor.

Linguagens dinâmicas
As linguagens dinâmicas existem desde 1956, com o Lisp, depois seguidas pelo Fortran, Logo, SmallTalk, PhP, Python, Ruby, JavaScript, entre outras. Diferente das linguagens estáticas, as linguagens dinâmicas não validam o código durante a compilação, mas sim em tempo de execução, podendo ser uma grande vantagem quando é necessário fazer alterações sem muita “burocracia”.

Em projetos que se requer agilidade, o uso deste tipo de linguagem é de grande valia, pois permite realizar basicamente o que você quiser, com pouco código, porém como tudo na vida há um preço a se pagar, por exemplo: é mais difícil se aproveitar um código dinâmico do que um código “estático”.
Performance
Umas das grandes preocupações de linguagens dinâmicas é a performance da aplicação. Em testes, a versão do Python para o .NET, o IronPython apresentou performance equivalente ou superior à versão do Python baseada em C. Existe uma crença de que linguagens dinâmicas possuem uma performance inferior às linguagens estáticas, porém com as máquinas cada vez mais poderosas, esta diferença fica cada vez menos observável.

DLR
O DLR (Dynamic Language Runtime) permite rodar linguagens dinâmicas em cima do CLR (Common Language Runtime), que provê serviços comuns a todas as linguagens suportadas pelo framework. O DLR inclui funcionalidades que suportam linguagens dinâmicas, como a criação de códigos dinâmicos de forma rápida, além de prover suporte para as bibliotecas já existentes no framework .NET e manter uma interoperabilidade com as linguagens estáticas. É possível, por exemplo, utilizar bibliotecas criadas em C#, dando um poder imenso de criação, não precisando assim, recriar códigos prontos.

Atualmente a MS está desenvolvendo o suporte para DLR as linguagens Python, JavaScript (EcmaScript 3.0), Visual Basic e Ruby.
Mono
O mais famoso software para rodar e desenvolver .NET no Linux possuí suporte para o rodar linguagens dinâmicas no .NET (DLR), dando ainda mais flexibilidade.

http://www.mono-project.com/Languages

Ruby
Para manter a praticidade, a linguagem possui algumas características interessantes, na Wikipedia (2008) encontramos as seguintes informações à esse respeito:

A sintaxe é enxuta, quase não havendo necessidade de colchetes e outros caracteres.
Todas as variáveis são objetos, onde até os “tipos primitivos” (tais como inteiro, real, entre outros) são classes.
Estão disponíveis diversos métodos de geração de código em tempo real, como os “attribute accessors”.
Através do Ruby Gems, é possível instalar e atualizar bibliotecas com uma linha de comando, de maneira similar ao APT do Debian Linux.
Code blocks (blocos de código), ajudam o programador a passar um trecho de instruções para um método. A idéia é semelhante aos “callbacks” do Java, mas de uma forma extremamente simples e bem implementada.
Mixins, uma forma de emular a herança múltipla, sem cair nos seus problemas.
Tipagem dinâmica, mas forte. Isso significa que todas as variáveis devem ter um tipo (fazer parte de uma classe), mas a classe pode ser alterada dinamicamente. Os “atalhos” citados acima, por exemplo, se beneficiam da tipagem dinâmica para criar os métodos de acesso/alteração das propriedades.
Fonte: http://pt.wikipedia.org/wiki/Ruby_(linguagem_de_programa%C3%A7%C3%A3o)

Iron Python
Possui características análogas ao Ruby. Permite suporte ao Silverlight, para testar, existe um console. (http://silverlight.net/Samples/1.1/DLR-Console/python/index.htm)

O Site do projeto oficial é: http://codeplex.com/IronPython

Phalanger (PHP)
O site oficial do projeto é: http://www.codeplex.com/Wiki/View.aspx?ProjectName=Phalanger

Linguagens suportadas pela plataforma .NET
Existem uma série de linguagens suportadas pela plataforma .net. Algumas ainda em estado embrionário e não oficial enquanto outras já com apoio oficial da MS. No link abaixo, segue uma lista.

Acesse: http://dotnetpowered.com/languages.aspx

Considerações finais.
Em desenvolvimento, não está importando muito a linguagem que utilizamos. O que importa é com que rapidez e qualidade com que entregamos um projeto. É sempre importante conhecermos novas linguagens, e para isto, certamente a plataforma .NET dará todo apoio necessário.

Fonte: http://imasters.uol.com.br/artigo/8652/dotnet/rode_php_ruby_python_e_outras_linguagens_no_net/

O que é Marketing?

13/04/2008

A palavra “marketing” tem sido usada livremente para designar principalmente as atividades de promoção, vendas e propaganda.
Hoje o marketing é uma ferramenta gerencial metodizada que se constitui numa disciplina em si responsável pelo julgamento criativo no direcionamento dos recursos da empresa para alcançar metas lucrativas específicas através da satisfação inovadora das necessidades do consumidor.
As divisões e atividades de marketing precisam ser orientadas para o consumidor que está adquirindo o produto ou serviço preocupando-se com o que o cliente quer, quando ele o quer, onde ele o quer, como ele quer comprá-lo, quanto ele está disposto à pagar.
Em resumo o marketing pode ser definido como: “A geração do lucro através do gerenciamento dos recursos e atividades que determinarão e satisfarão as necessidades e desejos das pessoas que compra produtos e serviços”.  

*Retirado: Matéria de Administração II, professor Bona, Faculdade de Tecnologia de Sorocaba - FATEC.

Livro Segurança em PHP

Recomendo a leitura desse livro, Segurança em PHP. O foco maior é para administradores de servidores, mas nós programadores devemos estar atentos as possíveis falhas de segurança. Segue resenha:

As falhas de segurança em servidores web são um assunto, cada vez mais, em evidência, e é alarmante o crescimento de websites que sofrem ataques de todos os tipos. É necessário que os profissionais estejam sempre bem preparados e conheçam as maneiras corretas de impedir que vulnerabilidades sejam exploradas.

Segurança em PHP é uma obra de referência com conceitos e dicas preciosas tanto para programadores quanto para administradores de sistemas que têm como objetivo manter servidores e scripts PHP seguros e confiáveis.

Além de abordar aspectos de programação segura referentes à linguagem PHP, o leitor encontrará dicas de como programar de maneira eficiente e como configurar o servidor web e as conexões com banco de dados de forma segura para minimizar as possibilidades de falhas na segurança.

olá, gostaria de deixar claro que não estou me “vendendo” e sim colocando em prática o que aprendo na faculdade, a não vestir camisa em relação a plataformas…
vou passar a trabalhar além de PHP, agora com C# (C Sharp), dentro do possível ainda vou me aprimorar em mais plataformas…
à baixo segue algumas características da linguagem C#:

O C# possuiu grandes vantagens, uma delas é a possibilidade de maior interatividade com os internautas, que passam a poder postar informações a qualquer momento, com o C# controlando o envio e recebimento de dados, principalmente a partir da mesma pagina.
Uma outra vantagem na utilização de C# é programação orientada a objeto, não possíveis em C e em Visual Basic. Segundo HADDAD (2004) este seria um dos melhores recursos oferecido por esta linguagem, visto que os códigos podem ser utilizados facilmente, pois existem heranças, poliformismo e encapsulamento.
Um outro tão esperado recurso oferecido pelo C# é o recurso de programação orientado a evento, que significaria não ter de programar linhas em Javascript para disparar os poucos eventos existentes em alguns controles. Novos eventos de página e controles foram criados visando facilitar a programação.
Uma outra vantagem é o recurso do ambiente Windows. No C# o desenvolvimento é muito semelhante com aplicações deskop, utilizando recursos do ambiente Windows. Assim, alguns dos controles que somente eram encontrados em componentes são agora nativos. Outros aspectos vantajosos no C#, é que toda Data Definition Language (DLL) ou componente não precisa mais ser registrado, extingue-se o papel do registry e com os novos controles validator, torna-se mais fácil consistir e validar dados na web, bastando apenas invocar o componente, estabelecer a propriedade e vincular a algum controle. Além disso, tratar erros também se tornou muito fácil , por meio do Execption, o próprio C# identifica e trata o erro.

O analista de sistemas deve ser capaz de compreender as disciplinas de engenharia de software e as das atividades da organização . A relação existente entre essas duas áreas e o nível corrente de tecnologia determinam a interação entre o exeqüível e o desejável. Cada aplicação em potencial deverá ser submetida a uma séria de exames para se verificar se, de fato, a função solicitada apresentará a  qualidade de desempenho almejada pelo usuário. Se a melhoria em questão parecer ser viável, e havendo os recursos necessários à elaboração da aplicação, o projeto recebe a permissão para prosseguir. Nesta conjuntura, o papel do analista de sistemas muda e o detalhe citado anteriormente deve ser substituído. Para tanto, torna-se necessário identificar as funções que serão entregues quando a aplicação terminar. As funções representarão os “testes” que a aplicação completa deverá satisfazer, a fim de provar que os requisitos foram, realmente, atendidos.
Depois que se estabelece o detalhe  e se especifica totalmente o “que”  pelo menos em sua versão primeira, o papel do analista de sistemas muda mais uma vez, passando a ser o de arquiteto do software e gerente de projeto. O “que ”deverá ser transformado em “como”, simultaneamente á verificação contínua de que a aplicação permanece atendendo ás especificações detalhadas do sistema.
As funções de serviço atribuídas ao analista de sistemas e a profissão ligada á analise de sistemas são extremamente vastas. Muitas organizações definem uma categoria denominada programador / analista, ampliando ainda mais a descrição. Assim, de acordo com a abrangência do título do cargo tanto as organizações quanto os indivíduos se enquadram numa larga gama de usos. As organizações maiores possuem departamentos distintos para analise e programação e contam com analistas que “vivem” ou num grupo ligado a análise de desenvolvimento de sistemas, ou na organização do negócio que utilizará a aplicação. Algumas organizações possuem o cargo de arquiteto de sistemas; outras, o de gerente de projetos e outras ainda o de projetistas de sistemas. Usar-se-á, aqui, uma definição, relacionada com a função e não com as pessoas que desempenham os papéis. A analise de sistemas será discutida em termos de tais funções, desde suas definições básicas até o atual, escrita em código, exclusive…

Retirado da matéria de Análise e Projeto de Sistemas, ministrada pelo professor Levi, na Faculdade de Tecnologia de Sorocaba, a melhor Faculdade de Sorocaba.

Tecnólogo em Processamento de Dados

Atuando nas áreas de Análise de Sistemas, é capaz de desenvolver e administrar projetos de Sistemas de Informação. Conhece características de equipamentos, estando apto a fazer estudos de necessidades e viabilidade técnico-econômica de equipamentos e Sistemas de Informação. Conhece administração de empresas, podendo vir a ser analista de organização ou mesmo assumir todos os níveis de chefias na área de Informática. Pode dedicar-se ao ensino e à pesquisa, dentro do seu campo profissional. Conhece linguagens de programação comerciais e científicas, podendo realizar manutenção de sistemas de computadores e, ainda, como analista de software, pesquisar a otimização e aplicação de sistemas. Pode atuar no dimensionamento, implantação e gerência de redes de teleprocessamento. Conhece estruturas de dados e pesquisas a arquivos, estando habilitado a atuar em áreas de Administração de Dados e Administração de Banco de Dados.