曹旭辉 发表于 2025-1-24 00:38:59

【博客之星】2024年度创作发展总结 - 面朝大海 ,春暖花开!

https://i-blog.csdnimg.cn/direct/69581631be7f40e9b8ae4f7161885c2c.png
   没关系的,大家都会做错选择,会    莫名其妙掉眼泪,走在路上会忽然崩溃,        但这并不影响我们去看看晚霞,          再次爱上这个天下。          

about me

现在我是一名24级盘算机类的大一门生。从23年高考毕业正式接触编程,其时十分想要报名盘算机专业,但是阴差阳错成为了山东大学威海校区电子信息类的门生。这种错过空想的感受让我沮丧的一段时间。这天下上总有突如其来的失去,洒了的牛奶,.遗失的钱包,走散的爱人,断掉的友情等等,当你做什么都于事无补的时间,唯一能做的,就是让自己过得好一点。丢都丢了,就别再哭了。”
于是我们发愤要举行转专业,转入盘算机专业。同时暑假我开始了C语言的学习,正式踏入到了程序天下,开始以一种全新的视角开始审视这个天下。也正式成为一名创作者,在CSDN平台开始了创作道路!
在大一上学期,我得知我们努力将绩点保持在前10%,我以为大一下年度的转专业一定会顺遂通过,但命运总会和我开一个打趣:我与转专业线差之毫厘,仅仅0.7%的绩点排名差距。
至此,我以为我与科班生就没有关系了,开始努力学习盘算机四大件,学校课程基本都是水过去的。没有想到的是,在大二上的转专业中,我不测的得到了转专业名额,正式的成为了24级盘算机科班生。
这一路,真可谓是 生活难免曲折,但要相信你的运气!
Review

在2024年中,我创作了160篇文章,累积博客阅读量32万,均匀2.2天就可以创作一篇文章。回过头来看,针对真的很难想象我创作的频率云云之高,真的要感激2024努力的自己!
https://i-blog.csdnimg.cn/direct/489d04decb4c44688a009376eb72bf27.png
在2024博客之星评比中入围了TOP300名单,这是对每一位用心创作的创作者的最大的夸奖!
https://i-blog.csdnimg.cn/direct/6463fc056b694ca9adf0cc496d9ba223.png
在这一年中我学习了数据结构,盘算机网络,Linux系统编程 ,网络编程。对于学习的每一个知识点都会举行总结,写出博客举行发布,坚持了一年,让我写作能力大大提拔,敲键盘的硬素质也得到了质的提拔!!!
在学校中,虽然没有努力学习课程,但幸运的得到了山东大学专长奖学金,这无疑是对我硕大的激励!
2024年,我也初步开始接触算法竞赛。年初先从简单的蓝桥杯开始,蓝桥杯省赛得到了二等奖,这时的我还只会利用暴力解法,基本一点算法思维都没有。半年后到场了WCPC威海市程序设计大赛,这是第一次到场ACM赛制的比赛,团队合作举行解题,但遗憾的是我们并没有得到奖项,算法的路依旧漫长!目前累积刷题270道:
https://i-blog.csdnimg.cn/direct/5e296fe66020425c8b7b864e14cfcaab.png
24年我完成了两个项目:


[*]高并发内存池项目:纯C++项目,十分巧妙的三层结构,实现对内存申请的快速高效处置惩罚
[*]仿muduo库的高并发服务器:一个仿muduo库One Thread One Loop式主从Reactor模型实现⾼并发服务器项目。实现网络服务器通信!
高并发服务器项目标实现中,我由衷的感到c++功力的强大,通过层层套接封装,可以实现一个云云复杂却又简明的服务器框架,下面是我24年最感到佩服的代码!
// 最终模块 --- TcpServer
class TcpServer
{
private:
    uint64_t _conn_id;                            // 自增长的连接ID;
    int _port;                                    // 绑定的端口号
    EventLoop _baseloop;                        // 主Reactor模型
    Acceptor _acceptor;                           // 监听套接字
    LoopThreadPool _pool;                         // 从属线程池
    std::unordered_map<uint64_t, PtrConn> _conns; // 管理连接的哈希表
    int _timeout;                                 // 超时时间
    bool _enable_active_release;                  // 是否开启超时销毁 默认是false

    // 4种 回调函数 --- 注意使用智能指针 防止在执行任务之前Connection销毁
    using ConnectedCallBack = std::function<void(const PtrConn &)>;         // 连接时进行的回调函数
    using MessageCallBack = std::function<void(const PtrConn &, Buffer *)>; // 处理数据时的回调函数
    using ClosedCallBack = std::function<void(const PtrConn &)>;            // 关闭连接时的回调函数
    using AnyEventCallBack = std::function<void(const PtrConn &)>;          // 处理任意事件时的回调函数

    ConnectedCallBack _conn_cb;// 连接回调函数类型
    MessageCallBack _message_cb; // 处理时回调函数
    ClosedCallBack _closed_cb;   // 关闭阶段的回调
    AnyEventCallBack _event_cb;// 任意事件触发的回调
private:
    void RunAfterInLoop(int sec, const Functor &func)
    {
      _conn_id++;
      _baseloop.TimerAdd(_conn_id, sec, func);
    }
    // 对新连接的处理
    void NewConnction(int newfd)
    {
      // 创建新的fd的channel
      _conn_id++;
      PtrConn conn(new Connection(_pool.NextLoop(), _conn_id, newfd));
      LOG(DEBUG, "新Connection建立 fd :%d\n", conn->Fd());
      // 设置回调函数
      conn->SetMessageCB(_message_cb);
      conn->SetClosedCB(_closed_cb);
      conn->SetConnectCB(_conn_cb);
      conn->SetAnyEventCB(_event_cb);
      conn->SetSvrClosedCB(std::bind(&TcpServer::RemoveConnection, this, std::placeholders::_1));
      conn->EnableInactiveRelease(_timeout); // 启动非活跃销毁功能
      conn->Established();                   // 进行就绪初始化!
      // LOG(DEBUG, "Connection初始化就绪\n");

      // 非活跃连接的超时释放操作
      _conns.insert(std::make_pair(_conn_id, conn));
    }
    void RemoveConnectionInLoop(const PtrConn &conn)
    {
      uint64_t id = conn->Id();
      auto it = _conns.find(id);
      if (it != _conns.end())
      {
            _conns.erase(id);
      }
    }
    void RemoveConnection(const PtrConn &conn)
    {
      _baseloop.RunInLoop(std::bind(&TcpServer::RemoveConnectionInLoop, this, conn));
    }

public:
    TcpServer(int port) : _conn_id(0),
                        _port(port),
                        _baseloop(),
                        _acceptor(&_baseloop, _port),
                        _pool(&_baseloop),
                        _timeout(0),
                        _enable_active_release(false)
    {
      _acceptor.SetAcceptCallBack(std::bind(&TcpServer::NewConnction, this, std::placeholders::_1));
    }
    //设置回调函数
    void SetConnectCB(const ConnectedCallBack &cb) { _conn_cb = cb; }
    void SetMessageCB(const MessageCallBack &cb) { _message_cb = cb; }
    void SetClosedCB(const ClosedCallBack &cb) { _closed_cb = cb; }
    void SetAnyEventCB(const AnyEventCallBack &cb) { _event_cb = cb; }
    // 开启超时销毁
    void EnableActiveRelease(int timeout)
    {
      _timeout = timeout;
      _enable_active_release = true;
    }
    // 添加定时任务
    void RunAfter(int sec, const Functor &func)
    {
      _baseloop.RunInLoop(std::bind(&TcpServer::RunAfterInLoop, this, sec, func));
    }
    // 设置线程池数量
    void SetThreadSize(int size) { return _pool.SetLoopThreadSize(size); }
    // 服务器开始运行
    void Start()
    {
      // LOG(DEBUG, "Start()\n");
      _acceptor.Listen();
      _pool.Create();
      _baseloop.Start();
    }
};

void Channel::Remove() { return _loop->RemoveEvent(this); }
// 更新Channel的事件监控
void Channel::Update() { return _loop->UpdateEvent(this); }

void TimeWheel::TimerAdd(uint64_t id, int delay, Task_t cb)
{
    _loop->RunInLoop(std::bind(&TimeWheel::TimerAddInloop, this, id, delay, cb));
}

void TimeWheel::TimerRefresh(uint64_t id)
{
    _loop->RunInLoop(std::bind(&TimeWheel::TimerRefreshInloop, this, id));
}

void TimeWheel::TimerCancel(uint64_t id)
{
    _loop->RunInLoop(std::bind(&TimeWheel::TimerCancelInLoop, this, id));
}
目前正在完成第三个项目:仿RabbitMQ实现消息队列。
这三个项目是我25年暑期夺取实习时机的紧张保证!
Life

创作之余,游戏与活动是我风俗的放松方式。
与舍友一起开黑的时光真的治愈身心,每天学习完回到宿舍就是一句:瓦!目前是一名黄金玩家,还需努力哈哈!下面是我最喜欢的脚色 cypher
https://i-blog.csdnimg.cn/direct/46910d428dc44025b081e96edf8befb6.png
为班级征战的篮球赛真的振奋人心,活动总会让我忘记烦恼,沉浸在汗水与呐喊中,一点一点的感受身体的脉动!
https://i-blog.csdnimg.cn/direct/e0833bd2342b40da88e92431be1647c4.png
这学期也开始了健身,卧推极限到达了65KG,到达了自重。这也让我十分开心哈哈哈,健壮的身体真的让我开心哈哈哈
2024年我前去杭州千岛湖,与友人共度高兴时光;漫步九寨沟,与兄弟们深度体验天然异景;抵达北京,亲历庄严的升旗仪式!
https://i-blog.csdnimg.cn/direct/c55edb57cfde474f8a45688f444d3a9b.png
对于未来,我感觉依然充满不确定性,但没关系的,大家都会做错选择,会莫名其妙掉眼泪,走在路上会忽然崩溃,但这并不影响我们去看看晚霞,再次爱上这个天下。我相信没有一颗星,会由于追求空想而受伤,当我至心渴望某样东西时,整个宇宙都会来帮忙。
大厂offer,请你一定等着我!!!
大厂offer,请你一定等着我!!!
大厂offer,请你一定等着我!!!

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页: [1]
查看完整版本: 【博客之星】2024年度创作发展总结 - 面朝大海 ,春暖花开!