Kotlin学习笔记
Kotlin学习笔记第一阶段基本介绍
Kotlin成为Android的第一语言
Kotlin语言编译后产生字节码,JVM产生指令对,操作系统进行命令式的执行
Kotlin集聚各个语言的精华于一身,走全栈语言之路
val只读变量
1234567val a:String = "111"/** * val只读,不可以改变 * 下面一行加上错误 * a = "222" */println(a)
var可变变量
123456/** * var可变变量,下面写法正确 */var a:String = "111"//这里的:String可以省略,kotlin会自动进行类型的推断a = "222"println(a)//println打印
Java语言有两种数据类型,基本数据类型(int,double等等)和引用类型(String)
Kotlin语言只有一种数据类型,看起来都是引用类型,实际上,编译器会在Java字节码中修改为基本类型
查看字节码
range表达式
12345678910111213val nu ...
Git(B站学习笔记)
Git(B站学习笔记)版本控制系统简介版本控制系统是一种记录文件或代码变化的软件工具,用于管理多个版本的文件和代码。它可以追踪文件或代码的修改历史,保存每个版本的快照,使得用户可以轻松地回滚到之前的版本,也可以比较和合并不同版本之间的差异,同时还可以协作开发,多人同时修改同一个文件,版本控制系统可以确保每个人的修改都被记录下来,避免冲突和丢失数据。
版本控制系统分为集中式版本控制系统和分布式版本控制系统
集中式版本控制系统
集中式版本控制系统是把代码的管理和同步放在同一个服务器端来进行,如CVS、SVN(Subversion),其中SVN的设计目标是取代CVS,现在互联网上很多版本控制服务从CVS迁移到了SVN
优点:
权限系统完善
提交修改操作简便
缺点:
打分支需要联网到服务端
依赖服务器的稳定性
分布式版本控制系统DVCS(Distributed Version Control System)
分布式版本控制系统相当于把集中式版本控制系统的服务端和客户端都交给参与开发的客户端来保管,只要需要不同开发者合并代码时,才需要一个中转站来完成。如Git
优点:
...
Maven的使用
Maven的使用
进入maven官网下载maven
如Windows系统下载压缩包解压即可apache-maven-3.9.5-bin.zip
配置环境变量
新建一个系统变量,变量名为MAVEN_HOME,对应值为maven压缩包解压位置,如D:\maven\apache-maven-3.9.5
在Path中编辑并新建填入%MAVEN_HOME%\bin
在cmd命令窗口输入 mvn -v 有输出对应版本号即可
修改maven压缩包解压路径下conf中的setting.xml配置
自己定义本地仓库路径,maven在本地找不到依赖才会去中央仓库寻找
配置国内镜像
1234567<!-- 中央仓库在中国的镜像 --> <mirror> <id>alimaven</id> <name>aliyun maven</name> <url>http://maven.aliyun.com/nexus/content/gro ...
神经网络与深度学习速成
神经网络与深度学习速成整体架构神经网络和深度学习的整体架构包括了各种组件和层次,用于构建、训练和应用复杂的深度学习模型。下面是它们的一般架构:
输入层(Input Layer):
输入层接受原始数据,例如图像、文本、声音等,将其转换为神经网络可处理的格式。对于图像数据,可以是像素值;对于文本数据,可以是单词嵌入向量;对于声音数据,可以是声谱图等。输入层通常具有与输入数据的特征数量相对应的节点。
隐藏层(Hidden Layers):
隐藏层是神经网络的核心组成部分,它包含多个神经元(或节点),并通过权重连接到前一层的神经元。深度学习中的深度来自于具有多个隐藏层。隐藏层的任务是学习数据的特征表示。常见的隐藏层类型包括全连接层、卷积层、循环层等。
激活函数层(Activation Function Layer):
激活函数层用于引入非线性性质到神经网络中,允许网络学习复杂的函数。常见的激活函数包括ReLU(Rectified Linear Unit)、Sigmoid、Tanh等。激活函数在每个神经元上应用,将线性加权和映射到非线性输出。
输出层(Output Layer):
输出层 ...
算法
算法加油!!!
递归改写迭代引入队列是递归改写程序常做方法,然后借助循环
12345678910111213141516171819202122232425262728293031323334353637383940414243//递归public boolean isSymmetric(TreeNode root) { return check(root,root);}public boolean check(TreeNode left,TreeNode right){ if (left==null&&right==null){ return true; } if (left==null||right==null){ return false; } return left.val== right.val&&check(left.left,right.right)&&check(left.right,rig ...
自然语言处理(选修课)
自然语言处理(选修课)写在前面
个人代码水平并不高,文中代码也是按照老师讲解和个人思路纯手打和debug出来的,许多代码也只是解决了test测试中的问题,需要更高深的代码可以绕道了,文章仅用于记录个人学习经历。
理论部分简介NLP分析技术大致分为三个层面:词法分析、句法分析和语义分析。
词法分析
词法分析是为了分析文本中的词汇和标记,主要任务包括分词、词性标注、命名实体识别。
分词:将文本分割成单词、标记或短语的过程。分词是NLP任务的基础。
词性标注:词性标注是为文本中的每个单词或标记分配一个词性(名词、动词、形容词等)的过程。
命名实体识别:命名实体识别是用于识别文本中的命名实体,如人名、地名、组织名、日期等的任务。
句法分析
句法分析涉及理解句子的结构和语法关系,以便对文本进行更深入的分析和理解。两种主流的句法分析方法为短语结构句法体系、依存结构句法体系(后者为当前热点)。
依存句法分析:依存句法分析研究词汇之间的依存关系,即一个词与句子中其他词之间的语法依赖关系。这些依赖关系通常表示为有向图中的弧,其中一个词是另一个词的依赖项。依存句法分析有助于理解词与词之间的语法关 ...
GitHub Pages+Hexo+Git快速搭建个人博客
GitHub Pages+Hexo+Git快速搭建个人博客环境介绍Node.js简介
Node.js发布于2009年5月,由Ryan Dahl开发,是一个基于Chrome V8引擎的JavaScript运行环境,使用了一个事件驱动、非阻塞式I/O模型,让JavaScript 运行在服务端的开发平台,它让JavaScript成为与PHP、Python、Perl、Ruby等服务端语言平起平坐的脚本语言。
简单理解
脚本语言需要一个解析器才能运行,JavaScript是脚本语言,在不同的位置有不一样的解析器,如写入html的js语言,浏览器是它的解析器角色。而对于需要独立运行的JS,nodejs就是一个解析器。
官网
Node.js (nodejs.org)
安装教程
NodeJS入门(一)—nodejs详细安装步骤_nodejs安装及环境配置-CSDN博客
其他
并且Node.js为大多数平台提供了官方的安装程序,可以通过Node.js的相关命令在命令行安装官方安装程序。
安装完成后可以通过node -v查看node.js的版本,安装Node.js后npm(Node Packa ...
非关系型数据库(选修课)
非关系型数据库(选修课)上课老师发的课件合计,下载地址如下
https://wwcz.lanzout.com/b04kt28wb
密码:4a0t
Redis基础内容概述简介
Remote Dictionary Server,简称Redis,即远程字典服务器,它是一个开源的、高性能的、基于键值对的缓存与存储数据库,并且通过提供多种键值数据结构来适应不同场景下的缓存与存储需求。Redis数据库是基于ANSI C语言编写开发的,并且提供了多种语言API,例如Java、C/C++、C#、PHP、JavaScript、Perl、Python及Ruby等语言。
特点
支持多种数据结构
功能丰富
应用广泛
读写速度快
应用场景
构建队列系统
排行榜
实时的垃圾系统
数据自动过期处理
计数器应用
缓存
支持的数据结构
String(字符串)
List(列表)
Set(集合)
Hash(散列)
Sorted Sets(有序集合)
相关操作其他启动 redis-cli 客户端工具,可以做如下处理:
修改 cmd 控制台的编码格式为 UTF-8:
命令:chcp 65001
然后再输 ...
Android学习笔记
安卓开发笔记开发必做distributionUrl=https\://mirrors.cloud.tencent.com/gradle/gradle-7.3.3-bin.zip
12345678910111213141516171819202122232425262728293031323334353637383940414243444546buildscript { repositories { maven { url 'http://maven.aliyun.com/nexus/content/groups/public/' allowInsecureProtocol = true } maven { url 'http://maven.aliyun.com/nexus/content/repositories/jcenter' allowInsecure ...