V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  akaHenry  ›  全部回复第 11 页 / 共 16 页
回复总数  320
1 ... 3  4  5  6  7  8  9  10  11  12 ... 16  
2022-06-13 11:01:16 +08:00
回复了 thewiredguy 创建的主题 Go 编程语言 我怎么觉得 Java 的 JNI 比 Go 的 CGO 要好呢?
@hhaobao


https://cloud.tencent.com/developer/article/1650525
https://dave.cheney.net/2016/01/18/cgo-is-not-go
https://relistan.com/cgo-when-and-when-not-to-use-it


看这些讨论吧.

除了极端场景, 只有 c/c++ 的库, 需要 binding 给 go 使用. 才用 cgo. 而这个代价, 可能非常高.

即使要用, 请隔离在小服务内. 然后 RPC 暴露给其他服务. 不要污染整个大项目.

这是坨💩. 谁用谁知道.
2022-06-13 10:50:35 +08:00
回复了 LoremIpSum 创建的主题 Go 编程语言 关于如何在 Golang 中实现抽象类
理性状态: 接口设计(interface) 和 数据(data), 应该是正交的.

推荐读 go-micro 这个项目源码来学习如何写 go + 设计大型框架系统.

go-micro 的代码写的非常非常漂亮.
2022-06-13 10:47:55 +08:00
回复了 LoremIpSum 创建的主题 Go 编程语言 关于如何在 Golang 中实现抽象类
多说一句. Go 和 Rust 等更现代的语言设计, 都是重视 组合 /嵌套 > 类继承.

Go 的 接口(interface) 设计, 都是 `组合` 的方式来扩展功能.

不要被 `类继承` 束缚思维. `类继承`, 是糟糕的东西.

不要总是想定义很大的类 struct (数据+方法过多).

尽量切分小类. 标准化操作 = 抽象接口方法(interface).

另外, go struct{}, 可以作为命名空间 namespace 使用 = 裸类(没数据, 只有方法).

小模块, 搭积木, 自由组合. 可以写出非常干净 /清晰的代码.
2022-06-13 10:34:55 +08:00
回复了 thewiredguy 创建的主题 Go 编程语言 我怎么觉得 Java 的 JNI 比 Go 的 CGO 要好呢?
@cxytz01

github.com/hhstore/blog/issues/242
github.com/hhstore/blog/issues/355

可以参考我这 2 篇博客, 关于 FFI 的内容.

https://en.wikipedia.org/wiki/Foreign_function_interface


FFI 是通用的跨语言调用规范. 主流语言基本都兼容 C ABI.

所以, 都可以通过 C ABI 方式来跨语言通信.
@janxin

不确定你具体指的是什么?

K8S 集群部署 /调度吗?

可以 Task + Pulumi or Terraform 的方式来远程操作集群.(还是在本地)

Pulumi/Terraform 非常强大. 这样你就可以把所有的脚本, 都通过 Git 管理.

Task 注入环境变量非常方便. 和这 2 者, 无缝衔接.
2022-06-13 10:24:36 +08:00
回复了 thewiredguy 创建的主题 Go 编程语言 我怎么觉得 Java 的 JNI 比 Go 的 CGO 要好呢?
@nmap


1. 如果是 Server 端, 可以通过 微服务 RPC(如 gRPC) / Restful API / Websoket 方式来调用. 避免侵入性. 把 C++ 改造成一个独立的服务. 暴露 RPC/Rest API 给 Go 调用. 即可以绕过 cgo.
2. 如果是 client 端, 如果用 Go 写 Client, 这本身已经是邪路. 那只能 cgo. 当然, 如果是 Desktop 桌面版的 app. 也可以同上, 把 桌面版 app 改造成 client/server 模型, 中间变成 proxy, 依然可以走 RPC/Rest API 方式调用.
2022-06-13 06:37:51 +08:00
回复了 echojoy 创建的主题 Rust 有没有大佬理下 Rust 学习路线或者思路
github.com/hhstore/blog/labels/Rust

另外, 我的博客, 也有很多篇是 Rust 的. 也可以看看.
2022-06-13 06:35:39 +08:00
回复了 echojoy 创建的主题 Rust 有没有大佬理下 Rust 学习路线或者思路
github.com/better-rs/learn-rs

github.com/better-rs/annotated-rs

是这 2 个项目. v2 不让贴链接(嫌我链接贴多了)
2022-06-13 06:34:24 +08:00
回复了 echojoy 创建的主题 Rust 有没有大佬理下 Rust 学习路线或者思路
自荐:

https://v2ex.com/t/853595#r_11761758


1. 项目 1, 是我学习 rust 过程中写的一些代码. 可以看看.
2. 项目 2, 是源码注解. (我挑选几个热门 rust 项目注解)

> 包括:

1. 一些 rust 语法练习.
2. 一组 cli 命令行工具(实用):
ETH 查交易.
某安 持币平均成本计算器.
3. 一个小型 cms. 基于 axum + diesel.
4. rust ffi 实践. binding 一个库给其他语言使用.

> 推荐路线:

1. 先看书. 官方教程 + <深入浅出 Rust>(必读, 非常好). 大概花 1 个月吧.
2. 我上面 repo, 根据官方的例子 rust-by-example 熟悉 rust 语法.
3. 根据自己的兴趣, 尝试使用 rust 写小项目 /工具.


> 交互式 /反馈式学习:

rust 的学习路线很陡, 不要指望一蹴而就.
rust 的语法特性集, 太多. 高阶部分(宏之类, 先跳过).

螺旋上升.

书看不下去, 就看热门项目源码.
热门项目看的觉得自己行了, 就写代码.
代码写不对, 就查文档 /书 /热门项目.

反复循环.

或者从给社区热门项目 /lib, 改 bug 开始.
改的过程, 加深对语法点的理解 /应用.
2022-06-13 03:23:22 +08:00
回复了 louzhumuyou 创建的主题 Rust 推荐哪个库写 rust web 后端代码
axum + diesel.

https://github.com/better-rs/learn-rs/blob/main/crates/rs-cms/readme.md

我这写了个小型 CMS. 还没写完. 做了设计部分. 可以看看.
2022-06-13 03:21:23 +08:00
回复了 overthemoon 创建的主题 Rust 国内现在 rust 都是做什么方向的业务
rust 应用场景:

1. core lib 层: 用于 client 侧, 底层跨平台. 配合 FFI binding 给 flutter/iOS/Android 等使用.
2. core infra 层: 基础中间件. 如 tikv 项目. 分布式数据库中间件.
3. 区块链: substrate, solana 等众多公链项目. rust 大火, 9 成是被区块链带起来的.

这 3 个方向, 都是刚需. rust 的优势明显. (相比 c/c++/go)

而且, 都很赚钱.
2022-06-13 03:11:45 +08:00
回复了 nlzy 创建的主题 Rust 熟悉 C++ 的编程人员想高速上手 Rust,有推荐的资料吗
自荐: https://github.com/better-rs/learn-rs

这是我学习 rust 过程中写的一些代码. 可以看看.

> 包括:

1. 一些 rust 语法练习.
2. 一组 cli 命令行工具(实用):
ETH 查交易.
某安 持币平均成本计算器.
3. 一个小型 cms. 基于 axum + diesel.
4. rust ffi 实践. binding 一个库给其他语言使用.
2022-06-13 02:57:18 +08:00
回复了 LoremIpSum 创建的主题 Go 编程语言 关于如何在 Golang 中实现抽象类
不要用 Java 的思维来写 Go.

理解好 Go Interface 接口使用. 就够了.

之所以只有 Java 语言, 特别爱强调设计模式, 是 Java 的设计缺陷, 才需要显式打补丁(不是优点, 不要搞反了).

其他语言, 设计模式, 早就融入语言本身的设计.

Go Interface, 是面向接口编程的典范. 非常漂亮. 兼顾优雅 /简洁 /易用.

理解 Go 很简单. 核心就 2 点. 面向接口(interface) + 面向队列(channel) 编程. (沙雕泛型 generic, 先跳过)

面向接口(interface) = 面向动作(action), 数据和操作分离. 聚焦对操作(action)作抽象. 以操作为主, 数据来适配操作.

面向队列(channel) = MQ(kafka) = 生产者 /消费者模型. 你可以把 go channel, 当成内置的 kafka 来理解, 使用方式也一样.

so. go 的精华, 只有这么多. 剩下的部分, 都是裁剪 c 语言. (垃圾泛型除外)
2022-06-13 02:47:57 +08:00
回复了 thewiredguy 创建的主题 Go 编程语言 我怎么觉得 Java 的 JNI 比 Go 的 CGO 要好呢?
你的感觉没错.

go 的 cgo, 本来就是个半残. 不建议使用. (早期 uber 等大量依赖 cgo 的, 应该都苦不堪言)

用到 cgo 的场景, 其实应该换语言了. 用 rust/c/c++ 配合 FFI 更合适. (微服务场景, 都是 RPC 抹平 业务单元差异)

不要被单一语言锁死. 适合谁, 谁上.

多学一门语言, 拓宽解决问题的思路.

最坏的就是 all-in-one 思想, 东施效颦, 各种捉急.
2022-06-13 02:42:15 +08:00
回复了 1217950746 创建的主题 程序员 从头开发一个多平台应用,大家会考虑哪种技术栈?
推荐 flutter + rust 方案.

- flutter 只做 UI 层, 跨平台.
- rust 做 core lib 层跨平台.

> 优点:

1. flutter UI 开发效率高, 现在已经是 flutter 3.0 版本了. 兼容性做的已经非常好. 放心使用.
2. 主要功能层, 尽量下沉到 rust 来实现. (可以分 2 步走, 第一阶段是 flutter 原生, 后续逐步用 rust 替换)
3. rust 实现 core lib, 好处是, 以后 UI 层, 不使用 flutter, 也可以改造其他方案( iOS/Android 原生, or 其他方案)
4. rust 的性能和跨平台能力优秀. (上手门槛略高, 不过是值得的).

> PS:

有条件就 flutter + rust, 没条件用 flutter.
不过建议从项目结构设计早期, 就做好拆分.
区分 UI 层 和 core lib 层. 方便后续改造.
2022-05-06 16:46:25 +08:00
回复了 zchlwj 创建的主题 MacBook Pro mac pro 16 寸喇叭有暴音
1. 重启系统
2. 更新到最新的 MacOS.

我刚买来, 也是有爆破音. 重启解决.
后面更新 MacOS, 已经比较久没出现了.
2022-03-25 12:19:19 +08:00
回复了 akaHenry 创建的主题 Apple 2021 款 mbp14(M1 Max) 你都遇到了哪些问题?
@LJHG 电流声的问题, 可以试试重启 MacOS. 部分原因猜测是驱动加载不正常导致的.
2022-03-17 07:07:28 +08:00
回复了 akaHenry 创建的主题 Apple 2021 款 mbp14(M1 Max) 你都遇到了哪些问题?
关于外接显示器长时间睡眠, 无法唤醒问题的解决方案 2:

1. 买带 USB 扩展口的显示器.(市场上很多显示器都带)
2. 鼠标 /键盘, 有其一, 连接到显示器的 USB 口上.
3. 通过显示器, 输入信号来唤醒 MacBook.

目前亲测 100% 唤醒.


这个问题, 彻底解决了.


原因已经在上面分析过了. 应该可以确信是睡眠过久, MacBook 会停止 Type-C 口供电.
第三方 HUB 都无法解决这个问题.


而通过显示器的 USB 为啥可以唤醒? 应该是因为显示器自己有供电.
而通过显示器的 USB 为啥可以唤醒? 应该是因为显示器自己有供电.
而通过显示器的 USB 为啥可以唤醒? 应该是因为显示器自己有供电.
2022-03-16 09:40:08 +08:00
回复了 zhoudaiyu 创建的主题 配件 罗技 G Pro 在 Mac 使用的体验如何?
@superlc 可以. 我的下侧键, 就是 mission control.

GPW 很香, iMac 5K, Mac 外接 4K 显示器, 目前我用过唯一不丢帧 /无延迟的鼠标.

推测罗技 GPW 价格以上的鼠标. 应该都能达到这个体验.

PS: 不要买罗技 anywhere 系列, 亲测丢帧.
2022-03-16 09:16:34 +08:00
回复了 yanjieee 创建的主题 Apple 请问一下官网这两款妙控触摸板有什么区别?
我这个触控板, 为何吃灰, 是因为在 iMac 27 5k 下, 不只是延迟问题. 是非常严重的丢帧.

当然, 丢帧, 也是延迟导致的.

5k 的丢帧, 是瞬移 /飘 /飞天, 垃圾到不能用.

4k 的延迟, 是你滑动的时候, 滑着滑着, 指针不动了. 1-2s 之后, 又连上了, 感觉 TM 的是断连了.

总之, 是个烂货. 这个价格, 罗技更香.
1 ... 3  4  5  6  7  8  9  10  11  12 ... 16  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5559 人在线   最高记录 6543   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 44ms · UTC 07:09 · PVG 15:09 · LAX 00:09 · JFK 03:09
Developed with CodeLauncher
♥ Do have faith in what you're doing.