Skip to content

Instantly share code, notes, and snippets.

View bananaumai's full-sized avatar
🙄

bnn bananaumai

🙄
  • MODE, Inc.
  • Tokyo
View GitHub Profile
<?php
require_once 'FizzBuzz.php';
class FizzBuzzTest extends PHPUnit_Framework_TestCase
{
/**
* makeFizzBuzz
* @dataProvider provideMakeFizzBuzz
*/
@bananaumai
bananaumai / Caluculator.scala
Created June 11, 2013 12:37
演算子オーバーロードとドメインオブジェクト ref: http://qiita.com/items/bf42e8accc7550ba3943
object Caluculator extends App {
val walet:List[Money] = Money(100) :: Money(200) :: Money(300) :: Nil
val sum:Money = (Money(0) /: walet) (_ + _)
println(sum.toString)
}
@bananaumai
bananaumai / gist:164b24b264e0f917007c
Last active August 29, 2015 14:17
JSでLinked Listのイメージ。大きなサイズのリストでforEach等のtraversableなメソッドを実行するとstack overflowする。
'use strict';
var LinkedList = {};
LinkedList.prototype = {
head: function() {
return this._head;
},
tail: function() {
return this._tail;
@bananaumai
bananaumai / gist:cc2f4d90662aa823ce9e
Created March 23, 2015 06:58
lodashのcloneを用いた実装
var _ = require('lodash');
function iPush(arr, val) {
var arr2 = _.clone(arr);
arr2.push(val);
return arr2;
}
var arr = [];
import akka.actor._
import akka.routing.RoundRobinPool
import akka.actor.SupervisorStrategy._
import scala.concurrent.duration._
import scala.util.Random
case object Run
case object Task
class ResumeException extends RuntimeException
@bananaumai
bananaumai / mecab_basic.py
Created March 7, 2016 16:59
mecab sample
import MeCab
t = MeCab.Tagger('-Ochasen')
n = t.parseToNode('MeCabを使って何かやってみる。')
while n:
print("surface:\t{0}".format(n.surface))
print("feature:\t{0}".format(n.feature))
print("cost:\t{0}".format(n.feature))
n = n.next
@bananaumai
bananaumai / seq2candlestick.js
Last active December 23, 2016 13:41
Googleスプレッドシートで連続データをローソク足チャート描画用のデータに変換するGoogle Apps Script
function seq2candlestick(range, nDiv, noHeader) {
const vals = range.filter(function(val) { return val != "" }).map(function(val) { return Number(val) })
const res = _splitseq(vals, Number(nDiv)).map(function(ns) {
const min = Math.min.apply(null, ns)
const q1 = _q1(ns)
const q3 = _q3(ns)
const max = Math.max.apply(null, ns)
return [min, q1, q3, max]
})
if (noHeader) {
root = true
[*]
end_of_line = lf
insert_final_newline = true
charset = utf-8
indent_style = space
indent_size = 2
@bananaumai
bananaumai / ohello-immutable.js
Last active January 4, 2017 03:11
オセロ用のモデル
import IM from 'immutable'
import _ from 'lodash'
export const DISC = {
WHITE_SIDE : Symbol('WHITE_SIDE'),
BLACK_SIDE : Symbol('BLACK_SIDE')
}
export const SQUARE_STATUSES = {
WHITE: Symbol('WHITE'),
require 'set'
COL_NUM = 8
def queen()
place([], 1, COL_NUM).select{ |l| l.length == 8 }
end
def place(accum, col, col_num)
available_squares = find_available_squares(accum, col_num)