关于最近
前言最近一段时间在互联网实习,感受到大厂的技术还是比较先进的,福利待遇也不错,工作强度高。
目标:
完成实习期间 mentor 的开发需求
达到熟悉基本技术栈Umi、Antd、Antd Pro、Dva、(Redux)、Typescript 的程度
基于上述技术栈做一个项目
结语在此过程中的各种收获、或者踩坑等总结会放在个人CSDN、Github上
CSDN:https://blog.csdn.net/Constantiny
Github:https://github.com/yangzi0210
JavaScript声明提升问题
一、 Var 变量声明提升在ES5中,顶层对象的属性和全局变量是等价的,用var声明的变量既是全局变量,也是顶层变量
var 有函数作用域 但是没有块级作用域
使用var声明的变量存在变量提升的情况,使用var声明的变量,在定义语句之前就可以被访问到,而且值为undefined
注意:顶层对象,在浏览器环境指的是window对象,在 Node 指的是global对象
1234567891011121314151617181920212223242526272829303132var a = 1console.log(window.a) // 1console.log(a) // undefinedvar a = 2在编译阶段,编译器会将其变成以下执行var aconsole.log(a)a = 2使用var,我们能够对一个变量进行多次声明,后面声明的变量会覆盖前面的变量声明var a = 2 var a = 3console.log(a) // 30在函数中使用使用var声明变量时候,该变量是局部的var a = 2function change(){ var a = ...
关于闭包、原型、原型链 你需要知道的都在这了
一、闭包
在 JavaScript 中,我们可以随时创建函数,可以将函数作为参数传递给另一个函数,并在完全不同的代码位置进行调用。我们已经知道函数可以访问其外部的变量。
但如果在函数被创建之后,外部变量发生了变化会怎样?函数会获得新值还是旧值?如果将函数作为参数传递并在代码中的另一个位置调用它,该函数将访问的是新位置的外部变量吗?
通俗的讲:就是函数a的内部函数b,被函数a外部的一个变量引用的时候,就创建了一个闭包。JS中,每当创建一个函数,闭包就会在函数创建的同时被创建出来。
作用:能够在函数定义的作用域外,使用函数定义作用域内的局部变量,并且不会污染全局。
原理:基于词法作用域链和垃圾回收机制,通过维持函数作用域的引用,让函数作用域可以在当前作用域外被访问到。
一个例子:
1234567891011121314function a(){ var i=0; function b(){ i++; alert(i); } return b;}var c = a();c();//1c() ...
使用webpack, less, typescript, react 构建项目
前言🚩🚩🚩
一开始使用React写项目都是直接npx create-react-app name
但是要更好的理解npm包构建原理,能看懂别人的开源代码就要自己从头构建一个
本文使用webpack, less, typescript, react 构建项目
该项目为用hooks函数组件修改后的官方React教程中的井字棋
开始需要下载 node.js 软件创建项目目录并初始化
123$ mkdir Develop-npm-from-zero$ cd Develop-npm-from-zero$ npm init
cmd执行命令后一直回车键或者输入你指定的值也可以 不影响
webpack环境安装配置一、安装webpack1$ npm i --save-dev webpack webpack-cli html-webpack-plugin terser-webpack-plugin webpack-dev-server webpack-merge
二、创建 webpack 存放各种配置文件的目录在项目根目录新建 webpack 文件夹 用来存放其配置文件
新建 webpack. ...
潜艇智能考核评判系统开发
系统简介 本智能考核评判系统主要用于潜艇操纵训练模拟器下,教练员对学员进行相关科目的训练与考核。
要求潜艇操纵训练模拟器与主操纵台进行数据通信,并将主操纵台发送的数据显示在软件上。考核的相关数据通过界面显示出来。同时软件能够进行语音识别和声纹识别,不仅能识别人员所说的内容,还能识别人员的身份,对指令和人员身份的识别有较高的准确度。结合语音识别功能,软件能够进行智能考核评判,跟据识别的语音和身份,结合考核科目的需求,做到自动进行给学员操作评分的需求。
需求分析功能性需求:
1.考核人员、管理人员登陆注册功能
2.考核人员信息录入功能(声纹、艇队、战位)
3.权限设置功能:考核人员仅能参与考核评判过程、管理人员可以查看历史记录、进行机器学习、人员修改等操作。
4.考核结果的自动评判功能:系统能够根据指令、传感器参数的变化、考核用时等参数进行准确的自动打分。
5.语音指令的识别以及分句功能:能够通过录音设备,将采集到的语音指令进行语音识别成一句一句话,并将识别结果显示到软件界面中。
6.考核人员身份识别功能:声纹识别,通过录音设备,将采集到的语音进行身份识别 ...
leetcode100(1-5 no-hard)
1.两数之和给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出和为目标值 target 的那两个整数,并返回它们的数组下标。你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现。你可以按任意顺序返回答案。
示例 1:
输入:nums = [2,7,11,15], target = 9输出:[0,1]解释:因为 nums[0] + nums[1] == 9 ,返回 [0, 1] 。
12345678910vector<int> twoSum(vector<int>& nums, int target) { unordered_map<int,int> map; for(int i=0;i<nums.size();i++){ auto it=map.find(target-nums[i]); if(it!=map.end()) return {i,it-&g ...
EvoSuite生成单元测试用例
一、Maven中pom.xml配置以IDEA+Maven为例:
修改maven中pom.xml文件如下(不唯一)
1234567891011121314151617181920212223242526272829303132333435363738394041<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId> ...
最新JetBrains全家桶教育认证免费使用
前言前段时间大学生电子邮件地址一键认证通过已经被BAN了,不能以这种方式免费使用JetBrains全家桶了,但是通过官方文件申请审核还是可以的。
教育认证步骤进入官网教育认证界面链接地址:https://www.jetbrains.com/zh-cn/community/education/#students
进入界面后如下图所示:
我们需要选择官方文件认证,步骤依次如下:
学术机构写你的大学
学术机构网站写你的大学网站
其他的就正常填写
去学信网下载学籍报告学信网地址:https://www.chsi.com.cn/
然后把在线验证码复制黏贴好、流程如下图所示:
点击查看能看到你的验证报告,下载下来,然后就填写完毕了。
成功认证免费使用结果等大概两天会收到邮箱通知,内容如下:
到此,认证成功完成,你就可以免费用JetBrains全家桶了!应该是一两年免费,到期了再认证就行!
如果你感觉读后有收获,可以点击下方打赏请作者喝杯咖啡。
离线中英文文字图像匹配度检测软件(基于CLIP、Transformers等实现)
文字图像匹配度检测软件(基于CLIP、Transformers等实现)前言
使用CLIP(对比图文预训练方法)提供的图文匹配度检测接口,使用huggingface基于Transformers的机器模型实现离线翻译,因此输入中英文均可检测。前端图形化界面使用PYQT开发,并使用了qdarkstyle进行优化,具体效果如下图所示:
使用方法:
左边一栏是候选文字语句,右边一栏是对应每条文字语句的匹配度(支持中英文)
点击选择图片,如为我代码中附带的数据集中的图片,那么右边第一列的第一行会附上这张图片的正确描述,如为其他图片,则可以手动输入正确描述,随机抽取中文、英文按钮会下后四行抽取干扰的中文、英文描述,所有候选的5个描述语句均可手动修改。
下面是一个例子:
从结果可以看出,模型对于最贴合图片的那句描述是可以正确识别的,而且效果很好,支持中英文,我自己也做了很多实验测试,代码中也有评估模型准确度的代码testCode.py
部分代码:主体代码如下,其余代码以及requirements.txt等打包放在我的资源中,可以下载并配置好相关环境后运行
1234567891011121 ...
win下pytorch-gpu版本安装
前言Pytorch的安装相对于tensorflow还是简单很多的。现在安装pytorch也可以不用提前安装
CUDA和cudnn,因为当你安装torch时会帮你安装cuda训练时需要的东西。只需要提前安装驱动,
安装完nvidia驱动后直接进行GPU版pytorch的安装。相对来说入门简单,封装少,简洁高效快速。
像tensorflow各种版本语法不同,与其他python库版本不兼容等问题pytorch会相对来说更少出现。
它是一个开源的Python机器学习库,基于Torch,用于自然语言处理等应用程序。
2017年1月,由Facebook人工智能研究院(FAIR)基于Torch推出了PyTorch。
它是一个基于Python的可续计算包,提供两个高级功能:
1、具有强大的GPU加速的张量计算(如NumPy)。
2、包含自动求导系统的深度神经网络。
PyTorch的前身是Torch,其底层和Torch框架一样,但是使用Python重新写了很多内容,不仅更加灵
活,支持动态图,而且提供了Python接口。它是由Torch7团队开发,是一个以Python优先的深度学
习框架,不仅能够实现强 ...