企业级小程序全栈开发笔记
参考 & 分析
为了稳定性,选择了vue2作为本项目的前端框架。
参考:
掘金-逐步前行:分析小程序的设计方案,优劣势,以及如何技术选型
掘金-kiki_:小程序技术选型
微信开放社区-编程小石头:企业微信小程序的注册图文详解
DCLOUD社区-DCloud_UNI_CHB:跨端框架深度评测:微信原生、wepy、mpvue、uni-app、taro、chameleon
博客园-不是于彬:React与Vue的对比
微信官方文档:小程序框架 /视图层 /WXSS
小程序数据交互设计
渲染层:单线程,使用WebView 进行渲染,但一个小程序存在多个页面,可能始终是单线程的,只是切换页面时一个线程暂停一个线程继续
逻辑层:单线程,逻辑层采用JsCore线程运行JS脚本
其中WXML 模板和 WXSS 样式工作在渲染层,JS 脚本工作在逻辑层
渲染层和逻辑层之间的通讯更接近react native,或者是flutter的设计理念,此设计理念就是,逻辑层与展示层分开,通过中间JSBridge或者是其他存储技术,或者Native本身,完成两者的通信,形成一个逻辑与展 ...
Arch Linux "挖矿脚本kswapd0清除" 背后的秘密
关于本文
国内经常有Linux爱好者经常会认为,装Linux系统只要是内存足够大,直接就不需要Swap分区。作者在这几年Linux使用过程中也证实了这个说法的错误,Swap分区在个人日常使用Linux设备上必须要有Swap,甚至必不可少!!
网上经常会有网友在讨论Swap对于现代Linux设备有没有用之类的话题,或者Swap分区到底要分区多大,在网上完炒的非常激烈。
参考:
Ask Ubuntu:kswapd0 is taking a lot of cpu
Arch Linux-Wiki:Swap
Swap分区作者建议桌个人面版系统的大小就是实际内存大小的2倍!但还有个国外的文章说Swap大小 = 实际内存 + √实际内存,试了一下,果然不幸!不幸的是休眠直接就恢复不了,估计这篇文章可能是要求服务器Swap分区大小计算方式吧,文章找不到了就不追究了…
不然会出现类似情形:
以上的情况出现在开发一公司项目时候,由于公司业务代码前后端均使用的微服务,且所有的服务启动起来至少需要16G内存,但我的Linux笔记本正好适合,刚开始就排除了内存不足,一致认为Linux是不是中了某种 ...
Arch Linux 系统 WiFi硬件驱动修复折腾笔记
关于本文
此文为了解决我的无线网卡Intel(R) Dual Band Wireless AC 7265, REV=0x210的问题,WiFi经常断网,只要一出现断网就必须进行好几次的重启才可以让我的Arch Linux系统正常加载7265D网卡驱动。自从换了个笔记本这问题已经困扰我半年了,此问题差点导致我从一个Linux爱好者变为果粉(过分),没办法MacOS实在是太方便了,但是7月份我已经从大学毕业,进入工作岗位,那时在Mac上为了搭建Java项目的环境,只为做一个Mysql两个版本的兼容,折腾的还是回到了Arch Linux,不过无线网卡问题依旧,虽然已经解决我的多MySql兼容(使用Docker),这使我更加坚信作为一个Linux爱好者能为生产带来更高的效率以及便利。当然,可能有人不同意这个说法,但如果你使用Linux足够熟练,确实会发现在Linux环境下做开发比MacOS更适合!!
切换到Linux上来又有一个新的问题,那就是之前使用Arch Linux其实也永不到超过16G的运行内存,当时换内存的时候直接就删除了Swap分区(听网上说内存大就没必要使用Swap,等 ...
Java 微服务
发展&专业名词
Dubbo 起源于SOA时代的产物,高性能轻量级RPC(远程过程调用)开源框架,底层使用的是Netty(NIO框架),基于TCP协议传输、Hessian序列化方式完成RPC通讯,关注点在于服务的远程调用、流量分发、服务治理、流量控制,等…
Spring Cloud 诞生于微服务时代,基于HTTP协议+Rest风格的一个接口去实现远程通讯,虽然HTTP请求会有更大的报文(占用的贷款更高),效率上比Dubbo更低,但是Rest比RPC更加灵活,服务提供方和服务调用方只需要根据HTTP契约完成通讯即可。关注点微服务生态的解决方案,Spring Cloud依靠于Srping 和Spring Boot。
参考:
百度百科:Dubbo
百度百科 (Video):谈谈你对Dubbo的理解?你是普通人还是高手?
凤凰架构:远程服务调用
远程过程调用 RPC
额外知识:首次提出远程服务调用的定义
Remote procedure call is the synchronous language-level transfer of control between programs ...
NodeJS&前端工程化
概述
简单的说 Node.js 就是运行在服务端的 JavaScript。
前端工程化是指在前端开发过程中,通过使用一系列的工具、流程和方法来提高开发效率、代码质量和团队协作的过程。它的目标是让前端开发变得更加可控、可维护、可扩展,并且能够更好地适应团队的协作和项目的变化。
参考:
掘金-代码与野兽:前端工资涨不上去?可能是你没掌握构建工具:关于 Webpack、Babel、esbuild、Vite、Rollup、Parcel、SWC……的那些事
知乎-全沾GIS攻城狮:什么是webpack?
简书-长城_changcheng:npm常用命令
前端工程化涵盖了许多方面,包括但不限于以下内容:
代码规范和风格指南: 制定统一的代码规范和风格指南,以确保团队成员编写的代码风格一致,从而提高代码的可读性和可维护性。
版本管理: 使用版本控制系统(如Git)来跟踪和管理代码的变更,方便团队协作,同时也能够轻松地回溯历史版本。
构建工具: 使用构建工具(如Webpack、Parcel、Rollup等)来自动化构建过程,包括代码压缩、打包、资源优化等,以减少手动操作,提高开发效率。
模块 ...
SpringBoot Swagger3
Java Spring介绍
Swagger 是一套基于 OpenAPI 规范(OpenAPI Specification,OAS)构建的开源工具,后来成为了 Open API 标准的主要定义者,现在最新的版本为17年发布的 Swagger3(Open Api3)。 国内绝大部分人还在用过时的swagger2(17年停止维护并更名为swagger3) 对于 Rest API 来说很重要的一部分内容就是文档,Swagger 为我们提供了一套通过代码和注解自动生成文档的方法,这一点对于保证API 文档的及时性将有很大的帮助。
OpenAPI = Specification
Swagger = Tools for implementing the specification
What is Swagger?
Swagger is a set of open-source tools that help you to describe REST-based APIs. This gives you the luxury to automatically build bea ...
微服务
简介
维基上对其定义为:一种软件开发技术- 面向服务的体系结构(SOA)架构样式的一种变体,它提倡将单一应用程序划分成一组小的服务,服务之间互相协调、互相配合,为用户提供最终价值。每个服务运行在其独立的进程中,服务与服务间采用轻量级的通信机制互相沟通(通常是基于HTTP的RESTful API)。每个服务都围绕着具体业务进行构建,并且能够独立地部署到生产环境、类生产环境等。另外,应尽量避免统一的、集中式的服务管理机制,对具体的一个服务而言,应根据上下文,选择合适的语言、工具对其进行构建。
参考:
百度百科:微服务
理论知识
现阶段首先提及到微服务一定离不开虚拟化,现阶段的微服务实现基本上都是基于虚拟化和容器进行开展的。
参考:
LXC and LXD: Explaining Linux Containers
知乎:IaaS、PaaS、SaaS的区别
腾讯云:四种正确的微服务部署方式
了解LXC&LXD和Docker&CoreOS
除了以上的对比,重要的还有:
This means you should consider the type of deployment ...
Typora
Typora图片插入技巧
铸鼎用来写MarkDown文本的神器,之前经常使用VSCode,最后使用Typora写笔记更加方便,作为程序猿,使用MarkDown写笔记还是很方便的,加上Typora写起笔记更是如虎添翼的感觉,推荐大家使用。
静态博客
铸鼎使用的是Hexo博客,使用Typora书写MarkDown,Hexo生成静态网页,访问网页链接才可以进行访问,但是有一点使用起来非常麻烦,那就是当你需要插入一张图片,就会发现Hexo生成的网页不能显示图片,或者你会聪明的将这张图片的路径修改为Hexo网站可以进行访问的路径,但你也会发现Typora中的图片不能正常显示。
今天突然想到Typora既然被称为神器也不是没有道理的,于是就翻阅文档发现,可以进行相应的设置使得静态博客和Typora编辑器同时显示图片的方式。
参考:
Typora 官方文档:When insert images…
配置一下Typora
Typora > 偏好设置 > 图像
Hexo填入路径:./../images/${filename},建议4个选项都打钩。
格式 > ...
Docker
简介
安装
参考:
Docker CE是什么
菜鸟教程:Docker安装
Doker官网:Install Docker Engine on CentOS
Docker仓库进行安装CentOS
建议的安装方式直接去阿里云开发者社区中找到Docker相应的镜像网页,里面的安装方式还是很官方的。
2023-6-7:对比官方、ChatGPT提供安装方式,搜索各个包的作用后,总结以下安装流程。
参考:
阿里云-开发者社区:Docker CE 镜像
必备工具安装
12# 安装必要的一些系统工具sudo yum install -y yum-utils device-mapper-persistent-data lvm2
device-mapper-persistent-data:这个软件包提供了 Device Mapper 的持久数据存储库。Device Mapper 是 Linux 内核的一个框架,用于实现基于块设备的存储虚拟化。在 Docker 中,Device Mapper 可以用作存储驱动程序,用于管理 Docker 容器的文件系统。device-mapper-persisten ...