Skip to content

Instantly share code, notes, and snippets.

View nraychaudhuri's full-sized avatar
💭
Building Tublian

Nilanjan Raychaudhuri nraychaudhuri

💭
Building Tublian
View GitHub Profile
@nraychaudhuri
nraychaudhuri / AkkaStreams.scala
Created May 11, 2014 23:56
One Producer multiple subscribers
package samples
import akka.stream.scaladsl.Flow
import akka.stream.{MaterializerSettings, FlowMaterializer}
import org.reactivestreams.api.{Consumer, Producer}
import org.reactivestreams.spi.{Subscription, Subscriber}
import akka.actor.ActorSystem
object OneProducerManySubscribers {
@nraychaudhuri
nraychaudhuri / Application.java
Created April 13, 2014 16:24
Editing a form
package controllers;
import com.fasterxml.jackson.databind.ObjectMapper;
import models.Computer;
import play.mvc.*;
import play.data.Form;
import java.util.Map;
public class Application extends Controller {

Getting Started with Scala

What is Scala?

Scala is a general-purpose programming language designed to express common programming patterns in a concise, elegant, and type-safe way. It smoothly integrates features of object-oriented and functional programming languages, enabling programmers to be more productive. Scala is an acronym for “Scalable Language”. This means that Scala grows with you.

Create a new Scala project using Activator

@nraychaudhuri
nraychaudhuri / PlayAkkaExample.scala
Last active April 19, 2018 09:23
Returning Play response from Akka actors without using ask
package controllers
import play.api.mvc._
import scala.concurrent._
import akka.actor.{Props, Actor}
import play.api.Play.current
import play.api.libs.concurrent.Akka
import scala.concurrent.ExecutionContext.Implicits._
object Application extends Controller {
@nraychaudhuri
nraychaudhuri / gist:8869701
Created February 7, 2014 19:12
Naming Netty threads
val factory = new org.jboss.netty.channel.socket.nio.NioServerSocketChannelFactory(
new NioServerBossPool(Executors.newCachedThreadPool(NamedThreadFactory("play-netty-boss")), 1, ThreadNameDeterminer.CURRENT),
new NioWorkerPool(Executors.newCachedThreadPool(NamedThreadFactory("play-netty-worker")),
Runtime.getRuntime.availableProcessors * 2,
ThreadNameDeterminer.CURRENT)
)
//instead of using WS.url("http://www.google.com") use new CustomRequestHeader(url)
class CustomRequestHolder extends WSRequestHolder {
public CustomRequestHolder(String url) { super(url); }
@Override
public Promise<Response> execute(String method) {
@nraychaudhuri
nraychaudhuri / gist:6641556
Created September 20, 2013 18:15
controller without extends
package controllers
import play.api._
import play.api.mvc._
import play.api.mvc.Controller
object Application {
def index = Action {
Results.Ok(views.html.index("Your new application is ready."))
@nraychaudhuri
nraychaudhuri / Application.java
Created August 27, 2013 05:08
Using custom multipart body parser that uses specified dir to save files
package controllers;
import java.io.File;
import java.util.List;
import play.mvc.BodyParser;
import play.mvc.BodyParser.Of;
import play.mvc.Controller;
import play.mvc.Http.MultipartFormData;
import play.mvc.Http.MultipartFormData.FilePart;
@nraychaudhuri
nraychaudhuri / gist:6049268
Created July 21, 2013 17:39
Slick table example
case class Speaker(name: String, bio: String, twitterId: Option[String], id: Option[Long] = None)
class Speakers extends Table[Speaker]("Speaker") {
def id = column[Long]("id", O.PrimaryKey, O.AutoInc)
def name = column[String]("name")
def bio = column[String]("bio")
def twitterId = column[Option[String]]("twitterId")