是时候了解下Travis CI是什么了
前言首先祝各位朋友新年快乐,工作顺利,事业有成,永无BUG。
有些朋友一直疑惑Travis CI是个什么东西,网络上搜索后得知的答案是自动测试,自动发布。自动xx 这个名词貌似非常流行,这也是DevOps的一部分,什么?DevOps是什么?我们下一章讲讲这个。
先来解释下“自动”这个词,自动顾名思义是自动完成一些事情,上述的自动测试,并不是各位认知中的人肉测试,而是通过我们自己的规则去测试,例如跑一遍tests内的所有测试,自动发布也是通过脚本对现有项目发布到生产环境中或预发布环境中。
万事开头难,咱们只玩简单的。
使用想玩起来TravisCi不需要安装任何软件,它的网址是 https://travis-ci.org/ , 你可以选择通过GitHub账号登录他。
随后我们可以建立一个github库,就叫它travis_ci_test吧,测试使用就随意点好了。之后点击项目管理 https://travis-ci.org/account/repositories ,会列出你所有的GitHub库
通过点击单选按钮将库添加到TravisCi内。添加完成后并没有完事,这时候我们就该认真看看自 ...
浅谈架构是为了什么 (上)
前言架构是一款软件从0到100的演变过程。并非是上来就可以承载什么亿级访问的牛x架构什么的。本篇写给那些想要成为架构师或者正在尝试成为架构师的朋友。
陕西的城墙有架构,阻挡外来攻击
兵马俑黄陵有架构,避免根基倒塌
这是硬性架构,在初期就应考虑清楚其稳定性。
餐厅的人员配置,菜谱的交替更换以及管理的不断完善。
这是软性架构,考虑扩展性。
why为什么要做架构?有一部分人是这样说的
做软件就需要架构
没架构的软件不靠谱
我是架构师这软件我必须做架构
我在学习架构,所以我接手的项目要做架构
各位朋友,生活如此多娇,不必互相残害。架构是要做。实际每日的工作中,你一直在架构,感觉到了吗?例如下面的一些日常工作
这块的业务响应速度有些慢,我们需要想办法提升速度
PHP线程经常挂掉,单机配置到极限,我们需要方案去解决
数据库经常出现死锁,查看哪块业务造出的并提出解决方案
这块的业务耦合太高了。我们开会讨论如何做。
是日常工作中,你无时无刻的在架构,而你与架构师唯一的区别是你是遇到问题再想解决方案,而架构师会提前想好,例如这种方案可以去解决某个问题,但也需要考虑其弊端,弊端出现的方案是 ...
浅谈架构是为了什么 (下)
前言上一章对架构进行了通俗的解释,本章以图文并茂的形式对架构的演变做详细的阐述
架构并非因高并发、大数据而生,以下的架构方式是根据业务演变而变更。
从现在开始,假设我们自己是一个创业的小团队。没资金没人脉,靠技术打天下。现在要开发一套电商系统。开始自己的表演。
1.0没钱没人,只能买得起一台阿里云学生机。这时我们只能选择使用下面的架构
单机部署整个LNMP环境是唯一选择,这时我们还可以对1.0版本做一些优化的地方,在主从数据库这里,要注意了。单机跑主从简直是多此一举。单机流量本身就有效。主与从的承受是一致的。所以主从在单机跑?(相信你不是在开玩笑),但如果视数据与声明的话,主从还是有必要的(当备份了呗)。优化后的架构图如下
虽然依旧很勉强,但我们将文件存储转移到了其他云,比较少于n个g流量是免费的😄,对php进行了优化,改修改的都改了,主从也做了。这个1.0的版本勉强的撑过了创业初期。然后灾难再一次降临…
1.*这时候手头已经有点钱了。公司准备再购入一台服务器。这时架构如下所示
新购入的机器与老机做了一个负载均衡,将流量分发。这时候主从数据库就派上了很大的用场。这里先将主数 ...
浅谈重构造成的灾难性毁灭
前言这章我在7月20号的时候就准备好了标题,在那之前有写过一篇重构的文章,这段时间一直在等重构造成的弊端。
庆幸的是至今也没挂掉。本章我们来聊聊重构造成的灾难性毁灭。
青铜只要你确定你是一个真正的程序员,那当你接手一个新项目时,因为每个人的编码规范与风格不同,或者某块代码出现了问题,作为一名向上的程序员,总会想去重构这个项目更严重的都想重写一遍。例如下面的这类代码
12345678910111213141516171819$status = $_POST["status"]switch status { case ... break; case ... break; default: if(){ ... }else if(){ ... }else(){ ... } break;}
我知道当你看到这段代码内心是崩溃的,如果是名新人,在没有完全理解其结构作用的情况下,绝对不敢擅自动原有的代码,除非他想加班, ...
用MAC还安装集成环境可就OUT喽
#前言大家好,我是CrazyCodes,今天聊聊为什么在MAC上,我不安装类似XAMPP或者Laravel的Homestead的集成开发环境
#对比我也是卸载了这些环境不到一年的时间,为何要去卸载他呢,原因其实很简单,扩展性差,这里这个扩展性指的不是集成环境这个软件本身的扩展性,当初安装的目的其实不就是省事嘛~,也不会过多的查看文档,而是在需要扩展的时候,学习成本会逐渐提高,这里的扩展性=学习成本。
#开始MAC自带了Apache和PHP的版本,这时候直接安装一个MySQL其实就可以进入开发了。可以选择使用brew安装
1brew install mysql
当然如果希望使用其他版本的PHP或者是将Apache替换为Nginx也是很简单的时候,只要部署过单机服务器,其实在Mac上的步骤是差不多的。
#php首先还是使用brew安装一个你心仪的PHP版本,可以通过
1brew search php7
来搜索下现有的php7+都有哪些版本,这里在php@7.3上打了✔️,意思是我已经安装了这个版本,现在使用7.4版本 ...
程序员自省录
前言本文具有批判性,如有误解请移步右上角叉叉。
为什么做程序员?
我相信每位入行的童鞋 (除了高工资,有免费大桶水喝的办公室,不干体力活的各种原因外),都有想用代码改变世界的想法。我也是这样,在苦苦挣扎了五年后,我发现我并未成功改变世界,而是让代码改变了自己。为什么要做程序员?是对程序的热爱,对代码的忠诚,如果看到这里,你并非如此,请右上角叉叉离开。因为你不适合看这篇文章。Sorry。
怎么做好程序员?
好与不好,每个人的界定都不一致,我自认为好的程序员是追求完美的但从不口出狂言。作为一名程序员,应该跟科研人员一样,不断探索,不断创新,才是程序员的根本,要用脑敲代码而不是用手敲代码。(秃顶是你的目标😄)
请相信自己
进入这个行业,你总有学不完的知识,技术,玩法。每天都在学习都感觉跟不上大牛的脚步。别害怕,其实大牛也是这么想的。做好自己的本职工作,认真对待自己的每行代码。不要每天想着去处理高并发、大数据的方案。没碰到的时候永远都是空想。
行业名次的误导例如MVC架构,MVC框架,架构,框架还有各种各样的名次,新生的开源程序,队列、数据、并发处理的各种各样的方案。真正遇到的时候再去深入也 ...