V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  secondwtq  ›  全部回复第 25 页 / 共 121 页
回复总数  2420
1 ... 21  22  23  24  25  26  27  28  29  30 ... 121  
2022-02-22 23:59:44 +08:00
回复了 lanlanye 创建的主题 程序员 关于软件设计的一些问题
我认为所谓的函数式编程,纯也好不纯也罢,主要的现实意义在于其组合性上
https://v2ex.com/t/807880#r_10977046
2022-02-22 21:06:02 +08:00
回复了 dangyuluo 创建的主题 C++ 记 C++开发中的一个小坑
@GeruzoniAnsasu gid1 后面还有个分号,也就是说很有可能是没初始化的 ... 虽然他要是省略号里面给他赋了个值应该就没事了,要是没赋值就用还是炸
当然这个帖子主要问题还是在 memcmp 上面 ...
2022-02-22 20:50:39 +08:00
回复了 murmur 创建的主题 Apple 有偿求苹果 Appstore 上架指导
这贴有点生草 ...
2022-02-22 20:28:38 +08:00
回复了 Inn0Vat10n 创建的主题 问与答 windows 软件防截屏?
网页复制这种东西不是点一个 Disable JavaScript 就过去了么 ...
另外我还真碰到不少可以选择不能复制的 ...
2022-02-22 20:21:01 +08:00
回复了 dangyuluo 创建的主题 C++ 记 C++开发中的一个小坑
@GeruzoniAnsasu 因为 gid1 是 indeterminate ,gid2 初始化了也没用,这玩意会传染的。语言律师地说,楼主这一步已经死了。

https://godbolt.org/z/hzenM768K
2022-02-22 19:56:13 +08:00
回复了 dangyuluo 创建的主题 C++ 记 C++开发中的一个小坑
没想到贵站真的有人用 GTK
2022-02-21 20:04:59 +08:00
回复了 BlackHole1 创建的主题 分享创造 Electron 宣布在中国成立用户组
出口转内销了属于是
2022-02-18 04:43:42 +08:00
回复了 felixcode 创建的主题 macOS macOS 的存储“黑魔法”,用可靠性换取表面的高性能
原来事 Asahi Linux 的开发者

新的冷知识“I can get these stats because the NVMe controller is integrated into the SoC and 'drive cache' is just normal memory (it's unified just like GPU memory), and Apple have very good instrumentation of things like DRAM bandwidth utilization from different SoC agents.”

"If you run a durable database on an M1 today, try a cheap flash drive."这下金士顿了
2022-02-18 04:05:30 +08:00
回复了 Livid 创建的主题 Steam Dune: Spice Wars
RTS 群里的人表示好像好像更像 4X ...
2022-02-16 19:24:42 +08:00
回复了 wxiao333 创建的主题 Python excel 公式作为算法程序,可行吗?
理论上当然可行,但是你在什么场景下用呢,比如你要放 Linux 服务器上跑那可能有些库就没法用
2022-02-16 00:14:28 +08:00
回复了 brader 创建的主题 程序员 有人知道 QQ for Linux 还有在开发吗?
> 那这么说来中望 CAD 2022 原生版是假的。我最近还经常用它对比测试移植的 Windows CAD 相关软件呢。
还真不知道 Linux 居然真的有能用的商业 CAD 软件,涨姿势了

> 你开心就好,毕竟喷 Linux 开发者不懂产品已经政治正确了。
是啊,你看现在居然都在做 Linux 软件,这个世界还能不能好了。
2022-02-12 00:02:19 +08:00
回复了 nanxiaobei 创建的主题 React 2022 年,我们再来谈谈 React 状态管理
对我这个已经多年不搞前端的人来说,楼主的文章提供了 React 状态管理现状不错的 overview 。

虽然 Web 前端暂时怎么不搞了,但广义的前端还是一直在关注的。补充一下,楼主“自创”的“贪婪更新”和“惰性更新”已经是有点年头的概念了,这东西一般叫“incremental computation”。所以大概可以叫“增量渲染”和“全量重渲染”。

Incremental Computation 的关键是构建一个 dependency graph ,当数据发生改变时程序只会运行其中 dirty 的部分。它的用途很广泛,是指令乱序执行、编译器优化、Spreadsheet 、包管理器、构建系统以及许多类似的任务系统的核心。

类似的方法在其他 UI 框架中早就有应用,比如 Cocoa 有 KVO ,WPF 有 INotifyPropertyChanged ,GTK 和 Qt 等框架也有一点 MVC 的意思,他们的列表会有个 model ,接受变化的通知。
但是可能是由于建立在 imperative 语言的基础上,这些较传统的框架并不适合操作复杂的 dependency graph 。给我的感觉是,它们“incremental”的地方主要集中在“界面 - 代码的接口”上,使用简单的数据绑定实现。界面本身不是 incremental 的,incremental 的方法也很难渗透到代码逻辑里面。数据绑定可以解决一些数据和简单属性的更新,但是“UI 操作”依然需要额外手写,而这一过程依然非常麻烦并且容易出错。

React 的流行普及了一种新方法,React 鼓励用户尽可能用数据表示 UI ,淘汰“UI 操作”的概念,以“数据变换”来取代。这并不是性能上最优的方式,原始的 React 并不是很重视 incremental ,基本仅仅体现在一个偶尔用一下的 shouldComponentUpdate 和 virtual DOM diffing 上。后者基本上也就相当于“React - Renderer 接口”,不用 shouldComponentUpdate 的话,React 里面这一层其实是有意设计得 brute force 的,但是确实很大程度上简化了问题。

React 这一步的一个副作用是,由于数据变换可以以更简单的纯函数来表示,现在 UI 全链路都可以 incremental 了。我不知道这一点当年 React 的设计者们有没有想到,但是后来者有不少想到了。更新的框架不少都是以 Declarative + Incremental 的思路设计的。比如 Web 这里比较典型的是 Svelte ,作为 React 竞品直接说 virtual DOM diffing “eat into your frame budget and tax the garbage collector”,而 SwiftUI 里面干脆就有个 dependency graph 模块,React 的状态管理也在往这个方向走。

上面有人说原始 React 更加“函数式”,实际上搞 incremental 的人不少也搞 FP——在一个 dependency graph 中,明确能具有“状态”的基本只有叶子节点,从叶子节点到最后要求的值,依然是一个纯函数。非要说的话只能说一个是比较“粗放”的函数式,一个是比较“精细”的函数式。要说起来的话 FB (现在应该叫 Meta ?)粗放不是第一次了,FB 用 OCaml 是吧? OCaml 自己是不支持共享内存并行的(即将发布的 OCaml 5.0 将会开始完善这一能力),结果 FB 自己 hack 出来一个库给自己项目用 ...
我其实是从 Jane Street 那边了解的 Incremental Computation ,在 OCaml 社区这是与 FB 齐名的公司。他们自己做了个库就叫 Incremental ,需要注意的是在这个下面他们还自己实现了一套 Virtual DOM 解决 Incremental 不太好处理的问题,也就是说他们是两个都在用,和现在 React 有点类似。关于这个他们发了一堆的博客:
blog.janestreet.com/introducing-incremental Jane Street Tech Blog - Introducing Incremental
blog.janestreet.com/incrementality-and-the-web Jane Street Tech Blog - Incremental computation and the web
blog.janestreet.com/self-adjusting-dom Jane Street Tech Blog - Self Adjusting DOM
blog.janestreet.com/self-adjusting-dom-and-diffable-data Jane Street Tech Blog - Self Adjusting DOM and Diffable Data
blog.janestreet.com/seven-implementations-of-incremental Jane Street Tech Blog - Seven Implementations of Incremental
2022-02-11 20:38:05 +08:00
回复了 hfl1995 创建的主题 MacBook Pro 我十分享受「高清」带给我的精致感
这写的是代码还是大字报啊
以后也别 hello world 了,直接上手一个炮打白宫
hype-v 可真的太典了
2022-02-08 23:16:46 +08:00
回复了 ksc010 创建的主题 分享发现 今天试了下 Shapr3D 确实好用 不过太贵了
另外还真别嫌 Shapr3D 贵,你看看竞品都啥价格。
便宜 /免费的的可以试试 Fusion 360 ,MoI3D 。
2022-02-08 23:05:55 +08:00
回复了 ksc010 创建的主题 分享发现 今天试了下 Shapr3D 确实好用 不过太贵了
两者其实不是一个定位的,Blender 是做游戏、可视化和 VFX 的,Shapr3D 偏 CAD ,是做量产的实物的。
2022-02-08 19:17:22 +08:00
回复了 yezheyu 创建的主题 程序员 请教下关于函数传参的一点疑问
典中典面函数 ...
不过楼主思路是对的,各种花样折腾来折腾去效果和传参是一样的
2022-02-06 22:17:35 +08:00
回复了 hsuyeung 创建的主题 问与答 有比较好的播客推荐吗
推荐两个历史类的英文 podcast ,Patrick Wyman 主讲的 Fall of Rome 和 Tides of History ,有广告。
前者讲古典时代晚期西罗马帝国的崩溃(先落个泪),也是这老哥的 PhD 研究方向。讨论了西罗马帝国为何灭亡,东罗马帝国为何存续,几个 barbarian kingdom 的来历和特点,在这一过程中社会产生了怎样的变化。
后者分两季,第一季讲从奥斯曼的崛起(又要落泪了)到勒班陀之战的 Late Medieval 和 Early Modern Period 的欧洲,正在进行中的第二季则是 Prehistory ,从人类的起源讲到 Late Bronze Age Collapse 。
他的特点是喜欢引用一些“最新”的书和 paper ,也有很多是请的教授做相关话题的 interview 。很多问题并没有定论,他会列出有哪些假说,然后选择他偏好的那一种展开。

我听下来最大的收获是“Linear ideas about the natural evolution of societies over time are simply wrong.”,用程序员的语言来说,对历史的认识从一个“List”变成了“Graph”。比如讲 hunter-gatherer 群体,他会给你讲不存在理想的,伟光正的模型,只有具体的人适应具体的环境,而 foraging 和 farming 也并不是互斥的策略。和很多人一样,他把“文明”拆解为城市、阶级、社会分工、文字、国家等元素,但是又强调这些元素并不是全都会出现。讲阿拉里克洗劫罗马时,他更多是在讲罗方如何“导致”了这一事件的发生,而非简单的“蛮族入侵”视角。
1 ... 21  22  23  24  25  26  27  28  29  30 ... 121  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2962 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 52ms · UTC 12:08 · PVG 20:08 · LAX 05:08 · JFK 08:08
Developed with CodeLauncher
♥ Do have faith in what you're doing.