css100days
100 Days CSS Challenge
Day #1100 Days CSS: An easy start into the challenge with a custom build number with gradient.
我的提交:A Pen by arigreat (codepen.io)
Day #2Menu Icon: Used on almost every website by now, simple but impressively animated it becomes a real eye-catcher
我的提交:A Pen by arigreat (codepen.io)
Keys:
利用transform设置旋转中心,rotate,translateX, translateY实现绕中心旋转。
js利用.classList.toggle进行动画的添加删除,实现点击效果。
Day #3The Pyramide: Not as challenging as the real pyramids in Egypt, but the shadow p ...
Vue入门
简介 | Vue.js (vuejs.org)
基础介绍环境准备vue安装
方式一 vue CLI脚手架
npm安装:npm install -g @vue/cli,通过vue create 项目名创建
方式二 vite
npm安装:npm init vue@latest
注意: cli(webpack编写)和vite(es6编写)是完全不同的,两者在配置上有区别。
项目配置
Vue创建项目的步骤_npm init vue@latest-CSDN博客
框架介绍单文件组件
单文件组件( .vue 文件,缩写为 SFC)。顾名思义,Vue 的单文件组件会将一个组件的逻辑 (JavaScript),模板 (HTML) 和样式 (CSS) 封装在同一个文件里。
声明式渲染
Vue 的核心功能是声明式渲染:通过扩展于标准 HTML 的模板语法,我们可以根据 JavaScript 的状态来描述 HTML 应该是什么样子的。当状态改变时,HTML 会自动更新。
API风格
选项式API:
可以用包含多个选项的对象来描述组件的逻辑,例如 data、methods 和 mounted。选项所定义的属 ...
Soildity智能合约
soildity的在线ide remix:https://remix.ethereum.org/
soildity学习网站 CryptoZombies:#1 Solidity Tutorial & Ethereum Blockchain Programming Course | CryptoZombies
基于CryptoZombies的soildity学习笔记(友链):ZombieBlock | uloveRock?
Solidity: Beginner to Intermediate Smart ContractsLesson 1:创建一个合约
合约
Solidity 的代码都包裹在合约里面. 一份合约就是以太应币应用的基本模块, 所有的变量和函数都属于一份合约, 它是你所有应用的起点.
Solidity 源码都必须使用 “version pragma” — 标明 Solidity 编译器的版本.
12345pragma solidity ^0.4.19;//编译器版本标识// 合约contract helloworld {}
变量类型
uint ...
Python爬虫的简单实现
基础知识爬虫(spider),是指向网站/网络发起请求,获取、分析并提取有用信息的程序。
爬虫架构Python 爬虫架构主要由五个部分组成,分别是调度器、URL管理器、网页下载器、网页解析器、应用程序。
调度器:调度url下载器,网页下载器,网页解析器之间的工作。
url管理器:url队列管理,设置爬取顺序权重,防止重复爬取和循环爬取,将需要使用的url传递给网页下载器。
网页下载器:自动获取网页内容,下载产出HTML文件传递给网页解析器。
网页解析器:从HTML中提取数据并存储,提取新的url补充至url管理器。
应用程序:由提取出的有用数据组成的应用。
http协议–请求与响应request:用户将信息通过浏览器发送给服务器。
response:服务器接收并分析请求,返回数据。
爬虫需要一定的http基础,请自行搜索。
可参考Python爬虫详解(一看就懂)-CSDN博客
vscode环境搭建下载扩展pip manager:便于pip安装管理扩展。下文的扩展请自行搜索下载。
网页下载器requestsrequest
response
简单操作12345678imp ...
node.js入门
模块化模块化:将大文件拆成独立并互相依赖的多个小模块。可提高代码的复用性,可维护性,实现按需加载。
nodejs遵循CommonJS模块化规范。
模块导入require加载模块require可以加载需要的内置模块、用户自定义模块、第三方模块(包)。
1234//内置模块const fs = require('fs')//自定义模块const fs = require('myJS.js')//后缀可省略,可写作require('myJS')
require引入时会直接运行一遍模块的所有代码,并将其放入缓存。例如,若myJS.js中有一句console.log('hello'),引入后会直接打印出hello
缓存后的模块不会被重复加载,即多次调用require不会多次执行模块代码
模块导出模块作用域模块作用域:在自定义模块中定义的变量、方法等成员,只能在当前模块内部被访问。
通过模块作用域,可以防止不同模块使用相同变量名导致的全局变量污染。
module.exportsjs的module对象存储了当前js ...
AJAX笔记
本文url实例主要参考:必须先读 - 黑马前端 (apifox.com)
AJAX = 异步 JavaScript 和 XML,是一种在无需重新加载整个网页的情况下,能够更新部分网页的技术。
axiosnpm安装后引入axios.js
在线引用:
1<script src="./node_modules/axios/dist/axios.min.js"></script>
基本使用12345678910111213141516171819202122232425262728293031//axios get请求 获取数据axios({ url: 'http://ajax-api.itheima.net/api/area', method:'get', params:{ pname: '四川省', cname:'成都市' } ...
C++ STL容器
迭代器(Iterator)迭代器(Iterator)是一种可以遍历容器元素的数据类型。迭代器是一个变量,相当于容器和操纵容器的算法之间的中介。迭代器可以指向容器中的某个元素,通过迭代器就可以读写它指向的元素。从这一点看,迭代器和指针类似。
迭代器定义
正向迭代器,定义方法:容器类名::iterator 迭代器名;
1std::vector<int> ::iterator it; //it能读写vector<int>的元素
常量正向迭代器,定义方法:容器类名::const_iterator 迭代器名;
1std::vector<int>::const_iterator it;//it只能读vector<int>的元素,不可以修改vector<int>中的元素
反向迭代器,定义方法:容器类名::reverse_iterator 迭代器名;
1std::vector<int> ::reverse_iterator it;
常量反向迭代器,定义方法:容器类名::const_reverse_ ...
Mr.Morale的十八次心理咨询
Mr. Morale & the Big Steppers —–Kendrick Lamar
站在美国文化浪潮最高点的Kendrick褪去种族领袖的外衣,带上荆棘王冠,走下圣人的神坛。Mr. Morale通过十八次心理咨询,选择拯救自己。
Disc 1 | The Big SteppersSession 1: I grieve different —United in GriefI hope you find some peace of mind in this lifetime
(Tell ‘em, tell ‘em the truth)
I hope you find some paradise
(Tell ‘em, tell ‘em the truth)
(Tell ‘em, tell ‘em, tell ‘em,tell ‘em your—-)
track 1,Kendrick开启这场心理咨询,选择揭示自己关于家庭的秘密。
Everybody grieves different,and I grieve different
Session 8: Hold on to ...
数据结构--基础知识
数据结构是计算机存储、组织数据的方式。常见的数据结构有:数组(Array)、栈(Stack)、队列(Queue)、顺序表(SeqList)、链表(Linked List)、树(Tree)、图(Graph)、堆(Heap)、散列表(Hash)等。
栈(Stack)栈是一种只能在表尾部进行添加和删除元素操作的线性表。是后进先出(First In First Out)的线性表。
特点进行插入(入栈)和删除(出栈)的一端称为栈顶(top),另一端称为栈底(bottom) ,通常以top = -1表示空栈,栈底不允许操作;
不含任何数据元素的栈称为空栈;
使用数组结构实现的栈称为顺序栈,单链表实现的结构称为链栈。
多栈共享技术一个程序可能需要使用多个栈,使用顺序栈会因为大小难以准确估计,会产生有点栈溢出,有的栈空间空闲的情况,通过多栈共享技术可以让多个栈共享一个足够大的数组空间。
最常用的是两个栈的共享技术,即双端栈。
双端栈双端栈利用了栈“栈底位置不变,而栈顶位置动态变化”的特性。
方法:
首先为两个栈申请一个共享的一维数组空间S[M] ;
将两个栈的栈底分别放在一维数组的两端,分 ...
数据结构--排序算法笔记
冒泡排序原理从左到右依次比较相邻元素大小,将更大的元素放在右边,经过一组比较后最后一个元素一定是最大元素;
从头开始重新进行从左到右的比较,由于前一轮已经是最大的元素,故不需要参与比较,每轮结束都会减少一个参与比较的元素;
每轮结束都会得到一个最大值,并以从右往左从大到小确定元素的顺序,直到排序结束。
动图演示
代码12345678910111213141516171819202122void swap(int *a,int *b){ int temp = *a; *a = *b; *b = temp;}void bubble_sort(int *arr, int n){ int Cnt, Idx = 0; //n个数排n-1次 for (Cnt = 0; Cnt < n - 1; Cnt++) { //去除排序完成的末位数 for (Idx = 0; Idx < n - Cnt - 1; Idx++) { if (arr[Idx] > arr[Idx + 1]) { sw ...