开源之路

作为一位Java程序员,如果您没有接触过开源软件、项目或框架的话,恐怕有些不可思议。轰轰烈烈的开源运动起源于Linux操作系统,Apache基金会在其中扮演了中流砥柱的角色,业界巨擘SUN,IBM, BEA 和Oracle等公司的积极参与,使得声势浩大的开源运动成为软件开发领域势不可挡的力量。2001年11月,IBM向Apache基金会捐献出Visual Age for Java,这个看似穷途末路的产品经众多高手的改造,演变为辉煌一时的Eclipse,直接击败了不开源的JBuilder,让做编译器起家的Borland公司几乎关张大吉。Eclipse这个产品如此经典,以至于微软的Visual Studio都得向它学习。在Apache Harmony的围追堵截下,Java的发明者Sun公司一看势头不妙,于2006年宣布Java开源,随后又公开了其旗舰级产品Solaris的源代码。今年1月,开源的死对头、冷酷自私的微软也不得不在MS-RL协议下公开.Net的源代码。但是,在这如火如荼的开源运动中,我们中国的程序员又有多少贡献呢,我们开创了哪些框架、项目和产品,为开源界添砖加瓦呢?以笔者短浅的目光看来,我们对开源界贡献的东西恐怕很少,能够与国外经典开源项目一较高下的,少之又少矣! (根本就没有嘛,至少在一般的java程序员看来,你们做过的项目中有国人写的开源框架吗?)

作为一名中国的程序员,咱们能没有遗憾吗?为什么经典的Apache Web Server不是中国人写的;为什么Linus Torvalds在大学时代就写出Linux并振臂一呼,应者云集;为什么JBoss能与巨无霸式的Websphere相抗衡;为什么MySQL能在Oracle和SQL Server的夹击下发展并壮大…… ?如此等等问题,在遗憾之余,我想我们应该花点时间好好思考一下,中国的软件产业怎么了,中国的程序员又怎么啦? 

在笔者看来,我们的程序员对开源的理解是相当狭隘的。国学大师王国维曾说过,古往今来成大学问大事业者要经历三种境界,“昨夜西风凋碧树,独上高楼,望尽天涯路”,这是第一重境界,迷惘也;“衣带渐宽终不悔,为伊消得人憔悴”,苦苦求索之境界也;第三重境界为“众里寻他千百度,蓦然回首,那人却在灯火阑珊处”,经历多少次的失败和挫折后,终于参透真谛,领悟真理。我觉得开源也有三重境界: 

首先,我们要敞开心胸,拥抱开源(Open to Open Source)。这重境界我们大家都能做到,拿来主义嘛,谁人不会。当我们的项目需要数据库时,就去下载一个免费MySQL;需要IDE时,去下载Eclipse;需要版本控制工具时,就去下载CVS;需要写搜索引擎时,Lucene可能是我们的最爱;当我们开发J2EE Web应用时,Struts/JSF加Hibernate/iBATIS再加上Spring或许成为我们的首选架构。但是,我们绝大部分程序员都停留在这个层次上,大家下载之后,看看文档介绍,安装、配置并能运行,就以为万事大吉,一切顺利。偶尔遇到一些问题,去Google一搜,答案立马可得。 

其次,我们要深入开源,了解开源(Dig into Open Source)。要达到这个层次,就有些难度了。我们不但要知其然,还要知其所以然。“知其所以然”的最好办法就是下载源代码,仔细研读,揣摩并领会源代码的精义,看看这些经过诸多高手修改的源代码究竟藏有什么玄机,我们能从其中学习到哪些设计思想及设计模式,能复用其中哪些源代码,人家运用了哪些软件管理思想把这些来自世界各地程序员的劳动汇集成一个产品,代码架构如何,软件配置管理又是怎样进行的……,等等等等,我们从源代码中学习的东西太多了。在阅读源代码时,我们要多问自己几个为什么,这样就会收获更多。 

再次,我们要融入开源,贡献开源(
Get involved in Open Source)。当我们彻底理解该项目源代码后,我们应发挥一下“人人为我,我为人人”的思想,或结合您的实际需要,或结合您的新想法,或针对Mail lists上的问题,对该开源项目加以改进和创新,并把自己的代码贡献出来,让大家评估。当然,如果您有好的想法,您完全可以创建自己的开源项目,Apache基金会中众多的开源项目不都是我们广大程序员一手创建的吗?但是,在创建新开源项目时,切忌不要重新发明轮子。 

 

转载:http://blog.ccidnet.com/blog-htm-do-showone-uid-4092-type-blog-itemid-263093.html

【Tableau】解决订阅报表PDF中文显示为乱码(方框)问题 一、问题描述 在tableau server网页端报表中文字符能正常显示,但在订阅后发送到邮箱时,以图片格式呈现的内容中中文字符显示为方框。 网页端报表能正常显示中文字符: 邮件中的报表不能正常显示中文字符: 二、问题分析 网页端字符显示情况是由html编码决定的,而tableau生成图片时是通过所部署的服务器的字体文件显示字体。因此可能是由于Linux服务器缺失相关的字体文件导致网页端选择的中文字体在服务器上缺失对应的字体文件导致的。则考虑在服务器引入对应的字体文件。 三、问题解决 1、查看服务器现有 阅读详情

相关推荐

毕业设计——基于卷积神经网络的高速公路团雾智能识别系统设计与实现(数据集+源码+可视化+综述)

同时,也可以结合其他技术,如雷达、红外传感器等,实现多源信息的融合与协同处理,提高系统的可靠性和稳定性。实验结果表明,该系统能够实现对高速公路团雾的准确、快速识别,为高速公路的安全运行提供了有力保障。团雾作为一种常见的气象现象,具有突发性、局地性和消散迅速的特点,对高速公路的行车安全构成严重威胁。通过设计合适的网络结构,如增加卷积层、池化层等,实现对图像中团雾特征的自动学习和提取。预处理:对采集到的图像进行去噪、增强等预处理操作,以提高图像质量,降低后续处理的难度。读取数据,随机分为训练集和验证集。

abackcab的博客 665

OpenSource:探索游戏世界的开源利器

OpenSource:探索游戏世界的开源利器 项目介绍 OpenSource 是一个开源工具,旨在加载和渲染多个Source引擎的VBSP地图,并将它们合并成一个巨大的网格。这个工具不仅可以帮助你直观地了解游戏世界的规模,还可以用于娱乐和教育目的。尽管目前该项目尚未达到生产质量,不适合专业或无人监督的使用,但它已经具备了一定的稳定性,并且能够在Raspberry Pi上运行。 项目技术分析 支持的...

gitblog_00212的博客 4776

从零搭建YOLOv2硬件加速器:基于PYNQ-Z2的Vivado HLS与Jupyter Notebook实战

本文详细介绍了如何从零搭建YOLOv2硬件加速器,基于PYNQ-Z2开发板,结合Vivado HLS与Jupyter Notebook实现高效目标检测。通过硬件加速,YOLOv2推理速度提升8倍,功耗降低80%。文章涵盖硬件准备、Vivado HLS工程配置、IP核集成、PYNQ部署及常见问题解决,为开发者提供完整实战指南。

weixin_29188997的博客 1007

OpenSource_Study 开源项目指南

OpenSource_Study 开源项目指南 1. 项目介绍 OpenSource_Study 是一个由 zxiaofan 维护的开源学习平台,致力于提供给开发者一个系统学习开源技术的资源库。该项目汇聚了多个领域的开源技术和实践,旨在通过详细的文档和实例教学,帮助初学者到进阶开发者深入了解并应用开源技术。尽管原始链接指向的GitHub仓库没有具体细节,我们假设这个项目结构丰富,涵盖从基础知识到高...

gitblog_00331的博客 4108

SecureCRT串口连接保姆级教程:从驱动安装到波特率设置(附常见问题解决)

本文提供SecureCRT串口连接的保姆级教程,涵盖从USB转串口驱动安装、端口识别到波特率等核心参数设置的完整流程。针对连接失败、乱码、键盘输入无响应等高频问题,给出了深度排查与解决方案,帮助网络与嵌入式开发新手快速掌握串口调试技能。

weixin_29281941的博客 432

scannet数据集下载文件

scannet数据集下载文件 由于大家会申请scannet数据集,审批比较慢,我将下载的文件里面的内容贴出来,大家可以复制放进py文件中,运行就可以下载 ps:别再私信要数据集了,这个自己下载,如果光三维数据的话,还是很快的,当然如果路由器翻了墙的话,下载会更快。 #!/usr/bin/env python # Downloads ScanNet public data release # Run with ./download-scannet.py (or python download-scannet.

weixin_40766438的博客 9228

opensource项目_Opensource.com 10月预览

opensource项目 出于多种原因,10月将成为我们最开放的月份。 首先,我们正在筹备2015年万物公开赛 (ATO),该赛事将于10月19日至20日在北卡罗来纳州罗利举行。在昨天发出的特别万物公开赛独家预览和折扣新闻通讯中,我们为订阅者提供了服务享受20%的注册折扣码折扣,我们还为我们计划了这次活动做了些什么,谁将在10月20日星期二的Opensource.com赞助的Lightning ...

cumj63710的博客 1626

DETRs with Collaborative Hybrid Assignments Training论文阅读与代码

在这篇论文中,作者观察到在DETR中将过少的 Query 分配为正样本,采用一对一的集合匹配,会导致对编码器输出的监督稀疏,严重损害编码器的区分特征学习,反之亦然,也会影响解码器中的注意力学习。为了缓解这个问题,作者提出了一种新颖的协同混合分配训练方案,名为Co-DETR,以从多样的标签分配方式中学习更高效、更有效的基于DETR的检测器。这种新的训练方案可以通过训练多个并行辅助 Head ,以一对多的标签分配方式(如ATSS和Faster RCNN)进行监督,轻松增强端到端检测器中编码器的学习能力。

qingjing0413的博客 1153

SOC-OpenSource:开源安全运营中心平台深度解析

SOC-OpenSource是一个专为安全分析师和SOC团队设计的开源安全运营中心平台,旨在帮助用户构建现代化的安全运营架构。该项目集成了多种开源安全工具,提供从数据收集、分析到自动化响应的完整解决方案。 ## 项目架构设计 SOC-OpenSource采用模块化架构设计,核心组件包括: **数据收集层**:使用Elastic SIEM作为基础平台,支持实时日志收集和存储 **分析处理层**

gitblog_00749的博客 2998

OpenPnP/Arduino - 二手西门子电动飞达的通讯协议解析与实战

本文详细解析了二手西门子电动飞达的通讯协议,并通过Arduino控制板实现与开源贴片平台OpenPnP的集成。文章涵盖了硬件接口定义、协议帧结构分析、Arduino控制实战、OpenPnP集成技巧以及二手飞达翻新指南,为开发者提供了全面的技术指导和实战经验。

weixin_30411819的博客 201

强化学习优化多目标冲突推理的决策过程设计

1. 背景介绍 强化学习(Reinforcement Learning,RL)作为机器学习的一个重要分支,近年来在计算机科学和人工智能领域取得了显著的进展。其核心思想是通过试错来学习最优策略,从而在复杂的环境中实现目标。然而,在多目标冲突推理(Multi-Objective Conflict Reasoning,MOCR)问题上,强化学习面临着诸多挑

AI天才研究院 1509

开源项目教程:globocom/opensource

开源项目教程:globocom/opensource 1、项目介绍 globocom/opensource 是一个由 globocom 组织维护的开源项目集合。这些项目涵盖了从软件开发到数据处理的多个领域,旨在提供高质量的开源解决方案。该项目集合鼓励社区参与和贡献,以不断改进和扩展其功能。 2、项目快速启动 环境准备 在开始之前,请确保您的开发环境已经安装了以下工具: Git Python 3....

gitblog_00729的博客 2659

SpringBoot中使用FastJson解析Json数据

场景 1.SpringBoot默认配置的是Jackson。 2.项目搭建专栏: https://blog.youkuaiyun.com/BADAO_LIUMANG_QIZHI/column/info/35688 实现 引入fastJson的依赖 <!-- fastjson的依赖 --> <dependency> <groupId>com.alibab...

BADAO_LIUMANG_QIZHI的博客 4140

探索SOC-OpenSource:一款强大的开源安全运营平台

探索SOC-OpenSource:一款强大的开源安全运营平台 项目地址:https://gitcode.com/gh_mirrors/so/SOC-OpenSource 在数字化时代,网络安全成为了企业和个人最关注的问题之一。今天我们要介绍的是一个名为SOC-OpenSource(安全操作中心)的开源项目,它提供了一整套功能丰富的工具,帮助你构建自己的安全运营中心,以便更好地检测、预防和应对网络威...

gitblog_00089的博客 5481

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

探索开源蜜罐:OpenSource-HoneyPot

探索开源蜜罐:OpenSource-HoneyPot 去发现同类优质开源项目:https://gitcode.com/ 项目简介 是一个由 XiaoXiaoGuaiXiaShi 开发的开源蜜罐系统,旨在帮助网络安全研究人员和爱好者检测、记录并分析网络攻击行为。蜜罐技术是一种主动防御手段,通过设置虚假的系统或服务吸引并消耗黑客资源,从而保护真实的网络资产。 技术分析 OpenSource-Honey...

gitblog_00015的博客 1336

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

SOC-OpenSource:构建企业级开源安全运营中心的终极指南

SOC-OpenSource是一个专为安全分析师和SOC团队设计的现代化开源安全运营平台。这个强大的项目让您能够轻松构建完整的安全运营中心,实现威胁检测、事件响应和安全监控的一体化解决方案。无论您是中小企业、教育机构还是个人开发者,都能通过这个开源项目获得企业级的安全防护能力。 ## 🌟 为什么选择SOC-OpenSource? **完全开源免费** - SOC-OpenSource采用开源

gitblog_00797的博客 1503

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

【亲测免费】 SOC-OpenSource 开源项目教程

SOC-OpenSource 是一个由 Archan Choudhury 开发的开源项目,其核心目标是提供一套解决方案或工具集,旨在简化特定领域的软件开发流程。虽然项目详细描述未在提供的链接中明确指出,一般而言,开源项目如 SOC-OpenSource 往往关注于特定技术栈、框架集成、数据分析、系统监控等方面。为了更好地理解和使用此项目,建议直接访问其 GitHub 页面阅读 `README.md...

gitblog_00985的博客 739

如何快速搭建企业级开源安全运营中心:SOC-OpenSource完整指南

SOC-OpenSource是一个功能强大的开源安全运营平台,专为安全分析师和SOC团队设计,帮助您构建现代化的安全监控和响应体系。这个开源SOC平台提供完整的网络安全监控解决方案,让您能够轻松实现实时威胁检测和安全事件响应。 ## 🚀 为什么选择开源安全运营中心? **完全免费开源** - SOC-OpenSource采用开源许可证,任何人都可以自由使用、修改和分发,大大降低了企业安全建设

gitblog_00088的博客 1288

推荐开源宝藏:Twitter的开源官方网站构建利器 —— opensource.twitter.dev

--- ## 项目介绍 开源世界里,每一款优秀工具的诞生都是为了让开发者的生活更加便捷。今天要为大家揭秘的是来自社交巨头Twitter的一个力作——[opensource.twitter.dev](https://opensource.twitter.dev),这是Twitter的官方开源网站,它不仅是信息展示的窗口,更是开源文化的践行者。 ## 项目技术分析 这个项目基于高效静态站点生成...

gitblog_00933的博客 2779

opensource项目_宣布Opensource.com通讯程序

opensource项目 我很高兴地宣布,我们将启动一个新的社区计划,以表彰我们最积极的开源倡导者。 我们将其称为Opensource.com通讯程序 。 继续阅读以了解更多信息,并查看它是否适合您。 什么是通讯员计划? 通讯员计划是对我们最信任和最可靠的Opensource.com贡献者的一种社区认可。 参与该计划的作者将获得更多好处,有机会与一群不可思议的同行联系,并因其作为开源倡导...

cumo7370的博客 229

opensource项目_庆祝Opensource.com成立10周年

opensource项目 今天正式标志着Opensource.com成立10周年,该出版物是共享免费和开源故事的出版物。 以下是我们的来历,成功的原则以及前进的方向。 以人为本* 在庆祝发布10周年之际,我们的重点是来自全球的人们,他们扮演着不同的角色,来自不同的背景,这些人帮助我们探索了开源可以改善我们生活的多种方法-技术和编程农业和设计等等。 我们之所以庆幸您,是因为我们已经了解...

cumo3681的博客 466

开源项目 globocom/opensource 指南

开源项目 globocom/opensource 指南 目录结构及介绍 本教程基于GitHub上的 globocom/opensource 项目(请注意,实际项目URL可能需要替换为有效的仓库地址,因为提供的URL并非真实的示例)。以下是一个典型的开放源代码项目目录结构概述,假设基于通用的最佳实践和一般理解,因为没有提供具体的项目细节。 globocom开放式源码/ ├── README.md ...

gitblog_00161的博客 1056

从数据收集到威胁响应:SOC-OpenSource工作流实操指南

SOC-OpenSource是一个专为安全分析师和所有SOC受众设计的项目,旨在帮助用户实践和探索现代SOC架构。本文将详细介绍如何利用SOC-OpenSource构建完整的安全运营中心工作流,从数据收集到威胁响应,让你轻松掌握SOC的核心技能。 ## 一、SOC-OpenSource简介:现代安全运营中心的一站式解决方案 🛡️ SOC-OpenSource整合了多种开源安全工具,为安全分析

gitblog_00146的博客 903

opensource项目_最佳Opensource.com:教程

opensource项目 开源的重要方面之一就是总会有一些新东西要学习。 我们中的许多人都喜欢直接使用新软件或技术,并通过反复试验来学习。 但是,有时我们可以使用指导手。 那只手以良好的使用方法或手册的形式出现。 在2015年,Opensource.com吸引了您。 我们在这个领域发布了许多很棒的教程。 让我们回顾一下其中的最好之处。 掌握KDE中的文件管理 自从我上次使用KDE已经...

cuml0912的博客 647

opensource项目_Opensource.com生日快乐:开源7年

opensource项目 在我们幸运的7岁生日,Opensource.com团队决定进行视觉展示。 首先,非常感谢我们整个读者,贡献者,顾问,主持人,专栏作家等等的社区。 没有你,这一切都是不可能的。 我们一直对您与我们分享的内容感到敬畏,并很荣幸成为开源社区的讲故事平台。 在2017年,我们希望借助强大的“开放”故事吸引更多,更广泛的受众。 除了今天庆祝我们的生日,我们还将发布《 20...

cuml0912的博客 177

Opensource.com的领导层和社区是什么样的

Opensource.com成立5周年纪念日是1月25日,昨天! 上周一个下午,我们的团队举行了庆祝活动,重点关注自2010年以来读者人数的增长,但最重要的是,一个下午对出版物的项目负责人和社区经理Jason Hibbets所做的出色工作表示赞赏。 在过去的五年中,Jason在Opensource.com的发展,发展和成功中发挥了重要作用。 而且,在这篇文章中,核心的Opensourc...

cumo3681的博客 553
上一篇: tomcat7.0.8的bio,nio.apr高级运行模式
下一篇: 自定义log4j中的DailyRollingFileAppender
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值