Skip to content

Instantly share code, notes, and snippets.

View sifue's full-sized avatar

Soichiro Yoshimura sifue

View GitHub Profile
@sifue
sifue / file0.txt
Created October 21, 2013 06:10
com.github.scctのscct_2.10;0.2-SNAPSHOTが見つからなくて困った際の対処として0.3-SNAPSHOTを使う ref: http://qiita.com/sifue/items/d9dd2b34ed64a154a17f
sbt.ResolveException: unresolved dependency: com.github.scct#scct_2.10;0.2-SNAPSHOT: not found
@sifue
sifue / gist:11163362
Created April 22, 2014 02:24
切り出したい処理が処理の中間にあるメソッド
import java.nio.charset.Charset
import scala.util.Random
/**
* ランダムに文字列を一つだけ埋め込むことにできるテンプレートを取得する
*/
object RandomTemplateProvider {
private val templates = Seq(
"<html><body><h1>%s</h1></body></html>",
"# %s",
@sifue
sifue / gist:11163444
Created April 22, 2014 02:28
切り出したい処理が処理の中間にあるメソッド同士の重複行排除の例
/**
* 重複行を排除した上記と同様の処理を持つオブジェクト
*/
object DeleteDuplicate extends App {
/**
* メッセージを受け取りテンプレートに埋め込んだ上でそのUTF-8でのバイト数と内容を表示する
* @param message
*/
def printByteLengthAndContent(message: String) = printTargetLengthAndContent(message, {
@sifue
sifue / gist:11370073
Created April 28, 2014 12:16
Erlangのインストール
sudo su -
cd /usr/local/src
wget "http://www.erlang.org/download/otp_src_17.0.tar.gz"
cd otp_src_17.0
./configure --enable-smp-support \
--enable-m64-build \
--enable-halfword-emulator \
--disable-native-libs \
--disable-sctp \
--enable-threads \
@sifue
sifue / gist:11370099
Created April 28, 2014 12:17
erlang開発用に足すvimrc(NeoBundle前提)
" erlangのシンタクスハイライト
NeoBundle 'vim-erlang/vim-erlang-runtime'
" erlangのオムニ補完
NeoBundle 'vim-erlang/vim-erlang-omnicomplete'
""""" erlang用設定 """"""""
" erlファイルをerlangとして認識する
au BufNewFile,BufRead *.erl setf erlang
" :makeでerlang構文チェック
au FileType erlang setlocal makeprg=erlc\ %
@sifue
sifue / geometory.erl
Created April 28, 2014 12:18
geometory.erl
-module(geometory).
-export([area/1]).
area({rectangle, Width, Ht}) -> Width * Ht;
area({circle, R}) -> 3.14159 * R * R.
@sifue
sifue / Build.scala
Last active August 29, 2015 14:00
Play2.1でレイヤー化アーキテクチャを強制するBuild.scala
import sbt._
import Keys._
import play.Project._
object ApplicationBuild extends Build {
val appName = "layered"
val appVersion = "1.0-SNAPSHOT"
override def settings = super.settings ++ com.typesafe.sbtidea.SbtIdeaPlugin.ideaSettings
@sifue
sifue / gist:11389818
Created April 29, 2014 03:09
Slickのコード例
val q = (for {r .where(_.channel is target.getName)
.where(_.nickname is nickname)
val length: Int = q.list().length
@sifue
sifue / gist:11389831
Created April 29, 2014 03:10
Slickのコード例2
val q = (for {r .where(_.channel is target.getName)
.where(_.updateAt >= countedDate)
.groupBy(_.nickname)
val qGroup = q.map {
case (nickname, grouped) => (nickname, grouped.length)
}
val qSort = qGroup.sortBy(_._2.desc)
@sifue
sifue / SlackClient.scala
Created August 16, 2014 10:32
Slack API Client for Message Posting with API limit rating
import java.util.concurrent.Semaphore
import dispatch._
import dispatch.Defaults._
/**
* SlackのAPIへの操作を行うクライアント
* 制限に引っかかららないように1秒間に1回しか実行できない制御をかけてある
*/
object SlackClient {