V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  cloudzhou  ›  全部回复第 34 页 / 共 54 页
回复总数  1067
1 ... 30  31  32  33  34  35  36  37  38  39 ... 54  
2016-04-27 10:37:59 +08:00
回复了 brucefeng 创建的主题 程序员 [分享]业务系统重构总结
@brucefeng 能否告知里面的图片是什么做到
2016-04-26 21:17:33 +08:00
回复了 xuboying 创建的主题 程序员 sefmentfault 的活跃度高么?
其实 sf 就是一家广告公司,并且这是他们的生存之道,你们想一下~~
2016-04-13 10:33:51 +08:00
回复了 lesyo 创建的主题 程序员 26 岁去美国读书是否值得?
看你家庭经济情况
2016-04-07 10:25:25 +08:00
回复了 exploreexe 创建的主题 问与答 小米 5 抢购的问题能用技术方法解决么?
我觉得,你花的这 20 块钱是智商税,要不你看看你使用这个软件能不能买到...
要提高买到的概率,大概就是使用拥有大量的小米账户体系的方法吧。
2016-03-15 10:13:04 +08:00
回复了 sctoss 创建的主题 问与答 刚才收到拒信了,感觉好奇怪
没什么特别,不需要去考虑为啥被拒
2016-03-07 10:32:21 +08:00
回复了 hoythan 创建的主题 Linux 救命,我可能要被老板砍死了。
@hoythan F12 看看加载的资源,尤其是 css/js ,然后使用 curl 直接获取,看看哪个地方慢了
2016-03-02 16:33:25 +08:00
回复了 int64ago 创建的主题 互联网 GitCafe 被 Coding 收购了……
这个算是比较好的结局
2016-03-01 11:13:57 +08:00
回复了 snriud 创建的主题 宠物 即将离沪,有纯黑小猫一只,求新主人,或靠谱方法运回帝都
滴滴顺风车,适当加价,注明有宠物
2016-02-25 17:39:30 +08:00
回复了 liko 创建的主题 程序员 python 各子系统间如何通信
RPC with protocol buffer
2016-02-22 17:56:43 +08:00
回复了 skull 创建的主题 Android 请问 jni 返回数据给 java 层后,是否后续还要释放?
需要的,在 C 层面上调用,我是基于很早以前的记忆,你最好验证一下。
方法很简单,无限循环调用(加一个 sleep ),看看内存变化。
2016-02-18 17:26:52 +08:00
回复了 zxgngl 创建的主题 程序员 Stack Overflow: The Architecture - 2016 Edition
Stack Overflow 的方式很好,保守又不失扩展。
我记得以前 zhihu 有一个分享,单单搜索还是运维,貌似近百台服务器?
然后业务量( pv/uv )其实不大,重点是,时不时的挂。
现在貌似好多了。
2016-02-17 10:53:28 +08:00
回复了 emric 创建的主题 分享发现 《 HTTP/2 讲解 》
@zonghua 目前看起来是完全可以的
2016-02-17 10:50:58 +08:00
回复了 russj 创建的主题 MongoDB 中国最好的 MongoDB 云服务是?
建议 RDS
2016-02-15 11:44:01 +08:00
回复了 lingdong2000 创建的主题 旅行 我在河内吃着路边摊
从我去过的朋友经历来看,对越南印象并不好:
1 入关时候索贿
2 对中国人并不友好,主要是南海问题
3 越南人人品并不好,比如会宰中国人,并且是赤裸裸的,比如同样的消费就对中国人高价

所以我就不想去越南了,推荐大家去泰国
2016-02-04 17:38:16 +08:00
回复了 fire5 创建的主题 Python 看了一个 go 语言,感觉语法略为不习惯。
@noli
他的代码例子, switch 是在外层处理的。

按照我阅读 Golang 官方仓库的理解, Golang 希望的是开发者这么处理错误:
1 统一的错误返回方式
2 开发者自己要去处理 error 结果, error as alue 指的是 error 和 return value 一样重要,不可以忽略,在返回之后就要立刻处理
3 根据 error 的严重程度定义级别,封装,比如 net.Error 里面引入 Temporary() 接口
4 如果要对 error 进行详细处理, cast 然后 switch ,或者可以引入 error number (比如 mysql driver)

作为开发者而言,你要考虑封装自己的 error ,而不是一概的抛出去。
对于我目前的体会就是,两种方式我都能接受,因为 error 不管那种方式,都是需要自己去仔细考虑的。
2016-02-04 15:06:38 +08:00
回复了 fire5 创建的主题 Python 看了一个 go 语言,感觉语法略为不习惯。
@noli 按照例子,你说要对不同的错误做针对的处理,那么无论如何避免不了 switch ,只是以各种不同的 exception 表现而已。

对于错误的检查,如果忽略,确实会存在问题,错误会一层层的传递而不处理。
defer 在 Golang 共识是不能滥用,这和不处理 exception 一样的道理。

Golang 的一些设计,不是说刻意这么做,开发者自己说了,“没想好怎么做”
以后 Golang 语言层面如果有什么变化,也不奇怪。

我有很长的 Java, Python, 和半年 Golang 经验,但是在 Exception vs Error as Value 比较中,我自己也想不出什么合适,只能从语言 taste 来理解。
2016-02-04 14:42:04 +08:00
回复了 fire5 创建的主题 Python 看了一个 go 语言,感觉语法略为不习惯。
对于大型开发中,可能需要引入自己的 error list ,比如
https://github.com/go-sql-driver/mysql/blob/master/errors.go 的 MySQLError
然后和 mysql error number 做对应,调用的时候决定错误类型已经怎么处理。
2016-02-04 14:36:11 +08:00
回复了 fire5 创建的主题 Python 看了一个 go 语言,感觉语法略为不习惯。
golang 的 error 目前是我比较困惑的地方,因为迫使你不得不认真的思考错误处理,否则容易漏掉。

@noli 我看了你的代码是在 exception 做 switch ,实际上,这和 Golang 的 err 设计类似的,
你可以理解 Golang 里面的 err 就是枚举,对应一个个的 exception
对于 network 的 error , golang 的开发者只是做的比较简单,比如 net package 的 error :

var (
// For connection setup and write operations.
errMissingAddress = errors.New("missing address")

// For both read and write operations.
errTimeout error = &timeoutError{}
errCanceled = errors.New("operation was canceled")
errClosing = errors.New("use of closed network connection")
ErrWriteToConnected = errors.New("use of WriteTo with pre-connected connection")
)
也许还有其他几种错误。

所以按照刚才 @goool 的代码,在 channel 的遍历阶段,把 error 做 switch 决定是否算错误就可以了。
但实际上,单纯从你们写的这两代码来看,我觉得, Golang 显然容易理解多了。
我阅读一些开源代码,确实是存在需要关注指定 error ,而不得不使用 string match 的方式来匹配。是比较难看的方式,但这是可以改进的。

但是从我以前 Java 的经验来看, Exception 改变了程序流程的运行是一个很大的问题。
1 ... 30  31  32  33  34  35  36  37  38  39 ... 54  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   954 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 36ms · UTC 22:46 · PVG 06:46 · LAX 14:46 · JFK 17:46
Developed with CodeLauncher
♥ Do have faith in what you're doing.