首页 分享 【纪念365天】我的创作纪念日

【纪念365天】我的创作纪念日

来源:花匠小妙招 时间:2024-12-17 04:38

过去的一年

        没有注意加入csdn已经有一年了。 这几天翻看小猴儿的通知才发现时间来到了一年的纪念日。稍稍思索想要将这一段时间的学习到的知识以及偶然遇到的机遇做一下总结。

        上一次写纪念日是来到csdn128天的时候, 200天前我的学习状态是非常疯狂的。 只记得我当时两个月的时间就跟着网课学完了数据结构和c++。学习c++和数据结构是很有意思的, 跟着网课学习完一节课, 我就将对应的代码敲出来, h文件一个接着一个的开,反复的敲, 基本上每一种数据结构我都能敲三四遍。 还记得当时我有一个c++源文件里面有一万多行代码, 后来被我不小心删掉了, 我只在gitee上面找回了四五千行, 这让我心痛了好一阵。 
        c++和数据结构是有意思的, 但是linux是没意思的。 c++学习完之后, 我学了linux, 同样看的网课。 linux的网课老师讲的很好。 我能看出来老师已经尽量将linux讲的有意思, 讲的生动。 但是很可惜, linux作为计算机世界的哲学, 它有着将课堂的趣味性一减再减的魔力, 让我看着看着就走神了。 没办法, 我只能重新点击键盘左方向键——重新看一遍。你说linux你学的很快?好吧, 可能是我学习的积极性有所下降。 也确实, 我的学习积极性当时是有所下降的。——7月份的天气太热, 让我不自觉打开冰箱拿出一个冰棍,吃一口的同时再打开手机刷一下视频, 然后碎片化的时间不允许我的学习效率提高上去。 结果就是,我从7月份到10月份linux只学习完系统编程。但是! 当我看着我身边的同学们连操作系统是啥都不知道的时候, 原谅我的嘴角抽动了一下。 我知道这不对,我学校的课都没学,用学习学校线代, 英语这种基石学科的时间学习来学习专业课, 好像并不足以我感到有那一丝优越感。

        所以我学习线代了,所以我学习英语了。 ——我上课不拿电脑了, 可能老师们上课的时候会发现课堂上少了那一个在最后一排拿电脑上课的同学。他们会想是不是这个同学更过分不来上课了? 所以他们签到的劲头更足,他们变着花样签到, 甚至发了签到却在课堂上说不让我们签。那些在宿舍睡大觉的人可能起来的时候一看到签到了, 一下子就签了, 可怜的倒霉鬼不知道的是老师在课堂上预判了他的操作。 但是任老师花样百出, 我上课了!我在学习线代!我在学习英语!四级通过的大门我来了!机器学习房间的门槛你即便高我也在接近你。 AI大模型他们说需要机器学习的功底,b站上面的机器学习课程带着英语的讲解让我着迷, 这些成为了我想要学习线代和英语的无限动力! linux的网络编程别担心, 我马上就会重新学你。 mysql数据库你别得意, 你快被我学完啦。 早晨的脑子累只是一下子, 算法一道题过后让我清醒。AI你别躲藏, 机器学习我迟早学习你。这么多东西, 这么多知识。还是太菜了。但是!菜就多练。

所得收获

        在csdn创作的收获是无穷无尽的, 粉丝、 阅读量的增长与ip的维护是一方面。 认识同道的大佬更是一个能鞭策自己不辍修行, 给自己指引方向的明灯。 所以,在csdn创作已经是收获,其他更是受益匪浅。 

成就

        在过去写的最好的一段代码可能就是在网络编程写的客户端和服务端代码,网络编程真的让人感觉不可思议, 我在测试的时候甚至让我的服务器和window系统连接通信!下面是tcp协议的服务端代码:

#pragma once

#include "Log.hpp"

#include <iostream>

#include <string.h>

#include <sys/types.h>

#include <sys/socket.h>

#include <netinet/in.h>

#include <arpa/inet.h>

#include "ThreadPool.hpp"

#include "Task.hpp"

#include <sys/wait.h>

#include <unistd.h>

#include"daemon.hpp"

using namespace std;

const int defaultfd = -1;

const int defaultport = 8080;

const string defaultip = "0.0.0.0";

const int backlog = 10;

class TcpServer;

class ThreadData

{

public:

ThreadData(int fd, string ip, uint16_t port, TcpServer *const t)

: sockfd_(fd), clientip_(ip), clientport_(port), t_(t)

{

}

public:

int sockfd_;

string clientip_;

uint16_t clientport_;

public:

TcpServer *const t_;

};

Log lg;

enum

{

SockError = 2,

BindError,

ListenError

};

class TcpServer

{

public:

TcpServer(int port = defaultport, string ip = defaultip, int sockfd = defaultfd)

: listensockfd_(sockfd), ip_(ip), port_(port)

{

}

void InitServer()

{

listensockfd_ = socket(AF_INET, SOCK_STREAM, 0);

if (listensockfd_ < 0)

{

lg(Fatal, "create socket, errno: %d, strerror: %s", errno, strerror(errno));

exit(SockError);

}

lg(Info, "create socket success, sockfd: %d", listensockfd_);

struct sockaddr_in local;

memset(&local, 0, sizeof(local));

local.sin_family = AF_INET;

local.sin_port = htons(port_);

inet_aton(ip_.c_str(), &(local.sin_addr));

if (bind(listensockfd_, (sockaddr *)&local, sizeof(local)) < 0)

{

lg(Fatal, "bind error, errno: %d, strerror: %s", errno, strerror(errno));

exit(BindError);

}

if (listen(listensockfd_, backlog) < 0)

{

lg(Fatal, "Listen error, errno: %d, strerror: %s", errno, strerror(errno));

exit(ListenError);

}

lg(Info, "Listen has success");

}

void Start()

{

Daemon();

ThreadPool<Task>::GetInstance()->Start();

lg(Info, "tcpServer is running...");

for (;;)

{

struct sockaddr_in client;

socklen_t len = sizeof(client);

int sockfd = accept(listensockfd_, (sockaddr *)&client, &len);

if (sockfd < 0)

{

lg(Waring, "listen error, errno: %d, strerror: %s", errno, strerror(errno));

continue;

}

uint16_t clientport = ntohs(client.sin_port);

char clientip[32];

inet_ntop(sockfd, &client.sin_addr, clientip, sizeof(clientip));

lg(Info, "get a new link..., sockfd:%d, clientport: %d, clientip: %s", sockfd, clientport, clientip);

Task task_(sockfd, clientip, clientport);

ThreadPool<Task>::GetInstance()->Push(task_);

}

}

~TcpServer()

{

}

private:

int listensockfd_;

uint16_t port_;

string ip_;

};

憧憬

        憧憬有很多, 但是看不清的也有很多。 有点憧憬与迷茫交织, 有的则是冲突。 简单的, 最近的就是能够在学期内学习完linux, 把线代和英语学好吧。 

                                                                                                        ——2024-11-26

相关知识

情侣有纪念意义的天数怎么记 恋爱纪念日发什么说说
情侣有意义的纪念日有哪些 情侣纪念日应该怎么庆祝【接亲网】
情侣有纪念意义的天数怎么记 恋爱纪念日发什么说说【婚礼纪】
纪念爱情的花朵:最适合纪念日的鲜花选择
365天每日的生辰花是什么? 爱问知识人
我们的纪念日(原版伴奏)
情侣有纪念意义的天数有哪些 情侣纪念日怎么过【婚礼纪】
你可知道,一年365天有多少值得关注的日子
【恋爱纪念日】一个月纪念日送什么花?纪念日送花女孩子都无法抗拒
2021烈士纪念日是哪一天 烈士纪念日的由来与意义

网址: 【纪念365天】我的创作纪念日 https://www.huajiangbk.com/newsview1137803.html

所属分类:花卉
上一篇: 计蒜客习题:恋爱纪念日(C语言)
下一篇: 结婚周年纪念日夫妻贺卡贺词110

推荐分享