Skip to content

Instantly share code, notes, and snippets.

View aya-eiya's full-sized avatar

ayabe hidetoshi aya-eiya

View GitHub Profile
@aya-eiya
aya-eiya / MarioOOP.groovy
Created August 31, 2012 06:57
マリオを抽象化してみた
interface キャラ {
public void 死ぬ()
}
abstract class Abs敵キャラ implements キャラ{
String _name = "名無しさん"
public void 死ぬ(){
println "${_name}死亡"
}
}
@aya-eiya
aya-eiya / executor_alter.groovy
Created July 7, 2012 08:35
Alterメソッドでsubmit処理を変更してみる
import java.util.concurrent.ExecutorService
import java.util.concurrent.BlockingQueue
import java.util.concurrent.LinkedBlockingQueue
import java.util.concurrent.Executors
import java.util.concurrent.Callable
ExecutorService.metaClass.define {
alter = {
this.submit = {Closure closure ->
return delegate.submit (new Callable(){
@aya-eiya
aya-eiya / regularHexagon.html
Created May 1, 2012 10:01
正多角形をCanvasに描画する
<html>
<script>
(function(glb,loc){
loc.onLoad = function(){
var cnv = loc.myCanvas = glb.document.getElementById('myCanvas');
var context = cnv.getContext("2d");
context.fillStyle = "#3411FF";
context.strokeStyle = "red";
context.moveTo(230.0,130.0);context.lineTo(230.0,130.0);context.lineTo(180.0,216.60254037844385);context.lineTo(80.00000000000003,216.60254037844388);context.lineTo(30.0,130.0);context.lineTo(79.99999999999996,43.39745962155615);context.lineTo(179.99999999999994,43.397459621556095);context.lineTo(230.0,129.99999999999997);
context.stroke();
@aya-eiya
aya-eiya / Hello.m
Created April 20, 2012 05:38
WindowsでObjective-C
#import <stdio.h>
#import <objc/object.h>
@interface Hello : Object
-(void)sayHello;
@end
@implementation Hello
-(id) init {
self=[super init];
@aya-eiya
aya-eiya / app.js
Created March 12, 2012 12:53
expressの初期化時サンプル:メインScript説明コメント付き
/**
* Module dependencies.
*/
var express = require('express') // express の機能を使う
, routes = require('./routes'); // ルーティングのあとの処理
// express.createServer()で作成したオブジェクトをエクスポートする
// エクスポートされたオブジェクトのメンバは、このファイルがrequireで
// 参照を受けた際に公開される。
@aya-eiya
aya-eiya / MD5cmd.js
Created March 6, 2012 14:41
便利コマンドバッチ集(ファイルサイズ取得/MD5取得/JScript正規表現置換/etc..)
// MD5cmd.js
// (C) aya_eiya 2012
(function (){
function readBinaryFile(FileName){
var streamObj = new ActiveXObject("ADODB.Stream");
var resultObj = null;
streamObj.Type = 1;
streamObj.Open();
streamObj.LoadFromFile(FileName);
@aya-eiya
aya-eiya / class diff with jad.sct
Created March 1, 2012 06:12
Winmerge用のプラグインです。ClassファイルをJadして比較します。
<scriptlet>
<!-- Diff Class files with jad plugin for WinMerge . (C) aya_eiya 2012 -->
<implements type="Automation" id="dispatcher">
<property name="PluginEvent">
<get/>
</property>
<property name="PluginDescription">
<get/>
</property>
<property name="PluginFileFilters">
@aya-eiya
aya-eiya / getAllUpperLowerPattern.hs
Created February 21, 2012 08:38
指定した文字列の大文字小文字の組み合わせ全パターンのリストを取得する #haskell
module Main where
import Data.List
import Data.Char
main
= print "ABCD"
getAllUpperLowerPattern str = f3
where
f1 = sequence $ replicate (length str) "01"
f2 = map (\(fs,str)->zip fs str) $ zip f1 (replicate (length f1) str)
@aya-eiya
aya-eiya / getTerminals.hs
Created February 20, 2012 01:54
指定したディレクトリを再帰的に探索して末端のパスのリストを返します。#haskell
module Main where
import Directory
import Data.List
import System
main = do [ root ] <- getArgs
cnt <- getTerminals [] root
getTerminals root path
= do b <- doesDirectoryExist pth
@aya-eiya
aya-eiya / 1_howToPutCharToCanvas.html
Created February 2, 2012 03:11
HTML5のCanvasの練習です。テキストエリアの文字をCanvasに表示します。
<!doctype html />
<html>
<head>
<title>1_howToPutCharToCanvas.html</title>
<style>
canvas#vwrMain{
border:1px solid black;
}
div#main{
margin:5px;