- 博客(162)
- 收藏
- 关注
原创 编程学习之道
相信你一定为自己列过很多计划,无论是深入研究某个技术框架的源码,还是长期维护一个开源项目,半途而废的一定非常多,开始坚持了一段时间,一天、几天、几周,甚至几个月,然后因为某件事件耽搁了一天,然后就耽搁了一周、一个月,其实你心里有数知道自己隔了蛮久了,但是到你再认真想起来的时候,打眼一看,已经隔了几个月了,心里的那种对自己的愧疚感会油然而生😔。看函数里的逻辑是怎么样的,如果有调用了别的函数,先不着急去看这个函数的具体实现,而要先知道这个函数做什么的,弄清楚当前函数的逻辑。在入手阶段应该轻理论,重实践。
2023-07-20 11:25:55 367 1
原创 [javascript核心-10] 解析params参数的多种方案
前端实现参数解析的多种方式。大前端知识体系与面试宝典,从前端到后端,全栈工程师,成为六边形战士。
2023-07-19 17:09:58 1715
原创 [javascript核心-09] 彻底解决js中的类型检测方案
全部类型值进行细分检测。大前端知识体系与面试宝典,从前端到后端,全栈工程师,成为六边形战士。
2023-07-19 17:07:52 1147
原创 [javascript核心-08] V8 内存管理机制及性能优化
栈用于存放JS 中的基本类型和引用类型指针栈空间是连续的,增加删除只需要移动指针,操作速度很快栈空间是有限的,若超出栈空间内存,会抛出栈空间溢出错误栈是在执行函数时创建的,函数执行完毕后,栈销毁。
2023-07-19 17:05:04 1307
原创 [javascript核心-07] 带你彻底弄懂事件循环机制、宏任务、微任务
带你彻底弄懂事件循环机制、宏任务、微任务,大前端知识体系与面试宝典,从前端到后端,全栈工程师,成为六边形战士
2023-06-06 10:14:45 686 1
原创 [javascript核心-05] 全面梳理 ES6+,从 ES6~ES12(一定有你不知道的一款)
全面梳理 ES6+,从 ES6~ES12(一定有你不知道的一款),大前端知识体系与面试宝典,从前端到后端,全栈工程师,成为六边形战士
2023-06-06 10:10:18 510
原创 [javascript核心-06] 带你彻底弄懂 js 中的变量提升和作用域链
带你彻底弄懂 js 中的变量提升和作用域链,大前端知识体系与面试宝典,从前端到后端,全栈工程师,成为六边形战士
2023-06-06 10:10:05 345
原创 [javascript核心-04]彻底弄懂Promise异步编程
彻底弄懂Promise异步编程,大前端知识体系与面试宝典,从前端到后端,全栈工程师,成为六边形战士
2023-06-06 10:08:23 657
原创 [javascript核心-03]彻底弄清this的指向问题
彻底弄清this的指向问题,大前端知识体系与面试宝典,从前端到后端,全栈工程师,成为六边形战士
2023-06-06 10:06:37 289
原创 [javascript核心-02]彻底弄清Vue3响应式原理及手写实现
彻底弄清Vue3响应式原理及手写实现,大前端知识体系与面试宝典,从前端到后端,全栈工程师,六边形战士
2023-06-06 10:05:14 301
原创 [javascript核心-01]彻底梳理清楚Proxy 代理与Reflect反射
彻底梳理清楚Proxy 代理与Reflect反射,大前端知识体系与面试宝典,从前端到后端,全栈工程师,六边形战士
2023-06-06 10:03:24 380
原创 javascript面向对象完全指北
js中的面向对象其实是基于原型的,构造函数其实充当了“类”的角色,因为构造函数可以创建实例。而构造函数其实与普通函数没有区别,只是一个普通函数用new进行调用的时候我们称它为构造函数。如果在构造函数中显示return,若返回值是一个对象,则该对象会代替新创建的对象实例返回,但如果返回值是一个原始类型,则会被忽略。应该始终确保使用new调用构造函数,否则构造函数中的指向的是全局对象。此时就是在改变全局对象,而不是创建一个新的对象。构造函数模式的问题:没有消除代码冗余,方法不共享查看/判断对象的原型对象
2022-12-03 15:14:13 349 1
原创 写给前端程序员的C语言
这篇文章的顺序不会按教科书的形式来讲,而是站在前端程序员与JavaScript语言和C语言对比的角度来讲。先从数组说起。我们知道数组在内存里是连续的空间,但是我们如何知道它是连续的呢?例如下面这个例子:我们如何知道在内存中 和 的地址是相连的呢?我们可以C语言来看:注: 是C语言里面取地址的操作符。我们看到地址是以十六进制的形式打印出来的,数组 里的第0个元素和第一个元素之间相差了 个字节,那么是不是
2022-12-03 15:06:21 3724
原创 2021年的最后一天,我发布了2022年的第一个视频
大家好,我是轩灵,今天是2021年的最后一天,而在今天我发布了2022年的第一个视频,介绍2022年我的轩灵大前端知识体系打造计划,同时送上我对所有程序员同学的祝福。打算今年用一年的时间,打造大前端的知识体系,完成12个主题:算法、javascript、typescript、网络协议、设计模式、css、操作系统、react、node.js、架构设计、浏览器原理、性能优化、代码精进与软技能,产出将会以文章 + 思维导图 + 视频 + 示例 + 代码的方式方式分享出来。如果你感兴趣,可以扫码加我的微信或者进群
2021-12-31 14:37:03 566
原创 2022年轩灵大前端知识体系王牌打造计划
我将知识体系划分为12个专题,对应1年的12个月,1个月完成一个专题,每个专题我都列出了参考资料,主要包含技术书籍、极客时间的专栏及视频课程。2022期望与你一起在技术领域崛起。
2021-12-28 14:15:01 1579
原创 《左耳听风-高效学习篇》阅读笔记
学习态度学习不是努力读更多的书,盲目追求阅读的速度和数量,这会让人产生低层次的勤奋和成长的感觉,这只是在使蛮力。要思辨,要践行,要总结和归纳,否则,你只是在机械地重复某件事,而不会有质的成长的学习不是努力读更多的书,盲目追求阅读的速度和数量,这会让人产生低层次的勤奋和成长的感觉,这只是在使蛮力。要思辨,要践行,要总结和归纳,否则,你只是在机械地重复某件事,而不会有质的成长的他们在想方设法地用一些手段推出各种代读、领读和听读类产品,让人们可以在短时间内体会到轻松获取知识的快感,并产生勤奋好学和成
2021-11-13 16:41:36 443
原创 python函数式编程
python列表推导式列表推导式的语法格式:[f(x) for x in L],其中 f(x) 表示一个函数,作用于列表 L 的每一个元素。所以整体来看,就是将函数f映射到列表 L 中的每个元素上。其返回值是一个新的列表例如,将列表中每个元素加1[x+1 for x in [10,20,30]] # [11, 21, 31]L 也可以是一个字符串[x for x in 'string'] # ['s', 't', 'r', 'i', 'n', 'g']当然也可以加if 的判断条件,用于对元素
2021-11-13 16:36:53 2483
原创 JavascriptBestCode 给你最好的javascript代码
JavascriptBestCode 给你最好的javascript代码Javascript最佳实践1.通过条件判断给变量赋布尔值// badif (a === 'a') { b = true;} else { b = false;}// goodb = a === 'a';// bestb = (a === 'a');2.使用三元表达式代替if判断// badif (a === 'a') { b = a;} else { b = c;}// goodb =
2021-11-05 11:01:40 738
原创 nginx + node.js负载均衡以及nginx可视化管理
启动node节点01.jsconst express = require('express');const app = express();app.get('/', (req, res) => res.send('<h1>The server at 01<h1>'));// 监听端口app.listen(8001, () => console.log('success: 01.js'));02.jsconst express = require('e
2021-04-28 17:44:59 695
原创 Python中的列表、元组和字典
Python中的列表、元组和字典列表List创建访问通过索引进行访问list = [1,2,3,4]a=list[0] # 1b=list[-1] # 4切片[start : end :step] 以step为间隔截取start到end(不包含)之间的所有元素;支持负数索引;list[num:]表示从指定num开始到最后;list[:num]表示从开头到指定的num为止相加(合并)列表只能和列表相加乘法可列表包含的元素重复N次可用于填充列表
2021-04-27 16:40:55 459 1
原创 python中的堆
python中的堆以及堆操作# heapqt提供了对应堆的支持,构建的是小顶堆from heapq import *my_data = [7,6,3,2,9,0,1,5,4]# 对my_data应用堆属性,即堆化heapify(my_data)print(my_data) # [0, 2, 1, 4, 9, 3, 7, 5, 6]# 添加一个元素,堆自动调整,继续满足小顶堆heappush(my_data,0.5)print(my_data) # [0, 0.5, 1, 4, 2,
2021-04-27 14:35:02 3687
原创 计数排序和桶排序——python和javascript实现
计数排序python版不稳定计数排序# 不稳定计数排序def count_sort(arr): max,min = findMaxAndMin(arr) space = max - min countArr = [0] * (space+1) resultArr = [] # 计数 for num in arr: for j in range(0,space+1): if num == j: countArr[j]+=1 # 排序 for i in ran
2021-04-26 14:23:30 208 1
原创 计数排序的python实现和javascript实现
python实现def count_sort(arr): max,min = findMaxAndMin(arr) space = max - min countArr = [0] * (space+1) resultArr = [0] * (space+1) for num in arr: for j in range(0,space+1): if num == j: countArr[j]+=1 for i in range(0,len(countArr)): i
2021-04-25 17:31:08 177 2
原创 快速排序的双指针递归与非递归、单指针递归与非递归实现
双向递归def quick(start_index,end_index,arr): # 递归 if start_index >= end_index: return base = getBase(start_index,end_index,arr) quick(start_index,base-1,arr) quick(base+1,end_index,arr)def getBase(start_index,end_index,arr):
2021-04-25 09:38:52 220
原创 Thress.js设置背景色及背景透明
Thress.js默认背景Thress.js默认背景色为黑色设置Thress.js背景颜色场景想要自行定义Thress.js模型的背景颜色实现this.renderer = new THREE.WebGLRenderer();this.renderer.setClearColor(0xffffff, 0); //设置背景颜色设置Thress.js背景透明场景有时候将Thress.js渲染的3D模型嵌入在页面中,需要给页面整体设置一个背景色时,需要将Thress.js背景设为透明实现
2021-04-22 18:12:50 2937
原创 Echarts图例常用配置(图例大小、字体、显示方式、位置等)
Echarts图例常用配置legend: { data: this.allLegend, textStyle: { //图例字体大小 fontSize: 10, }, //图例大小 itemHeight: 10, //图例滚动显示 type: 'scroll', //图例纵向显示 orient: 'vertical', //图例位置 right: 0, top: 30, bott
2021-04-22 18:04:53 28630 1
原创 快速排序的python、java、javascript实现
概述快速排序与冒泡排序的相似处是都采取了临近比较、交换两值的方式,快速排序的特点在于运用了分治法,每次都将数组分成两个部分,与一个基准元素进行比较,比标志位大的放在标志位的右边,比标志位小的放在标志位的左边。基准元素的选择可以是简单的使用列表的第一个元素,也可以任意进行选择。快速排序的python实现def quickFixedFinal(startIndex, endIndex, arr=[]): if startIndex >= endIndex: return
2021-04-21 17:50:25 179
原创 使用java,javasript,python实现冒泡排序的三个版本
概要冒泡排序是最简单的一种排序方式,最基础的实现用嵌套的两层for循环即可实现。但是即便是最简单的冒泡排序也存在着很大的优化空间,我们可以对两层循环分别进行优化。首先来看一下两层for循环的作用:外层for循环是对比较趟数的控制内层for循环时对每一趟比较次数的控制存在的优化空间是:对于外层循环,如果数组已经有序,就不需要再进行外层循环了,需要一个标记来进行跟踪数组是否已经有序。而有序的标志是某一趟不再进行数据交换了。对于内层循环,由于冒泡排序每一次是把最大的放到最后,所以后面的元素是有序的,
2021-04-21 16:52:03 209
翻译 (翻译)现代JavasScript:ES6+
ECMAScript 2015,也就是我们所知道的ES6,介绍了许多JavaScript的新特性。从那以后,每年都会增加一些新的特性。ES6及以后的扩展通常被称为现代JavaScript,因为有着这些重要的变化。这篇文章主要探索的是ES6, ES7, ES8, ES9以及ES10的新特性。什么是ECMAScriptECMAScript是一门脚本语言的标准。JavaScript是一门实现了ECMAScript标准的编程语言。ECMA国际是制定ES标准的协会。TC39是ECMA国际下的一个委员会,它决定Ja
2020-12-13 19:41:16 456
翻译 (翻译)九个项目助你成为前端高手
简介无论你是一个编程的新手还是你已经是一个有经验的开发者,在这个行业中,学习新的概念和语言/框架都是必须的,这样才能跟上快速的变化。举个例子来说,Facebook出的开源框架React只用了4年时间就成为了全球Javascript开发者的第一选择。当然,Vue和Angular也有可观的追随者数量。类似的还有Svelte,还有通用框架Next.js和Nuxt.js,以及Gatsby,Gastsby,Quasar,还有更多其他的。如果你想成为一个专业的Javascript开发者,你至少应该在不同框架和库方面有
2020-12-13 16:07:44 491
翻译 (翻译)使用javascript中的proxy(代理)
(翻译)使用javascript中的proxy(代理)我最近一直在研究javascript中的proxy,我对它的能力感到惊讶。Proxy允许你改变语言的基本结构(像object,arrays,functions…)下面是使用javascript代理的几个例子。对象冻结我们可以使用几行简单的代码来阻止对对象的改变操作,这本质上是冻结对象 const hero = { name: 'Saitama', age: 25, class: 'B', race: 'Human',
2020-12-12 09:31:41 361
翻译 (翻译)Weakmap详解
先看一个例子let obj = { name: 'toto' }// { name: 'toto' }这个对象能够被读取到,因为obj这个变量名有对它的引用// 将引用覆盖掉obj = null// 这个对象将会被从内存中移除,因为我们已经失去了对它所有的引用再来看另外一个例子let obj = { name: 'toto' }let arr = [ obj ]obj = null在这个例子中,对象{name:'toto'}不会被从内存中移除,因为数组arr保存了对它的引用
2020-12-11 16:58:31 9159 11
原创 子元素相对父元素垂直水平居中的八种方式
基本样式HTML<!DOCTYPE html><html lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <meta http-equiv="X-UA-Compatible" content="ie=edge" />
2020-07-27 09:15:43 603
原创 实现左侧固定宽度, 右侧自适应的两栏布局的八种方案
HTML<!DOCTYPE html><html lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <meta http-equiv="X-UA-Compatible" content="ie=edge" /> <
2020-07-23 18:56:18 4940 2
原创 animation动画全解
animation八大属性共用代码HTML<!DOCTYPE html><html lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <meta http-equiv="X-UA-Compatible" content="ie=
2020-07-23 16:54:58 7725
原创 Vue项目中集成Echarts
Vue项目中集成Echarts这里主要使用两个封装Echarts的库:v-charts和Vue-Echartsv-chartsgithub地址v-charts官网使用安装npm i v-charts echarts -S结合Element一起使用<template> <div id="charts"> <el-tabs v-model="activeName" @tab-click="handleClick"> &
2020-07-23 10:31:54 4099
原创 使用react-redux实现todoList
使用react-redux实现todoList一、Redux作用统一状态管理,将分散在各个组件中的状态全部放在统一的store对象中进行管理,适用于状态特别分散、状态共用较多、状态传递较深的情形。二、安装1.创建项目yarn init create-react-app todolist2.安装reduxyarn add redux redux-chunk3.目录结构规划src | -| commponents -| storeApp.jsindex.cssin
2020-07-07 11:14:02 1441 2
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人