<?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>Elyézer Rezende</title> <link>http://elyezer.com</link> <description>Desenvolvimento Web</description> <lastBuildDate>Fri, 23 Dec 2011 10:54:50 +0000</lastBuildDate> <language>en</language> <sy:updatePeriod>hourly</sy:updatePeriod> <sy:updateFrequency>1</sy:updateFrequency> <generator>http://wordpress.org/?v=3.3.1</generator> <atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/elyezer" /><feedburner:info xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" uri="elyezer" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><item><title>Fazendo o deploy de uma aplicação Django no Dreamhost</title><link>http://elyezer.com/fazendo-o-deploy-de-uma-aplicacao-django-no-dreamhost/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=fazendo-o-deploy-de-uma-aplicacao-django-no-dreamhost</link> <comments>http://elyezer.com/fazendo-o-deploy-de-uma-aplicacao-django-no-dreamhost/#comments</comments> <pubDate>Thu, 22 Dec 2011 15:00:11 +0000</pubDate> <dc:creator>Elyézer</dc:creator> <category><![CDATA[Desenvolvimento]]></category> <category><![CDATA[deploy]]></category> <category><![CDATA[django]]></category> <category><![CDATA[dreamhost]]></category> <category><![CDATA[python]]></category><guid isPermaLink="false">http://elyezer.com/?p=248</guid> <description><![CDATA[No post anterior, foi mostrado como instalar uma versão mais recende do Python e do Django no Dreamhost. Nesse post será demonstrado como fazer o deploy de uma aplicação Django utilizando o virtualenv. O Dreamhost utiliza o Passenger WSGI para servir aplicações escritas &#8230; <a
href="http://elyezer.com/fazendo-o-deploy-de-uma-aplicacao-django-no-dreamhost/">Continue reading <span
class="meta-nav">&#8594;</span></a>]]></description> <content:encoded><![CDATA[<p>No <a
title="Instalação do Python 2.7.2 e Django 1.3.1 no Dreamhost" href="http://elyezer.com/instalacao-do-python-2-7-2-e-django-1-3-1-no-dreamhost/">post anterior</a>, foi mostrado como instalar uma versão mais recende do <a
title="Python" href="http://python.org/">Python</a> e do Django no <a
title="Dreamhost" href="http://www.dreamhost.com/r.cgi?351246">Dreamhost</a>. Nesse post será demonstrado como fazer o deploy de uma aplicação <a
title="Django" href="https://www.djangoproject.com/">Django</a> utilizando o <a
title="virtualenv" href="http://www.virtualenv.org/">virtualenv</a>.</p><p>O <a
title="Dreamhost" href="http://www.dreamhost.com/r.cgi?351246">Dreamhost</a> utiliza o <a
title="Passenger WSGI" href="http://wiki.dreamhost.com/Passenger_WSGI">Passenger WSGI</a> para servir aplicações escritas em Python, por isso, o processo aqui descrito é referente ao deploy utilizando o <a
title="Passenger WSGI" href="http://wiki.dreamhost.com/Passenger_WSGI">Passenger WSGI</a>.</p><h1>Configuração do domínio</h1><p>O primeiro passo é configurar um domínio para fazer o deploy da aplicação. Entre no <a
title="Painel de configuração de domínios" href="https://panel.dreamhost.com/index.cgi?tree=domain.manage">painel de configuração de domínios</a> e adicione um novo domínio ou sub-domínio, ou então edite a configuração de um domínio já existente.</p><p>Após inserir o nome do novo domínio ou sub-domínio, na seção &#8220;<strong>Web Options</strong>&#8220;, marque a opção &#8220;<strong>Passenger (Ruby/Python apps only)</strong>&#8220;.</p><p>Um detalhe importante é, que ao utilizar o Passenger, o caminho especificado em &#8220;<strong>Web directory</strong>&#8221; deve terminar em <em>public</em>. Por exemplo, se o domínio configurado é <strong>exemplo.com.br</strong>, então o caminho ficará <strong>exemplo.com.br/public</strong>.</p><h1>Configuração do banco de dados MySQL</h1><p>Uma vez configurado o domínio, deve ser criado um banco de dados para a aplicação. A criação do banco pode ser feita na <a
title="Página de gerência de banco de dados MySQL" href="https://panel.dreamhost.com/index.cgi?tree=goodies.mysql">página de gerência de banco de dados MySQL</a>. Tenha pelo menos um <em>hostname</em> configurado, pois no <a
title="Dreamhost" href="http://www.dreamhost.com/r.cgi?351246">Dreamhost</a> não pode ser usado simplesmente <em>localhost</em> ao configurar o <em>host</em> do servidor de banco de dados na aplicação.</p><h1>Deploy da apliação Django</h1><p>Agora que o domínio e o banco de dados da aplicação estão criados, criaremos uma aplicação <a
title="Django" href="https://www.djangoproject.com/">Django</a> e faremos o deploy utilizando o <a
title="virtualenv" href="http://www.virtualenv.org/">virtualenv</a>.</p><p>Primeiro é necessário criar o ambiente virtual para nossa apliação, lembrando que será feito o uso do <a
title="virtualenvwrapper" href="http://www.doughellmann.com/projects/virtualenvwrapper/">virtualenvwrapper</a> para nos auxiliar:</p><pre>mkvirtualenv projeto</pre><p>Ao executar o comando anterior, o ambiente virtual criada já será ativado, repare o prefixo () no prompt do shell:</p><pre>(projeto)user@host:path/to/projeto.com.br$</pre><p>Posteriormente, o <a
title="virtualenv" href="http://www.virtualenv.org/">virtualenv</a> poderá ser ativado usando o comando:</p><pre>workon projeto</pre><p>Para completar o nome do projeto poderá ser utilizado o tab, assim como é feito para completar comandos do sistema.</p><p>Agora que temos o ambiente virtual criado, podemos instalar o <a
title="Django" href="https://www.djangoproject.com/">Django</a>:</p><pre>pip install django</pre><p>Como o <a
title="Dreamhost" href="http://www.dreamhost.com/r.cgi?351246">Dreamhost</a> oferece somente o MySQL como servidor de banco de dados, teremos que instalar também o driver do MySQL para Python:</p><pre>pip install mysql-python</pre><p>Terminado a instalação dos pacotes necessários, poderemos fazer o setup de nossa aplicação. Primeiramente devemos entrar no diretório que foi configurado o domínio, estarei utilizando o domínio projeto.com.br como exemplo.</p><pre>cd projeto.com.br</pre><p>Lembre-se que, como estamos utilizando o Passenger, dentro do diretório projeto.com.br deverá ter o diretório <strong>public</strong>, como foi definido anteriormente na configuração do domínio.</p><p>Agora poderá ser criado o projeto <a
title="Django" href="https://www.djangoproject.com/">Django</a>:</p><pre>django-admin.py startproject projeto</pre><p>Também deverá ser criado o arquivo <em>passenger_wsgi.py</em>:</p><pre>touch passenger_wsgi.py</pre><p>Edite esse arquivo e adicione o seguinte conteúdo:</p><div
class="wp_syntax"><div
class="code"><pre class="python" style="font-family:monospace;"><span style="color: #ff7700;font-weight:bold;">import</span> <span style="color: #dc143c;">sys</span>, <span style="color: #dc143c;">os</span>
&nbsp;
INTERP = <span style="color: #dc143c;">os</span>.<span style="color: black;">path</span>.<span style="color: black;">join</span><span style="color: black;">&#40;</span><span style="color: #dc143c;">os</span>.<span style="color: black;">environ</span><span style="color: black;">&#91;</span><span style="color: #483d8b;">'HOME'</span><span style="color: black;">&#93;</span>, <span style="color: #483d8b;">'.virtualenvs'</span>, <span style="color: #483d8b;">'projeto'</span>, <span style="color: #483d8b;">'bin'</span>, <span style="color: #483d8b;">'python'</span><span style="color: black;">&#41;</span>
<span style="color: #ff7700;font-weight:bold;">if</span> <span style="color: #dc143c;">sys</span>.<span style="color: black;">executable</span> <span style="color: #66cc66;">!</span>= INTERP: <span style="color: #dc143c;">os</span>.<span style="color: black;">execl</span><span style="color: black;">&#40;</span>INTERP, INTERP, <span style="color: #66cc66;">*</span><span style="color: #dc143c;">sys</span>.<span style="color: black;">argv</span><span style="color: black;">&#41;</span>
&nbsp;
<span style="color: #dc143c;">sys</span>.<span style="color: black;">path</span>.<span style="color: black;">append</span><span style="color: black;">&#40;</span><span style="color: #dc143c;">os</span>.<span style="color: black;">getcwd</span><span style="color: black;">&#40;</span><span style="color: black;">&#41;</span><span style="color: black;">&#41;</span>
<span style="color: #dc143c;">os</span>.<span style="color: black;">environ</span><span style="color: black;">&#91;</span><span style="color: #483d8b;">'DJANGO_SETTINGS_MODULE'</span><span style="color: black;">&#93;</span> = <span style="color: #483d8b;">&quot;projeto.settings&quot;</span>
<span style="color: #ff7700;font-weight:bold;">import</span> django.<span style="color: black;">core</span>.<span style="color: black;">handlers</span>.<span style="color: black;">wsgi</span>
application = django.<span style="color: black;">core</span>.<span style="color: black;">handlers</span>.<span style="color: black;">wsgi</span>.<span style="color: black;">WSGIHandler</span><span style="color: black;">&#40;</span><span style="color: black;">&#41;</span></pre></div></div><p>Nossa aplicação está quase pronta para ser rodada. Falta fazer a configuração do banco de dados e do admin. Também será criar um link simbólico para os arquivos estáticos do admin.</p><h2>Configuração da aplicação</h2><p>Entre no diretório do projeto:</p><pre>cd projeto</pre><p>E edite o arquivo <em>settings.py</em>, primeiro a configuração do banco de dados:</p><div
class="wp_syntax"><div
class="code"><pre class="python" style="font-family:monospace;">DATABASES = <span style="color: black;">&#123;</span>
    <span style="color: #483d8b;">'default'</span>: <span style="color: black;">&#123;</span>
        <span style="color: #483d8b;">'ENGINE'</span>: <span style="color: #483d8b;">'django.db.backends.mysql'</span>,
        <span style="color: #483d8b;">'NAME'</span>: <span style="color: #483d8b;">'database_name'</span>,
        <span style="color: #483d8b;">'USER'</span>: <span style="color: #483d8b;">'user'</span>,
        <span style="color: #483d8b;">'PASSWORD'</span>: <span style="color: #483d8b;">'password'</span>,
        <span style="color: #483d8b;">'HOST'</span>: <span style="color: #483d8b;">'hostname.domain.com'</span>,
        <span style="color: #483d8b;">'PORT'</span>: <span style="color: #483d8b;">''</span>,
    <span style="color: black;">&#125;</span>
<span style="color: black;">&#125;</span></pre></div></div><p>Primeiro definimos que utilizaremos o MySQL como banco de dados, em seguida configuramos o nome do banco de dados, nome do usuário e senha. Finalmente, é configurado o host do servidor do banco de dados, repare que devemos entrar com o hostname configurado na página de gerência de banco de dados MySQL.</p><p>Ainda no arquivo <em>settings.py</em>, deverá ser configurado <em>STATIC_ROOT</em> para que os arquivos estáticos do django admin sejam cerregados.</p><div
class="wp_syntax"><div
class="code"><pre class="python" style="font-family:monospace;">STATIC_ROOT = <span style="color: #483d8b;">'/home/user/projeto.com.br/public/static'</span></pre></div></div><p>Para finalizar a configuração da aplicação, devemos adicionar o django admin no <em>INSTALLED_APPS</em>, para isso decomente a linha:</p><div
class="wp_syntax"><div
class="code"><pre class="python" style="font-family:monospace;"><span style="color: #808080; font-style: italic;"># 'django.contrib.admin',</span></pre></div></div><p>Com isso finalizamos a configuração do projeto. O próximo passo é configurar o arquivo <em>urls.py</em> descomentando as linhas:</p><div
class="wp_syntax"><div
class="code"><pre class="python" style="font-family:monospace;"><span style="color: #808080; font-style: italic;"># from django.contrib import admin</span>
<span style="color: #808080; font-style: italic;"># admin.autodiscover()</span>
<span style="color: #808080; font-style: italic;"># url(r'^admin/', include(admin.site.urls)),</span></pre></div></div><p>Em seguida criaremos o link simbólico para os arquivos estáticos do django admin:</p><pre>mkdir public/static
ln -s ~/.virtualenvs/projeto/lib/python2.7/site-packages/django/contrib/admin/media/ public/static/admin</pre><p>Finalmente, para terminar o deploy, execute o comando <em>syncdb</em> para que as tabelas do banco de dados e um super-usuário seja criado:</p><pre>cd projeto
python manage.py syncdb</pre><p>Uma vez terminado a execução do <em>syncdb</em>, poderemos acessar nosso projeto no navegador. No exemplo desse post bastaria acessar a URL <em>http://projeto.com.br/admin</em>.</p><h1>Referências</h1><ul><li><a
title="Django (Dreamhost Wiki)" href="http://wiki.dreamhost.com/Django">Django (Dreamhost Wiki)</a></li><li><a
title="Passenger WSGI (Dreamhost Wiki)" href="http://wiki.dreamhost.com/Passenger_WSGI">Passenger WSGI (Dreamhost Wiki)</a></li><li><a
title="Installing Django With virtualenv on Dreamhost" href="http://andrew.io/weblog/2010/02/installing-django-with-virtualenv-on-dreamhost/">Installing Django With virtualenv on Dreamhost</a></li></ul> <div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/elyezer?a=My-4LKPsEpI:sygz7HDaD7k:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/elyezer?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/elyezer?a=My-4LKPsEpI:sygz7HDaD7k:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/elyezer?i=My-4LKPsEpI:sygz7HDaD7k:D7DqB2pKExk" border="0"></img></a>
</div>]]></content:encoded> <wfw:commentRss>http://elyezer.com/fazendo-o-deploy-de-uma-aplicacao-django-no-dreamhost/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>Instalação do Python 2.7.2 e Django 1.3.1 no Dreamhost</title><link>http://elyezer.com/instalacao-do-python-2-7-2-e-django-1-3-1-no-dreamhost/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=instalacao-do-python-2-7-2-e-django-1-3-1-no-dreamhost</link> <comments>http://elyezer.com/instalacao-do-python-2-7-2-e-django-1-3-1-no-dreamhost/#comments</comments> <pubDate>Mon, 12 Dec 2011 23:00:22 +0000</pubDate> <dc:creator>Elyézer</dc:creator> <category><![CDATA[Desenvolvimento]]></category> <category><![CDATA[django]]></category> <category><![CDATA[dreamhost]]></category> <category><![CDATA[pip]]></category> <category><![CDATA[python]]></category> <category><![CDATA[virtualenv]]></category> <category><![CDATA[virtualenvwrapper]]></category><guid isPermaLink="false">http://elyezer.com/?p=232</guid> <description><![CDATA[Em servidores compartilhados normalmente não é possível ter a versão do Python ou mesmo do Django de acordo com as necessidades do projeto. Porém, tendo um acesso SSH, é possível instalar, no diretório home, a versão requerida para rodar o &#8230; <a
href="http://elyezer.com/instalacao-do-python-2-7-2-e-django-1-3-1-no-dreamhost/">Continue reading <span
class="meta-nav">&#8594;</span></a>]]></description> <content:encoded><![CDATA[<p>Em servidores compartilhados normalmente não é possível ter a versão do <a
title="Python" href="http://python.org">Python</a> ou mesmo do <a
title="Django" href="http://www.djangoproject.com/">Django</a> de acordo com as necessidades do projeto. Porém, tendo um acesso SSH, é possível instalar, no diretório <em>home</em>, a versão requerida para rodar o projeto.</p><p>Como exemplo, será demonstrado como instalar uma versão do <a
title="Python" href="http://python.org">Python</a> e do <a
title="Django" href="http://www.djangoproject.com/">Django</a> diferente da oferecida pelo serviço de hospedagem compartilhada do <a
title="Dreamhost" href="http://www.dreamhost.com/r.cgi?351246">Dreamhost</a>. No momento da escrita do post as versões do <a
title="Python" href="http://python.org">Python</a> e do <a
title="Django" href="http://www.djangoproject.com/">Django</a> oferecidas são, respectivamente, 2.5.2 e 1.2.1. Serão instaladas as versões atuais que são 2.7.2 para o <a
title="Python" href="http://python.org">Python</a> e 1.3.1 para o <a
title="Django" href="http://www.djangoproject.com/">Django</a>.</p><p>Além disso, será configurado o <a
title="pip" href="http://pypi.python.org/pypi/pip">pip</a>, <a
title="virtualenv" href="http://www.virtualenv.org/">virtualenv</a> e <a
title="virtualenvwrapper" href="http://www.doughellmann.com/projects/virtualenvwrapper/">virtualenvwrapper</a> para facilitar manter diversos projetos e criar ambientes virtuais para atender as necessidades de cada projeto.</p><p>Antes de iniciar tenha certeza que seu usuário tenha acesso SSH. É desejável ter algum conhecimento sobre Linux para facilitar o entendimento das  etapas descritas.</p><h1>Configuração inicial do ambiente</h1><p>Sua conta deve estar configurada como descrito:</p><p>Primeiro, crie os diretórios necessários:</p><pre>cd ~
# Criação dos diretórios raiz (e log/setup)
mkdir -pv soft run www log log/setup backup data
# Criação dos subdiretórios dentro de run (nosso FHS)
for subdir in bin etc include lib man share
do
  mkdir -pv run/${subdir}
done
# link simbólicos para manter os manuais em um local comum
ln -sv ../man run/share/man
# link simbólico dentro de log para os logs do apache
ln -sv ../logs log/vhosts</pre><p>Em seguida, edite o arquivo <em>~/.bashrc</em> para configurar o ambiente, adicione as seguintes linhas:</p><pre># Variável para facilitar as instalações
export RUN=$HOME/run

# Adiciona o run/bin ao PATH do sistema
PATH=$RUN/bin:$PATH

# Define os caminhos para bibliotecas
export LD_LIBRARY_PATH=$RUN/lib:$LD_LIBRARY_PATH
export LD_RUN_PATH=$RUN/lib:$LD_RUN_PATH</pre><p><span
class="Apple-style-span" style="font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; font-size: 15px; line-height: 24px; white-space: normal;">  Para maiores informações e outras configurações visite <a
title="Unix account setup" href="http://wiki.dreamhost.com/Unix_account_setup">Unix account setup</a>. Para instalar o <a
title="Python" href="http://python.org">Python</a>, somente as configurações descritas são suficientes.</span></p><h1>Instalação do Python 2.7.2</h1><div><div>O <a
title="Python" href="http://python.org">Python</a> precisa ser baixado e compilado, para isso basta executar os comandos:</div><pre># Diretório para baixar e compilar o Python
cd ~/soft
# Download do Python 2.7.2
wget http://python.org/ftp/python/2.7.2/Python-2.7.2.tgz
# Extrai o conteúdo do pacote
tar -zxvf Python-2.7.2.tgz
# Acessa o diretório com o conteúdo extraido
cd Python-2.7.2
# Configura a instalação, repare no prefixo informado
./configure --prefix=$RUN
# Compilação do Python
make
# Instalação do Python
make install
# Se tudo ocorreu bem, teremos o python 2.7.2 instalado
python --version</pre><h1>Instalação do setuptools e do pip</h1><div><div>Para gerenciar os pacotes, será utilizado o <a
title="pip" href="http://pypi.python.org/pypi/pip">pip</a>. Porém para facilitar a instalação do <a
title="pip" href="http://pypi.python.org/pypi/pip">pip</a> será intalado o setuptools que oferece o comando easy_install. Para instalar o setuptools execute os comandos:</div><pre># Diretório para baixar e compilar o Python
cd ~/soft
# Download do setuptools para o Python 2.7.x
wget http://pypi.python.org/packages/2.7/s/setuptools/setuptools-0.6c11-py2.7.egg
# Instalação do setuptools, repare no prefixo informado
sh setuptools-0.6c11-py2.7.egg --prefix=$RUN</pre><div>Uma vez instalado o setuptools, pode-se instalar o pip executando o seguinte comando:</div><pre>easy_install pip</pre><p>Agora que tem o pip instalado, será mais fácil de instalar os outros pacotes.</p><h1>Instalação do virtualenv e virtualenvwrapper</h1><p>Para instalar o <a
title="virtualenv" href="http://www.virtualenv.org/">virtualenv</a> e <a
title="virtualenvwrapper" href="http://www.doughellmann.com/projects/virtualenvwrapper/">virtualenvwrapper</a>, basta executar o seguinte comando:</p><pre>pip install virtualenvwrapper</pre><p>Como o <a
title="virtualenv" href="http://www.virtualenv.org/">virtualenv</a> é uma dependência do <a
title="virtualenvwrapper" href="http://www.doughellmann.com/projects/virtualenvwrapper/">virtualenvwrapper</a>, ele será automaticamente instalado, pois o pip se encarrega de resolver as dependencias dos pacotes que serão instalados.</p><p>Para configurar o <a
title="virtualenvwrapper" href="http://www.doughellmann.com/projects/virtualenvwrapper/">virtualenvwrapper</a>, adicione as seguintes linhas no <em>~/.bashrc</em>:</p><pre>export WORKON_HOME=~/.virtualenvs
source virtualenvwrapper.sh</pre></div></div><p>Essa configuração informa que os ambientes virtuais serão instalados no diretório <em>~/.virtualenvs</em>.</p><p>Para que esse configuração tenha efeito imediado execute o comando:</p><pre>. ~/.bashrc</pre><p>Caso o comando anterior não seja executado, somente na próxima vez que iniciar uma sessão SSH, as configurações entrarão em vigor.</p><h1>Instalação do Django</h1><p>Finalmente, para instalação do <a
title="Django" href="http://www.djangoproject.com/">Django</a>, já que temos o <a
title="pip" href="http://pypi.python.org/pypi/pip">pip</a> instalado, basta executar o comando:</p><pre>pip install django</pre><p>Com isso teremos o Django disponível no sistema. Eu tenho a preferência de instalar o Django sempre que criar um <a
title="virtualenv" href="http://www.virtualenv.org/">virtualenv</a>, pois dessa forma cada projeto pode permanescer com sua versão requerida do <a
title="Django" href="http://www.djangoproject.com/">Django</a>.</p><h1>Maiores informações</h1><p>Para maiores informações consulte as referências:</p><ul><li><a
title="Unix account setup (Dreamhost Wiki)" href="http://wiki.dreamhost.com/Unix_account_setup">Unix account setup</a></li><li><a
title="Django (Dreamhost Wiki)" href="http://wiki.dreamhost.com/Django">Django (Dreamhost Wiki)</a></li><li><a
title="Python (Dreamhost Wiki)" href="http://wiki.dreamhost.com/Python">Python (Dreamhost Wiki)</a></li></ul> <div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/elyezer?a=GIYfVovxS8Y:CjX-2J-OzP4:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/elyezer?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/elyezer?a=GIYfVovxS8Y:CjX-2J-OzP4:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/elyezer?i=GIYfVovxS8Y:CjX-2J-OzP4:D7DqB2pKExk" border="0"></img></a>
</div>]]></content:encoded> <wfw:commentRss>http://elyezer.com/instalacao-do-python-2-7-2-e-django-1-3-1-no-dreamhost/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>Como aprender Node.js</title><link>http://elyezer.com/como-aprender-node-js/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=como-aprender-node-js</link> <comments>http://elyezer.com/como-aprender-node-js/#comments</comments> <pubDate>Tue, 29 Nov 2011 11:53:02 +0000</pubDate> <dc:creator>Elyézer</dc:creator> <category><![CDATA[Desenvolvimento]]></category> <category><![CDATA[Web]]></category> <category><![CDATA[javascript]]></category> <category><![CDATA[node.js]]></category><guid isPermaLink="false">http://elyezer.com/?p=225</guid> <description><![CDATA[O que é Node.js? Node.js é um âmbiente JavaScript que roda do lado do servidor e utiliza um modelo assíncrono orientado à eventos. Sua engine utiliza a V8 JavaScript Engine do Google, que roda utilizando apenas uma thread, porém, toda &#8230; <a
href="http://elyezer.com/como-aprender-node-js/">Continue reading <span
class="meta-nav">&#8594;</span></a>]]></description> <content:encoded><![CDATA[<h2>O que é Node.js?</h2><p><a
title="Node.js" href="http://nodejs.org/">Node.js</a> é um âmbiente JavaScript que roda do lado do servidor e utiliza um modelo assíncrono orientado à eventos.</p><p>Sua engine utiliza a <a
title="V8 JavaScript Engine" href="http://code.google.com/p/v8/">V8 JavaScript Engine</a> do Google, que roda utilizando apenas uma thread, porém, toda operação de I/O é assíncrona oferecendo, assim, nenhuma espera para as operações de I/O de outras requisições.</p><p>Um aplicação <a
title="Node.js" href="http://nodejs.org/">Node.js</a> pode gerenciar milhares de conexões concorrentes utilizando uma quantidade mínima de recursos do sistema.</p><h2>Como aprender Node.js?</h2><p>Atualmente, existe uma quantidade boa de materia a respeito do <a
title="Node.js" href="http://nodejs.org/">Node.js</a>. Segue uma lista com alguns materiais muito bons para iniciar os estudos:</p><ul><li><a
href="http://nodejs.org/docs/" target="_blank">Documentação oficial do Node.js<br
/> </a></li><li><a
href="http://visionmedia.github.com/masteringnode/" target="_blank">Mastering Node</a> (e-book)</li><li><a
href="http://nodebeginner.org/" target="_blank">The Node Beginner Book</a> (e-book)</li><li><a
href="http://ofps.oreilly.com/titles/9781449398583/" target="_blank">Up and Running with NodeJS</a> (e-book)</li><li><a
href="http://nodeguide.com/" target="_blank">Felix&#8217;s Node.js Guide</a> (um guia detalhado)</li><li><a
href="http://howtonode.org/" target="_blank">How To Node</a> (blog sobre o Node.js)</li><li><a
href="http://nodetuts.com/" target="_blank">Node Tuts</a> (podcasts sobre Node.js)</li></ul><div>Caso você tenha mais alguma sugestão de material para iniciar o estudo sobre o <a
title="Node.js" href="http://nodejs.org/">Node.js</a>, deixe um comentário.</div> <div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/elyezer?a=QCRk2tQVxAw:fiiPqkyJ-Hg:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/elyezer?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/elyezer?a=QCRk2tQVxAw:fiiPqkyJ-Hg:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/elyezer?i=QCRk2tQVxAw:fiiPqkyJ-Hg:D7DqB2pKExk" border="0"></img></a>
</div>]]></content:encoded> <wfw:commentRss>http://elyezer.com/como-aprender-node-js/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>Promote JS!</title><link>http://elyezer.com/promote-js/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=promote-js</link> <comments>http://elyezer.com/promote-js/#comments</comments> <pubDate>Tue, 28 Sep 2010 19:52:41 +0000</pubDate> <dc:creator>Elyézer</dc:creator> <category><![CDATA[Desenvolvimento]]></category> <category><![CDATA[Web]]></category> <category><![CDATA[documentation]]></category> <category><![CDATA[javascript]]></category><guid isPermaLink="false">http://elyezer.com/?p=218</guid> <description><![CDATA[Promote JS! é um movimento para ajudar a disseminar uma documentação atual sobre a linguagem JavaScript. A documentação que está sendo divulgada nesse movimento é a documentação encontrada no Mozilla Developer Center e pode ser acessada clicando na imagem abaixo. &#8230; <a
href="http://elyezer.com/promote-js/">Continue reading <span
class="meta-nav">&#8594;</span></a>]]></description> <content:encoded><![CDATA[<p>Promote JS! é um movimento para ajudar a disseminar uma documentação atual sobre a linguagem JavaScript. A documentação que está sendo divulgada nesse movimento é a documentação encontrada no Mozilla Developer Center e pode ser acessada clicando na imagem abaixo.</p><p><a
title="JavaScript Reference, JavaScript Guide, JavaScript API, JS API, JS Guide, JS Reference, Learn JS, JS Documentation" href="https://developer.mozilla.org/en/JavaScript"><img
src="http://static.jsconf.us/promotejshs.png" alt="JavaScript Reference, JavaScript Guide, JavaScript API, JS API, JS Guide, JS Reference, Learn JS, JS Documentation" width="180" height="150" /></a></p><p>No <a
title="Promote JS!" href="http://promotejs.com/">site do movimento</a> é possível fazer um tweet para ajudar a divulgar.</p><p>A documentação é bem completa com explicações, exemplos, dicas e muito mais.</p> <div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/elyezer?a=XsDYKsG3Wqo:0d96-Z0_GjI:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/elyezer?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/elyezer?a=XsDYKsG3Wqo:0d96-Z0_GjI:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/elyezer?i=XsDYKsG3Wqo:0d96-Z0_GjI:D7DqB2pKExk" border="0"></img></a>
</div>]]></content:encoded> <wfw:commentRss>http://elyezer.com/promote-js/feed/</wfw:commentRss> <slash:comments>2</slash:comments> </item> <item><title>Python para Desenvolvedores – Segunda Edição</title><link>http://elyezer.com/python-para-desenvolvedores-segunda-edicao/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=python-para-desenvolvedores-segunda-edicao</link> <comments>http://elyezer.com/python-para-desenvolvedores-segunda-edicao/#comments</comments> <pubDate>Tue, 19 Jan 2010 17:16:24 +0000</pubDate> <dc:creator>Elyézer</dc:creator> <category><![CDATA[Desenvolvimento]]></category> <category><![CDATA[Programação]]></category> <category><![CDATA[livro]]></category> <category><![CDATA[python]]></category><guid isPermaLink="false">http://elyezer.com/?p=201</guid> <description><![CDATA[A segunda edição do livro Python para Desenvolvedores de Luiz Eduardo Borges está disponível para download. Confira a nota de lançamento: A segunda edição do livro (ISBN 978-85-909451-1-6, 360 páginas), voltado para desenvolvedores que já tem conhecimento de programação, incluindo &#8230; <a
href="http://elyezer.com/python-para-desenvolvedores-segunda-edicao/">Continue reading <span
class="meta-nav">&#8594;</span></a>]]></description> <content:encoded><![CDATA[<p>A segunda edição do livro Python para Desenvolvedores de Luiz Eduardo Borges está disponível para download. Confira a nota de lançamento:</p><blockquote><p>A segunda edição do livro (ISBN 978-85-909451-1-6, 360 páginas), voltado para desenvolvedores que já tem conhecimento de programação, incluindo desde a criação de interfaces com usuário, computação gráfica, aplicações para internet e sistemas distribuídos.</p></blockquote><p>Você pode fazer o <a
title="Python para desenvolvedores 2ª edição (formato PDF)" href="http://ark4n.files.wordpress.com/2010/01/python_para_desenvolvedores_2ed.pdf">download</a> ou ir para a <a
title="Site oficial do livro Python para Desenvolvedores" href="http://ark4n.wordpress.com/python/">página oficial</a>.</p><p>Boa leitura!</p> <div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/elyezer?a=LuxBds617PA:uRIUp5fmq98:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/elyezer?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/elyezer?a=LuxBds617PA:uRIUp5fmq98:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/elyezer?i=LuxBds617PA:uRIUp5fmq98:D7DqB2pKExk" border="0"></img></a>
</div>]]></content:encoded> <wfw:commentRss>http://elyezer.com/python-para-desenvolvedores-segunda-edicao/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>Django no Dreamhost, agora é “oficial”!</title><link>http://elyezer.com/django-no-dreamhost-agora-e-oficial/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=django-no-dreamhost-agora-e-oficial</link> <comments>http://elyezer.com/django-no-dreamhost-agora-e-oficial/#comments</comments> <pubDate>Fri, 13 Nov 2009 16:50:38 +0000</pubDate> <dc:creator>Elyézer</dc:creator> <category><![CDATA[Desenvolvimento]]></category> <category><![CDATA[Web]]></category> <category><![CDATA[django]]></category> <category><![CDATA[dreamhost]]></category><guid isPermaLink="false">http://elyezer.com/?p=197</guid> <description><![CDATA[O Dreamhost anuncia que &#8220;oficialmente&#8221; está suportanto aplicações Django. Para ter sua aplicação rodando basta a simples execução de um script que fará todo o trabalho pesado para que sua aplicação Django seja implantada no servidor. Para execução do script, &#8230; <a
href="http://elyezer.com/django-no-dreamhost-agora-e-oficial/">Continue reading <span
class="meta-nav">&#8594;</span></a>]]></description> <content:encoded><![CDATA[<p>O <a
title="Dreamhost" href="http://www.dreamhost.com/r.cgi?351246">Dreamhost</a> anuncia que &#8220;oficialmente&#8221; está suportanto aplicações <a
title="Django" href="http://www.djangoproject.com/">Django</a>. Para ter sua aplicação rodando basta a simples execução de um script que fará todo o trabalho pesado para que sua aplicação <a
title="Django" href="http://www.djangoproject.com/">Django</a> seja implantada no servidor.</p><p>Para execução do script, primeiramente será necessário editar algumas configurações no dominio hospedado.</p><h2>Configuração do dominio</h2><p>Será necessário ativar o passenger para seu dominio, para isso basta seguir esses passos:</p><ol><li>Abra a <a
title="Manage Domains" href="https://panel.dreamhost.com/?tree=domain.manage">página de configuração dos domínios</a> do painel de controle e edite o domínio desejado.</li><li>Vá até a seção &#8220;Users, Files, and Paths&#8221;, e assegure que o web direcotry do seu dominio termine com &#8220;/public&#8221;, por exemplo, &#8220;/home/usuario/elyezer.com/public&#8221;.</li><li>Após a modificação anterior, vá até a seção &#8220;Web Options&#8221; e marque o checkbox para ativar o &#8220;Passenger&#8221;.</li></ol><p>Após as modificações anteriores, basta executar o script para poder fazer o deploy de sua aplicação.</p><h2>Utilizando o script para o deploy da aplicação Django</h2><p>Agora será necessário que você acesse seu servidor via SSH, e após entrar no diretório da sua aplicação, execute os seguintes comandos:</p><pre>wget http://wiki.dreamhost.com/django-setup.py
python django-setup.py</pre><p>O script irá orientá-lo durante o restante do processo de configuração de sua aplicação. Para maiores informações, visite a <a
href="http://wiki.dreamhost.com/Django">página</a> do wiki do <a
title="Dreamhost" href="http://www.dreamhost.com/r.cgi?351246">Dreamhost</a> sobre o <a
title="Django" href="http://www.djangoproject.com/">Django</a>.</p><h2>Conclusões</h2><p>Para quem já havia feito o deploy anteriormente de uma aplicação <a
title="Django" href="http://www.djangoproject.com/">Django</a> no <a
title="Dreamhost" href="http://www.dreamhost.com/r.cgi?351246">Dreamhost</a> perceberá que o processo de configuração está muito mais simples, quase como um <a
title="One Click Installs" href="http://wiki.dreamhost.com/One_Click_Installs">One Click Install</a>. Com isso o <a
title="Dreamhost" href="http://www.dreamhost.com/r.cgi?351246">Dreamhost</a> anuncia que está suportando &#8220;oficialmente&#8221; aplicações em <a
title="Django" href="http://www.djangoproject.com/">Django</a> em sua hospedagem.</p><h2>Ainda não tem um servidor de hospedagem?</h2><p>Aproveite esse novo recurso oferecido pelo <a
title="Dreamhost" href="http://www.dreamhost.com/r.cgi?351246">Dreamhost</a> e cadastre-se agora mesmo. Utilize o código promocional DHDJANGO para obter um desconto de até $90 dólares ao se cadastrar.</p> <div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/elyezer?a=ItEks8SsxUA:NvEZHpFFliE:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/elyezer?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/elyezer?a=ItEks8SsxUA:NvEZHpFFliE:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/elyezer?i=ItEks8SsxUA:NvEZHpFFliE:D7DqB2pKExk" border="0"></img></a>
</div>]]></content:encoded> <wfw:commentRss>http://elyezer.com/django-no-dreamhost-agora-e-oficial/feed/</wfw:commentRss> <slash:comments>2</slash:comments> </item> <item><title>TextFlow 0.2.9 Lançado</title><link>http://elyezer.com/textflow-0-2-9-lancado/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=textflow-0-2-9-lancado</link> <comments>http://elyezer.com/textflow-0-2-9-lancado/#comments</comments> <pubDate>Mon, 20 Jul 2009 17:50:43 +0000</pubDate> <dc:creator>Elyézer</dc:creator> <category><![CDATA[Desenvolvimento]]></category> <category><![CDATA[Linux]]></category> <category><![CDATA[Programação]]></category> <category><![CDATA[text editor]]></category> <category><![CDATA[textflow]]></category><guid isPermaLink="false">http://elyezer.com/?p=156</guid> <description><![CDATA[A versão 0.2.9 do TextFlow foi lançada! Além de novos recursos para o editor, este lançamento traz como novidade o site oficial do projeto que pode ser acessado em http://textflowproject.org. No site do projeto você poderá saber mais sobre os &#8230; <a
href="http://elyezer.com/textflow-0-2-9-lancado/">Continue reading <span
class="meta-nav">&#8594;</span></a>]]></description> <content:encoded><![CDATA[<p>A versão 0.2.9 do TextFlow foi lançada! Além de novos recursos para o editor, este lançamento traz como novidade <a
title="Site do TextFlow" href="http://textflowproject.org/">o site oficial do projeto</a> que pode ser acessado em <a
title="Site do TextFlow" href="http://textflowproject.org/">http://textflowproject.org</a>.</p><p>No <a
title="Site do TextFlow" href="http://textflowproject.org/">site do projeto</a> você poderá saber mais sobre os recursos do editor, o time de desenvolvimento, como fazer o download e também sua documentação que pode ser encontrada em <a
title="Documentação do TextFlow" href="http://docs.textflowproject.org">http://docs.textflowproject.org</a>.</p><p>Confira as novidades:</p><p><strong>Novo navegador de arquivos:</strong> mais organizado e com alguns recursos extras.</p><p><strong>Goto line:</strong> uma barra, semelhante a barra de pesquisa, para posicionar o cursor em uma linha escolhida.</p><p><strong>Mais snippets:</strong> novos snippets incluídos.</p><p><strong>Abrir arquivos em novas abas diretamente do Nautilus:</strong> se o Textflow já estiver aberto novos arquivos serão abertos em novas abas no editor que estiver executando.</p><p><strong>Mais ferramentas para edição:</strong> converter tabs em espaços e vice-versa e mover linhas para cima ou para baixo.</p><p><strong>Gerenciador de Linguagens:</strong> nessa versão foram incluídos os primeiros recursos para linguagens específicas. Agora não só os snippets são separados por linguagens, qualquer funcionalidade pode ser customizadas para funcionar apenas em um tipo de arquivo. O TextFlow identifica qual a linguagem da aba atual e consegue alterar seu estado para que determinados recursos fiquem disponíveis para o usuário.</p><p>Nas próximas versões cada vez mais linguagens deverão ganhar novos recursos e também será possível no futuro a criação de plugins para as linguagens pelos usuários.</p><p><strong>Documentação:</strong> está disponível <a
title="Documentação do TextFlow" href="http://docs.textflowproject.org/">a documentação do TextFlow</a> para que o usuário conheça suas funcionalidades e possa aprender e tirar algumas dúvidas sobre o editor.</p><p>Faça <a
title="Download do TextFlow" href="http://textflowproject.org/download">o donwload do editor</a> e confira você mesmo as novidades.</p> <div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/elyezer?a=m9784xyYoNw:KuKUBCStx7g:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/elyezer?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/elyezer?a=m9784xyYoNw:KuKUBCStx7g:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/elyezer?i=m9784xyYoNw:KuKUBCStx7g:D7DqB2pKExk" border="0"></img></a>
</div>]]></content:encoded> <wfw:commentRss>http://elyezer.com/textflow-0-2-9-lancado/feed/</wfw:commentRss> <slash:comments>1</slash:comments> </item> <item><title>Cliente IRC Online para acessar o #mandriva-br</title><link>http://elyezer.com/cliente-irc-online-para-acessar-o-mandriva-br/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=cliente-irc-online-para-acessar-o-mandriva-br</link> <comments>http://elyezer.com/cliente-irc-online-para-acessar-o-mandriva-br/#comments</comments> <pubDate>Thu, 12 Mar 2009 00:53:44 +0000</pubDate> <dc:creator>Elyézer</dc:creator> <category><![CDATA[Linux]]></category> <category><![CDATA[Mandriva]]></category> <category><![CDATA[Planeta Mandriva Brasil]]></category> <category><![CDATA[cliente irc online]]></category> <category><![CDATA[mandriva-br]]></category><guid isPermaLink="false">http://elyezer.com/?p=153</guid> <description><![CDATA[A Comunidade Mandriva Brasil conta com um canal de irc na rede frenode.net, o #mandriva-br. Nesse canal é possível bater um papo, falar sobre o Mandriva Linux ou mesmo buscar ajuda para solução de problemas com o uso ou configuração &#8230; <a
href="http://elyezer.com/cliente-irc-online-para-acessar-o-mandriva-br/">Continue reading <span
class="meta-nav">&#8594;</span></a>]]></description> <content:encoded><![CDATA[<p>A <a
title="Comunidade Mandriva Brasil" href="http://mandrivabrasil.org">Comunidade Mandriva Brasil</a> conta com um canal de irc na rede frenode.net, o #mandriva-br. Nesse canal é possível bater um papo, falar sobre o <a
title="Mandriva Linux" href="http://mandriva.com">Mandriva Linux</a> ou mesmo buscar ajuda para solução de problemas com o uso ou configuração da distribuição.</p><p>Para acesso ao canal você precisa de um cliente irc, para o desktop contamos com vários clientes como por exemplo o Xchat. Para aqueles que não querem instalar um cliente de irc em sua máquina, ou mesmo aqueles que só querem tirar alguma dúvida, agora é possível acessar o canal online através do endereço <a
title="Cliente IRC da Comunidade Mandriva Brasil" href="http://irc.mandriva-br.org">http://irc.mandriva-br.org</a> basta esperar o cliente ser carregado e digitar um nick e entrar. Automaticamente você já estará no canal da <a
title="Comunidade Mandriva Brasil" href="http://mandrivabrasil.org">Comunidade Mandriva Brasil</a> e poderá conversar com os outros participantes do canal.</p><p>No tópico do canal é possível encontrar algumas informações e link para download do <a
title="Mandriva Linux" href="http://mandriva.com">Mandriva Linux</a>, é sempre bom conferir o tópico do canal.</p><p>Aproveite mais esse recurso oferecido pela <a
title="Comunidade Mandriva Brasil" href="http://mandrivabrasil.org">Comunidade Mandriva Brasil</a>.</p><p>Até a próxima.</p> <div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/elyezer?a=tbIaP42pVBs:A29_fop7VjY:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/elyezer?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/elyezer?a=tbIaP42pVBs:A29_fop7VjY:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/elyezer?i=tbIaP42pVBs:A29_fop7VjY:D7DqB2pKExk" border="0"></img></a>
</div>]]></content:encoded> <wfw:commentRss>http://elyezer.com/cliente-irc-online-para-acessar-o-mandriva-br/feed/</wfw:commentRss> <slash:comments>3</slash:comments> </item> <item><title>Planeta Mandriva Brasil de cara nova!</title><link>http://elyezer.com/planeta-mandriva-brasil-de-cara-nova/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=planeta-mandriva-brasil-de-cara-nova</link> <comments>http://elyezer.com/planeta-mandriva-brasil-de-cara-nova/#comments</comments> <pubDate>Thu, 05 Feb 2009 02:01:39 +0000</pubDate> <dc:creator>Elyézer</dc:creator> <category><![CDATA[Linux]]></category> <category><![CDATA[Mandriva]]></category> <category><![CDATA[Planeta Mandriva Brasil]]></category> <category><![CDATA[Portifólio]]></category> <category><![CDATA[mandriva-br]]></category><guid isPermaLink="false">http://elyezer.com/?p=150</guid> <description><![CDATA[Ontem e noite foi lançado o novo design do Planeta Mandriva Brasil. Com o novo design está mais fácil a leitura e visialização dos posts já que foi utilizando um design clean. Quem quiser ter seu blog inscrito no Planeta &#8230; <a
href="http://elyezer.com/planeta-mandriva-brasil-de-cara-nova/">Continue reading <span
class="meta-nav">&#8594;</span></a>]]></description> <content:encoded><![CDATA[<p>Ontem e noite foi lançado o <strong>novo design</strong> do <a
title="Planeta Mandriva Brasil" href="http://planeta.mandrivabrasil.org">Planeta Mandriva Brasil</a>. Com o novo design está mais fácil a leitura e visialização dos posts já que foi utilizando um design clean.</p><p>Quem quiser ter seu blog inscrito no <a
title="Planeta Mandriva Brasil" href="http://planeta.mandrivabrasil.org">Planeta Mandriva Brasil</a> basta acessar <a
title="Como participar do Planeta Mandriva Brasil" href="http://code.google.com/p/planeta-mandriva-br/wiki/ComoParticipar">essa página</a> e seguir as instruções para saber como participar.</p><p>O código do Planeta está hospedado no <a
title="Site do projeto do Planeta Mandriva Brasil" href="http://code.google.com/p/planeta-mandriva-br/">Google Code</a>, caso encontre algum problema com o layout sinta-se livre para <a
title="Reporte um bug do Planeta Mandriva Brasil" href="http://code.google.com/p/planeta-mandriva-br/issues/list">abrir um bug</a> na pagina do projeto.</p><p>Muitas novidades ainda estão por vir. Aguardem!</p> <div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/elyezer?a=Bm-45LDZbl4:Q6Dszq_27So:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/elyezer?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/elyezer?a=Bm-45LDZbl4:Q6Dszq_27So:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/elyezer?i=Bm-45LDZbl4:Q6Dszq_27So:D7DqB2pKExk" border="0"></img></a>
</div>]]></content:encoded> <wfw:commentRss>http://elyezer.com/planeta-mandriva-brasil-de-cara-nova/feed/</wfw:commentRss> <slash:comments>5</slash:comments> </item> <item><title>Pra mim o IE6 já morreu!</title><link>http://elyezer.com/pra-mim-o-ie6-ja-morreu/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=pra-mim-o-ie6-ja-morreu</link> <comments>http://elyezer.com/pra-mim-o-ie6-ja-morreu/#comments</comments> <pubDate>Wed, 07 Jan 2009 00:07:25 +0000</pubDate> <dc:creator>Elyézer</dc:creator> <category><![CDATA[Desenvolvimento]]></category> <category><![CDATA[Design]]></category> <category><![CDATA[Planeta Mandriva Brasil]]></category> <category><![CDATA[Web]]></category> <category><![CDATA[atualizar]]></category> <category><![CDATA[browser]]></category> <category><![CDATA[ie6]]></category> <category><![CDATA[internet explorer]]></category><guid isPermaLink="false">http://elyezer.com/?p=144</guid> <description><![CDATA[Um pouco de história antes só pra começar o post bem contextualizado. O IE6 foi lançado em 27 de agosto de 2001 com suporte parcial ao CSS 1. Bom acho que com essa longa história já da pra comentar algo &#8230; <a
href="http://elyezer.com/pra-mim-o-ie6-ja-morreu/">Continue reading <span
class="meta-nav">&#8594;</span></a>]]></description> <content:encoded><![CDATA[<p>Um pouco de história antes só pra começar o post bem contextualizado. O IE6 foi <strong>lançado em 27 de agosto de 2001</strong> com <strong>suporte parcial ao CSS 1</strong>. Bom acho que com essa longa história já da pra comentar algo em cima.</p><p>Vou citar alguns pontos:</p><ul><li>O browser foi lançado em 2001, disso podemos tirar as seguintes comparações: a primeira especificação a tornar <strong>recomendação </strong>oficial pelo W3C foi o<strong> CSS 1 em dezembro de 1995</strong>, para completar temos que <strong>o CSS 2 foi oficialmente especificado</strong> pelo W3C <strong>em maio 1998</strong>, com isso já podemos perceber que, em agosto de 2001, o IE6 tinha <strong>suporte parcial ao CSS 1</strong> isso 3 anos depois da especificação do CSS 2. A segunda comparação, em 2005 o termo AJAX foi firmado o que resultou na melhoria da experiência de uso dos aplicativos web, porém, já fazia 4 anos que o IE6 havia sido lançado. A terceira (a melhor) comparação: <strong>hoje já faz 8 anos que o IE6 foi lançado</strong> e, até hoje, não fornece suporte completo ao CSS (já existe a especificação do CSS 2.1 ainda não ofical), e já estão comentando de CSS 3. Para completar o IE7 (lançado em 2006) ainda não está com suporte aos padrões assim como <a
title="Firefox" href="http://pt-br.www.mozilla.com/pt-BR/">Firefox</a>, <a
title="Safari" href="http://www.apple.com/safari/">Safari</a>, <a
title="Opera" href="http://www.opera.com/">Opera</a>, <a
title="Chrome" href="http://www.google.com/chrome">Chrome</a> e <a
title="Outros browsers" href="http://en.wikipedia.org/wiki/Comparison_of_web_browsers">outros</a> oferecem.</li><li>Não tem suporte à imagens PNG transparentes, para que um site exiba PNG transparentes no IE6 precisa ficar usando Javascript para corrigir esse problema, ou seja, código executando em sua maquina para trazer uma experiência melhor de navegação.</li><li>Todo, e qualquer desenvolvedor web, <em>odeia</em> fazer com que o site seja <em>compatível com o IE6 </em>por conta dos pontos anteriormente citados. Temos que ficar encontrando hacks e outras maneiras para driblar os problemas por conta do <strong>suporte parcial ao CSS</strong> e, consequentemente, ao padrões web.</li><li>Hoje em dia existem muitos browsers de excelente qualidade, rápidos e cheios de recursos, complementos e, de quebra, porém não menos importante com ótimo suporte aos padrões web. Mesmo o IE7 já está de bom tamanho. Por que não se atualizar? Ou mesmo quebrar paradigmas?</li></ul><p>Agora que temos alguns pontos para debater, vamos lá. O número de usuários do IE6 vem diminuindo, e isso não está bom? Não, a quantidade de usuários que ainda utilizam essa versão do IE ainda é muito grande para que simplesmente os desenvolvedores, conscientes como devem ser, abandonem essa porção de usuários. E isso acarreta no seguinte problema, enquanto os desenvolvedores preocupados em manter o site acessível para todo mundo, ficam gastando energia e esforço na correção de problemas e procurando soluções e hacks para melhorarem a experiência do usuário que usa o IE6, eles poderiam estar buscando melhores formas de usar as tecnologias atuais e oferecerem serviços ainda melhores para todos os usuários de aplicativos web.</p><p>Eu gostaria de entender os motivos e o porquê, ainda hoje, usuários continuam a usar o IE6. Com tantos recursos e novidade surgindo, por quê ainda insistem em não experimentar uma melhor navegação? Eu realmente não consigo navegar como há alguns anos atrás, para mim <em>esse tipo de navegação que tínhamos antigamente não dá mais!</em></p><p>Por isso resolvi tomar a seguinte decisão, a partir de hoje, não vou mais procurar em atender mais os usuários do IE6. Mas espera aí, você não disse que os desenvolvedores web são preocupados com a experiência do usuário? E vai simplesmente ignorar esses usuários que ainda insistem a usar um navegador mais antigo? Sim, mas não totalmente, assim como a <a
title="Apple's MobileMe drops support for IE 6" href="http://www.37signals.com/svn/posts/1072-apples-mobileme-drops-support-for-ie-6">Apple</a> já está fazendo, e como sou alguém que preza pela boa experiência de uso dos sites que desenvolvo, vou gentilmente sugerir que eles atualizem ou troquem (melhor opção pra mim) seu navegador web, quando o site for acessado por algum usuário do IE6. E como cada um sabe o que quer, vou deixar uma versão mais básica para que o usuário não fique insatisfeito ao visitar o site e deseja continuar usando o IE6. Caso ele prefira usar um navegador com melhor suporte, buscarei implementar a melhor experiência possível para que o usuário não saia assim tão triste por trocar de navegador, já que ficou usando ele por 8 anos. Não sou tão ruim assim. <img
src='http://elyezer.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /></p><p>O computador veio pra facilitar a vida de muita gente, por isso sempre existe algo sendo inventado e melhorado. Mas isso só ocorre quando os usuários realmente desejam. Não adianta nada fazermos um aplicativo web bem acabado, procurando a melhor experiência para o usuário se ele não pode ter isso, consequentemente, temos que procurar uma solução não completa.</p><p>Com diz uma frase: &#8220;Me ajuda a te ajudar!&#8221; Isso que vim pedir aqui hoje.</p><p>Referências:</p><ul><li><a
title="Internet Explorer 6" href="http://en.wikipedia.org/wiki/Internet_Explorer_6">Internet Explorer 6</a></li><li><a
title="Ajax (programming)" href="http://en.wikipedia.org/wiki/AJAX">Ajax (programming)</a></li><li><a
title="Cascading Style Sheets" href="http://en.wikipedia.org/wiki/Css">Cascading Style Sheets</a></li></ul><p>Mais informações sobre o assunto:</p><ul><li><a
title="Campanha: Pare o IE6" href="http://digitalpaperweb.com.br/ezine/development/campanha-pare-o-ie6">Campanha: Pare o IE6</a></li></ul><p>Até a próxima.</p> <div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/elyezer?a=Nea5zk6P0xE:V0UOtMAzFMM:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/elyezer?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/elyezer?a=Nea5zk6P0xE:V0UOtMAzFMM:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/elyezer?i=Nea5zk6P0xE:V0UOtMAzFMM:D7DqB2pKExk" border="0"></img></a>
</div>]]></content:encoded> <wfw:commentRss>http://elyezer.com/pra-mim-o-ie6-ja-morreu/feed/</wfw:commentRss> <slash:comments>22</slash:comments> </item> </channel> </rss><!-- Performance optimized by W3 Total Cache. Learn more: http://www.w3-edge.com/wordpress-plugins/

Minified using disk: basic
Page Caching using disk: enhanced

Served from: elyezer.com @ 2012-01-31 15:24:23 -->

