0%

简单粗暴的安装

学习任何一个新技术,我都推荐在虚拟机里面去操作,毕竟环境干净搞完蛋不影响原来的操作系统。

依赖

1
sudo yum install -y yum-utils device-mapper-persistent-data lvm2

添加 Docker 源

1
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

安装

1
sudo yum install docker-ce docker-ce-cli containerd.io --nobest

启动 Docker CE

1
sudo systemctl enable docker
2
sudo systemctl start docker

建立用户组

一般我们不会直接用root这个大权限的用户来操作,一般需要建立一个组加入docker组:

1
sudo groupadd docker

将当前用户加入 docker

1
sudo usermod -aG docker $USER

忒出当前客户端重新登录,进行下面的测试

阅读全文 »

前言

箭头函数不仅仅是编写简洁代码的”捷径”。它还具有非常特殊且有用的特性。
JavaScript 充满了我们需要编写在其他地方执行的小函数的情况。

例如:

  • arr.forEach(func) —— forEach 对每个数组元素都执行 func
  • setTimeout(func) —— func 由内建调度器执行。

JavaScript 的精髓在于创建一个函数并将其传递到某个地方。

_在这样的函数中,我们通常不想离开当前上下文_。这就是箭头函数的主战场。

阅读全文 »

前言

这个真的是一个老生常谈了,偶尔放出来炒炒其实也挺香,PHP 我从5.*用到7.*,可以说真的是看着他辉煌看着他被其他语言(Golang、Node 捅菊花)。很多人也诟病它,但是我觉得我挺喜欢这门语言的。最最主要的是因为他简单方便。但是方便的东西,不一定能写好。

优化这个东西说实话,是技术的一些细枝末节,现在很多面试里面动不动就会问很多性能方面的东西,问的有水平的会给出具体的场景和一些相关数据,问的水的直接就是让你谈谈大数据量访问的处理,不给场景,不给任何信息,心里真的日了狗了,你怼他吧,他不爽还不一定要你。

环境:MacBook Pro 2015 款 8G 内存 I5 处理器 PHP 7.4.3

阅读全文 »

前言

疫情在家,本来开年就要入职的公司,入职时间是一拖再拖,这里真的是吐槽一下。在家呆着爸妈鼻子不是鼻子眼睛不是眼睛的,我心里也是日了狗,从新投简历,某些傻缺HR,一来就问你会Yii吗?我就纳闷了,现在的框架哪个不是容器搞一通。

哎,抱怨没用,动手最实际,朋友要我帮忙做个管理后台,用React帮他做,不得不说一个小白尽然也知道React了。这个前端框架的知名度不得不说。我图省事儿样式让我写不可能的用Ant Design吧。

搭架子过程

反正就是一堆命令什么

1
mkdir manager_beta && cd manager_beta
2
npx create-react-app .

漫长的等待…期间我打开了书,看了看JavaScript 设计模式,架子是搭建完了,开始antd的安装

1
npm i --save antd
2
npm i --save react-router-dom

默认的create-react-app下面不是不会暴露出配置文件的,所以还要执行一下命令,为什么还要配置,作为开发人员,配置都不自己控制,总是不安心的。好吧,其实我是要用less这东西得配置吖。

1
npm run eject
2
npm i --save less less-loader

接下来就是把下面这段配置放入config\webpack.config.js中了

1
// line: 50行左右
2
const lessRegex = /\.(less)$/;
3
const lessModuleRegex = /\.module\.(less)$/;
4
5
// line: 487行左右
6
{
7
    test: lessRegex,
8
        exclude: lessModuleRegex,
9
            use: getStyleLoaders({ importLoaders: 3 }, 'less-loader'),
10
},
11
{
12
    test: lessModuleRegex,
13
    use: getStyleLoaders(
14
        {
15
            importLoaders: 3,
16
            modules: true,
17
            getLocalIdent: getCSSModuleLocalIdent,
18
            modifyVars:{},
19
            javascriptEnabled: true,
20
        },
21
        'less-loader'
22
    ),
23
},

其实上面写的对我要说的怎么 实现React布局路由 有什么关系呢?好吧,我告诉你,一点关系都没有哈哈哈,我就是骗骗字数。

阅读全文 »

Laravel在2020年03月02日,发布了7.0版本,从3用到7一直都是用别人开发的包,由于疫情真的但是日了狗,在家找工作都不方便,怎么办学习吖,程序员哪里有休息可言。

扩展包的开发

1. 创建一个新项目,初始化扩展包配置

首先创建一个全新的Laravel项目:

1
composer create-project laravel/laravel package_demo --prefer-dist

接下来,在项目中创建目录package/{your_name}/{your_package_name}

1
mkdir -p packages/neilyoz/plugins

进入到这个目录,执行composer init

1
cd packages/neilyoz/plugins
2
composer init

接下来的就是看你具体的配置包信息了。执行完成后会生成一个composer文件。

1
{
2
    "name": "neilyoz/plugins",
3
    "type": "library",
4
    "authors": [
5
        {
6
            "name": "Neilyoz",
7
            "email": "neilyoz@foxmail.com"
8
        }
9
    ],
10
    "require": {},
11
    "description": "plugins system build with laravel."
12
}
阅读全文 »

实现原理:

  • MySQL支持单项、异步复制,复制过程中一个服务器充当主服务器,而一个或多个其他服务器充当从服务器。
  • MySQL复制基于主服务器在二进制日志中跟踪所有对数据库的更改(更新、删除等等)
  • 每个从服务器从主服务器接收主服务器已经记录到其二进制日志的保存更新。

实现步骤:

  • Master将改变记录到二进制日志(binary log)中
  • Slave将Master的binary log events拷贝到它的中继日志(relay log)
  • Slave重做中继日志的时间,将改变反映它自己的数据。

MySQL主从复制图解

阅读全文 »

项目连接

😈 传送门 😈

背景

在家无聊搭建一个 Vue + Gin + Gorm 的程序,主要也是熟悉一下看了两天的Golang语言,在做的过程中能复习Golang的语法以及一些相关的前端Vue知识。

  • 熟悉了gin框架,以及中间件的使用
  • 熟悉了gorm数据库ORM的一些数据库操作
  • 复习Vue的一些相关知识点
  • 使用jwt-go搭建jwt验证,并把验证放到Gin中间件中
  • 使用yaml把配置文件独立到config文件夹

如何搭建

  1. frontend属于前端部分,进入到这个文件夹下
1
npm install && npm run serve
  1. 配置好数据库
  2. config文件夹,配置config.yaml
1
debug: true # 数据库调试,开启后命令行会显示对应的数据库操作
2
key: alexskywin # jwt加密串
3
mysql: # MySQL相关配置
4
  user: root
5
  pass:
6
  host: 127.0.0.1
7
  port: 3306
8
  database: demo
9
  charset: utf8mb4
  1. 运行main.go文件
1
go run main.go

毕竟只是快速看看怎么回事,go run就可以了。

总结

这个相当于一个前后端分离的架子,但是在做这个架子的时候,还是遇到了很多困难,翻看各种文档和各种Golang语法查漏补缺的时候,还是温故知新了不少东西。

说实话,如果不是公司有特别要求,我还是喜欢Laravel这个自动挡多一些。gin + gorm目前还是半自动档的框架,没办法谁让Golang火吖,不说精通但是也得会。不过Golang上手确实很快。

2020年Golang也会作为我一个研究的方向,当然不会丢下我的PHP,毕竟是世界上最好的语言!哈哈哈

前言

我们查询小表的数据肯定是比查询大表的数据来的快,所以我们可以用查询小表得到的结果集,作为查询条件去查询大表,这样提前的一个结果范围,能够让我们更快的获取数据。

阅读全文 »

前言

一个一个例子来,获取最大值max的优化。求数据的最大值,说实在话在我们的实际开发中还是挺好用的。可能数据表一万两万的时候不是很看的出来性能,但是任何东西都顶不住数量多啊。为了模拟这个数量多的环境,不废话,贴出代码,方便大家。

阅读全文 »

前言

说是优化,其实跟多是对以前一些概念的巩固,毕竟实践还是在理论牢靠的基础上进行的。所以这里我们先看看我们常用的一些关联查询方式。

JOIN链接

  • 应用形式
    • 内连接
    • 左连接
    • 右连接
    • 查询左表独有数据
    • 查询右表独有数据
    • 全连接
    • 查询左右表各自的独有的数据
阅读全文 »