V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  justou  ›  全部回复第 1 页 / 共 12 页
回复总数  233
1  2  3  4  5  6  7  8  9  10 ... 12  
排队凑个热闹, 感谢 lz 的翻译工作
60 天前
回复了 dunhanson 创建的主题 程序员 Typora 怎么像 VS Code 那样多标签显示?
@oneKnow 发现 Obsidian 支持 vim ,准备弃 Typora 了...
@mepwang 让我想起了我的入门语言 Fortran ,数组在内存中列连续。出了学校再也没用过了,现在语言内置的并行计算功能越来越完善了
https://coarrays.sourceforge.io/doc.html
https://github.com/tkoenig1/coarray-tutorial/blob/main/tutorial.md
133 天前
回复了 justou 创建的主题 程序员 关于 ZeroMQ 的若干问题
@xgdgsc 感谢提供这个新思路.

@xsen 的确以前没怎么接触网络编程, 所以了解到 zmq 后才一拍脑门: 这东西不仅可以让软件解耦成更加容易开发和维护的独立模块, 还直接导致硬件也跟着解耦了, 比如给一批老旧的硬件系统新增加速卡(GPU/TPU)计算服务, 不用去动原有的硬件结构, 甚至可能无法动, 只需要一根网线牵出来连到新买的加速卡服务器上, 旧系统上原有的软件也不需要太多的更改, 只需要调用新开发的接口程序, 把数据发送到加速卡上计算就行了.
133 天前
回复了 justou 创建的主题 程序员 关于 ZeroMQ 的若干问题
@ysc3839 是的, 就是一个 C ABI 的 DLL 将整个 python 虚拟机隐藏在下面, 这样上层应用不论是 C++ C#还是其它什么实现都能用了. Cython 主要在 cdef public 的函数中对 C++传过来的指针进行数据转换然后再直接调用 python 函数. 既然已经到 C ABI 层次了, 可能 pybind11 与 Cython 区别不大了, 主要是我对 Cython 熟悉一点, 其实开发中最麻烦的还是 debug 问题, 两边无法直接联动.

@xsen @xgdgsc
改用 zmq 替换嵌入 python 虚拟机具体一点的想法是这样的:
还是一个 C ABI 的 DLL, 假设有图像处理和视频(几秒的视频)处理功能用 python 来实现, start_image_service, start_video_service 分别启动对应的 python 脚本在后台等待请求, process_image(void* image, ...), process_video(void* video, ...)将数据发送过去, 等待处理结果; python 接收到对应的字节后对其解码成适合自己的数据结构, 处理后发送回去.

不过随着应用的通信变得复杂, 这种方式可能会变得不可控, 看来大家说的 gprc 才是正确选择; 对延迟要求还是挺高的, 所以进程间通信越快越好.

其实我主要是想了解下 zmq 底层实现的一些思想, 也就是上面关于 ZeroMQ 的 1,2,3 个问题.
另外,根据 f(x)在某点 c 的二阶导判断极大极小值:
f''(c)>0, concave up, minimum
f''(c)<0, concave down, maximum

我经常按照以下方式来理解记忆:
f''(c)
v v 形状 concave up, v 的尖尖儿上极小值
0

f''(c)
^ ^形状 concave down, ^的尖尖儿上极大值
0
虽然简单推导下就能得出,但以上形象记忆非常适合脑筋急转弯 XD
∪ (上凹 concave up=convex, eg. y=x^2), ∩ (下凹 concave down)
191 天前
回复了 justou 创建的主题 C++ C DLL 中初始化 Python 虚拟机问题
做了个简易 demo, 所有依赖都在里面, CLion 可以直接打开工程. 其它开发环境可能要用里面的 CMakeLists.txt 生成工程文件 https://drive.google.com/file/d/1OElQ6j8LwA-A2A45G2OROepqywmvh3Hn/view?usp=sharing
2022-04-30 15:41:30 +08:00
回复了 vcfghtyjc 创建的主题 C++ string literals 和 standard library strings
"hello"的类型是 const char[6], 作为数组相加吗? 如果可以的话,
const char[2] + const char[3]怎么加?
const int[4] + const int[4]怎么加?

char, short, int, long 等都是 integral, 除了数值能表示的范围, 没啥特殊

这样可以
using std::operator""s;
auto s = "hello"s + "world";
2022-04-26 18:38:33 +08:00
回复了 holmes1412 创建的主题 C 分享新思路:一个逻辑完备的线程池
UP 有没有好的流水线式处理实现思路?
n_1 个生产者 -> n_2 个加工者 -> n_3 个加工者 -> ... ->n_k 个最终消费者
设计可复用的 Pipe 来组成一个 Pipeline
@lizhiping886 可以尝试精简, 我用 pyinstaller 打包的一个 pyqt 程序只有 16.8M, 不过只用了 python 标准库和 qt 的 widgets, 没用其它
2022-04-16 12:28:15 +08:00
回复了 justou 创建的主题 C++ 请教一个 C++模板问题 (≥C++17)
@GeruzoniAnsasu 也是好办法, 谢谢推荐
2022-04-16 12:14:18 +08:00
回复了 justou 创建的主题 C++ 请教一个 C++模板问题 (≥C++17)
@ink19 是这个意思, 我就知道肯定有办法的, 谢谢~
你的代码不全, 应该贴一个完整的 demo, 拿来就能 debug 那种

1. 一整行被选中,尝试使用 self.tableView.currentIndex().row()获取行号应该是在一个 slot 中, 你是怎么写的?
2. 在不选中任意一行的情况下, currentIndex 是 invalid 的, row()返回-1 不是表示最后一行, 行索引的有效范围是[0, rowCount() - 1], 在处理一个 index 时注意使用 isValid()判断
2022-01-25 11:00:07 +08:00
回复了 ligiggy 创建的主题 C++ 请教大家一个函数的定义问题
1. double getCalculateResult(bool &ok); 表示需要强制判断
2. bool getCalculateResult(double &result); 完全可以忽略判断
3. double getCalculateResult(bool *ok=nullptr); 是否判断由调用者决定
4. std::optional<double> getCalculateResult(); 另一种强制判断
5. 抛异常

得看具体场景
2021-12-10 15:21:23 +08:00
回复了 eccentric579 创建的主题 Python Python 如何创建独立的进程
2021-08-30 22:04:44 +08:00
回复了 zxCoder 创建的主题 C++ c++在公司里一般是做什么的啊
在公司编程不都是为了解决特定领域的特定问题么?
2021-07-12 17:34:19 +08:00
回复了 zealinux 创建的主题 程序员 工作中经常打开浏览器 50+个 Tab,这个坏习惯该怎么改?
试试 Toby 来管理?
https://www.gettoby.com/
2021-05-28 22:20:57 +08:00
回复了 coolan 创建的主题 Windows 记录一下: win10 键盘偶尔部分失灵,微软拼音输入法的锅
遇到两次过,一次重启好了,一次 win+space 切换输入法后好了,就怀疑是微软输入法的锅。
1  2  3  4  5  6  7  8  9  10 ... 12  
关于   ·   帮助文档   ·   博客   ·   nftychat   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   723 人在线   最高记录 5634   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 48ms · UTC 20:57 · PVG 04:57 · LAX 13:57 · JFK 16:57
Developed with CodeLauncher
♥ Do have faith in what you're doing.