V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  akaHenry  ›  全部回复第 11 页 / 共 17 页
回复总数  331
1 ... 3  4  5  6  7  8  9  10  11  12 ... 17  
2022-06-14 13:12:11 +08:00
回复了 zebron 创建的主题 Discord 建了一个 Discord 群,范围五花八门,欢迎进来玩
你这个群, 人不多呀?

https://discord.com/invite/MnDA9pfWAW

来加我的技术交流群吧. 有 1k 多人.

不乏各厂大佬.
@cx524541577

自学能力不错. 值得鼓励.

编程入门从 Python 开始, 是非常合适的. 先从 GUI 摸索, 也是对的. 反馈及时.

1. 建议先掌握 Python 语法和 PEP8 等语言规范.
2. 注册个 github, 掌握 git 基本使用(不复杂). 用网盘管理代码, 无法跟踪版本修改记录.
3. 也可以学一点 Flutter, 建议从 Flutter Web 开始. 比 JS+HTML 学习, 理解会更快. Flutter 也是 GUI 编程范畴, 这样你学起来, 不会痛苦.
4. 非专业自学的, 建议都从 GUI 编程 or Web 入门. Flutter 非常合适. 语法也很简单.


https://github.com/hhstore/blog/labels/Python
https://github.com/hhstore/blog/labels/Flutter

可以看我的博客, 关于 Python 和 Flutter 的专题.

加油.
2022-06-14 03:04:31 +08:00
回复了 thewiredguy 创建的主题 Go 编程语言 我怎么觉得 Java 的 JNI 比 Go 的 CGO 要好呢?
> 挑选最合适项目的方案,而不是强行套方案,最终不符合预期的时候骂骂咧咧。

上面某楼, 讲这种没卵用的废话.

1. 你没有使用过一个方案. 怎么知道好不好, 合适不合适? 不实践, 就知道是不是强行套方案? 你开天眼了? 云玩家?
2. 使用过, 很臭. 不能说? 不能排雷? 让更多人避坑?
3. 说它臭, 就是骂骂咧咧? 没有银弹, 就你懂?
4. 合着, 实践过, 被坑过. 再推荐给别人踩坑, 是什么形态?

这种看似"理中客", 最好笑.

你用, 我推荐.
我用, 我不用.

我本来懒得喷.

看还有人看不懂上下文. 明确一下吧.

而且, 我列了大量资料, 不去看. 不去对比各种语言的方案进展.

喜欢用 cgo, 你就多用啊. 我又不是写给你的.
2022-06-14 02:53:04 +08:00
回复了 thewiredguy 创建的主题 Go 编程语言 我怎么觉得 Java 的 JNI 比 Go 的 CGO 要好呢?
@hhaobao 我说的钢筋, 不是说你.

只是回复你上面的疑问, 顺便提了一下, 没有开新回复.

看你这个反应.

我觉得我贴的内容多余. 免回.
2022-06-13 23:24:17 +08:00
回复了 ElCorazon 创建的主题 互联网 老罗要 AR 创业了
感谢分享. 这篇专访. 老罗很真诚.

过去我也嘲讽他做手机. (从他第一天做, 就不看好. 无知无畏...

以后, 不会嘲讽他了.

> 对他改观的原因是: 他欠了 6 个亿, 没跑. 并靠直播带货, 把账还了.

在这个信用严重缺失, 老赖遍地爬的国家.

一个守信用的人, 值得尊敬.
一个成功还了 6 个亿的人, 很难得.

经过这个挫折, 他应该成长很多.

祝他新的创业, 能够成功.
2022-06-13 22:35:22 +08:00
回复了 thewiredguy 创建的主题 Go 编程语言 我怎么觉得 Java 的 JNI 比 Go 的 CGO 要好呢?
至于 Python 的 FFI + C ABI 非常成熟. (毕竟 Python 性能优化靠 C)

社区实践了几百年了. Python 社区基础库, 基本都是 C 实现.
我是懒得贴了. 没有讨论必要.
2022-06-13 22:31:54 +08:00
回复了 thewiredguy 创建的主题 Go 编程语言 我怎么觉得 Java 的 JNI 比 Go 的 CGO 要好呢?
我上面贴的 2 篇博客, 都不看的?

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


> rust + ffi + flutter 实践案例:

- https://github.com/AppFlowy-IO/AppFlowy
- 这个项目, UI 层使用 flutter, core lib 层使用 rust.
- 是非常现代的设计方案.


> FFI 库( rust + dart):

https://github.com/fzyzcjy/flutter_rust_bridge
https://github.com/rust-lang/rust-bindgen
https://github.com/google/autocxx
https://github.com/rust-qt/ritual
https://github.com/eqrion/cbindgen
https://github.com/getditto/safer_ffi


https://github.com/shekohex/flutterust
https://github.com/sunshine-protocol/dart-bindgen
https://github.com/brickpop/flutter-rust-ffi
https://github.com/TimNN/cargo-lipo
https://github.com/bbqsrc/cargo-ndk

https://github.com/dart-lang/ffigen


跨平台场景, 要注意其他语言的 FFI 基础设施建设(易用性 /成熟度). Go 完全没有可比性.

现在贴内容, 都要投喂到这种程度, 才看吗?
如果看了我上面 2 篇博客. 还要坚持用 cgo 的. 那.... 你开心就好.
2022-06-13 22:15:58 +08:00
回复了 thewiredguy 创建的主题 Go 编程语言 我怎么觉得 Java 的 JNI 比 Go 的 CGO 要好呢?
https://github.com/trustwallet/wallet-core

这个 c++ 项目, 实现了跨语言 binding 到多个平台 iOS, Android(通过 jni).

core lib 层跨平台场景, 选项只有 rust/c/c++. 不要走邪路.
2022-06-13 22:12:14 +08:00
回复了 thewiredguy 创建的主题 Go 编程语言 我怎么觉得 Java 的 JNI 比 Go 的 CGO 要好呢?
@hhaobao

我贴给你的 FFI 相关博客, 就是 rust 和 dart 通过 C ABI 跨语言通信啊? 怀疑你有没有认真看?

至于 Python 调用 C. 这完全不用讨论.
Python 社区, 大量的包, 都是 C 实现, 然后 binding 给 Python 使用.
这是 Python 性能优化的基本手段.

> 关于 FFI / C ABI 跨语言通信. 是双向的. ( C ABI 是桥)

上面很多讨论, 都假定是 Go 通过 cgo 来调用 C 代码. (注意, 还有反过来的场景)

rust/c/c++ 的 FFI 都是双向通信能力优秀.

说 CGo 是半残, 就是尽量不要用.

没有什么方案设计, 是非它不行的, 缺它不可.
没有什么方案设计, 是非它不行的, 缺它不可.
没有什么方案设计, 是非它不行的, 缺它不可.

非喜欢抬杠的, 你喜欢, 你就多用, 每个项目都用.
@janxin

https://github.com/m3o/platform

这个项目有写大量的 pulumi 脚本. 可以参考. 😄
2022-06-13 11:03:43 +08:00
回复了 1217950746 创建的主题 程序员 从头开发一个多平台应用,大家会考虑哪种技术栈?
@1217950746

关于 Flutter 和 Rust 学习. 可以看我的博客.

https://github.com/hhstore/blog/labels/Rust
https://github.com/hhstore/blog/labels/Flutter

Good luck. 😄
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 开始.
改的过程, 加深对语法点的理解 /应用.
1 ... 3  4  5  6  7  8  9  10  11  12 ... 17  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5061 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 20ms · UTC 07:14 · PVG 15:14 · LAX 00:14 · JFK 03:14
Developed with CodeLauncher
♥ Do have faith in what you're doing.