双节前把我的网站重构了一遍
赶在中秋国庆假期前,终于将我的网站(https://spacexcode.com/[1])结构定好了,如之前所说,这个网站的定位就是作为自己的前端知识沉淀。内容大致从:前端涉及的基础知识分类汇总(知识库), 实战类的代码演练(代码片段),特定技术的深度使用总结(专题),零散知识点的领悟总结(博客)这四个方面展开。还有最重要的一点就是这个网站不仅仅是给自己看的,我希望它像一个产品, 面向的是整个互联网受众,在学习上给大家一点点灵感。
首页
首页就如同一个人的脸面,起到第一印象的作用。好看的页面足够引起别人的注意,简洁的外观而且要能突出整个网站的重点。
首页往往是用户进入网站的第一道门槛,最重要的是轻、快、有亮点、有主题。所以我在 Banner 栏放置了网站的主题和描述,快速了解前端知识体系的一个快捷入口。相信进入该网站的大多是和我一样想学好前端 的人,对于他们学习之前先了解知识体系是很有必要的。
另外,文字下面还有个醒目的搜索框,为了避免进入网站就加载额外的搜索资源,这里搜索的实现是在另外的页面实现(https://spacexcode.com/search[2]),不过它可以将你当前输入内容直接从 URL 带过去。这个搜索功能做到了本地,虽然以牺牲首次加载时间,但是后期的检索非常快。
为了能引起陌生访客的注意,在网站的中间部分加入了一个代码显示区域,并且以实时输入的动画形式展开。并且这段代码做了线上征集,它可以从现有的代码库中做了随机显示,有效地增加了网站的互动性。
知识库
知识库中包含了下面几个大的方面,下面又有各自的子节点文档,对于前端基础知识 JavaScript、CSS 和 NodeJs 下面知识网络该怎么展开目前还没想好,可能后面还要修改。如果网友有什么好的想法, 可以评论区给我意见。
- 介绍 // 概述了自己对前端的理解和学习路径图
- JavaScript // 包含核心知识点和学习资源分享
- CSS // 包含核心知识点和学习资源分享
- NodeJS // 包含核心知识点和学习资源分享
- TypeScript // 包含核心知识点和学习资源分享
- Framework // 核心概念讲解
- Vue // 包含核心知识点、常见问题解决方案和学习资源分享
- React // 包含核心知识点和学习资源分享、项目中常见问题
- 工程化 // 日常项目开发涉及的工程化处理- 代码规范- 常见安装包及命令- Shell 脚本编写指南
- 服务器 // 以自己目前管理的阿里云 CentOS 服务器为例- Linux 学习资料- Nginx Web 相关配置
- 整理合集 // 各种好玩的品类的收集- 前端 UI 组件库- 富文本和 Markdown 编辑器- 开源网页图标- 优质开源项目汇总- 静态网站生成技术- 网页特殊表情和字符- 项目脚手架
- 在线演示- 用 CSS 实现树状视图- 用 CSS 实现的各种加载动画- A 标签有趣的样式- 导航栏透视背景设置
- 资源- 在线资源- 常用工具- AI 相关- 能力提升
代码片段
正如我的介绍页说的“如果我只能给其他程序员一个建议,那就是编写小的代码块,你要多写小方法、小功能、小程序”。可以说这句话成了我现在学习新技术的指导方针。我自己从中已经受益,反复强调都不为过。
- 介绍
- 小功能 // 实现了一些常用的功能函数
- 小组件 // 网上看到一些有趣的、有启发意义的组件就用代码实现了
- 钩子函数(Hooks) // Hooks 对于代码抽象能力的培养
- 小程序 // 选择一些小型工具类的项目进行实战
小功能主要实现一些常用的功能函数,比如:“通过 a 标签下载文件”,“实现网页全屏”,"获取当前执行环境的全局对象",“将 URL 中参数转成对象”;
小组件就是网上看到一些有趣的、有启发意义的组件我就立即用代码实现了,有一些已经在网站中使用了。
钩子函数也就是 Hooks,最近出来的概念,让函数组件具有了状态特性。
小程序作为实战的一次小考验,真正地去面对一个小型的工具型的项目去检验自己开发产品要面对的方方面面。有一定的挑战能力。但是同样收获不少。需要拓展了解一些产品、推广营销方面的知识。
专题
针对自己比较感兴趣,并且想深入的技术和领域,将相关的知识整理成册,有点类似掘金小册[3],如果打磨的好,可以作为线上课程。
- 介绍
- Docusaurus // 静态网站生成工具
- Next.js // 目前比较流行的全栈技术
Docusaurus 作为 Facebook 开源的静态网站生成工具,也是本站使用的技术方案,深度使用后,被它的强大的功能和灵活性所折服。以后纯静态网站就选用它实现了,还要啥自行车啊!
如果网站要频繁与数据库打交道,那 Docusaurus 就无能为力了。这个时候就要选择全栈技术了,如果是 React 的话就选择 Next.js[4],熟悉 Vue 可以选择Nuxt[5] 。
目前的精力暂时把这两个专题做好做精吧。
博客
博客就比较随意了,平时的灵感都可以作为写作的题材。从网站正式上线,已经了十几篇的产出了。频率一般以一个月更新两三篇。文风尽量轻松、诙谐幽默一点,虽然这个目前还比较难,但是尽量往这方面努力靠吧。多从别人的写作方法中去学去练。
我发现国外的博主在文章中都喜欢插入表情字符,这样显得文章比较生动可爱。如今我也刻意地去锻炼这一点,没写完一段话,就想这里能不能插入一个合适的表情字符,为此我还特意收集了看到的一些表情字符, 做了整理【网页特殊表情和字符[6]】。
还有一个重要的认识就是一篇文章尽量把相关的知识点做到串联起来,关联的文章之间相互引用。你所掌握的知识结构到最后一定是网状的。
总结
网站正式上线将近四五个月了,已经产出这么多的内容算得上高产了。截止此刻网站的访问统计:PV:27345
,UV:14861
,期间也只在其它平台发布的文章中稍微推广了下。希望持续保持热情,将这个站点维护 下去。
参考资料
[1]
https://spacexcode.com/: https://spacexcode.com
[2]https://spacexcode.com/search: https://spacexcode.com/search
[3]掘金小册: https://juejin.cn/
[4]Next.js: https://nextjs.org/
[5]Nuxt: https://nuxt.com/
[6]网页特殊表情和字符: https://spacexcode.com/docs/collection/charactor
- END -相关文章:
双节前把我的网站重构了一遍
赶在中秋国庆假期前,终于将我的网站(https://spacexcode.com/[1])结构定好了,如之前所说,这个网站的定位就是作为自己的前端知识沉淀。内容大致从:前端涉及的基础知识分类汇总(知识库࿰…...
基于 nodejs+vue网上考勤系统
目 录 摘 要 I ABSTRACT II 目 录 II 第1章 绪论 1 1.1背景及意义 1 1.2 国内外研究概况 1 1.3 研究的内容 1 第2章 相关技术 3 2.1 nodejs简介 4 2.2 express框架介绍 6 2.4 MySQL数据库 4 第3章 系统分析 5 3.1 需求分析 5 3.2 系统可行性分析 5 3.2.1技术可行性:…...
以数智化指标管理,驱动光伏能源行业的市场推进
近年来,碳中和、碳达峰等降低碳排放、提升环境健康度的政策和技术改进正在不断地被社会所认可和引起重视,也被越来越多的企业在生产运营和基础建设中列为重要目标之一。而光伏能源行业作为全球绿色能源、新能源的优秀解决方案,充分利用太阳能…...
lv8 嵌入式开发-网络编程开发 18 广播与组播的实现
目录 1 广播 1.1 什么是广播? 1.2 广播地址 1.3 广播的实现 2 组播 2.1 分类的IP地址 2.2 多播 IP 地址 2.3 组播的实现 1 广播 1.1 什么是广播? 数据包发送方式只有一个接受方,称为单播 如果同时发给局域网中的所有主机࿰…...
前端面试题个人笔记(后面继续更新完善)
文章目录 填空题部分简答题部分 if有好答案请各位大佬们在底下评论上,感谢 填空题部分 1、常见的css选择器 2、getElementById获取元素的(DOM)对象 简答题部分 1、介绍一下你对RESTful API的理解以及它的优势? 答: …...
软件设计之工厂方法模式
工厂方法模式指定义一个创建对象的接口,让子类决定实例化哪一个类。 结构关系如下: 可以看到,客户端创建了两个接口,一个AbstractFactory,负责创建产品,一个Product,负责产品的实现。ConcreteF…...
【Linux】shell运行原理及权限
主页点击直达:个人主页 我的小仓库:代码仓库 C语言偷着笑:C语言专栏 数据结构挨打小记:初阶数据结构专栏 Linux被操作记:Linux专栏 LeetCode刷题掉发记:LeetCode刷题 算法:算法专栏 C头疼…...
OA系统和ERP系统有什么区别?
在当今的企业管理领域,协同办公管理系统和ERP系统是两个非常重要的工具。它们在企业的日常运营中扮演着不同的角色,有着各自独特的功能和优势。那么,OA系统和ERP系统到底有什么区别呢?协同办公管理系统又是如何在这两者之间发挥协…...
c语言之strcat函数使用和实现
文章目录 前言一、strcat函数使用二、实现方法 前言 c语言之strcat 函数使用和实现 一、strcat函数使用 原型: char *strcat ( char * destination, const char * source );strcat追加拷贝,追加到目标空间后面,目标空间必须足够大,能容纳下…...
Halo-Theme-Hao文档:如何设置导航栏?
本篇文章会教你如何配置导航栏,最终效果参考如下。 感谢 Lanbin、小孙同学 等同学的贡献(语雀参与编辑)。 1标题 进入站点后台 点击左侧面板中的 主题 点击上方的 导航 修改 标题字段即可 2主菜单 主菜单即网站导航栏中间部分的菜单 进入站点…...
【Java学习之道】Java网络编程API介绍
引言 在Java中,进行网络编程的主要方式是通过Java网络编程API。这些API提供了一组类和接口,用于创建网络应用,如TCP和UDP通信、URL访问等。在这一节中,我们将带你领略Java网络编程API的魅力。 一、InetAddress InetAddress类是表…...
[论文笔记]SimCSE
引言 今天带来一篇当时引起轰动的论文SimCSE笔记,论文题目是 语句嵌入的简单对比学习。 SimCSE是一个简单的对比学习框架,它可以通过无监督和有监督的方式来训练。 对于无监督方式,输入一个句子然后在一个对比目标中预测它自己,仅需要标准的Dropout作为噪声。这种简单的…...
设置按键中断,按键1按下,LED亮,再按一次,灭按键2按下,蜂鸣器响。再按一次,不响按键3按下,风扇转,再按一次,风扇停
src/key_it.c #include"key_it.h" //GPIO初始化 void all_led_init() {//RCC使能RCC->MP_AHB4ENSETR | (0X1<<4);//设置PE10 PF10 PE8为输出GPIOE->MODER & (~(0X3<<20));GPIOE->MODER | (0X1<<20);//设置推挽输出GPIOE->OTYPER…...
深拷贝和浅拷贝的主要区别
在JavaScript中,深拷贝和浅拷贝的主要区别在于它们处理对象属性的方式。 浅拷贝(Shallow Copy)只复制对象的引用,而不是实际的对象。因此,如果你修改了复制的对象,原始对象也会受到影响。 深拷贝…...
Git Cherry Pick的使用
cherry-pick命令的基本用法 cherry-pick命令的基本语法如下: git cherry-pick <commit>其中,<commit>是要应用的提交的哈希值或分支名。该命令会将指定的提交应用到当前分支上,并创建一个新的提交。 使用场景 cherry-pick命令…...
vue3后台管理框架之基础配置
配置vite.config.js import { defineConfig } from viteimport vue from vitejs/plugin-vueexport default defineConfig(({ command, mode }) > {//const env loadEnv(mode, process.cwd(), ) //获取环境变量return {// 打包devbase: ./,// 开发环境server: {port: 5002,…...
Easysearch压缩模式深度比较:ZSTD+source_reuse的优势分析
引言 在使用 Easysearch 时,如何在存储和查询性能之间找到平衡是一个常见的挑战。Easysearch 具备多种压缩模式,各有千秋。本文将重点探讨一种特别的压缩模式:zstd source_reuse,我们最近重新优化了 source_reuse,使得它在吞吐量…...
扩散模型的系统性学习(一):DDPM的学习
文章目录 一、学习的资料1.1 对于扩散模型的发展过程的综述1.2对论文中涉及的公式以及公式对应的代码的解读1.3github中对于各模型实现的代码1.4相关基础知识的学习 二、DDPM的学习2.1 DDPM总体知识的梳理2.2相关代码的解读2.2.1unet 代码块2.2.2高斯扩散代码块2.2.3 实验流程代…...
注意力屏蔽(Attention Masking)在Transformer中的作用 【gpt学习记录】
填充遮挡(Padding Masking): 未来遮挡(Future Masking):...
MyBatisPlus详解
前言: 📕作者简介:热爱编程的小七,致力于C、Java、Python等多编程语言,热爱编程和长板的运动少年! 📘相关专栏Java基础语法,JavaEE初阶,数据库,数据结构和算法系列等,大家有兴趣的可以看一看。 😇😇😇有兴趣的话关注博主一起学习,一起进步吧! 一、MyBatis…...
组合数的计算
C: 即从a个元素中选取b个元素的组合数。 LL C(int a, int b) {LL res 1;for (int i a, j 1; j < b; i --, j )res res * i / j;return res; } A: 表示从a个元素中选取b个元素进行排列的情况数。 LL P(int a, int b) {LL res 1;for (int i a; i > a - b; i--){res…...
linux之shell记录
shell属于一种很容易学习的程序设计语言,依赖于功能强大的命令可以编写提高开发效率的脚本。这里记录一下常用的shell相关的知识点。 持续更新中。。。 1、在linux或mac中查看使用的shell echo $SHELL /bin/bashshell是一种脚本语言,就会有解释器来执行…...
外卖大数据案例
一、环境要求 HadoopHiveSparkHBase 开发环境。 二、数据描述 meituan_waimai_meishi.csv 是某外卖平台的部分外卖 SPU(Standard Product Unit , 标准产品单元)数据,包含了外卖平台某地区一时间的外卖信息。具体字段说明如下&am…...
到底什么是5G-R?
近日,工信部向中国国家铁路集团有限公司(以下简称“国铁集团”)批复5G-R试验频率的消息,引起了行业内的广泛关注。 究竟什么是5G-R?为什么工信部会在此时批复5G-R的试验频率? 今天,小枣君就通过…...
uniapp 使用和引入 thorui
1. npm install thorui-uni 2. "easycom": { "autoscan": true, "custom": { "tui-(.*)": "thorui-uni/lib/thorui/tui-$1/tui-$1.vue" } }, 3....
vue3中ref和reactive的区别
原文地址 深入聊一聊vue3中的reactive()_vue3 reactive_忧郁的蛋~的博客-CSDN博客 ref和reactive的区别-CSDN博客 理解: 1.ref是定义简单类型 和单一的对象 2.reactive 定义复杂的类型 梳理文档: ref和reactive都是Vue.js 3.x版本中新增的响应式API&…...
文件路径操作
避开-转义字符 python文件路径导致的错误常常与“\”有关,因为在路径中的“\”常会被误认为转义字符。 所以在上述路径中,\table\name\rain中的\t,\n,\r都易被识别为转义字符。 解决的办法主要由以下三种: #1 前面加r表示不转义 pathr&quo…...
Java Cache 缓存方案详解及代码-Ehcache
一、Spring缓存概念 Spring从3.1开始定义了 org.springframework.cache.Cache 和 org.springframework.cache.CacheManager 接口来统一不同的缓存技术; 并支持使用 JCache(JSR-107) 注解简化我们开发。 常用的缓存实现有 RedisCache 、EhCach…...
JAVA设计模式-装饰者模式
一.概念 装饰器模式(Decorator Pattern),动态地给一个对象添加一些额外的职责,就增加功能来说,装饰器模式比生成子类更灵活。 —-《大话设计模式》 允许向一个现有的对象添加新的功能,同时又不改变其结构。这种类型的设计模式属…...
STM32F1简介
前言 本次学习使用的是STM32F1系列的芯片,72MHz的Cortex-M3内核; 名词解释 STM32是ST公司基于ARM Cortex-M内核开发的32位微控制器(MCU); ARM Cortex-M内核是ARM公司设计的,程序指令的执行,…...
南阳网站建设价格/网络服务商怎么咨询
#include<stdio.h> #include<ctype.h> #include<string.h> #include<math.h> #include<stdlib.h> int main(void) {int i, j, n, a[10], b[50]; // 数组 a是题目输入的十个数字 ,数组 b是 a所代表的所有数字 for (i 0; i < 10;…...
做网站在线视频如何添加/app推广30元一单
文章目录基于阈值的分割方法Otsu阈值分割自适应阈值分割最大熵阈值分割法迭代阈值分割基于边缘的分割方法基于区域的分割方法基于图论的分割方法基于聚类的分割方法基于能量泛函的分割方法曲线演化理论snake方法水平集(LevelSet)Active Contours Without Edges能量函数用水平集…...
网站建设类电话销售/seo网络排名优化技巧
其实还是这个老问题: 记一次文件下载丢包填坑之旅 http://www.cnblogs.com/syjkfind/p/5281677.html 即使现在只有haproxy-nginx-磁盘文件 比较少的转发,但文件特别大,还是偶有文件不完整的问题。 从现象上看,浏览器响应是200没问…...
什么是网站建设流程/市场调研公司排名
基于现有数据库生成POCO数据类和数据库上下文需要借助Visual Studio一个扩展插件-- Entity Framework Power Tools(一个Code First反向工程工具)。只要在Visual Studio扩展里面输入“Entity Framework Power”搜索即可找到最新的扩展,点击下载…...
高港区住房和城乡建设局网站/厦门seo网站排名优化
Webpack 简介 什么是 Webpack? webpack是一种前端资源构建工具,一个静态模块打包器在webpack看来,前端所有的资源文件都会作为模块处理它将根据模块的依赖关系进行静态分析,打包生成对应的静态资源(bundle)’ Webpack 五个核心…...
大理中小企业网站建设/营销推广软文案例
CK_Label_v13一、产品参数 1. 电池供电版 产品型号 CK_Label_v13 尺寸 70x34.7x13.6mm 屏幕尺寸 2.1 inch 分辨率 250*122 像素密度 130dpi 显示技术 电子墨水屏显示 显示颜色 黑/白 外观颜色 黑色 按键 1 指示灯 1 RGB灯 灯光颜色 7种(红/绿/蓝/黄/紫/白…...