摘要: 模板模式vs策略模式: 模板模式注重于一套算法,策略模式注重于多套算法。 阅读全文
posted @ 2021-01-30 21:31 塔塔尔兀格 阅读(76) 评论(0) 推荐(0)
摘要: 模板方法:定义一个操作中的算法框架,而将一些步骤延迟到子类中。使得子类可以不改变一个算法的结构既可以重定义改算的某些特定步骤 仅仅用了继承机制 通用类图 阅读全文
posted @ 2021-01-30 21:12 塔塔尔兀格 阅读(50) 评论(0) 推荐(0)
摘要: 策略模式:定义一组算法,将每个算法都封装起来,并且使他们之间可以互换。 策略模式使用的就是里面向对象的继承和多态机制 包含三个角色 Context 封装角色,也叫上下文角色,起承上启下封装作用。屏蔽高策模块对策略算法的直接访问。 Strategy 抽象策略角色,通常为接口,定义每个策略或算法必须具有 阅读全文
posted @ 2021-01-30 20:34 塔塔尔兀格 阅读(63) 评论(0) 推荐(0)
摘要: 对设计原则的一句话理解 单一职责原则:只有一个原因引起类的变化。 开闭原则:对修改关闭,对扩展开放。 里氏替换原则: 引用父类的地方可以用子类透明替换。 迪米特法则:类与类是朋友关系的依赖方式(间接交流)。 依赖倒置原则:对实体类的依赖改成对接口的依赖。 阅读全文
posted @ 2021-01-17 11:11 塔塔尔兀格 阅读(37) 评论(0) 推荐(0)
摘要: composer 改成国内镜像之后安装laravel安装器很快, 但是用laravel 安装器生成laravel项目的时候依然很慢,原因是laravel生成器中有下面的代码 $response = (new Client)->get('http://cabinet.laravel.com/'.$fi 阅读全文
posted @ 2020-11-12 07:15 塔塔尔兀格 阅读(174) 评论(0) 推荐(0)
摘要: 入职新公司,公司同事写页面都是es6,今天学习下,跟上节奏。 es6的主要更新的地方 1 声明变量的方式,由var变成 let 和const, var声明可以重复声明,没有块级作用域,可以无限制修改 。改成let之后,变量不能重复声明,并且有块级作用域,const声明的常量,不能修改。 // 重复声 阅读全文
posted @ 2020-11-07 19:05 塔塔尔兀格 阅读(92) 评论(0) 推荐(0)
摘要: 今天用原生的go尝试写了下爬取页面数据,并正则匹配需要的数据。 逻辑比较简单,就是启动了几十个协程进行页面爬取,然后进行正则匹配。 . 匹配除换行符以外的任意字符,要匹配换行可以用 [\S\s]*,[\d\D]*,[\w\W]* 进行匹配 . 匹配除换行符以外的任意字符 \w 匹配字母或数字或下划线 阅读全文
posted @ 2020-10-29 20:41 塔塔尔兀格 阅读(432) 评论(0) 推荐(0)
摘要: 最近聊天总有人问秒杀的架构设计,秒杀这种业务场景一直是个热门话题,网上也看了很多,感觉大牛分享的12306的抢票架构挺不错的。 文章讲的从网络接入开始,不是那种空洞的架构。 1,client请求接入到内网后,通过ospf协议进行第一步负载均衡, 2,请求被转发到多台lvs负载均衡器,lvs是网络层负 阅读全文
posted @ 2020-10-14 14:33 塔塔尔兀格 阅读(68) 评论(0) 推荐(0)
摘要: 任务调度工作中经常用到,感觉这个博客逻辑挺不错。 博客来源 https://www.cnblogs.com/tangyanbo/p/6425331.html 1. 任务依赖需求描述: 例子: 一个作业分为如下子任务: 任务1,任务2,任务3,任务4 执行的顺序为,任务1 》任务2,任务3 》任务4 阅读全文
posted @ 2020-10-14 10:03 塔塔尔兀格 阅读(354) 评论(0) 推荐(0)
摘要: 今年守疫情影响,作为一个PHPer找工作真难。 面试了三四家公司,面试的内容基本都差不多,离不开mysql,redis,算法,linux,设计模式,系统架构。 主要都是线上面试,很少公司是线下的,感觉线下面试还好点,有些题可以写写思路,线上面试要直接写代码,多年IDE的帮助,很多函数是记忆有限的。 阅读全文
posted @ 2020-10-13 20:15 塔塔尔兀格 阅读(152) 评论(0) 推荐(0)