Java程序员要掌握的前端
前言
Java 程序员一提起前端知识,心情那是五味杂陈,百感交集。
说不学它吧,说不定进公司以后,就会被抓壮丁去时不时写点前端代码
说学它吧,HTML、CSS、JavaScript 哪个不得下大功夫才能精通?
学一点够不够用呢?如果只学基础的 JavaScript 是不够用的,前端都已经工程化了,Vue、React 这些框架你去看吧,光有点基础根本看不懂,甚至连前端页面路径在哪儿配置,如何跳转都不甚了解,所以得学,而且要学的还不少,请把前端当作 web 不可或缺的一部分来学习。
学习前端好处挺多,我听说过这么一句挺有道理的话:一个程序员至少应该掌握一门静态语言,如 Java,还应该掌握一门动态语言,如 JavaScript。而且,你不觉得学了前端,就如打通了程序员的任督二脉,可以独立接活了嘛
这门课为什么不由前端老师来讲?
前端老师不知道后端学员的痛点,他认为重要的咱不关心,他认为是常识一带而过的又恰恰是咱迷茫的地方,作为后端老师,我更懂后端学员
前端老师不懂后端知识,只能用前端思维来讲前端,如果授课老师懂 Java,能用一些现有知识对比讲解,能起到快速突破的效果
前端每个框架动 ...
git工作流规范
前言
本文档适用于需要持续发布的网站项目(后端、前端),稍加修改可以适用于需要同时存在不同版本的项目(框架、组件、app等)。
该工作流程基于 git flow 分支策略,该策略的优点是分支清晰,能够应付开发流程中的许多情况,缺点是分支较多,开发过程中会经常需要进行合并操作,于是在基于该策略的基础上做适当的简化,并考虑并行迭代的情况,综合制定了该工作流程。
本文档共包含分支策略、工作流程、分支使用规范、代码提交规范四个部分,分支策略主要是对 git flow 的介绍,工作流程部分则描述在具体开发过程中该如何实施,分支使用规范详细描述每种分支的用法,最后的代码提交规范是成功推进代码审查的关键因素。
1、术语说明
持续集成/CI:使用该术语一般指 feature 分支的代码频繁集成到 develop 分支,并由CI自动构建到测试环境,feature 集成到 develop 一天内最少一次。
持续集成环境:根据特定分支配置的自动构建、运行测试和部署测试程序的环境。
预发布环境:接近生产的环境,而非测试环境。
一、分支策略1、分支策略主要分支策略基于 git flow,但基于复杂 ...
部署trilium web云服务
使用云服务器部署trilium web并利用rclone将数据同步到onedrive
部署trilium因为我使用的是中文版,所以我并没有使用官方版GitHub - zadam/trilium: Build your personal knowledge base with Trilium Notes
而是使用了 GitHub - Nriver/trilium-translation: Translation for Trilium Notes. Trilium Notes 中文适配, 体验优化
docker启动docker-compose.yml
version: '3'
services:
trilium-cn:
image: nriver/trilium-cn
restart: always
ports:
- "8080:8080"
volumes:
# 把同文件夹下的 trilium-data 目录映射到容器内
- ./trilium-data:/root/trilium-dat ...
docker相关知识
docker容器相关命令docker run -p 80:80 -p 443:443 --name nginx -v /var/lizy/nginx:/etc/nginx/ -d --restart=always nginx
-p 端口映射
–name 容器名字
-v 本地挂载目录
-d 后台执行
–restart = awlways docker启动容器重启
docker network ls #列出容器网络
docker network rm name #删除容器网络
docker inspect NAMES # 查看容器所有状态信息
docker inspect --format='{{.NetworkSettings.IPAddress}}' # 查看 容器ip 地址
docker inspect --format '{{.Name}} {{.State.Running}}' # 容器运行状态
防火墙systemctl start ...
记录一次磁盘不足的问题
docker日志占用过大问题df -h 查看存储空间使用情况,发现 /data 目录空间已满
docker清理不出多余的空间了
查看docker目录下占用情况
分别查看overlay2和containers目录下占用情况
overlay2:
docker ps -q | xargs docker inspect --format '{{.State.Pid}}, {{.Id}}, {{.Name}}, {{.GraphDriver.Data.WorkDir}}' | grep "357860f908577317c242ff3ff7005744dd7bd22e4504a2716780ec3db07f462a"
发现nacos和mysql占用比较大的存储空间(nacos不是很理解为什么这么大)
Containers:
[root@localhost containers]# ...
云服务器如何挂载磁盘
我这边有台云服务器,属于华为云,由于当时购买服务器的时候,忘了买数据盘,所以数据都放在了系统盘,但是随着服务的增多,以及每个服务产生的数据的增多,系统盘已经快撑爆了。所以最近购买了数据盘,但是问题来了,数据盘买了,如何使用呢?如何分区?如何挂载目录?本文瑞哥将用亲身实战经历带大家见识一下,如果在看的小伙伴最近有这块的业务和需求可以好好看下,有任何问题可以在文章末尾的讨论区与我讨论,让我们直接开始。
查询数据盘fdisk -l
输出:
Disk /dev/sda: 80 GiB, 85899345920 bytes, 167772160 sectors
Disk model: VBS fileIO
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type ...
服务器监控系统
Prometheus ServerPrometheus服务的主服务器,收集监控信息
docker run -d -p 9090:9090 --name prometheus --net=host prom/prometheus
#先基于prom/prometheus镜像随便运行一个容器,我们需要将其主配置文件复制一份进行更改
docker cp prometheus:/etc/prometheus/prometheus.yml ./
#复制prometheus容器中的主配置文件到宿主机本地
docker rm -f prometheus
vim prometheus.yml
#找到如下行并修改
- targets: ['localhost:9090','localhost:8080','localhost:9100','192.168.171.150:9100','192.168.171.150:8080','192.168.171.152:9100','192.168.171.152:8080']
#上述内容看似杂乱无章,其实无非就是指定了本机的9090、8080、910 ...
hello-html2md部署
hello-html2md部署简介hello-hmtl2md是一个将html转为md文件的工具
github地址:GitHub - helloworld-Co/html2md: helloworld 开发者社区开源的一个轻量级,强大的 html 一键转 md 工具,支持多平台文章一键转换,并保存下载到本地。
官网地址:helloworld - 同一个世界,同一行代码
部署过程1.安装node版本为12.18.2
node地址:Node.js (nodejs.org)
npm设置为淘宝源:
npm config set registry https://registry.npm.taobao.org
npm config get registry //查看是否设置成功
2. git克隆git clone https://github.com/helloworld-Co/html2md.git
3. 安装运行npm权限错误:
npm install --unsafe-perm=true --allow-root
npm install
npm run dev
之后便可在 ...
docker容器部署Prometheus服务——云平台监控利器
Prometheus是一个系统和服务监视系统。它以给定的时间间隔从已配置的目标收集指标,评估规则表达式,显示结果,并在发现某些情况为真时触发警报。
与其他监视系统相比,Prometheus的主要区别特征是:
一个多维数据模型(时间序列由指标名称定义和设置键/值尺寸)
一个灵活的查询语言来利用这一维度
不依赖于分布式存储;单服务器节点是自治的
时间序列收集通过HTTP 上的拉模型进行
通过中间网关支持推送时间序列
通过服务发现或静态配置发现目标
多种图形和仪表板支持模式
支持分层和水平联合
其官方给出的架构示意图:
部署该服务,包括四个组件:Prometheus Server、Node Exporter、cAdvrisor、Grafana。
各个组件的作用如下:
Prometheus Server:Prometheus服务的主服务器 ;
Node Exporter:收集Host硬件和操作系统的信息;
cAdvrisor:负责收集Host上运行的容器信息;
Grafana:用来展示Prometheus监控操作界面(给我们提供一个友好的web界面)
以上四个组件的所 ...
qemu半虚拟化技术
基本原理:用qemu-user半虚拟化技术与Docker技术融合。实验环境:Ubuntu16.04 (Ubuntu14.04亲测可用) docker version 1.13.0首先,安装qemu-user安装包,并更新qemu-arm的状态:
apt-get update && apt-get install -y --no-install-recommends qemu-user-static binfmt-support
update-binfmts --enable qemu-arm
update-binfmts --display qemu-arm
sudo chmod a+x /usr/bin/qemu-*
查看qemu-arm的版本:
qemu-arm-static -version
然后下载arm架构的容器:
docker pull ioft/armhf-ubuntu:trusty
(docker hub上有各类其他版本,也可以下载使用)
docker run -itd --privileged -v /usr/bin/qemu-arm-static ...










