原文地址: Kotlin学习快速入门(7)--扩展的妙用 - Stars-One的杂货小窝 之前也模模糊糊地在用这个功能,也是十分方便,可以不用继承,快速给某个类增加新的方法,本篇便是来讲解下Kotlin中扩展这一概念的使用 说明 先解释一下,扩展的说明,官方文档上解释: Kotlin 能够扩展一个类的新功能,而无需继承该类或者使用像装饰者这样的设计模式 简单来说,就是可以不用继承来让一个类多出一个方法或属性(成员变量),可能这样说比较抽象,我们以一个简单的例子来说 比如说,我们需要用到以下功能…
介绍 kotlin中,对象可分为两种类型,可为空的对象和不可为空对象 默认为不可为空对象,代码检测如果发现不可为空对象赋予了null,则会标红报错. 可为空的对象,如果调用了方法,代码检测也会标红报错 var s: String = "hello" //不可为空 s = null//标红报错 var s: String? = "hello" s=null //代码检测通过 println(s.length)//标红报错 调用可为空对象的属性或方法 这样的好处就是,如…
List,Set,Map都是集合 List 是一个有序集合,可通过索引(反映元素位置的整数)访问元素.元素可以在 list 中出现多次.列表的一个示例是一句话:有一组字.这些字的顺序很重要并且字可以重复. Set 是唯一元素的集合.它反映了集合(set)的数学抽象:一组无重复的对象.一般来说 set 中元素的顺序并不重要.例如,字母表是字母的集合(set). Map(或者字典)是一组键值对.键是唯一的,每个键都刚好映射到一个值.值可以重复.map 对于存储对象之间的逻辑连接非常有用,例如,员工的…
类 参考链接 类定义格式 使用class关键字定义,格式如下: class T{ //属性 //构造函数 //函数 //内部类 } Java Bean类 java bean类 //java bean类 public class Student { private String name; private int age; public Student() { } public Student(String name) { this.name = name; } public Student(St…
本文适合有Java基础的人 Kotlin语法特点 相比java,省略括号,可以自动判断类型,省略new关键字,空指针捕获 主函数 kotlin文件(kt文件)中,只有要下列的方法,就可以运行,无需像之前的java那般,还要定义个类,写上main方法 fun main(args: Array<String>) { println("hello world") } 基本数据类型 这是说是基本数据类型,其实下面的这些都是kotlin封装好的类,就是相当于Java中的Integer…
条件 if条件判断 常用的判断和Java一样,这里提一下不同的用法 1.if可以作为三元运算符 val max = if (a > b) a else b 2.使用in判断是否在某个区间 val x = 1 //相当于条件 1<= x <=8 if(x in 1..8){ println("在区间内") } //与上面的条件相反 if(x !in 1..8){ ... } 3.is关键字类型转换 相当于Java中instanceof关键字 使用了is,kotlin已经…
一.pytest简介 Pytest是python的一种单元测试框架. pytest的特点: 入门简单,文档丰富 支持单元测试,功能测试 支持参数化,重复执行,部分执行,测试跳过 兼容其他测试框架(nose,unittest 等) 支持生成html报告 可集成CI环境(Jenkins 等) 第三方插件丰富,良好的自定义扩展性 二.pycharm中使用pytest 1.pytest安装:对于测试而言,特别是在持续集成环境中,我们的所有测试最好是在虚拟环境中.这样不同的虚拟环境中的测试不会相互干扰的.…
工具函数 dir函数,让我们直到工具箱,以及工具箱中的分隔区有什么东西 help函数,让我们直到每个工具是如何使用的,工具的使用方法 示例:在pycharm的console环境,输入 import torch dir(torch.cuda.is_available()) 即可查看该工具包 help(torch.cuda.is_available()) DataSet DataSet提供一种方式去获取数据及其label DataLoader为网络提供不同数据形式 使用PIL的Image来读取图片:…
引言:Canvas绘图API快速入门 在接触HTML5的初学者包括我都在很多地方见到非常炫的一些页面,甚至好多学习HTML5的开发者都是冲着Web端的页游去的,那么HTML5那么绚丽的页面效果以及游戏动画效果的原理是怎样的?本篇文章将带您在20分钟内快速了解和上手HTML5游戏开发的神器:Canvas绘制API. 一.Canvas是什么? Canvas就是一个画布,可以进行画任何的线.图形.填充等一系列的操作,而且操作的画图就是js,所以让js编程到了嗑药的地步.另外Canvas不仅仅提供简单的…
[引言] 毕竟现在MongoDB还是出于成长阶段,所以现在网上相关的资料很少,而且大部分还都是针对于MongoDB的老版本的.再加上MongoDB的频繁升级.重大更新等等,导致菜鸟学习的难度增大. 好了,前几篇讲的都是MongoDB数据库相关的知识,最终,还是要与java来接轨(当然,卤煮是搞java开发的).看了看现在的java驱动版本截至目前2016年8月27日为止为3.3,与网上搜索到的教程很多写法不一致,所以卤煮在此决定研究一下官网的教程,希望能对自己或者其他人有一点帮助,足矣... p…
其他章节请看: 前端学习 node 快速入门 系列 简易版 Apache 我们用 node 来实现一个简易版的 Apache:提供静态资源访问的能力. 实现 直接上代码. - demo - static // 静态资源文件夹 - index.html // 主页 - 1.jpg - 1.css - 1.js - index.js // 入口文件 index.html: <!DOCTYPE html> <html lang="en"> <head> &…
快速入门 基本语法 JavaScript的语法和Java的语法类似,每个语句以;结束,语句块用{...}.但是JavaScrip并不强制要求在每个语句的结尾加;,浏览器中负责执行JavaScript代码的引擎会自动在每个语句的结尾补上;. 例如,下面的一行代码就是一个完整的赋值语句: var x = 1; 下面的一行代码是一个字符串,但仍然可以视为一个完整的语句: 'Hello World'; 下面的一行代码包含两个语句,每个语句用;表示语句结束(但不建议一行写多个语句): var x = 1;…
这是一个关于Gradle的学习系列,其中包含以下文章: Gradle快速入门 创建Task的多种方法 读懂Gradle语法 增量式构建 自定义Property 使用java Plugin 依赖管理 构建多个Project 自定义Task类型 自定义Plugin 请通过以下方式下载本系列文章的Github示例代码: git clone https://github.com/davenkin/gradle-learning.git 和Maven一样,Gradle只是提供了构建项目的一个框架,真正起作…
目录 RabbitMQ学习总结 第一篇:理论篇 RabbitMQ学习总结 第二篇:快速入门HelloWorld RabbitMQ学习总结 第三篇:工作队列Work Queue RabbitMQ学习总结 第四篇:发布/订阅 Publish/Subscribe RabbitMQ学习总结 第五篇:路由Routing RabbitMQ学习总结 第六篇:Topic类型的exchange RabbitMQ学习总结 第七篇:RCP(远程过程调用协议) 1.相关概念 RabbitMQ是一个消息代理,事实上,它接…
[转]MyBatis学习总结(一)——MyBatis快速入门 一.Mybatis介绍 MyBatis是一个支持普通SQL查询,存储过程和高级映射的优秀持久层框架.MyBatis消除了几乎所有的JDBC代码和参数的手工设置以及对结果集的检索封装.MyBatis可以使用简单的XML或注解用于配置和原始映射,将接口和Java的POJO(Plain Old Java Objects,普通的Java对象)映射成数据库中的记录. 二.mybatis快速入门 2.1.准备开发环境 1.创建测试项目,普通jav…
ThinkPHP3.1快速入门(1)基础 简介 ThinkPHP是一个快速.简单的基于MVC和面向对象的轻量级PHP开发 框架,遵循Apache2开源协议发布,从诞生以来一直秉承简洁实用的设计原则,在保持出色的性能和至简的代码的同时,尤其注重开发体验和易用性,并且拥 有众多的原创功能和特性,为WEB应用开发提供了强有力的支持. 目录结构 ThinkPHP最新版本可以在官方网站(http://thinkphp.cn/down/framework.html)或者Github(https://gith…
原文:Wix学习整理(1)--快速入门HelloWorld 1 Wix简介 Wix是Windows Installer XML的简称,其通过类XML文件格式来指定了用于创建Windows Installer安装包数据库的元素.关于Wix的详细介绍,查看Wix Tutorial. 通过http://wix.codeplex.com/,我们下载最新的Wix toolset,并进行安装. 2 1+1=2 动手实践是感受最深的方式.下面我们就通过制作一个简单的HelloWorld安装包来感受一下Wix.…
这是一个关于Gradle的学习系列,其中包含以下文章: Gradle快速入门 创建Task的多种方法 读懂Gradle语法 增量式构建 自定义Property 使用java Plugin 依赖管理 构建多个Project 自定义Task类型 自定义Plugin 请通过以下方式下载本系列文章的Github示例代码: git clone https://github.com/davenkin/gradle-learning.git 和Maven一样,Gradle只是提供了构建项目的一个框架,真正起作…
springMVC学习总结(一)快速入门 一.初步认识 springMVC执行流程 主要组件 DispatcherServlet(中央控制器) 配置在web.xml中的前端控制器,客户端请求的入口,调用HandlerMapping获取处理器 HandlerMapping(处理器映射器) 负责调用 HandlerAdapter获取处理器 HandlerAdapter(处理器适配器) 调用处理器 Controller(处理器) 执行代码逻辑,结束之后返回到 DispatcherServlet* 然后…
现在地球人都知道互联网行业工资高,上万都是小case,不值一提.可是对于大部分人来说,工资七八千都算很难了.那我也想学java,当程序员,赚大钱.可是作为一个初学者,怎样才可以快速入门呢?早点入门就可以早点赚大钱啊. 划重点:对于没有基础却想快点入门的强烈建议参加培训班. 可以选择自学或者参加培训.自学一般是通过看书.视频入门,了解JAVA这门编程语言的一些基础性知识.但是,毫不夸张地说,很多零基础小白自学JAVA如果直接通过看书,很容易云里雾里,可以说是一个JAVA入门从放弃的....毅种循环…
本文测试源码下载地址: http://onl5wa4sd.bkt.clouddn.com/MyBatis0918.rar 一.Mybatis介绍 MyBatis是一个支持普通SQL查询,存储过程和高级映射的优秀持久层框架.MyBatis消除了几乎所有的JDBC代码和参数的手工设置以及对结果集的检索封装.MyBatis可以使用简单的XML或注解用于配置和原始映射,将接口和Java的POJO(Plain Old Java Objects,普通的Java对象)映射成数据库中的记录.mybatis提供一…
MyBatis学习总结-MyBatis快速入门的系列教程 [MyBatis]MyBatis 使用教程 [MyBatis]MyBatis XML配置 [MyBatis]MyBatis XML映射文件 [MyBatis]MyBatis 动态SQL [MyBatis]MyBatis Java API [MyBatis]MyBatis SQL语句构建器 [MyBatis]MyBatis 日志 [MyBatis]什么是MyBatis [MyBatis]MyBatis 从XML创建SqlSessionFac…
Kotlin快速入门 一.函数 /* * 1.函数可以定义在文件最外层,不需要把它放在类中 * 2.可以省略结尾分号 * */ fun main(args: Array<String>) { println(max2(1,2)) println(max(3,5)) } fun max(a: Int, b: Int): Int{ return if (a>b) a else b } /* * 与Java不同,Kotlin中,除了循环(for.do和do/while) * 以外大多数控制结构…
下面小编专门为广大web学习爱好者汇总了一条完整的自学线路:零基础快速入门web学习路线(含视频教程)(绝对纯干货)适合初学者的最新WEB前端学习路线汇总! 在当下来说web前端开发工程师可谓是高福利.高薪水的职业了.所以现在学习web前端开发的技术人员也是日益增多了,但是在学习web前端开发中盲目的去学习而没有一个完整的思路和学习路线也是不行的. 成为一个合格的web前端开发工程师的具备什么条件? 熟练的掌握HTML.CSS.JS.JQ等最基本的技术. 现在,只掌握这些已经远远不够了.无论是开…
Kotlin新语言简介和快速入门知识点 简介:Kotlin是最近由JetBrains发布的一种基于JVM的编程语言,已经被Google宣布为开发Android App的一级语言Kotlin有着与Java同样的地位,到目前为止,Android和iOS一样,都有两种主要的编程语言,Android是Java和Kotlin,iOS是Objective-C和Swift.Kotlin与Swift一样,提供了众多的语法糖,可以大幅度提升开发效率.但Kotlin优于Swift的一点是前者不仅仅可以被编译成Jav…
第1章 Flume概述1.1 Flume定义1.2 Flume组成架构1.2.1 Agent1.2.2 Source1.2.3 Channel1.2.4 Sink1.2.5 Event1.3 Flume拓扑结构1.4 Flume Agent内部原理1.5 Hadoop三大发行版本第2章 Flume快速入门2.1 Flume安装地址2.2 安装部署第3章 Flume企业开发案例3.1 监控端口数据官方案例3.2 实时读取本地文件到HDFS案例3.3 实时读取目录文件到HDFS案例3.4 单数据源多…
[原创]SpringBoot & SpringCloud 快速入门学习笔记(完整示例) 1月前在系统的学习SpringBoot和SpringCloud,同时整理了快速入门示例,方便能针对每个知识点,能有简单的.完整的.可快速运行的示例工程,并放到了Github上. 现梳理下清单,方便其他初学者以作参考: 一.SpringBoot学习笔记系列(2.x) springboot-elasticsearch SpringBoot+Spring Data ElasticSearch(5.6.10) 快速入…
使用Linux系统必备的技能之一就是Linux进程管理,系统运行的过程正是无数进程在运行的过程.这些进程的运行需要占用系统的内存等资源,做好系统进程的管理,对于我们合理分配.使用系统资源有非常大的意义.今天我们来看进程管理命令中的ipcs命令. ipcs命令用于报告Linux中进程间通信设施的状态,显示的信息包括消息列表.共享内存和信号量的信息. 语法 ipcs(选项) 选项 -a:显示全部可显示的信息: -q:显示活动的消息队列信息: -m:显示活动的共享内存信息: -s:显示活动的信号量信息…
Linux快速入门打开你的学习之道 相信看到这篇文章的你一定是想要学习Linux,或者已经在学习Linux的人了,那我们就可以一起探讨一下,学习Linux如何快速入门呢? 首先,希望大家弄清楚自己为什么要学习Linux,有的人是因为兴趣,有的人是因为Linux比较好找工作,兴趣驱使的那部分人找好方法学习Linux就差不多了.另一部分为了工作来学习Linux的人,不仅要找到合适自己的方法,而且还要更加努力,有自己的计划.但是无论是什么原因学习Linux的,方法还是差不多的,想要快速入门,首先你要选…
课程链接:http://video.jessetalk.cn/course/explore 良心课程,大家一起来学习哈! 抓住国庆假期的尾巴完成了此系列课程的学习笔记输出! ASP.NET Core快速入门(第1章:介绍与引入)--学习笔记 ASP.NET Core快速入门(第2章:配置管理)--学习笔记 ASP.NET Core快速入门(第3章:依赖注入)--学习笔记 ASP.NET Core快速入门(第4章:ASP.NET Core HTTP介绍)--学习笔记 ASP.NET Core快速入…