#どうすれば小さなチームでも大きな成果を出せるのか 少人数のチーム、低コストで開発を続けていくためのプロセスを学ぶ
株式会社ソニックガーデン 代表取締役 倉貫 義人
対象:チームでソフトウェア開発をしているエンジニアやディレクター
###大企業との違い
| <?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; |
| 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] |
| 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 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 |
| <?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 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 |
| 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 |
#どうすれば小さなチームでも大きな成果を出せるのか 少人数のチーム、低コストで開発を続けていくためのプロセスを学ぶ
株式会社ソニックガーデン 代表取締役 倉貫 義人
対象:チームでソフトウェア開発をしているエンジニアやディレクター
###大企業との違い
| # -*- encoding: utf-8 -*- | |
| class VirtualAccountProxy | |
| def initialize(&creation_block) | |
| @creation_block = creation_block | |
| end | |
| def deposit(amount) | |
| s = subject | |
| return s.deposit(amount) |
| <?php | |
| $f = function ($input) { | |
| echo "input: " . $input; | |
| }; | |
| try { | |
| // ポート4000、待機プロセス数2 | |
| MultiClientTCPServer::instance(4000, 2)->run($f); | |
| } catch (RuntimeException $e) { |