无星的党员学习笔记(一)——为什么西方列强要侵略中国
最近在读党史,记录一些随笔。 中国的近代史,自鸦片战争始。那么到底为什么,鸦片战争会爆发,列强为什么会侵略中国。书中给了我一些启发。 中国曾经是一个历史悠久的东方大国,但是在近代,却落伍了。西方国家率先爆发了资产阶级革命,并相继完成了工业革命,在新的生产方式下,资产阶级经过血与火的原始积累与殖民掠夺,开始了它的发展。”在它不到一百年的统治中所创造的生产力,比过去的一些世代所创造的生产力还要强大。”————《共产党宣言》。无论是对自然的征服,对机器的采用,对化学的应用等,这个时代的资产阶级,都走在了时代的前列。 那么具有如此之高生产力的资产阶级,为什么还会向外殖民侵略呢?其实列宁的《俄国资本主义的发展》早就揭示了:“资本主义如果不经常扩大其统治范围,如果不开发新的地方并把非资本主义的古老国家,卷入世界经济的漩涡,他就不能存在与发展。” 当然,这是结果,那我们要想想为什么列宁会总结出这样一句话。其实很简单,因为生成力高,制作商品成品非常快,作为资本家,产品积压的也就越多,但是市场就那么多,如果没有足够的市场来消化这些商品,那么资本家的钱就会囤积在商品上,无法得到资金的回流和扩大再生产...
无星的前端之旅(二十六)——css乱七八糟的单位
背景因为要适配的设备有点多,经常性出现适配问题,单位又多的一批,烦死了 所以我决定从头来看,这些单位到底代表什么,和分辨率, 到底是个什么关系 我先放个移动端的iphone 设备表在这,再来分析 手机设备型号 屏幕尺寸 分辨率点数 设备像素比(DPR) 分辨率像素 屏幕比例 iPhone SE 4.0英寸 320x568 @2x 640x1136 16:9 iPhone 6/6s/7/8/SE 2 4.7英寸 375x667 @2x 750x1334 16:9 iPhone 6p/7p/8p 5.5英寸 414x736 @3x 1242x2208 16:9 iPhone XR/11 6.1英寸 414x896 @2x 828x1792 19.5:9 iPhone X/XS/11 Pro 5.8英寸 375x812 @3x 1125x2436 19.5:9 iPhone XS Max/11 Pro Max 6.5英寸 414x896 @3x 1242x...
无星的命令行与环境总结(二)-新mac如何安装开发环境(web,iOS,Android,flutter,react-native,java,go)
我看谁还不会装环境! 背景最近新来的同事有点多,为了统一大家的开发环境和工具 专门写了环境安装文档,以供使用 所有命令,均在iterm2中输入 Mac常用信息介绍有mac使用经验的用户可以跳过这一节 以前使用Windows的同学可以先看这一节 键盘Windows 上常用的ctrl键,在mac上使用command键代替(简称cmd键) 在部分外接键盘上,是win键 安装包下载可以从AppStore下载 也可以从网页下载 分盘mac上默认标准只有一个盘,不会有分盘的概念 Windows的我的电脑 mac上为finder(访达) 从网页下载安装包格式 dmg pkg zip 从网页下载的安装包会有这三种格式 dmg格式双击安装 以企业微信为例子 鼠标左键按住软件,拖到右边的文件夹中 pkg文件双击以后,无脑下一步即可 zip文件类似windows的绿色软件 解压缩以后,将得到的应用程序拖动到finder文件夹中,应用程序文件夹下即可 软件无法打开 遇到这种类型的弹窗,第一个选择好,第二个选择取消 添加finder默认可选件夹 常用软件安装除了各自常用的开发软件,比如...
无星的命令行与环境总结(一)-- 环境变量到底应该怎么配
背景可能很多同学,看到环境变量就头痛,不知道怎么配,也不知道改什么 一旦要配置环境变量,就是上网到处翻,乱复制,出错了也不知道怎么排查 所以我打算就我的知识范畴,总结一下我在工作过程中,常用的环境配置和命令 如有不对,大佬们在评论区轻喷 我是用的是Mac,以下介绍大部分依据Mac和Linux,Windows老哥仅供参考 SHELL环境介绍首先我们需要介绍一下SHELL环境 我们打开“终端”出现的黑框框里面的环境(也有的同学使用iterm2或者别的终端工具),管它叫SHELL环境 SHELL环境有很多种,比较常见的是bash和zsh bash和zsh在早期的Mac中,默认的shell环境为bash 现在的新款mac中,默认的shell环境为zsh 当然,如果有同学不知道自己当前是什么SHELL环境,可以使用以下命令查看 1echo $SHELL 而老款mac安装新系统用到现在,如果没有修改过zsh,也会提示你切换 所以在这里我们看到有命令提示,建议切换为zsh 切换命令 1chsh -s /bin/zsh 那么怎么查看本机有哪些SHELL呢 1cat /etc/she...
iOS重新开始
重新添加rootview12345678910111213141516// SceneDelegate.swift func scene(_ scene: UIScene, willConnectTo session: UISceneSession, options connectionOptions: UIScene.ConnectionOptions) { // Use this method to optionally configure and attach the UIWindow `window` to the provided UIWindowScene `scene`. // If using a storyboard, the `window` property will automatically be initialized and attached to the scene. // This delegate does not imply the connecting scene or sessio...
无星的前端之旅(二十四)——Vue的组件npm封装
背景很早就有这种需求,项目里封装好了组件,但是不知道怎么丢到npm库里 直接写vue文件丢到npm上,项目里好像也能直接用,但总觉的怪怪的 因为别人的库都是最后打包出来的js,不是vue文件 怎奈何一致不知道正规的的做法,webpack也不会用,babel也不懂,js也不精通,只能打打酱油, TODO:未完待续。。。
无星的前端之旅(二十三)—— 手把手教你配置git hook
背景要求对git的message做限制,要求要以 ['feat', 'fix', 'docs', 'style', 'refactor', 'perf', 'test', 'build', 'ci', 'revert', 'types']: 做开头标记 思路git存在hook,在每个步骤后面都会执行对应的🪝 因此我们可以考虑通过git hook去完成这项校验 实际上,在平时的开发过程中,就已经有于此相关的内容了,就是不知道同学们留意到没有 举个🌰比如在Vue项目中,如果在创建项目中,选择了eslint,并选择了保存并格式化 在进行git commit时,代码会自动做一次格式化。 究其原因,实际上是来自Vue的默认配置 那么Vue是怎么做的,实际上,翻开文档,我们能够找到相关内容 git-hook 实际上是尤🌧️溪 fork 了 husky,稍做改造形成了yorkie 但是我们可以看到,yorkie...
无星的前端之旅(二十五)—— css的一些用法
背景项目中总是遇到class取名难,样式到处定义,重复颜色到处写,代码切换烦得一批 一.dart-sass,node-sass使用dart-sass,废弃node-sass 二.Vue项目中色板的使用在全局css文件中,新建一个文件,放置各种scss变量 例如: src/styles/variables.scss 1$moedu-background-color: #F5F7FA; 配置vue.config.js,将整个变量文件注入 123456789101112//vue.config.jsmodule.exports = { // …………省略其他配置 css: { loaderOptions: { scss:{ additionalData: '@import "@/styles/variables.scss";' } } },} 在任意vue文件中,可直接使用$moedu-background-co...
我是怎么做git分支管理的
git分支管理模型挺多的,各种概念配图花里胡哨,对于初学者来说,看起来会比较累,可能理解不了。 我这里描述一下我个人是如何做分支管理的,有更好的方式或者建议欢迎评论区交流。 常驻分支保持三个常驻分支对应三个环境 master —— 生产 develop —— 开发 beta —— 测试 一般情况下,各个公司都会有着不同的几个环境用于各项研发工作 名称大同小异,我这里截取几个比较常见的环境名称,分别对应生产,测试,开发 各位有几个环境,一般可以对应几个常驻分支 保护分支master master为保护分支,禁止直接通过本地提交,需要经由有授权的开发人员通过公司使用的git平台合并 git平台挺多的,各位的公司肯定有相关的平台选择,github gitee gitlab gitea等等 建议,beta,develop分支也由平台发起合并操作,不要在本地进行合并提交操作。 这样合并的过程,一定是有授权人员知晓的 如果有codeReview过程,这个合并期间就能做了 分支约定命名 功能性迭代需求采用feature/开头。后面跟上对应的本项目版本号,不带v 场景用例: 比如某平台,我们...
无星的前端之旅(二十一)—— 表单封装
背景我们做的是后台类型的管理系统,因此相对应的表单就会很多。 相信做过类似项目的老哥懂得都懂。 因此我们希望能够通过一些相对简单的配置方式生成表单,不再需要写一大堆的组件。 尽量通过数据驱动。 思路不管是哪个平台,思路都是相通的。 1.基于UI框架封装react我们基于antd封装。 vue我们基于element封装。 这两个框架下的表单,几乎都满足了我们对表单的需要,只是需要写那么多标签代码,让人感到厌倦。 2.如何根据数据驱动想要简化标签,首先就需要约定数据格式,什么样类型的数据渲染什么样的标签。 那么我可以暂定,需要一个type,去做判断,渲染什么样的表单内容标签(是的,if判断,没有那么多花里胡哨,最朴实无华的代码就能满足我们的需求) 3.确定需要渲染的标签业务中其实常用的表单标签就如下几类: select checkbox radio input(包括各个类型的,password,textarea之类的) switch 等等,需要再加 4.类型需要传递下去需要把表单可能用到的属性传递下去。 实现因为我们在vue和react上都有,所以我会给出两个框架的封装代码。 V...









