代码之家  ›  专栏  ›  技术社区  ›  TJB

一个适合于学习unix/linux优点的好项目是什么?

  •  3
  • TJB  · 技术社区  · 15 年前

    多年来,我一直在开发基于微软的Windows应用程序(桌面和Web),使用C/C、.NET、VisualStudio和少量的C/C++和Win32。 我想开拓我的视野,尝试在一个宽松的环境中发展 例如使用VIM和C++。我在一些学校项目中的unix经验有限。

    我很难想出一个好的项目来实现,它可能会揭示unix的一些优点,以及为什么有些项目/字段更喜欢使用unix。我可以想到一些我想构建的有趣的东西,但是没有看到令人信服的理由来解释为什么在unix中实现它们只不过是使用unix环境的一个练习。

    什么项目/应用程序可以帮助开发人员了解Unix的优势?

    理想情况下,在我编写这个项目的某个时刻,一个灯泡会浮在我的头顶上,自己打开,我会说“啊哈!”当我意识到与以前在windows中所做的事情相比,unix环境的一些好处时。

    为了清楚起见,我并不怀疑unix有它的优势,我只是在为unix开发寻找一个诱人的起点。

    5 回复  |  直到 15 年前
        1
  •  1
  •   Christian V    15 年前

    在unix/linux中,“一切”都是文件。写一个能读取磁盘设备、理解分区表和文件系统的软件怎么样?

    另一种可能是编写一个linux内核模块来完成“某些事情”。它一定会让您更好地理解linux内核的工作原理。作为一个额外的好处,它听起来比实际更为核心;)

    一个好的起点是 Kernel Newbies .

        2
  •  1
  •   Greg Hewgill    15 年前

    这里有一个想法:编写一个(简单的)游戏,并在一些公共目录中维护一个“高分列表”,这样普通用户可以查看分数,但不能直接修改分数(只能通过游戏程序本身)。

    这样做将显示unix文件权限和setgid是如何工作的。值得考虑如何在windows中实现相同的功能。

        3
  •  1
  •   el.pescado - нет войне    15 年前

    您可以使用非阻塞io和epoll、kqueue或/dev/epoll等机制编写一些服务器应用程序,以便能够在不使用任何线程的情况下处理大容量通信量。

        4
  •  0
  •   Charles Eli Cheese    15 年前

    你的工作方式对你的影响比什么都大。不过,一个好的多线程应用程序会显示出通常更好的线程性能。

        5
  •  0
  •   pavium    15 年前

    您可以考虑一个涉及解析大量文本的项目。

    编辑: 在这种情况下,您应该选择一种更适合文本处理的语言(如perl) .

    当然,这可以通过ms工具来实现,但是由于大多数ms应用程序使用专有的二进制文件格式(我 泛化 windows中的重点是操作ms自身格式的应用程序。

    一个迫使您考虑unix工具的文本处理功能的项目可能对揭示unix的优势最有用。