V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  secondwtq  ›  全部回复第 36 页 / 共 123 页
回复总数  2446
1 ... 32  33  34  35  36  37  38  39  40  41 ... 123  
2021-08-22 21:38:49 +08:00
回复了 byzf 创建的主题 程序员 闲来无事,求推荐点三个月左右能入门的兴趣爱好、技术方向
玩 CG 啊,就 Blender 就行,最近发展不错,不用花钱。

你看思聪也 Blender: https://zhuanlan.zhihu.com/p/399450992
斯诺登也 Blender: https://twitter.com/snowden/status/1416774441539936259
再不 Blender 就被社会淘汰了
2021-08-22 21:07:07 +08:00
回复了 pocarisweat 创建的主题 程序员 看到「学什么新语言」这个问题,推荐这本书
楼主确实有点来错地方的意思。
和“编程语言”打交道的人并不全是一样的,至少可以分成两类非常不同的人:
一种人接触编程语言是为了解决某个和编程语言没太大关系的问题。
另一种人接触编程语言就是为了折腾编程语言。

至于这两种人的事情对另一种人有什么好处,这个现在还很不好说。但是可以肯定的是当两种人碰到一起讨论编程语言时必然会出现各种鸡同鸭讲的状况。目前看来本站前者居多。
2021-08-22 20:39:56 +08:00
回复了 nannanziyu 创建的主题 C++ Windows 一分钟使用 C++ 发送 Http 请求
这标题起得太俗了,建议改成“三句 C++ 让 Windows 给我发送 HTTP 请求”
2021-08-18 01:47:43 +08:00
回复了 passer9527 创建的主题 问与答 一个疑惑:为啥很多初创公司不选择最主流的技术栈?
没在“初创公司”呆过(虽然前公司自称“永远都是 startup”),更没在“不选择最主流的技术栈”的“初创公司”呆过。不过个人网上的观察:

* 有些“不选择最主流的技术栈”的“初创公司”是真的相信他们选择的技术栈更适合他们的场景。至于到底是不是我不做评论。不如换个角度讲,楼主认为:Java SpringCloud,行。Go,不行。现在某公司认为:Go,行。Java SpringCloud,不行。凭什么楼主就一定是对的,某公司就一定是错的呢?或者凭什么某公司就一定是对的,楼主就一定是错的呢?为什么 Java SpringCloud 一定没有坑,Go 一定坑很多呢?或者为什么 Go 一定没有坑,Java SpringCloud 一定坑很多呢?当然楼主可能会说:Java SpringCloud 用的人多,“成熟”,“主流”,但是楼主不知道有句话讲:“真理往往掌握在少数人手中”么?这个逻辑左右都说得通。
楼主凭什么居高临下评价 Go ?楼主是 Gopher 么?楼主用过 Go 么? Golang,不吃楼主这一套!
什么楼主用过 Go ?那么楼主有没有在某公司用过 Go ?有没有亲自体验过某公司的场景? Golang,还是不吃楼主这一套!
正经地说,有很多试图解释技术和开发效率之间关系的尝试(包括一些量化的思路),但是目前没有哪个真的能服众,楼主只是相信了其中的一个流派,就是“最主流的一定是最好的”而已。我的观点,这个问题暂时还没有绝对的对与错。

* 当然还有个人的 preference 问题。如果如同第一点一样,排除了对技术的优劣判断之后,个人偏好就会成为很大的因素。云风的公司就用 Lua 硬撸 3D 引擎,Yaron Minsky 的公司就用 OCaml 写交易系统。当然他们都能拉出一大堆理由来 justify 他们的选择,但是按第一点的意思,别人不一定认。所以最理性的解释是“有个人偏好是非常正常的事情”。或者也可以用统计学解释,有 N 个技术,M 个人,每个人选一个技术,既然没有绝对的标准谁好谁坏,那就是某种随机选择,样本足够大的话不可能全选择同一个技术。

* 有些公司不仅仅是单纯选择技术栈,选择一个技术栈,同样也选择了这个技术栈背后的 implication 。一个技术栈往往 imply 了相当多的东西,比如像隔壁帖子 v2ex.com/t/795881 有人说“Java 背后的群体代表的就是不思进取,故步自封的保守派”,就是这个意思。这并不是说每个 Java 用户都是“不思进取,故步自封的保守派”,也不是说“不思进取,故步自封的保守派”该被消灭,而是如果一个 CTO 不希望构建“不思进取,故步自封的保守”的文化的话,那么避开 Java 是一个可能有效的 heuristic 。上面还有人说可以过滤培训班,应该也有这个效果,虽然我之前没想到。在有些技术的圈子里偶尔会碰到什么“用这个技术的开发效率倍儿高”“用这个技术的人都很聪明”之类的话,道理跟什么“在简历上留 QQ 邮箱的负面效果”是一样的,heuristic 而已。虽然我看大多数都逃不过草台班子定律。

* 用新技术,可以成为招聘广告的亮点!亮点!楼主说“从本站的各种招聘帖子,以前别的地方的招聘帖子发现,很多 ...”,这个“很多”可能并不真的是“很大一部分”,而只是“在楼主的视野里格外显眼”而已,因为写的技术“非主流”,所以留下的印象更深。这个道理是这样的:根据草台班子理论,大多数人的工作是比较无聊的,为了排解这种无聊,除了刷 V 站之外,使用不一样的技术(倒不一定是“新技术”,但是这种情况下新技术更受欢迎)也是一种方案(虽然都不解决根本问题)。有使用新技术的机会,那自然会成为亮点。
另外,开发者和 CTO 一样会有个人偏好,CTO 表达偏好的方式是开个用这个技术的公司,而普通开发者表达偏好的方式则是选择用这个技术的公司。依然是统计学,“非主流”技术用的人少,用的公司也少,只要不是非主流到样本实在太小的程度,没有理由说非主流技术比主流技术招人更难。

我再尝试把“样本实在太小”这个 edge case 的坑填上:我知道有一些公司用的是这类非主流技术(也许我现在公司也算?不过是大公司),这种情况可能会有另一个 buff:就是因为招聘者和求职者都难找,所以(理论上)会更加珍惜已有的机会——我实在想用某技术,但是实在找不到对应的工作,能有用这个技术的工作那简直就是奥丁下凡啊!别的我都不在乎,只要打败波兰,啊不,能用这个技术就算是成功了!
2021-08-17 23:39:11 +08:00
回复了 GKCY 创建的主题 C++ 请教大家一个 C++内存分配后对象初始化的问题
是,你得先分配内存,然后再调用构造函数,才算初始化完成。(参考“把大象放进冰箱里”的流程)

我认为你这个代码的问题:
> Key* keys = allocator.alloc(sizeof(key) * 10);

在于,allocator 只知道分配的内存块的大小,别的什么信息都不知道,所以虽然是个 C++ 的函数调用(当然也可能是个 C 函数指针),但是没法调用相应的构造函数。
要想方便地完成整个分配过程,就得让函数获得你分配的对象的类型信息,然后用这个类型 sizeof 就能得到大小信息。C++ 里面传递类型信息是使用 template 。就是像 #8 那样写一个 wrapper (当然 #8 的代码有一点问题)。

你也可以直接重载 new 和 delete operator,这样编译器会自动帮你生成调 ctor 的代码,什么 std::make_unique 之类的标准库功能默认也会用你的 allocator 。对于“偏 C 语言”的项目应该是比较简单的方法。或者把你这个 allocator 对象包装成一个符合 C++ 标准 Allocator 的对象,也可以达到相同效果。不过这样就不够“C with Classes”了~

Anyway,思路都是一样的。对于“丑陋”的代码,通用的手段就是抽象和封装,最常用也最通用的工具就是函数。C++ 相对于 C 的最大好处就是提供了更强的抽象能力,在这个问题里就是你可以通过一个函数来封装你觉得很“丑陋”的初始化循环。
2021-08-17 22:57:12 +08:00
回复了 perpetually 创建的主题 生活 看了几个迷茫贴,我陷入了沉思
标准答案不是“定体问”么
好像楼主说的也差不多
2021-08-17 22:51:13 +08:00
回复了 DopaminePlz 创建的主题 编程 不懂就问:实现这些功能需要学习哪些知识?
这个我来做可能会用垃圾佬的思路来做

比如我的服务器的登录功能,目前是使用 nginx 配置 HTTP Basic Authentication + HTTPS 实现的,因为需求简单(只有我一个人用),所以用着感觉还蛮好 :)

执行命令可以用大便系统 nginx-extras 包里面带的 Lua 和 Perl 之类的脚本。或者 Python 标准库 http.server 模块简单糊一个。反正只要提供 HTTP 服务肯定得装 nginx,Python 也肯定有。

前端简单写个 HTML,CSS 都不用,框架也不用。数据 fetch 回来直接 document.getElementById("xxx").innerText =

日志就不太清楚了。

主要是因为懒,懒得写各种 boilerplate,写完了还不一定安全。
2021-08-17 22:16:06 +08:00
回复了 lcj2class 创建的主题 分享发现 EmacsTalk 007. 编辑器专家的 Emacs 世界
看到“DelphiNew”这个名字就知道这老哥有年头了
2021-08-17 22:08:34 +08:00
回复了 James369 创建的主题 程序员 有没有比“正则表达式” 更简单直观的匹配技术?
Parser Combinator
不仅简单,还不比正则弱。
2021-08-17 21:54:33 +08:00
回复了 Cbdy 创建的主题 Java Why do so many people become Java haters?
@CRVV
> 比如 checked exception,要在 finally 里面写一个 try catch 来包住 file.close,结果是非常多层的嵌套。当然现在已经有新的写法了。
checked exception 确实是 Java 比较奇怪的设定。但是我的体验是每种技术都有自己奇怪的角落。你后面提到 C++,C++ 奇怪的东西不少么?

> 比如 Java 很喜欢标榜自己没有指针,还造了个词“引用”。但 Java 的引用是 C++ 的指针,C++ 的引用在 Java 里面不存在。这是让人很不爽的用词方式。
我觉得如果一个东西在汉语里面叫“冷烤馒头”,在英语里面不一定要叫"Cold roasted bread"或者“LKMT”。
维基百科上有一张图: https://en.wikipedia.org/wiki/File:Germany_Name_European_Languages.svg 画的是“德国” (.de) 在不同欧洲语言中如何称呼,日耳曼也是德国,德意志也是德国,阿勒曼尼也是德国。
如果 Java 的设计者认为“引用”的名字更合适,那自然可以用“引用”这个名字,更何况两者不是一个东西,比如 Java 不支持 pointer arithmetic 。

> 中文的 Java 资料里面类似的情况更多,比如“内存模型”,中文说的内存模型和 wikipedia 的 memory model 说的是完全不相关的两件事。
Java 中文的内存模型就是 JMM (Java Memory Model) 啊,我看 wikipedia 的 Memory model 也提到了 JMM,没感觉有啥不相关的。

> 比如有个 Azul C4 GC,号称 pauseless,但如果你去翻它一篇 pdf 的像论文一样的东西,里面会说其实有那么大概 1 ms 的 pause,但这种重要信息从来不会出现在好找的地方,所有地方都说 pauseless 。我从来没在其它语言上见过这种销售话术。

我倒是觉得这个很常见。
比如 Rust 声称自己 Empowering EVERYONE to build reliable and efficient software,但是觉得 Rust 门槛高的应该不在少数。
Rust 声称自己 guarantee memory-safety and thread-safety,然而 Rust 至今连个像样的 spec 都没有。
另外你的 C4 GC 是第三方 Azul 做的,并不代表官方态度,上面 Rust 的 claim 是官方的,要找非官方的更多。还是 Rust 的例子:
最近 GitHub 上火了个项目 https://github.com/mTvare6/hello-world.rs ,这项目很明显是揶揄 Rust,其实应该主要是一些 Rust 项目的“销售话术”的。
实际上就算不涉及商业利益,你到任何一个圈子里面,看到最多的都是对其主题的吹捧。比如我看过两眼 BSD 圈子,都是吹 BSD 如何如何优雅啊,这个好那个也好啊,最喜欢跟 Linux 比较,然后说 Linux 虽然很多人用,但是就是不如 BSD——这种现象的部分原因应该是 BSD 的阳光下的地盘(划掉)生存空间被 Linux 严重挤压。不过你到 Linux 圈子里面,也能看到 Linux 比 Windows 好的大量吹捧——大概也是类似的原因。这个应该也能部分解释主题所说现象。

其实我觉得最牛逼的“销售话术”还是 Haskell 的: Avoid success at all costs. (顺便,Haskell 圈子里面吹捧一点不少)
2021-08-17 21:02:18 +08:00
回复了 littlerainer 创建的主题 问与答 计算机体系结构与芯片的联系?
我最近在看一个 Arch 的公开课,楼主可以翻翻内容:
https://www.youtube.com/watch?v=zLP_X4wyHbY&list=PL5PHm2jkkXmi5CxxI7b3JCL1TWybTDtKq
2021-08-17 20:57:26 +08:00
回复了 LokiSharp 创建的主题 生活 看了算账的兄弟的帖子,感觉有点迷茫了
我主要是好奇
> 而且我最近开始有了健身和护肤的开销
健身就算了,是多高端的护肤能成为 non-trivial 的开销
2021-08-17 20:52:40 +08:00
回复了 LxExExl 创建的主题 Steam 迫于有了台式机,有啥休闲大作游戏吗?
欧陆风云 4 。
买完 DLC 就不用氪金了。
只需要点点鼠标,随时可以暂停,没有星际那种复杂的微操。
引擎非常先进,能体现 CPU 单核性能,单核性能!!!! 111

(捡起来玩容易,能不能放下就两说了)
2021-08-17 20:44:43 +08:00
回复了 leiiiooo 创建的主题 Rust 新手关于生命周期有一事不解
> 如何修改可以让代码编译通过?

命不够长,那当然是续一秒啦

哈哈,今天生日,抖个机灵。

Rust 强调的所谓 memory safety,解决的一个很典型的问题就是 dangling pointer,就是指针指向的对象已经不存在,但是指针还在。解决的方法就是通过 lifetime 分析,禁止 dangling pointer 的出现。也就是说只要你拿到一个 reference,你肯定可以使用它( Rust 也没有 null )。所有可能造成 dangling pointer 的代码都不能编译。就是 y 在最后一个 print 那里的情况。
2021-08-17 20:12:35 +08:00
回复了 596164296 创建的主题 Windows 如何获取 windows 应用程序界面数据,非简单的使用句柄!
有服务器就抓包啊 ...
DirectUI 没有通用的方法的,上面有人说去抓 DX API,你抓过来只会抓到一堆 triangle

我之前在 v2ex.com/t/794788#r_10778545 说过 OS X 的 automation 做的好,没提的是其中一个原因是 OS X 的软件技术选型比较统一,最后都收敛到 Cocoa 。不过我觉得 现在 Electron 越来越普遍,这个优势可能慢慢淡了。
2021-08-17 20:04:38 +08:00
回复了 RedBlackTree 创建的主题 程序员 请教大家,关于 string 的 immutable
还是要分清 specification 和 implementation

> 语言的 string 类型是 immutable 不可变的
(是不是”大多数“就不扯了)
这是 specification 规定的

> 由编译器类型检查保证
这是 implementation 用来 enforce specification 的手段

> 所在的内存是 read-only
这是 implementation 在特定条件下,以不违反 specification 前提做的优化
2021-08-17 20:01:19 +08:00
回复了 tracker647 创建的主题 问与答 用文件系统记录自己的精神生活,给点建议?
@matrix67 这倒不是商业公司的问题,开源的我觉得也能搞
问题是 Org 本身逻辑和移动设备是不兼容的
另外你这个 ID 和这个 www.matrix67.com 有啥关系?
2021-08-11 02:26:56 +08:00
回复了 tracker647 创建的主题 问与答 用文件系统记录自己的精神生活,给点建议?
@matrix67 是我现在就开着八个 Google Sheets 的 tab ...
不过我这 Google Sheets 表格大了之后,历史版本非常卡,基本没法用

Org mode 的问题我觉得是移动端不好搞,不知道是真没辙还是我不知道。
2021-08-11 02:15:16 +08:00
回复了 GM 创建的主题 Go 编程语言 Go 成功让我实现了人格分裂
Go 最大争议其实在语义上,并不在语法上 ...
2021-08-11 02:05:41 +08:00
回复了 huangmingyou 创建的主题 Linux 两次从 Linux 逃离到 os x 又逃回来的感受
键盘问题属于硬件问题,没这个键就没办法。楼主要是用 Maya 之类的软件得可劲儿折腾一阵儿,有些软件默认键位依赖于 function keys,没记错的话一些 IDE 的调试运行之类的也要,甚至 Blender 把小键盘都给你占了。

我倒是很喜欢组合键,两点原因:不能 assume 自己一直在使用全键盘,实际上我最喜欢并且一直使用 60% 键盘,占空间小,便携,并且笔记本键盘大多都不全,F keys 又经常和 media keys 混在一块,乱七八糟的,只有核心区比较稳定。另外就是常用的操作是无限多的(虽然直观感觉可能不多,但是每种场景有特定的常用操作集,如果使用场景比较杂,则可以近似认为无限多),而键盘键位的扩展是有限的,指望单键 cover 所有常用操作不 scalable,像音乐一样玩组合更合适。

组合键的一大问题是不好记,不过这是使用场景数量变多之后必然的事情。所以我理想的键盘形态就是每个键上面有个小 LCD,不仅可以提供背光,还可以显示这个键在现在这个程序中是做什么的,同时也可以指示其他的状态(相当于 Caps Lock 指示灯“民主化”),比如在 vim 中按 q 之后会亮起来表示正在录制宏,按 “ 之后会显示当前用得哪个 register ...
当然这货现在是没有的(我记得国外有人做过一个巨贵的现在好像也没得卖了),联想出了个笔记本用 E Ink 代替键盘,相当于整个键盘都是 Touch Bar,有点意思了。

> 说到终端,linux 下,选中内容,然后鼠标中键或者 Ctrl+ins 键就能粘贴的功能,在 os x 上没有,只有终端勉强支持。

这个则是软件的通病,虽然我是 Linux 用户,但是我一直想把 OS X 的 Cmd+X/C/V 的剪贴板操作快捷键移植到 Linux 来替代原来的 Control (主要是终端的剪贴板快捷键和其他软件不一致),后来发现彻底改掉工作量有点大——不仅要改配置,可能还要改一堆库,可能还要自己编译一份 Chromium ... 而增加一种执行操作的方式,无论哪个系统可能就一个插件就能搞定。但是共同的问题是,用户想要和既成惯例对着干是一件很难的事情,哪怕是 Linux 这种比较“开放”的平台,也只是有限的好一点而已。

虽然说 Linux 更”开放“,但是刚才首页看到这个主题: https://v2ex.com/t/794746,我发现虽然我一直觉得专有软件不好 customize (尤其 Apple ),但是专有软件有专有软件自己 customization 的方法,而且 Apple 做得还不错——那主题楼主老兄要的应该就是 Windows 版的 Shortcuts,这东西在其他平台居然就难找竞品。但是 Apple 从 HyperCard,AppleScript 到 Automator 和 Shortcuts 真就在做(嘛,虽然 Shortcuts 最开始是第三方的,但是给收了接着做说明人家至少有这想法,而且就 iOS 的情况,官方背书应该还是蛮重要的)。
1 ... 32  33  34  35  36  37  38  39  40  41 ... 123  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   948 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 52ms · UTC 20:33 · PVG 04:33 · LAX 13:33 · JFK 16:33
Developed with CodeLauncher
♥ Do have faith in what you're doing.