我的10年linux使用感想

TL;DR

作为一个开发者,我使用Linux系统已经十年了,未来我还会一直使用Linux作为开发的主要系统。在此我想分享一下我使用Linux的感想,也是为自己疏理一下Linux为何如此吸引我的点,也疏理Linux上我所使用的各个组件的原因。

Read More

coding编程问题汇总

一、前端问题

React

  • jdm-editor 问题,与react和antd版本问题:issue222issue162,Modal.confirm不弹出;
    Error: Warning: [antd: message] Static function can not consume context like dynamic theme. Please use ‘App’ component instead.
    A: 通过将react与react-dom降级到18.x版本,有报错,但功能可使用。

    Read More

kubernetes安装过程

背景

由于本人对linux系统很感兴趣,对运维方面的技术也很感兴趣。如今软件部署进入了容器化时代,技术就要跟上时代的步伐。
软件的部署方案大概分为三种阶段:

  • 第一阶段,是在目标机上安装好软件部署所需要的环境,比如说java环境,nginx环境等等,然后再将新版本的软件服务启动起来;
    这个方法导致了一些问题,那便是如果有多台物理主机进行分布式部署,将需要在每台主机上进行同样的操作,虽然可以通过写脚本来尽量避免这种工作,但是依然十分复杂,对于要新增一种软件部署也要进行大量重复工作;
  • 第二阶段,是使用容器技术,比如docker,将新版本的软件打包,然后在目标机器上拉取最新的软件包,并启动;
    这个方法依旧还存在问题,那就是会需要在每台物理主机上都进行拉取软件包并启动的操作,依旧有重复性的工作;
  • 最后,也就是目前比较流行的一种方式,使用kubernetes(简称k8s)集群,这种方法比较简单,在第二阶段的基础上,使用了k8s管理工具,只需要在master节点主机上部署新版本软件包,该工具将会自动在所有子节点上创建新的service,并不需要重复性的工作,这一切都被k8s自动完成了;
    当然k8s并不只有这个功能,还有一些其他非常强大的功能,就不一一细说了。

    Read More

前端微应用深入了解

背景

最近,工作中遇到一个需求:接着上一次微应用开发的项目,产品设计了另一个模块,这个模块的要求是可以单独运行,也可以部署至父应用中作为一个模块使用。有了上一次微应用开发的经验,这次我决定在项目中使用微应用技术接入,该模块功能单独立一个项目。

技术方案

  • 父应用使用qiankun进行微应用的注册和启动;
  • 子应用使用@umi-js/plugin-qiankun进行微应用所需的一些配置进行自动化生成。

    需要解决的问题

描述: 父应用依旧使用vue技术栈,子应用使用umi创建的react项目(react v4.x),采用history路由模式。
上一次遇到的问题主要集中在开发时子应用所需要的配置项,并且子应用不需要安装任何第三方包就可以接入;而本次子应用使用的是umi的plugin,配置方面不需要多做处理,只需要在umi生成的子应用项目的配置文件中加上一个配置项就可以了,点击查看详情

Read More