- 博客(86)
- 收藏
- 关注
原创 针对Web Component 和 Vue 的一些感想
读书笔记 2021/1/5不知何时有了框架注定会过时的这种观点,所以最近一直在寻求原生开发的方式,也就是web component。趁着最近有空,一天读完了Building Native Web Component 这本书讲一下对于web component原生开发的一些想法。在阅读此书之前,我已尝试用原生写了一个小项目,由于之前有开发过vue的经验,对与web component 的感受是,麻烦。项目架构,路由管理,以及存储都需要自己编写代码,这无疑会导致花费更多的时间与精力,所以我认为web co
2021-01-05 17:14:14
1012
原创 csp:相反数
201403-1试题名称: 相反数时间限制: 1.0s内存限制: 256.0MB问题描述: 问题描述 有 N 个非零且各不相同的整数。请你编一个程序求出它们中有多少对相反数(a 和 -a 为一对相反数)。输入格式 第一行包含一个正整数 N。(1 ≤ N ≤ 500)。 第二行为 N 个用单个空格隔开的非零整数,每个数的绝对值不超过1000,保证这些整数各不相同。输出格式 只输出一个整数,即这 N 个数中包含多少对相反数。样例输入51 2 3 -1 -2样例输出2#i
2020-12-04 15:30:03
280
原创 csp:ISBN
问题描述 每一本正式出版的图书都有一个ISBN号码与之对应,ISBN码包括9位数字、1位识别码和3位分隔符,其规定格式如“x-xxx-xxxxx-x”,其中符号“-”是分隔符(键盘上的减号),最后一位是识别码,例如0-670-82162-4就是一个标准的ISBN码。ISBN码的首位数字表示书籍的出版语言,例如0代表英语;第一个分隔符“-”之后的三位数字代表出版社,例如670代表维京出版社;第二个分隔之后的五位数字代表该书在出版社的编号;最后一位为识别码。 识别码的计算方法如下: 首位数字乘以1加
2020-12-04 15:13:15
244
原创 csp:出现次数最多的数
试题编号: 201312-1试题名称: 出现次数最多的数时间限制: 1.0s内存限制: 256.0MB问题描述: 问题描述 给定n个正整数,找出它们中出现次数最多的数。如果这样的数有多个,请输出其中最小的一个。输入格式 输入的第一行只有一个正整数n(1 ≤ n ≤ 1000),表示数字的个数。 输入的第二行有n个整数s1, s2, …, sn (1 ≤ si ≤ 10000, 1 ≤ i ≤ n)。相邻的数用空格分隔。输出格式 输出这n个次数中出现次数最多的数。如果这样的数有多
2020-12-04 14:38:26
225
1
原创 python2
import randomdef main(): wordsDisk=[] file = open("hamlet.txt", encoding='UTF-8') text = file.read() if not text: print("文件读取失败") data = text.replace('\n', '').replace(',','').replace('|','').replace('!','') \ .repla
2020-12-03 20:33:24
113
原创 python1
def main(): file = open("score.txt", encoding='UTF-8') readData = [] while 1: line = file.readline() if not line: break splitLine = line.replace('\n', '').split(',') readData.append(splitLine) fil
2020-12-03 20:09:41
94
原创 sscanf 和 sprintf对数字与字符的转换
#include <cstdio>#include <string>using namespace std;int main(){ int n; scanf("%d",&n); char s[20]; sprintf(s,"%d",n);//number change into char arr printf("%s",s); string s2(s); //char arr change into string printf("\n%s",s2.c
2020-12-03 16:22:33
143
原创 csp:碰撞的小球
#include <iostream> using namespace std;struct ball{ int index; int speed;};int main(){ int n,L,t; cin>>n>>L>>t; ball balls[n]; for(int i=0;i<n;i++){//input int a; cin>>a; balls[i].index=a; balls[i].speed=
2020-12-03 15:29:18
131
原创 浅析MFC自定义消息
1、使用场景通过点击按钮,来实现数据的更新,这个过程在MFC中是由消息机制来实现的,但是如果我想点击对话框中的按钮,在不关闭对话框的情况下更新数据,这就要使用到自定义消息2、使用方法1、消息一般都包含消息名称和消息所传递的数据,所以第一步当然是:定义消息名称和消息的数据#define WM_USER_APPLY WM_USER+0x100 //定义消息名称typedef struct tagELLPROP { //消息所附带的数据包 /*int nWidth; int nHeight; i
2020-11-26 16:17:10
451
原创 算法巧解:csp稀疏向量:使用map(键值对)
1、事件起源于csp一算法题目稀疏向量2、然后我写出代码版本一这个代码很简单,就是简单模拟一下,使用两个数组,分别存储两个向量,最后再遍历一下就ok ,但是只有60分,因为该存储方式是将稀疏向量恢复为不稀疏的向量存储的,导致在测试最大的几个数据项的时候内存不够用#include <cstdio>using namespace std;int main(){ long long n; int u,v; scanf("%d%d%d",&n,&u,&v);
2020-11-23 12:10:22
283
原创 算法题:csp回收站
#include <cstdio>//#include <iostream>//#include <string>//#include <vector>using namespace std;struct s_point{ int x; int y; bool isRecycle; int score;};int main(){ //input row1: waste number n row1+i: position positi..
2020-11-22 18:42:36
86
原创 C++:栈、堆、静态的比较
栈对象的优势是在适当的时候自动生成,又在适当的时候自动销毁,不需要程序员操心;而且栈对象的创建速度一般较堆对象快,因为分配堆对象时,会调用operator new操作,operator new会采用某种内存空间搜索算法,而该搜索过程可能是很费时间的,产生栈对象则没有这么麻烦,它仅仅需要移动栈顶指针就可以了。但是要注意的是,通常栈空间容量比较小,一般是1MB~2MB,所以体积比较大的对象不适合在栈中分配。特别要注意递归函数中最好不要使用栈对象,因为随着递归调用深度的增加,所需的栈空间也会线性增加,当所需栈空间
2020-11-21 18:22:00
120
原创 nodejs:建立本地http服务器并连接mysql数据库
1、使用mysql 模块和 HTTP模块//those code is aim to create a server by using http mode and connet to mysql databaseconst http = require("http");var mysql = require('mysql');var connection = mysql.createConnection({ host : 'localhost', user : 'root'
2020-11-18 21:03:24
899
1
原创 算法技巧:c++给布尔类型赋初值的重要性
1、问题背景在算法练习中,通过使用布尔值来进行判断,如codes1: if(p[j].x>=xl&&p[j].x<=xr&&p[j].y>=yd&&p[j].y<=yu){ //point is passby? p[j].isPassby = true; personPassby = true; }codes2:if(p[j].isPassby==true){ kcount++; i
2020-11-15 15:52:43
749
原创 算法技巧:巧用sort对结构体排序
1、应用场景:对结构体数组进行排序2、使用sort(需引入algorithm)中的自定义排序方法即为sort函数的第三个参数cmpsort(v.begin(),v.end(),cmp)3、sort的使用3.1 sort默认升序排序,降序的话将结果reverse(这是个函数)一下成为降序3.2 自定义比较函数 例如bool cmp1(int a,int b) //按降序排列 6 { 7 return a>b; 8 }4、具体实例称检测点查询来源:CCF标签:
2020-11-15 14:15:23
1802
1
原创 算法技巧:c++数字转string字符类型并用printf输出
1、利用sprintf将数字转到char数组中char buffer[256];int counter = 10;sprintf(buffer,"%d", counter);c++2、将char数组转成string对象string number = string(buffer);3、使用printf输出printf("%s", number.c_str());4、用处可以对数字进行一些操作,例如格式输入999,999,225#include <stdio.h>
2020-11-12 16:22:38
342
原创 .net framework无法开启服务 vs无法打开
1、在某一次windows 的狗血更新后,我的VS2019 打不开了查阅得知是.net framework 没有打开2、花了很久时间找方法方法如下原网站
2020-11-11 18:27:04
890
1
原创 python测试
```pythonimport random# 定义玩家farmer1 = [] #农民farmer2 = [] #农民landlord = [] #地主lastCard = []card = [] #牌组# 输出牌def putCard(card): card = sorted(card) print(card)# 生成牌for i in range(1, 14): if i == 1: i = "A" elif i == 1.
2020-11-05 20:35:28
125
原创 电脑不要使用中文名的账户
使用中文名后,电脑的注册表会一直保留,难以删除,虽然普通用户使用起来不会有太大的问题。但作为一个程序员,可能会或多或少遇到问题,so try you best to avoid it
2020-10-27 13:33:57
3139
原创 解决vue template区域注释出现“//”的问题
问题原因:插件冲突详细原因:vetur与vue 3 sippets 或者 element-ui sippets冲突解决办法:注意作者和版本号,这几个插件开发够用了
2020-10-05 14:28:17
1072
1
原创 CSS_Flex布局
Flex布局第一讲 声明一个弹性盒子1、 弹性盒子的构建(在弹性盒子里面的元素可认为是弹性元素)Display:flex(块级元素)Display:inline-flex(行内块级元素)块级元素和行内块级元素的概念第二讲 规则一,改变盒子里面的方向1、 弹性元素排列方式声明Flex-direction:row 行排列Column 纵排列Column-reverse 翻转纵排列Row-reverse 翻转行排列2、 弹性元素折行(flex-wrap,当弹性元素溢出一行的处理)Fl
2020-09-25 21:15:29
141
原创 web-交互设计:粒子发射器
HTML文件:<!DOCTYPE html><html> <head> <meta charset="utf-8" /> <title>Random Particles</title> </head> <body style="margin: 0;"> <canvas></canvas> </body> <script src="./js/ind
2020-09-22 11:27:42
246
原创 python类基础
1、类的定义1、这里的self和this指针功能类似2、类的属性一定得初始化3、私有变量在前面加双下划线class Box(): def __init__(self,length,width,height): '''这个函数是构造函数''' self.length = length self.width = width self.height = height def volmum(self): '''这个函数是自定义函数''' return
2020-07-07 21:55:44
145
原创 ThreeJs顶点位置数据渲染
1、ThreeJs通过顶点位置信息来渲染有三种渲染模式点 线 面2、思维导图3、完整源码<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>第一个three.js文件_WebGL三维场景</title> <style> body { margin: 0; overflow: hid
2020-07-07 16:26:52
965
原创 ThreeJs顶点颜色信息渲染
1、实现效果线和面都会根据顶点的颜色进行渐变1、点渲染2、线渲染3、面渲染2、思维导图3、实现流程1、创建一个空几何体2、创建空几何体的顶点位置数据(类型数组)3、创建属性缓冲区对象(生成顶点)4、设置几何体的attributes属性的位置position属性(将顶点赋给空几何体)5、创建空几何体的顶点位置数据(类型数组)6、创建属性缓冲区对象(生成RGB颜色)7、设置几何体的attributes属性的颜色color属性(将颜色赋给空几何体)4、关键代码1、点渲染 /
2020-07-07 16:26:41
1907
原创 ThreeJs顶点法向量光照计算
1、实现步骤1、创建空几何体的法向量数据(类型数组)2、创建属性缓冲区对象(生成法向量)3、设置几何体的attributes属性的位置normal属性(将顶点赋给空几何体)2、意义功能法向量可以与光源进行光照计算,来实现几何体的棱角感3、思维导图4、关键代码 var normals = new Float32Array([ 0, 0, 1, //顶点1法向量 0, 0, 1, //顶点2法向量 0, 0, 1, //顶点3法向量 0, 1,
2020-07-07 16:26:22
1508
原创 python函数基础
1、函数的定义def 函数名([参数]):函数体[return 返回值]dic = {'name':'JOJO','age':'18','sex':'man'}def getDicValue(dic): temp = len(dic) return temp;temp = getDicValue(dic)print(temp)32、函数的传参方式1、位置传参2、关键字传参3、变量传参#-*- coding:UTF-8 -*-dic = {'name':'JOJO'
2020-07-07 16:25:13
151
原创 python字典
1、字典的定义key:value ,key不可重复b = {a:b}2、字典基本操作1、字典元素获取1、数组下标访问3、字典元素修改1、数组下标访问4、字典元素删除1、del操作符删除3、高级操作方法方法1、删除字典内全部元素clear()...
2020-07-03 19:17:27
289
原创 python元组
1、元组的声明test = ()test = (1,)注意:在只有一个元素的时候要在后面加逗号,保证数据类型是元组2、元组的访问1、通过数组下标访问2、通过切片访问3、元组中的值不能被修改
2020-07-03 18:36:07
90
原创 python列表的操作方法
1、列表的定义test = [ ]2、基本操作方法1、获取元素1、通过索引获取元素2、通过切片获取元素(和字符串类似)3、高级操作方法1、尾部增加元素 append()2、列表清空clear()3、复制列表copy()4、统计指定元素个数count()5、两个列表元素合并extend()6、返回指定元素下标index()7、指定位置插入新元素insert()8、删除并返回指定下标对应的元素pop()9、删除列表中指定元素remove()10、翻转列表中元素个数revers
2020-07-01 23:55:42
194
原创 python数字与数字类型转换
1、数字类型整型、浮点、复数、布尔2、运算1、加减乘除2、模 % 幂 ** 取整 //3、复数取实部.real 复数取虚部.imag4、逻辑运算符 and or not5、与或非左移右移运算(这里不讲)6、bin(Numeric)函数可将十进制转化为二进制3、数字类型转换1、转整型 int(Numeric)2、浮点 float(Numeric)3、复数 complex(Numeric)4、二进制 bin(Numeric)5、字符串 str(Numeric)
2020-07-01 17:14:36
235
原创 python字符串
1、声明方式用单引号、双引号、三引号成对表示至于单引号和双引号在字符串中的语法,和js一样三引号可以实现换行符例如:a= '''helloworldhelloJOJO'''print(a);执行helloworldhelloJOJO2、字符串获取1、通过下标获取是通过数组下标的方式,数组下标不当会造成数组越界2、通过切片获取这不是通过数组下标的方式,所以不会数组越界切片操作一定是从左到右代码:#-*- coding:UTF-8 -*-a="012345678
2020-07-01 14:29:08
95
原创 ThreeJs顶点数据复用
1、实现步骤1、创建空几何体的顶点索引数据(类型数组)2、设置几何体的index属性(将顶点索引赋给空几何体)2、思维导图3、关键代码 /** * 创建网格模型 */ var geometry = new THREE.BufferGeometry(); //声明一个空几何体对象 //类型数组创建顶点位置position数据 var vertices = new Float32Array([ 0, 0, 0, //顶点1坐标 80
2020-06-26 23:57:58
568
原创 ThreeJs案例四 场景中添加多个立方体(网格模型)
1、实现步骤1、找到threejs下的doc文件下的index.html2、右击index.html open with live serve3、搜索geometry 找到你想要添加的几何体的api添加即可4、设置位置1、通过mesh2.translateY(120);2、通过mesh3.position.set(120,0,0);5、常用的几何体//长方体 参数:长,宽,高var geometry = new THREE.BoxGeometry(100, 100, 100);/
2020-06-25 18:03:40
3676
原创 ThreeJs案例三 控件旋转缩放放大
1、实现步骤1、引入控件文件<script src="../node_modules/three/examples/js/controls/OrbitControls.js"></script>2、创建控件对象 var controls = new THREE.OrbitControls(m_Camera,m_Renderer.domElement);//创建控件对象3、为控件对象添加事件监听函数controls.addEventListener('change',
2020-06-25 14:05:06
2863
1
原创 ThreeJs案例二——旋转的立方体
1、实现步骤1、Mesh.rotateY(k) k为每次刷新旋转的弧度2、requestAnimationFrame(render)请求再次执行渲染函数render2、理解requestAnimation1、其实这个函数和setInterval功能类似,但是setInterval的时间确定了,而requestAnimation时间不是确定的,会有一个浮动值,这与当前cpu的负荷状态相关3、思维导图4、关键代码function render(){ m_Renderer.render(m
2020-06-24 20:37:45
681
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人