<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:sy="http://purl.org/rss/1.0/modules/syndication/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" version="2.0">

<channel>
	<title>Ted k'Ted k'</title>
	
	<link>http://tedk.com.br/blog</link>
	<description>Front-End, HTML / CSS, SEO, JavaScript, jQuery, iOS Developer em Salvador Bahia</description>
	<lastBuildDate>Mon, 09 Jan 2012 15:20:44 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<meta name="generator" content="Obscure 2.0" />
		<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/tedk" /><feedburner:info xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" uri="tedk" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><item>
		<title>jQuery Plugin jTabk</title>
		<link>http://tedk.com.br/blog/index.php/2012/01/09/jquery-plugin-jtabk/</link>
		<comments>http://tedk.com.br/blog/index.php/2012/01/09/jquery-plugin-jtabk/#comments</comments>
		<pubDate>Mon, 09 Jan 2012 15:18:47 +0000</pubDate>
		<dc:creator>Ted k'</dc:creator>
				<category><![CDATA[JavaScript / Ajax / DHTML]]></category>
		<category><![CDATA[jQuery Plugins]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[jquery]]></category>
		<category><![CDATA[plugin]]></category>
		<category><![CDATA[tab]]></category>
		<category><![CDATA[tabs]]></category>

		<guid isPermaLink="false">http://tedk.com.br/blog/?p=427</guid>
		<description><![CDATA[O <strong>jTabk</strong> é um plugin que criei para auxiliar a animação em <strong>Tabs</strong>.
Pode utilizar também setas para passar as <strong>Tabs</strong>, segue abaixo o dois links, com e sem setas.
É bem simples sua utilização, só é preciso seguir umas regras de formatação de classes. Clique e confira <a href="http://tedk.com.br/blog/index.php/2012/01/09/jquery-plugin-jtabk/"><br />Continue Lendo <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>O <strong>jTabk</strong> é um plugin que criei para auxiliar a animação em <strong>Tabs</strong>.<br />
Pode utilizar também setas para passar as <strong>Tabs</strong>, segue abaixo o dois links, com e sem setas.</p>
<p>É bem simples sua utilização, só é preciso seguir umas regras de formatação de classes. Veja o link da aplicação <strong><a href="http://tedk.com.br/blog/images_extras/jtabk/tab/" target="_blank">DEMO</a></strong></p>
<p>Agora veja o link com setas: <strong><a href="http://tedk.com.br/blog/images_extras/jtabk/tab-pagination/" target="_blank">DEMO</a></strong></p>
<p><strong>Navegadores: IE7+ / FF4+ / Chrome / Safari / Opera</strong></p>
<p>Pra chamar a função identifique primeiro o <strong>ID</strong> do <strong>Tab</strong> que irá ser utilizado.</p>
<pre name="code" class="javascript">
$(&quot;#jtabk&quot;).jtabk();
</pre>
<p>Vamos ver agora o HTML:</p>
<pre name="code" class="html">
&lt;div id=&quot;jtabk&quot;&gt;
  &lt;ul id=&quot;jtabk-menu&quot;&gt;
      &lt;li&gt;Tab 1&lt;/li&gt;
      &lt;li&gt;Tab 2&lt;/li&gt;
      &lt;li&gt;Tab 3&lt;/li&gt;
      &lt;li&gt;Tab 4&lt;/li&gt;
  &lt;/ul&gt;
  &lt;div class=&quot;jtabk-panel jtabk-active&quot;&gt;1 There are many variations of passages of Lorem Ipsum available, but the majority have suffered alteration in some form, by injected humour, or randomised words which don&#039;t look even slightly believable.&lt;/div&gt;

  &lt;div class=&quot;jtabk-panel&quot;&gt;2 If you are going to use a passage of Lorem Ipsum, you need to be sure there isn&#039;t anything embarrassing hidden in the middle of text. All the Lorem Ipsum generators on the Internet tend to repeat predefined chunks as necessary, making this the first true generator on the Internet. It uses a dictionary of over 200 Latin words, combined with a handful of model sentence structures, to generate Lorem Ipsum which looks reasonable. The generated Lorem Ipsum is therefore always free from repetition, injected humour, or non-characteristic words etc.&lt;/div&gt;

  &lt;div class=&quot;jtabk-panel&quot;&gt;3 All the Lorem Ipsum generators on the Internet tend to repeat predefined chunks as necessary, making this the first true generator on the Internet. It uses a dictionary of over 200 Latin words, combined with a handful of model sentence structures, to generate Lorem Ipsum which looks reasonable. The generated Lorem Ipsum is therefore always free from repetition, injected humour, or non-characteristic words etc.&lt;/div&gt;

  &lt;div class=&quot;jtabk-panel&quot;&gt;4 It is a long established fact that a reader will be distracted by the readable content of a page when looking at its layout. The point of using Lorem Ipsum is that it has a more-or-less normal distribution of letters, as opposed to using &#039;Content here, content here&#039;, making it look like readable English. Many desktop.&lt;/div&gt;
&lt;/div&gt;
</pre>
<p>Vamos para as partes obrigatórias do Plugin:<br />
 &#8211; O ID <strong>jtabk-menu</strong> e na lista UL e as classes <strong>jtabk-panel</strong> no corpo da <strong>Tab</strong> são obrigatórias.<br />
- A classe <strong>jtabk-active</strong> marca a Tab atual. (É fundamental essa classe no código; você pode colocar ela em qualquer Tab, sendo assim a primeira a ser mostrada.)</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p><strong>DOCUMENTAÇÃO</strong><br />
1. Para ativar os setas você precisa adicionar alguns parâmetros no Plugin:</p>
<pre name="code" class="javascript">
$(&quot;#jtabk&quot;).jtabk({
    arrows: {left: &quot;&quot;, right: &quot;&quot;}
});
</pre>
<p>1.2. Nos parâmetros você pode colocar <strong>ID</strong> ou <strong>class</strong>, no caso foram utlizados IDs, veja exemplo:</p>
<pre name="code" class="javascript">
$(&quot;#jtabk&quot;).jtabk({
    arrows: {left: &quot;#left&quot;, right: &quot;#right&quot;}
});
</pre>
<p>Veja o HTML:</p>
<pre name="code" class="javascript">
&lt;div id=&quot;setas&quot;&gt;
    &lt;a href=&quot;javascript:;&quot; id=&quot;left&quot;&gt;&lt;img src=&quot;imgs/left.png&quot;&gt;&lt;/a&gt;
    &lt;a href=&quot;javascript:;&quot; id=&quot;right&quot;&gt;&lt;img src=&quot;imgs/right.png&quot;&gt;&lt;/a&gt;
&lt;/div&gt;
</pre>
<p>Segue o Código Completo das <strong>Tabs</strong> simples: <strong><a href="http://tedk.com.br/blog/images_extras/jtabk/tab/" target="_blank">DEMO</a></strong><br />
Download do código Tab: <strong><a href="http://tedk.com.br/blog/images_extras/jtabk/tab/arquivo.zip" target="_blank">LINK</a></strong></p>
<p>Segue o Código Completo das <strong>Tabs</strong> com Setas: <strong><a href="http://tedk.com.br/blog/images_extras/jtabk/tab-pagination/" target="_blank">DEMO</a></strong><br />
Download do código Tab com setas: <strong><a href="http://tedk.com.br/blog/images_extras/jtabk/tab-pagination/arquivo.zip" target="_blank">LINK</a></strong></p>
<p><strong>DOWNLOAD</strong> do jTabk Versão: 1.0<br />
<strong><a href="http://tedk.com.br/blog/images_extras/jtabk/tab/jtabk.js" target="_blank">Minified</a></strong> e <strong><a href="http://tedk.com.br/blog/images_extras/jtabk/jtabk-original.js" target="_blank">Uncompressed Code</a></strong></p>
<p><strong>Navegadores: IE7+ / FF4+ / Chrome / Safari / Opera</strong></p>
]]></content:encoded>
			<wfw:commentRss>http://tedk.com.br/blog/index.php/2012/01/09/jquery-plugin-jtabk/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Autenticando Facebook com ASP</title>
		<link>http://tedk.com.br/blog/index.php/2011/09/06/autenticando-facebook-com-asp/</link>
		<comments>http://tedk.com.br/blog/index.php/2011/09/06/autenticando-facebook-com-asp/#comments</comments>
		<pubDate>Tue, 06 Sep 2011 18:29:24 +0000</pubDate>
		<dc:creator>Ted k'</dc:creator>
				<category><![CDATA[ASP]]></category>
		<category><![CDATA[autenticação]]></category>
		<category><![CDATA[autentication]]></category>
		<category><![CDATA[facebook]]></category>
		<category><![CDATA[JSON]]></category>
		<category><![CDATA[login]]></category>
		<category><![CDATA[programador asp]]></category>
		<category><![CDATA[user]]></category>

		<guid isPermaLink="false">http://tedk.com.br/blog/?p=395</guid>
		<description><![CDATA[Um código grande mais completo para autenticar uma APP do Facebook com ASP.
Você vai precisar de uma função de base64, eu adicionei a de Encode e Decode, caso precisem em outros projetos. <a href="http://tedk.com.br/blog/index.php/2011/09/06/autenticando-facebook-com-asp/"><br />Continue Lendo <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Olá galera, vou mostrar como usar <strong>ASP</strong> para autenticar sua aplicação no <strong>Facebook</strong>.</p>
<p>Precisamos de dois arquivos fundamentais:</p>
<p>Arquivo de Função de acesso ao <strong>Facebook</strong> (achei na net, não lembro o autor, mais não tirei o cabeçalho): <strong><a href="http://tedk.com.br/blog/images_extras/facebook-asp/fb_app.asp.txt" target="_blank">LINK</a></strong></p>
<p>Arquivo de configuração <strong>jSON</strong> para <strong>ASP</strong> (retirado do site oficial do jSON: <strong><a href="http://tedk.com.br/blog/images_extras/facebook-asp/json2.asp.txt" target="_blank">LINK</a></strong>.</p>
<p>Você vai precisar de uma função de base64, eu adicionei a de Encode e Decode, caso precisem em outros projetos.</p>
<p>Você precisa adicionar o ID da sua aplicação, A URL de retorno (não precisa mudar a query que coloquei, facilita a autenticação em um arquivo só), e as permissões em sequencia (isso você acha no facebook developer).</p>
<p>Eu salvei tudo em Session, o token, o signed request e o ID do usuário do facebook:</p>
<pre name="code" class="vb">

set user = JSON.parse(base64Decode(playload))
session(&quot;signed_request&quot;) = request(&quot;signed_request&quot;)
session(&quot;oauth_token&quot;) = user.oauth_token
session(&quot;id_atual&quot;) = user.user_id
response.redirect(&quot;pagina.asp&quot;)
</pre>
<p>E Adicionei um Redirect para quando estiver autenticado:</p>
<p>Segue o Código completo:</p>
<pre name="code" class="vb">

&lt;script language=&quot;javascript&quot; runat=&quot;server&quot; src=&quot;json2.asp&quot;&gt;&lt;/script&gt;
&lt;!-- #include file=&quot;fb_app.asp&quot; --&gt;
&lt;%
session.lcid = 1046
session.timeOut = 1440
server.scriptTimeOut = 999999999

if (request.QueryString(&quot;logar&quot;) = &quot;&quot;) then
	main
	function main
		dim strJSON
		dim URL
		dim sToken
		dim user
		dim loc

		set cookie = get_facebook_cookie( FACEBOOK_APP_ID, FACEBOOK_SECRET )
		if cookie.count &gt; 0 then
			response.write &quot;Logado... Ok! &lt;br/&gt;&quot;
			sToken = cookie(&quot;access_token&quot;)
			url = &quot;https://graph.facebook.com/me?access_token=&quot; &amp; sToken
			strJSON = get_page_contents(URL) 

			set user = JSON.parse(strJSON)
			response.write cookie(&quot;access_token&quot;)
		else
			link = &quot;http://www.facebook.com/dialog/oauth?client_id=ID_DA_SUA_APLICAÇÃO&amp;redirect_uri=&quot;&amp;server.URLEncode(&quot;http://apps.facebook.com/NOME_DA_MINHA_APP/autenticacao.asp?logar=ok&quot;)&amp;&quot;&amp;scope=offline_access,user_location,email,publish_stream,user_birthday,read_friendlists&quot;
			response.write(&quot;&lt;script&gt;top.location.href=&#039;&quot; &amp; link &amp; &quot;&#039;;&lt;/script&gt;&quot;)
		end if
	end function
else
	const BASE_64_MAP_INIT =&quot;ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/&quot;
	dim nl
	dim Base64EncMap(63)
	dim Base64DecMap(127)

	public sub initCodecs()
		nl = &quot;&lt;P&gt;&quot; &amp; chr(13) &amp; chr(10)
		dim max, idx
		   max = len(BASE_64_MAP_INIT)
		for idx = 0 to max - 1
			 Base64EncMap(idx) = mid(BASE_64_MAP_INIT, idx + 1, 1)
		next
		for idx = 0 to max - 1
			 Base64DecMap(asc(Base64EncMap(idx))) = idx
		next
	end sub

	public function base64Encode(plain)
		if len(plain) = 0 then
			 base64Encode = &quot;&quot;
			 exit function
		end if
		dim ret, ndx, by3, first, second, third
		by3 = (len(plain) \ 3) * 3
		ndx = 1
		do while ndx &lt;= by3
			 first  = asc(mid(plain, ndx + 0, 1))
			 second = asc(mid(plain, ndx + 1, 1))
			 third  = asc(mid(plain, ndx + 2, 1))
			 ret = ret &amp; Base64EncMap((first \ 4) and 63)
			 ret = ret &amp; Base64EncMap(((first * 16) and 48) + ((second \ 16) and 15))
			 ret = ret &amp; Base64EncMap(((second * 4) and 60) + ((third \ 64) and 3))
			 ret = ret &amp; Base64EncMap(third and 63)
			 ndx = ndx + 3
		loop
		if by3 &lt; len(plain) then
			 first  = asc(mid(plain, ndx + 0, 1))
			 ret = ret &amp; Base64EncMap((first \ 4) and 63)
			 if (len(plain) MOD 3) = 2 then
				  second = asc(mid(plain, ndx+1, 1))
				  ret = ret &amp; Base64EncMap(((first * 16) and 48) + ((second \ 16) and 15))
				  ret = ret &amp; Base64EncMap(((second * 4) and 60))
			 else
				  ret = ret &amp; Base64EncMap((first * 16) and 48)
				  ret = ret &amp; &quot;=&quot;
			 end if
			 ret = ret &amp; &quot;=&quot;
		end if
		base64Encode = ret
	end function

	public function base64Decode(scrambled)
		if len(scrambled) = 0 then
			 base64Decode = &quot;&quot;
			 exit function
		end if
		dim realLen
		realLen = len(scrambled)
		do while mid(scrambled, realLen, 1) = &quot;=&quot;
			 realLen = realLen - 1
		loop
		dim ret, ndx, by4, first, second, third, fourth
		ret = &quot;&quot;
		by4 = (realLen \ 4) * 4
		ndx = 1
		do while ndx &lt;= by4
			 first  = Base64DecMap(asc(mid(scrambled, ndx+0, 1)))
			 second = Base64DecMap(asc(mid(scrambled, ndx+1, 1)))
			 third  = Base64DecMap(asc(mid(scrambled, ndx+2, 1)))
			 fourth = Base64DecMap(asc(mid(scrambled, ndx+3, 1)))
			 ret = ret &amp; chr(((first * 4) and 255) + ((second \ 16) and 3))
			 ret = ret &amp; chr(((second * 16) and 255) + ((third \ 4) and 15))
			 ret = ret &amp; chr(((third * 64) and 255) + (fourth and 63))
			 ndx = ndx + 4
		loop
		if ndx &lt; realLen then
			 first  = Base64DecMap(asc(mid(scrambled, ndx+0, 1)))
			 second = Base64DecMap(asc(mid(scrambled, ndx+1, 1)))
			 ret = ret &amp; chr(((first * 4) and 255) + ((second \ 16) and 3))
			 if realLen mod 4 = 3 then
				  third = Base64DecMap(asc(mid(scrambled,ndx+2,1)))
				  ret = ret &amp; chr(((second * 16) and 255) + ((third \ 4) and 15))
			 end if
		end if
		base64Decode = ret
	end function
	call initCodecs

	splitvar = split(request(&quot;signed_request&quot;), &quot;.&quot;)
	encoded_sig = splitvar(0)
	playload = splitvar(1)

	set user = JSON.parse(base64Decode(playload))
	session(&quot;signed_request&quot;) = request(&quot;signed_request&quot;)
	session(&quot;oauth_token&quot;) = user.oauth_token
	session(&quot;id_atual&quot;) = user.user_id
	response.redirect(&quot;animacao.asp&quot;)
end if
%&gt;
</pre>
]]></content:encoded>
			<wfw:commentRss>http://tedk.com.br/blog/index.php/2011/09/06/autenticando-facebook-com-asp/feed/</wfw:commentRss>
		<slash:comments>11</slash:comments>
		</item>
		<item>
		<title>jQuery Plugin Plus Validate</title>
		<link>http://tedk.com.br/blog/index.php/2011/08/26/jquery-plugin-plus-validate/</link>
		<comments>http://tedk.com.br/blog/index.php/2011/08/26/jquery-plugin-plus-validate/#comments</comments>
		<pubDate>Fri, 26 Aug 2011 13:51:01 +0000</pubDate>
		<dc:creator>Ted k'</dc:creator>
				<category><![CDATA[HTML]]></category>
		<category><![CDATA[JavaScript / Ajax / DHTML]]></category>
		<category><![CDATA[jQuery Plugins]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[jquery]]></category>
		<category><![CDATA[plugin]]></category>
		<category><![CDATA[Validação]]></category>
		<category><![CDATA[validate]]></category>

		<guid isPermaLink="false">http://tedk.com.br/blog/?p=387</guid>
		<description><![CDATA[O <strong>Plus Validate</strong> é Plugin jQuery que valida campos de um modo simples e objetivo e que está na <strong>versão 1.1</strong>!
Com esse plugin você pode validar:
- Se o campo for vazio:
- O mínimo de caracteres para esse campo e colocando uma mensagem de alerta:
- Forçar o usuário a digitar se o campo tem só números:
- Verificar se o E-mail é um endereço eletrônico.

<strong><em>Veja também no site oficial do jQuery:
<a href="http://plugins.jquery.com/project/plusvalidate" target="_blank">http://plugins.jquery.com/project/plusvalidate</a></em></strong>

Navegadores: IE7+ / FF4+ / Chrome / Safari / Opera
 <a href="http://tedk.com.br/blog/index.php/2011/08/26/jquery-plugin-plus-validate/"><br />Continue Lendo <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>O <strong>Plus Validate</strong> é Plugin jQuery que valida campos de um modo simples e objetivo.</p>
<p>Segue avaliação: <strong><a href="http://tedk.com.br/blog/images_extras/plusvalidate/" target="_blank">DEMO</a></strong></p>
<p><strong>Navegadores: IE7+ / FF4+ / Chrome / Safari / Opera</strong></p>
<p><strong><em>Veja também no site oficial do jQuery:<br />
<a href="http://plugins.jquery.com/project/plusvalidate" target="_blank">http://plugins.jquery.com/project/plusvalidate</a></em></strong></p>
<p>Com esse plugin você pode validar:<br />
<strong>- Se o campo for vazio:<br />
- O mínimo de caracteres para esse campo e colocando uma mensagem de alerta:<br />
- Forçar o usuário a digitar se o campo tem só números:<br />
- Verificar se o E-mail é um endereço eletrônico.</strong></p>
<p>Pra chamar a função identifique primeiro o <strong>ID</strong> do formulário que irá ser utilizado.</p>
<pre name="code" class="javascript">

$(&quot;#meu_formulario&quot;).plusvalidate();
</pre>
<p>Dentro da função <strong>.plusvalidate();</strong> você passa os parâmetros necessario. Vamos ver um exemplo:</p>
<pre name="code" class="javascript">

$(function(){
    $(&quot;#meu_formulario&quot;).plusvalidate({
        animation: {
            type : &quot;alert&quot;
        },

        cname: {
            message: &quot;Preencha o campo Nome&quot;
        },

        cemail: {
            message: &quot;Preencha o campo Email&quot;,
            required: &quot;email&quot;,
            requiredMessage: &quot;Esse campo precisa ter um email eletronico&quot;
        }
    });
});
</pre>
<p>Segue o HTML</p>
<pre name="code" class="html">

&lt;form id=&quot;meu_formulario&quot;&gt;
    &lt;p&gt;
        &lt;label&gt;Nome&lt;/label&gt;
        &lt;input type=&quot;text&quot; name=&quot;cname&quot; /&gt;
    &lt;p&gt;
        &lt;label&gt;E-Mail&lt;/label&gt;
        &lt;input type=&quot;text&quot; name=&quot;cemail&quot; /&gt;
    &lt;/p&gt;
    &lt;p&gt;
        &lt;label&gt;Comentário&lt;/label&gt;
        &lt;textarea name=&quot;comment&quot;&gt;&lt;/textarea&gt;
    &lt;/p&gt;
    &lt;p&gt;&lt;input class=&quot;submit&quot; type=&quot;submit&quot; value=&quot;Submit&quot;/&gt;&lt;/p&gt;
&lt;/form&gt;
</pre>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p><strong>DOCUMENTAÇÃO</strong><br />
1. Para adicionar os campos na validação é simples, basta ter o <strong>name</strong> do campo desejado e colocar na função, separado por vírgula, logo após o <strong>animation</strong></p>
<pre name="code" class="javascript">

cname: {

},
cemail: {

}
</pre>
<p>O <strong>&#8220;cname&#8221;</strong> e o <strong>&#8220;cemail&#8221;</strong> seriam os <strong>names</strong> dos campos &#8220;Nome&#8221; e &#8220;E-mail&#8221; do formulário</p>
<p>1.2. Validar se o campo for vazio: use o <strong>&#8220;message&#8221;</strong>:</p>
<pre name="code" class="javascript">

cname: {
	message: &quot;Preencha o campo Nome&quot;
}
</pre>
<p>1.3. Use o parâmetro <strong>&#8220;required&#8221;</strong> para validar um campo, seguido de uma mensagem usando o <strong>&#8220;requiredMessage&#8221;</strong>:</p>
<pre name="code" class="javascript">

cemail: {
    required: &quot;email&quot;,
    requiredMessage: &quot;Esse campo precisa ter um email eletronico&quot;
}
</pre>
<p>OBS: O parâmetro <strong>&#8220;required&#8221;</strong> pode validar os sequintes parâmetros:<br />
<strong>- email (Verifica se o e-mail é válido)<br />
- number (Verifica se existem só números no campo)<br />
- checkbox (Valida se está marcado um checkbox)<br />
- radio (Valida se está marcado um radio)<br />
- textarea (Valida um Textarea)<br />
- select (Valida se está selecionado algum valor no combo)</strong></p>
<p>Ex 1:</p>
<pre name="code" class="javascript">

ctermos: {
    required: &quot;checkbox&quot;,
    requiredMessage: &quot;Você precisa aceitar os termos para continuar&quot;
}
</pre>
<p>Ex 2:</p>
<pre name="code" class="javascript">

cnumero: {
    required: &quot;number&quot;,
    requiredMessage: &quot;Esse campo só aceita números&quot;
}
</pre>
<p>1.4. Existem campos que você pode colocar o o mínimo de caracteres desejados, para isso use o parâmetro <strong>&#8220;min&#8221;</strong> seguido da mensagem com o <strong>&#8220;minMessage&#8221;</strong>:</p>
<pre name="code" class="javascript">

clogin: {
    min: 3,
	minMessage: &quot;Esse campo não pode ter menos de 3 caracteres&quot;
}
</pre>
<p>2. Para colocar um estilo de validação no formulário use o parâmetro <strong>animation</strong>, que recebe o <strong>type</strong> com 5 tipos: </p>
<p>2.1. <strong>type: &#8220;alert&#8221;</strong><br />
Ativa um alerta comum na página. O alerta passa campo por campo.<br />
Ex:</p>
<pre name="code" class="javascript">

animation: {
	type : &quot;alert&quot;
}
</pre>
<p>2.2. <strong>type: &#8220;allalert&#8221;</strong><br />
Ativa um alerta comum na página dizendo todos os campos que estão faltando preencher e tuas devidas propriedades.</p>
<pre name="code" class="javascript">

animation: {
	type : &quot;allalert&quot;
}
</pre>
<p>2.3. <strong>type: &#8220;star&#8221;</strong><br />
Mostra um estrela (asterístico) ao lado do campo dentro de uma TAG <strong>span</strong> com uma classe chamada <strong>plusvalidate-star</strong>. Você pode mudar o estilo dessa classe através de um <strong>CSS</strong> comum, um estilo.</p>
<pre name="code" class="javascript">

animation: {
	type : &quot;star&quot;
}
</pre>
<p>2.4. <strong>type: &#8220;allstar&#8221;</strong><br />
Segue o mesmo padrão do <strong>type: &#8220;star&#8221;</strong>, porém aparecem todas de vez. Também criam um <strong>span</strong> com classe e pode ser manipulado.</p>
<pre name="code" class="javascript">

animation: {
	type : &quot;allstar&quot;
}
</pre>
<p>2.5. <strong>type: &#8220;animate&#8221;</strong><br />
Cria uma animação de &#8220;balanço&#8221; nos campos e deixa uma borda sinalizando o alerta. É a única validação que passa outros parâmetros, de cor da borda e de velocidade da animação. <strong>Não é obrigatório</strong> pois já vem como default a cor &#8220;<strong>#F00</strong>&#8221; (vermelho) e velocidade &#8220;<strong>50</strong>&#8221;<br />
<strong>Ex:</strong></p>
<pre name="code" class="javascript">

animation: {
	type : &quot;animate&quot;,
    color: &quot;#369&quot;,
    duraction: 100
}
</pre>
<p><strong>OBS:</strong> O duraction seria igual ao jQuery, pode usar acima de 10 para melhor efeito.<br />
<strong>OBS:</strong> <del datetime="2011-10-03T17:13:45+00:00">O campo de <strong>select</strong> não cria efeito e nem marca.</del> <strong>(disponíveis agora na versão 1.1)</strong> Os campos de <strong>checkbox</strong> e de <strong>radio</strong> não marcam, mais criam o efeito.</p>
<p>Segue abaixo um completo: <strong><a href="http://tedk.com.br/blog/images_extras/plusvalidate/" target="_blank">DEMO</a></strong><br />
Faça o <strong><a href="http://tedk.com.br/blog/images_extras/plusvalidate/plusvalidate-1.1.zip" target="_blank">DOWNLOAD</a></strong> do Plugin 1.1.</p>
<p>DOWNLOAD do Plus Validate Versão: <strong>1.1</strong><br />
<a href="http://tedk.com.br/blog/images_extras/plusvalidate/plusvalidate-1.1.js" target="_blank"><strong>Minified</strong></a> e <a href="http://tedk.com.br/blog/images_extras/plusvalidate/plusvalidate-original-1.1.js" target="_blank"><strong>Uncompressed Code</strong></a></p>
<p>DOWNLOAD do Plus Validate Versão: <strong>1.0</strong><br />
<a href="http://tedk.com.br/blog/images_extras/plusvalidate/plusvalidate.js" target="_blank"><strong>Minified</strong></a> e <a href="http://tedk.com.br/blog/images_extras/plusvalidate/plusvalidate-original.js" target="_blank"><strong>Uncompressed Code</strong></a></p>
<p><strong><em>Veja também no site oficial do jQuery:<br />
<a href="http://plugins.jquery.com/project/plusvalidate" target="_blank">http://plugins.jquery.com/project/plusvalidate</a></em></strong></p>
<p><strong>Navegadores: IE7+ / FF4+ / Chrome / Safari / Opera</strong></p>
]]></content:encoded>
			<wfw:commentRss>http://tedk.com.br/blog/index.php/2011/08/26/jquery-plugin-plus-validate/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>jQuery Plugin DivBox</title>
		<link>http://tedk.com.br/blog/index.php/2011/08/19/plugin-divbox/</link>
		<comments>http://tedk.com.br/blog/index.php/2011/08/19/plugin-divbox/#comments</comments>
		<pubDate>Fri, 19 Aug 2011 18:31:36 +0000</pubDate>
		<dc:creator>Ted k'</dc:creator>
				<category><![CDATA[JavaScript / Ajax / DHTML]]></category>
		<category><![CDATA[jQuery Plugins]]></category>
		<category><![CDATA[box]]></category>
		<category><![CDATA[div]]></category>
		<category><![CDATA[janela modal]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[jquery]]></category>
		<category><![CDATA[lightbox]]></category>
		<category><![CDATA[máscara]]></category>
		<category><![CDATA[mask]]></category>
		<category><![CDATA[plugin]]></category>

		<guid isPermaLink="false">http://tedk.com.br/blog/?p=380</guid>
		<description><![CDATA[Plugin que abre uma Janela Modal estilizada para melhor design em suas páginas. Essa Janela segue o scroll para baixo ou para cima, não precisar estar em um local fixo na tela.
Documentação e Exemplos seguem também nesse post.

<strong><em>Veja também no site oficial do jQuery:
<a href="http://plugins.jquery.com/project/divbox-for-tedk" target="_blank">http://plugins.jquery.com/project/divbox-for-tedk</a></em></strong>

Navegadores: IE7+ / FF4+ / Chrome / Safari / Opera <a href="http://tedk.com.br/blog/index.php/2011/08/19/plugin-divbox/"><br />Continue Lendo <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Criei esse Plugin jQuery para abrir uma Div como uma Janela Modal.<br />
Para usar o Plugin DivBox é bem simples. Siga os passos abaixo:</p>
<p><strong>Nessa versão, a Janela Modal acompanha o scroll.</strong></p>
<p>Segue o link do <a href="http://tedk.com.br/blog/images_extras/divbox/" target="_blank"><strong>DEMO</strong></a></p>
<p><strong>Navegadores: IE7+ / FF4+ / Chrome / Safari / Opera</strong></p>
<p><strong><em>Veja também no site oficial do jQuery:<br />
<a href="http://plugins.jquery.com/project/divbox-for-tedk" target="_blank">http://plugins.jquery.com/project/divbox-for-tedk</a></em></strong></p>
<p>1. Adicione ele a div que precisa do efeito: Esse efeito será acionado assim que a página for carregada.<br />
OBS: A div precisa estar oculta, usando um display: none; no CSS</p>
<pre name="code" class="javascript">

$(function(){
    $(&quot;#teste&quot;).divbox();
});  
</pre>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>2. <strong>DOCUMENTAÇÃO</strong>:<br />
2.1: Para adiconar cor ao fundo da máscara use o parâmetro &#8220;color&#8221;:</p>
<pre name="code" class="javascript">

$(function(){
    $(&quot;#teste&quot;).divbox({
        color: &quot;#C33&quot;
    });
}); 
</pre>
<p>OBS: A Cor default do plugin é &#8220;#000&#8243; (Preto)</p>
<p>2.2: Para aumentar a diminuir a opacidade da máscara use o parâmetro &#8220;opacity&#8221;: (DICA: &#8220;de 0.1 a 0.9&#8243;)</p>
<pre name="code" class="javascript">

$(function(){
    $(&quot;#teste&quot;).divbox({
        opacity: 0.5
    });
});
</pre>
<p>OBS: Por padrão a Opacidade é &#8220;0.8&#8243;</p>
<p>2.3: Para retirar o link de fechar da máscara, mude o parâmetro &#8220;clickBackground&#8221; para false:</p>
<pre name="code" class="javascript">

$(function(){
    $(&quot;#teste&quot;).divbox({
        clickBackground: false
    });
});  
</pre>
<p>2.4: Para adicionar uma funcionalidade de fechar a máscara em algum elemento da página, basta passar o ID ou Class do elemento para o parâmetro &#8220;close&#8221;:</p>
<pre name="code" class="javascript">

$(function(){
    $(&quot;#teste&quot;).divbox({
        close: &quot;#fechar&quot;
    });
});
</pre>
<pre name="code" class="html">

&lt;a href=&quot;javascript:&quot; id=&quot;clicar&quot;&gt;Clique aqui para abrir a DIV&lt;/a&gt;

&lt;div id=&quot;teste&quot;&gt;
	&lt;h2&gt;Minha Div atual.&lt;/h2&gt;
	&lt;br /&gt;
	&lt;a href=&quot;javascript:;&quot; id=&quot;fechar&quot;&gt;Clique aqui para fechar!&lt;/a&gt;
&lt;/div&gt;  
</pre>
<p>2.5: O Plugin DivBox já vem com uma div default centralizada, mais você pode otimizar, colocando o estilo de sua div dentro do plugin. Para isso, use uma classe como mostra o exemplo:</p>
<pre name="code" class="javascript">

$(function(){
    $(&quot;#teste&quot;).divbox({
        class: &quot;div_teste&quot;
    });
}); 
</pre>
<p>Veja o Código completo e o exemplo:</p>
<pre name="code" class="javascript">

$(function(){
    $(&quot;#clicar&quot;).click(function(){
        $(&quot;#teste&quot;).divbox({
            color: &quot;#C33&quot;,
            opacity: 0.9,
            clickBackground: false,
            close: &quot;#fechar&quot;
        });
    });
}); 
</pre>
<p>Segue exemplo: <a href="http://tedk.com.br/blog/images_extras/divbox/" target="_blank"><strong>DEMO</strong></a><br />
Faça o <a href="http://tedk.com.br/blog/images_extras/divbox/divbox.rar" target="_blank"><strong>DOWNLOAD</strong></a> do Plugin 1.0.</p>
<p>DOWNLOAD do Plus Validate Versão: 1.0<br />
<a href="http://tedk.com.br/blog/images_extras/divbox/divbox.js" target="_blank"><strong>Minified</strong></a> e <a href="http://tedk.com.br/blog/images_extras/divbox/divbox-original.js" target="_blank"><strong>Uncompressed Code</strong></a></p>
<p><strong><em>Veja também no site oficial do jQuery:<br />
<a href="http://plugins.jquery.com/project/divbox-for-tedk" target="_blank">http://plugins.jquery.com/project/divbox-for-tedk</a></em></strong></p>
<p><strong>Navegadores: IE7+ / FF4+ / Chrome / Safari / Opera</strong></p>
]]></content:encoded>
			<wfw:commentRss>http://tedk.com.br/blog/index.php/2011/08/19/plugin-divbox/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Objective-C e Xcode: Google Maps no iPhone e iPad</title>
		<link>http://tedk.com.br/blog/index.php/2011/05/21/objective-c-e-xcode-google-maps-no-iphone-e-ipad/</link>
		<comments>http://tedk.com.br/blog/index.php/2011/05/21/objective-c-e-xcode-google-maps-no-iphone-e-ipad/#comments</comments>
		<pubDate>Sat, 21 May 2011 04:31:03 +0000</pubDate>
		<dc:creator>Ted k'</dc:creator>
				<category><![CDATA[iPhone/iPad]]></category>
		<category><![CDATA[ipad]]></category>
		<category><![CDATA[iphone]]></category>
		<category><![CDATA[ipod]]></category>
		<category><![CDATA[objective-c]]></category>
		<category><![CDATA[xcode]]></category>

		<guid isPermaLink="false">http://tedk.com.br/blog/?p=339</guid>
		<description><![CDATA[Nesse artigo estarei mostrando como usar MapKit.framework nativo do Xcode e também utilizar o Segmented Control. Estou utilizando a versão do 3.2.6 do Xcode mais creio que com algumas versões anteriores pode funcionar também. Primeiro vamos criar um projeto utilizando a opção View-based Application e dar o nome de Google Maps. <a href="http://tedk.com.br/blog/index.php/2011/05/21/objective-c-e-xcode-google-maps-no-iphone-e-ipad/"><br />Continue Lendo <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Olá galera vou mostrar como usar o GoogleMaps em suas aplicações para iPhone/iPad.<br />
Nesse artigo estarei mostrando como usar MapKit.framework nativo do Xcode e também utilizar o Segmented Control.<br />
Estou utilizando a versão do 3.2.6 do Xcode mais creio que com algumas versões anteriores pode funcionar também.<br />
Primeiro vamos criar um projeto utilizando a opção View-based Application e dar o nome de Google Maps.</p>
<p><img src="http://tedk.com.br/blog/wp-content/uploads/2011/05/imagem-01.jpg" /></p>
<p>Clique com o botão direito do mouse em cima da pasta Frameworks e siga para Add > Existing Frameworks. Procure por MapKit.framework, selecione e clique no botão Add. O MapKit.framework irá aparecer dentro da pasta Frameworks</p>
<p>Feito isso, vamos agora criar os métodos necessários para nossa aplicação rodar. Vá até a pasta Class e clique no arquivo Google_MapsViewController.h. É nele que vamos criar nosso diretrizes e principalmente importar o MapKit.framework, vamos seguir o passo-a-passo abaixo.</p>
<pre name="code" class="javascript">

#import &lt;UIKit/UIKit.h&gt;
#import &lt;MapKit/MapKit.h&gt;

@interface Google_MapsViewController : UIViewController {

    MKMapView *verMapa;

}

@property (nonatomic, retain)IBOutlet MKMapView *controleMapa;

- (IBAction)controleMapa:(id)sender;

@end
</pre>
<p>Repare que importei a biblioteca e crie um botão controleMapa que sera um Segmented Control e também foi criado a MKMapView, chamada de verMapa.</p>
<p>Reconhecendo todo o ambiente de trabalho do Xcode vamos para a pasta que cor lilas chamada Interface Builder Files e dar duplo click no arquivo Google_MapsViewController.xib, com isso o Interface Builder é aberto e nossa tela de edição fica em evidência.</p>
<p>Em nossa Library vamos arrastar uma Toolbar e retirar o botão default, no lugar do botão retirado vamos arrastar o Segmented Control, ele vêm com dois botões mais vamos colocar três (logo em seguida irei mostrar como editar e colocar os valores dentro dele) que vem e depois arrastar uma Map View e joga ela acima, ficando assim:</p>
<p><img src="http://tedk.com.br/blog/wp-content/uploads/2011/05/imagem-02.jpg" /></p>
<p>Para editar as configurações de um Segmented Control você tem que clicar nele, ir para aba Attributes, onde tem a opção Segments: 2 você troca por 3 e terá um combo com três opções: Segment 0, Segment 1 e Segment 2, abaixo dele existe um campo Title, é nele que você vai editar os valores do campo, veja como ficou na imagem abaixo:</p>
<p>Clique na imagem para ver ela ampliada<br />
<a href="http://tedk.com.br/blog/wp-content/uploads/2011/05/imagem-03.jpg" target="/blank"><img src="http://tedk.com.br/blog/wp-content/uploads/2011/05/imagem-03.jpg" /></a></p>
<p>Ainda no Interface Builder, clique em File’s Owner e vá em Connections e arraste o verMapa para o MKMap View e o controleMapa para o Segmented Control ficando assim:</p>
<p>Clique na imagem para ver ela ampliada<br />
<a href="http://tedk.com.br/blog/wp-content/uploads/2011/05/imagem-04.jpg" target="/blank"><img src="http://tedk.com.br/blog/wp-content/uploads/2011/05/imagem-04.jpg" /></a></p>
<p>OBS: quando você arrastar o controleMapa para o Segmented Control ele vai aparecer uma lista de opções, você escolhe a opção Value Changed, pois quando você clicar no Segmented Control ele vai passer os valores 0, 1 e 2 para a funcão controleMapa que já está recebendo o (id)sender.</p>
<p>Salve e feche o Interface Builder e vamos voltar para o Xcode. Volte para a pasta Class e abra o arquivo Google_MapsViewController.m e jogue o seguinte código:</p>
<pre name="code" class="javascript">

#import &quot;Google_MapsViewController.h&quot;

@implementation Google_MapsViewController

- (IBAction)controleMapa:(id)sender {

    switch (((UISegmentedControl *)sender).selectedSegmentIndex) {
        case 0:
            verMapa.mapType = MKMapTypeStandard;
            break;

        case 1:
            verMapa.mapType = MKMapTypeSatellite;
            break;

        case 2:
            verMapa.mapType = MKMapTypeHybrid;
            break;
    }

}

- (void)dealloc {
    [verMapa dealloc];
    [super dealloc];
}
</pre>
<p>Repare que usei o UISegmentedControl para pegar o valor atual que foi jogado no Segmented Control e coloquei um switch para ficar mais fácil, cada case tem sua funcionalidade, fechei meu projeto com o [verMapa dealloc]; e vamos ver como ele ficou?</p>
<p><img src="http://tedk.com.br/blog/wp-content/uploads/2011/05/imagem-05.jpg" /></p>
<p>É isso aí, galera, podem perguntar se tiverem dúvidas. <a href="http://tedk.com.br/blog/wp-content/uploads/2011/05/objective-c-google-maps.zip" target="_blank">Pegue aqui o código completo do projeto.</a><br />
Abraços e até a próxima.</p>
]]></content:encoded>
			<wfw:commentRss>http://tedk.com.br/blog/index.php/2011/05/21/objective-c-e-xcode-google-maps-no-iphone-e-ipad/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Array Search em JavaScript</title>
		<link>http://tedk.com.br/blog/index.php/2011/03/01/array-search-em-javascript/</link>
		<comments>http://tedk.com.br/blog/index.php/2011/03/01/array-search-em-javascript/#comments</comments>
		<pubDate>Tue, 01 Mar 2011 13:42:09 +0000</pubDate>
		<dc:creator>Ted k'</dc:creator>
				<category><![CDATA[JavaScript / Ajax / DHTML]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[array]]></category>
		<category><![CDATA[array_search]]></category>
		<category><![CDATA[busca]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[script]]></category>
		<category><![CDATA[search]]></category>

		<guid isPermaLink="false">http://tedk.com.br/blog/?p=334</guid>
		<description><![CDATA[Esta função falicita a procura de um valor dentro de um array, como a função nativa do PHP <a href="http://tedk.com.br/blog/index.php/2011/03/01/array-search-em-javascript/"><br />Continue Lendo <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Esta função falicita a procura de um valor dentro de um array, como a função nativa do PHP <a href="http://php.net/manual/en/function.array-search.php" target="_blank">array_search()</a>;</p>
<p>Segue a função abaixo:</p>
<pre name="code" class="javascript">

&lt;script type=&quot;text/javascript&quot;&gt;
	function array_search(parametro, arr){
		var key = &quot;&quot;;
		var strict = &quot;&quot;;

		for (key in arr){
			if ((strict &amp;amp;amp;amp;&amp;amp;amp;amp; arr[key] === parametro) || (!strict &amp;amp;amp;amp;&amp;amp;amp;amp; arr[key] == parametro)){
				return parametro;
			}
		}

		return false;
	}
&lt;/script&gt;
</pre>
<p>Exemplo de aplicação:</p>
<pre name="code" class="javascript">

&lt;script type=&quot;text/javascript&quot;&gt;
	var array_dados = [&quot;Teste 01&quot;, &quot;Teste 02&quot;, &quot;Teste 03&quot;];
	alert(array_search(&quot;Teste 02&quot;, array_dados));
&lt;/script&gt;
</pre>
<p>Segue o script completo:</p>
<pre name="code" class="javascript">

&lt;script type=&quot;text/javascript&quot;&gt;
// Função.
function array_search(parametro, arr){
    var key = &quot;&quot;;
	var strict = &quot;&quot;;

    for (key in arr){
        if ((strict &amp;amp;amp;amp;&amp;amp;amp;amp; arr[key] === parametro) || (!strict &amp;amp;amp;amp;&amp;amp;amp;amp; arr[key] == parametro)){
			return parametro;
        }
    }

    return false;
}

// Criando o Arrray para teste.
var array_dados = [&quot;Teste 01&quot;, &quot;Teste 02&quot;, &quot;Teste 03&quot;];

// Aplicando o Teste.
alert(array_search(&quot;Teste 02&quot;, array_dados));
&lt;/script&gt;
</pre>
]]></content:encoded>
			<wfw:commentRss>http://tedk.com.br/blog/index.php/2011/03/01/array-search-em-javascript/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>ContentFlow</title>
		<link>http://tedk.com.br/blog/index.php/2011/02/02/contentflow/</link>
		<comments>http://tedk.com.br/blog/index.php/2011/02/02/contentflow/#comments</comments>
		<pubDate>Wed, 02 Feb 2011 19:25:19 +0000</pubDate>
		<dc:creator>Ted k'</dc:creator>
				<category><![CDATA[JavaScript / Ajax / DHTML]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[contentflow]]></category>
		<category><![CDATA[imageflow]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[jquery]]></category>

		<guid isPermaLink="false">http://tedk.com.br/blog/?p=329</guid>
		<description><![CDATA[Um irmão do <a href="http://imageflow.finnrudolph.de/" target="_blank">ImageFlow</a>, o ContentFlow tem algumas particularidades e é mais fácil aplicar. Tem um loop nas imagens e como no ImageFlow você pode customizar ele bem, segue a dica. Veja alguns links <a href="http://tedk.com.br/blog/index.php/2011/02/02/contentflow/"><br />Continue Lendo <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Um irmão do <a href="http://imageflow.finnrudolph.de/" target="_blank">ImageFlow</a>, o ContentFlow tem algumas particularidades e é mais fácil aplicar. Tem um loop nas imagens e como no ImageFlow você pode customizar ele bem, segue a dica.</p>
<p>A <a href="http://globo.com" target="_blank">globo.com</a> usa muito em ele algumas sessões do site, veja aqui um exemplo aplicado<br />
<a href="http://araguaia.globo.com/" target="_blank">Novela Araguaia</a></p>
<p>Veja alguns links abaixo<br />
<strong>Download: </strong><a href="http://www.jacksasylum.eu/ContentFlow/download.php" target="_blank">http://www.jacksasylum.eu/ContentFlow/download.php</a><br />
<strong>Documentação:</strong> <a href="http://www.jacksasylum.eu/ContentFlow/docu.php" target="_blank">http://www.jacksasylum.eu/ContentFlow/docu.php</a></p>
<p><img src="http://tedk.com.br/blog/wp-content/uploads/2011/02/untitled-1.jpg" alt="null" /></p>
]]></content:encoded>
			<wfw:commentRss>http://tedk.com.br/blog/index.php/2011/02/02/contentflow/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Usabilidade em Códigos</title>
		<link>http://tedk.com.br/blog/index.php/2010/12/10/usabilidade-em-codigos/</link>
		<comments>http://tedk.com.br/blog/index.php/2010/12/10/usabilidade-em-codigos/#comments</comments>
		<pubDate>Fri, 10 Dec 2010 21:38:15 +0000</pubDate>
		<dc:creator>Ted k'</dc:creator>
				<category><![CDATA[Em Geral]]></category>
		<category><![CDATA[HTML]]></category>
		<category><![CDATA[códigos]]></category>
		<category><![CDATA[faculdade]]></category>
		<category><![CDATA[sem]]></category>
		<category><![CDATA[seo]]></category>
		<category><![CDATA[usabilidade]]></category>

		<guid isPermaLink="false">http://tedk.com.br/blog/?p=322</guid>
		<description><![CDATA[O código é a engenharia completa de um site, sem ele não existe site, isso é um fato!
Ter um código limpo, não é necessariamente, ter um site 100% rodando sem erros, até porque, o erro não precisa ser “visualmente” constatado. Mesmo que seu site seja homologado muitas vezes por você mesmo, sempre passa alguma coisa que sua mente cansada não visualizou, ou simplesmente, deixou para resolver o tal erro, mais tarde e no final, não resolveu. <a href="http://tedk.com.br/blog/index.php/2010/12/10/usabilidade-em-codigos/"><br />Continue Lendo <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Fiz um artigo para a Faculdade e decidir compartilhar aqui também algumas dicas:<br />
Link oficial: <a href="http://faculmunica.blogspot.com/2010/11/usabilidade-em-codigos.html" target="_blank"><strong>Aqui!</strong></a></p>
<p>O código é a engenharia completa de um site, sem ele não existe site, isso é um fato!<br />
Ter um código limpo, não é necessariamente, ter um site 100% rodando sem erros, até porque, o erro não precisa ser “visualmente” constatado.</p>
<p>Mesmo que seu site seja homologado muitas vezes por você mesmo, sempre passa alguma coisa que sua mente cansada não visualizou, ou simplesmente, deixou para resolver o tal erro, mais tarde e no final, não resolveu.<br />
Use a cabeça, quer dizer, use mais mentes a seu favor. Fazer testes de estresses (que é forçar os erros acontecerem) no seu código ajuda a sanar os erros que restaram, mais não quer dizer que foram todos resolvidos.</p>
<p>Pessoas que nunca visualizaram seu site ou seu código podem ajudar nessa tarefa. Veja algumas coisas que nunca poderão acontecer em seu site:</p>
<p>1. Já imaginou um usuário entrar em um site, e clicar em um link que não vai para lugar nenhum? Complicado isso, é estressante! Para que tem a tal da “mãozinha” se não te leva a lugar algum?</p>
<p>2. Site que demora de carregar. Isso realmente mata. Você acha que é pouco tempo, mais para o usuário esperar mais de 10 segundos para seu site carregar, é uma eternidade. Otimize seu código, suas imagens, e o conteúdo do texto pode também ser otimizado. Pense nisso!</p>
<p>3. Tipografia! O que é isso? São as fontes usadas em seu site. Certo! Fontes? Não use tantas fontes em seu site, duas no máximo, para que ter um carnaval de fontes de vários tipos e de vários tamanhos? Foque na usabilidade.</p>
<p>4. Formulários. Essa palavra realmente desanima seu usuário. Nome, e-mail, telefone, celular, CPF, endereço, bairro, cidade, estado&#8230; Nossa! Quanta coisa! Você mesmo iria preencher isso tudo? Otimize esses campos. O usuário odeia digitar muito, somos preguiçosos na internet, não podemos gastar muito tempo.</p>
<p>Essas dicas podem te ajudar a ter um código mais limpo e ter uma boa usabilidade em seu site. Pesquise mais sobre usabilidade, as empresas hoje em dia procuram profissionais que tenham uma mente aberta para customizar sites antigos!</p>
]]></content:encoded>
			<wfw:commentRss>http://tedk.com.br/blog/index.php/2010/12/10/usabilidade-em-codigos/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

