Skip to content

Instantly share code, notes, and snippets.

🗾
TYO

Kazuhiro Sera seratch

🗾
TYO
Block or report user

Report or block seratch

Hide content and notifications from this user.

Learn more about blocking users

Contact Support about this user’s behavior.

Learn more about reporting abuse

Report abuse
View GitHub Profile
@seratch
seratch / build.gradle.kts
Last active Oct 7, 2019
Lightning ⚡app in Kotlin
View build.gradle.kts
plugins {
id("org.jetbrains.kotlin.jvm") version "1.3.50"
}
repositories {
mavenCentral()
}
dependencies {
implementation(platform("org.jetbrains.kotlin:kotlin-bom"))
@seratch
seratch / App.java
Last active May 20, 2019
Call Slack APIs with no deps in Java 11+
View App.java
package com.github.seratch;
import java.net.URI;
import java.net.URLEncoder;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
import java.nio.charset.StandardCharsets;
import java.util.Map;
@seratch
seratch / H2SampleSpec.scala
Last active Dec 25, 2018
r2dbc sample in Scala
View H2SampleSpec.scala
import org.scalatest._
class H2Spec extends FlatSpec with Matchers {
case class Sample(id: Long, name: Option[String])
"H2 connections" should "work" in {
import io.r2dbc.h2.{ H2ConnectionConfiguration, H2ConnectionFactory }
import io.r2dbc.client.R2dbc
@seratch
seratch / scalamatsuri-2018-oss-hack-a-thon.md
Last active Mar 28, 2018
ScalaMatsuri 2018 OSS Hack-a-thon w/z @seratch
View scalamatsuri-2018-oss-hack-a-thon.md
@seratch
seratch / abstract_in_japanese.md
Last active Aug 9, 2017
RubyKaigi 2017 CFP (not accepted)
View abstract_in_japanese.md

私は Scala のフルスタック Web フレームワークの作者です。 そのフレームワーク、Skinny Framework のコンセプトは Scala on Rails で、このフレームワークは Ruby on Rails に強く影響を受けています。 このフレームワークはリリースされてしばらく経っており、国内外の企業で利用されています。

http://skinny-framework.org/

私は数年間 Scala を好んで使っていますが、同時にその間仕事では Rails エンジニアとして Web アプリケーション開発に従事してきました。 Rails コミュニティはとても大きく、Rails フォロワーのフレームワークメンテナとして、進化を続ける Rails コミュニティを追いかけていくことは簡単ではありませんでした。

それだけでなく、近年、Scala コミュニティは非同期な API を使った non blocking なアーキテクチャがトレンドになってきています。

@seratch
seratch / Bootstrap.scala
Last active Oct 8, 2017
Skinny Micro on GAE
View Bootstrap.scala
import javax.servlet._
import skinny.micro._
class Bootstrap extends LifeCycle {
override def init(ctx: ServletContext) {
example.App.mount(ctx)
}
}
@seratch
seratch / doc.md
Last active Feb 26, 2017
Scala Introduction for Java developers
View doc.md

Scala Introduction for Java developers

  • ScalaMatsuri 2017

prerequisites

  • JDK 8+ (if you'd like to use the latest Scala)
  • brew install sbt to install the global sbt launcher script

scala lang version

@seratch
seratch / app.scala
Last active Jan 3, 2017
scalikejdbc-streams alpha
View app.scala
package example
// How to run: `sbt run`
object ReactiveStreamsExample extends App {
import scalikejdbc._
import org.slf4j._
private val logger = LoggerFactory.getLogger("app")
@seratch
seratch / console.log
Created Nov 4, 2016
broken .sbt/0.13/plugins/*
View console.log
[info] Loading global plugins from /Users/kazuhirosera/.sbt/0.13/plugins
Error wrapping InputStream in GZIPInputStream: java.io.EOFException
at sbt.ErrorHandling$.translate(ErrorHandling.scala:10)
at sbt.WrapUsing.open(Using.scala:34)
at sbt.Using.apply(Using.scala:23)
at sbt.IO$$anonfun$gzipFileIn$1.apply(IO.scala:863)
at sbt.IO$$anonfun$gzipFileIn$1.apply(IO.scala:862)
at sbt.Using.apply(Using.scala:24)
at sbt.IO$.gzipFileIn(IO.scala:862)
at sbt.Sync$.readUncaught(Sync.scala:88)
@seratch
seratch / gist:29c612516b02a1b04e55bf5c59461bbc
Created Nov 3, 2016
stackoverflow error while running compile:doc in 2.12.0
View gist:29c612516b02a1b04e55bf5c59461bbc
java.lang.StackOverflowError
at java.lang.StringBuilder.append(StringBuilder.java:202)
at scala.collection.mutable.StringBuilder.append(StringBuilder.scala:267)
at scala.tools.nsc.doc.ScaladocSyntaxAnalyzer$ScaladocJavaUnitScanner.putCommentChar(ScaladocAnalyzer.scala:233)
at scala.tools.nsc.javac.JavaScanners$JavaScanner.skipBlockComment(JavaScanners.scala:585)
at scala.tools.nsc.doc.ScaladocSyntaxAnalyzer$ScaladocJavaUnitScanner.skipBlockComment(ScaladocAnalyzer.scala:245)
at scala.tools.nsc.javac.JavaScanners$JavaScanner.skipBlockComment(JavaScanners.scala:585)
at scala.tools.nsc.doc.ScaladocSyntaxAnalyzer$ScaladocJavaUnitScanner.skipBlockComment(ScaladocAnalyzer.scala:245)
at scala.tools.nsc.javac.JavaScanners$JavaScanner.skipBlockComment(JavaScanners.scala:585)
at scala.tools.nsc.doc.ScaladocSyntaxAnalyzer$ScaladocJavaUnitScanner.skipBlockComment(ScaladocAnalyzer.scala:245)
You can’t perform that action at this time.