日常碎碎念 2021.6.14

上周总结

  1. 端午节假期
  2. 学校封校
  3. 软件测试与质量保证考试
  4. 看书《自制编程语言》

1. 端午节假期。学校为了提前放假,把后续的所有课程都提到6月的周末进行授课。因此导致端午假期其实都是在上课。(不幸中的万幸,主要的课程在5月底就已经结束,现在只剩下一个学校的企业实训课程,压力还算不是很大。)另外学校可能🤔是为了安慰大家,端午节居然开始派发粽子了。读了3年书,这是第一次。2020年和2021年真的是奇妙,什么新鲜事都见到了。

2.学校封校。由于学校需要配合当地的疫情防控要求,因此对校园实施了封校处理。但u1s1,我们学校就是在郊区,偏僻的不得了。平时也没啥人会专门流动到我们这里来,实在是想不通为啥要实施封校处理。封校处理也直接导致校外的商业气息消失的一干二净,非常的安静,静悄悄的,都没有烟火气了💔。另外不能出门喝咖啡☕️和剪头发💇‍♂️也是让人感到好不方便啊。(上一次为了去拍照,找了一个100块的理发师,现在看来100还是物有所值的。秒杀我平时去的60块的理发馆,起码头发长了,那个形态还是整齐的,下次还会回去剪。)

3.软件测试与质量保证考试。3月开放回校,4月雅思考试,5月面试大厂。时间飞逝,转眼间就到了6月,迎来了第一场考试。考试的手感还行,希望能够再接再厉,后续能够取得更好的成绩吧。

3.《自制编程语言》。最近618购物节,没啥好买的。在当当网上偶然瞥见了这本书,感觉非常的有趣,因此上网下载了一本PDF版的电子书来阅读。后悔当初学习编译原理的时候没早点看到这本书。作者通过生动的图像,以及平易近人的话语,来向读者介绍了程序语言以及编译器的工作原理,并在后面手把手教授读者自己开发一个编译型语言出来。个人觉得真的是非常有趣的一本书。目前刚刚把编译器的梗概介绍读完,正在跟着作者实用yacc(语法分析器)和lex(词法分析器)来开发一个编译器和编译语言。通过实践,能够更加明确的认识到上个学期学习的自动机,文法,归约,移进等名词,在实践中的应用。非常过瘾和令人兴奋🥰。读完之后我会单独写一篇读后感,希望到时候能够有人来看。

本周计划

  1. 软件工程师资格培训-期末考试
  2. PHP Web高级应用开发-期末考试
  3. 完成企业实训任务
  4. 继续读书

结尾

今天是6月14日端午节,不知道看到这篇博文的你吃粽子了吗?另外也祝你端午安康😊!

日常碎碎念 2021.06.06

本周总结

  1. 阿里实习Offer
  2. 主要课程结束
  3. 小程序大赛&交接
  4. 工作室容器化工作流
  5. 核酸检测
  6. 软件设计师资格考试和六级考试

1. 阿里实习Offer。终于等到了来自阿里的实习Offer,对于我一个来自三本的学生而言,真的是非常的惊喜了。去到了广州的支付宝质量保证与技术风险部,主要做的是内部工具。想到有机会接触到底层技术的开发,想想就令人很激动啊🥳。(可惜现在广州有疫情的牵制,不然上下班30min的优势真的是好爽啊!)

2.主要课程结束。大三下的课程转眼间就要结束了,下周就要开始准备考试了,感觉时间过的真的好快啊。同时6月已经悄然来临,2021年就要过去一半了,感觉时间流逝最快的是4月找实习的日子,平和🙃,焦虑😖,喜悦😝的感觉至今都难以忘怀,相信这段经历会伴随我一辈子吧。不过还是要端正态度,不骄不躁,好好迎接接下来的考试,不要把之前的优势丢失了,加油😎。

3.小程序大赛&交接。去年的《软件项目管理课程》中,召集了几位dalao,一起开发了一个课室签到小程序。今年年初被老师怂恿着,拿着这个小程序去参加了比赛。不过计划始终是赶不上变化,年初的时候,雄心壮志的立下了许多先进的目标,4月就开始各奔东西找实习,5月接OC摸🐟,导致6月只能把最原始的1.0版本交上去。老师也可能是看到这个原因,感觉我们靠不住,就找大二的dalao来接手了,希望他们不会像我这么摸,能够把小程序成功落地,造福学校的师生吧。(感觉自己就是个反面教材🤣)

4.工作室容器化工作流。最近终于下定决心,通过众筹,购入了一年的云服务器。开始构建工作室的容器化工作流了。之前都是需要先push到github上,等待学校管理员,pull到服务器上面的。自由度非常非常低,而且还会有很多的局限性。因此我希望这次可以借助这个机会,构建一条全自动化的工作流:上传Github->构建docker image->推送到docker container->上线。并且借助网页面板,能够在线管理服务。期望这样子可以实现后端服务的无缝迁移和运行。不论是哪一届,都能继承这套内部工具来进行业务的测试开发。彻底摆脱学校的限制🚫。

5.核酸检测。广州最近出现了大量的新冠疫情感染者,因此被要求进行全市的核酸检测。市区部分在前3-4天已经完成2-3次的检测任务了。但是我们这些郊区一直没有消息,昨天临时接到通知,要通宵做核酸检测。因此凌晨3点被拉出去做了核酸检测,真的是辛苦了医护人员了👨‍⚕️👩‍⚕️,广州加油。另外5.6号的时候,我因为喝了浓鸳鸯而通宵;没想到一个月后的6.6号我因为核酸检测,再次通宵,历史惊人的相似,真的是难忘的大学经历了😄。

6.软件设计师资格考试和六级考试。由于广州的疫情原因,导致这两门考试在广州的考点不得不延期举行。(其实就是取消6月的考试了)对于我来说,其实我是高兴的,主要是因为我没做多少的复习,去考试也是去浪费金钱💰和时间⌚️。反倒是我的舍友们损失惨重,每天都看见他们在努力💪学习,刷题到深夜,希望他们能够在之后的考试中获🉐️出色的成绩吧。

下周计划

  1. 软件测试与质量保证 考试
  2. 复习下周考试内容

实施情况

计划使用周日、周一、周二的时间进行复习,准备周三的考试。期望能够通过这三天的努力取得一个出色的成绩吧。

PHP和软件工程师的课程期末考试在下下周,因此同样需要耗费一定的时间来准备,目前计划周三考完试再进行准备。

结尾

明天就是6.7号,一年一度的高考日,还是要来了。在期待自己能够在下周取得好成绩的同时也祝福高考考生旗开得胜吧!

M1 Mac 配置&初始化 Nginx+PHP+MySQL环境

环境

  1. Homebrew🍺
  2. Xcode命令行工具
  3. PHP 8.0
  4. Nginx
  5. MySQL

1.安装Xcode命令行工具

执行命令 Xcode-select --install

2.安装Homebrew


访问 Homebrew 官网,点击访问官网
按照指引,安装Homebrew

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

Homebrew常用指令

  • 安装package

brew install 包名

  • 卸载package

brew uninstall 包名

  • 检查package的信息

brew info 包名

  • Homebrew升级

sudo brew update

  • Homebrew搜索package

brew search 包名

  • 检视已安装的package

brew list

3.使用Homebrew安装Nginx

  • 安装Nginx

sudo brew install nginx

  • 启动Nginx

nginx
安装&启动完成后,从浏览器中输入localhost:8080即可访问到Nginx服务器的欢迎页面

  • 关闭Nginx

nginx -s sotp

  • 重启Nginx

nginx -s reload

  • 查看Nginx版本

nginx -v

4.安装PHP 8.0

我作为一个从5.5时代就开始做php开发的开发者,也是第一次使用8.0的稳定版。直接一步到位的原因是:更好的语法&JIT的支持,希望能够在8.0时代获得更好的性能。因此本教程,将会采用8.0版本的PHP进行安装。

  • 使用Homebrew安装PHP

brew install php
如果需要特定版本的php则包名改为`php@指定的版本号`即可

  • 启动&重启

php-fpm

  • 强制关闭php-fpm

sudo pkill -INT -o php-fpm

5.配置PHP

  • 进入php配置文件夹

通过brew info找到php配置文件的位置
brew info php

  • 编辑php.ini文件

vim php.ini

  • 守护PHP进程

默认安装的PHP仅仅会在前台运行,如果此时我们关闭命令窗口的话,php-fpm将会自动关闭,无法继续处理我们的php请求。
开启 `守护模式` 即可解决这一问题

1. 配置php-fpm.conf
vim php-fpm.conf
2. 查找 daemonize
直接键入/daemonize
3. 修改值为yes并且保存
daemonize = yes
虽然注释处,写了默认值应该为yes,但是不知道是什么原因,导致了默认值是no

  • 安装php拓展

通过Homebrew安装的php,自带了pecl。这是一个php拓展的包管理器,后续的拓展安装,仅仅需要通过该管理器安装即可。一般开发用不到,主要是用于实现加密或者网络的时候,可能需要通过该tab来安装

pecl version 查看版本信息

pecl help 可以查看命令帮助

pecl search xdebug 搜索可以安装的扩展信息

pecl install xdebug 安装扩展

pecl install http://pecl.php.net/get/redis-4.2.0.tgz 安装指定版本扩展

6.配置Nginx

  • 通过brew info找到Nginx的配置目录
  • 打开nginx.conf

vim nginx.conf

1. 修改启动端口为80

  • 找到listen关键词
server{ 
    listen 8080; // Nginx需要监听的接口 
    server_name localhost; 
    ...
}
  • 修改为80端口
server{ 
    listen 80; // Nginx需要监听的接口 
    server_name localhost; 
    ...
}

2. 修改默认入口文件
在index这一行中,加入index.php,将其也作为入口文件。

location / { 
    root html; 
    index index.html index.htm index.php;
}

3. 启用php流量转发
找到location ~.php$关键词,将注释删掉(删掉代码前面的’#’),启用php流量转发

location ~ .php$ { 
    root html; 
    fastcgi_pass 127.0.0.1:9000; 
    fastcgi_index index.php; 
    fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name; 
    include fastcgi_params;
}

4. 配置php流量转发规则
修改location ~.php$中的fastcgi_param配置项

将其从SCRIPT_FILENAME /scripts$fastcgi_script_name

修改为SCRIPT_FILENAME $document_root$fastcgi_script_name

Nginx常用命令

  • 查看报错文件的路径

nginx -V

nginx version: nginx/1.19.10
built by clang 12.0.0 (clang-1200.0.32.29)
built with OpenSSL 1.1.1k 25 Mar 2021
TLS SNI support enabled
configure arguments: 
...
--error-log-path=/opt/homebrew/var/log/nginx/error.log 
...

找到error-log-path关键字,后面的值即为错误报告的地址。
使用tail -f 文件名查看即可。

  • 检查配置文件正确性

nginx -t

  • 检查Nginx进程运行状态

ps -aux | grep nginx

7.验证PHP环境

  • 启动Nginx服务器
  • 启动php-fpm服务
  • 通过brew info nginx查询网页根目录
  • 在网页根目录下创建index.php

index.php代码:

<?php phpinfo(); ?>
  • 通过浏览器访问http://localhost/index.php

若出现PHP Version + 版本号 以及 php相关的信息则安装完成

php安装成功

8.安装MySQL

我当前的系统版本是BigSur,如果你是Catalina也是兼容的,下载最新版就好了。

  • 点击”No thanks, just start my download.”开始下载即可
  • 下载完成,解压双击运行pkg即可,按照步骤执行即可

管理MySQL

  • 通过访问系统偏好设置的MySQL即可管理MySQL服务
  • 通过GUI管理服务的启停

通过命令行管理MySQL

  • 查看MySQL版本

mysql -v

  • 登录MySQL服务器

mysql -u 用户名 -p
出现`Enter password`后输入你的密码回车,即可登录MySQL服务器。

  • 登出MySQL服务器

exit

通过phpMyAdmin管理MYsql

  • 访问官网下载phpMyAdmin即可,点击访问
  • 下载完成后,将phpmyadmin文件夹拖入网站根目录
  • 通过浏览器访问http://localhost/phpmyadmin即可

常见问题

  • 执行mysql显示command not found: mysql

这是由于没有将mysql指令加入到命令行窗口中的原因

解决方法:

  1. cd ~ 切换到用户目录
  2. 输入vim .bash_profile 打开命令行配置文件
  3. 输入export PATH=$PATH:/usr/local/mysql/bin
  4. 保存文件
  5. 运行source ~/.bash_profile加载配置文件
  6. 此时就可以顺利使用MySQL了

结尾

这篇教程主要目的是为了帮助我记录下Mac系统中配置环境的流程而写。方便我日后如果需要重装或者更换电脑的时候可以快速将环境搭建完成。希望这篇教程也能帮助到你,谢谢。

日常碎碎念 2021.5.26

上周总结

  1. 阿里素质测评
  2. 体质测试
  3. 工作室会议
  4. 海底捞聚餐

1. 阿里素质测评。之前被阿里捞起来面试莫名其妙的,面试官也在问我为什么没有素质测评,因此HR面之后就被安排去把素质测评补上了。现在还在等HR的回复,真的是等的黄花菜都要凉了,好在有一个鹅厂保底,不然等待⌛️真的是一个煎熬的过程呐。

2.体质测试。下学期就要晋升为大四的学生了,时间过的真的是飞快,转眼间就要从大学的课堂中步入社会了,感觉大学很充实,时间也过的很快。唯一让我不爽的就是每年的体质测试了。每次立定跳远和引体向上都是不合格,真的是好伤心💔。好在通过努力,最后还是拿到了60分合格的成绩,但这段经历真的是太痛苦了。

3.工作室会议。跟大家讨论了工作室的看板娘的设计(虽然我们是技术向工作室,但看板娘也很重要啊!),被通知了剩下这段时间的日程安排,跟技术组的朋友们做了交流。虽然工作室远远没有达到我所预期的样子,但好歹是慢慢跑起来了,相信2-3年后,我们会起来的。

4.海底捞聚餐。这个纯属自己糊逼,跟舍友夸下海口说拿到鹅厂offer就请大伙吃海底捞。自己作孽啊,吃饭钱包👛在滴血🩸,QAQ。(不过海底捞的服务真的好好啊!)

本周计划

  1. 软件设计师考试
  2. 参加组织的换届大会
  3. 继续学习基础知识
  4. 继续准备雅思

实施情况

软考就要在本周六(5.29)进行考试,正在紧张的进行准备。目前感觉选择题应该是有把握拿到合格✅的,但下午的案例题,说实话还没个底。继续加油准备吧!今天是周三了,利用今天,明天,后天,不到3天的时间,用心准备一下,我相信还是能够通过的。

一年一度的换届大会又来了,虽然会占用晚上的时间,但感觉作为组织的一份子,还是不要缺席的比较好,去合影留个纪念,毕竟是作为在校的一段记忆,还是要珍重的。

继续学习前端的基础知识并且了解相关项目的实践。比如React Native,lowcode可视化编程的落地实施等方面的信息和知识。

继续准备雅思,原计划是6月中,6月底进行二战雅思的。但可惜计划赶不上变化,5月底软考,6月中六级,6月中下期末考,6月底要去租房子。整个6月的行程被安排的满满当当的,因此还是计划9月或者10月二战雅思(期盼这一次能一步到位到6.5分😂)。

结尾

希望在接下来的考试中能够取得一个出色的成绩吧!加油!

为什么图片转Base64会多出30%的数据量

背景

由于最近在准备🐧厂的面试,被问及是否知道为什么url-loader将图片转换成Base64后,会有增加33%的数据量。因此,我开始从晚上搜集这方面的资料,但遗憾的是,大多的博文的关注点基本都是在实际应用(Webpack,前端优化…)或者是Base64如何进行编码,没有很清晰的阐述为什么会多出33%的数据量的过程和原因。因此,我希望可以通过这篇博文补充这方面的讯息。

为什么会多出30%的数据

当我们把3个Byte的数据转换成为Base64的字符时,根据Base64的规则,3个Byte的字符会转换成24个二进制位。Base64一位只有6个位二进制位,因此会产生4个Byte的字符。

但是现代计算机系统当中,一个字符要有8个二进制位来存储因此,4个字符对应的6个二进制位都要补充2个0,来转换成8个二进制位的字符存储到计算机当中。因此3个Byte(24位二进制位)的数据要用4个Byte(32位二进制位)来存储。并且32位中只有24位是用来存储数据的,剩下8位都是无用的补充位。

因此我们可以很简单的计算出输出:输入 = 4:3 (33% 数据冗余). 与此同时,我们同样可以总结出,输入n Bytes,输出就有(下图)那么长。

4n3

总结

核心思路,原来三个Byte的数据,转换成Base64后,要用四个Byte来存储。多了1/3(33%)的数据要存储,所以数据量会增多。

把照片打包进bundle.js中,看来还是要因地制宜的。url-loader默认数值应该是8192bit(1024 byte),增大33%后就是增加了300byte。因此,url-loader主要还是用于打包只有几个像素的小文件比较适合。不会对整体的加载速度有过多的影响。

引用

https://en.wikipedia.org/wiki/Base64

http://www.ruanyifeng.com/blog/2008/06/base64.html

主题的一些小思考

最近重新燃起写Blog的斗志,就开始上来收拾了一下。其实感觉还是用回原生Wordpress提供的主题就已经足够好了。之前总是喜欢花里胡哨的主题,却忘记了写作的本心。现在换回这个原始的样式,希望能够把重心搬回内容创作上面。

近期做的一些小改动

  • ✅ 适配了深色模式
  • ✅ 卸载插件,加快加载速度
  • ⛔️ 准备迁移博客至支持HTTP 2.0的服务提供商

尾言

总的来说,就是懒得折腾了,没有当初折腾的那颗心了。感觉一切从简,才是最爽的,现阶段我的观点变成了,与其花时间装修,还不如好好摸摸🐟算了。(当然也有可能是最近几天的天气️☁️太热导致的完全不想动)

日常碎碎念 2021.5.15

距离上一次上来写文章已经过去了接近3个月了。上一次还是过年期间呢!时间过的真的好快啊。在这段时间,其实还是发生了不少变化的。最显著的变化还是:

  1. 从MateBook换到到了M1 Macbook Air
  2. 雅思第一把拿到6分的成绩
  3. 顺利拿到鹅厂和蚂蚁的实习offer

接下来就一点点的慢慢讲讲吧,虽然不一定有人看。

1.从MateBook换到到了M1 Macbook Air

去年Apple发布了基于ARM架构的M1芯片,那时我其实还不是特别心动,感觉新的Mac电脑距离我还是有挺远距离的,MateBook足以满足我日常工作学习的需求。当不幸的是,2月份MateBook宕掉了,日常的数据存放在了移动硬盘上还好。部分生产环境的代码还是放在了内置的硬盘当中,不幸遗失。虽然最后通过重刷系统得以恢复正常,但为了安全,我决定还是更换电脑。当时我的需求主要是便携,另外当时我的移动设备有iPhone和iPad了,由此更加增加了我购入MacBook的欲望。

我选择的配置是16+256的Air。之所以选择这个配置,主要是考虑到当时matebook无法升级内存导致天天内存溢出的窘境。而256则是因为512的价格太贵了,增加的1500元成本已经允许我购买一个三星T7 1T的移动硬盘了(之后也证明确实是明智的选择)。

由于过年放假的因素,我的Macbook实际到达时间是3月初,用到现在大概已经有2个月了。无风扇设计的Air是真的非常的棒,无论是静音设计还是便携性,都是行业领先的水准。而低功耗和新架构,也满足我的前端开发的性能需求。说实话,Air在运行大型前端项目的时候,还是会稍稍发热的,但远远不会像我的上一台笔记本以上,热的跟平底锅一样。各个方面都令我非常的满意,如果你也是一位前端开发者,并且也正好需要更换笔记本。那么基于M系列的Macbook绝对是非常值得考虑的,并且由于第三季度就会换代,在5月13日的今天,我会建议你等M2的发布。相比在那个时间点下,软件层面的适配会更加完善,而硬件层面的性能示范也一定会做的更好。

2.雅思第一把拿到6分

没想到自己有一天也要去考雅思,准备出国读研究生。2021年真的是非常不可思议,4月份的第一战,也狠狠的把我拍到在了地面上,口语稀烂,阅读听力稀烂,最终也只考到了6分,实在是没脸见人了😂。不过由于是第一次其实也是情有可原的啦,6月中再战吧,希望到时候我能追到6.5分。

3.三本菜🐔拿到大厂offer

其实我自己根本没想到自己能够在5月份收获两家梦寐以求的大厂offer的。腾讯和阿里都陆陆续续拿到了暑期实习的offer。真的是超级开心啊。四月底等待的时候都快抑郁了。拿到offer后真的是好兴奋,感觉自己过去三年熬的这么多个项目,终于没有白费。也感谢鹅厂和阿里不会有学历歧视,让我走到最后一面拿到offer。反倒是网易有道、京东、字节直接就进人才库了,真的是狗。

未来的展望

开心了快一周了,需要静下心来学习了,5月底的软考需要认真准备了,继续加油,准备软考和6月的六级。7-9月认真实习,10月雅思冲6.5分就是我对未来的大致计划了。努力努力,希望总会来的,冲冲冲!

[油猴脚本] V2EX 自动切换深色模式

起因

V 站从去年年中就好像开放深色模式了,但是切换样式一直都需要手动去切换,个人感觉有点麻烦。最近入手了 12,发现 iOS 的根据日出日落时间自动切换浅色深色模式的功能很好用,但是电脑端(Windows平台)不使用额外的软件不能实现自动切换样式,所以萌生了基于日出日落时间来自动切换 V 站样式模式的想法。

简介

目前脚本是基于定位获取当前设备的坐标,基于坐标计算出当地当日的日出日落时间,自动切换浅色与深色模式。 (日出后日落前就是一直保持浅色模式,日落后日出前就是一直保持深色模式)

脚本链接

https://greasyfork.org/zh-CN/scripts/421557-v2ex-autodarkmode

使用方法

第一次使用时,将会弹出询问❓是否允许获取定位📍,选择”允许”,并勾选✔”不再询问”即可完成初始设定。
之后的使用中,将默默运行在后台,没有任何的提示。

联系我

Email: gz7gugu@qq.com
Blog: https://www.7gugu.com
(由于把脚本放在了 GreasyFork,您也可以直接在 GreasyFork 上面私信我,看到就会回复)

Powered by 7gugu

[笔记]小程序JS 变量的生命周期探究

序言

今天闲逛”小程序开发社区”,无意中看到有一个同行贴出了以下的一段代码。

https://developers.weixin.qq.com/s/mqa4fHme7ZnX

从A页面当中跳转到B页面,点击按钮后,再返回上一页就不能触发按钮对应的事件了。

探究代码

第一次渲染

第一次渲染成功时,用户点击setData测试,按钮能正常触发事件(按钮内容变成setData成功),点击”点击另外打开当前页面”按钮之后,跳转到新的页面。

跳转到第二个页面

此时nodeid发生变化,证实跳转到了新的页面。此时点击左上角的返回按钮后,原来的setData按钮无法触发事件。

分析输出

从代码中我们很容易就能分析出,第一次渲染成功时,that和this指向的页面nodeid应该是acf9ce91,当我们跳转到第二个页面时,此时的that和this就变成了bd622626。

此时神奇的事情就发生了,当我们点击返回按钮回到上一个页面,我们就能看到that的输出值依然是 bd622626 ,但this的输出值就变回了 acf9ce91.

返回第一个页面

由此我的一个想法是,跳转页面只会初始化一个新的页面实例,而不是重新运行这个JS文件.

证明想法

辅助代码

为了证明跳转页面后不是重新运行这个JS文件的想法,我在Page构造器的外部增加了如下的代码.

但我重新渲染页面时,console页面成功输出了2

证明第一次渲染时,小程序是运行过这个JS文件的。但当我们点击跳转到新的页面时,2没有继续出现,此时我认为小程序在新的页面当中,小程序是没有运行过这个JS文件的。

查阅文档

小程序为了实现对视图层标签的管控,开发了一套内置的框架”Exparser框架”。在该框架当中,页面的渲染是基于Exparser框架提供的Page和Component构造器的注入的数据的。

文档链接:https://developers.weixin.qq.com/ebook?action=get_post_info&token=935589521&volumn=1&lang=zh_CN&book=miniprogram&docid=0000aac998c9b09b00863377251c0a

暂时性结论

按照我的个人理解,启动的时候,小程序就已经提前把页面的模板注册好了。如果后面再次访问该页面时,仅仅是会基于页面模板创建出新的页面实例。也就是只有Page()构造器里面定义的data,在同一个页面下,实例与实例之间是独立的,但是Page外部定义的变量是共用的

后续

如果未来有能力的话,希望可以反编译一下小程序的基础库,从源码正向来理解小程序页面渲染的流程。

引用

  1. 教程|《小程序开发指南》
  2. 同一page页面重复打开时,页面js里声明的变量会互相污染?

你好,2021

四级更迭,时光流转,又一个按下了快进键的365天。告别2020年,感谢遇见你2021,还请多多指教。

过去的2020年,经历了新冠病毒的侵袭,经历了全民隔离,网课教学。2020年的上半年是黑白的,感觉时间都被暂停了。但多亏大家的努力,让2020年的下半年逐渐重返前进的轨道之上,希望2021年,能够牛转乾坤,为美好的生活继续努力。

2020年,我第一次参加了微信小程序全国高校大赛,取得了华南赛区三等奖。但这个奖不会是我的终点,它会继续激励我,向着更高的目标继续进发,希望能够在未来取得更好的成绩。从年初的0.0.1版的GCU课表+,一直迭代到今天的1.8.1版本,一年来我对这个小程序进行了上百次的更新,现在回头看真的是成就感满满,即学习到了开发方面的知识,交到了更多的好友,也帮自己争得了一个奖项,希望明年能够继续进步。

2021年,一个新的开始,一页新的篇章,下面是我短期(1-2月)的一个目标。

  1. GCU课表+ 功能增强
  2. 自制LL(1)文法的编译器
  3. 学会用Coco2dx制作小游戏
  4. 用库乐队做一个 trap beat
  5. 雅思考到6.5

希望一切都能如约而至,也祝福大家心想事成,学业进步,身体健康。