在重复的每一天里看星星
星星点点的记忆
上海大雪虽然不知道地球什么时候毁灭,但是上海确实下大雪了,虽然很短暂
Your browser does not support the video tag.
(视频里大名鼎鼎的七宝万科,好像已经没了)
春节回家在洛河边拍出了一张朦朦胧胧的照片,非常喜欢
春节假期,在洛阳去了偃师的虎头山和首阳山,普通的散步道,简单愉快
照片在这里
从洛阳回上海坐飞机,到达上海的时候是夜晚
有幸看到了非常漂亮的俯瞰夜景
Your browser does not support the video tag.
露营的想法三月份是最有活力的时候,工作稳定,生活轻松。加上天气慢慢温暖,有了倾向户外的想法
春天的时候,去公园里和朋友一起坐着晒太阳,打打羽毛球。很舒服呢
团建在米哈游的团建,实际上就是出去吃饭。不论是正式员工还是 mi 岗员工,每个月都有 170 的团建报销额度。
所以团建单纯就是把这 170 给霍霍掉,总不能便宜了公司对吧
印象里项目组整体出去有两次,一次去吃了高丽菜,产品同事带领的。一次是项目管理带领的去玩(我没参加)
相比项目组整体,前 ...
实现页面水印效果
工作项目里实现过的需求,学习了相关代码总结出这篇文章
实现水印的思路从页面层次上来看,水印可以理解为覆盖在最高层的一层透明背景,虽然覆盖在最高层,但是不应该影响底层任何事件的触发
可以通过 canvas 绘制字符串的图片,然后转化为图片作为背景循环平铺到一个 div 里
这个 div 就是水印图
代码实现绘制水印图片1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859function setWatermark(str: string): HTMLDivElement | null { const id = "1.1351.1561.215515"; const lastEle = document.getElementById(id); if (lastEle !== null) { document.body.removeChild(lastEle); } ...
Git rebase和cherry-pick
认识 rebaserebase,正如字面意思,重新选择基点
比如下面这个图,这张图片里有两个分支 feature 和 master
起初,两个分支均为 commit A 为基点,feature 分支延伸出了 D 和 E 两个 commit,master分支延伸出了B和C两个 commit
如果执行了在master分支执行
12# at branch featuregit rebase master
则feature分支的基点会从A变成 master的最新 commit C。这就是 rebase
rebase 之后,不论是 feature 还是 master ,他们都在同一条提交线上
对比 rebase 和 merge还用上面的例子
有这样的一个提交例子
现在试一下不同的操作对提交树产生的影响
如果使用 rebase
为保证相同的顺序 (ABCDE),需要切换到 feature 分支,rebase master 分支
12# at branch featuregit rebase master
如果使用 merge
12# at branch mastergit merge f ...
实现简单的VDOM
VDom 的含义和实现原文地址原文是一篇讲得很明白的文章,本文基本上是照着写了一遍不但学到了 VDOM 相关的一些东西,原生 JS 的方法也熟悉了一遍,收获颇丰
一文说清「VirtualDOM」的含义与实现
如何理解 VDom前端常做的事情就是根据数据状态的更新,来更新页面视图。然而频繁的更新 DOM 会造成回流或者重绘,引发性能下降,页面卡顿因此我们需要方法避免频繁更新 DOM 树思路就是对比 DOM 差距,只更新需要更新的节点,而不是整棵树实现这个算法的基础,需要遍历 DOM 树的结点,来进行比较更新为了更快地处理,不使用 DOM 对象,而改用 JS 对象他就像是 JS 与 DOM 之间的一层缓存
如何表示 VDom借助 ES6 的 class,表示 VDom 的语义化更强。一个基础的 VDom 需要有标签名,标签属性以及子节点
1234567class Element { constructor(tagName, props, children) { this.tagName = tagName; this.props = props; ...
MySQL学习:增删改查
插入记录的基本语法第一种语法123INSERT INTO 表 VALUES(值1, 值2, 值3);-- 示例INSERT INTO USER VALUES(2, 'homu', 'homuhomu');
用这种方法插入数据,表中有多少个字段就必须输入多少个值不能多也不能少…若有默认值,不想上传也可以输入 null
第二种语法123INSERT INTO 表(字段1, 字段2, 字段3, ...字段n) VALUES(值1, 值2, 值3, ...值n);-- 示例INSERT INTO users(id, username, password, age) VALUES(3, 'akemi', 'homuhomu', 12);
除非有必填字段需要写入值之外,如果有默认值的不想写可以不写,mysql 会自动补全默认值相比第一种语法,这种更为常用
插入多条记录1INSERT INTO user(username, password) values('homu', 'homuho ...
MySQL学习:索引
索引的优点索引用于快速找出某个列中有特定值的一行不适用索引,Mysql 必须从第一条记录开始,读完整个表直到找出相关的行。表越大,花费时间越多。如果表中查询的列有一个索引,Mysql 能快速到达一个位置去搜寻到数据文件的中间,没有必要读取所有的数据
但是索引也不宜过多,索引越多,写入和修改的速度就越慢。写入修改数据时,索引也会修改
Mysql 索引类型
索引类型
功能说明
普通索引
最基本的索引,没有任何限制
唯一索引
某一行启用了唯一索引,则不允许这一列行数据中有重复的值,针对这一列的每一行数据都要求是唯一的
主键索引
这是一种特殊索引,不允许有空值,一般在建表的时候同时创建主键索引,常用于用户 ID
全文索引
对于需要全局搜索的数据,进行全文索引
普通索引为表的某字段添加索引
1234alter table 表 add index(字段);-- 示例alter table users add index(username);-- 给users表中的username字段添加索引
唯一索引1alter table 表 add unique(字段);
全 ...
MySQL学习:数据类型
MySQL 中存的是数据。只要是数据,我们就会规定数据的类型。在表的字段中规定了使用的是某个数据类型。那么,在插入的数据中就要使用对应的数据类型。并且,遵守数据类型的长度要求。
所有数据类型
数值类型
整型
浮点型
字符串类型
日期时间类型
复合类型
空间类型(用的不多)
整型
MySQL 数据类型
所占字节
值范围
tinyint
1 字节
-127~128
smallint
2 字节
-32768~32767
mediumint
3 字节
-8388608~8388607
int
4 字节
-2147483648~2147483647
bigint
5 字节
+-9.22*10 的 18 次方
整型长度不同,在实际使用过程也不同
MySQL 以一个可选的显示宽度指示器的形式对 SQL 标准进行扩展,这样当从数据库检索一个值时,可以把这个值加长到指定的长度。例如,指定一个字段的类型为 INT(6),就可以保证所包含数字少于 6 个的值从数据库中检索出来时能够自动地用空格填充。需要注意的是,使用一个宽度指示器不会影响字段的大小和它可以存储的值的 ...
MySQL学习:常用数据字段sql语句
修改表字段类型基本语法
1234alter table 表名 modify 字段名 字段类型;-- 示例-- 将user表的password类型改为varchar(30)alter table user modify password varchar(30);
12Query OK, 0 rows affected (0.02 sec)Records: 0 Duplicates: 0 Warnings: 0
查看表结构
1desc user;
1234567+----------+-------------+------+-----+---------+-------+| Field | Type | Null | Key | Default | Extra |+----------+-------------+------+-----+---------+-------+| username | varchar(20) | YES | | NULL | || password | varchar(30) | YES | ...
MySQL学习:常用数据表sql语句-1
创建表基本语法
123create table 表名(字段1 字段类型, 字段2 字段类型, ...字段n 字段类型);-- 示例:创建一个user表,有username和password两个字段create table user(username varchar(20), password varchar(20));
关于数据类型的知识,会在后面记录
查看数据表结构基本用法
123desc 表名;-- 示例desc user;
1234567+----------+-------------+------+-----+---------+-------+| Field | Type | Null | Key | Default | Extra |+----------+-------------+------+-----+---------+-------+| username | varchar(20) | YES | | NULL | || password | varchar(20) | YES | | NULL ...
也许是上海最难忘的一年
这篇文章拖了太久了… 但是依然有很多事情想要记录下来
也许大多都不是高兴的吧
今年都做了什么辞去工作准备旅游首先就是辞职
大概二月份的时候提出离职,三月离开了现在这家公司
辞职的原因很多
公司技术部团队很小,一个前端(我)一个后端,一个设计师。以前的设计师跳槽了,新的是后来又招的。新的设计师的沟通方式和我俩合不来… 经常闹矛盾 orz 我是会躲避矛盾的那种人,于是小团队不合就成为了辞职的原因之一
公司社保欠缴一年多,虽然工资有发,但是员工人人都担心着公司是不是快不行了(其实并没有),因为社保的问题,也有些不愉快
在这家公司一年半,确实开阔了视野(毕竟是坐落在上海市中心的留学公司),技术上也有不小的进步,但是这个公司的项目用的技术并不先进,基本都是在维护。我想找一个新的工作,尝试开阔自己的技术面
我想玩,上班挺累的,像辞职去旅游,也和朋友约好了时间,已经订好了三月份的机票
于是我就辞职了…
遭遇疫情但是辞职后马上遇到了天灾人祸,也就是让我感觉最难受最难忘的上海疫情封城
维基百科上称这次疫情封城为:2022 年 3 月上海市 2019 冠状病毒病聚集性疫情
当时和在上海的朋友一起 ...