Skip to content

Instantly share code, notes, and snippets.

View gabfssilva's full-sized avatar
🎯
Focusing

Gabriel Francisco gabfssilva

🎯
Focusing
View GitHub Profile
package utils
import akka.NotUsed
import akka.stream.FlowShape
import akka.stream.scaladsl.{Flow, GraphDSL, Merge, Partition}
import scala.concurrent.Future
import scala.concurrent.ExecutionContext.Implicits.global
@gabfssilva
gabfssilva / AkkaHttpApp.scala
Created January 11, 2019 14:12
akka http showcase
import akka.actor.ActorSystem
import akka.http.scaladsl.Http
import akka.http.scaladsl.server.{Directives, Route}
import akka.stream.ActorMaterializer
import scala.concurrent.ExecutionContext
abstract class AkkaHttpApp(host: String = "localhost", port: Int = 8080) extends App with Directives {
implicit val sys: ActorSystem = ActorSystem()
implicit val mat: ActorMaterializer = ActorMaterializer()
import java.util.UUID
import akka.Done
import akka.actor.{Actor, ActorSystem, Props}
import akka.http.scaladsl.Http
import akka.http.scaladsl.server.Directives
import akka.stream.{ActorMaterializer, DelayOverflowStrategy}
import akka.stream.alpakka.sqs.scaladsl.{SqsAckSink, SqsSource}
import com.amazonaws.AmazonWebServiceRequest
import com.amazonaws.client.builder.AwsClientBuilder.EndpointConfiguration
@gabfssilva
gabfssilva / FutureUtils.java
Last active April 25, 2018 22:10
Future to CompletableFeature converter
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.concurrent.*;
import java.util.stream.Collectors;
class FutureWrapper<T> {
Future<T> future;
CompletableFuture<T> completableFuture;
@gabfssilva
gabfssilva / .java
Last active March 27, 2018 14:36
ex_for_while
import java.time.LocalDateTime;
import java.util.Scanner;
/**
* int/Integer i = 2000 + 2556 = 45.56;
* short/Short sh = 20;
* long/Long l = 20;
* boolean/Boolean = true/false;
* String = "texto"
* char/Char = 'c'
@gabfssilva
gabfssilva / Main.java
Created November 16, 2017 12:16
spring data rest
import org.springframework.data.repository.PagingAndSortingRepository;
import org.springframework.data.rest.core.annotation.RepositoryRestResource;
import javax.persistence.Entity;
import javax.persistence.Table;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.SpringApplication;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
@Entity
@gabfssilva
gabfssilva / spm.scala
Last active November 15, 2017 14:31
simple pattern matching.scala
abstract class Person
case class Worker(id: Long, name: String, company: String) extends Person
case class Student(id: Long, name: String, university: String) extends Person
object App {
def handle(p: Person) = {
p match {
case Worker(id, name, company) => println(s"this is a worker from $company")
case Student(id, name, university) => println(s"this is a student from $university")
@gabfssilva
gabfssilva / polymorphism.java
Created October 21, 2017 01:51
polymorphism ~ strategy
interface DatabaseAccess {
void save(Object entity);
}
class MySQL implements DatabaseAccess{
@Override
void save(Object entity) {
//saving obj into MySQL
}
}
@gabfssilva
gabfssilva / validation.java
Last active October 21, 2017 00:08
java 8 based validator
package org.validation.java;
import java.util.Collection;
import java.util.Collections;
import java.util.Set;
import java.util.stream.Collectors;
import java.util.stream.Stream;
/**
* @author Gabriel Francisco <[email protected]>
private object Validations {
trait Validator[F[_], T] {
def validate(field: F[T]): Boolean
}
trait NotEmpty[F[_], T] extends Validator[F, T]
trait NotBlank[F[_], T] extends Validator[F, T]
trait Contains[F[_], T] extends Validator[F, T]