如何使用开源项目并且快速应用到自己的项目中,来看阿里大牛们的总结!

超全Java开源项目,总能找到一款适合你! 【此文章转自乐字节】 一、JavaEE初级项目-云日记,拿去毕设又省2千块 云R记软件就是用于记录日常生活点滴。一款跨平台的简单快速的个人记事备忘工具,并且能够实现PC、移动设备和云端之间的信息同步,简洁高效。将会议记录、日程安排、生活备忘,奇思妙想、快乐趣事以及任何突发灵感都可快速记录到系统中。 技术选型 JSP Servlet Jquery及插件 Ueditor log4j Junit 增删改查 免登录:Session 和 Cookie 非法访问:过滤器 Filter 文件上传 分页 Ajax:D 阅读详情

选:如何选择一个开源项目?


聚焦是否满足业务?


 简单来说:如果你的业务要求1000 TPS,那么一个20000 TPS 和50000 TPS的方案是没有区别的。有的人可能会担心我TPS不断上涨怎么办?其实不用担心,我们的架构会不断演进的,等到真的需要这么高的时候我们再来架构重构,记住:不要过早优化,过早优化是万恶之源 —— 《UNIX编程哲学》

聚焦是否成熟?


可以从以下几个方面考察是否成熟:

1)版本号:一般建议除非特殊情况,否则不要选0.X版本的,至少选1.X版本的,版本号越高越好。
2)使用的公司数量:一般开源项目都会把采用了自己项目的公司列在主页上,公司越大越好,数量越多越好
3)社区活跃度:看看社区是否活跃,发帖数、回复数、问题处理速度等

聚焦运维能力?


可以从以下几个方案去考察运维能力:

1)开源方案日志是否齐全:有的开源方案日志只有寥寥启动停止几行,出了问题根本无法排查
2)开源方案是否有命令行、管理控制台等维护工具,能够看到系统运行时的情况
3)开源方案是否有故障检测和恢复的能力,例如告警、倒换等

案例2:很多团队最初使用MySQL的时候,也没有怎么研究过,经常有业务部门抱怨MySQL太慢了,其实经过定位,发现最关键的几个参数(例如innodb_buffer_pool_size, sync_binlog,innodb_log_file_size等)都没有配置或者配置错误,性能当然会慢。

用:如何使用开源方案?


深入研究,仔细测试


可以从如下几方面进行研究和测试:

1)通读开源项目的设计文档或者白皮书,了解其设计原理
2)核对每个配置项的作用和影响,识别出关键配置项
3)进行多种场景的性能测试
4)进行压力测试,连续跑几天,观察cpu、内存、磁盘io等指标波动
5)进行故障测试:kill,断电、拔网线、重启100次以上、倒换等

小心应用,灰度发布


假如我们做了上面的“深入研究、仔细测试”,发现没什么问题,是否就可以放心大胆的应用到线上了呢?别高兴太早,即使你的研究再深入,测试再仔细,也还是要小心为妙,因为再怎么深入的研究,再怎么仔细的测试,都只能降低风险,但不可能完全覆盖所有线上场景。


但是,不管研究多深入、测试多仔细、自信心多爆棚,时刻对线上要有敬畏之心,小心驶的万年船。我们的经验就是先在非核心的业务上用,然后有经验后慢慢扩展。


做好应急,以防万一

虽然因为一次故障就完全反对尝试是有点反应过度了,但确实故障也给我们提了一个醒:对于重要的业务或者数据,使用开源项目时,最好有另外一个比较成熟的方案做备份,尤其是数据存储。例如:如果要用MongoDB或者Redis,可以用MySQL做备份存储。这样做虽然复杂度和成本高一些,但关键时刻能够救命!

改:如何基于开源项目做二次开发?


‌保持纯洁,加以包装

我们的建议是不要改动原系统,而是要开发辅助系统: 监控,报警,负载均衡,管理等。以Redis为例,如果我们想增加集群功能,不要去改动Redis本身的实现,而是增加一个proxy层来实现,Twitter的Twemproxy就是这样做的,而Redis到了3.0后本身提供了集群功能,原有的方案简单切换到Redis 3.0即可。详细可参考(http://www.cnblogs.com/gomysql/p/4413922.html )

如果实在想改到原有系统,怎么办呢?我们的建议是直接给开源项目提需求或者bug,但弊端就是响应比较缓慢,这个就要看业务紧急程度了,如果实在太急那就只能自己改了,不过不是太急,建议做好备份或者应急手段即可。

  

发明你要的轮子


如果你有钱有人有时间,投入人力去重复发明完美符合自己业务特点的轮子也是很好的选择!毕竟,土豪们(BAT、Facebook、Google......等)很多都是这样做的,否则我们也就没有那么多好用的开源项目了 :)

转自:https://mp.weixin.qq.com/s/IWE5LBYzsUZL5YL8xP_mKA
阿里巴巴前端大牛经验分享:如何快速学习前端开发? 很多学生想学习网络前端开发,但面对大量的前端学习资料(视频教程、在线教程、书籍等),不知道从何而来。作为一个多年从事前端开发的程序员,为了让新手程序员少走弯路,我们将分享快速学习前端开发前端经验。一、前端学习的概念在前端学习中存在一个共同的问题:感觉编程语言已死,代码枯燥。许多人认为他们不能学习或认为很难学。这种情况的出现并不是学习编程的错误想法!首先,我们讨论了前端学习的理念。就个人而言,如果你... 阅读详情

相关推荐

用Python+OpenCV给斗地主做个‘外挂’:手把手教你写个桌面记牌器(附源码)

本文详细介绍了如何使用Python和OpenCV开发一个智能斗地主记牌器,包括环境搭建、图像采集与预处理、扑克牌识别技术及PyQt5界面设计。通过实战案例,帮助开发者掌握图像处理与界面开发的结合应用,提升游戏辅助工具的编写能力。

weixin_29079643的博客 544

开源项目怎么引入到自己的项目中

要将开源项目引入到自己的项目中, 通常有以下几种方式: 使用包管理器(如 npm, pip, Maven 等)安装开源项目: 在命令行中运行相应的命令, 即可将开源项目作为依赖包安装到自己的项目中. 下载源代码并手动引入: 可以在开源项目的版本库(如 GitHub)中下载源代码, 然后将其复制到自己的项目中使用. 使用 Git 命令将开源项目作为子模块引入: 可以使用 git submodu...

weixin_42596011的博客 1610

【各种轮子2】基于Icepak的PCB散热仿真比较

随着电子产品的集成度越来越高,PCB板的尺寸越来越小,板级芯片散热的问题越来越成为电子工程师的一个重要挑战。对于板级芯片散热,主要依靠工程师对PCB自身的设计进行优化,同时要兼顾系统的尺寸和成本。本文分别从芯片角度和PCB角度进行建模,芯片模型选用QFN封装,PCB模型采用走线导入模型,探讨了芯片结构,PCB铜厚,PCB叠层厚度对芯片散热的影响。

3668

关于如何将开源项目放入自己的git仓库(fork)并可以对开源版本的更新进行同步

关于如何将开源项目放入自己的git仓库(fork)并可以对开源版本的更新进行同步

qq_38786110的博客 4286

离线安装ambari 更换spark版本 集成carbondate文档

1、Linux系统环境配置 1.1 配置IP地址 vim /etc/sysconfig/network-script/ifcfg-eth0 “DEVICE”:网卡对应的设备别名,如ifcfg-eth0第一块网卡; “HWADDR”:网卡物理地址; “BOOTPROTO”:网卡获得ip地址的方式,Static(静态 ip地址)dhcp(通过dhcp协议获取ip)bootip通过boot...

weixin_44742962的博客 3036

1553B总线介绍及其硬件方案设计

军用1553B总线 1.简介 简单介绍可参考(https://blog.youkuaiyun.com/ScilogyHunter/article/details/108444231)博主写的很详细。 1553B总线是MIL-STD-1553总线的简称,其中B就是BUS,MIL-STD-1553B总线是飞机内部时分制命令/响应式多路复用数据总线。1553B数据总线标准是20世纪70年代由美国公布的一种串行多路数据总线标准。1553B总线能挂31个远置终端,1553B总线采用指令/响应型通信协议,它有三种终端类型: BC:

小幽余生不加糖 1万+

如何使用开源框架做项目

1、**需求设计**:PC端管理、移动端办公、用户量、并发度、安全性等。 2、**技术路线**:开发语言(java、python、c++等)、MVC模式、B/S架构(浏览器服务器架构) 3、**技术架构**: (1)单体架构:一种单体应用(前后端在一起,模板应用) (2)SOA架构:面向服务的架构 (3)微服务架构:多服务开发模式 4、**开发模式**: (1)前端+后端一体化(模板)对应的底层架构MVC (2)**前端、后端分离模式**,比较流行的一种模式 5、**开源

weixin_53216376的博客 528

UNet 改进(39):结合残差连接与CBAM注意力机制的unet模型

本文提出了一种改进的UNet架构,通过融合残差连接和CBAM注意力机制来增强医学图像分割性能。该网络保留UNet的U形结构,但将基础模块替换为ResidualBlock和CBAM的组合:残差块通过快捷连接解决梯度消失问题,CBAM模块结合通道和空间注意力机制突出重要特征。整体架构采用编码器-解码器设计,包含5个下采样和上采样阶段,通过跳跃连接融合多尺度特征。实验表明,这种改进显著提升了原始UNet的性能,特别适用于需要精细边界的医学图像分割任务。

2401_82355416的博客 1016

如何将Github上的开源项目集成到我们的项目——Android篇

一般来说,Github上的项目可以分为两种:作为一个完整的项目和作为库发布的项目。 一、作为一个完整的项目         对于这种项目,我们通过eclipse或者android studio打开,参考里面的一些功能实现方法。这种项目是不能直接集成到我们项目的,因为他不是以库的形式发布的。我们可以把这种项目下载到本地,然后在项目的基础上进行二次开发。这里不做过多的讲述。

rockmilk1的博客 7827

北斗导航 | raPPPid软件功能模块详解

raPPPid(Rapid Precise Point Positioning with integer ambiguity resolution,快速精密单点定位与整周模糊度解算)是由维也纳工业大学(TU Wien)大地测量与地理信息系开发的MATLAB开源PPP软件包。它是VieVS(Vienna VLBI and Satellite Software,维也纳VLBI与卫星软件)的PPP模块,由Marcus Franz Glaner和Robert Weber主导开发。

尘世冰封的专栏 584

hive get_json_object解析json结果为null咋办?

最近一位开发的同学在使用get_json_object函数对json数据解析的时候,出现了结果为null的问题,问题原因是sql语法导致的,那么今天就来详细介绍一下解析json函数的用法!最后还是提醒小伙伴们,在开发过程中,一定要注意sql语法格式的书写,避免一些意想不到的结果!

笑看风云路的博客 2308

开源项目怎么变成自己的_将产品变成开源项目的深入指南

开源项目怎么变成自己的 偶尔会遇到一家公司,试图用现有产品构建一个开源项目。 这是一个细微的问题。 这不是一家拥有以开源许可证发布的项目的公司,该项目试图也要发布相同名称的产品(例如Docker,MySQL),但是这种情况也存在许多相同的问题。 这家公司也不是从开源项目中制造产品,而这些产品是他们贡献但不受控制的(例如Red Hat的RHEL)。 这是一家拥有现有产品收入来源的公司,试图从产品中...

cuml0912的博客 1640

Mac安装Typescript报错

根本原因是系统级目录的权限限制。推荐通过修改目录权限或使用nvm彻底解决问题。

江拥羡橙的博客 210

阿里大牛带你一周速通AI大模型!再也不用担心被裁员了!直接上岗

他们会鼓励我们大胆尝试不同的方法和思路,培养我们的创新能力和解决问题的能力。例如,在一个自然语言处理的项目中,我们可能会遇到文本分类不准确的问题,这时大牛们会引导我们从数据特征、模型结构等多个方面进行分析,找出问题的根源并提出解决方案。在这样的大背景下,一个令人振奋的消息传来——阿里大牛将带你在一周内速通AI大模型,让你从此摆脱被裁员的担忧,能够直接走上相关岗位开启全新的职业旅程。通过这些讲解,我们能够拓宽自己的视野,了解到AI大模型在不同行业的应用前景和发展趋势,为未来的职业发展做好充分的准备。

IT_1024的博客 1303

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

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

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

如何快速成长为技术大牛?阿里资深技术专家的经验告诉你

阿里妹导读:你是否有类似这样的问题——“天天写业务代码的程序员,怎么成为技术大牛,开始写技术代码?”今天,阿里资深无线开发专家李运华,系统梳理了自己的思考和理解,希望帮助更多同学少走一些弯路。 写在前面 不管是开发、测试、运维,每个技术人员心里多多少少都有一个成为技术大牛的梦,毕竟“梦想总是要有的,万一实现了呢”!正是对技术梦的追求,促使我们不断地努力和提升自己。然而“梦想是美好的,现实却是残...

拈花的专栏 568

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

如何快速成为技术大牛?

如何快速成为技术大牛? 作者:阿里资深无线开发专家李运华 天天写业务代码的程序员,怎么成为技术大牛,开始写技术代码? 几个典型的误区 拜大牛为师 有人认为想成为技术大牛最简单直接、快速有效的方式是“拜团队技术大牛为师”,让他们平时给你开小灶,给你分配一些有难度的任务 作者表示反对,有以下原因: 大牛很忙,不太可能单独给你开小灶,更不可能每天都给你开1个小时的小灶;而且一个团队...

zj57356498318的博客 547

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

阿里资深技术专家:如何快速成长为技术大牛?

写在前面 不管是开发、测试、运维,每个技术人员心里多多少少都有一个成为技术大牛的梦,毕竟“梦想总是要有的,万一实现了呢”!正是对技术梦的追求,促使我们不断地努力和提升自己。 然而“梦想是美好的,现实却是残酷的”,很多同学在实际工作后就会发现,梦想是成为大牛,但做的事情看起来跟大牛都不沾边,例如,程序员说“天天写业务代码还加班,如何才能成为技术大牛”,测试说“每天都有执行不完的测试用例”,运维说“...

摩登都市天空---专栏 544

阿里架构大牛说:JVM从入门到入魔,就是这么简单!

JVM是绝大多数Java小白的一道坎,同时也是2到3年程序员面试的高频点,就像是古代大侠的内功心法,只有招数没有内功那绝对是不行的!通过学习JVM,不仅可以深入理解代码从编译到加载的过程、内存中对象的创建与垃圾回收、日常开发中快速定位性能问题等,也可以作为面试不可缺少的加分项。 但是阿里架构大牛说:JVM从入门到入魔,就是这么简单!那么咱们今天就来唠叨一番... 先上一份自己整理的xmind的JVM学习大纲(梳理一下知识点)... xmind的JVM学习大纲.png 这里是图片展示的xmind

mifffy_java的博客 448

百度、阿里、华为的大牛程序员在同行眼里都什么样?网易员工硬核答疑

对于很多刚入行的程序猿来说,最困扰他们的问题之一大概是:如何快速进阶成为一名技术大牛? 这是个让人很尴尬的问题。 放眼望去,整个行业的技术大牛也就那么多,一个大厂部门里都不见得出一个。想成为技术大牛,谈何容易。 最近,看到一位网易员工在脉脉发帖,称各公司的人成长路线如下: 评论区有各家员工开始自黑: 都说程序猿狠,果然,狠起来连自己都怼! 说回正题,刚入行的程序猿,怎...

程序员生活志的博客 884

阿里淘系优质开源项目推荐(下)

开源推动着互联网技术的发展。多年来,阿里巴巴淘系技术一直积极拥抱开源事业,无论是开源软件的应用、回馈以至自研技术的开源都非常活跃,近两年我们更是开源了MNN、飞冰ICE、3D-FUTUR...

淘系技术 3822

如何快速成长为技术大牛?阿里资深技术专家的总结亮了

阿里妹导读:你是否有类似这样的问题——“天天写业务代码的程序员,怎么成为技术大牛,开始写技术代码?”今天,阿里资深无线开发专家李运华,系统梳理了自己的思考和理解,希望帮助更多同学少走一些弯路。写在前面不管是开发、测试、运维,每个技术人员心里多多少少都有一个成为技术大牛的梦,毕竟“梦想总是要有的,万一实现了呢”!正是对技术梦的追求,促使我们不断地努力和提升自己。然而“梦想是美好的,现实却是残酷的”,

阿里技术 6459

嘘!偷偷看下阿里技术大牛的私人书单

也许我们无法走遍地球的每一个角落,却可以用阅读丈量整个世界。停止阅读就等于停止给大脑供给养分。信息爆炸时代,“养分”的质量决定了个人的成长速度。4.23世界读书日、“阿里...

阿里技术 2157

阿里数据库大牛的 MySQL 学习指南!

做后端的同学,总是绕不开MySQL。毫无疑问,MySQL 是当下最流行的开源数据库。凭借强大的性能和易于使用性,它已被Google、Facebook、YouTube、百度...

Java技术栈,分享最主流的Java技术 1430

向大牛学习——如何快速成长为技术大牛?阿里资深技术专家的总结亮了(转)...

如何快速成长为技术大牛?阿里资深技术专家的总结亮了 阿里妹导读:你是否有类似这样的问题——“天天写业务代码的程序员,怎么成为技术大牛,开始写技术代码?”今天,阿里资深无线开发专家李运华,系统梳理了自己的思考和理解,希望帮助更多同学少走一些弯路。 写在前面 不管是开发、测试、运维,每个技术人员心里多多少少都有一个成为技术大牛的梦,毕竟“梦想总是要有的,万一实现了呢”!...

weixin_30662849的博客 145
上一篇: SpringBoot项目开发学习笔记之模版引擎
下一篇: Spring boot 如何实现热部署
王同学爱学习
博客等级 码龄11年 55粉丝 25原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值