Li Guangqiao
Li Guangqiao

一个正在转rust的ExtJs前端工程师。迷信rust的整体发展,十分相信rust在各个领域都能发光发热,至少目前rust在很多领域上验证了其安全性、易维护性。但说实话对于我这种菜鸡也是真的难上手哈哈哈~~。 思路总结:

  • 万物诞生都会有一个需求来源,每一个改变都是为了解决某个问题,最后应该考虑如何去做
  • 学会掌握一些宏观的知识和理论:系统论、还原论
  • 工程化思想,如何描述整体,从整体架构到模块关联等 故学习东西应该像看地图一样,先看整体了解整体的结构,然后再聚焦每一个模块,对于模块的学习,思考三个问题,“是什么?”、“为什么?”、“怎么做?”;那么设计一个东西时也应该去考虑整体性和关联性。

有关于未来的发展,以下是鄙人的粗浅的观点:

  • 编程语言未来应该是每个人必备的工具
  • 未来的交互方式应该会以语言交互为主流
  • 下一个去中心化的技术方案出来之前,区块链依然是web3建立价值体系的基础技术方案,如何将现实价值和虚拟价值联通是进入数字世界的一个大难题。
  • 未来注定是AI的世界。AI的进化会伴随绝大部分人的退化,届时除了尖端人才,人们学习的重心会放在何处?

区块链的理解(阅读收集)
区块链的理解(阅读收集)

Li Guangqiao - 10/10/2023

什么是区块链? ...

v8引擎
v8引擎

Li Guangqiao - 04/10/2023

v8引擎项目结构 目录/文件描述 api包含了 V8 引擎的 C++ API,可以用来在 C++ 代码中调用 JavaScript 代码 asmjsasmjs 目录是 V8 引擎的 Asm.js 支持代码所在的目录,包含了 Asm.js 相关的头文件和源文件。Asm.js 是一种 JavaScript 子集,可以通过限制语言特性和语法来提高 JavaScript 代码的性能。V8 引擎通过解析 Asm.js 代码,并将其编译成高效的机器码来提高 JavaScript 代码的性能。asmjs 目录下的代码实现了 Asm.js 相关的解析器、编译器、代码生成器等功能,是 V8 引擎支持 Asm.js 的基础。在 asmjs 目录下,asm-js.cc 文件实现了 Asm.js 相关的函数和类,包括 StdlibMathMember 和 AreStdlibMembersValid 等函数,用于解析和编译 Asm.js 代码。 astast 目录是 V8 引擎的抽象语法树(AST)相关代码所在的目录,包含了 AST 相关的头文件和源文件。抽象语法树是一种用于表示程序语法结构的树形数据结构,可以用于编译器的语法分析、代码优化和代码生成等过程。在 V8...

Mega学习
Mega学习

Li Guangqiao - 30/08/2023

Mega(去中心化Git服务) Mega是一个去中心化、分布式的开源git项目。它的目标是提供一个更加安全和隐私保护的git服务,同时还可以提供高质量的代码托管和版本控制功能。Mega是完全开源的,任何人都可以自由地使用它,也可以参与到它的开发和维护中来。 ...

js隐式转换
js隐式转换

Li Guangqiao - 22/08/2023

js的隐式转换 目前常见的隐式转换 相关数据类型 let str = "hello"; let str_num = "1" let boo = true; let num = 10; 隐式数据类型转换 隐式转换优先其他类型转换成字符串。 数值、布尔值与字符串相加会隐式转换成字符串 console.log(str+boo)//字符串+bool值 "hellotrue" console.log(str+num)//字符串+数值 "hello10" console.log(str_num+num)//数值型字符串+数值 "110" 非字符串下优先数值。 布尔值会隐式转换 true => 1 false => 0 console.log(num+10) //bool值+数值 11 字符串和布尔值比较: 当一个字符串和一个布尔值进行比较时,JavaScript 会将布尔值转换为数字(true 为 1,false 为 0),然后与字符串进行比较。 console.log("10">true); //true console.log("a">true); //false 不同数据类型的比较: 在比较不同数据类型时,JavaScript 会尝试将其中一个值转换为另一个值的数据类型,然后再进行比较。这可能导致一些奇怪的结果。 console.log("42"==42);//true console.log("42"===42); //false 注意:在 JavaScript 中,双等号 == 和三等号 === 是用于比较值的操作符,核心区别是比较是否做隐式转换: 双等号:双等号进行比较时会进行隐式类型转换。它会尝试将比较的两个值转换为相同的数据类型,然后再进行比较。这就导致了一些令人困惑的情况,因为不同数据类型的值在隐式转换后可能会变得相等。 三等号:三等号进行比较时不会进行隐式类型转换,而是直接比较值和数据类型。只有在值和数据类型都相同的情况下,才会返回 true。 ...

js学习笔记(6)——集合类型
js学习笔记(6)——集合类型

Li Guangqiao - 12/08/2023

集合引用类型 Object Object很适合存储和在应用程序间交换数据。 //声明方式 let obj = new Object(); obj.age = 1; let obj_one = { age:1 }; //属性访问 //点语法 console.log(obj.age); //变量语法 console.log(obj["age"]); Object不管是实验和生产环境中都很常用所以这里不做过多的阐述 Array Array同样是js中常用的引用类型。 js的数组不同于其他编程语言,其每一个槽位都可以存储任意类型的数据。 数组创建 //长度为20的空数组 let colors = new Array(20); //成员为"1","2"的数组 colors = new Array("1","2"); colors = ["1","2"]; ES6中还有两个创建数组的方法 通过from方法去创建数组 // 字符串会被拆分为单字符数组 console.log(Array.from("Matt")); // ["M", "a", "t", "t"] // 可以使用 from()将集合和映射转换为一个新数组 const m = new Map().set(1, 2) .set(3, 4); const s = new Set().add(1) .add(2) .add(3) .add(4);...