Go 温泉 + GoCart をしに行きましょう!
GoCart の方は人数制限が 6 人なので、 温泉参加者が全員走れるとは限りません。 ご注意下さい。
'use strict'; | |
let arr = [10, 2, 5, 8, 6, 1, 3]; | |
// ASCE | |
arr.sort((a, b) => a - b); | |
console.log(arr); | |
// DESC | |
arr.sort((a, b) => b - a); |
function asyncify(fn) { | |
var origFn = fn; | |
var id = setTimeout(function () { | |
id = null; | |
if (fn) fn(); | |
}); | |
fn = null; | |
return function () { |
var fs = require('fs'); | |
function timeoutify(fn, delay) { | |
var id = setTimeout(function () { | |
id = null; | |
fn(new Error('Timeout!')); | |
}, delay); | |
return function () { | |
if (id) { |
for (var i = 0; i < 5; i++) { | |
setTimeout(function () { | |
console.log(i); | |
}, i * 1000); | |
} | |
// 5, 5, 5, 5, 5 |
var http = require('http'); | |
http.createServer(function(req, res) { | |
if(req.method === 'POST') { | |
res.end('POST'); | |
console.log('POST'); | |
} else if (req.method === 'GET') { | |
res.end('GET'); | |
console.log('GET'); | |
} else { |
acpi | grep -oE \[0-9\]+% |
channelにbufferがあるかないかで、channelを使った同期の挙動が異なる。
詳しくは、公式のThe Go Memory Modelを参照。
以下のルールに従う。 bufferの有無で、送信と受信の優先順位が変わるので注意。
package closure | |
type Request struct { | |
Url string | |
} | |
func Closure1(reqs []*Request) { | |
for _, req := range reqs { | |
go func(req *Request) { | |
req.Url = "http://example.org" |
package main | |
import ( | |
"fmt" | |
"sync" | |
) | |
func main() { | |
ch := make(chan int) | |
var wg sync.WaitGroup |