黑客入侵

前提

网站被黑首先要检查搜索引擎页面收录情况,很多网站被黑页面会被修改标题后跳转,黑客通过挂马跳转到自己的网站,被跳转的页面已博彩和色情网站居多,黑客通过这种方式来截取流量,确认网站被黑之后应该迅速采取修复手段和后期预防手段,首先应该停止网站的运行,避免更多页面出现问题,然后清除被黑的内容,将被黑的页面设置为404,并通过搜索引擎的后台进行死链提交,还需要技术人员通过检测被黑的时间以及排除出被黑的原因及时把漏洞补上,常规的操作是更改网站关键密码,比如服务器、数据库、网站管理的密码、修复系统的补丁,代码层面的漏洞需要程序人员去检测后修复。

高并发处理

高并发之问题描述

某天A君突然发现自己的接口请求量突然涨到之前的10倍,没多久该接口几乎不可使用,并引发连锁反应导致整个系统崩溃。如何应对这种情况呢?生活给了我们答案:比如老式电闸都安装了保险丝,一旦有人使用超大功率的设备,保险丝就会烧断以保护各个电器不被强电流给烧坏。同理我们的接口也需要安装上“保险丝”,以防止非预期的请求对系统压力过大而引起的系统瘫痪,当流量过大时,可以采取拒绝或者引流等机制。

NoSQL 简单了解

NoSQL 数据库与传统的关系型数据库相比,它具有操作简单、完全免费、源码公开、随时下载等特点,并可以用于各种商业目的。

这使 NoSQL 产品广泛应用于各种大型门户网站和专业网站,大大降低了运营成本。其中风头最劲的莫过于 MongoDB 了。

Vscode

Color theme

常用主题:Monokai

常用快捷键

  • cmd+P: 打开命令面板

    1. 直接输入文件名,跳转到文件
    2. ? 列出当前可执行的动作
    3. : 跳转到行数,也可以 Cmd+G 直接进入
    4. > 显示并运行命令
    5. @ 函数名跳转
  • 光标『多点编辑』

SonarQube 代码质量管理平台

SonarLint 与 SonarQube

  • SonarLint 仅存在于 IDE(IntelliJ,Eclipse 和 Visual Studio)中。 其目的是在您键入代码时提供即时反馈。 为此,它专注于您要添加或更新的代码。
  • SonarQube 是一个用于管理源代码质量的开放平台,它可以从多个维度检测代码质量,可以快速的定位代码中潜在的或者明显的 Bug、错误。它支持包括 Java、Python、Php、C/C++、C#、HTML、JavaScript、PL/SQL、Objective C 等二十多种编程语言的代码质量管理与检测。可作为我们日常开发中检测代码质量的重要工具。为此,它会定期分析项目的所有源代码行。

简单的说 SonarLint 是 SonarQube 的单机版本。

PHP 常用函数

时间函数

  1. 常用代码

     1
     2
     3
     4
     5
     6
     7
     8
     9
    10
    11
    
    date_default_timezone_set('PRC'); //默认时区
    echo "今天:",date("Y-m-d",time()),"<hr>";
    echo "昨天:",date("Y-m-d",strtotime("-1 day")), "<hr>";
    echo "明天:",date("Y-m-d",strtotime("+1 day")), "<hr>";
    echo "一周后:",date("Y-m-d",strtotime("+1 week")), "<hr>";
    echo "一周零两天四小时两秒后:",date("Y-m-d G:H:s",strtotime("+1 week 2 days 4 hours 2 seconds")), "<hr>";
    echo "下个星期四:",date("Y-m-d",strtotime("next Thursday")), "<hr>";
    echo "上个周一:".date("Y-m-d",strtotime("last Monday"))."<hr>";
    echo "一个月前:".date("Y-m-d",strtotime("last month"))."<hr>";
    echo "一个月后:".date("Y-m-d",strtotime("+1 month"))."<hr>";
    echo "十年后:".date("Y-m-d",strtotime("+10 year"))."<hr>";
    
  2. 一天前:换算成小时为单位,当前时间减去24h后,为一天前

Mysql 优化

慢查询优化

  1. 根据 where 条件,组建联合索引『每一次查询只能用上一个索引,所以需要好好利用联合索引』
  2. 使用强制索引,使用 explain 分析查询 sql 时,需要关注 key、rows、filtered 这三个字段,rows 越小表示扫描记录数越少,filtered 越大表示过滤效果越好。

限制 SQL 的最大执行时间

持续集成工作流

互联网软件的开发和发布,已经形成了一套标准流程。

持续集成

持续集成(Continuous integration,简称CI)指的是,频繁地(一天多次)将代码集成到主干。

Restful架构

什么是RESTful架构

用 URL 定位资源,用 HTTP 动词描述操作

  1. 每一个URI代表一种资源;

  2. 客户端和服务器之间,传递这种资源的某种表现层;

  3. 客户端通过五个HTTP动词,对服务器端资源进行操作,实现"表现层状态转化"。

DevOps 与 NoOps

DevOps

DevOps是开发和运维的融合,是开发和运维工程师共同协作,定义应用从设计到交付全生命周期过程的实践。

NoOps

  • NoOps的意思是无须操作。它的理念是去掉所有的平台管理部分,从而降低开发人员与基础设施之间的摩擦。
  • NoOps的目的是定义一个不需要开发与运维相结合,就可以使流程顺利进行的过程。NoOps有一个目标:通过设计使所有东西都可以完成部署,而不需要任何人参与。
  • NoOps大致的方法如下:开发人员将代码提交到代码库就已经完成了全部的部署。看起来与连续交付非常相似,但它所包含的范围更大,这里面不仅有应用程序,还包含了基础设施的部署。

其实无所谓DevOps或NoOps。最根本的驱动是:用尽可能少的维护工作,去创建智能的基础设施,并将一切自动化。