自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(482)
  • 资源 (3)
  • 收藏
  • 关注

原创 我有一个小小愿望,让所有程序员编程之路再延长一点点

本应该在2019年年底写的一篇文章,推到了2020年。在2019年这一年当中,it行业出现了寒冬期,在2019年年中的时候也看到了很多在今日头条,知乎上一些30多岁的程序员发表着失业、面试被公司特殊对待,以及默默转身离开一线城市回到老家,确又不知道做些什么的it老鸟们对职场的种种困惑、无力的忠告,面对现实的残酷,让我不由的联想到了自己。 诚然,那些可以用技术换来车子...

2020-01-14 13:46:03 629 1

原创 管理你的技术资产

本杰明.富兰克林说过这样一句令人醍醐灌顶的话,他说“知识上的投资总能得到最好的回报。”同样的大家的知识和经验是职业生涯或者事业中最宝贵的财富,我们要怎么样捍卫自己的资产,保护好自己的财富呢?...

2022-06-21 08:05:59 40

原创 我的源码让猫给吃了

书中讲道“注重实效的程序员对他自己的职业生涯负责,并且不害怕承认无知或错误。”多年的编程生涯以及对职业的理解,在一个公司内、同事间以及协作开发项目时,受不受人欢迎除了硬核能力外,最重要的一点莫过于责任心三个字,不管是上边交代一个功能开发、一个对接三方需求、多部门沟通协调,如果一个人从始至终能够做到及时处理、及时完成、及时反馈进度,我想这样的技术人员可以说是最优秀的。

2022-01-04 15:05:45 102

原创 组件构建原则之组件耦合

消除循环依赖-即依赖关系图不应该出现环典型的例子:A->B->C->A,四个组件,最终形成了一个环,环内的组件互相依赖。最终导致的一个问题是,每个组件的修改,都可能影响到另外三个组件,书中称为“一觉醒来综合征”,即我们不知道什么时候就会被其它组件影响,从而导致我们要付出很多的时间去做适配。

2022-01-02 10:40:29 181

原创 架构整洁之道-书中箴言

金玉良言 走快的唯一方法是先走好。做一个好的软件架构师所需要的自律和专注程度可能会让大部分程序员始料未及。软件系统不应该依赖其不直接使用的组件。程序规模上的墨菲定律程序的规模会一直不断地增长下去,直到将有限的编译和链接时间填满为止。

2022-01-02 10:29:42 64

原创 组件构建原则之组件聚合

首先说一下组件概念,大型软件系统的构建过程与建筑物修建很类似,都是由一个个小组件组成的。所以,如果说SOLID设计原则是用于指导我们如何将砖块砌成墙与房间,那么组件构建原则就是用来指导我们如何将这些房间组合房子的。

2021-12-31 13:45:59 1847

原创 再叙设计原则

单一职责原则大多数人都从字面上认为,编写代码中每个模块都应该只做一件事,即确保一个函数只完成一个功能,但这只是一个面向底层实现细节的设计原则,并不是全部,在历史上,曾经这样描述这一原则:任何一个软件模块都应该有且仅有一个被修改的原因。而这个被修改的原因就是用户或都所有者。举个反面例子:比如说代码编写着将计算a的方法和计算b的方法混合成方法c,将不同行为者所依赖的代码强凑到了一起,有可能原始a方法的修改而合并后的a没有修改就会影响整个方法。解决方案就是将每一种方法都需要将相关函数分成不同的类,

2021-12-30 15:03:38 95

原创 编程范式-架构整洁之道

编程范式分为三种:结构化编程、面向对象编程、函数式编程1、结构化编程是对程序控制权的直接转移的限制。它采用子程序、程序码区块(英语:block structures)、for循环以及while循环等结构,来取代传统的 goto。希望借此来改善计算机程序的明晰性、品质以及开发时间,并且避免写出面条式代码。

2021-12-28 11:12:21 993

原创 打造平台稳定性能力

1、限流和降级限流的作用相当于电路上的保险丝,当过载的时候掐掉一些流量,让系统有能力集中资源以较快的速度处理平台处理能力范围内的业务请 求。也就是上面大促场景中,仅让1000万用户中 的100万用户进入后端的处理流程中,将其余900 万用户的请求通过队列排队或直接阻挡在平台处 理单元之外的方式,保障平台能在处理能力范围 内对100万的用户请求进行处理。平台要具备限流的能力,首先需要对服务部署的能力有一个准确的评估,知道服务实例的部署量到底最大能满足多少业务请求的处理要求。使用压测进行分析统计,像阿里巴巴

2021-12-27 17:32:40 916

原创 阿里巴巴数字化运营能力

1、鹰眼平台的架构 首先在每个应用集群的运行环境中,每当应用中进行了远程服务调用、缓存、数据库访问等操作时,都会生成相关的访问日志并保存到应用所在的服务器上。 因为这些本地日志信息仅仅是一次业务请求处理中的部分日志信息,必须要将这些日志信息汇聚到一个地方才能进行全局的统计和查看,所以在每个运行应用所在的服务器上均有一个代理程序,专门负责实时地将生成的日志文件(增量)发送到鹰眼的处理集群上。 鹰眼平台是阿里巴巴中间件团队自主研发的 JStorm流式计算引擎,对应用...

2021-12-26 17:30:01 1528 1

原创 秒杀大促-淘宝用缓存实现方式

从淘宝缓存产品的研发和使用场景的历程来看,是随着业务的快速发展以及某些特定业务场景的出现而逐步演变的。早期通过缓存实现应用分布式session,以避免应用实例间会话的复制,后来发展为将缓存用于业务去重判断、交易快照、图片索引等场景,最后替换数据库在业务交易处理中的职能,缓存平台在业务场景中扮演了越来越重要的角色。目前在整个阿里巴巴集团部署了近千台缓存服务器,保存了百亿级别的数据,满足业务对数据库90%以上的请求。所谓的大促、秒杀场景,其关键词有“低廉 价格”、“大幅推广”、“瞬时售空”...

2021-12-24 11:17:23 929

原创 两阶提交、三阶提交、TCC框架

首先介绍一下分布式事务,分布式事务是指会涉及到操作多个数据库的事务。其实就是将对同一库事务的概念扩大到了对多个库的事务。目的是为了保证分布式系统中的数据一致性。分布式事务处理的关键是必须有一种方法可以知道事务在任何地方所做的所有动作,提交或回滚事务的决定必须产生统一的结果(全部提交或全部回滚)在分布式系统中,各个节点之间在物理上相互独立,通过网络进行沟通和协调,也就是说引入一个“协调者”的组件来统一调度所有分布式节点的执行。具体来说二阶段提交的算法思路可以概括为:参与者将操作成败通知协调者...

2021-12-23 14:33:49 189

原创 阿里巴巴异步化处理方式

阿里巴巴异步化处理方式 异步化与缓存两个技术都与系统的性能有很大的关系,当今分布式应用架构中,如果不能很好地掌握这两项技术,所设计出的应用将很难有优质的性能表现。本章将介绍阿里集团是如何使用这两种技术的。本次分享介绍淘宝平台中典型的交易场景,描述在分布式服务架构中,如何通过业务流程异步化,即通过服务异步调用的方式让业务流程中业务逻辑上允许同步执行的服务同时被调用,从而解决了大量远程服务线性调用带来的性能问题。

2021-12-22 16:00:09 468

原创 阿里巴巴分布式服务框架HSF

HSF称之为高速服务框架HSF(High-speed Service Framework),是在阿里巴巴广泛使用的分布式RPC服务框架。

2021-12-21 10:54:04 1673

原创 淘宝平台“服务化”历程

早在2007年的时候,整个淘宝网站是一个几百兆字节的WAR包,大小功能模块超过200个,当时的淘宝业务处于每几个月就翻倍高速发展,这样的应用架构给淘宝技术团队带来了非常大的压力 ,虽然技术团队规模已超过500人。几百人维护一个War包的模式,带了几个大问题:1、项目团队间协同成本高,业务响应越来越慢。比方说各团队开发各自模块的分支,一旦理临近新版本上线,各分支合并会出现大量的jar包冲突、代码不一致的情况。如果再遇到有些功能开发的进度滞后,情况就变得更加复杂。2、应用复杂度已超出人的认知。淘宝早期还

2021-12-20 11:18:57 745

原创 共享服务中心建设原则

共享服务中心的架构目的是通过业务拆分来降低系统的复杂性;通过服务共享来提供可重用性;通过服务化来达到业务支持的敏捷性;通过统一的数据架构来清除数据交互的屏障。

2021-12-15 17:30:46 1618

原创 共享服务体系

提到这个概念,我们首先要介绍一个另一个概念,称之为“烟筒式”系统建设模式,早在2008年时淘宝的技术团队同时支持着淘宝和天猫两大电商平台。另外还有1999年成立的b2b电商平台1688

2021-12-14 16:22:42 458

原创 阿里巴巴集团中台战略引发的思考

话说在2015年年中,马云带领阿里巴巴集团的高管,拜访了芬兰的一家名为Supercell的移动游戏公司,这家号称是世界上最成功的移动游戏公司,一般来说两个员工,或者5个员工,最多不超过7个员工组成独立的开发团队,称之为Cell(细胞),这也是公司名字Supercell(超级细胞)的由来。团队自己决定做什么样的产品,然后最快的时间推出产品的公测版,看看游戏是否受用户欢迎。如果用户不欢迎,迅速放弃这个产品,再进行新的尝试,期间几乎没有管理角色的介入。团队研发的产品失败后,不但不会受到惩罚,甚至会举办

2021-12-13 16:31:11 2811

原创 漫话网站架构师

对于技术团队,架构师的决策和技术方案影响工程师的开发模式和工作量,一个称职的架构师是公司的宝贵财富,而一个不合格的架构师可能会成为开发团队的梦魇,所谓一将无能,累死三军。按作用划分架构师设计型架构师:也就是一般意义上的架构师,负责系统架构设计地要负责架构的实施落地、演化发展、推广重构。救火型架构师:充当救火队员的角色,系统出现故障或者“灵异现象”,会请他们出马解决,有时重要且紧急的项目也会由此类架构师主持。他们通常是公司的元老,对系统有全局性的认识,知道“水有多深”。布道型架构师:对某一领域有较

2021-12-07 15:42:42 1459

原创 网站高可用架构之BASE原理

BASE理论是eBay架构师提出的。BASE定理来源:是CAP中一致性和可用性的权衡结果,它来自大规模互联网分布式系统的总结,是基于CAP定理逐步演化而来的。BASE定理的核心思想:即使无法做到强一致性,但是每个应用可以根据自身的业务特定,采用合适的方式来达到最终一致性。BASE是Basically Available(基本可用)、Soft state(软状态)和Eventually consistent(最终一致性)三个短语的缩写。基本可用是指分布式系统在出现不可预知故障的时候,允许损

2021-12-01 16:36:24 513

原创 大型网站高可用架构之CAP原理

在讨论高可用数据服务架构之前,必须先讨论的一个话题是,为了保证数据的高可用,网站通常会牺牲另一个也很重要的指标:数据一致性。CAP原理认为,一个提供数据服务的存储系统无法同时满足数据一致性、数据可用性,分区耐受性(系统具有网络分区的伸缩性)这三个条件。 在大型网站应用中,数据规模总是快速扩张的,因此可伸缩性即分区耐受性必不可少,规模变大以后,机器数量也会变得庞大,这时网络和服务器故障会频繁出现。 要想保证应用可用,就必须保证分布式处理系统的高可用性。所以在...

2021-11-30 14:06:48 1782

原创 大型网站核心架构要素

架构一词,通俗的说法是“最高层次的规划,难以改变的决定”,这些规划和决定奠定了事物未来发展的方向和最终的蓝图。一般来说,除了系统功能需求外,软件架构还要关注性能、可用性、伸缩性、扩展性和安全性这5个架构要素。谈一下两个容易混淆的概念。伸缩性和扩展性。伸缩性是指大型网站需要面对大量用户的高并发访问和存储海量数据,不可能只用一台服务器就处理全部用户请求,存储全部数据。网站这集群方式将多台服务器组成一个整体共同提供服务。所谓伸缩性是指通过不断向集群中加入服务器的手段来缓解不断上升的用户并发访问压力

2021-11-29 11:10:27 125

原创 吾辈对“码农”称呼意见很大,很不悦

一直想写一篇关于关于中国软件开发者的现状,从开始学习编程再到进入社会,走进公司,如何从一个小鸟变成老鸟的故事。 然而现实总不是那么美好,就像是因为期待了很多而最后没有实现带来的落差,每个喜欢编程以及走上软件开发者道路上的人总会对自己有各种自在或者低调含蓄的称谓,就像之前老有人说,我们是招人的,公司就差你一个了。“程序袁”、“码农”、“格子杉”,呆板的印象和总是提不起精神看似和国家一样的外形,让人一眼就能认出一样。直到2021年8月16日,中国人力资源和社会保障部发布《2020...

2021-11-22 20:35:38 49

原创 大型网站架构模式【大型网站技术架构.核心原理与案例分析】(阅读分享)

这本书分几个章节,其中有一个值得和大家分享的技术知识。大型网站架构模式中引入了模式概念:每一个模式描述了一个在我们周围不断重复发生的问题及该问题解决方案的核心。这样,你就能一次又一次地使用该方案而不必做重工作。模式有几种:有分层、分割、分布式、集群、缓存、异步、冗余、自动化、安全1、分层:简单说就是横向分,比如将网站软件系统分为应用层、服务层、数据层2、分割:简单说就是纵向分,比如说在应用层上,将不同业务进行分割,将购物、论坛、搜索、广告分割成不同的应用。3、分布式:分层和分割的一个..

2021-11-13 09:06:22 2394

原创 金山云签名v2-java

基于1.8 、springboot@Api("1.0.0") @RequestMapping(value = "/p/k3/getSignV2", method = RequestMethod.POST) public String getK3SignV2() throws UnsupportedEncodingException { String HTTPVerb = "POST" + "\n"; String .

2021-09-15 11:29:53 78

转载 (转)PHP 高效导入导出Excel(csv)方法之fgetcsv()和fputcsv()函数

https://www.cnblogs.com/wenzheshen/p/10521400.html一、CSV数据导入函数fgetcsv()fgetcsv() 函数从文件指针中读入一行并解析 CSV 字段。与fgets()类似,不同的是 fgetcsv() 解析读入的行并找出 CSV 格式的字段,然后返回一个包含这些字段的数组。fgetcsv() 出错时返回 FALSE,包括碰到文件结束时。具体使用时封装函数如下:/** * 导入Excel数据表格 * ..

2020-11-24 17:20:29 225

转载 (转)MySQL如何实时同步数据到ES?试试这款阿里开源的神器!

SpringBoot实战电商项目mall(40k+star)地址:github.com/macrozheng/…摘要mall项目中的商品搜索功能,一直都没有做实时数据同步。最近发现阿里巴巴开源的canal可以把MySQL中的数据实时同步到Elasticsearch中,能很好地解决数据同步问题。今天我们来讲讲canal的使用,希望对大家有所帮助!canal简介canal主要用途是对MySQL数据库增量日志进行解析,提供增量数据的订阅和消费,简单说就是可以对MySQL的增量数据进行实时同步,支持

2020-11-05 15:44:03 182

转载 (转)本地两个PHP项目相互请求 windows curl请求报28错误

https://blog.csdn.net/String12/article/details/78482284想在自己的本地实现两个项目相互请求,开始想着直接使用php自己的curl就可以实现了,但是请求了几次都是一直报错误:Maximum execution time of 30 seconds exceeded in1查询了一下这个错误的意思时内存超出。然后想着是不是自己的代...

2019-11-30 17:49:08 451

转载 (转+自己实例)curl传base64时,post参数要求为json串

$file = "https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1564987249213&di=371bd85b795a4a6b94808c87885b1056&imgtype=0&src=http%3A%2F%2Fn.sinaimg.cn%2Fsinac...

2019-08-07 00:08:35 8969 1

原创 京东ai NeuHub单点登录

<?phpnamespace Home\Controller;use Think\Controller;/** * * desc:京东ai授权单点登录demo -thinkphp * * */ header('Access-Control-Allow-Origin:*');// 响应类型header('Access-Control-Allow-Method...

2019-07-18 18:07:06 239

转载 (转)ubuntup安装redis

https://www.cnblogs.com/wxjnew/p/9189191.htmlhttps://www.cnblogs.com/guaiyouyisi/p/8074439.html (安装phpredis扩展) 一、前提条件需要连接互联网,然后执行sudo apt-get update更新软件包二、执行安装命令sudo apt-get install ...

2019-07-01 14:15:32 179

原创 下载微信media图片

$this->downWeixinMediaPic($this->getRandStr(),$media_id4);//jsadk前端上传到微信服务器后, 后端通过media_id拉取图片 protected function downWeixinMediaPic($pic_name,$media_id){ $token = $this->getAc...

2019-05-30 10:26:52 591

转载 (转)phpstorm 不能选择 php language level 问题

https://blog.csdn.net/qq_38083665/article/details/81178966https://www.cnblogs.com/honeyJYY/p/9837087.html项目需要用php7.1 但是在编辑器里面写一些php7的新语法,编译器老是红波浪线报错在设置 php language level 的时候不能选择,发现是因为勾选...

2019-04-03 14:15:02 216

原创 自动回复图文

case '成都': // $content = array(); $content[] = array("Title" =&gt;"现场直播|xxxxxxxx峰会-成都", "Description" =&gt;"xxxxxx高端盛宴", ...

2019-03-13 18:09:06 299

转载 (转)mysql binlog日志删除

https://www.jb51.net/article/117819.htm如果是主从的话,需要看从库目前读的哪个日志1、查看主库和从库正在使用的binlog是哪个文件 1 2 show master status\G show slave status\G 清除方法:1.自动删除通过设置binlog过期的...

2019-03-09 17:54:24 213

转载 (转)处理linux服务器磁盘满了的方法

https://blog.csdn.net/qq_41685990/article/details/82734096今天连接oracle数据库报错,重启数据库显示磁盘满了,记录一下我的处理方法:1.df -h命令:通过df -h命令查看硬盘的使用情况:发现vda3挂载点已经基本满了[这个还是处理后的,之前到达49G了]2.知道了是硬盘满了的问题,name下一步就...

2019-03-04 16:03:11 259

转载 FastCGI sent in stderr: "Access to the script '/index.php/' has been denied

参考 https://pagespeed.v2ex.com/t/341441如遇到此情况时,可以转变一下root站点目录, 可能是目录写错了,导致拒绝 

2019-02-27 13:30:11 3013

转载 (转)navicat 连接线上数据库老是自动断开连接

https://blog.csdn.net/qq_27229113/article/details/81075940效果杠杠的

2019-02-26 17:15:09 955

转载 (转)ssh连接超时问题解决方案:

https://blog.csdn.net/imzhujun/article/details/53868501ssh连接超时问题解决方案:1.修改server端的etc/ssh/sshd_configClientAliveInterval 60 #server每隔60秒发送一次请求给client,然后client响应,从而保持连接ClientAliveCountMax 3 #se...

2019-02-26 13:44:53 1331

转载 php-fpm 9000端口监听和php-cgi.sock监听

在配置nginx  和php-fpm的时候一定要注意这俩配置要保持一致   不要 NGINX配置了9000  而php-fpm监听的是php-cgi.sock或者nginx 转发给php-cgi.sock   而php-fpm监听的是9000 这样会502  bad getway!!!! --------------------- 原文:https://blog.csdn.net/qq_3...

2019-02-25 23:03:27 2558

城市三级联动 纯js

亲测可用, 灵活 。 可以拿来一用, 1、引js 2、写select 标签

2015-08-11

php实例代码

原书带的实例代码 php开发实战权威指南

2014-05-08

搜索引擎优化(seo)

搜索引擎优化(seo),值得一看。最基础的

2013-06-21

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除