Skip to content

Instantly share code, notes, and snippets.

View torao's full-sized avatar
🐯
surviving

Torao Takami torao

🐯
surviving
View GitHub Profile
@torao
torao / NoSuchMethodError-Scalate.md
Created October 31, 2014 11:01
NoSuchMethodError in Scalate 1.6.1

Scalate 1.6.1 を使用していた時に出たエラー。Scala 2.10.4 環境だったが、ライブラリに scala-runtime-2.10.0.jar, scala-compiler-2.10.0.jar が紛れ込んでいたのが原因。この 2 ファイルを削除したら発生しなくなった。

scala.reflect.runtime.ReflectionUtil.scalaShouldntLoadClassfile(String):Boolean 自体は Scala 2.11 API Reference から現れるのだが、実際は 2.10.4 から実装されていて 2.10.0 では存在しなかったのかな?

org.fusesource.scalate.TemplateException: scala.reflect.runtime.ReflectionUtils$.scalacShouldntLoadClassfile(Ljava/lang/String;)Z
    at org.fusesource.scalate.TemplateEngine.compileAndLoad(TemplateEngine.scala:732)
    at org.fusesource.scalate.TemplateEngine.compileAndLoadEntry(TemplateEngine.scala:699)
    at org.fusesource.scalate.TemplateEngine.liftedTree1$1(TemplateEngine.scala:419)
    at org.fusesource.scalate.TemplateEngine.load(TemplateEngine.scala:413)
@torao
torao / cors.scala
Created September 21, 2014 12:21
Cross-Origin Resource Sharing 挙動確認用の簡易 HTTP サーバ
// This script is to describe http://koiroha.blogspot.jp/2014/09/cross-origin-resource-sharing.html
import java.net._
import java.io._
import scala.io._
import scala.util._
val requestStatus = "([^\\s]+)\\s+([^\\s]+)\\s+([^\\s]+)".r
val server = new ServerSocket(8081)
println(s"listening client on ${server.getInetAddress.getHostAddress}:${server.getLocalPort}")
while(true){
@torao
torao / oracle-java7.yml
Last active August 29, 2015 14:05
Install Playbook of Oracle Java 7 in Ansible 1.4
# install Oracle Java 7
- name: "install required package for apt_registory"
apt: name={{item}} state=latest update_cache=yes
with_items:
- python-software-properties
- name: "add Oracle Java repository"
action: apt_repository repo='ppa:webupd8team/java'
- name: "update apt cache"
apt: update_cache=yes
- name: "accept Java license"
@torao
torao / MapCompetition.scala
Created June 7, 2014 17:45
Java と Scala の mutable/immutable Map パフォーマンス比較
import scala.collection._
import java.util._
val maxItems = 0x10000 // スケール調整: 1024,0x10000,0x100000
val div = 32
val random = new scala.util.Random
val loop = 100
def point(i:Int):Boolean = if(i <=1024){
i % (1024 / div) == 0
@torao
torao / build.sbt
Created June 5, 2014 06:44
sbt で unmanaged なディレクトリを複数指定する方法
// sbt で unmanaged な JAR を参照させたいが、ライブラリ管理上の目的でモジュールごとの
// 複数のディレクトリに保存しておきたい場合の書き方
unmanagedJars in Compile ++= Seq("lib0", "lib1", "lib2" /* ... */)
.flatMap{ l => file(s"lib/$l").listFiles() }.filter{ _.getName.endsWith(".jar") }
@torao
torao / GatherWriteScatterRead.java
Created May 16, 2014 20:27
Which faster SSD or HDD using gathering write and scattering read?
import java.nio.*;
import java.nio.channels.*;
import java.nio.file.*;
import java.util.*;
import java.util.function.*;
import java.util.stream.*;
import java.io.*;
public class GatherWriteScatterRead {
public static void main(String[] args) throws Exception {
@torao
torao / Server.scala
Created March 27, 2014 04:11
finagle-stream を使用して HTTP コンテンツ部分を非同期で送信するためのサンプル。
import com.twitter.concurrent.{Broker, Offer}
import com.twitter.finagle.Service
import com.twitter.finagle.builder.ServerBuilder
import com.twitter.finagle.stream.{EOF, StreamResponse, Stream}
import com.twitter.util.Future
import java.net.InetSocketAddress
import org.jboss.netty.buffer.{ChannelBuffers, ChannelBuffer}
import org.jboss.netty.handler.codec.http._
import scala.concurrent.ExecutionContext.Implicits.global
import scala.util.{Failure, Success}
import java.security._
import scala.util.Try
object KeyLength {
def main(args:Array[String]):Unit = {
System.out.println("<table border='1' style='font-size:smaller;'>")
System.out.println("<tr><th>Algorithm</th><th>KeySize</th><th>Alg</th><th>Private</th><th>Public</th><th>GenKeyPair</th></tr>")
Map(
"DiffieHellman" -> ((512-64) +: keySizes("DiffieHellman") :+ (2048+64)),
"DSA" -> (keySizes("DSA") :+ 4096),
@torao
torao / HowToUseSelfSignedCert.scala
Last active January 30, 2018 08:41
Scala と Java で自己署名証明書を使用したクライアント/サーバ認証 (SSL) のサンプルコード / A sample code to authenticate with self-signed certificate on Scala and Java. http://koiroha.blogspot.jp/2013/11/how-to-use-sslsocket-with-selfsigned-certificates-on-scala-or-java.html
/*
* Copyright (c) 2013 koiroha.org.
* All sources and related resources are available under Apache License 2.0.
* http://www.apache.org/licenses/LICENSE-2.0.html
*/
import java.io._
import java.security.KeyStore
import java.util.Date
import javax.net.ssl._
import scala.concurrent.duration.Duration
@torao
torao / using.scala
Created July 15, 2013 14:24
Java のリソース構文や C# の using 節に似た Scala 版の何らかのもの。型パラメータ U は U >: java.io.Closeable の方が良いのかもしれないけど java.sql.Connection などを考えると structual subtyping の方が汎用的なのかなぁと。
// ex.,
// using(new FileInputStream("foo.txt")){ in => ... }
// using(DriverManager.getConnection("jdbc:db://localhost/foo")){ con => ... }
def using[T,U <% { def close():Unit }](c:U)(f:(U)=>T):T = try { f(c) } finally { c.close() }