#どうすれば小さなチームでも大きな成果を出せるのか 少人数のチーム、低コストで開発を続けていくためのプロセスを学ぶ
株式会社ソニックガーデン 代表取締役 倉貫 義人
対象:チームでソフトウェア開発をしているエンジニアやディレクター
###大企業との違い
<?php | |
$f = function ($input) { | |
echo "input: " . $input; | |
}; | |
try { | |
// ポート4000、待機プロセス数2 | |
MultiClientTCPServer::instance(4000, 2)->run($f); | |
} catch (RuntimeException $e) { |
# -*- encoding: utf-8 -*- | |
class VirtualAccountProxy | |
def initialize(&creation_block) | |
@creation_block = creation_block | |
end | |
def deposit(amount) | |
s = subject | |
return s.deposit(amount) |
#どうすれば小さなチームでも大きな成果を出せるのか 少人数のチーム、低コストで開発を続けていくためのプロセスを学ぶ
株式会社ソニックガーデン 代表取締役 倉貫 義人
対象:チームでソフトウェア開発をしているエンジニアやディレクター
###大企業との違い
class Array | |
def quick_sort | |
return self if length <= 1 | |
base = pop #pivot | |
smaller, bigger = partition { |v| v <= base } | |
push base #for keep original | |
smaller.quick_sort + [base] + bigger.quick_sort | |
end | |
end |
class Array | |
def merge_sort | |
return self if length <= 1 | |
a, b = self.half.map { |e| e.merge_sort } | |
merge(a, b) | |
end | |
def half | |
mid = length / 2 | |
return slice(0...mid), slice(mid..-1) | |
end |
<?php | |
function merge_sort(Array $ar) | |
{ | |
if (count($ar) <= 1) return $ar; | |
list($a, $b) = half($ar); | |
$aa = merge_sort($a); | |
$bb = merge_sort($b); | |
return merge($aa, $bb); | |
} | |
function half(Array $ar) |
class Array | |
def insertion_sort | |
inject([]) { |mem, var| mem.insert_with_order(var) } | |
end | |
def insert_with_order(var) | |
pos = find_index { |v| var <= v } || length | |
insert(pos, var) | |
end | |
end |
class Array | |
def selection_sort | |
tmp = self.dup | |
res = [] | |
res.push tmp.delete_min until tmp.empty? | |
res | |
end | |
def delete_min | |
min_index = find_index { |v| v == self.min } | |
delete_at(min_index) |
class Array | |
def bubble_sort | |
tmp = self.dup | |
res = [] | |
res.push tmp.bubbling until tmp.empty? | |
res | |
end | |
def bubbling | |
(length - 1).times do |i| | |
self[i], self[i+1] = self[i+1], self[i] if self[i] < self[i+1] |
<?php | |
function partition(Array &$array, $left, $right, $pivot) | |
{ | |
$il = $left; | |
$ir = $right - 1; | |
while ($il < $ir) { | |
while ($il < $right && $array[$il] <= $pivot) $il++; | |
while ($ir >= $left && $array[$ir] > $pivot) $ir--; | |
if ($il >= $ir) break; |