2024¶
c++静态库和动态库全局变量初始化有何不同?
采用动态链接库的问题:版本升级,调用动态库的程序需不需要重新编译,需要考虑动态链接库二进制ABI兼容性问题,比如是否更改了头文件中的结构体,更改了接口函数,添加了虚函数。动态链接库变更以后,如果没有热更新so,需要替换so,重启可执行程序。
静态库的问题,考虑是否存在资源加载多次的问题。
Squid搭建HTTP代理服务器
背景,有一台Mac电脑可以访问外网,但是有个开发板通过网线能够和Mac互通ssh,但是板子不能连接外网。想要通过Mac启动一个代理服务器,然后开发板的可以访问外网,包括终端和docker等。
学习OpenAI-API实现的相关库
在平时工作中或者平时折腾中,你如果部署或者调用过大模型,包括语言大模型LLM、视觉大模型LVM等。那么,你肯定对OpenAI api特别熟悉了。今天一起再看一下OpenAI的api文档,python api当然是最常用的。看了一些推荐的其它语言的API。比如:
-
cpp实现:D7EAD/liboai
-
rust实现:64bit/async-openai
你可以学习到:
-
如何用C++、rust封装openai api
-
如何实现一个基于大模型的音乐搜索app
-
如何自己通过curl库封装一个不错的网络库
简直太美妙了!!!
Core模块
LazyHandler手动类和继承机制实现
在~/lua/lazy/core/handler/init.lua文件中,定义了LazyHandler类。handler类中定义了四个具体的子类型,分别是keys、event、cmd和ft。分别在cmd.lua、event.lua、ft.lua和keys.lua文件中定义了具体的handler实现。
git如何使用?多个修改分多个commit修改
一个文件多处修改分多个commit提交
在项目开发中很常用的工作流,将修改拆分为多个清晰的提交,这样在回退和排查问题时也更加容易,代码review也更加好理解。
采用git add -p, 根据提示分成多个小块add修改。
helix-gpt如何实现AI code以及如何调试?
helix-gpt如何实现ai编码功能的?
helix-gpt是个language server,通过调用大语言模型,实现对代码的智能提示和编辑,由于是使用大模型处理,所有和语言无关,所有语言都可以使用。helix本身内置languageserver协议,因为都采用了lsp协议。其实vim、vscode也是可以用的,我们看到的Github Copilot、文心快码、通义灵码等应用都是这样实现的。