学习碎片记录

推荐网站

前端

📚 技术面试必备基础知识、Leetcode、计算机操作系统、计算机网络、系统设计

你想知道的前端内容都在这
《ES6 入门教程》

学习记录

bable与webpack

babel就是一个正儿八经的js编译器!而且是个高度灵活的,我们可以自由配置的编译器。
webpack是一个模块打包器。但是,他也具备转译的能力。
tsc呢,本质也是转译。
在这里 我们不讨论es5或者67,只讨论ts,如果想把ts变成js,tsc就够了。
但ts能力也止步于此了。如果有复杂的需求,比如链路转译,压缩等,就需要babel和webpack了。我们通过分析项目需求,认为现阶段只需要tsc就足够满足我们的需求了。’
并且使用tsc后,今后有更复杂的编译需求。可以随时迁移到babel或者webpack上。
链路转译是我自定义的,比如md文件,第一次转译变成了vue,第二次转译变成了html。再比如tsx文件,第一次转译变成了ts,第二次转译变成了js。
压缩是我们最终build出来的代码,经过代码压缩、混淆的。

代码中出现的错误

  1. document.getElementsByTagName 取到的是 DOM 对象构成的数组,而非对象。详见 MDN

  2. location 名称通常用于 URL,实测在 bilibili 修改 location ,页面会修改 URL 地址导致 404

  3. 不要用0和1代替boolean!c语言中没有boolean可以用01,其他语言都有boolean。
    eg. var flag = 0; => var flag = false; | startFlag == 0; => !startFlag

  4. interval = setInterval(loadVideo, 10); 没有声明
    改为 var interval = setInterval(loadVideo, 10);

  5. 在生产环境中直接使用了 es6 的 forEach。虽然理论上浏览器可以使用 forEach,但既然整个文件都是按照不能使用es6的约定写的,就遵守吧。

  6. startTime 和 endTime 被赋予 formatSeconds() 的返回值,返回的值是个 “X分X秒”的字符串。但是你又让 startTime 和 endTime 在 markConfirm 函数中进行了比较大小,字符串是不能比较大小的。

vue数据驱动

JavaScript操作DOM的基本函数,这些函数非常见名知意,对照着MDN或者W3C一分钟就可以明白。

其实这些函数起初并不是JavaScript原生函数,是来自于一个叫做香草的框架(Vanilla)。后来香草框架太有名了,以至于所有浏览器都内置了香草,你不必引入香草就可以使用里面的函数了。

再后来,几乎成了JavaScript操作DOM的标准了。

如果是vue,就不需要我们来写这些东西了。vue是数据驱动的哦,我们只要给数据就行。但实际上vue背后也在用这些函数,来管理DOM结点。

举个例子说明数据驱动的思想。我们要控制一个元素的消失和挂载:
用原生(或者说香草)怎么做呢?——appendChild或者removeChild
用vue怎么做呢?——用v-if,v-if后面是一个数据变量。

实际上vue里面也可以用香草的函数,有时候复杂的需求就会这么做。万变不离其宗,相辅相成的。
多用用,就更能理解它们的相同和相异,以及为什么相同和相异了。
在编程这一块,没有什么优劣,只有

  1. 符合当前时代背景
  2. 符合当前开发场景需求

不是说用vue就一定要前后端分,只不过常用在前端,而不是必用。vue也可以在后端模版里使用。

js引擎

JavaScript 引擎可以简单的被理解为能阅读执行 JavaScript 源代码的解释器。
V8 是谷歌开发的 JS 引擎,被应用在 Chrome 浏览器中,承担执行 JS 代码相关功能。
Node 也使用了 V8 作为 JS 引擎。
严格来说,引擎和运行时不等价。引擎仅仅提供了编译、执行代码的能力,但执行时的能力是 JS 运行时提供的。
例如,有这么一段 JS 脚本,功能是读取一个 TXT 文本。解析代码、调用读取文件接口是引擎提供的,读取文件的能力是运行时暴露给引擎的。
JavaScript 运行在哪里?
这个问题有很多种解读,既可以说运行在引擎中,也可以说运行在运行时中。
还有人会说,运行在浏览器中,运行在 node 中等等。

数据库

数据库是服务的提供者,从这个角度出发本地数据库和云数据库都是等价的。这个服务的使用者:

  1. 后端服务(但不必非得是php和java,任何后端语言都行)
  2. 可视化软件:比如navicat和dberver
  3. 最最最传统的命令行

本地数据库

安装MySQL server即可,官方文档安装并配置本地数据库。

云数据库

【腾讯文档】Windows 下安装 MySQL 及使用可视化工具执行 SQL 脚本过程记录
https://docs.qq.com/doc/DUElJZUljRlpobm1Y

更新了图片。但图片太多,不便于阅读。

阅读时,建议独立复制到自己的腾讯文档中一份并将图片删除。有图片的文档适合对照,无图片的文档用于阅读,

可视化工具

navicat:老牌软件靠谱,但是是付费的,不好折腾。【√】

DBerver:免费的可视化工具,现在也很受追捧,优先推荐DBerver。

安装、启动数据库后,就可以启动可视化工具软件,来连接数据库了(本地数据库和云数据库都可以连接,等价的)。

技术路线

①PHP+Apache(PHP后端放在Apache上跑)

② Java+tomcat(Javaweb在tomcat上跑)

③phpstudy:一个windows下的Apache/Ngnix+PHP+MySQL的集成开发环境。【√】

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值