0%

最近在做项目组MDE关键角色认证评审的工作,记录下

模块设计工程师

MDE 是 Module Design Engineer 的缩写。

MDE 任职要求

  1. (需求处理)完成需求对齐,分解,输出概要设计(这个有些是SE出),详细设计
  2. (模块设计)考虑模块复用,梳理内部外部依赖,确定目录结构,数据流向,对代码安全,代码质量负责
  3. (持续优化)技术攻关,代码重构,废弃功能管理,历史需求整理,文档优化
  4. (知识分享)能总结提供开发文档,提供技术培训

总结

MDE 除了编码能力外,还需要良好的理解能力,沟通能力,以及协助他人的一个意愿。不再局限于完成自己的开发任务,需要对项目中的某个模块负责。

https://www.cnblogs.com/jiasm/p/9482443.html

https://jakearchibald.com/2015/tasks-microtasks-queues-and-schedules/

总结

  • 微任务,宏任务都是一个队列
  • 宏任务产生的宏任务,追加在宏任务队列尾部
  • 微任务产生的微任务,追加在微任务队列尾部
  • 微任务队列空了才会执行下一个宏任务,自己新产生的也会执行完
  • 不同浏览器也是有差异的,chrome跟W3C是一致的

中文文档

tailwindcss 是一个原子化的样式库,提供原子化的class,一个class只对应一条css属性

原子化的好处

  • 不用费脑子想类名了
  • css文件大小可控
  • css更安全不用担心样式冲突

原子化的缺点

html里面会有一堆类名,不过tailwindcss认为可以通过组件化来规避这个问题,所以也不是缺点

分层设计

样式共分为四层,使用 @layer可以将我们的代码放到不同的位置,用来调整样式的优先级

  1. base 主要定义全局样式,字体等
  2. components 定义class,比如按钮,卡片
  3. utilities 定义原子化的class
  4. screens 定义媒体查询的class

支持响应式设计

sm md lg xl 2xl 大部分基础样式提供响应式前缀

  • sm 640px 手机
  • md 768px 平板
  • lg 1024px 1080P显示器
  • xl 1280px 2K显示器
  • 2xl 1536px 4K 显示器
    例如 w-full md:w-full

alt

支持状态类前缀

hover focus 等,不是全部的

不够用

tailwindcss只提供了最常用的样式对应的class,如果这些还不够用的话,我们可以通过指令自定义

  • @layer 样式放的层级 @layer components{...}
  • @variants 定义状态前缀 @variants hover{...}
  • @screen 定义媒体查询 @screen sm{...}
  • @apply 现有的类打散组合 @apply w-full py-2 px-4
  • @reponsive 是@variants reponsive {...}的别名
  • screen() 与 @screen 类似 @media screen(sm){...}
  • theme() 或者主题参数 theme('colors.blue.500')

以上是css中的写法,tailwindcss也支持在配置文件中使用js的写法配置。具体就不赘述了。

背景

并发请求后台接口,处理时间过长,导致服务器超载挂掉,尤其是用户刷新页面操作,需要前端限制请求并发

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
let arr = [
{ url: 'xxx', data: {} },
{ url: 'xxx', data: {} },
{ url: 'xxx', data: {} },
{ url: 'xxx', data: {} },
{ url: 'xxx', data: {} },
{ url: 'xxx', data: {} },
{ url: 'xxx', data: {} }
]
async function SubmitMsg(datas, count) {
while (datas.length > 0) {
let urls = datas.splice(0, count)
let ret = await Promise.all(urls.map(getData))
console.log(ret);

}
}

function getData({ url, data }) {
return axios.post(url, data)
}

SubmitMsg(arr,2) //每次发送两个请求

node的最大使用内存是2G 超出会导致程序退出

下面设置的是4096M
setx NODE_OPTIONS --max_old_space_size=4096

JeecgBoot

http://www.jeecg.com/ 官网

http://boot.jeecg.com demo

JeecgBoot是一款基于BPM的低代码平台!前后端分离架构 SpringBoot 2.x,SpringCloud,Ant Design&Vue,Mybatis-plus,Shiro,JWT,支持微服务。强大的代码生成器让前后端代码一键生成,实现低代码开发! JeecgBoot引领新低代码开发模式 OnlineCoding-> 代码生成器-> 手工MERGE, 帮助Java项目解决70%的重复工作,让开发更多关注业务,既能快速提高效率,节省研发成本,同时又不失灵活性!一系列低代码能力:Online表单、Online报表、Online图表、表单设计、流程设计、报表设计、大屏设计 等等…

里面的积木报表还是很方便的

KodExplorer 可道云

看着就是个跳板机,说是企业网盘,我记得那个vscode彩虹屁插件的资源界面有点像啊

wordart 词云在线生成

https://wordart.com 无广告 支持图片轮廓 随机颜色 自定义字体

好文推荐

集成化的渗透测试工具
Burp Suite 实战指南

抓包功能也是吊打fiddler,真心好用

Burp Suite 配合 AWVS web网络漏洞扫描工具使用

DFNRecorder用来模拟登录的,类似于webDriver 是IBM Security APPScan Standard的一部分