【山竹记账】项目介绍
大纲链接 §
[toc]
如何做技术选型 ⇧
要好招聘
- 提高程序员的可替代性(真相令人悲伤)
要好用
- 自己公司用过或认识的人用过,反馈不错
要有长期维护者
- 付费维护者 > 免费维护者 > 兼职维护者 > KPI 维护者
- github star 上万
- 大公司背景
无政治利益冲突,无商业风险
- nginx 俄
是否要考虑「用得人多不多」
- 只要满足一定规模即可,不一定要很多人用
是否要考虑「有大公司背景」
- YUl、Silverlight、Flash、AngularJS1 已停止维护
- 所以大公司背景并不能保证什么,尽量参考林迪效应
项目架构 ⇧
需求、架构、编程语言、核心技术概念
核心需求 Vue3 + TSX ⇧
- 记账
- 云同步
- 可视图标
- 非商业项目,轻业务,重技术
架构 ⇧
Nginx分发请求- 静态文件
/index.html、style-xxx.css、main-xxx.js - api请求
api/v1/resources - 单页面App 重定向路由
/tags、records/new到index.html
- 静态文件
- 前端页面
- 通过 router 路径展示对应视图 views
- pinia 做状态管理
- views -> components -> hooks -> axios -> ajax
- 请求后端 JWT、View(JSON) 数据
Vite打包构建开发
- 后端
Ruby/GoControllerModel<-PostgreSqlView(JSON)
- 使用 docker 镜像
项目用到的编程语言 ⇧
RubyTypeScriptJavaScript(ES6+)
记笔记,做项目
Ruby 简易教程 ⇧
Ruby的类 ⇧
|
|
- 类 实例化
- 函数(方法) 可不加括号调用,参数不一致会报错,多参数间用逗号
- 函数最后一行不需要写
return,不强制自动默认隐式返回 if分支时需要写
- 函数最后一行不需要写
- 插入字符串用 双引号
Ruby的数组 ⇧
|
|
select语句有返回值,可以直接赋值,相当于js的filterdo |n|...end代码块(相当于函数体)- 可以简写为
{ |n| ... } - 简写当前作用域参数
|n| n.even?->&:even?用&表示当前,类似SASS语法
- 可以简写为
Javascript 简易教程 ⇧
声明变量 ⇧
- 99%只用
const - 尽量不用
let - 绝对不用
var
函数 ⇧
单行函数
|
|
多行函数
|
|
- 逗号表达式
;(a, b) => (console.log('add'), a + b)- 第一句会执行
console.log('add') - 最后一句会返回
a + b
- 第一句会执行
高阶函数
|
|
扩展操作符
|
|
Typescript 简易教程 ⇧
声明类型
|
|
- 简单类型别名不可写
& - 联合类型
string | number
声明类型 II
|
|
|
|
|
|
只用来声明对象的
interface
|
|
- 可以描述 对象 和 函数 等复杂类型
- 可以继承
泛型
|
|
前端选择 Vue3 + TSX ⇧
优点
- 语法像
React体验更好,灵活
缺点
- 无法使用vue模板的性能优化,包括
- 静态提升、修补标记、树结构打平、加速SSR激活
前端依赖包管理器技巧 ⇧
- 锁死版本号
npm config set save-prefix=''
- 先打包
pnpm build生成dist后 - 再运行
pnpm serve
保险使用pnpm
|
|
docker 速学 ⇧
docker network create network138eda56ac8822aaf9fa4d1331301376acb31d8e7e0d04631e4e00c255428d4cb
排期 ⇧
- 基于历史经验排期
- 精细
- 留好 buffer
部分软件 ⇧
统计代码 分类行数
cloctokei
·完待续·
参考文章
- 无
相关文章
- 作者: Joel
- 文章链接:
- 版权声明
- 非自由转载-非商用-非衍生-保持署名