V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  magicdawn  ›  全部回复第 21 页 / 共 42 页
回复总数  836
1 ... 17  18  19  20  21  22  23  24  25  26 ... 42  
支持一下
2016-10-05 17:45:01 +08:00
回复了 TheCure 创建的主题 Go 编程语言 爬虫: Goroutine 如何并行抓取网页
对于有限长度的队列, 如 []int{ 1, 2, 3, 4 }
job 为 sleep i 秒, 使用并发为 2 的时候, 耗时为 6s(2 + 4)
https://github.com/magicdawn/go-co/blob/master/demo/map/main.go

长度变化的队列, 工作中碰到的都是
while true
拿出 1000 个
等待 1000 个以某个并发完成
continue
再不行, 将 async.parallelLimit 代码抄下来写一点

啊, 这种还是 nodejs 来的简单...
2016-10-05 00:55:51 +08:00
回复了 TheCure 创建的主题 Go 编程语言 爬虫: Goroutine 如何并行抓取网页
前面那一种是相当于 concurrency = Infinity
2016-10-05 00:55:08 +08:00
回复了 TheCure 创建的主题 Go 编程语言 爬虫: Goroutine 如何并行抓取网页
你的意思是: 可以提交很多个 routine, 然后设置 runtime.GOMAXPROCS=cpu 核心数, 但是这样是不行的, 会导致所有的 routine 都进行了 request
题目意思可能是: 只有那么几个 concurrency routine 在跑, 一个结束了, 开始处理新的
2016-10-05 00:49:11 +08:00
回复了 TheCure 创建的主题 Go 编程语言 爬虫: Goroutine 如何并行抓取网页
1. 这个 IO 密集型, 像 Node.js 这样单进程也可以完成的很好, Promise.map + concurrency
2. golang: https://github.com/magicdawn/go-co/tree/master 用 task.map
https://github.com/magicdawn/go-co/blob/master/task/map.go#L11
2016-10-04 23:08:46 +08:00
回复了 Famio 创建的主题 程序员 纠结于语言的选择,犹豫在编程路口,求打醒
js 大法好...

BTW 语言学了不用会忘的...
记得以前啃 CLR via C# / .NET 规范啊 / C# 中的 XML/ LINQ / 蒋金楠的 ASP.NET MVC4 的书
然后后来没用到......不如学学 JVM 活的实在......
2016-10-03 09:59:46 +08:00
回复了 tylr 创建的主题 macOS 又一个 no zuo no die 的杯具,屏幕反转后恢复不了了啊!
围观
2016-09-24 02:12:29 +08:00
回复了 zhy0216 创建的主题 JavaScript 记 js 的一个小坑
2016-09-23 17:20:27 +08:00
回复了 swfbarhr 创建的主题 Node.js 高并发如何保证微信 access_token 的有效
之前用过

let val = yield redis.incr key
if( val = 1) {
redis.expire key timeout
}

细想下来也没啥问题, 不会那么巧
2016-09-23 17:18:55 +08:00
回复了 swfbarhr 创建的主题 Node.js 高并发如何保证微信 access_token 的有效
有 lua script

--[[
setnxAndExpire
]]

-- get args
local key, value, expire = KEYS[1], ARGV[1], ARGV[2]

-- sennx
local nxresult = redis.call('SETNX', key, value)

-- expire
if nxresult == 1 then
redis.call('EXPIRE', key, expire)
end

-- return
return nxresult


redis.defineCommand('setnx_and_expire', {
lua,
numberOfKeys: 1,
});
2016-09-23 17:17:53 +08:00
回复了 swfbarhr 创建的主题 Node.js 高并发如何保证微信 access_token 的有效
在应用层去判断 setnx 结果, 然后去 expire 我觉得没有问题, 不会那么巧执行了 setnx / 然后 expire 没吧
2016-09-23 16:12:23 +08:00
回复了 swfbarhr 创建的主题 Node.js 高并发如何保证微信 access_token 的有效
function aquireLock(callback) {
redis.watch('lock');
redis.multi().setnx('lock').expire('lock', 2).exec(callback);
}


setnx lock
expire lock 2

1. redis 事务, 执行出错的话, 还是会继续执行
2. setnx exists-key value, 不会出错, 结果是 0
3. 导致一直 exipre 2s

个人愚见, 不对请指正!
2016-09-21 14:28:09 +08:00
回复了 qiujin2012 创建的主题 推广 阿里云可视化购买重磅上线 体验立享 75 折!
太贵,用不起了!!!!!!!!!!!!
2016-09-20 20:37:50 +08:00
回复了 xpol 创建的主题 Python 请教 Python JSON API 服务器选什么框架?
koa + mongoose 手动 dog
2016-09-14 20:56:58 +08:00
回复了 metrue 创建的主题 程序员 要不我们来秀秀我们的编程字体?
M+ 1m
2016-09-12 14:18:31 +08:00
回复了 chrislon 创建的主题 Go 编程语言 用 golang 写 http JSON 接口的同学可以试试这个迷你库
楼主估计用的女神头像
2016-09-10 15:22:17 +08:00
回复了 magicdawn 创建的主题 Node.js V8 Release 5.4
@alcarl Node.js 节点下的都是这样的 https://nodejs.org/en/docs/
2016-09-10 15:21:31 +08:00
回复了 magicdawn 创建的主题 Node.js V8 Release 5.4
markdown 的 quote 效果, 显示不出来...
2016-09-08 11:16:27 +08:00
回复了 Powered 创建的主题 程序员 为什么很多大厂都是 java 系?
我也想不清楚...
1 ... 17  18  19  20  21  22  23  24  25  26 ... 42  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3888 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 34ms · UTC 05:21 · PVG 13:21 · LAX 22:21 · JFK 01:21
Developed with CodeLauncher
♥ Do have faith in what you're doing.