• 业余的工作


         最近在准备实现一个简单的server后端,这是一个比较陌生的领域,所以也不准备要写得多好,就纯粹尝试一下新东西,顺便完成以前在学校时就有了的夙愿。

         现在初步的计划,实现上有以下几个原则:

         首先,项目用c++来写,因为语言上比较熟悉,另外就是,结构化,面向对象编程的优点是无法拒绝的,但是我个人十分不喜欢面向对象上太高级的东西,

    比如设计模式什么的,我这里要做的事情,逻辑上要求比较简单,所以,我的第一条原则是,凡事尽可能简单,只使用面向对象上的封装以及多态就够了。

         其次,可以尝试适当造点轮子,少用第三库,这个想法可能有些难以理解,就我而言,我的出发点却只是想亲自多写些东西,不需要太复杂,但一定要对所写出来的东西,各方面通通透透。所以,不要用智能指针,不要用boost之类的东西,STL也能不用就尽量不用。

         最后,要有单元测试及相关文档。这是我的弱项,对它们的心态也不好,正好趁这个机会加强一下,合适的文档到时就当博文发了。

         

        具体实现上,粗略考虑了一下,有以下几个方面:

         1) 基于pthread, 封装一些简单易用的线程类,比如说线程,线程池,以及一些用于同步线程的mutex, semaphore等.

         2) 服务于多线程,实现一些无锁及有锁的数据结构,以及内存管理等.

         3) 实现一个简单快速的无锁Logging, 基于上面一条来实现,lock-free buffer + cas + daemon。

         4) 基于socket, 封装一些TCP连接的类,TcpClient, TcpServer,这应该是我最陌生的一部分了。

             如果完成的顺利,到时再考虑加上http的支持。

        说干就干,现在已经基本完成了第一条pthread方面的编码!事情只要动起来常常没有想像的艰难,希望在未来二三个月内可以把其它的东西完成!

        过去的时间里,业余创作太少,更别说拿得出手的,github空空如也,确实也不好看,很多时候,人缺的不是想法,而常常是行动,自勉!

        

             

         

      

  • 相关阅读:
    数据挖掘实践(23):实战-- 建筑能源得分预测报告(一)
    返回闭包
    函数指针
    Rust 中的 Closure
    Moves, copies and clones in Rust
    Rust的闭包类型(Fn, FnMut, FnOne的区别)
    Clone VS Copy
    rust socket
    A simple UNIX socket listener in Rust
    【firecracker】系统启动与epoll事件循环
  • 原文地址:https://www.cnblogs.com/catch/p/3130901.html
Copyright © 2020-2023  润新知