Postagens

Mostrando postagens de janeiro, 2014

Javascript - Comportamentos diferentes para incremento de valores com ++ antes e depois da variável

Hoje vamos tratar de algo que aparentemente é muito bobo mas que na verdade não o é e costuma trazer grandes problemas quando utilizado de maneira errada: o incremento em variáveis. O incremento está presente em inúmeras linguagens de programação. Os exemplos que apresentarei aqui são baseados em Javascript , porém eles são válidos também para PHP e outros. Acredito que todos sabem que para incrementar ou decrementar (adicionar ou subtrair) uma unidade a uma variável, ao invés de fazer isso: $a = $a + 1 Podemos fazer isso: $a++ ou isso: ++$a Bem, acredito que todos sabem deste truque, mesmo porque é a primeira coisa que aprendemos quando iniciamos na arte de programar, porém você sabe qual a diferença entre ambos? Vamos rodar um javascript bem simples para exemplificar o que acontece: $a = 0; $b = 0; $a++; ++$b; console.log($a); console.log($b); É provável que você obtenha como resultado: 1 1 Bem, até ai parece que não existem diferenças, correto? Inic

PHP - Pulando linhas do resultado de uma Query com mysql_data_seek()

mysql_data_seek() move o ponteiro interno do resultado de uma Query MySQL para o número da linha especificada. A próxima chamada de uma função, por exemplo mysql_fetch_assoc (), irá retornar esta linha. mysql_data_seek()  é muito útil quando se quer trabalhar com paginações, por exemplo. Vamos a um exemplo simples, sem o uso do  mysql_data_seek() , onde uma tabela simples com ID e nome é consultada. <?php include "db.php"; $result = mysql_query("SELECT * FROM ident"); while ($row = mysql_fetch_array($result))  { echo "ID: {$row['id']}, Nome: {$row['nome']} <br/>"; } O Resultado é: ID: 1, Nome: Daniel ID: 2, Nome: Salete ID: 3, Nome: Veronica ID: 4, Nome: Mona ID: 5, Nome: Zilda ID: 6, Nome: Ofelia ID: 7, Nome: Patricia Agora vamos utilizar  mysql_data_seek() . Vamos pular o resultado da consulta da linha 0 para a linha 5 e repetir o loop: <?php include "db.php"; $result =

PHP - Rodando PHP pela linha de comando: passando parâmetros

Imagem
Para quem não sabe o PHP pode ser rodado via linha de comando, seja no Linux, DOS ou MAC e não somente via browser. Podemos rodar um script desta forma (no DOS): c: \xampp\htdocs\>php meuscript.php Pelo browser podemos passar parâmetros usando os caracteres ? e & como separadores localhost/meuscript.php?parametro=linha E no script 'pegamos' este parâmetro através do $_GET. Pela linha de comando $_GET não consegue pegar parâmetros. Desta forma devemos modificar nosso script de forma a receber os parâmetros imputados via linha de comando. A variável interna $argv captura os parâmetros imputados: <?php var_dump($argv); Agora podemos rodar o script e enviar os parâmetros: c: \xampp\htdocs\>php meuscript.php linha Veremos como saída: Array(2) {   [0] => string(16) "meuscript.php"   [1] => string(5) "linha" } Ou seja, os parâmetros são reconhecidos pelo script como uma array de valores. É isso ai!

Calculando distâncias com Geolocalização pelo MySQL

Imagem
Geolocalização está no topo das tecnologias atuais pois junto com os dispositivos móveis vieram também inúmeras oportunidades de aplicativos que utilizam a localização do usuário para uma infinidade de coisas, de dizer se um amigo está por perto a indicar restaurantes ou serviços próximos a onde o usuário está. Sendo assim é imprescindível aprendermos a trabalhar com geolocalização. A Geolocalização é fundamentalmente um serviço fornecido pelo "Front End" ou falando de modo mais geral do lado cliente, pois é o browser ou o aparelho móvel quem disponibiliza esta informação. Apesar disto existem  coisas relacionadas com Geolocalização que sim podem (e devem) ser feitas do lado servidor (Server Side). Se você está criando alguma aplicação relacionada a encontrar locais próximos, por exemplo, caso não esteja usando um web service de terceiros, no mínimo um banco de dados com as coordenadas geográficas de vários locais você provavelmente deverá possuir. Vamos supor que

MySQL - Apagando functions, procedures e triggers com DROP

A dica de hoje é rápida e prática. Como apagar uma Função, uma Procedure ou Trigger no MySQL? Basta dar um DROP nelas. DROP FUNCTION minhafuncao DROP PROCEDURE minhaprocedure DROP TRIGGER minhatrigger

Árvore de características HTML5 - Um ótimo guia de novas propriedades

Imagem
O gráfico abaixo é bem interessante e nos dá uma ideia das novas propriedades do HTML5.

Angular.js - Montando listas ou tabelas usando loops com ng-repeat

Imagem
No artigo anterior vimos como trabalhar com estilos CSS e classes além de conhecer algumas novas diretivas e como elas são uma espécie de atalho para os desenvolvedores . Hoje vamos avançar um pouco mais e trazer um assunto bem útil, que é a criação de listas e tabelas dinamicamente, através de loops. É comum as listas ou tabelas serem criadas do lado servidor, fazendo-se loops dos dados vindos de um banco de dados ou array mas fazer esta mesma ação do lado cliente é menos comum. Como a ideia do Algular.js é trabalhar dados fornecidos no formato Json, devemos ter em mente que criar uma lista ou tabela pode ser feita sim do lado cliente de maneira fácil e, além disto, contribuir para a prática da programação baseada em MVC, ou seja, que separa as camadas de layout das demais. Além disto vamos aproveitar a oportunidade e tratar também de uma outra maneira de aplicar as técnicas de estilos CSS. O exemplo abaixo será nossa base de estudos neste artigo. <html ng-app> &