SonarQube的优点
- 拥有丰富的指标集,全面掌握代码的可维护性,安全性,漏洞,复杂度等。
- 可以集成各种代码分析器,如
Eslint
等。 - 可以分析全量代码,与新增代码。
- 内置强大、灵活的质量阈,可为
Code Review
提供参数依据。 - 内置各种看板,可从各种维度分析代码。
- 内嵌代码查看器。
Eslint
等。Code Review
提供参数依据。onresize
事件使用window.on('resize', () => {})
可以监听因为窗口变化,而发生的变化回调,但是对于Dom的的尺寸变化,却无法响应。
ResizeObserver
尺寸变化ResizeObserver 接口监视 Element 内容盒或边框盒或者 SVGElement 边界尺寸的变化。
const observer = new ResizeObserver(entries => {
for (const entry of entries) {
console.log('handling box size changing')
}
});
observer.observe(window.document.querySelector('dom'));
observer.disconnect();
来之知乎的一个回答
作者:昌维 链接:https://www.zhihu.com/question/594662421/answer/3259377731 来源:知乎 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
app端:react native with expo + typescriptweb端:react.js + typescriptapi端:trpc 导出类型给app和web用,或者nest.js + 手动编写类型声明然后复制到app和web端用(也可以单独抽出一个名为datasource的monorepo,这样三个项目都可以共用这一个类型声明,这也是很多大厂以及我目前在用的方式)以上三个项目全部放在同一个git repo下做monorepo(用pnpm的workspace即可)这是目前性价比最高并且社区支持最完善的方案,之所以说性价比高是因为只需要学习react和nest.js这两个框架即可。稳定性好指的是typescript可以保证类型安全确保多个项目之间对接API不会有问题。社区支持完善就不用说了,react.js和nest.js都是node.js技术栈中在前后端领域各自都最火的框架,这也是很多大厂在用的相关框架(不信你可以去npm官网查一下这几个库的star,更新频率以及每周下载量等数据,还有react.js和nest.js的生态环境,google在medium和stackoverflow等网站查一下这些框架的名称调研一下使用情况,然后再去招聘网站评估一下给这些技术栈找接盘侠的难度,和其他那几个回答提到的什么flutter,uniapp,weex,fastapi,rails之类的和他们相比根本就不是一个等级,flutter目前除了闲鱼好像基本没有大厂在用,rn的话有airbnb,ctrip携程,wix以及expo官方在支持,minor version也在持续升级追随react的升级脚步,最近几个版本把js引擎也升级到了facebook的hermes,性能又更上一个台阶(react native性能问题已经是老黄历了,2023年末我拿个8年前的高通800系的手机都能跑最新版rn开发的app)你选个flutter就不说学习dart的成本了,招人也困难,单独招flutter很难找,但是招个写react前端的人转rn是很快的,uniapp这种国产框架不予置评,自己百度一下看看就知道多少坑,其他什么乱七八糟的框架的社区支持都不如rn和nest,最直观的就是看招聘jd,教程文章数量,stackoverflow的提问解答率就知道了)我目前已经有多个生产环境项目在用这套架构,配合 github actions做CI,sentry做监控,react native编译直接用expo的eas云端编译服务甚至可以做到本地不需要搭建安卓和ios开发环境,只需要装一个expo app即可真机开发并且自带热更新这套方案我已经使用有三年之久没有出现任何严重问题,无论是公司项目还是学校项目还是自己外包接单的项目用这套方案都非常顺手,找人接手和培训也很方便,基本上只要会写js和ts即可,这两个语言的上手难度和环境搭建难度也不是很高,node环境可以直接用nvm安装,多版本切换很方便,某个版本搞坏了也可以用nvm卸载后再重装,不污染系统也无需设置环境变量。至于npm registry,即使在国内,也有淘宝cnpm提供完整的第三方依赖包镜像支持。
从未尝试过monorepo的单独抽离出类型文件,可以尝试。这是一个好点子。
中国税收值改革从1985年开始进行包干制,到1994年分税制改革,以及后续的经济改革,都是中央财政与地方财政的冲突与博弈。80年代,提高资源利用率,还是由计划经济转为市场经济。税收模式也包干制。在包干制下,地方政府与中央政府,每年进行一次谈判,约定一个门槛,低于门槛,互相分成,而高于门槛则收益全部由地方政府拿走。
在此期间,我国创建了大量的乡镇企业,地方政府也积极收税。但问题是,地方政府税收比例越来越高,而中央政府的税收占比越来越少。中央政府需要钱进行统筹发展,如国防,退伍军人安置,抗震减灾等。因此有了分税制改革。
分税制改革下,中央财政了占比由20%直接上升到了55%。中央有钱,再通过转移支付的方式补贴地方。这种方式由带来了2个问题。
地方政府的首要任务往往是发展经济,因此地方更愿意将优先的资源倾斜至招商引资,因此人文的投入就相对减少,如教育,医疗,环境等。因此也就有了后面的科学发展观。
问题一:土地财政
94年分税制改革后,土地财政的收入其实并不多。后来企业改革,取消企业福利房,房地产行业开始发展,地方通过卖地,契税,等等获得卖地+税收上的收入。
94年后,到现在,其实工业用地很少涨幅,涨幅最大的是商业工地,与住房用地。
但土地财政是一个寅吃卯粮问题——这里后面结束。一个政策功在当下,利能否长达千秋,关县长什么事。
地方上通过卖地,甚至有许多违规卖地,吸引人口,再通过开发,提高土地售价,其实这一进一出,基本上是平衡的,甚至有时还入不敷出。钱不是从这里赚的,但能带动其他产业链,提高经济流通性,增加税收。
问题二:上下级,地区级失衡
分税制 改革后,中央政府通过再支付手段给地方政府拨款,往往层层递减,从省,市,县,乡,基层单位往往吃的最少,但又是具体命令的执行者。因此压力一直很大。
为了缓解基层压力,中央有进行改革,如免除农稅(中国加入WTO后,GDP不断攀升,税收也在提高,相对的农税的比例也就降低了),教育部拨款免除学杂费,新型农村养老保险,农村医疗保险等。
此外也有地区间的失衡,如最GDP强省广东,浙江,福建,与最弱省广西,甘肃,他们之间的人均财政支出其实是差不多的。这就需要再支付手段保证西北地区省份的财政支出。
回头来看,分税制改革无疑是成功的,中央政府不能没钱。这期间也有中国的机遇,有全球化背景,各国间趋向合作,加入WTO后,我国的人口优势也得到了发挥,经济增产速度迅猛,人民手里的钱确实变多了。但依然后很多显示问题需要中央政府考虑,资源分配不平衡,贫富差距,高房价,环境,产能过剩等。这也就有了后面的不断改革。
使用node编写脚本需要注意以下事项,文件开头声明
#!/usr/bin/env node
在package.json
中声明
{
"bin": {
"blog": "./src/index"
}
}
全局引用
npm link
当使用pnpm
时,
pnpm link --global
有两个常见的包,可以让编写脚本更加刚方便
commander
构建脚本框架
inquirer
问询式架构 如常见的各种脚手架的问询
在 vscode
中通过.vscode/extensions.json
文件,向用户推荐或者不推荐 安装某些插件
Linux 在桌面环境下,可以通过chrome启动参数的方式设置代理。
google-chrome-stable --proxy-server="socks5://ip:port"
在macos中使用定时任务需要注意一下事项:
设置/隐私与安全性/完全磁盘访问权限
中添加终端
,/usr/sbin/cron
。crontab -e
编辑,确保语法正确。cron
表达式第一位从分钟
开始。cron
服务状态为开启,可通过sudo launchctl list | grep "cron"
查看。