Sunburst7
码龄5年
关注
提问 私信
  • 博客:89,174
    社区:130
    动态:3
    89,307
    总访问量
  • 51
    原创
  • 1,159,633
    排名
  • 6,827
    粉丝
  • 106
    铁粉
IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:山东省
  • 加入CSDN时间: 2019-10-22
博客简介:

qq_45785407的博客

查看详细资料
个人成就
  • 获得162次点赞
  • 内容获得32次评论
  • 获得690次收藏
  • 代码片获得3,154次分享
创作历程
  • 12篇
    2022年
  • 40篇
    2021年
成就勋章
TA的专栏
  • 项目实训
    12篇
  • PALISADE全同态加密开源库
    13篇
  • 机器学习
    12篇
  • 算法
    9篇
  • 数据结构
    1篇
  • LeetCode
    6篇
  • 数学基础
    1篇
  • 线性代数
    1篇
创作活动更多

如何做好一份技术文档?

无论你是技术大神还是初涉此领域的新手,都欢迎分享你的宝贵经验、独到见解与创新方法,为技术传播之路点亮明灯!

357人参与 去创作
  • 最近
  • 文章
  • 代码仓
  • 资源
  • 问答
  • 帖子
  • 视频
  • 课程
  • 关注/订阅/互动
  • 收藏
搜TA的内容
搜索 取消

项目实训 - Scene-UI - 编写select

选择器HTML原生的select组件虽然功能尚可,但是缺乏扩展与美化的方法,因此需要自己使用其他基本组件组合一个Select组件出来,本篇记录自己完成select组件的全过程,分为单选与多选两个模块:单选定义select的props如下:import { isString, isBooleanArray } from "../../core/utils/typeAssert"export const selectProps = { modelValue:{//选择器绑定的值
原创
发布博客 2022.05.23 ·
992 阅读 ·
1 点赞 ·
1 评论 ·
0 收藏

项目实训 - Scene-UI - 编写scrollbar

滚动条滚动条的编写参考了这篇大牛的文章滚动条组件实现 - 掘金 (juejin.cn),在其基础上进行了修改形成了scene-ui的滚动条,关于滚动条的布局可以参考那篇文章。我添加了对不必要的滚动条不加以显示的功能,原版无论真实大小有没有超过可视大小都会显示出XY轴的滚动条,而我通过props.alwaysNeedY与比较真实高度与可视高度的大小这两个方面控制Y轴滚动条的显示滚动条的核心在第191行: _thumbY.getBoundingClientRect().top - wrapEl.getBo
原创
发布博客 2022.05.23 ·
315 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

项目实训 - Scene-UI - 编写radio

单选框单选按钮允许你选择单一的值来提交表单。编写单选框时要考虑的因素有:单选框的表单控件属性,也就是基础的name、value、label属性单选框的尺寸单选框是否被禁用单选框的大小同时保留了单选框的modelValue改变时的change事件,参数是当前modelValue。radio.ts的代码如下:import { ComponentConstants } from '../../core/constants'; import {isString ,isNumber, isBool
原创
发布博客 2022.05.03 ·
399 阅读 ·
1 点赞 ·
0 评论 ·
0 收藏

项目实训 - Scene-UI - 编写number-input

数字输入框数字输入框组件的特点是:用户只能输入数字,输入其他类型的值会被转化为一个数字。数字输入框左右侧有两个按钮可以调节数字,可以设置调节的步长数字输入框有最大值与最小值限制,超过这个值的数字不允许被输入因此根据这些特点,该组件需要有的属性与事件有:export const numberInputProps = { step: { type: Number, default: 1, }, max: { type: Nu
原创
发布博客 2022.05.03 ·
297 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

项目实训 - Scene-UI - 编写loading

加载loading组件的实现形式与之前的组件都有所不同,loading组件采用的是函数调用的方式触发,而且其内部编写的方式也与一般组件不同,不是以模板的方式构造组件而是通过渲染函数的方式。挂载的实现主要依靠vue的createApp()API。预定义的类型:import {App, VNode} from 'vue'/** * loading 组件的props类型 */export type loadingProps = { target: VNode | string | HTML
原创
发布博客 2022.05.03 ·
298 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

项目实训 - Scene-UI - 编写link

链接link组件主要通过修改class名控制不同的主题,同时使用vue的API:this.$slots检测是否需要渲染某些内容。比较简单,源码如下:<template> <a class="scene-link" :class="[ disabled? `scene-link-disabled` : '', `scene-link-underline-${underline}` ]"
原创
发布博客 2022.05.03 ·
182 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

项目实训 - Scene-UI - 编写input与textarea

输入框与文本域输入框输入框的整体结构并不复杂,主要分为左中右三部分,左右各一个插槽,用于用户自定义内容,中间由一个原生输入框和一个按钮组组成,还有一个提示文本域属于绝对布局:<template> <div :disabled="disabled"> <!-- 前面的插槽 最大图标大小 22 --> <div v-if="$slots.prefix"> <slot name="prefi
原创
发布博客 2022.05.03 ·
358 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

项目实训 - Scene-UI - 编写icon

图标为了组件库的整体性,考虑编写一个通用的icon组件用于方便的引入图标,同时引入一个开源的图标库作为组件库的图标来源。开源图标库的选择方面我选择的是bootstrap-icon,主要在后期打包时在public文件夹下的图标无法打包,想要在组件库中引入必须将每个svg图标编写为vue组件,再导入。这样的作法对于庞大的svg图标库显然非常麻烦。bootstrap-icon有个非常方便的特性——它可以通过字体的形式导入,只需要提供class名,这样就可以解决通用icon组件的问题而不需要为了每个图标编写一
原创
发布博客 2022.05.03 ·
239 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

项目实训 - Scene-UI - 编写dialog

对话框对话框的实现主要依靠vue3的两个高级内置组件:<Teleport>:使我们可以将一个组件的一部分模板“传送”到该组件的 DOM 层次结构之外的 DOM 节点中。为 <Teleport> 指定的目标 to 期望接收一个 CSS 选择器字符串或者一个真实的 DOM 节点。实现对话框,可以利用该组件去传送对话框的模板片段到 body 标签下。<Transition> 会在一个元素或组件进入和离开 DOM 时应用动画。利用该内置组件,可以设置对话框进入离开
原创
发布博客 2022.05.03 ·
228 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

项目实训 - Scene-UI - 编写datetime

日期时间选择器日期选择器核心逻辑制作日期选择器的基本是能获取一页的日期,一页最少需要显示6 x 7 = 42个日期。因此如何计算当月的前一个月与后一个月需要补充几天是关键。[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-d8LxglOI-1651576561068)(./datetime/image-20220501165151062.png)]该部分逻辑在core文件夹下的date.ts中。首先声明一些基本的关于日期的变量,比如:每个月对应的英文日期,平闰年每个月对
原创
发布博客 2022.05.03 ·
170 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

项目实训 - Scene-UI - 编写card

Card源码Card的html结构如下:<div ref="el" class="scene-card"> <div v-if="$slots.header || header" class="scene-card-head"> <slot name="header">{{ header }}</slot> </div> <div class="scene-card-body" :style="bo
原创
发布博客 2022.05.03 ·
234 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

项目实训 - Scene-UI - 编写button

button源码编写按钮组件时主要考虑有以下几个因素:按钮的大小按钮的造型按钮是否可被禁用按钮可以触发的事件同时为了美化按钮,用户可以在按钮中添加图标,这里用到了Vue的插槽技术。因此设置了以下几种Props,NativeType保留了按钮的原生类型:import { ComponentConstants } from '../../core/constants'; export const buttonProps = { type:{// 按钮类型 type
原创
发布博客 2022.05.03 ·
215 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

实验:集成学习预测Titanic号生还者

文章目录一 实验要求二 实验思路三 实验代码四 实验结果参考一 实验要求用集成方法对数据集进行分类利用若干算法,针对同一样本数据训练模型,使用投票机制,少数服从多数,用多数算法给出的结果当作最终的决策依据,对Titanic数据集 进行分类,给出在测试集上的精确度;除了投票法,其他的集成学习方法也可以。实验来自kaggle入门赛 https://www.kaggle.com/c/titanic ,可以参考原网站 代码与预处理部分,但与公开代码不同的在于,集成学习所用的基学习 器需要自己
原创
发布博客 2021.12.16 ·
1793 阅读 ·
3 点赞 ·
2 评论 ·
20 收藏

集成学习(ensemble learning)

文章目录一 引言二 Bagging三 Boosting参考一 引言集成学习(ensemble learning),它通过将多个学习器集成在一起来达到学习的目的。主要是将有限的模型相互组合,其名称有时也会有不同的叫法,有时也会被称为多分类器系统(multi-classifier system)、委员会学习(committee learning)。【1】集成学习利用一些方法改变原始训练样本的分布,构建多个不同的学习者器,然后将这些学习器组合起来完成学习任务,集成学习可获得比单一学习器显著优越的泛化性能,
原创
发布博客 2021.12.16 ·
3175 阅读 ·
1 点赞 ·
2 评论 ·
8 收藏

实验——基于决策树算法完成鸢尾花卉品种预测任务

文章目录一 实验要求二 实验思路三 实验代码四 实验结果与分析参考一 实验要求本实验通过鸢尾花数据集iris.csv来实现对决策树进一步的了解。其中, Iris鸢尾花数据集是一个经典数据集,在统计学习和机器学习领域都经常被用作示例。数据集内包含3类共150条记录,每类各50个数据,每条记录都有4项特征:花萼长度、花萼宽度、花瓣长度、花瓣宽度,可以通过这4个特征预测鸢尾花卉属于iris-setosa, iris-versicolour, iris-virginica三个类别中的 哪一品种。Iris数据集
原创
发布博客 2021.12.05 ·
7883 阅读 ·
12 点赞 ·
1 评论 ·
98 收藏

决策树—非度量方法

文章目录一 前言二 决策树学习生成算法三 ID33.1 熵3.2 信息增益3.3 ID3生成算法3.4 ID3的优缺点四 C4.54.1 信息增益率五 CART六 决策树相关问题6.1 剪枝处理6.2 连续值处理6.3 缺失值处理参考一 前言之前学习的很多都是基于连续实数或离散数值的特征向量的模式识别问题,例如在神经网络中,如果两个输入向量足够接近,那么它们的输出也很相似。然而,假定某个分类问题中需要用到**“语义数据”(nominal data 或称为标注数据、名义数据)**,这种数据没有任何相似性
原创
发布博客 2021.12.05 ·
831 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

NP完全性

大部分时间内,我们研究的算法都是多项式时间算法:对于规模为n的输入,在最坏情况下的运行时间是O(nk)O(n^k)O(nk),其中k是某一确定常数。那是否所有的问题都可以在多项式时间内解决呢?答案是否定的。本节的主体就是对问题的复杂性的研究。目录一 问题二 归约算法2.1 3-CNF-SAT ≤p\leq_{p}≤p​CLIQUE2.2 CLIQUE ≤p\leq_{p}≤p​ VERTEX COVER三 问题复杂类:P与NP四 问题复杂类:NPC与NP-hard五 证明NP-Complate一 问题
原创
发布博客 2021.12.03 ·
1436 阅读 ·
5 点赞 ·
0 评论 ·
12 收藏

图论(六):所有节点对的最短路径

所有节点对之间的最短路问题:给定一个加权有向图G=(V,E),对于每一对结点(u,v)∈V(u,v)\in V(u,v)∈V,找到从u到v的最短路径。Input:用邻接矩阵表示有向加权图。Output:一个n×n的矩阵D=(dij)D=(d_{ij})D=(dij​),dijd_{ij}dij​表示从i结点到j节点的最短路径。一种简单的思路是对集合V中所有的结点使用单源最短路算法,这样就能求得所有结点之间的最短路径,时间复杂度为原时间复杂度×n(n为结点个数),但Dijkstra单源最短
原创
发布博客 2021.12.02 ·
4551 阅读 ·
3 点赞 ·
2 评论 ·
27 收藏

2021SC@SDUSC-PALISADE(十三)PALISADE库结构以及专用对象分析

2021SC@SDUSC——PALISADE库结构以及专用对象分析目录1 元素类型2 CryptoContext3 PlainText4 Ciphertext5 ElementParams6 EncodingParamsPALISADE被设计为一个层结构,每一层都提供了一系列的服务给上一层,使用下一层提供的服务。每一层的接口都被设计为API,下面为具体层结构:Application:所有调用了PALISADE lib的程序都在这一层Encoding:所有数据编码方法的实现都在这一层编码
原创
发布博客 2021.11.29 ·
889 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

2021SC@SDUSC-PALISADE(十二)具体分析PALISADE中的拒绝采样法

2021SC@SDUSC——PALISADE中离散高斯取样实现的分析专题:高斯分布采样原理——拒绝采样法PALISADE中的采样方法具体分析PALISADE中的拒绝采样法具体分析PALISADE中的拒绝采样法拒绝采样法定义在discretegaussiangenerator.cpp的GenerateInteger方法中。该方法的申明如下:template <typename VecType>int32_t DiscreteGaussianGeneratorImpl<Ve
原创
发布博客 2021.11.29 ·
286 阅读 ·
2 点赞 ·
0 评论 ·
1 收藏
加载更多