企业网站的主要类型有,网站免费制作,美剧网站怎么做,一个做网站的团队需要哪些体验AI帮助编写代码 专栏内容#xff1a; 手写数据库toadb 本专栏主要介绍如何从零开发#xff0c;开发的步骤#xff0c;以及开发过程中的涉及的原理#xff0c;遇到的问题等#xff0c;让大家能跟上并且可以一起开发#xff0c;让每个需要的人成为参与者。 本专栏会定…体验AI帮助编写代码 专栏内容 手写数据库toadb 本专栏主要介绍如何从零开发开发的步骤以及开发过程中的涉及的原理遇到的问题等让大家能跟上并且可以一起开发让每个需要的人成为参与者。 本专栏会定期更新对应的代码也会定期更新每个阶段的代码会打上tag方便阶段学习。 开源贡献 toadb开源库 个人主页我的主页 管理社区开源数据库 座右铭天行健君子以自强不息地势坤君子以厚德载物. 人工智能使用体验
在前段时间写作时会用到一些小段的代码 使用百度的文心一言可以生成一些常见的代码片段
软件开发的体验
最近在做开源数据库内核核心架构和算法也不多比如数据库的存储模型主要有文件的格式插入查询更新查找空闲空间册除等操作但是代码实现的话中间业务过程数据结构的设计算法的设计业务流程等代码量还不少如何能用人工智能帮助写代码呢
目前经过多次尝试还不能做到总结经验有几点 1、文心一言每次返回的结果会有上限不会大篇幅内容如果内容超长就会截短或者回答不了或者一短简短文字描述。 2、对于自然语言的理解程度不够通过汉语文字描述的需求并不能完全转化成可识别的内容所以机器执行误差很大只有对于大量存在的名词才能识别出来比如排序算法如果再增加内容就不能识别。 3、人工智能的数据库存储内容不够丰富很多不能找到结果而是很泛的一些宣传语
针对以上实践感觉还是要丰富知识库的内容让更多的基础组件和基础算法不论是文章还是代码都能大量的存在。
擅长的事
AI擅长一些工具类查询还有一些套路类代码这样就会很快给出结果对于代码片段也不会很精准需要多次从不同角度询问需要人工将多个结果中需要的部分提取才可以。 比如写一个C/S模式的客户端服务端socket程序对于免费版本的文心一言不能同时给出需要分客户端和服务端两次询问。
客户端程序
#include stdio.h
#include stdlib.h
#include string.h
#include sys/socket.h
#include arpa/inet.h
#include unistd.h#define SERVER_PORT 8080
#define BUFFER_SIZE 1024int main(int argc, char *argv[]) {int client_socket;struct sockaddr_in server_addr;char buffer[BUFFER_SIZE];// 创建socketif ((client_socket socket(AF_INET, SOCK_STREAM, 0)) -1) {perror(socket creation failed);exit(EXIT_FAILURE);}// 配置服务器地址结构体memset(server_addr, 0, sizeof(server_addr));server_addr.sin_family AF_INET;server_addr.sin_port htons(SERVER_PORT);if (inet_pton(AF_INET, localhost, server_addr.sin_addr) 0) {perror(inet_pton failed);exit(EXIT_FAILURE);}// 连接服务器if (connect(client_socket, (struct sockaddr *)server_addr, sizeof(server_addr)) -1) {perror(connect failed);exit(EXIT_FAILURE);}printf(Connected to server successfully\n);// 从标准输入读取消息并发送给服务器while (1) {fgets(buffer, BUFFER_SIZE, stdin);if (send(client_socket, buffer, strlen(buffer), 0) -1) {perror(send failed);exit(EXIT_FAILURE);}printf(Message sent: %s, buffer);}close(client_socket); // 关闭客户端socket连接return 0;
}服务端程序
下面是一个简单的C语言示例演示了如何使用socket编程实现C/S模式服务器的通信。
#include stdio.h
#include stdlib.h
#include string.h
#include sys/socket.h
#include arpa/inet.h
#include unistd.h#define SERVER_PORT 8080
#define MAX_CLIENTS 5
#define BUFFER_SIZE 1024int main(void) {int server_socket, client_socket;struct sockaddr_in server_addr, client_addr;char buffer[BUFFER_SIZE];// 创建socketif ((server_socket socket(AF_INET, SOCK_STREAM, 0)) -1) {perror(socket creation failed);exit(EXIT_FAILURE);}// 配置服务器地址结构体memset(server_addr, 0, sizeof(server_addr));server_addr.sin_family AF_INET;server_addr.sin_addr.s_addr INADDR_ANY;server_addr.sin_port htons(SERVER_PORT);// 绑定socket到服务器地址if (bind(server_socket, (struct sockaddr *)server_addr, sizeof(server_addr)) -1) {perror(bind failed);exit(EXIT_FAILURE);}// 监听socket等待客户端连接if (listen(server_socket, MAX_CLIENTS) -1) {perror(listen failed);exit(EXIT_FAILURE);}printf(Server started, waiting for clients...\n);while (1) {// 等待客户端连接请求并接受连接socklen_t client_addr_len sizeof(client_addr);if ((client_socket accept(server_socket, (struct sockaddr *)client_addr, client_addr_len)) -1) {perror(accept failed);exit(EXIT_FAILURE);}// 从客户端接收消息并回复memset(buffer, 0, BUFFER_SIZE);if (recv(client_socket, buffer, BUFFER_SIZE, 0) -1) {perror(recv failed);exit(EXIT_FAILURE);}printf(Received message: %s\n, buffer);send(client_socket, buffer, strlen(buffer), 0);close(client_socket); // 关闭客户端socket连接}close(server_socket); // 关闭服务器socket连接return 0;
}结尾 非常感谢大家的支持在浏览的同时别忘了留下您宝贵的评论如果觉得值得鼓励请点赞收藏我会更加努力 作者邮箱studysenllang.onaliyun.com 如有错误或者疏漏欢迎指出互相学习。