V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  yuikns  ›  全部回复第 28 页 / 共 42 页
回复总数  823
1 ... 24  25  26  27  28  29  30  31  32  33 ... 42  
@zzlettle 你的意思是

func Foo() {
go func() {
time.Sleep(1 * time.Second)
fmt.Println("bar")
}()
return
}

这里面的 bar 应该永远不输出?

"不到万不得已,真不想看。", "应该是官方的有些问题"。这是 goroutine 一致的逻辑。此处没有特例。用 go 委屈你了,换个语言吧
2019-01-18 00:05:16 +08:00
回复了 shayuvpn0001 创建的主题 程序员 血的教训!解锁 source 命令新的姿势,已准备跑路。
然而 source 不能 sudo

source filename
等价于
eval $( cat filename )

目的是当前环境执行命令,这样各种 export 在执行完毕后能用。前面加个 sudo,什么鬼
如果我没有记错的话,依稀记得,这个语境下讲的 hack 应该是来自上个世纪六七十年代,来自 MIT/CMU 那些大学折腾出来的概念。小时候看 C 缺陷与陷阱还是 C 与指针,作者写一段就喜欢科普下那会儿的小笑话。

彼时一切都在雏形,互联网还是军用比较多,少量大企业,实验室和学校蹭个基建。大家对这玩意儿什么能做,什么不能做都还没概念。不过和真实世界交互毫无疑问是非常有吸引力的。

于是他们给 hack 了个可乐机,给它联了网,然后那群 hacker 可以在网上给可乐机的人在线付钱,下一个使用者就被请了一杯。
还有 hack 了个咖啡机,全网的人都可以检查咖啡机是否煮沸了。
诸如此类。

作者介绍说,这就是最早的 hack 了。然后又介绍了一下 hack 的大致意思云云。我理解大致就是楼上我讲的。

-----

当然,需要说明的是,这是很久以前在床头读物看到的。可能有所疏漏乃至记错了。
hack 和魔改意思差不多吧。

比如现在有个除草机,现在有发动机功能,有轮子,烧汽油。很好,我们 hack 下这个机器,把它改成卡丁车吧。
简单说就是复用原来功能,做一些新的需求。


和 workaround 应该有所区别。workaround 是已知 bug,但是修改比较麻烦,那么做下防御性编程,把可能遇到的分支判断暂时用 hard code 引到别的地方。实际上功能可能缺失,但整体可以工作。
2019-01-17 10:58:53 +08:00
回复了 kaminono 创建的主题 PHP PHP 项目自动部署有什么好点的解决方案?
@salamanderMH 有 gitlab ci 还要 jenkins 干哈
2019-01-17 10:56:16 +08:00
回复了 shayuvpn0001 创建的主题 程序员 血的教训!解锁 source 命令新的姿势,已准备跑路。
不楼主你们这种动不动就是 root,还把各种服务放一起的(如果是),这种事情今天不发生明天也会的
2019-01-17 10:53:26 +08:00
回复了 shayuvpn0001 创建的主题 程序员 血的教训!解锁 source 命令新的姿势,已准备跑路。
@zhangroyaso 想要刷一下环境变量吧

楼主好好练歌,我会考虑买你握手券的
2019-01-17 09:06:48 +08:00
回复了 Blacktrace58 创建的主题 问与答 有人自建过 smtp 吗?
postfix 什么那一套有点麻烦,很多服务我都 dockerlize 了,唯独这个还没找到时间。

http://www.mail-tester.com/

试试上面的地址测试下自己的服务质量
2019-01-17 09:04:07 +08:00
回复了 whwq2012 创建的主题 问与答 QQ 邮箱不知道什么时候开始多了一个这样的功能
@whwq2012 不是归档,是删除。你是不是会删除它们?有些客户端其实操作是归档
2019-01-17 07:04:22 +08:00
回复了 xnmktsxt 创建的主题 问与答 关于简历的技能掌握程度该怎么写?
1 楼说的那种人也很常见,妈蛋会 ssh 上 Linux,执行一下别人编好的脚本上个线就敢说熟练使用 Linux 环境。没事儿,会有一点简单的脚本在面试题中问候他的。
2019-01-17 07:01:27 +08:00
回复了 xnmktsxt 创建的主题 问与答 关于简历的技能掌握程度该怎么写?
了解=基本语法了解,基本概念知道,愿意真的做这个
熟悉=常见库有所知,若有框架,会用其中一两个,并用它出过东西
熟练=做面试题可以用来做白板语言,相关的框架基本能上手,要是对方有这样的项目,基本随便看看文档就可以开始发 pr 了,看到错误信息基本可以推一下哪里的问题
精通=深度使用者,随便找点什么,原理也能说个一二三四来。面试官差不多可以考虑随便找自己不了解的各种边边角角来挑战
哦,刚才的回复结论没啥问题,说明有问题。

startTimer 的实现参考这个链接:

https://golang.org/src/runtime/time.go#L110

读源码可知它就是在全局 goroutine 里面加上了一个 timer。 上述那个似乎是在暗示当场 go func() 。开个自定义的。但其实不是。它是先检查已有的 timer。若有多个,会共享一个 routine。然后到它的时候,回调执行 go arg(xxx). 这样可以不阻塞别的 timer。
@zzlettle 因为没有回收啊。

帮你找个源码:

------

func AfterFunc(d Duration, f func()) *Timer {
t := &Timer{
r: runtimeTimer{
when: when(d),
f: goFunc,
arg: f,
},
}
startTimer(&t.r)
return t
}

func goFunc(arg interface{}, seq uintptr) {
go arg.(func())()
}

-----

closetimer := time.AfterFunc(time.Duration(timeout)*time.Second, f)

这个就相当于开一个 goroutine, 等到 timer 到了然后执行一下。这个要是回去就把 goroutine 里面的东西全给撤了,那 go 可以废了...
2019-01-17 05:37:53 +08:00
回复了 whwq2012 创建的主题 问与答 QQ 邮箱不知道什么时候开始多了一个这样的功能
这个规则通常是右击邮件点出来的。当然我只是说可能这不是腾讯自动帮你写的。

另外,现在好像不流行 trash 了,一点就是 archive。ios 客户端我都是 move 到 trash,默认的选项都是 archive。
2019-01-17 05:25:08 +08:00
回复了 joe0 创建的主题 问与答 明天约了一个刚认识的妹子吃饭,怎么聊求指点!
哦,对了。楼上我的一点粗陋的经验若有用,楼主请成功后帮我内推下。谢谢 :)
2019-01-17 05:22:43 +08:00
回复了 joe0 创建的主题 问与答 明天约了一个刚认识的妹子吃饭,怎么聊求指点!
@mario85 这个要求比较高。找第二任的时候可以参考下
2019-01-17 05:20:29 +08:00
回复了 joe0 创建的主题 问与答 明天约了一个刚认识的妹子吃饭,怎么聊求指点!
@dcalsky 大哥你现在还单身么?我觉得你这样考别人不太好。

正确的方法应该是从 react 讲到 angularjs,或者多讲讲怎么通过 rust 生成 wasm。这样一看就很高端了啊。
另外,若你只是想要个 timeout,其实还可以这么写:


func handleconntimeout(conn net.Conn, timeout int) int {
b := make([]byte, 1024)
defer conn.Close()
conn.SetDeadline(time.Now().Add(time.Duration(timeout) * time.Second))
for n, err := conn.Read(b); err == nil; n, err = conn.Read(b) {
fmt.Printf("收到来自 %s 的一共 %d 数量字节\n", conn.RemoteAddr(), n)
fmt.Println(string(b[:n]))
conn.SetDeadline(time.Now().Add(time.Duration(timeout) * time.Second))
}
return 10000
}
return 10000 前加上

closetimer.Stop()
2019-01-16 13:27:48 +08:00
回复了 magese 创建的主题 程序员 IDEA 怎么买比较划算呢?有没有啥折扣啊?
感觉 idea ultimate 就可以干所有的了,主要是继承了不少框架,支持了 go。pycharm 要多一个 remote interpreter。其它几个感觉好有限
1 ... 24  25  26  27  28  29  30  31  32  33 ... 42  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   2397 人在线   最高记录 6543   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 29ms · UTC 09:32 · PVG 17:32 · LAX 02:32 · JFK 05:32
Developed with CodeLauncher
♥ Do have faith in what you're doing.