自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(39)
  • 收藏
  • 关注

原创 vue源码阅读|数据驱动

数据驱动new vue的时候发生了什么Vue是个构造函数function Vue (options) { if (process.env.NODE_ENV !== 'production' && !(this instanceof Vue) ) { warn('Vue is a constructor and should be called with the `new` keyword') } this._init(options)}首先检查vu

2021-11-17 21:22:17 152

原创 指针基础||一篇文章带你看懂指针

1. 指针是什么指针是个类型!,数据类型类型是干嘛用的,标注数据长度,做语法提示的。#include <stdio.h>int main(){ char a = 1; char *b = &a; *b = 9999; printf("%d\n", *b); /*char是-127--127,指针也是数据类型,也会标注长度,大类型转小类型会截取*/}2.指针的值指针的值有三种,句柄,地址,空指针空指针char * b = N

2021-10-26 17:52:04 462

原创 框架 || express 中间件的设计

express 中间件1 普通路由先写个普通路由,能够根据不同的路径访问不同的文件const http = require('http')const fs = require('fs')const path = require('path')const server =  http.createServer (function (req, res) {    res.writeHead(200)    res.end(fs.readF

2021-09-23 20:17:15 191

原创 算法 || 1616 疯狂的采药 完全背包问题 c语言题解

(原题链接) [https://www.luogu.com.cn/problem/P1616]无脑简单版#include <stdio.h>long long max (long long a, long long int b) { return (a > b) ? a : b;}int main() { int t, m; scanf("%d%d", &t, &m); long long b [10000001][1000.

2021-09-23 20:09:50 211

原创 算法 || 洛谷 1048 采药 动态规划 c语言

题目链接#include <stdio.h>long long max (long long a, long long int b) { return (a > b) ? a : b;}int main() { int t, m; scanf("%d%d", &t, &m); long long b [101][1001] = {0}; int time[1001], value[101]; //注意这里.

2021-09-22 17:28:06 165

原创 算法 || 洛谷 1004 方格取数 动态规划 c 语言版

题目链接#include <stdio.h>long long max (long long a, long long b, long long c, long long d) { a = a > b ? a : b; c = c > d ? c : d; return a > c ? a : c; }int main() { int n; scanf("%d", &n); int map [10][10] .

2021-09-22 15:57:08 102

原创 算法 || 洛谷 l002 过河卒 c语言 递归 递推解法 空间压缩

leetcode l002 过河卒 c语言 递归 递推解法(题目链接) [https://www.luogu.com.cn/problem/P1002]递归解法#include <stdio.h>#include <string.h>#include <stdlib.h>long long shortest_path (int x, int y, int m, int n, long long (*hash)[21]) { if(hash[x][y]

2021-09-17 21:19:38 710

原创 其他 || 关于工具,前后端的思考

“前段, 后端?”前段, 后端是什么?前段后端只是一个代词, 站在用户的角度,运行在用户终端的就叫做前段,不运行在用户的终端里的就叫做后端jsp首先用户根据url请求,url有个路由的逻辑,路由是根据不同url运行不同的程序。按照路由的功能分成两种路由: 文件路由和api路由api路由: 一般后端提供给前段的接口,就是url的形式,api路由主要是动态的操作:比如支付等文件路由: 文件路由是静态的,就是根据url地址返回对应的文件流jsp其实就是在路由这里动了手脚,做了一些动态操作

2021-08-31 09:34:03 56

原创 js || 关于副作用和数组的迭代方法

关于副作用和数组的迭代方法好的代码是规避副作用的副作用向上传递举个例子: 给数组的每个元素+1, 这里不需要对数组的每个元素操作,可以用map创建一个新数组,然后把新数组直接赋值给旧数组,数组是个对象,是immutable的。他的值不会被改变,我们把新数组赋值给变量,其实是改变了对象的引用,但是旧数组还在,只是因为没人引用被回收了。这里副作用是1次。如果用forEach就是n次这就是只创建,不改变的思想为什么要减少副作用副作用是编程里的名词,是对运行环境做出的改变在计算机科学中,函数副作用指

2021-08-17 22:29:26 152

原创 CSAPP||有符号数和无符号数

有符号数和无符号数的转换有符号数转换成无符号数x={x+2wx<0xx>=0x=\begin{cases}x + 2^w & \text{x<0}\\x& \text{x>=0}\end{cases}x={x+2wx​x<0x>=0​无符号数转补码x={xx<=Tmaxx−2wx>Tmaxx=\begin{cases} x & \text{x<=Tmax}\\ x - 2^w& \text{x&g

2021-08-12 10:40:05 176

原创 js||new和call()的简易实现/原理

newnew主要就做了三件事创建一个空对象把构造函数的this改成空数组的this空对象的__proto__等于构造函数的prototypefunction my_new(fn) { var obj = {} fn.call(obj) //改变的是fn,把fn的this改成obj obj.__proto__ = fn.prototype return obj }changeThis...

2021-07-28 21:42:03 174

原创 js||运动框架

运动框架匀速运动<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <t.

2021-07-27 00:22:46 162

原创 数据结构||hashmap,哈希表c语言链表实现

#include <stdio.h>#include <stdlib.h>#include <string.h>// 节点结构typedef struct _int_list_node { //定义了一个节点的结构 int value; struct _int_list_node * next; //这里不能简写,因为*int list node 还没有用typedef定义呢,所以只能写的麻烦一点 struct _int_list_nod

2021-07-22 11:06:35 106

原创 JS||DOM文档对象模型

JS||DOM文档对象模型文章目录JS||DOM文档对象模型Table of Contents1 event1.1 查找节点1.2 获取属性和设置属性1.3 绑定事件1.4 事件捕获和事件冒泡1.5 事件对象文档Table of ContentsGoals1 Infrastructure1.1 Trees1.2 Ordered sets1.3 Selectors1.4 Namespaces2 Events2.1 Introduction to “DOM Events”2.

2021-07-21 23:57:56 74

原创 js_outline|学习大纲&框架

outline运行环境1. node 1. node api 1. 文件管理(读取文件,可以新建,删除bulabula) 2. 进程管理(调用子进程,浏览器,别的语言的函数bulabula) 3. http服务(给浏览器发送一个request,返回一个response,基于http协议实现,就是可以控制浏览器返回什么数据,具体结果看浏览器的渲染(有默认格式,可以通过css修改)) 2. commonjs:模块化规范(类似于

2021-07-16 02:21:55 400

原创 Linux||Ubuntu20.04 入坑指南

文章目录ununtu入坑指南1 安装2. 配置2.1 软件方面2. 0 软件源2.1.1 编程方面2.1.2 日常工具2.2 主题方面2.3 问题2.3.1 触控板2.3.2 开关机以及重启2.4 科学上网2.5 othersununtu入坑指南1 安装做系统盘分盘较详细2. 配置2.1 软件方面用软件安装deb不行的话用命令行#使用dpkg命令安装.deb文件#要.deb使用dpkg命令安装文件,我们将使用-i参数。#让我们来看一个例子:$ sudo dpkg -i ./goo

2021-07-12 23:56:20 511 2

原创 计算机网络基础||从输入URL到打开页面到底发生了什么(待完善)

文章目录从输入URL到打开页面到底发生了什么1 应用层1.1 解析URL1.2 生成HTTP请求消息1.3 向DNS服务器查web服务器的ip地址1.3.1 通过解析器向dns服务器查询1.3.2 解析器1.4 委托协议栈发送消息1.4.1 概览1.4.2 应用程序委托收发数据的过程2 传输层2.1 协议栈概览……2.2 创建套接字2.2.1 套接字是啥2.2.2 调用组件的操作2.3 连接服务器2.3.1 连接啥意思2.3.2 连接过程2.4 收发数据2.4.1 发数据2.4.1.1 原理2.4.1.2

2021-06-08 08:53:27 254

原创 数据结构||c语言链表实现 指针结构体练习

#include <stdio.h>#include <stdlib.h>typedef struct _int_list_node { struct _int_list_node * next; struct _int_list_node * prev; int value;} * int_list_node;typedef struct _int_list { int_list_node head; int_list_node

2021-06-08 08:45:47 81

原创 数据结构||栈和队列的数组实现 c语言

//队列#include <stdio.h>#include <stdlib.h>#define SIZE 5typedef struct Stack{ int data[SIZE]; int right; int left;} * pQueue;pQueue creat(void) { pQueue p = (pQueue) malloc (sizeof(pQueue)); p->left = 0

2021-06-08 08:42:17 95

原创 自动有限状态机/自动机 实现简单分词器

自动有限状态机1 是啥在计算理论中,确定有限状态自动机或确定有限自动机(英语:deterministic finite automaton, DFA)是一个能实现状态转移的自动机。对于一个给定的属于该自动机的状态和一个属于该自动机字母表{\displaystyle \Sigma }[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-OQsfyOAy-1622045559431)(https://wikimedia.org/api/rest_v1/media/math/rende

2021-05-27 00:13:43 387

原创 nodeJS|nodeJS是什么、commonJS、模块化

1 是什么就是是脚本语言,脚本需要解析器,在浏览器里面的js,浏览器是环境,提供了dom对象等等,而独立运行的js,node是解析器运行在nodejs里面的js的作用是操作文件或者搭建web服务器,所以有http或者是fs内置对象2 有什么用nodejs生来是为了做web服务器,要求语言有良好的事件支持机制和异步IO3 模块编写代码大的程序的时候会将代码模块化js的模块化大概有两种常用的 commonjs和es module3.1 .1变量污染html里可以引进script,那两个

2021-05-23 12:30:27 172

原创 JS异步(二)| 异步是怎么回事、eventloop

文章目录1 原理2 异步的实现3 例子js是单线程的,无论在什么运行环境。虽然浏览器里可以有一个web worker多线程,但是还是有些问题,基本数都是单线程,那我们可能有些奇怪,JS不是单线程嘛,怎么还能创建HTTP?答案就是----------异步1 原理var time = Date.now()var asetTimeout(function(){ console.log(Date.now() - time)},1000)for(var i = 0; i < 39

2021-05-22 15:00:33 119

原创 js异步(一)|进程和线程

1 进程和线程1.1 进程进程是操作系统分配资源的最小单位这里的资源是指cpu、内存这类的东东假如我是个包工头,我在一个母公司,母公司有好多的工程师,我接到任务要分配给工程师,比如今天接到一个政府的工程,我从母公司分配了10个工程师去工程组,明天我接到两个工程,分配两个工程师去在这里:母公司=计算机工程师=资源我=操作系统分配=创建进程工程组=进程为什么说我这个包工头是资源分配的最小单位呢?因为母公司不可能只有我一个人去资源分配,可能公司还有组织架构,分部门的,比如政府

2021-05-21 23:59:04 68

原创 node.js|保存文件时自动重启进程

1.需求学习http协议的时候,用node.js创建了http服务,在客户端与服务端通信,但是有一个问题就是当我退出主进程的时候,监听端口的进程并没有退出,一开始是手动在cmd里面杀进程,但是这样太麻烦了,于是想做个自动杀进程的工具,顺便学一下进程管理。当ctrl+s保存的时候,服务自动重启手动输入stop杀进程,输入reload重启(这个不考虑是否多次一举,就是我学node和http的练手而已)2.准备这里是一个http服务,根据不同的url在‘访问在’public“文件夹的不同文件co

2021-05-20 21:07:23 551

原创 Typora阿里云OSS PicGo 配置图床 超详细图解

文章目录typora图床设置1.为什么要用图床2.图床是什么3.图床选择3.1好用图床推荐3.1.1免费图床3.1.2付费图床本教程介绍阿里云OSS PicGo 配置图床4.购买阿里云OSS服务6.配置picgo7.配置typoratypora图床设置1.为什么要用图床起因我们在写文章时,通常需要单独存储图片资源,不仅占用磁盘空间,而且不好管理。(在上传到GitHub或者复制到CSDN之类的博客时,总要手动加上图片,要不然就访问不了。)自从全面使用 Markdown 进行个人文件记录后,深感其在这图

2021-05-16 00:16:30 730 2

原创 学习node.js的好文

介绍了流:https://nodesource.com/blog/understanding-streams-in-nodejs/一个简单的教学文档:http://nqdeng.github.io/7-days-nodejs/#1

2021-05-15 15:11:23 66

原创 LeetCode697. 数组的度 hash表|双指针|一遍循环 c语言代码

题目给定一个非空且只包含非负数的整数数组 nums,数组的度的定义是指数组里任一元素出现频数的最大值。你的任务是在 nums 中找到与 nums 拥有相同大小的度的最短连续子数组,返回其长度。示例 1:输入:[1, 2, 2, 3, 1]输出:2解释:输入数组的度是2,因为元素1和2的出现频数最大,均为2.连续子数组里面拥有相同度的有如下所示:[1, 2, 2, 3, 1], [1, 2, 2, 3], [2, 2, 3, 1], [1, 2, 2], [2

2021-04-26 12:58:50 81

原创 vscode用git报错 gpg: skipped “danan <[email protected]>“: No secret key

> git -c user.useConfigOnly=true commit --quiet --allow-empty-message --file - -Sgpg: skipped "danan <[email protected]>": No secret keygpg: signing failed: No secret keyerror: gpg failed to sign the datafatal: failed to write commit object解

2021-04-18 15:04:31 3628 4

原创 程序猿必备技能--看官方文档那些事|官方文档阅读技巧|为什么要看文档~(个人总结,有感而发)

是什么官方发布的文档为什么要看出版书籍的毕竟是需要面对更多的受众,不够细节,而有些工具,不可能是大众的。并且出版需要时间,有些最新技术的获取,比较好的来源也就是官方文档或者是社区了。因此,走官方文档+社区这条路是比较好的技术获取源泉。对我而言,现在面临新事物的时候,都是先去看看官方的Document。好处:内容是最新的,方便,省钱,基本不会出现错误获取的信息密度较大(比如作者准备书和文档的时间都是一个月,但是读一章书和可能要2小时,看文档是10分钟。),因为文档经过分类,规划和润色,一些的名字

2021-04-16 15:00:45 3182

原创 css揭秘|第四章:视觉效果

单侧投影单侧投影只有下侧有投影box-shadow: 0px 4px 4px -4px red;只有左侧有投影box-shadow: -4px 0px 4px -4px red;只有右侧有投影box-shadow: 4px 0px 4px -4px red;只有上侧有投影box-shadow: 0px -4px 4px -4px red;邻边投影box-shadow: 6px 6px 4px red;双侧投影box-shadow: -4px 0px 4px -4px re

2021-04-11 17:58:55 216

原创 css揭秘|第三章:形状

自适应的椭圆以下是个普通圆形<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0">

2021-04-08 18:23:48 81

翻译 css文档第九章 visual formatting model自己的学习笔记,如有错误请多指正

visual formatting model9.1 introduction to the viaual formatting model这节是介绍视觉格式化模型:UA是怎么在media下处理文档树的。在视觉格式化模型中,在文档树的每个元素根据盒模型生成个或者更多的盒子,这些盒子的布局被以下东东控制*box dimensions and type.*盒子*positioning scheme (normal flow, float, and absolute positioning).*定位

2021-04-06 12:06:08 290

原创 css揭秘第二章:背景与边框,自己的学习笔记,如有错误请多指正

1 半透明边框 width: 200px; height: 200px; background: white; border: 10px solid hsla(0, 0%, 100%, 0.5); background-clip: padding-box;默认背景是延伸到边框的下层的,但是我们要body的背景从半透明白色边框透上去,可以通过改变background-clip属性的值来处理,这个属性初始值是border-box,是表示背景会被border的外边缘切掉,改成

2021-04-05 20:22:26 202 2

原创 css揭秘第一章:引言,自己的学习笔记,如有错误请多指正

web标准w3c的标准是公开的,讨论被记录在这里 https://lists.w3.org/Archives/Public/www-style/每周的会议会被记录在这里http://irc.w3.org/一个规范的诞生:草案(ED)首个公开工作草案(FPWD)工作草案(WD)浏览器的早期实现是从这开始的候选推荐规范(CR):相对稳定版本提名推荐对反(PR):这是反映意见的最后机会正式推荐规范(PEC)推荐阅读https://fantasai.inkedblade.net/w

2021-04-04 16:41:50 124

翻译 w3c文档|7 Media types 自己的学习笔记,欢迎指正

introduction to media typescss一个重要的特性怎样指定文档在不同的媒体之中呈现。在屏幕,纸上,盲文设备上,等等。确定的css样式只是为了确定的呈现方式。然而,在不同的媒体类型xss可能分享属性。但是这些属性需要指定不同的值,例如在纸上和屏幕都有font-size属性,但是在纸上字体就要大一些。所以css需要应用于特定的media types。Specifying media-dependent style sheets有两个方式来指定依赖的媒体类型用@media

2021-03-29 20:56:08 194

翻译 W3C文档 5 . selector 选择器,自己的学习笔记,欢迎指正

选择器通配符选择器类选择器后代选择器用空格分隔<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=

2021-03-29 17:46:03 212

翻译 w3c文档 Syntax and basic data types语法和基本数据结构 自己的学习笔记,欢迎指正

选择器通配符选择器类选择器后代选择器用空格分隔<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=

2021-03-29 17:30:33 125

翻译 6.Assigning property values, Cascading, and Inheritance(属性值,级联和继承)自己的学习笔记,带有个人理解,欢迎指正

6.Assigning property values, Cascading, and Inheritance(属性值,级联和继承)Specified, computed, and actual values最后的属性值有4步,先有个指定值(specified),再把它解析成能继承的值(the computer value)再把它解析成使用是的值(used name)再把根据应用环境解析成实际应用的值(actual value)Specified values指定值的优先级顺序:如果级联有值,就

2021-03-29 17:19:34 100

原创 报错 [Error] expected primary-expression before ‘)‘ token

#include <stdio.h>int main(){ int a,b; printf("请输入两个数", a,b); scanf("%d %d",&a ,&b); double c=(a+b)/2.0; printf("%d和%d的平均数为%f",a,b,c,); return 0;}改正#include <stdio.h>int main(){ int a,b;...

2020-09-14 21:41:41 22256 5

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除