Skip to content

Instantly share code, notes, and snippets.

@kiris
kiris / gist:1305828
Created October 22, 2011 09:52
crash the dart compiler!
class A<T> {}
class C<T extends T> extends A<T> {}
main() {}
@kiris
kiris / gist:2707543
Created May 16, 2012 04:54
Hello, World!
public class Main<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22,T23,T24,T25,T26,T27,T28,T29,T30,T31,T32,T33,T34,T35,T36,T37,T38,T39,T40,T41,T42,T43,T44,T45,T46,T47,T48,T49,T50,T51,T52,T53,T54,T55,T56,T57,T58,T59,T60,T61,T62,T63,T64,T65,T66,T67,T68,T69,T70,T71,T72,T73,T74,T75,T76,T77,T78,T79,T80,T81,T82,T83,T84,T85,T86,T87,T88,T89,T90,T91,T92,T93,T94,T95,T96,T97,T98,T99,T100,T101,T102,T103,T104,T105,T106,T107,T108,T109,T110,T111,T112,T113,T114,T115,T116,T117,T118,T119,T120,T121,T122,T123,T124,T125,T126,T127,T128,T129,T130,T131,T132,T133,T134,T135,T136,T137,T138,T139,T140,T141,T142,T143,T144,T145,T146,T147,T148,T149,T150,T151,T152,T153,T154,T155,T156,T157,T158,T159,T160,T161,T162,T163,T164,T165,T166,T167,T168,T169,T170,T171,T172,T173,T174,T175,T176,T177,T178,T179,T180,T181,T182,T183,T184,T185,T186,T187,T188,T189,T190,T191,T192,T193,T194,T195,T196,T197,T198,T199,T200,T201,T202,T203,T204,T205,T206,T207,T208,T209,T210,T211,T212,T213,T214,T215,T216,T217,T218,T219,T220,T221,T222,T223
@kiris
kiris / gist:3103290
Created July 13, 2012 07:07
syscall勉強会 #1のまとめ
* syscall勉強会 #1
- 告知: http://connpass.com/event/700/
- この勉強会の趣旨: Linuxシステムコールを通して、カーネルの仕組みを勉強する
- システムコール == カーネルのAPI。プログラマにとって馴染みやすそう。
- 本日のお題「getpid」
- プロセスIDを取得するシステムコール
- スライド: http://shomah4a.net/slides/linuxsyscall/01/
- サンプルコード: http://shomah4a.net/slides/linuxsyscall/01/_downloads/sample.c
@kiris
kiris / gist:3109849
Created July 14, 2012 07:31
lombok @ExtensionMethod sample.
import lombok.experimental.ExtensionMethod;
// @ExtensionMethod({ String.class }) // Compile Error.
@ExtensionMethod({ Extensions.class })
public class Main {
public static void main(String[] args) {
System.out.println("Hello, %s".format("World.")); // => "Hello, World."
}
}
@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) {
@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: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 / 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 / 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
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 {