Skip to content

Instantly share code, notes, and snippets.

View alexandreaquiles's full-sized avatar

Alexandre Aquiles alexandreaquiles

View GitHub Profile
import java.util.Iterator;
public class FibonacciSequence implements Iterator<Long> {
private long n = 0;
private long a = 0;
private long b = 1;
public boolean hasNext() { return a + b > 0; }
public Long next() {
long fib;
if(n == 0 || n == 1) {
@alexandreaquiles
alexandreaquiles / FunctionalJavaFibonacci.java
Last active December 12, 2015 09:59
Lazy Fibonacci implementation in Java using the Functional Java library.
import fj.F2;
import fj.data.List;
import fj.data.Stream;
public class FunctionalJavaFibonacci {
public static final Stream<Long> fibonacciSequence = new F2<Long, Long, Stream<Long>>() {
public Stream<Long> f(final Long a, final Long b) {
return Stream.cons(a, curry().f(b).lazy().f(a + b));
}
@alexandreaquiles
alexandreaquiles / TotallyLazyFibonacci.java
Created February 11, 2013 17:54
Lazy Fibonacci implementation using the Totally Lazy library.
import static com.googlecode.totallylazy.Callables.first;
import static com.googlecode.totallylazy.Computation.computation;
import static com.googlecode.totallylazy.Pair.reduceLeftShift;
import com.googlecode.totallylazy.Pair;
import com.googlecode.totallylazy.Sequence;
import com.googlecode.totallylazy.numbers.Sum;
public class TotallyLazyFibonacci {
@Controller
class TarefasController {
//restante omitido - mas não remova!
@RequestMapping("tarefa/listaAjax")
public @ResponseBody List<Tarefa> listaAjax() {
JdbcTarefaDao dao = new JdbcTarefaDao();
return dao.lista();
}
@alexandreaquiles
alexandreaquiles / pom.xml
Last active December 29, 2015 06:09
Arquivo de configuração do Maven que contém as dependências que devem ser utilizadas em um projeto Spring MVC.
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>br.com.caelum</groupId>
<artifactId>projetao</artifactId>
<packaging>war</packaging>
<version>1.0-SNAPSHOT</version>
<name>Projetao Spring MVC</name>
<dependencies>
@alexandreaquiles
alexandreaquiles / Context.xml
Last active March 2, 2017 21:54
Configurando um DataSource com JNDI no Spring.
<!-- no diretorio de instalacao do Tomcat -->
<Resource name="jdbc/dataSource" auth="Container" type="javax.sql.DataSource"
maxActive="100" maxIdle="30" maxWait="10000"
username="root" password=""
driverClassName="com.mysql.jdbc.Driver"
url="jdbc:mysql://localhost/fj21"/>
Dependência é o principal problema em desenvolvimento de software. Duplicação é o sintoma.
Mas, ao contrário da maioria dos problemas na vida, nos quais eliminar os sintomas faz com que um problema mais grave apareça em outro lugar, eliminar duplicação nos programas elimina dependência.
Kent Beck, em TDD by Example
http://alexandreaquiles.com.br/2010/08/17/63/
@alexandreaquiles
alexandreaquiles / HoraAtualServlet.java
Last active January 4, 2016 02:49
Servlet que mostra a hora atual lá no Japão!
package hora;
import java.io.IOException;
import java.io.PrintWriter;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.TimeZone;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
@alexandreaquiles
alexandreaquiles / HoraAtualServletReloadComMeta.java
Last active January 4, 2016 02:49
Servlet que mostra hora lá no Japão e que, além disso, recarrega a página a cada 5 segundos. Para isso, é utilizada a tag <meta> com refresh no cabeçalho do HTML: <meta http-equiv="refresh" content="5">
package hora;
import java.io.IOException;
import java.io.PrintWriter;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.TimeZone;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
@alexandreaquiles
alexandreaquiles / HoraAtualServletReloadComJS.java
Last active January 4, 2016 02:59
Servlet que mostra hora lá no Japão e que, além disso, recarrega a página a cada 5 segundos. Para isso, é utilizado Javascript com a função setInterval().
package hora;
import java.io.IOException;
import java.io.PrintWriter;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.TimeZone;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;