quarta-feira, 21 de outubro de 2009
Campus Party 2010 - Inscrições
Alguns dados referente a este Campus Party:
- Data do evento: 25 a 31 de Janeiro de 2010
- Centro de Exposições Imigrantes, São Paulo (SP)
- Valores: R$140,00 usuários que participaram de edições anteriores e pagar até dia 25/10 o valor será R$100,00. Para acampar será acrescentado ao valor da inscrição mais R$15,00.
- No twitter a hashtag #cpartybr está sendo usado como a tag oficial da Campus Party Brasil 2010
Mais informações acesso o site: http://www.campus-party.com.br/
e as novidades estão sendo postadas no blog oficial do evento: http://www.campus-party.com.br/blogoficial/
quinta-feira, 29 de janeiro de 2009
DIPtec na Campus-Party
Com isso, a fábrica de software provou que é possível transferir toda a equipe para um evento deste porte, sem prejudicar o andamento dos projetos e mantendo a qualidade e a pontualidade, que sempre foram a marca da empresa.
A equipe adorou a experiência e já está ansiosa para a Campus-Party 2010. A DIPtec já prepara uma série de surpresas para o ano que vem! Aguarde!
segunda-feira, 19 de janeiro de 2009
DIPTEC TRANSFERE OPERAÇÕES PARA CAMPUS PARTY 2009
“Nosso objetivo é produzir e compartilhar conhecimento em contato com o mundo externo e reunir, num só espaço, colaboradores internos (funcionários), externos (clientes) e a concorrência“, afirma o diretor da empresa Flávio Sousa Silva. Para ele, será uma ótima oportunidade de, por um lado, colocar em prática a capacidade de mobilidade da empresa e, por outro, apresentar aos jovens, estudantes e interessados, como funciona a dinâmica de uma fábrica de software.
Durante os sete dias do evento, os colaboradores irão trabalhar normalmente com a aplicação de suas metodologias de desenvolvimento de projetos, como PMI e SCRUM, desenvolvimento de códigos, gerenciamento das atividades, além de reuniões com clientes. Outro destaque será a realização, dentro do evento, de um processo de seleção de programadores, para ampliar a equipe, visando atender a um novo projeto da empresa.
DIPtec Desenvolvimento com Inteligência e Personalidade
A DIPtec é uma empresa que desenvolve sistemas sob demanda, no conceito de fábrica de software. A empresa trabalha com diversas linguagens de programação, entre elas o Java, PHP e C#; metodologias como PMI, XP e SCRUM, e arquiteturas como J2EE e dotnet. Com estas tecnologias, desenvolve portais, sistemas web e sistemas locais.
Focada em software livre, propõe soluções evolutivas para atender à demanda de seus clientes e à evolução do conhecimento coletivo. Sempre buscando a qualidade, equilibra a tríade: escopo, custo e prazo.
A empresa representa a ferramenta MAKER, um software de ambiente de desenvolvimento de sistemas de Informação, que possui como grandes benefícios uma ALTA PRODUTIVIDADE e QUALIDADE NO DESENVOLVIMENTO DE PROJETOS WEB.
Entre seus principais clientes estão órgãos públicos como: PRODAM, Prefeitura de Peruíbe/SP e Prefeitura de São Bernardo do Campo/SP; as empresas Star Business, Maxipoli, Kenkoodo, Lafabrica, e o Sindeepres (sindicato dos prestadores de serviços terceirizados).
SERVIÇO:
Campus Party 2009
De 19 a 25 de janeiro de 2009
Local: Centro de Exposições Imigrantes
Site oficial: www.campus-party.com.br
A DIPtec estará localizada na área de desenvolvimento da Campus Party
DIPTec
Largo do Paissandu, 72 - 8o andar CJ 811
São Paulo - SP - Centro
CEP 01034-901
Tel. 5082-5090
www.diptec.com.br
quinta-feira, 8 de janeiro de 2009
Web 2.0 e a Programação
Para quem vive hoje no mundo na informática, seja ele como profissional da área ou como usuário, sabe que as coisas estão mudando de maneira muito rápida, não é de hoje que os softwares estão començando a ser desenvolvidos para rodarem em um ambiente web, ou seja, serem usados através da internet. Mas para que tudo isso funcione corretamente, foi necessário a união de várias tecnologias que tornassem a experiência do usuário mais rica, intuitiva, com interfaces rápidas, bonitas e que sejam fáceis de usar.O AJAX, Javascript e o PHP, por exemplo, estão com muita força no mercado suprindo esta necessidade de uma programação simples e modular. Os módulos podem ser reutilizados em diversos softwares ou compartilhados para serem usados por programas de terceiros.
Métodologias e conceitos como o Getting Real (metodologia de produção utilizada pela equipe da 37signals [pequena equipe que cria software simples e focado] que prega a construção de softwares pulando todas as etapas que representam a realidade - como wireframes, documentação de especificação, gráficos, etc - partindo direto para o que é realidade) e Agile (conjunto de práticas para desenvolver e ajudar outros a desenvolver software) tem-se popularizado entre as empresas que desenvolvem aplicativos ditos "Web 2.0", termo esse que foi usado pela primeira vez em Outubro de 2004 pela O´Reilly Media como nome de uma série de conferências sobre o tema, popularizando-se rapidamente a partir de então. Tim O´Reilly definiu que :
"Web 2.0 é a mudança para uma internet como plataforma, e um entendimento das regras para obter sucesso nesta nova plataforma. Entre outras, a regra mais importante é desenvolver aplicativos que aproveitem os efeitos da rede para se tornarem melhores quanto mais são usados pelas pessoas, aproveitando a inteligência coletiva"
A Web 2.0 propõe uma experiência de uso semelhante ao de aplicativos para desktop, fazendo combinações de tecnologias que incluem Web Services APIs, AJAX, Web syndication entre outras. Técnologias estas que aumentaram a velocidade e a facilidade de uso de aplicativos Web, proporcionando que usuários que não tinham um conhecimento necessário publicaseem e consumissem informações de forma rápida e constante. Blogs como este e Wikis são grandes expoentes dessa nova forma de se usar a internet.
A Web 2.0 permitiu ainda o desenvolvimente de interfaces ricas, completas e funcionais, sendo que alguns aplicativos Web são considerados por muitos como "desktops on-line" proporcionando ao usuário um ambiente de trabalho completamente baseado na WWW, acessível de qualquer computador com conexão a internet.
Terminando este pequeno resumo sobre este assunto que já está tão vasto e vem crescendo cada dia mais, podemos dizer em um futuro não muito distante que a Web será a plataforma e o software apenas um serviço.
FONTE: http://pt.wikipedia.org/wiki/Web_2.0
quarta-feira, 15 de outubro de 2008
Como Instalar o Internet Explorer 6 no Linux
Apesar do Software Livre estar ganhando espaço no mercado, infelizmente ainda esbarramos em certos inconvenientes que tentam nos empurrar software proprietário.
Atualmente existem o equivoco de desenvolvimento de páginas e testa-la apenas em plataforma proprietário, quando deveria ser dado o poder de escolha ao usuário, e este decidir pela melhor ferramenta.
Levando-se em consideração a segurança, e de conhecimento que plataformas proprietárias apresentam um maior número e gravidade de falhas, além de em alguns casos levarem muito tempo para disponibilizarem a correção, o que com o software livre não acontece, pois é uma comunidade que desenvolve, portanto mais “técnicos” estão
à mão para corrigir eventuais erros.
“Mas eu uso Linux... e agora???” Felizmente hoje temos uma solução que é o ies4linux, que instala o IE6 em sua máquina Linux. Assim, caso necessite acessar aquele(s) site(s) que não abria(m) em seu Firefox, agora poderá fazê-lo.
Detalhe importante:
este tutorial foi elaborado para distribuições Linux
derivadas do Debian, no nosso caso, o Ubuntu.
Mãos na massa:
-Abra um terminal :
(Alt+F2 → digite: gnome-terminal)
No terminal:
Primeiramente torne-se
root (administrador do sistema):
$ → Linha de
comandos executados como usuário comum
# → Linha de
comandos executados como root
Obs.: Esses caracteres
(“$” e “#”) não deverão ser
digitados, considerar somente o que vier após os mesmos em
cada linha
$ sudo su
(digite sua senha)
# cd /tmp
# wget -q http://wine.budgetdedicated.com/apt/387EE263.gpg -O- sudo
apt-key add -
# wget http://wine.budgetdedicated.com/apt/sources.list.d/hardy.list -O /etc/apt/sources.list.d/winehq.list
# apt-get update
# apt-get install cabextract wine
# exit
$ cd /tmp
$ wget http://www.tatanka.com.br/ies4linux/downloads/ies4linux-latest.tar.gz
$ tar zxvf ies4linux-latest.tar.gz
$ cd ies4linux-*
$ ./ies4linuxSurgirão as seguintes telas:
Início da instalação
Dê Ok
Fim da Instalação
Aguarde até baixar tudo o que é requerido.
Criando um atalho
Na área de trabalho: botão direito → “Criar lançador...” :
Criação de atalho
Agora é só testar clicando no ícone recém criado.
Plugins
É recomendável acessar sites que usam plugins Flash e Java e conforme as
solicitações do próprio navegador instalar o que
for pedido.
IE6
rodando sob Linux
Eventuais Problemas
Em testes efetuados foi notado em sites que usam flash há um pequeno inconveniente, em que, as animações ficam piscando. Porém, nada de realmente relevante quando pensamos no maior benefício que é estar sob um sistema seguro (Linux).
Conclusão
A Internet é para TODOS, ou seja, usuários de software livre ou proprietário. Não é justo que sejamos obrigados a adotar um lado ou outro, pois temos liberdade de escolha e devemos exercer esse sagrado direito. Para quem usa Linux não
seria diferente.
quinta-feira, 25 de setembro de 2008
Participem do CONISLI
primará pela qualidade e pela troca de informações, por intermédio de
palestras, tutoriais e mini-cursos instrutivos.
Realizado em São Paulo, um estado com aproximadamente 40 milhões de habitantes,
sendo o mais populoso e com representatividade 20% de pessoas que habitam
o país, porém com uma pequena porção destas pessoas inseridas no contexto
tecnológico, o evento tentará trazer as pessoas da tecnologia, utilizando
o "Software Livre". O grande objetivo será demonstrar como obter melhores
resultados com o Software Livre. O CONISLI 2008 será, antes de tudo, um
evento de conteúdo técnico e instrutivo, com o seu foco em desenvolvimento de
software, infra-estrutura e segurança, a fim de cada vez mais colaborar para o
fortalecimento da Comunidade de Usuários e Desenvolvedores de Software Livre.
Ocorrendo desde 2003, o mesmo busca trazer as últimas novidades sobre o
mundo do Software Livre e dar também um ambiente onde a comunidade possa
trocar idéias e receber novos membros para compartilharem estas idéias.
Custo da inscrição:
Período 17-07-2008 à 31-07-2008 - R$ 30.00
Período 01-08-2008 à 15-08-2008 - R$ 45.00
Período 16-08-2008 à 10-09-2008 - R$ 60.00
Período 11-09-2008 à 15-09-2008 - R$ 75.00
AVISO AOS ESTUDANTES A organização do evento concede 50% de desconto na inscrição para os estudantes.
Além disso, relembramos:
- Carteiras de Estudante não substituem documento de identidade.
- Carteiras de Estudante sem prazo de validade não comprovam a condição efetiva de estudante.
- Cursos de idiomas também não se qualificam para obtenção de meia-entrada.
- Apresentar o boleto pago juntamente com sua carteira de estudante na secretaria do evento para retirada da credencial.
Referência: Diptec
Data: 18/10/2008 à 19/10/2008
Local: FIAP - Faculdade de Informática e Administração Paulista
Endereço: Av. Lins de Vasconcelos, 1264.
Bairro: Aclimação
Cidade: São Paulo SP
Faça sua Inscrição no Conisli
quarta-feira, 24 de setembro de 2008
Maker
O Maker é uma IDE de desenvolvimento de aplicações que surgiu da idéia de deixar o processo de "produção" mais fácil e rápido.
A metodologia de trabalho do Maker agrega recursos como o uso de fluxogramas(seu grande diferencial) para representar as regras de negócios, o que facilita muito para o real entendimento do funcionamento do sistema, além de disponibilizar assistentes para a construção rápida e visual de formulários e relatórios(WYSWYG). Outra grande vantagem do Maker é a quantidade de componentes já prontos para o uso (mascaras, fórmulas, validações, etc) , reduzindo tempo de desenvolvimento da aplicação.
O Maker trabalha com os principais SGBD's existentes (PostgreSQL,MySQL,Oracle, Interbase/Firebird,MS-Sql Server) e as regras de negócio criadas podem ser compiladas para as 3 camadas (Cliente, Servidor e Banco de Dados) e em diversas linguagens como JavaScript, Java, SQL etc.
Na minha visão, uma grande vantagem do Maker é que os sistemas desenvolvidos nele são web, ou seja, roda em qualquer sistema operacional.
A aplicação desenvolvida pode ser acessada de qualquer outra máquina, desde que a mesma possua um Browser, lembrando que o browser que esta homologado ainda é só o IE, mas testes já foram feitos com outros navegadores e as aplicações abriram sem nenhuma dificuldades ( mas como ainda não estão homologadas, alguns erros podem acontecer ).
Enfim, uma poderosa ferramenta de desenvolvimento que esta crescendo e aparecendo no mercado, vale a pena dar uma pesquisada mais a fundo, já que acredito que grande parte das aplicações desenvolvidas futuramente usarão deste formato.
Gostou ?? Para mais informações acesse o site www.softwell.com.br/maker.
Visite também o nosso site : www.diptec.com.br breve com maiores novidades.
Acesse também a nossa comunidade no Orkut www.orkut.com.br/Community.aspx?cmm=62539085.
Texto por:
Emerson F. Santos.
terça-feira, 19 de agosto de 2008
Executando uma procedure dinâmica usando o PREPARE e o EXECUTE no MYSQL e PHP.
Olá galera,
Em algum momento, tenho certeza que vocês precisaram ou precisarão fazer uma procedure dinâmica, seja para fazer um múltiplo insert, seja para uma lógica só sua, aquela que dentro de um mês você vai olhar e se perguntar: “Que zorra, essa zorra faz?” ou ainda “No que eu estava pensando quando eu fiz isso?”. Só abrindo um parenteses, quando eu procurei o material para escrever este artigo eu me fiz a primeira pergunta, fecha parenteses.
Mas em fim a dica está documentada, dada e vamos a ela.
Um problema que me deparei quando eu precisei desse mecanismo, é que usando o comando mysql_query do php, não conseguia executar a procedure com o prepare e excute, onde o erro retornado é “PROCEDURE artigo.pdteste can't return a result set in the given context”. No entanto se fosse executado o mesmo código na linha de comando do mysql, funcionava normalmente. Perdi algumas valiosas horas para resolver, mas resolvi.
O ambiente onde foi rodado esse exemplo:
sistema operacional : linux/windows
php : PHP Versão 5.2.6
apache : Apache 2.2.8
mysql : 5.0.67-community-nt
Vamos resumir o que faremos, criaremos uma tela com um campo onde colocaremos o código que completa a procedure de inserção no banco, não necessariamente nessa mesma ordem.
Iniciaremos pelo PHP, o qual não tem nenhum segredo e está devidamente comentado. Só gostaria de chamar a atenção para uma questão no código, estamos utilizando a mysqli_connect ao invés do mysql_connect.
Segue abaixo o código PHP (teste.php):
<?php
// endereço da máquina que está o mysql $hostac = 'localhost'; // usuário do mysql $userac = 'root'; // senha do mysql $senhaac = ''; // o banco a ser utilizado do mysql $bancoac = 'artigo'; // pega o valor do campo $strsql = $_GET['campo'];
// se o valor do campo tiver tamanho maior que 5 caracter tenta executar if (strlen($strsql)>5) { // cria a conexão com o banco $conn = @mysqli_connect($hostac, $userac, $senhaac,$bancoac);
// verifica se deu erro na conexão com o banco if (mysqli_connect_errno()){ // mostra a mensagem de erro echo "sem conexão ".mysqli_connect_errno() ; // retorna, ou seja pára a execução do script, podia ser exit. return; }
// monta o comando sql para executar a procedure usando o campo de texto da tela. $strsql = "CALL pdteste(\"".$strsql."\");";
// mostra o comando a ser executado. echo $strsql."<br>";
// Executa o comando sql, que retorna verdadeiro ou falso. Já verifica, se for verdadeiro mostra a mensagem de sucesso if(mysqli_multi_query($conn,$strsql)){
// mensagem de sucesso echo "Procedure executada com Sucesso"; // se for falso, mostra a mensagem de erro. }else{
// mensagem de erro echo "Erro na execução da procedure"; // pára de executar o script. exit; }
// fecha a conexão com o banco. mysqli_close($conn); }
/*Abaixo segue o formulário html que é constituido de uma linha para mostrar as mensagens. * Outra linha com o campo onde será colocado a parte que completa o comando sql. * Outra com o botão para a execução da procedure. */
?> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <title>Incluir </title> </head>
<body> <form actino="teste.php"> <table> <tr> <td> <?=$strsql;?> </td> </tr> <tr> <td> <input type="text" name="campo" id="campo" value="" size="40"/> </td> </tr> <tr> <td> <input type="submit" name="teste" id="teste" value="executar"/> </td> </tr> </table> </form> </body> </html> |
A nossa tela está pronta, acrescentando uma observação na linha $strsql = "CALL pdteste(\"".$strsql."\");" nota-se a \ (barra invertida) que indica que o caractere que segue logo após a mesma deve ser interpreta como sendo parte da string do php, e não finalizando a string, dessa forma ao montar a query teremos as aspas(“) que indica uma string do sql e dentro das aspas teremos a apóstrofe (') que indica um campo varchar.
Vamos para o mysql, vamos criar o banco, a tabela e a procedure, assim:
CREATE DATABASE `artigo`;
USE artigo;
DELIMITER $$
DROP TABLE IF EXISTS tabela $$
CREATE TABLE `artigo`.`tabela` ( `idtabela` INTEGER UNSIGNED NOT NULL AUTO_INCREMENT, `nome` VARCHAR(45) NOT NULL, `numero` INTEGER UNSIGNED NOT NULL, PRIMARY KEY (`idtabela`) ) ENGINE = InnoDB CHARACTER SET utf8 COLLATE utf8_unicode_ci;$$
DROP PROCEDURE IF EXISTS pdteste $$
CREATE PROCEDURE `pdteste`( IN valoresparam TEXT ) BEGIN
SET @novo = CONCAT("insert into tabela(nome, numero) values ", valoresparam);
PREPARE stm FROM @novo;
EXECUTE stm;
DEALLOCATE PREPARE stm;
END $$ DELIMITER ; |
Calma! Não deprime! vou explicar por partes.
Cria a tabela
CREATE DATABASE `artigo`;
Define o banco que iremos trabalhar, que nada mais justo que seja o que acabamos de criar.
USE artigo;
O delimitador de comando padrão do mysql é o “;”, mas se utilizarmos esse, teremos vários erros pois ele vai tentar executar os comandos que estão no corpo da procedure. Portanto iremos trocar o delimitador para $$.
DELIMITER $$
Agora iremos criar a tabela dentro do banco que já criamos e selecionamos. Para uma questão de evitar problemas, se a tabela existir a gente apaga, só por garantia.
DROP TABLE IF EXISTS tabela $$
Ai sim criamo-a novamente.
CREATE TABLE `artigo`.`tabela` (
A tabela possui um campo id do tipo inteiro, auto-incremental e que é a chave da tabela, um campo nome e um campo numero
`idtabela` INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,
`nome` VARCHAR(45) NOT NULL,
`numero` INTEGER UNSIGNED NOT NULL,
PRIMARY KEY (`idtabela`)
Dizemos de que tipo é essa tabela
ENGINE = InnoDB
E dizemos qual o encode dessa tabela, basicamente é para caracteres acentuados.
CHARACTER SET utf8 COLLATE utf8_unicode_ci;$$
Até aqui temos o banco e a tabela que precisamos, e tá tudo lindo. A parti deste ponto será criada a procedure. Tal como para tabela, por questão de segurança se a procedure existir a gente apaga.
DROP PROCEDURE IF EXISTS pdteste $$
Cria-se a procedure novamente.
CREATE PROCEDURE `pdteste`(
Essa procedure só tem um parametro de entrada, que é justamente o complemento do código de inserção, o qual será digitado no campo do formulário.
IN valoresparam TEXT
Iniciaremos o corpo da procedure.
BEGIN
Criaremos uma variável na qual concatenaremos a parte do código de inserção com o parâmetro passado pela tela.
SET @novo = CONCAT("insert into tabela(nome, numero) values ", valoresparam);
Criaremos um statement usando o prepare com o código a ser executado.
PREPARE stm FROM @novo;
Executamos o statement.
EXECUTE stm;
Desalocamos o statement.
DEALLOCATE PREPARE stm;
finalizamos a procedure.
END $$
E por último restabelecemos o delimitador padrão
DELIMITER ;
E ai temos todo o circo armado para executar a procedure. É só publicar a página teste.php no servidor apache devidamente configurado e acessar.
Ao acessar a página, por exemplo http://localhost:81/teste.php, o conteúdo do campo deve ser algo como:
('teste_web', 12)
ou ('teste1_web', 13) ,('teste2_web', 14) ,('teste3_web', 15) ,('teste4_web', 15)
“Se tudo deu certo e nada deu errado” no primeiro caso insere um registro, e no segundo insere vários registro de uma só vez no banco. Lembrando que esse tipo de inserte, da forma como foi mostrada só funciona no mysql.
Bem!! Para o momento é só, até um novo artigo
Referências:
http://www.kinghost.com.br/php/mysqli.multi-query.php
http://dev.mysql.com/doc/refman/5.1/en/sql-syntax-prepared-statements.html
http://rpbouman.blogspot.com/2005/11/mysql-5-prepared-statement-syntax-and.html