`
zljpp
  • 浏览: 259405 次
社区版块
存档分类
最新评论

我们应该如何对待开源?——看完ssh有感

 
阅读更多

前天把SSH全部看完了,拖了很长的时间。从223号开始看的SSH,前前后后用了两个半月。以为一个多月就能看完的。但是总是有很多事来拖慢进度。真的是应了那句话“计划赶不上变化”。

SSH是进入java方向的第二个教程了,从第一个的drp到现在的ssh。让自己感觉到了java的世界真的是浩瀚无边。这里特别要感谢一下米老师,如果没有老师的指点,真的很难知道自己要学什么,从那里下手。我也深刻的体会到,一个导师对你的帮助是多么的巨大。明白了很多人学习编程坚持不过来的原因,如果你不知道你该学习什么,等你把所有的东西都了解一遍以后,你会发现你一无所获,而且更为悲伤的是你已经没有时间和精力再去学习了,最后得出的结论就是:你不适合学习这行!

下面谈谈学习的感触。

SSH是一个开源的框架,这里重点是在开源上面。也就是这个开源让我这次感触最深。

很早就听别人说java现在很火,为什么很火呢?很多人给我的回答就是java开源,多好啊!

对,java开源真的很好,从进入java就明显的感觉到了,你想要的东西,大家都已经帮你实现好了,很多时候有很多种方案。你只需要拿来用就行。而且还能看到人家的源代码。真的是很惬意。但是很多时候这样的想法错了。

错在哪里呢?很多时候人们以为开源就意味着不收费,你可以随便拿来人家的东西,随便用,随便看。这样对吗?如此这样的对待开源。会让我们变得越来越愚昧。你只是方便的拿来了人家的东西,人家的思想呢?你只能一点点的看着人家把版本从1.0升级到n.0。而自己只能在网上从1.0下载到n.0。没有了思考,也没有了进步。

这样对待开源当然是不对的,那么怎么对待开源的产品呢?

我本人认为开源既然提供了这么宝贵的机会让我们看人家的源代码。何不用心的研究一下呢?这里的研究不是去看人家是怎么调用的。最重要的是看看他们是怎么编程的。看看大师是怎么编写程序的。

1:看看源代码的编写风格,他们是如何对待编程的。对于你经常不注意的地方比如:注释,参数命名,参数类型组织。参考一下他们。


2:看看大师的代码里面是怎么体现面向对象精神的。这一点也是我最提倡的。很多时候我们对外宣称我们用的java纯面向对象的,但是摸摸自己的良心,你在用人家的框架的时候你用到了多少面向对象的东西。我自己发现基本上就是一个继承。我们基本上就是继承人家的一个东西,然后用配置文件声明一下。

真正体现面向对象,体现设计模式的地方。就是大师写的那些框架,他们把面向对象的精神发挥到了极致。这里也许能让你感觉到java真正的精神。


3:如果你有精力,可以去修改一下源代码。按照你的想法去设计。这点才是最高的阶段。就像是一台电脑一样,它出厂的时候是按照大众方式设计的,设计的时候考虑了很多因素。但是如果你买了一个电脑,我相信99%的人不会用电脑原来的系统和设置吧!你的把它调节到符合你的情况。这样才是最重要的。如果你看到那个人一直用着电脑出厂的设置和系统。那么你可以肯定这个人肯定是一个电脑白痴。同理使用开源软件也和这个类似。只不过这个门槛稍微高了一点。


前些天看到淘宝公布了他们的mysql使用方案。当时对我的触动很大,我原来以为大家使用的mysql都是一样的了。现在才知道,对于这样的开源软件。人家用的时候是完全改装过的。而自己是拿来就用。差的很远了。

当然同理可得,大家都在使用ssh框架,你用的和人家用的一样吗?这个你地的去思考。

最后,开源真的很好,给了我么站在巨人肩膀上的机会。我们要好好把握。

分享到:
评论

相关推荐

    开源软件,你用了么?——您是如何看待开源软件的?您所在公司是否有使用开源软件(如Linux)?.pdf

    ——您是如何看待开源软件的?您所在公司是否有使用开源软件(如Linux)?" 本文主要讨论了开源软件在企业中的应用情况、开发前景和对企业的影响。通过对多家公司的调查,我们可以看到,开源软件在中国的发展前景...

    1003————自动搭建SSH框架 1004————SSH框架手动搭建

    SSH是Spring、Struts和Hibernate三个开源框架的首字母缩写,它们分别负责应用的依赖注入、MVC模式实现以及对象关系映射。这里我们将深入探讨SSH框架的自动搭建与手动搭建。 首先,让我们了解SSH框架的核心组件: 1...

    开源力量——数据挖掘原理与实战

    整套大数据课程从hadoop入门开始,由浅入深,内置“hadoop源码解析与企业应用开发实战”,“Hive开发实战”,“Hbase开发实战”,“Spark,mahout,sqoop,storm诸模块开发实战”,“数据挖掘基础。...

    untangle 模块化的开源网关——说明

    untangle 模块化的开源网关——中文说明

    ZIP的开源软件——酷压和好压

    标题中的“ZIP的开源软件——酷压和好压”指的是两个流行且开源的软件,酷压(7-Zip)和好压(Bandizip),它们主要用于处理ZIP格式的压缩文件。ZIP是一种广泛使用的文件压缩标准,它允许用户将多个文件打包成一个...

    Solaris开源了——Solaris 10 VS Linux 2.6开源兄弟大比拼.pdf

    《Solaris开源了——Solaris 10 VS Linux 2.6开源兄弟大比拼》这篇文章探讨了两个操作系统之间的竞争,主要围绕Solaris 10和Linux 2.6在软件性能、系统安全、硬件支持、文件系统、集群技术和系统虚拟化六个方面的...

    开源奇兵——嵌入式——嵌入式Linux引领后PC时代.pdf

    《开源奇兵——嵌入式——嵌入式Linux引领后PC时代》这本书主要探讨的是嵌入式Linux在信息科技领域的崛起及其对后PC时代的影响。嵌入式系统,特别是那些基于Linux的操作系统,已经成为现代计算不可或缺的一部分,...

    桌面机器人开源项目 —— 来自稚晖君

    本项目是一个桌面级小机器工具人,外观设计的灵感来源是WALL-E里面的EVE~机器人具备USB通信显示画面功能,具备6个自由度(手部roll、pitch,颈部,腰部各一个),使用自己修改的特制舵机支持关节角度回传。...

    java开源项目——骑士飞行棋

    开发一款Java小游戏——骑士飞行棋 游戏规则和传统的飞行棋一样,支持两人对战 采用100格小型游戏棋盘 游戏规则:对战双方轮流掷骰子控制自己的骑兵前进或后退,在游戏棋盘上设置有关卡 普通 地雷 暂停 时空隧道 ...

    STM32开源代码——lcd1602

    关于LCD的程序,STM32F103c8t6的文件,经过有效测试,可行的。特分享。

    前端开源库-ssh2-sftp-client

    **前端开源库-ssh2-sftp-client** 在IT行业中,前端开发经常需要与服务器进行交互,传输文件,例如上传、下载或管理服务器上的文件。`ssh2-sftp-client`是这样一个专门为前端开发者设计的开源库,它使得在Node.js...

    ktv点歌系统开源——java

    【标题】:“ktv点歌系统开源——java” 在当今的娱乐行业中,KTV作为休闲娱乐的重要场所,其点歌系统扮演着至关重要的角色。一个高效、易用的点歌系统能够极大地提升消费者的体验。本开源项目正是基于Java语言开发...

    柚子社区团购小程序 1.1.9全开源版——学习使用

    柚子社区团购小程序 1.1.9全开源版是一款适用于各门店的程序商店。用户可在程序上进行先预约后线下取货与消费。或者直接在程序上进行线上购物。 本套门店微商店小程序集有优惠券、拼团、砍价、限时购、分享赚钱等...

    基于 Java ssh整合 开源博客系统 spring mvc,hibernate,spring,maven 整合开发

    【标题】中的“基于 Java ssh整合 开源博客系统”指的是一个使用Java技术栈开发的开源博客平台,这里的“ssh”是三个Java框架的缩写,分别代表Spring、Struts和Hibernate。Spring MVC、Hibernate和Spring是Java Web...

    极速五笔——开源输入法

    【极速五笔——开源输入法】是一款以快速、高效为特点的中文输入法软件,它以开源的形式提供给用户,鼓励社区参与开发和优化。开源意味着源代码对公众开放,任何人都可以查看、学习、修改并分发代码,这使得极速五笔...

    全能开源的SSH终端

    破解SecureCRT怕中毒,Xshell用着不爽,Putty太单薄,手头没Mac用不了iterm2,那就试试这个全能开源的终端吧(MobaXterm)!

    SSH框架搭建——测试

    SSH框架,全称为Struts2 + Spring + Hibernate,是Java Web开发中常用的一种技术栈,它结合了三个强大的开源框架,用于构建高效、灵活且可扩展的企业级应用程序。本教程将带你逐步了解如何搭建SSH框架,并实现登录和...

    开源项目-Eun-sshkeys.zip

    开源项目-Eun-sshkeys.zip是一个包含用于获取SSH服务器所有公钥的开源工具。SSH(Secure Shell)是一种网络协议,广泛用于在不安全的网络环境中安全地管理远程服务器,进行命令行交互、文件传输等操作。这个项目的...

    redis-desktop-manager 2020.2.0.0 不支持SSH

    标题中的“redis-desktop-manager 2020.2.0.0 不支持SSH”表明这是一个关于Redis Desktop Manager的讨论,具体版本为2020.2.0.0,而该版本的一个主要缺点是它不支持通过Secure Shell (SSH)进行连接。SSH是一种网络...

Global site tag (gtag.js) - Google Analytics