个人的经验总结

项目维护

接手旧项目时,不理解的代码,一定不要去乱碰。nginx配置也是一样的。你不知道它在哪里被用到了。不能抱有侥幸心理。

项目永远不会结束

不要相信客户和产品经理以后不会改需了这类话。产品(项目)存在意义就是解决人的需求(市场),让更多的人使用它,人的需求是变化的(市场竞争),项目只要存在就会有需求改动和功能增加。但是不能任由产品乱来。类比,好多人会追问生命的意义,生命的意义就是好好活着,生命一旦不能生存就只有死亡没有什么意义。

容灾

运营的项目一定要有容灾能力,服务,数据,文件 ,安全。不能抱有侥幸心理。这是常识。写在这里是为了提醒自己不再犯错。

关于测试

所有想法和解决方案,都必须经过代码的实践测试,不要相信没有经过测试的代码

我亦无他,惟手熟尔

遇到一个我认为是坑逼的程序员,认为他坑是接手了他写的项目,全是bug和问题,给公司造成损失了。框架工具没有熟练掌握,代码写的很敷衍,大部分代码都是复制粘贴别人项目里的代码。但是他花了十几分钟解决了一个我花了一天时间没有解决的问题,一个php5.5的比较古老商业CMS系统。因此想起了这句话。

作为一名程序员应该放下对”大神”和”大牛”的偏执,以及对”坑逼”的成见。不要以这些词汇来衡量技术水平。技术领域广阔,技术栈繁多,人的能力是有限的,所谓隔行如隔山。技术应该专业和专注,静下心来,专注于业务,问题和代码,放下情绪。能解决你擅长领域的问题的程序员就是好程序员。

开发环境和开发工具整理篇

Database Tools

mysql workbench | navicat 15 激活

PHP

开发环境 oneinstack

Javascript

开发环境 nvm

接口文档工具

showDoc php开发的几口文档管理工具,简介,支持shell脚本通过注释自动生成接口文档

YAPI YAPI是由去哪儿网移动架构组开发的可视化接口管理工具

参考链接 https://juejin.cn/post/6844903874046722055

Swagger

Eolinker

ApiDoc

IDE

vscode 常用插件

物理机安装Linux系统采坑记录

此处物理机指普通的PC电脑和笔记本非服务器

基础知识

boot是可引导bai光盘,iso是国际标du准光盘格式(全世界zhi能读DVD的设备都支持),udf是统一光盘dao格式(Universal Disc Format,全世界能读DVD的设备绝大多数都支持)

通常电脑主板支持两种模式 UEFI和BIOS

UEFI

百科

BIOS

百科

UEFI Bios支持两种启动模式

Legacy+UEFI启动模式和UEFI启动模式,其中Legacy+UEFI启动模指的是UEFI和传统BIOS共存模式,可以兼容传统BIOS引导模式启动操作系统;UEFI启动模式只是在UEFI引导模式启动操作系统。

  选定启动模式并安装操作系统,安装后只能使用设定的模式,用于启动操作系统;
  操作系统安装时使用Legacy+UEFI模式,兼容在传统BIOS引导模式启动操作系统;
  操作系统安装时使用UEFI引导模式,只能在UEFI引导模式启动操作系统。

Legacy+UEFI模式与UEFI模式的区别

    1、Legacy+UEFI启动模式是基于某些电脑硬件设备和操作系统(如WinXP/7)还不支持基于UEFI BIOS的情况,考虑从传统BIOS引导模式启动。传统BIOS引导模式允许Hba,模块设备使用Rom选项。

    2、UEFI启动模式用于操作系统自动从预启动的操作环境,加载到一种操作系统上,从而使开机程序化繁为简,节省时间。并且支持2T以上硬盘,加强对硬件的支持

boot.iso为网络安装版,dvd1为完整安装版

linux刻录

dd bs=4M if=ubuntu-19.10-desktop-amd64.iso of=/dev/sdc status=progress
2463842304字节(2.5 GB)已复制, 587.050253 s, 4.2 MB/s
记录了587+1 的读入
记录了587+1 的写出
2463842304字节(2.5 GB)已复制,587.361 秒,4.2 MB/秒

bs代表字节为单位的块大小 if镜像文件 of输出设备 status=progress 显示进度

刻录centos8时无法启动,iso文件正常是阿里云下载的使用file命令查看包含MBR分区信息,最后发现问题是文件系统问题,用linux刻录linux系统时推荐是ext4文件系统,也可能只有centos8的镜像有这个问题,其它版本和系统没有验证

file CentOS-8.2.2004-x86_64-dvd1.iso

CentOS-8.2.2004-x86_64-dvd1.iso: DOS/MBR boot sector; partition 2 : ID=0xef, start-CHS (0x3ff,254,63), end-CHS (0x3ff,254,63), startsector 23800, 20380 sectors

在dd后,需要把优盘再次格式化为fat32文件系统,参考

出现isolinux.bin missing or corrupt错误

参考

linux下制作u盘启动盘

是因为磁盘目录 of=/dev/sdc 末尾有数字需要去掉

Device     Boot Start       End   Sectors  Size Id Type
/dev/sdd4  *      256 125033618 125033363 59.6G  c W95 FAT32 (LBA)

fdisk -l 显示的磁盘末尾有4 刻录时选择输出路径则为 of=/dev/sdd

windows使用软碟通刻录

启动时汇报启动脚本超时无法发现/dev/root,原因是软碟通会把U盘的标签就是驱动器名称会截断比如centos-8-2-2004-x86_64 截断成centos8-2与启动项的不一致,解决方法百度有很多。个人推荐刻录windows启动盘就用windows支持的文件系统使用windows系统刻录,同理linux就用linux支持的文件系统使用dd刻录

Ubuntu 安装 Mysql-workbench 错误

mysql-workbench
Workbench can't find libproj.so, some options may be unavailable.
/usr/bin/mysql-workbench-bin: symbol lookup error: /usr/lib/mysql-workbench/libwbprivate.so.8.0.16: undefined symbol: 
_ZN7pcrecpp2RE4InitEPKcPKNS_10RE_OptionsE

ubuntu 安装mysql-workbench-comminuty 启动之后报上述错误,

原因是gtk绘图失败,安装所有有关gdk的更新(同理可安装gtk

sudo apt install gtk*

安装之后没有效果,还是失败,最后重装解决。

18.04及后续版本没有出现此问题