Skip to content

Instantly share code, notes, and snippets.

@kiris
kiris / notify_channel_created.coffee
Created April 8, 2015 04:32
Slackの新しいチャンネルが出来たらHubotに通知させる
# Description:
# notify create channel on Slack in #new_channels
#
# Notes:
# required hubot-slack@3.0.0+
#
# Author:
# kiris
module.exports = (robot) ->
@kiris
kiris / make-targets.zsh
Created March 12, 2015 02:52
makeのtargetをpecoで選択する
function peco-make-targets () {
BUFFER=$(grep -o '^[^#[:space:]].*:' Makefile | sed 's/\([^:]*\):/make \1/' | peco --query "$LBUFFER")
CURSOR=$#BUFFER
zle clear-screen
}
zle -N peco-make-targets
## usage
# bindkey '^x^m' peco-make-targets
@kiris
kiris / gist:e5962e2a311696a665f8
Last active August 29, 2015 14:16
Ctrl+^で上のディレクトリに移動する
function parent-directory() {
cd '..'
zle send-break
}
zle -N parent-directory
bindkey '^^' parent-directory
function collect(array, fn, scope) {
var results = [],
r,
i = 0,
index = 0,
len = array.length;
for (; i < len; i++) {
r = fn.call(scope, array[i], i, array);
if (r !== null) {
trait FindTaskContext {
def order:String
def page:Int
def limit:Int
}
class TaskController {
def findTask(code:String, name:String, order:String, limit:Int, page:Int): List[Task] = {
// 実際はDBの接続先情報とかも必要なのでもっと複雑になると思う
object Context extends FindTaskContext {
@kiris
kiris / mahjong.scala
Created July 6, 2013 02:30
http://www.itmedia.co.jp/enterprise/articles/1004/03/news002_2.html が会社で流行ってたのでScalaで解いてみた。 枝切りとかは面倒なのでしてない。
object Mahjong {
type Hands = Seq[(Int, Int)]
type State = (List[Mentsu], Option[Int], Option[Mati])
abstract class Mentsu
case class Zyuntsu(n: Int) extends Mentsu
case class Kotsu(n: Int) extends Mentsu
abstract class Mati
case class ZyuntsuMati(n1: Int, n2:Int) extends Mati
@kiris
kiris / shibuya-el-position-paper.md
Created September 4, 2012 09:39 — forked from ainame/shibuya-el-position-paper.md
shibuya.elのポジションペーパーです。githubアカウントをお持ちの方はforkしてお使いください。

Shibuya.el#1 ポジションペーパー

Personal

  • 名前(任意)

    • 岩永 賢明
  • Twitter or Facebookのアカウント or HN等

  • @kiris

@kiris
kiris / gist:3555005
Created August 31, 2012 15:55
第(2+1)回 六本木 Linux カーネル読書会まとめ

第(2+1)回 六本木 Linux カーネル読書会

今回はexecveの中を流れを追ってみる。

Systemtap

  • @mmitou がexecve観察用のSystemtapスクリプトを書いてきてくれた(https://gist.github.com/3433352)
  • 「SystemTap」とは簡単なスクリプトを書くことで、稼働中のLinuxカーネルに対して実行情報を取得するためのツール。
@kiris
kiris / gist:3109900
Created July 14, 2012 07:42
lombok @ExtensionMethod sample3.
import lombok.experimental.ExtensionMethod;
@ExtensionMethod({ Extensions1.class, Extensions2.class })
public class Main {
public static void main(String[] args) {
System.out.println("test".addedMethod()); // => test added method 2
}
}
class Extensions1 {
@kiris
kiris / gist:3109868
Created July 14, 2012 07:37
lombok @ExtensionMethod sample2.
import lombok.experimental.ExtensionMethod;
@ExtensionMethod({ Extensions1.class, Extensions2.class })
public class Main {
public static void main(String[] args) {
System.out.println("test".addedMethod()); // => "test added method 1"
}
}
class Extensions1 {
public static String addedMethod(String value) {