首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    尝试为nodejs贡献代码

    一直都有在看一些开源项目的代码,但是还没有试过提交pr。因为最近在研究websocket和keep-alive。而websocket涉及到长连接,过多无用的长连接对系统来说是负担,是否可以尽快发现对端是否已经掉线,从而释放这个连接来减少系统压力呢,就这个初衷,想通过wireshark和nodejs调试一下心跳机制,但是发现nodejs对这个的支持不是很好。tcp的心跳机制,支持三个配置,但是nodejs的setKeepAlive只支持一个配置(后面发现最新版代码里有一点支持的痕迹了,但是没有给用户提供接口),所以就产生了提交pr的想法。代码改动不大,但是整个流程走下来,也挺费时间的。 本文大致分享一下这个过程。我的诉求是想让nodejs把修改心跳机制和相关配置的接口暴露给用户。但是libuv层的接口本身就不支持这个能力。所以要解决这个问题,要修改c、c++、js的代码。因为nodejs的架构就是这样,libuv提供能力,c++套壳,js调用。所以你想加一个libuv不支持的功能时,你就得从libuv改起。

    01

    samba服务器搭建+权限设置

    Linux 系统的诞生主要源于林纳斯个人,而 Linux 系统的成长则更多得益于所采用的开源模式。林纳斯12岁开始接触计算机和编程,并从此狂热地爱上了编程。因为这份热爱,林纳斯自学了大量的编程知识,并不断地将学到的新知识进行练习。这些学习和练习为 Linux 系统储备了足够的知识弹药。而在开发过程中,林纳斯也不免遇到很多困难,但是他身上永不言弃的精神,让 Linux 系统最终诞生。在 Linux 系统诞生之后,它所采用的开源模式,令全世界对这个项目感兴趣的人都能参与进来。在世界各地优秀程序员的帮助下,Linux 系统不断走向完善,最终大获成功。在 Linux 系统获得广泛认可之后,林纳斯收获了名气,却并没有收获大量的财富。究其原因,是因为林纳斯希望 Linux 系统保持自由,不被商业因素所左右,所以他拒绝了很多公司抛来的巨额财富。开放源代码运动脱胎于自由软件运动,而自由软件运动又是继承早期的黑客文化而产生的。在最初的时候,软件是自由且不收费的,当时商业公司主要是销售硬件卖钱,软件则作为硬件的附属品免费赠送。当时的软件不掺杂商业利益,大家出于兴趣等原因编写程序并且分享给别人。这就是早期的黑客文化。打破黑客文化的人就是我们熟知的比尔·盖茨,他率先开始售卖软件,并且关闭软件的源代码。在他的影响下,软件便由最初的免费且自由模式发展成了现在的收费模式。而对此提出反对意见的是老牌黑客理查德·斯托曼,他发起了以源代码必须可以被自由获得为核心点的自由软件运动。但由于他提出的 Copyleft 概念有着很强烈的反商业感,自由软件运动下的 GPL 许可证又强制性要求修改后的软件,其被修改的那部分源代码也必须对外开放,这种对商业文化的不友好,令自由软件运动受到商业公司的排挤。当时Linux系统也是采用 GPL 许可证,所以也被称为自由软件。但是因为大家对自由“free”这个单词的总是产生歧义,认为那是免费的意思,于是林纳斯等人便提出了开放源代码这个概念,Linux 系统也就成了开源软件。源软件的条件比自由软件更宽松,对商业文化也更包容,于是伴随着 Linux 系统的成功,开源理念也就逐步被世界各地所接受。

    03
    领券