2025-12-13

Hexo 主题开发系列教程(五):插件系统与生态前言在前四章中,我们完成了一个功能完整的 Aurora 主题。本章将深入探讨 Hexo 插件系统,学习如何开发、使用和发布插件。 本章内容: 🔌 插件机制 - 工作原理 📦 插件开发 - 实战案例...

2025-12-13

Hexo 主题开发系列教程(四):高级功能与优化前言在前三章中,我们已经完成了: 第一章:Hexo 核心概念 第二章:扩展系统详解 第三章:主题结构与模板系统 现在,Aurora 主题已经具备了基本的功能。本章将进一步提升主题的实用性和性能,实现...

2025-12-13

Hexo 主题开发系列教程(三):主题结构与模板系统前言在前两章中,我们学习了: 第一章:Hexo 的核心概念(事件、变量、路由、Box、渲染、文章、模板) 第二章:Hexo 的扩展系统(Console、Deployer、Filter、Genera...

Hexo 主题开发系列教程(二):扩展系统详解(下篇)

前言在上篇教程中,我们学习了 Console、Deployer 和 Filter 三个扩展组件。本篇将继续介绍剩余的七个扩展组件,它们更加深入地涉及页面生成、模板渲染和文件处理。 本篇内容: Generator(生成器) - 自定义页面生成逻辑 H...

技术教程

Hexo 主题开发系列教程(二):扩展系统详解(上篇)

前言在上一篇教程中,我们学习了 Hexo 的七大核心概念:事件、本地变量、路由、Box、渲染、文章和模板。这些是 Hexo 的”骨架”,定义了系统如何运作。 本章我们将深入学习 Hexo 扩展系统,它是 Hexo 的”肌肉”,让我们能够在核心系统之上...

技术教程

Hexo 主题开发系列教程(一):核心概念全解析

前言Hexo 是一个快速、简洁且高效的博客框架,它使用 Node.js 驱动,支持 Markdown 解析。本系列教程将带你深入了解 Hexo 主题开发的方方面面,从基础概念到实战技巧。 在开始制作主题之前,理解 Hexo 的核心概念至关重要。本文将...

技术教程

一道前端面试题:如何判断 0.1 + 0.2 与 0.3 相等?

前言在 JavaScript 中,有一个经典的前端面试题:为什么 0.1 + 0.2 不等于 0.3? 如果你尝试在控制台中输入以下代码: 12console.log(0.1 + 0.2 === 0.3); // falseconsole.log(0...

JavaScript 初始化二维数组的陷阱

问题场景最近写 TypeScript 时,需要初始化一个二维数组。比如在实现”矩阵置零”算法时,你可能写过类似这样的代码: 123const row = 3;const col = 3;const matrix_copy: number[][] = ...

打造完美网页打印体验:网页在浏览器与 PDF 打印中的样式优化指南

在构建网站的过程中,我们通常会将焦点放在「屏幕端」的视觉体验上,确保用户在浏览器中看到的是美观、响应式且交互良好的界面。但你是否也注意到,当用户点击「打印」或选择「保存为 PDF」时,网页往往不尽如人意:排版错乱、背景杂色、按钮导航满天飞…… 这不仅...

写框架的框架—— Cordis 源码解析 (个人向)

前言 拉取代码 1$ git clone git@github.com:cordiverse/cordis.git 拉取依赖 12# 仓库默认使用 yarn 作为包管理器,不折腾$ yarn 预编译工作区子包 12# 对应命令为 yarn ya...

技术教程

香橙派 5P Ubuntu 22.04 安装 Home Assistant Supervised

一切的起因都是因为我使用 Docker 安装的 HA 没法使用蓝牙,所以我想着是不是容器版的 HA 是不是不支持蓝牙(脑子抽了)要不换成别的版本试试,也就有了这篇博客的记录。 首先看官方文档👀,根据 Home Assistant Supervise...

技术教程

SakuraFrp + WireGuard 组网实现内网穿透

自从之前买了香橙派 5 pro 搭建了自己的小服务器后,一直是使用之前用来搭建的 Minecraft 服务器的 Sakura Frp 进行的公益免费的内网穿透,由于秉持着能不花一分钱就不花一分钱的原则,一直坚守着两条隧道,穿透着六个常用网站,一直挺稳...

技术教程

安卓开发学习之 Gradle 摸爬打滚记录

安卓开发学习之 Gradle 摸爬打滚记录Connection refused: no further information在 Gradle task 执行过程中,出现这种问题,基本会打印出网络问题或使用的代理无法连接,如果是代理问题,如: 12G...

技术教程

香橙派5P折腾踩坑记录一揽子

Navicat 连接postgresql时出现‘datlastsysoid does not exist‘报错安装了最新的 Postgres 15 ,但该版本从表中删除了 datlastsysoid 字段,因此 Navicat 15.0.29 或 1...

技术教程

前端性能优化体系学习之前言

前端性能优化中的难点 成体系的性能优化资料严重缺失: 缓存请求,服务端响应优化,页面解析与处理,静态资源优化; 使用该优化方式的目的,围绕该优化方式对于的指标,优化后的收益等; 性能监控预警平台没有开源,需要自己开发: 性能优化的重中之重是在于性...

学习笔记

二维码的编码相关学习

概述二维码(2-Dimensional Bar Code),是用某种特定的几何图形按一定规律在平面(二维方向上)分布的黑白相间的图形记录数据符号信息的。 二维条码有一维条码没有的定位点和容错机制。容错机制在即使没有辨识到全部的条码、或是说条码有污损时...

学习笔记

自用前端工程师大厂面试题集

归纳总结

前端面试总结之 React Hooks

类组件的不足 状态逻辑难复用: 在组件之间复用状态逻辑很难,可能要用到 render props (渲染属性)或者 HOC(高阶组件),但无论是渲染属性,还是高阶组件,都会在原先的组件外包裹一层父容器(一般都是 div 元素),导致层级冗余。例如一个...

学习笔记

Golang 每日一库之 Cobra & Viper

简介Cobra 是 Go 的 CLI 框架,由 Go Docker, MongoDB 项目成员, Hugo 作者 spf13 创建。 Viper 是适用于 Go 的完整配置解决方案,处理所有类型的配置需求和格式,作者同样是 spf13。 安装12$ ...

技术教程

宝塔 nginx 配置 webdav 服务器

前言近年来,我一直在做一件事,就是将自己的数据,脱离那些商业公司,使用自己部署的备份,最次也是使用国外大厂的备份,国内厂商我已经对其毫无兴趣了,目前图片之类是备份在 咕噜咕噜 家的 Drive ,而其他 app 应用产生的数据,如我的心情日记,账本,...

技术教程

SpringBoot 实战开发

基础前置知识 spring-boot-starter-parent:Spring Boot 的版本仲裁中心,控制了所有依赖的版本号; spring-boot-starter:Spring Boot 的核心启动器,包含了自动配置、日志和YAML等; ...

学习笔记

SprintBoot实战笔记

基础前置知识 spring-boot-starter-parent:Spring Boot 的版本仲裁中心,控制了所有依赖的版本号; spring-boot-starter:Spring Boot 的核心启动器,包含了自动配置、日志和YAML等; ...

学习笔记

使用 Tasker 自动播放 QQ 音乐歌单

最近突然有这么个想法,想在早上快起床的时候,也就是闹钟响之前的那段时间,自动播放一些轻柔的音乐,比如班得瑞之类的,可以闭着眼睛享受一下上班前这段闲暇时光; 获取打开链接首先,我们现在 QQ 音乐内创建好自己的一个歌单,然后点击页面内的分享按钮,复制链...

技术教程

React 18 中 StrictMode 下重复渲染组件

前言当升级到最新的 React 18 后,在分析测试代码时,常遇到组件渲染两次的情况。调试了很久,发现是React.StrictMode的问题; 当然,之后我去谷歌搜索时,发现早已有人注意到了这个行为,不过他们在 React 官方仓库上发起 issu...

技术教程

关于WSL Ubuntu 20.04使用VScode连接报错的解决方法

在子系统安装完成并配置好 ssh 后,使用 Vscode Remote 连接安装 Vscode Server 时报错,报错信息如下: 12345678910111213141516> tar --version:[08:48:37.512] &...

技术教程

数据结构与算法学习之红黑树

B树基本概念B树(英语:B-tree)是一种自平衡多路搜索树,能够保持数据有序。这种资料结构能够让查找数据、顺序访问、插入数据及删除的动作,都在对数时间内完成; 与自平衡二叉查找树不同,B树适用于读写相对大的数据块的存储系统,例如磁盘。B树减少定位记...

学习笔记

数据结构与算法学习之AVL树

基本概念AVL 是最早发明的自平衡二叉搜索树之一,名称来源于 G. M. Adelson-Velsky 和 E. M. Landis (两位来自苏联的科学家); 平衡因子:某节点的左右子树的高度差; 而在 AVL 树中每个节点的平衡因子只能是 1,0...

学习笔记

数据结构与算法学习之搜索二叉树

思考如何在 n 个动态的整数中搜索某个整数?(检测其是否存在) Ⅰ. 考虑使用动态数组存放元素,从第 0 个位置开始遍历搜索,平均时间复杂度:O(n) 0 1 2 3 4 5 6 7 8 9 33 66 18 28 16 52 95 45...

学习笔记

数据结构与算法学习之二叉树

树介绍在计算机科学中,树(英语:tree)是一种抽象数据类型(ADT)或是实现这种抽象数据类型的数据结构,用来模拟具有树状结构性质的数据集合。 它是由 n(n>0)个有限节点组成一个具有层次关系的集合。它具有以下的特点: 每个节点都只有有限个...

学习笔记

TypeScript学习-类型体操训练

基础知识类型可以简单看成一个值的集合,在做类型运算的时,可分为两类: 包含一个元素的类型(值):0,"foo"; 包含多个(无限个)元素的类型:number, string; 还有两个特殊的类型:any 全集,never ...

学习笔记

前端学习之React项目实战Ⅲ

添加项目页面状态提升按照项目的设计,在 Header ,项目列表以及编辑项目三处都会打开新增项目或者说是编辑项目的 Modal,这些组件都需要这个控制 Modal 的状态,常见的做法是使用状态提升,将其共同需要的状态提升至距离它们最近的父组件中,在项...

学习笔记

Linux 宝塔面板魔改记录

去除版本更新服务器安装宝塔后,好几次更新版本,我觉得软件业务稳定后的更新都是不重要的了,大多都是商业性的了,如下小节,直接关闭更新: 定位到目录/www/server/panel/class,打开代码文件ajax.py; CTRL + F 搜索函数...

技术教程

前端学习之React项目实战Ⅱ

异步加载处理为了能够精准的控制和获取异步加载的状态,可以自定义一个处理的Hook,如下: 12345678910111213141516171819202122232425262728293031323334353637383940414243444...

学习笔记

关于我用旧手机折腾服务器的过程全纪实

前言最近,作为钉子户的我的 OnePlus5-cheeseburger 突然直接屏幕漏液了,一会就完全黑了,不知道是进水了,还是磕磕碰碰了,毕竟是裸奔的,旧的不去新的不来,索性直接下单了一个新的,旧的留来折腾算了,还换啥屏幕总成; 因为之前有折腾过 ...

技术教程

前端学习之React项目实战Ⅰ

项目创建使用 react-create-app初始化项目后: react-app-env.d用于引入预先定义好的类型 reportWebVitals.ts用于埋点上报; setupTests.ts用于配置单元测试,默认使用 testing-li...

学习笔记

折腾青年大学习自动观看截图的小工具

抓包获取 Cookie使用抓包软件 Fiddler 在微信 PC 端进行抓包,在主机名为api.lngqt.shechem.cn的请求中可以找到形如Cookie: BDed_HeaderKey=X2xQAy1bWnsNayB9YxxxxxxCF5%2...

技术教程

TypeScript学习-05-项目前端开发

初始化项目1npx create-react-app crowller-frontend --template typescript 使用脚手架create-react-app工具初始化项目,并设定模板为typescript类型,当使用各种外部依赖...

学习笔记

TypeScript学习-04-项目接口开发

装饰器实现路由在src/主目录下,新建目录controller,并创建两个文件LoginController.ts和decorators.ts; 在decorators.ts文件中,在方法的装饰器上定义元数据,值为路由的链接: 12345678910...

学习笔记

TypeScript学习-03-语法进阶

枚举枚举是组织收集有关联变量的一种方式,可以清晰地表达意图或创建一组有区别的用例,使用enum定义枚举类型: 123456789enum Day { SUNDAY, MONDAY, TUESDAY, WEDNESDAY, THUR...

学习笔记

TypeScript学习-02-实战爬虫开发

初始化项目新建一个文件夹用于爬虫项目实战,并在目录下执行命令初始化项目: 12npm init -y # 初始化npm配置文件,使用默认值tsc --init # 初始化 typescript 转译配置文件 同样也需要将编译运行的模块包安装到项目目...

学习笔记

TypeScript学习-01-基础语法

前言TypeScript 是一种由微软开发的自由和开源的编程语言。它是 JavaScript 的一个超集,而且本质上向这个语言添加了可选的静态类型和基于类的面向对象编程。 JavaScript是弱类型,而 TypeScript 提供了一套静态检测机制...

学习笔记

【文章翻译】使用文本编辑器手工制作电子书

没有什么比装订好的 EPUB 格式的电子书更能抚慰人的心灵了。 接下来是我的夜晚的旅程,是为了搞清楚为什么使用 pandoc 生成的 epub 文件无法上传到 Google Books。内容是一篇维基百科的文章。 我联系了谷歌支持(我对任何存在的支持...

技术教程

Python 爬虫的 XPath 学习

最近要在做一个校园助手的App,需要爬取学校教务处的通知,之前写的许多小东西都是直接用正则提取数据的,现在需要的数据多了,还是使用 Xpath 定位元素比较可靠。现记录一下从爬虫的角度学习 python xml 相关的库的一些东西。 Python 标...

学习笔记

Flutter 开发之动态更新Dialog中的状态

需求分析之前在写一个登录页面的 demo 时,点击登录按钮,发送网络请求,并且弹出包含进度条的 Dialog,异步进行的网络请求得到结果后,根据请求结果动态更新 Dialog 的状态 一般的想法就是,使用 setState 状态,但实际情况下,Dia...

技术教程

Flutter 入门学习之动画

AnimatedWidget 当给定的Listenable的值改变时重新构建的部件。 但需要为某一个Widget实现动画时,更多的情况是无状态的Widget,此时使用 AnimatedWidget 即可实现动画,只需继承并实现build()函数即可...

学习笔记

Flutter 入门学习之矩阵变换

Transform 在绘制子控件之前,为其添加矩阵变换的小部件。 但需要注意的是,矩阵变换不像 RotatedBox(在布局前进行变换),而是在绘制前进行变换,也就是说子控件虽然进行了变换,但是其布局无变化,意味着子控件的位置和大小都没有随着进行变...

学习笔记

Flutter 入门学习之进度条

LinearProgressIndicator123456789LinearProgressIndicator({ Key key, double value, Color backgroundColor, Anim...

学习笔记

Flutter 学习实践之Banner轮播图

PageViewPageView控件可以实现一个“图片轮播”的效果,PageView不仅可以水平滑动也可以垂直滑动。 1234567891011PageView({ Key key, this.scrollDirection =...

学习笔记

Flutter 入门学习之本地存储

本文是折腾 Flutter 的第八篇文章,介绍 Flutter 中本地存储的使用。

学习笔记

Flutter 进阶学习之画板

简单介绍CustomPaint 可以称之为动画鼻祖,它可以实现任何酷炫的动画和效果。CustomPaint 本身没有动画属性,仅仅是绘制属性,一般情况下,CustomPaint 会和动画控制配合使用,达到理想的效果;CustomPaint 继承自Si...

学习笔记

Flutter 入门学习之按钮

按钮的使用大致相同,无非样式和各种交互的回调,这里以 TextButton 为例: 12345678910TextButton( child: Text('TextButton'), // onPressed 为点击回调,on...

学习笔记

Flutter 入门学习之布局组件

基本布局ContainerContainer 可以设置固定的宽高属性,没有其他参数设置时,Container将会根据子控件自行调整大小: 12345Container( color: Colors.blue, height: 200, ...

学习笔记

Flutter 入门学习之Text文本相关组件

上代码即可: 123456789101112131415161718192021222324252627282930313233343536373839404142body: Center( child: SizedBox( he...

学习笔记

Flutter 入门学习之Tab导航栏

ScaffoldScaffold 实现了 Material 风格的基本布局结构,它提供了展示drawers(抽屉栏)、snackbars(通知条)和bottomsheets(上滑栏)的功能,基本用法如下: 1234567891011121314151...

学习笔记

Flutter 入门学习之底部导航栏

MaterialApp在学习 Flutter 的过程中我们第一个看见的控件应该就是MaterialApp,毕竟创建一个新的Flutter项目的时候,项目第一个组件就是MaterialApp,这是一个Material风格的根控件,一般用于void ma...

学习笔记

Flutter 入门学习之配置路由

配置路由404路由的配置话不多说,直接贴代码: 12345678910111213141516171819202122// App 主界面class MyApp extends StatelessWidget { @override W...

学习笔记

Dart 编程语言不详细学习指北

本文章是博主在此网站学习 Dart 语言时所摘录的一些重要内容,用于快速掌握 Dart 语言,详细完整内容请点击原网页。 重要概念 Dart 万物皆对象,并且所有的对象都是对应一个 类 的实例。 尽管 Dart 是强类型的,但是 Dart 可以推断类...

学习笔记

前端学习之React中的Hooks学习

什么是 HooksHook 是 React 16.8 的新增特性。它可以让你在不编写 class 的情况下使用 state 以及其他的 React 特性; Hook 本质是一个特殊的函数,它可以让你“钩入” React 的特性。例如,useState...

学习笔记

Win10子系统Ubuntu下配置Jupyter Notebook并实现内网穿透

之前看到有朋友在服务器上,搭建了Jupyter Notebook(一个笔记本,支持多种编程语言),觉得挺好的,自己也想弄个用用,无奈没有服务器,只好另寻他径。 启用Win10子系统网络上有很多教程,就不赘述了: 手把手教你启用Win10的Linux...

技术教程

React学习之Reac原理解密

setState() 详解更新数据是异步的123this.state = {count: 1}this.setState({count: this.state.count + 1})console.log(th...

学习笔记

前端学习之React中的CSS动画效果

CSS 过渡动画创建一个组件,包含一个按钮和文本,点击按钮实现,文本的显示和隐藏: 1234567891011121314151617181920212223class App extends React.Component{ click...

学习笔记

前端学习之React中的Redux使用

Redux 简介React 是一个 UI 视图层框架,并不是 Web 应用的完整解决方案。有两个方面没涉及: 代码结构 组件之间的通信 正因如此,仅靠 React 很难写大型应用,2014年 Facebook 提出了 Flux 架构(一种思想...

学习笔记

前端学习之React中的路由

React 路由介绍前端路由就是一套映射规则,是URL路径与组件的对应关系,实现从一个页面到另一个页面的跳转; Router 组件使用 React Router API 中的两种类型的路由: BrowserRouter HashRouter 12...

学习笔记

超乎你想象的Stm32中的 TIM 定时器(提高篇)

注:本文属博主学习时所作笔记,内容源大参考于野火的《零死角玩转STM32F103》以及部分网络资料,笔记内容仅作为自己参考,免去频繁查询参考手册的麻烦,如有错误,还请指出! 高级定时器(STM32F1 系列中为 TIM1 和 TIM8)和通用定时器在...

学习笔记

前端学习之React中的组件复用

render props 模式render prop 是指一种在 React 组件的 render 方法使用一个值为函数的 prop (该函数返回一个React 元素)以共享代码的简单技术; 在需要被复用的组件内,提供复用的状态逻辑代码,如状态和操...

学习笔记

前端学习之React中的组件通信

组件接收数据组件是封闭的,要接收外部数据应该通过 props 来实现; 在组件中,通过标签给添加属性传递数据,而接收数据时,函数组件通过参数 props 接收,类组件通过 this.props 接收; 可以给组件传递任何数据类型的数据,包括 JSX...

学习笔记

前端学习之React中的事件处理

事件处理简介React 元素的事件处理和 DOM 元素的很相似,但是有一点语法上的不同: React 事件命名采取驼峰式,不是纯小写; 在{}中传入一个函数作为事件处理函数,而不是一个字符串; 12345678910111213141516171...

学习笔记

前端学习之React中的组件

组件简介 组件是React的一等公民,使用React就是在用组件 组件表示页面中的部分功能 组合多个组件实现完整的页面 功能特点:可复用、独立、可组合 组件的创建方式使用函数创建组件 函数名称首位必须是大写字母; 函数组件必须有返回值,表...

学习笔记

前端学习之React报错指北

Maximum update depth exceeded. This can happen when a component repeatedly calls setState inside componentWillUpdate or comp...

学习笔记

前端学习之React中的JSX

JSX的基本使用 为什么不使用React.createElement()? 繁琐不够简洁 结构不够直观,无法一眼看出 不够优雅,用户体验差 JSX 是 JavaScript XML 的简写,表示在 JavaScript 代码中写 XML(HT...

学习笔记

前端学习之 React 简介与基本使用

什么是 ReactReact 是一个用来构建用户界面(HTML 页面)的 JavaScript 库,如果从 MVC的角度看,React仅仅是视图层,也就是只负责视图的渲染,而并非完整的M和C的功能; React 来源于 FaceBook 的内部项目,...

学习笔记

Google Drive 调用 IDM 下载大文件

最近在用 Google Drive 收集一些好东西,但是下载的时候由于文件过大的限制还是其他原因,遇到了一些问题: 在网上找到了解决方法,在这里记录一下: 右键点击文件,选择添加星标 在页面左栏的已加星标中,找到文件;右键点击文件复制,建立副本 ...

技术教程

Win10 注册表的必备使用教程

右键新建内容无文本文档 检查C:\WINDOWS\notepad.exe是否存在,如无可在搜索引擎中下载; 新建后缀为.reg的文本文档,这里可以各自大显身手,留一个参考选择,打开 CMD命令窗口: 1copy con <文件名>.tx...

技术教程

安卓开发学习之底部导航栏实战

创建主布局在 activity 中绑定的布局中,设置如下布局: 1234567891011121314151617<?xml version="1.0" encoding="utf-8"?><...

技术教程

安卓开发学习之 Webview

简介WebView是一个基于webkit引擎、展现web页面的控件。 Android的 Webview 在低版本和高版本采用了不同的 webkit 版本内核,4.4后直接使用了 Chrome。 作用 显示和渲染Web页面 直接使用html文件(网络上...

技术教程

安卓开发学习之 ResyclerView

添加依赖除了引入recyclerview,还引入cardview,它将作为 recyclerview 的子布局 12implementation "androidx.recyclerview:recyclerview:1.1.0"...

技术教程

安卓开发学习之 DrawerLayout

为什么要使用导航抽屉?Android 导航抽屉是一个滑动菜单,用于显示应用程序中的重要链接。 导航抽屉可轻松在这些链接之间来回导航。 默认情况下它是不可见的,需要通过向左滑动或在 ActionBar 中单击其图标来打开它。 其易用性如下: 从活动左...

技术教程

利用 ADB 将安卓投屏到电脑进行调试开发

保证手机与电脑在同一个局域网下,然后查看手机的IP地址: 投屏准备数据线连接手机,并确保手机与电脑在同一个局域网下,然后查看手机的IP地址 通过设置-WLAN,查看当前WiF信息详细,查看IP地址 通过adb命令查看:adb shell netcf...

技术教程

超乎你想象的Stm32中的TIM定时器(基础篇)

注:本文属博主学习时所作笔记,内容源大参考于野火的《零死角玩转STM32F103》以及部分网络资料,笔记内容仅作为自己参考,免去频繁查询参考手册的麻烦,如有错误,还请指出! 定时器分类STM32F1 系列中,除了互联型的产品,共有 8 个定时器,分为...

学习笔记

简单入门CSS预处理器Less和Sass

Sass和Less都属于CSS预处理器,CSS预处理器定义了一种新的语言,其基本的思想是,用一种特殊的语言,为CSS增加一些编程的特性,如变量、语句,函数、继承等概念。将CSS作为目标生成文件,然后开发者就只要使用这种语言进行CSS的编码开发工作。目...

学习笔记

前端入门之Vuejs初试

前言自从上学期期末考试以后,就没有更新博客了,那时候是因为,你懂的嘛; 回到家后,肯定是玩啦,这么长的假期,同学聚会也少不了,过年期间更是忙的没话说,况且,今年的春节被这个新型冠状病毒整的是你死我活的,国家都进入一种战时状态,天佑中华吧,早点过去这次...

学习笔记

前端入门之双飞翼布局与圣杯布局

双飞翼布局 & 圣杯布局圣杯布局、双飞翼布局都是前端工程师必须要掌握的布局方法,从效果上看,它们是一样的,都是左右两栏宽度固定,中间宽度自适应的三栏布局。 还有一些细节要求如: 中间部分属于内容中心,在DOM结构上优先,以便提前渲染; 且三...

学习笔记

前端入门之ES6语法入门

学习笔记

C语言再学习之基础深挖

内联函数 C 中关键字 inline调用函数时,一般会由于建立调用、传递参数、跳转到函数代码并返回等花费掉一些时间,而且一些函数被频繁调用,不断地有函数入栈,即函数栈,会造成栈空间或栈内存的大量消耗。 为了解决这个问题,在C99中特别地引入了inli...

学习笔记

前端入门之ES5基本语法

基本语法1. 语句1var a = 1 + 3; 语句:上述代码则是一行赋值语句,语句是为了完成某种任务而进行的操作; 表达式:1 + 3叫做表达式(expression),指一个为了得到返回值的计算式; 区别在于,前者主要为了进行某种操作,一般...

学习笔记

关于office的一点点使用经验

最近在期末复习,会经常性做一些电子笔记。难免会用到微软的office全家桶,对于一个没有系统性学过这些软件的我来说,遇到很多问题全靠百度过活,百度最有用的功能就是百度经验了,其次就是百度文库,PPT白嫖就是爽! 然后嘛,我特开此贴记录一下我遇到的问题...

技术教程

码字语法三千,我只取一瓢

插入复杂表格 利用 Excel 将表格绘制完成 选择导出保存为.html/.htm网页文档格式 用文本编辑器打开,拷贝table标签内容即可 若需要居中表格,可为 table 标签添加样式属性 1<table style="ma...

学习笔记

Python对文件进行批量重命名

代码及相关详解最近没有在整STM32了,因为期末将近,必须花时间去预习了:joy:,但是还是忙里有偷闲,看到了以前看过的一些经典的影视作品动漫番剧,突然就想把这些作品的海报剧照等收藏起来,于是就淘遍整个网络下载下来好几百张图片,但是重命名就成了问题,...

技术教程

Python学习Demo

Python学习Demo1.1 输入输出 使用input()函数获取键盘输入 1a = int(input('a = ')) 使用getpass,输入无回显 12345678import getpassusername = i...

学习笔记

盘点C语言中你不知道的小细节

语法细节 printf 函数:在打印 %时,需要两个连续的%,而不是转义。 转换说明:即%m.pX或%-m.pX,m 为最小字段宽度,指定了最少显示的字符数量,若少于 m 字符,则右对齐,并用空格补齐,多于 m 仍会完全显示,负号则设置左对齐; p...

学习笔记

Hexo个人博客SEO优化指南

安装sitemap Windows环境下直接在博客根目录打开Git Bash,运行命令: 1234npm install hexo-generator-sitemap --save # sitemap.xml 提交给谷歌搜素引擎npm inst...

技术教程

Win10 子系统 Ubuntu 使用经验

Win10 子系统 Ubuntu 安装 Apache2 错误安装好 Apache2 后,通过命令service apache2 start 启动,报错为: 1AH00076: Failed to enable APR_TCP_DEFER_ACCEPT...

技术教程

小记C语言中的宏定义及条件编译

普通宏定义123456789#define PI 3.14#define a (1+2) //添加括号使语义表达更清楚printf("%s:%d","PI",PI); //引号中的宏定义不会被替换,输出:...

学习笔记

数据结构与算法学习之栈

栈是一种线性表,栈与线性表的最大区别是数据的存取的操作,其插入和删除操作只允许在线性表的一端进行。 一般而言,把允许操作的一端称为栈顶(Top),不可操作的一端称为栈底(Bottom),同时把插入元素的操作称为入栈(Push),删除元素的操作称为出栈...

学习笔记

数据结构与算法学习之队列

队列,和栈一样,也是一种对数据的”存”和”取”有严格要求的线性存储结构。 与栈不同之处在于,队列只能在头尾两端进行操作: 队尾(rear):只能从队尾添加元素,一般叫做 enQueue, 入队; 队头(front):只能从队头移除元素,一般叫做 d...

学习笔记

利用Cloud Studio为博客搭建免费图床

Cloud Studio 已更新,教程失效 搭建的静态博客利用Markdown码字,必然少不了图片,所以需要另外的图床作为辅助,网上有很多优秀的图床程序,不过大多都功能复杂,而且图片放在别人那,让我总感觉不是很放心(万一哪天就跑路了呢?),而自己来搭...

技术教程

数据结构与算法学习之动态数组

什么是数据结构数据结构是计算机存储、组织数据的方式,主要有以下几种: 线性结构:主要有数组链表,栈,队列和哈希表 树形结构:主要有二叉树,红黑树,B树,堆,Trie,哈夫曼树,并查集等 图形结构:邻接矩阵,邻接表 在实际开发应用中,需要根...

学习笔记

数据结构与算法学习之链表

链表动态数组有个明显的缺点,可能会造成内存空间的大量浪费;能否用到多少就申请多少内存?链表可以办到这一点。 链表是一种链式存储的线性表,所有元素的内存地址不一定是连续的: 链表的设计 在 LinkedList 类中,有成员变量 size 和指向头节...

学习笔记

Leetcode 刷题记录之链表

237. 删除链表中的节点请编写一个函数,使其可以删除某个链表中给定的(非末尾)节点。传入函数的唯一参数为 要被删除的节点 。 示例 : 输入:head = [4,5,1,9], node = 5输出:[4,1,9]解释:给定你...

学习笔记

数据结构与算法学习之复杂度

什么是算法算法就是用于解决特定问题的一系列的执行步骤,例如: 123456789101112// 计算 a + b 的值public static int plus(int a,int b) { return a + b;}...

学习笔记

51单片机学习之串口通信

基础知识通信知识 串行通信:数据字节一位一位在一条传输线上逐个传输; 并行通信:多位数据字节同时传输,控制简单,传输速度快。 异步通信:是指通信的发送与接收设备使用各自的时钟控制数据的发送和接收过程。为使双方的收发协调,要求发送和接受设备的时...

学习笔记

51单片机学习之中断系统

概念基础什么是中断当你正在看动漫时,突然手机来电话了,你暂停动漫,去接电话,在接电话的时候,又有人敲门,你暂时放下电话,去开门。我们可以把看动漫当作在执行主程序,那么电话就是中断源,电话铃响了就是中断请求,暂停动漫即是现场保护,接电话就是中断响应,有...

学习笔记

51单片机学习之定时器

概念基础单片机延时基础之前的延时我们都使用的是利用C语言的多次的空循环进行延迟操作,这样的缺点是:CPU时间被占用无法进行其他任务,导致系统效率降低。而且延时时间越长,该缺点越明显,所以,这种延时操作只适用于短暂延时,或简单的项目。 而定时器...

学习笔记

51单片机学习之独立键盘输入

概念基础上拉电阻上拉电阻就是将一个不确定信号(高或低电平),通过一个电阻与电源VCC相连,固定在高电平,电阻同时起限流作用。下拉同理,也是将一个不确定信号(高或低电平),通过一个电阻与地GND相连,固定在低电平。上拉电阻和下拉电阻二者共同的作用是: ...

学习笔记

51单片机学习之数码管

段选和位选例如,你要控制四个数码管,依次是1,2,3,4,你要选择哪一个数码管(一个数码管即为一个“日”)这就是位选,顾名思义为选择位置;之后你要让选择的数码管显示某一个数字或符号,你就要控制数码管的a,b,c,d,e,f,g这七个发光二极管,让其亮...

学习笔记

51单片机学习之流水灯蜂鸣器

流水灯在代码中的延时均使用软件延时,即函数嵌套循环体进行延时; 位输出实现1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484...

学习笔记

hexo使用的不完全填坑指南

在内容里 # 不要与 { 紧挨着例如我的问题: 1$\color{black}{red}$ 出现错误时,黑色我用的是#000而不是black,然后在执行hexo g会有如下报错: 123Template re...

技术教程

利用 spacedesk 连接多个副屏

因为最近一直在学习安卓,在开发过程中,需要查看开源项目的文档,笔记本的15.6的显示屏就完全不够用了,想着自己还有一块连接台式主机的显示器,就差一根VGA数据线了。 连接显示器 闲置显示屏 VGA或HDMI等连接线 连接好后,在设置->系统-...

技术教程

安卓开发学习之 Java 语法及理论学习

理论理解java回调机制[技术详解]: https://blog.csdn.net/xiaanming/article/details/8703708 “一个经典例子让你彻彻底底理解java回调机制” android开发中的同步和异步区别的理解 同步...

学习笔记

安卓开发学习之 Material Design

添加库依赖1implementation 'com.android.support:design:28.0.0' Snackbar控件提供一个可供响应的通知提醒 123456789101112131415161718192021...

学习笔记

安卓开发学习之实现启动页面

实现一个启动页面在res/drawable下,创建一个xml文件,即为启动页面的效果: 12345678910<?xml version="1.0" encoding="utf-8"?>&...

学习笔记

安卓开发学习之掉坑记录集合

Android8.0及以上版本自定义广播无法接收问题今天在学习广播过程中发现,自定义广播无效,由于使用的学习参考书是基于Android7.0的,所以,很自然的想到了可能由于版本问题,网上一查,果然。 原因:Android8在静态广播的使用上做了一些限...

学习笔记

利用FSMC模拟8080时序控制LCD

注:本文属博主学习时所作笔记,内容源大参考于野火的《零死角玩转STM32F103》以及部分网络资料,笔记内容仅作为自己参考,免去频繁查询参考手册的麻烦,如有错误,还请指出! ILI9341 液晶控制器 ILI9341 控制器内部电路连接完后,其余信号...

学习笔记

安卓开发学习之 Kotlin 语言基础

简单介绍定义包包的声明应处于源文件顶部: 123package my.demoimport java.util.*//... 目录与包的结构无需匹配:源代码可以放在文件系统的任意位置。 定义函数带有两个Int参数,返回Int函数: 123fun sum (a:Int,b:Int):Int{ return a+b}

学习笔记

STM32F1XX驱动温度检测模块DS18B20

DS18B20 单线总线的工作方式1. DS18B20 简介DS18B20单线数字温度传感器,即“一线器件”,其具有如下独特的优点。 采用单线总线的接口方式。与微处理器连接时,仅需要1条口线即可实现微处理器与 DS18B20 的双向通信。 测量温...

学习笔记

Git 版本控制使用填坑指北

git pull 失败 ,提示:fatal: refusing to merge unrelated histories**原因:**无关的仓库无法合并 方法: 使用强制命令: 1git pull origin master --allow-unr...

学习笔记

那个初夏的夜晚——与ADC的浪漫邂逅

注:本文属博主学习时所作笔记,内容源大参考于野火的《零死角玩转STM32F103》以及部分网络资料,笔记内容仅作为自己参考,免去频繁查询参考手册的麻烦,如有错误,还请指出! ADC简介STM32f103 系列有 3 个 ADC,精度为 12 位,每个...

学习笔记

STM32的SysTick定时器初体验

注:本文属博主学习时所作笔记,内容源大参考于野火的《零死角玩转STM32F103》以及部分网络资料,笔记内容仅作为自己参考,免去频繁查询参考手册的麻烦,如有错误,还请指出! SysTick介绍SysTick 属于CM3内核的外设,它可以产生非常精确的...

学习笔记

理解STM32的八种输入输出模式

注:本文属博主学习时所作笔记,内容源大参考于野火的《零死角玩转STM32F103》以及部分网络资料,笔记内容仅作为自己参考,免去频繁查询参考手册的麻烦,如有错误,还请指出! 输入模式 上拉输入(GPIO_Mode_IPU) 上拉即把电位提高,也就是在...

学习笔记

STM32的中断优先级及中断编程

注:本文属博主学习时所作笔记,内容源大参考于野火的《零死角玩转STM32F103》以及部分网络资料,笔记内容仅作为自己参考,免去频繁查询参考手册的麻烦,如有错误,还请指出! 中断优先级在STM32中,由内核外设NVIC(嵌套向量中断控制器)控制着整个...

学习笔记