<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	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/"
	>

<channel>
	<title>CØdeZØne! &#187; jetty</title>
	<atom:link href="http://leandrosilva.com.br/category/jetty/feed/" rel="self" type="application/rss+xml" />
	<link>http://leandrosilva.com.br</link>
	<description>Coisas sobre desenvolvimento de software</description>
	<lastBuildDate>Sat, 21 Apr 2012 17:14:48 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
		<item>
		<title>jetty-rackup: rodando aplicações Rack no Jetty</title>
		<link>http://leandrosilva.com.br/2011/02/12/jetty-rackup-rodando-aplicacoes-rack-no-jetty/</link>
		<comments>http://leandrosilva.com.br/2011/02/12/jetty-rackup-rodando-aplicacoes-rack-no-jetty/#comments</comments>
		<pubDate>Sat, 12 Feb 2011 23:38:34 +0000</pubDate>
		<dc:creator>Leandro Silva</dc:creator>
				<category><![CDATA[java]]></category>
		<category><![CDATA[jetty]]></category>
		<category><![CDATA[jruby]]></category>
		<category><![CDATA[jython]]></category>
		<category><![CDATA[python]]></category>
		<category><![CDATA[ruby]]></category>

		<guid isPermaLink="false">http://leandrosilva.com.br/?p=809</guid>
		<description><![CDATA[Por conta de um projeto que está pintando no trabalho, que requer o uso de um conector escrito em Java, há umas duas semanas mais ou menos comecei a fazer novos testes com Jython, considerando fortemente uma solução baseada Python. Até publiquei uma aplicação boba usando Flask, só de exemplo, porque googlando não achei nada que [...]]]></description>
			<content:encoded><![CDATA[<p>Por conta de um projeto que está pintando no trabalho, que requer o uso de um conector escrito em <a href="http://en.wikipedia.org/wiki/Java_(programming_language)" target="_blank">Java</a>, há umas duas semanas mais ou menos comecei a fazer novos testes com <a href="http://jython.org" target="_blank">Jython</a>, considerando fortemente uma solução baseada <a href="http://python.org" target="_blank">Python</a>. Até publiquei <a href="https://github.com/leandrosilva/flaskito" target="_blank">uma aplicação boba</a> usando <a href="http://flask.pocoo.org" target="_blank">Flask</a>, só de exemplo, porque <em>googlando</em> não achei nada que não fosse com <a href="http://pylonshq.com" target="_blank">Pylons</a> ou <a href="http://djangoproject.com" target="_blank">Django</a>. Mas no final, Jython não pode preencher alguns requisitos e voltamos então para <a href="http://jruby.org" target="_blank">JRuby</a>.</p>
<p>É aqui que entra o tema deste post.</p>
<p>Essa semana andei fazendo algumas contribuições em um projeto <em>open source</em> bem simples, mas igualmente interessante, que é o <a href="https://github.com/leandrosilva/jetty-rackup" target="_blank">jetty-rackup</a>.</p>
<p><a href="https://github.com/leandrosilva/jetty-rackup" target="_blank"></a>O objetivo do jetty-rackup é rodar aplicações <a href="http://rack.rubyforge.org/" target="_blank">Rack</a> no <a href="http://jetty.codehaus.org/jetty/" target="_blank">Jetty WebServer</a>, sem ter que empacotá-las em <a href="http://en.wikipedia.org/wiki/WAR_(Sun_file_format)" target="_blank">arquivos WAR</a>, o que é definitivamente excelente em ambiente de desenvolvimento ou quanto você quer fazer deploy orientado a <em>git pull</em>.</p>
<h3><strong>Tutorial de 1 minuto</strong></h3>
<p>Bem, para que o jabá seja completo, nada melhor do que um tutorial. Vamos escrever então uma aplicação Sinatra básica <em>&#8211; ótima pedida para Web API.</em></p>
<p>1. Com Sinatra já instalado, crie uma aplicação <em>&#8211; app.rb</em></p>
<pre class="brush: ruby; title: ; notranslate">
require 'sinatra'

configure :development do
  Sinatra::Application.reset! # recarrega as rotas
  use Rack::Reloader          # recarrega arquivos
end

get '/?' do
  &quot;hello&quot;
end

get '/:message/?' do |message|
  &quot;hello #{message}&quot;
end
</pre>
<p>2. Com a aplicação criada, crie o arquivo rackup <em>&#8211; config.ru</em></p>
<pre class="brush: ruby; title: ; notranslate">
require 'rubygems'
require 'app'

set :run, false
set :environment, :development

run Sinatra::Application
</pre>
<p>3. Com o arquivo rackup criado, installe a <a href="rubygems.org/gems/jetty-rackup" target="_blank">gem jetty-rackup</a></p>
<p style="padding-left: 30px;">$ gem install jetty-rackup</p>
<p>4. Com a gem jetty-rackup instalada, no diretório da aplicação criada, inicie a aplicação</p>
<p style="padding-left: 30px;">$ jetty-rackup config.ru</p>
<p>5. Finalmente, com tudo pronto, teste com <a href="http://curl.haxx.se/" target="_blank">cURL</a> e <a href="http://httpd.apache.org/docs/2.0/programs/ab.html" target="_blank">Apache Benchmark</a></p>
<p style="padding-left: 30px;">$ curl http://localhost:9292/</p>
<p style="padding-left: 30px;">$ ab -n 10000 -c 25 http://localhost:9292/</p>
<p>Voilà!</p>
<p>Agora, rode o último comando algumas vezes e observe a variação crescente de &#8220;Requests per second&#8221;. JIT Compiler for the win!</p>
<h3><strong>Um pouco mais</strong></h3>
<p>Se quiser saber como usar bibliotecas Java, no repositório do projeto tem também um <a href="https://github.com/leandrosilva/jetty-rackup/tree/master/examples/using_java" target="_blank">exemplo</a> usando classes Java, tanto contidas no diretório WEB-INF/classes quanto em <a href="http://en.wikipedia.org/wiki/JAR_file" target="_blank">arquivo JAR</a> no WEB-INF/lib.</p>
<p>Divirta-se!</p>
]]></content:encoded>
			<wfw:commentRss>http://leandrosilva.com.br/2011/02/12/jetty-rackup-rodando-aplicacoes-rack-no-jetty/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Você pode ter o seu próprio GitHub</title>
		<link>http://leandrosilva.com.br/2009/06/02/voce-pode-ter-o-seu-proprio-github/</link>
		<comments>http://leandrosilva.com.br/2009/06/02/voce-pode-ter-o-seu-proprio-github/#comments</comments>
		<pubDate>Tue, 02 Jun 2009 17:34:32 +0000</pubDate>
		<dc:creator>Leandro Silva</dc:creator>
				<category><![CDATA[github]]></category>
		<category><![CDATA[jetty]]></category>
		<category><![CDATA[jruby]]></category>

		<guid isPermaLink="false">http://leandrosilva.com.br/?p=348</guid>
		<description><![CDATA[Quem é que &#8220;não&#8221; conhece e adora o GitHub? Com certeza o número de pessoas que respondem &#8220;sim&#8221; a está pergunta só tem diminuido, porque o GitHub cresce em popularidade e sucesso a cada dia. Também pudera, né? Bem, mas indo direto ao assunto, a novidade que fiquei sabendo hoje é que agora é possível [...]]]></description>
			<content:encoded><![CDATA[<p>Quem é que &#8220;não&#8221; conhece e adora o <a href="http://github.com" target="_blank">GitHub</a>? Com certeza o número de pessoas que respondem &#8220;sim&#8221; a está pergunta só tem diminuido, porque o GitHub cresce em popularidade e sucesso a cada dia. Também pudera, né?</p>
<p>Bem, mas indo direto ao assunto, a novidade <a href="http://twitter.com/AkitaOnRails/status/2003307588" target="_blank">que fiquei sabendo hoje</a> é que agora é possível para qualquer empresa ter sua própria instalação de GitHub.</p>
<p><a href="http://fi.github.com/"><img class="aligncenter" src="http://fi.github.com/images/modules/overview/firewall.png" alt="" width="365" height="249" /></a></p>
<p><a href="http://fi.github.com/" target="_blank">GitHub:FI</a> é o novo produto que a moçada da <span id="profile_company"><a href="http://logicalawesome.com/" target="_blank">Logical Awesome</a> está colocando no mercado. Ele é basicamente o mesmo bom e <span style="text-decoration: line-through;">velho</span> jovem GitHub de sempre, mas instalado na infra-estrutura privada da sua empresa, rodando sobre <a href="http://jruby.codehaus.org" target="_blank">JRuby</a> + <a href="http://www.mortbay.org/jetty" target="_blank">Jetty</a> em vez do clássico <a href="http://www.ruby-lang.org" target="_blank">Ruby</a> + <a href="http://mongrel.rubyforge.org" target="_blank">Mogrel</a>.</span></p>
<p><span>Você pode saber mais no <a href="http://github.com/blog/441-announcing-github-fi" target="_blank">post oficial</a> de anúncio dele.<br />
</span></p>
<p><span>Taí, mais um ponto para o JRuby! \o/<br />
</span></p>
]]></content:encoded>
			<wfw:commentRss>http://leandrosilva.com.br/2009/06/02/voce-pode-ter-o-seu-proprio-github/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

