Tecnologia 4G chega ao Brasil? É Claro!

A tecnologia 4G como bem é implicito ao nome, é a quarta geração de telefonia móvel. Não vou entrar muito ao mérito tecnológico, mas hoje essa modalidade reúne o que existe de mais moderno na transmissão de dados por redes de celular, trazendo ao consumidor mais velocidade em suas conexões independentemente de como é realizado, seja via Smartphone, tablets ou modens, bastando estes apenas possuir esta modalidade de conectividade.

A frequência para que este sinal não sofresse interferência de outras já foi liberada pela Anatel (Agência Nacional de Telecomunicações) e será transmitida através das frequências entre 2,5GHZ e 2,69GHZ, que não por acaso é padrão na maior parte dos países da Europa e Ásia.

O leilão dessas frequências já foi realizado em junho deste ano, e a operadora Claro adquiriu uma banda de 40 Mhz por R$ 800 milhões, um dos dois melhores pedaços das frequências disponíveis. Isso significa a capacidade de acomodar mais usuários a uma velocidade nominal de até 100 Mbps.

Outras empresas que ficaram com as faixas de 20 MHz podem atingir apenas velocidades de até 50 Mbps.

Essa diferença fez com que a Claro para se diferenciar das outras colocou no mercado o seu produto com o nome de “Claro 4G Max“. A tecnologia é mesma, mas a diferença é a capacidade de transmissão, tanto em numero de pessoas quanto na velocidade.

Ta esperando o que? Já esta disponível!! Chegou a hora de parar de navegar e sair voando pela internet… ;)


Traduzindo WordPress instalado pelo Fantastico / Cpanel

Como a maioria dos meus clientes de hospedagem tem esta necessidade, resolvi escrever este rápido tutorial de como modificar o idioma do WordPress instalado pelo Fantastico / CPanel para Português do Brasil.

Basicamente, são 5 passos. Vamos lá:

Passo 01 – Instalar o WordPress pelo Fantastico / CPanel

  • Para isso basta abrir o seu painel de controle (CPanel), geralmente em www.seudominio.com.br/cpanel
  • Depois procure e clique no icone do Fantástico
  • Depois procure e clique no menu em WordPress e logo em seguida em Nova Instalação
  • Preencha os campos solicitados e clique em Instalar

Passo 02 – Atualizar o WordPress para a ultima versão disponivel

  • Depois de instalado o WordPress, logue em seu painel administrativo, na entrada verá se o seu WordPress precisa ser atualizado ou não
  • Caso veja uma mensagem semelhantes a essa: WordPress 3.4.2 is now available for download. Update now .. clique sobre ela e atualize automaticamente para a versão mais recente disponivel
  • Seu WordPress foi atualizado para a ultima versão, mas ainda esta em inglês, então, próximo passo

Passo 03 – Fazer download da ultima versão em português do WordPress

  • Entre em http://br.wordpress.org/ e faça o download da ultima versão do WordPress em português, geralmente fica do lado direito em um botão vermelho.

Passo 04 – Separar os arquivos necessários para a tradução

  • Apesar de baixar todo o WordPress não precisaremos de todos os arquivos, apenas da tradução.
  • Descompacte o arquivo baixado
  • Entre na pasta WordPress \ wp-content , logo em seguida clique com o botão direito na pasta languages e compacte a pasta em formato ZIP. É importente ser .ZIP e não .RAR, pois o CPanel so consegue descompactar o .ZIP

Passo 05 – Upload e Configuração do arquivo de configuração

  • Ja criado o arquivo languages.zip entre no seu CPanel e faça upload do arquivo para dentro do diretorio do seu blog \ wp-content
  • Descompacte o arquivo languages.zip na pasta wp-content, ele irá criar automaticamente a pasta languages
  • Agora desça um diretorio e vá até a raiz do seu blog, procurando o arquivo wp-config.php
  • Clique em Editar Código do wp-config.php e procure a linha que tem define (‘WPLANG’, ”); e altere para define (‘WPLANG’, ‘pt_BR’);
  • Clique em Salvar e pronto, seu WordPress estará em português! :)

Mysql – Desafio: Relacionar 3 tabelas e exibir informações no mesmo select

E ae galerinha, prontos para o desafio? Vamos la, primeiro vamos conhecer o banco de dados, segue abaixo:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
--
-- Estrutura da tabela `categorias`
--

CREATE TABLE IF NOT EXISTS `categorias` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `nome` varchar(100) NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=MyISAM  DEFAULT CHARSET=utf8 AUTO_INCREMENT=7 ;

--
-- Extraindo dados da tabela `categorias`
--

INSERT INTO `categorias` (`id`, `nome`) VALUES
(1, 'legal'),
(2, 'alegre'),
(3, 'inteligente'),
(4, 'divertido'),
(5, 'sorridente'),
(6, 'engraçado');

-- --------------------------------------------------------

--
-- Estrutura da tabela `relacao`
--

CREATE TABLE IF NOT EXISTS `relacao` (
  `usuario` int(11) NOT NULL,
  `categoria` int(11) NOT NULL,
  UNIQUE KEY `usuario` (`usuario`,`categoria`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;

--
-- Extraindo dados da tabela `relacao`
--

INSERT INTO `relacao` (`usuario`, `categoria`) VALUES
(1, 1),
(1, 5),
(1, 6),
(2, 2),
(2, 4),
(2, 5),
(3, 5),
(3, 6),
(4, 1),
(4, 4),
(4, 6);

-- --------------------------------------------------------

--
-- Estrutura da tabela `usuarios`
--

CREATE TABLE IF NOT EXISTS `usuarios` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `nome` varchar(100) NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=MyISAM  DEFAULT CHARSET=utf8 AUTO_INCREMENT=5 ;

--
-- Extraindo dados da tabela `usuarios`
--

INSERT INTO `usuarios` (`id`, `nome`) VALUES
(1, 'magno'),
(2, 'diogo'),
(3, 'daniel'),
(4, 'tayna');

Devidamente apresentado o banco de dados, vamos as explicações. Como da pra perceber, são 3 tabelas contendo respectivamente uma lista de categorias, uma lista de relacionamentos e uma lista de usuários. Mas porque três tabelas e não duas? Porque sim! ;P~ Porque cada usuário pode ter N categorias relacionadas.

Ai esta o desafio, fazer um select que mostre a lista de usuários (sem repetir o usuário) e suas categorias relacionadas em apenas uma linha (um select). Como por exemplo:

1
2
3
4
5
NOME | CATEGORIAS
----------------------------
magno | legal, sorridente, engraçado
diogo | alegre, divertido, sorridente
etc...

Prêmio: Uma caneca exclusiva da Brainatwork TI (enviamos para qualquer lugar do mundo)

Caneca Brainatwork TI

O desafio esta lançado… e não esqueça de preencher os comentários com seu e-mail correto.

have fun!

PHP: Normalizar string para usar na URL amigável/dinâmica

A tempos atras aqui mesmo no blog, postei um artigo ensinando a Como fazer URLs amigaveis com .htaccess e php. Entretanto, para ficar mais completo, você pode incrementar a função abaixo:

1
2
3
4
5
6
7
8
function NormalizaURL($str){
    $str = strtolower(utf8_decode($str)); $i=1;
    $str = strtr($str, utf8_decode('àáâãäåæçèéêëìíîïñòóôõöøùúûýýÿ'), 'aaaaaaaceeeeiiiinoooooouuuyyy');
    $str = preg_replace("/([^a-z0-9])/",'-',utf8_encode($str));
    while($i>0) $str = str_replace('--','-',$str,$i);
    if (substr($str, -1) == '-') $str = substr($str, 0, -1);
    return $str;
}

ela fará que uma string se torne uma URL amigável, ou seja, de fácil leitura humana e dos buscadores (SEO).

Por exemplo, você tem uma noticia com o titulo:
Rihanna toma caipirinha, come picolé, tatua braço e faz castelo na areia no RJ

Ao passar pelo codigo, ira retornar:
rihanna-toma-caipirinha-come-picole-tatua-braco-e-faz-castelo-na-areia-no-rj

Agora é so montar a url como desejar, por exemplo:

http://seudominio.com.br/2134/rihanna-toma-caipirinha-come-picole-tatua-braco-e-faz-castelo-na-areia-no-rj.html

Onde, seudominio é o seu domínio, 2134 seria o ID da matéria no banco de dados, e o restante apenas uma mascara para indexação nos buscadores. ;)

Have Fun!

Removendo IP do firewall com shell script

A minha necessidade era atraves de um painel de controle (escrito em PHP) executar um comando especifico (neste caso: csf -dr IP). O procedimento poderia ser simples, usando o exec() do PHP, mas por medidas de segurança o mesmo esta desabilitado no servidor.

Como diz meu grande ídolo Dadá Maravilha, vamos a solucionática: Fazer um Shell Script que le um arquivo TXT linha por linha, onde serão gravados os IPs e executar o comando com estes IPs.

Segue o código:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#!/bin/bash
# DesBloquearIPTxt por Diogo Dourado <diogo@dourado.net>
# Le IPs para desbloquear

nome_arquivo="/home/betanetr/public_html/DesbloquearIps.txt"

if [ -f $nome_arquivo ]
then

    while read line
    do
        ipvalido=$(echo $line | egrep '^(([0-9]{1,2}|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\.){3}([0-9]{1,2}|1[0-9][0-9]|2[0-4][0-9]|25[0-5])$')
        if [ "$ipvalido" != "" ]; then
        csf -dr $line
        fi 
    done < $nome_arquivo
   
    echo '' > $nome_arquivo
fi

Vamos botar pra rodar?

  1. Entre no seu servidor via SSH
  2. Crie um arquivo com o código acima atraves do comando: edit DesBloquearIPTxt
  3. Faça dele um executavel com o comando: chmod +x DesBloquearIPTxt
  4. Abra o agendador de tarefas: crontab -e
  5. Adicione na ultima linha: * * * * * ./DesBloquearIPTxt >/dev/null 2>&1
  6.  Salve e seja feliz! :)

Avisos importantes:

  • Altere o nome do arquivo no código acima para o caminho exato de onde esta o arquivo, no meu caso, com os IPs gravados: DesbloquearIps.txt”
  • De permissão 0777 para este arquivo, mesmo vazio
  • Agora é so fazer um script em PHP para gravar os IPs que deseja desbloquear no TXT

Prontinho, agora o CRON cuida do resto. A cada minuto ele verifica se o arquivo existe, se existir, verifica linha por linha se é um IP válido, se for o IP válido ele faz o desbloqueio do IP.

Have Fun! ;)