Sistema e manual para Calcular Frete SEDEX, e-SEDEX e PAC dos Correios (versão 1.1)

Ferramentas, JQuery, Javascript, PHP, XML No Comments » Marcelo Korjenioski

Desde semana pas­sada o antigo web­ser­vice dos cor­reios parou de fun­ci­o­nar com PAC.
Foi feita a cor­re­ção do código e agora o PAC esta fun­ci­o­nando novamente.

Sis­tema para Cal­cu­lar Frete 1.1

Docu­men­ta­ção para uti­li­zar o web­ser­vice dos Cor­reios para efe­tuar o cal­culo de forma personalizada.

SCPP_Manual_Implementacao_Calculo_Remoto_de_Precos_e_Prazos

Abaixo segue o código para mani­pu­lar os dados do web­ser­vice usando o PHP.

Segue o exem­plo do código abaixo funcionando.

<?php
/**
* Faz consulta no webservice dos correios e gera array dos valores.
* @copyright  Phaneronsoft
* @author Marcelo Korjenioski - faleconosco@phaneronsoft.com
* @see http://www.phaneronsoft.com
* @filesource correios.php
* @version 1.0
*/

// PESO: Peso total do pacote em Quilos, caso seja menos de 1Kg, ex.: 300g, coloque 0.300
define('PESO',0.300);
// COMPRIMENTO: comprimento do volume em centímetros - somente número de 16 a 60
define('COMPRIMENTO',30);
// ALTURA: altura do volume em centímetros - somente número de 2 a 60
define('ALTURA',15);
// LARGURA: largura do volume em centimetros - somente número de 5 a 60
define('LARGURA',20);
// CODIGO_SERVICO: É possivel fazer mais de uma consulta ao mesmo tempo, basta separar os códigos por virgula.
// Neste caso PAC 41106 e SEDEX 40010
define('CODIGO_SERVICO','41106,40010');
// CEP_ORIGEM: seu CEP com 8 dígitos - somente números
define('CEP_ORIGEM','81010210');
// CEP_DESTINO: CEP do seu cliente com 8 dígitos - somente números
define('CEP_DESTINO','60245965');

// Crio um objeto para manipular o XML.
$doc = new DomDocument;
// Carrega o arquivo XML com um arquivo DOMDocument
$doc->Load("http://shopping.correios.com.br/wbm/shopping/script/CalcPrecoPrazo.aspx?StrRetorno=xml&amp;nCdServico=" . CODIGO_SERVICO . "&amp;nVlPeso=" . PESO . "&amp;sCepOrigem=" . CEP_ORIGEM . "&amp;sCepDestino=" . CEP_DESTINO . "&amp;nCdFormato=1&amp;nVlComprimento=" . COMPRIMENTO . "&amp;nVlAltura=" . ALTURA . "&amp;nVlLargura=" . LARGURA);
// Defino o nome do elemento pai (root).
$root = $doc->getElementsByTagName('cServico');

// Carrega o arquivo XML com um arquivo DOMDocument
$correios = "http://shopping.correios.com.br/wbm/shopping/script/CalcPrecoPrazo.aspx?StrRetorno=xml&amp;nCdServico=" . CODIGO_SERVICO . "&amp;nVlPeso=" . PESO . "&amp;sCepOrigem=" . CEP_ORIGEM . "&amp;sCepDestino=" . CEP_DESTINO . "&amp;nCdFormato=1&amp;nVlComprimento=" . COMPRIMENTO . "&amp;nVlAltura=" . ALTURA . "&amp;nVlLargura=" . LARGURA;
// Defino o nome do elemento pai (root).
$root = $doc->getElementsByTagName('cServico');

// Defino o nome dos elementos filhos no arquivo XML que eu desejo.
$children = array('Valor','PrazoEntrega');

// Faço um loop para pegar todos os elementos pai (root) encontrados.
$valor = array();
for ($i=0; $i < $root->length; $i++) {
// Pega o valor do atributo do elemento pai  (root).
    $id =  $root->item($i)->getElementsByTagName('Codigo')->item(0)->nodeValue;

// Busca por elementos filhos (child) definidos no array
    foreach ($children as $child) {
        $valor[$id][$child] = $root->item($i)->getElementsByTagName($child)->item(0)->nodeValue;
    }
}
echo '<pre>';
var_dump($valor);

Caso tenha alguma duvida deixe um comen­tá­rio que terei pra­zer em aju­dar.
Comen­tá­rios são bem vin­dos assim posso melho­rar a qua­li­dade dos tuto­ri­ais aqui apresentados.

Tags: , , , , , ,

Alterar idioma do NetBeans para Inglês.

Ferramentas, Netbeans 3 Comments » Marcelo Korjenioski

Sem­pre quando vou bai­xar o Net­be­ans ele detecta o idi­oma do meu Win­dows e coloca em por­tu­guês mas bai­xando a ver­são em inglês.
Para alte­rar o idi­oma do Net­be­ans para inglês.
Vá em “C:\Arquivos de programas\NetBeans 6.8 Beta\etc”.
Abra o arquivo “netbeans.conf” com um edi­tor de texto.
Na linha de comando netbeans_default_options adi­ci­one
”-J-Duser.language=en –J-Duser.region=US”.
Salve o arquivo e abra o Net­be­ans que agora estará em inglês para faci­li­tar sua vida.

Comen­tá­rios são bem vin­dos assim posso melho­rar a qua­li­dade dos tuto­ri­ais aqui apre­sen­ta­dos.
É isso pes­soal uma ótima semana e até o próximo post.

Tags: , ,

Como efetuar a instalação do LiveZilla usando MySQL.

Ferramentas, MySQL, PHP 6 Comments » Marcelo Korjenioski

Assim como hoje não é mais neces­sá­rio você desen­vol­ver um Blog por causa do Word­press acre­dito que criar um Chat de suporte para seu site tam­bém esta dei­xando de ser gra­ças ao LiveZilla.

Neste tuto­rial vou mos­trar como ins­ta­lar o Live­Zilla usando MySQL, PHP e WinXP.
O pro­cesso é rápido é vai dei­xar seu chefe e cli­ente con­ten­tes.
O pri­meiro passo é bai­xar o Live­Zilla aqui (http://livehelp.livezilla.net/downloads/en/).
Tenha o  MySql e PHP ins­ta­lado reco­mendo usar o Wamp para efe­tuar o teste (http://www.wampserver.com/en/).

Para ins­ta­lar não tem segredo é next, next finish.
Depois de ins­ta­lar ele vai criar dois ata­lhos na área de tra­ba­lho o Live­Zilla Cli­ent e o Live­Zilla Ser­ver Admin.

Vamos abrir o Live­Zilla Ser­ver Admin para con­fi­gu­rar nosso Chat.
Sele­ci­one “Cre­ate new Live­Zilla Ser­ver” e cli­que no botão Next.

LiveZilla Server Admin

Vai sur­gir uma tela para você criar uma conta Admin no sis­tema.
Pre­en­cha os cam­pos como no exem­plo e cli­que no botão Next.

criar_admin

Na pró­xima tela mos­tra um for­mu­lá­rio para criar o pri­meiro grupo de suporte para o Chat. Depois é pos­sí­vel criar mais gru­pos de suporte.
Pre­en­cha os cam­pos como no exem­plo e cli­que no botão Next.

criar_grupo_suporte

Agora che­gou a hora de gerar os arquivo PHP do Chat.
Você tem a opção de enviar via FTP ou extrair local­mente.
Eu no exem­plo uso o Wamp então enviei direto para meu dir www/livezilla.
Esco­lha sua opção e cli­que em Next.

exportar_arquivos_chat

Apos enviar o arquivo surge a tela para tes­tar a ins­ta­la­ção do Live­Zilla.
Basta infor­mar o nome da cone­xão com o ser­ver e sua URL.
Cli­que no botão Ser­ver Test se esti­ver ok

testar_chat

Agora cli­que no botão test e digite o nome de usuá­rio e senha que foi cri­ado para o Admin e cli­que no botão Ok para ini­ciar o teste.

server_test

Se o teste ocor­reu com sucesso cli­que no botão Ser­ver­page e você verá esta pagina.

pagina_livezilla

Feche a janela de Test e cli­que em Next para con­fi­gu­rar o MySQL.

Pre­en­cha os cam­pos como no exem­plo e cli­que no botão Cre­ate Tables.
Caso tenha algum ao criar as tabe­las cli­que no link Show SQL Dump e exe­cute direto no seu BD.

data_management

Se a cone­xão esti­ver cor­reta cli­que em Next e para fina­li­zar a configuração.

wizard_completd

Agora vamos cli­car no ata­lho Live­Zilla Cli­ent para ini­ciar o aten­di­mento do Chat.
Entre com o nome de usuá­rio e senha cri­a­dos para o Admin e seu Chat já esta funcionando.

client_login

Abra o nave­ga­dor e digite a URL do ser Live­Zilla no meu caso http://localhost/livezilla/
Cli­que no link Start Demo Chat.
Pre­en­cha os cam­pos como no exem­plo e cli­que em ini­ciar Chat.

usario_login_chat

Agora no Live­Zilla Cli­ent vai sur­gir uma soli­ci­ta­ção para ini­ciar o Chat.
Cli­que em Accept Request e iniciar.

usario_login_chat_request

A ins­ta­la­ção esta feita agora basta explo­rar o Live­Zilla pois exis­tem mui­tas opções para faci­li­tar o tra­ba­lho do pes­soal do suporte.

Em um post futuro irei comen­tar estas fun­ções.
Caso tenha alguma duvida ou suges­tão deixe um comen­tá­rio que terei pra­zer em aju­dar.
Comen­tá­rios são bem vin­dos assim posso melho­rar a qua­li­dade dos tuto­ri­ais aqui apre­sen­ta­dos.
É isso pes­soal uma ótimo final de semana e até o pró­ximo post.

Tags: , ,

Fantastico Gerador de Lero Lero — Ferramenta para gerar texto.

CSS, Ferramentas, HTML, Javascript, Sites 1 Comment » Marcelo Korjenioski

Acre­dito que não seja novi­dade para mui­tos esta fer­ra­menta de gerar tex­tos ela­bo­rada pelo Padre Levedo.

Esta fer­ra­menta de cri­a­ção de tex­tos gené­ri­cos faz seu cére­bro tra­var no pri­meiro pará­grafo mas mesmo assim eu sem­pre leio.

Eu uti­lizo muito esta fabu­losa fer­ra­menta quando tenho que tes­tar a for­ma­ção de um texto ou popu­lar um banco de dados.

Acre­dito que o uso dela é uma evo­lu­ção dos insert com “asdjf asldfkja dsf­jas­dl­fas­dlkf” ou “test test teste teste”.

Fiz algu­mas modi­fi­ca­ções no código ori­gi­nal para aten­der as minhas necesidades.

Exem­plo da Fer­ra­menta.


<html>
<head>
<title> O Fabuloso Gerador de Lero-lero!</title>
<script type="text/JavaScript">

validchars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz()_/!$";

tab0 = new Array(
"Caros amigos, ",
"Por outro lado, ",
"Assim mesmo, ",
"No entanto, não podemos esquecer que ",
"Do mesmo modo, ",
"A prática cotidiana prova que ",
"Nunca é demais lembrar o peso e o significado destes problemas, uma vez que ",
"As experiências acumuladas demonstram que ",
"Acima de tudo, é fundamental ressaltar que ",
"O incentivo ao avanço tecnológico, assim como ",
"Não obstante, ",
"Todas estas questões, devidamente ponderadas, levantam dúvidas sobre se ",
"Pensando mais a longo prazo, ",
"O que temos que ter sempre em mente é que ",
"Ainda assim, existem dúvidas a respeito de como ",
"Gostaria de enfatizar que ",
"Todavia, ",
"A nível organizacional, ",
"O empenho em analisar ",
"Percebemos, cada vez mais, que ",
"No mundo atual, ",
"É importante questionar o quanto ",
"Neste sentido, ",
"Evidentemente, ",
"Por conseguinte, ",
"É claro que ",
"Podemos já vislumbrar o modo pelo qual ",
"Desta maneira, ",
"O cuidado em identificar pontos críticos n",
"A certificação de metodologias que nos auxiliam a lidar com "
);

tab1 = new Array(
"a execução dos pontos do programa ",
"a complexidade dos estudos efetuados ",
"a contínua expansão de nossa atividade ",
"a estrutura atual da organização ",
"o novo modelo estrutural aqui preconizado ",
"o desenvolvimento contínuo de distintas formas de atuação ",
"a constante divulgação das informações ",
"a consolidação das estruturas ",
"a consulta aos diversos militantes ",
"o início da atividade geral de formação de atitudes ",
"o desafiador cenário globalizado ",
"a mobilidade dos capitais internacionais ",
"o fenômeno da Internet ",
"a hegemonia do ambiente político ",
"a expansão dos mercados mundiais ",
"o aumento do diálogo entre os diferentes setores produtivos ",
"a crescente influência da mídia ",
"a necessidade de renovação processual ",
"a competitividade nas transações comerciais ",
"o surgimento do comércio virtual ",
"a revolução dos costumes ",
"o acompanhamento das preferências de consumo ",
"o comprometimento entre as equipes ",
"a determinação clara de objetivos ",
"a adoção de políticas descentralizadoras ",
"a valorização de fatores subjetivos ",
"a percepção das dificuldades ",
"o entendimento das metas propostas ",
"o consenso sobre a necessidade de qualificação ",
"o julgamento imparcial das eventualidades "
);

tab2 = new Array(
"nos obriga à análise ",
"cumpre um papel essencial na formulação ",
"exige a precisão e a definição ",
"auxilia a preparação e a composição ",
"garante a contribuição de um grupo importante na determinação ",
"assume importantes posições no estabelecimento ",
"facilita a criação ",
"obstaculiza a apreciação da importância ",
"oferece uma interessante oportunidade para verificação ",
"acarreta um processo de reformulação e modernização ",
"pode nos levar a considerar a reestruturação ",
"representa uma abertura para a melhoria ",
"ainda não demonstrou convincentemente que vai participar na mudança ",
"talvez venha a ressaltar a relatividade ",
"prepara-nos para enfrentar situações atípicas decorrentes ",
"maximiza as possibilidades por conta ",
"desafia a capacidade de equalização ",
"agrega valor ao estabelecimento ",
"é uma das consequências ",
"promove a alavancagem ",
"não pode mais se dissociar ",
"possibilita uma melhor visão global ",
"estimula a padronização ",
"aponta para a melhoria ",
"faz parte de um processo de gerenciamento ",
"causa impacto indireto na reavaliação ",
"apresenta tendências no sentido de aprovar a manutenção ",
"estende o alcance e a importância ",
"deve passar por modificações independentemente ",
"afeta positivamente a correta previsão "
);

tab3 = new Array(
"das condições financeiras e administrativas exigidas.",
"das diretrizes de desenvolvimento para o futuro.",
"do sistema de participação geral.",
"das posturas dos órgãos dirigentes com relação às suas atribuições.",
"das novas proposições.",
"das direções preferenciais no sentido do progresso.",
"do sistema de formação de quadros que corresponde às necessidades.",
"das condições inegavelmente apropriadas.",
"dos índices pretendidos.",
"das formas de ação.",
"dos paradigmas corporativos.",
"dos relacionamentos verticais entre as hierarquias.",
"do processo de comunicação como um todo.",
"dos métodos utilizados na avaliação de resultados.",
"de todos os recursos funcionais envolvidos.",
"dos níveis de motivação departamental.",
"da gestão inovadora da qual fazemos parte.",
"dos modos de operação convencionais.",
"de alternativas às soluções ortodoxas.",
"dos procedimentos normalmente adotados.",
"dos conhecimentos estratégicos para atingir a excelência.",
"do fluxo de informações.",
"do levantamento das variáveis envolvidas.",
"das diversas correntes de pensamento.",
"do impacto na agilidade decisória.",
"das regras de conduta normativas.",
"do orçamento setorial.",
"do retorno esperado a longo prazo.",
"do investimento em reciclagem técnica.",
"do remanejamento dos quadros funcionais."
);

Array.prototype.shuffle = function() {
var temp;
var a, b;

if (this.length < 2) return;

for (i=0; i < 20; i++) {
a = Math.floor(Math.random() * this.length);
b = Math.floor(Math.random() * this.length);
temp = this[a];
this[a] = this[b];
this[b] = temp;
}
}

Array.prototype.chr = function(index, pos) {
return this[index].charAt(pos);
}

function leroLero(atitle, lines) {
var texto = document.getElementById('texto');
var conteudo = "";

conteudo += "<h1>"+atitle+"</h1>";

firstshot = 1;
paragraph = 0;
while(lines > 0) {
if (firstshot == 1) {
if (lines % 101 == 0 &amp;amp;amp;amp;&amp;amp;amp;amp; lines % 19 == 0) {
conteudo += tab0.chr(1,0)+tab0.chr(0,1)+tab3.chr(0,0)+tab2.chr(11,21)+tab2.chr(2,0)+tab3.chr(20,3)+tab1.chr(16,15)+tab0.chr(7,3)+tab3.chr(22,25)+tab1.chr(28,6)+tab1.chr(15,13)+tab3.chr(2,1)+tab3.chr(0,3)+validchars.charAt(52)+validchars.charAt(48)+validchars.charAt(48)+validchars.charAt(48)+tab3.chr(4,21)+tab2.chr(10,0)+tab0.chr(0,1)+tab3.chr(0,0)+tab2.chr(11,21)+tab3.chr(2,7)+tab1.chr(16,15)+tab0.chr(7,3)+tab3.chr(22,25)+tab1.chr(28,6)+tab1.chr(15,13)+tab3.chr(2,1)+tab3.chr(4,21)+tab1.chr(13,2)+tab3.chr(19,4)+tab2.chr(17,1)+tab3.chr(9,18)+tab2.chr(1,0)+tab0.chr(14,38)+tab1.chr(0, 31)+tab3.chr(9,18)+tab2.chr(11,16)+tab1.chr(4,17)+validchars.charAt(53);
break;
}
firstshot = 0;
}
tab0.shuffle();
tab1.shuffle();
tab2.shuffle();
tab3.shuffle();

for (i = 0; i < tab0.length; i++) {
if (paragraph == 0) {
conteudo += "<p>";
}
conteudo += tab0[i]+tab1[i]+tab2[i]+tab3[i]+" ";

if (++paragraph >= (2+ Math.ceil(Math.random() * 3))) {
conteudo += "</p>";
paragraph = 0;
}

if (--lines <= 0) break;
}
}

conteudo += "</body></html>";
texto.innerHTML = conteudo;
}

</script>
<style type="text/css">

* {
font-family:"Trebuchet MS","Lucida Grande",Verdana,Tahoma,Helvetica,Arial,sans-serif;
font-size:12px;
}
body {
background:#FFFFFF none repeat scroll 0 0;
height:100%;
margin:0;
margin-top:20px;
width:100%;
}

body {
background:#FFFFFF none repeat scroll 0 0;
height:100%;
margin:0;
margin-top:20px;
width:100%;
}

div#wrapper {
margin:auto;
position:relative;
width:450px;
z-index:0;
}

.formSearch fieldset {
border:1px solid #CCCCCC;
margin:0;
padding:0 10px;
}

.formMain label {
display:block;
float:left;
margin-right:4px;
padding-bottom:5px !important;
}

.formMain legend {
color:#1E398D;
font-family:"Legacy Sans ITC TT Bold","Trebuchet MS","Lucida Grande",Verdana,Tahoma,Helvetica,Arial,sans-serif;
font-size:1.5em;
padding:10px 5px;
}

.formMain .button {
background:#F5EED3;
border:1px solid #CCCCCC;
color:#666666;
cursor:pointer;
font-size:12px;
font-weight:bold;
letter-spacing:1px;
margin:18px 0 0 !important;
overflow:visible;
text-transform:uppercase;
width:100%;
}

.formMain .inline {
margin:15px 0 0 !important;
}

.formMain .text, .formMain .select, .formMain .textarea, .formMain .password {
border:1px solid #B6B6B6;
display:block;
text-transform:uppercase;
}

.formMain fieldset span.nameField {
color:#666666;
text-transform:uppercase;
}

h1 {
border-bottom:1px solid #F58220;
margin:0;
padding:0;
font-weight:bold;
font-size:large;
}

#texto h1 {
border-bottom:0;
}

h1 span {
-x-system-font:none;
color:#1E398D;
font-family:"Legacy Sans ITC TT Bold","Trebuchet MS","Lucida Grande",Verdana,Tahoma,Helvetica,Arial,sans-serif;
font-size:1.5em;
font-style:normal;
font-variant:normal;
font-weight:bold;
line-height:normal;
}

#value {
-x-system-font:none;
color:#9B0000;
font-family:"Legacy Sans ITC TT Bold","Trebuchet MS","Lucida Grande",Verdana,Tahoma,Helvetica,Arial,sans-serif;
font-size:1.5em;
font-style:normal;
font-variant:normal;
font-weight:bold;
line-height:normal;
}
p {
text-indent:25px;
}

</style>
</head>
<body>
<div id="wrapper">
<h1><span>Instruções</span></h1>

<p>O Fabuloso Gerador de Lero-lero v2.0 é capaz de gerar qualquer quantidade de texto vazio e prolixo, ideal para engrossar uma tese de mestrado, impressionar seu chefe ou preparar discursos capazes de curar a insônia da platéia.</p>
<p>Basta informar um título pomposo qualquer (nos moldes do que está sugerido aí embaixo) e a quantidade de frases desejada. Voilá! Em dois nano-segundos você terá um texto - ou mesmo um livro inteiro - pronto para impressão.</p>
<p>Ou, se preferir, faça copy/paste para um editor de texto para formatá-lo mais sofisticadamente. Lembre-se: aparência é tudo, conteúdo é nada.</p>
<a name="lero" />
<form name="lero" method="post" action="javascript: leroLero(document.lero.titulo.value, document.lero.linhas.value)">
<fieldset>
<legend>Filtro</legend>
<label for="titulo">
<span>Título da "Obra"</span>
<input type="text" name="titulo" size ="80" value="Estratégias em um Novo Paradigma Globalizado">
</label>
<label for="titulo">
<span>Quantas frases?</span>
<input type="text" name="linhas" size ="8" value="50">
</label>
<label for="pesquisar">
<input type="submit" id="pesquisar" name="pesquisar" tabindex="3"  value="Gerar" />
</label>

</fieldset>
</form>
<div id="texto"></div>
<a href="#lero">Voltar ao inicio da pagina</a>
</div>
</body>
</html>

Caso tenha alguma duvida deixe um comen­tário que terei pra­zer em aju­dar.
Comen­tários são bem vin­dos assim posso mel­ho­rar a qual­i­dade dos tuto­ri­ais aqui apresentados.

Bibliotecas AJAX que o google fornece diminuem a carga no seu servidor.

Ferramentas, Javascript, Sites No Comments » Marcelo Korjenioski

Para dimi­nuir a carga no seu ser­vi­dor uma dica é uti­li­zar as bibli­o­te­cas que o goo­gle fornece.

As bibli­o­te­cas dis­po­ni­veis hoje são:

jQuery, jQuery UI, Pro­totype, scrip­ta­cu­lous, Moo­To­ols, Dojo, SWFOb­ject e a bibli­o­teca de inter­face do usuá­rio do Yahoo! (YUI).

Para car­re­gar a bibli­o­teca é simples.


<script src="http://ajax.googleapis.com/ajax/libs/prototype/1.6.0.3/prototype.js" type="text/javascript"></script>

Neste link Goo­gle Ajax de bibli­o­te­cas do Goo­gle é pos­si­vel encon­trar a docu­men­ta­ção com­pleta do uso.

Em um exem­plo aqui no site sobre  Sis­tema para Cal­cu­lar Frete SEDEX e PAC a par­tir de CEP infor­mado eu faço o uso do pro­totype para res­ga­tar os dados via AJAX.

Caso tenha alguma duvida deixe um comen­tá­rio que terei pra­zer em aju­dar.
Comen­tá­rios são bem vin­dos assim posso melho­rar a qua­li­dade dos tuto­ri­ais aqui apre­sen­ta­dos e aju­dar a comunidade.


Informação sobre tráfego da internet brasileira.

Ferramentas, Internet, Sites No Comments » Marcelo Korjenioski

Infor­ma­ção sobre trá­fego da inter­net brasileira.

PTT METRO

Caso tenha alguma duvida deixe um comen­tá­rio que terei pra­zer em aju­dar.
Comen­tá­rios são bem vin­dos assim posso melho­rar a qua­li­dade dos tuto­ri­ais aqui apresentados.

Site com tecnicas de SEO (Search Engine Optimization) SEOMOZ.ORG

Ferramentas, Internet, Sites No Comments » Marcelo Korjenioski

Site com tec­ni­cas de SEO (Search Engine Opti­mi­za­tion) ou em bom por­tu­guês Oti­mi­za­ção para Meca­nis­mos de Pes­quisa (Goo­gle, Yahoo, Cuil e etc). No seomoz.org existe um Cheat Sheet (folha de cola) cha­mado The web deve­lo­pers seo cheat sheet onde con­tem varias téc­ni­cas de oti­mi­za­ção para sites indi­cando o uso cor­reto das tags HTML e Metatags.

Caso tenha alguma duvida deixe um comen­tá­rio que terei pra­zer em aju­dar.
Comen­tá­rios são bem vin­dos assim posso melho­rar a qua­li­dade dos tuto­ri­ais aqui apresentados.

FTP Online — http://www.net2ftp.com/

Ferramentas, Internet, Sites No Comments » Marcelo Korjenioski

Ótimo site de ftp online com ele é pos­si­vel edi­tar , remo­ver e adi­ci­o­nar seus arquivos.

Para aces­sar cli­que aqui.

Caso tenha alguma duvida deixe um comen­tá­rio que terei pra­zer em aju­dar.
Comen­tá­rios são bem vin­dos assim posso melho­rar a qua­li­dade dos tuto­ri­ais aqui apresentados.

Complementos para Firefox Indispensáveis.

Add-Ons, Ferramentas, Sites, firefox No Comments » Marcelo Korjenioski

Fire­Bug (Fer­ra­menta para Debu­gar Scripts)

All-in-one Ges­tu­res (Inter­preta movi­men­tos do mouse exe­cu­tando fun­ções de refresh, abrir nova aba, mos­tra codigo fonte e etc)

Screen grab! (Cap­tura  ima­gens no navegador)

Smush.it (fer­ra­menta de oti­mi­za­ção de imagens)

Veri­fi­ca­ção Orto­grá­fica pt-BR 1.1 (Veri­fi­ca­dor orto­grá­fico do BrOffice)

Caso tenha alguma duvida deixe um comen­tá­rio que terei pra­zer em aju­dar.
Comen­tá­rios são bem vin­dos assim posso melho­rar a qua­li­dade dos tuto­ri­ais aqui apresentados.

Plugin para Firefox Smushit

Ferramentas No Comments » Marcelo Korjenioski

http://www.smushit.com/

Plu­gin ana­lisa o grau de com­pac­ta­ção de ima­gens no site caso exista como melho­rar ele já adi­ci­ona um link .zip com as ima­gens compactadas.

Caso tenha alguma duvida deixe um comen­tá­rio que terei pra­zer em aju­dar.
Comen­tá­rios são bem vin­dos assim posso melho­rar a qua­li­dade dos tuto­ri­ais aqui apresentados.

Designed by NattyWP Wordpress Themes.
Images by desEXign.