《Kotlin极简教程》第1章 Kotlin简介

第1章 Kotlin简介1.1 kotlin简史1.1.1 Kotlin概述科特林岛(Котлин)是一座俄罗斯的岛屿,位于圣彼得堡以西约30公里处,形状狭长,东西长度约14公里,南北宽度约2公里,面积有16平方公里,扼守俄国进入芬兰湾的水道。科特林岛上建有喀琅施塔得市,为圣彼得堡下辖的城市。我们这里讲的Kotlin,就是一门以这个Котлин岛命名的现代程序设计语言。它是一门静态类型编程语言,支持JVM平台,Android平台,浏览器JS运行环境,本地机器码等。支持与Java,Android
分类: 其他 发布时间: 09-18 18:55 阅读次数: 0

虚拟机Hadoop配置教程

我们今天安装的是CentOS-7-64 版本的镜像和Hadoop 2.8.5。如果用的其他版本也可以,都是一样的。VMware链接:https://www.cnblogs.com/niuben/p/11220249.htmlCentOS链接 :http://mirrors.aliyun.com/centos/7/isos/x86_64/Hadoop链接:https://mirrors.tuna.tsinghua.edu.cn/apache/hadoop/core/ 1.文件 —>&..
分类: 其他 发布时间: 09-18 18:55 阅读次数: 0

2020-09-18

第2章 快速开始:HelloWorld“Hello, World"程序是指在计算机屏幕上输出“Hello,world”这行字符串的计算机程序,“hello, world”的中文意思是“世界,你好”。这个程序在Brian Kernighan 和Dennis M. Ritchie合著的《The C Programme Language》使用而广泛流行。因为它的简洁、实用,表达了一个编程语言的极简功能。我们在本章将介绍使用Kotlin程序设计语言,分别使用命令行、应用程序、Web RESTFul、And
分类: 其他 发布时间: 09-18 18:55 阅读次数: 0

第3章 Kotlin语言基础

第3章 Kotlin语言基础掌握基础,持续练习学习任何东西,都是一个由表及里的过程。学习一门编程语言也一样。对于一门编程语言来说,“表” 就是基本词汇(关键字、标识符等)、句子(表达式)和语法。每一门编程语言的学习内容都会涉及: 运行环境、基础数据类型(数字、字符串、数组、集合、映射字典等) 、表达式、 流程控制 、类、方法(函数)等等,不同的语言会借鉴其他的语言特性,同时也会有各自的特性。这样我们就可以通过对比学习来加深理解。另外,我们还通过大量实践深入理解,达到熟练使用。所谓“纸上得来终
分类: 其他 发布时间: 09-18 18:55 阅读次数: 0

第4章 基本数据类型与类型系统

第4章 基本数据类型与类型系统到目前为止,我们已经了解了Kotlin的基本符号以及基础语法。我们可以看出,使用Kotlin写的代码更简洁、可读性更好、更富有生产力。本章我们来学习一下Kotlin的基本数据类型与类型系统。道生一,一生二,二生三,三生万物 (老子《道德经》第四十二章)在计算机科学中,最早的类型系统用来区别数字里面的整数和浮点数。在20世纪五六十年代,这种分类扩展到了结构化的数据和高阶函数中。70年代,引入了几个更为丰富的概念,例如:参数化类型,抽象数据类型,模块系统,子类型等等
分类: 其他 发布时间: 09-18 18:55 阅读次数: 0

《Kotlin 极简教程 》第5章 集合类

《Kotlin 极简教程 》第5章 集合类本章将介绍Kotlin标准库中的集合类,我们将了解到它是如何扩展的Java集合库,使得写代码更加简单容易。如果您熟悉Scala的集合库,您会发现Kotlin跟Scala集合类库的相似之处。5.1 集合类是什么5.1.2 集合类是一种数据结构在讲 Kotlin 的集合类之前,为了更加深刻理解为什么要有集合类,以及集合类到底是怎么一回事,让我们先来简单回顾一下编程的本质:数据结构 + 算法 (信息的逻辑结构及其基本操作)我们使用计算机编程来解决一个具体问
分类: 其他 发布时间: 09-18 18:55 阅读次数: 0

《Kotlin极简教程》第6章 泛型

第6章 泛型6.1 泛型(Generic Type)简介通常情况的类和函数,我们只需要使用具体的类型即可:要么是基本类型,要么是自定义的类。但是尤其在集合类的场景下,我们需要编写可以应用于多种类型的代码,我们最简单原始的做法是,针对每一种类型,写一套刻板的代码。这样做,代码复用率会很低,抽象也没有做好。在SE 5种,Java引用了泛型。泛型,即“参数化类型”(Parameterized Type)。顾名思义,就是将类型由原来的具体的类型参数化,类似于方法中的变量参数,此时类型也定义成参数形式,我们
分类: 其他 发布时间: 09-18 18:55 阅读次数: 0

《Kotin 极简教程》第7章 面向对象编程(OOP)

第7章 面向对象编程(OOP)在前面的章节中,我们学习了Kotlin的语言基础知识、类型系统、集合类以及泛型相关的知识。在本章节以及下一章中,我们将一起来学习Kotlin对面向对象编程以及函数式编程的支持。##7.1 面向对象编程思想7.1.1 一切皆是映射《易传·系辞上传》:“易有太极,是生两仪,两仪生四象,四象生八卦。” 如今的互联网世界,其基石却是01(阴阳),不得不佩服我华夏先祖的博大精深的智慧。一切皆是映射计算机领域中的所有问题,都可以通过向上一层进行抽象封装来解决.这里的封装的本
分类: 其他 发布时间: 09-18 18:55 阅读次数: 0

《Kotin 极简教程》第9章 轻量级线程:协程

第9章 轻量级线程:协程在常用的并发模型中,多进程、多线程、分布式是最普遍的,不过近些年来逐渐有一些语言以first-class或者library的形式提供对基于协程的并发模型的支持。其中比较典型的有Scheme、Lua、Python、Perl、Go等以first-class的方式提供对协程的支持。同样地,Kotlin也支持协程。本章我们主要介绍:什么是协程协程的用法实例挂起函数通道与管道协程的实现原理coroutine库等9.1 协程简介从硬件发展来看,从最初的单核单CPU,到单
分类: 其他 发布时间: 09-18 18:55 阅读次数: 0

《Kotin 极简教程》第10章 Kotlin与Java互操作

第10章 Kotlin与Java互操作Kotlin is 100% interoperable with Java™ and Android™在前面的章节中,我们已经学习了Kotlin的基础语法、类型系统、泛型与集合类、面向对象与函数式编程等主题,在上一章中我们还看到了Kotlin提供的轻量级并发编程模型:协程的相关内容。从本章开始到在后面的章节中,我们将进入工程代码的实战。我们将在后面分别介绍Kotlin集成SpringBoot开发服务端Web项目、使用Kotlin开发Android项目,以及使
分类: 其他 发布时间: 09-18 18:55 阅读次数: 0

《Kotin 极简教程》第11章 使用Kotlin 集成 SpringBoot开发Web服务端

第11章 使用Kotlin集成SpringBoot开发Web服务端我们在前面第2章 “ 2.3 Web RESTFul HelloWorld ” 一节中,已经介绍了使用 Kotlin 结合 SpringBoot 开发一个RESTFul版本的 Hello World。当然,Kotlin与Spring家族的关系不止如此。在 Spring 5.0 M4 中引入了一个专门针对Kotlin的支持。本章我们就一起来学习怎样使用Kotlin集成SpringBoot、SpringMVC等框架来开发Web服务端应用,同时
分类: 其他 发布时间: 09-18 18:55 阅读次数: 0

《Kotin 极简教程》第12章 使用 Kotlin 集成Gradle 开发

第12章 使用 Kotlin 集成Gradle 开发由于 Kotlin 具有丰富的功能,如一等函数和扩展方法等,因此它可以保留和改进 Gradle 构建脚本的最佳部分——包括简明的声明式语法以及轻松制作 DSL 的能力。Gradle 团队与 Kotlin 团队密切合作,为 Gradle 开发了新的基于 Kotlin 脚本的构建配置语言,我们称之为 Gradle Script Kotlin,支持使用 Kotlin 编写构建和配置文件。同时,还支持在 IDE 中实现自动完成和编译检查等功能。有了Gradle
分类: 其他 发布时间: 09-18 18:55 阅读次数: 0

《Kotin 极简教程》第13章 使用 Kotlin 和 Anko 的Android 开发

第13章 使用 Kotlin 和 Anko 的Android 开发13.1 什么是 Anko?Anko (https://github.com/Kotlin/anko) 是一个用 Kotlin 写的Android DSL (Domain-Specific Language)。长久以来,Android视图都是用 XML 来完成布局的。这些 XML可重用性比较差。同时在运行的时候,XML 要转换成 Java 表述,这在一定程度上占用了 CPU 和耗费了电量。Anko是一个 Kotlin 库, 它使 an
分类: 其他 发布时间: 09-18 18:55 阅读次数: 0

《Kotin 极简教程》第14章 使用 Kotlin DSL

第14章 使用 Kotlin DSL我们在前面的章节中,已经看到了 Kotlin DSL 的强大功能。例如Gradle 的配置文件 build.gradle (Groovy),以及前面我们涉及到的Gradle Script Kotlin(Kotlin)、Anko(Kotlin)等,都是 DSL。我们可以看出,使用DSL的编程风格,可以让程序更加简单干净、直观简洁。当然,我们也可以创建自己的 DSL。本章就让我们一起来学习一下 Kotlin中 DSL的相关内容。我们在上一章中已经看到了在 Androi
分类: 其他 发布时间: 09-18 18:55 阅读次数: 0

《Kotin 极简教程》第15章 Kotlin 文件IO操作、正则表达式与多线程

第15章 Kotlin 文件IO操作与多线程我们在使用 Groovy 的文件 IO 操作的时候,感觉非常便利。同样的Kotlin也有好用的文件 IO 操作的 API。同样的在 Kotlin 中对 Java 的正则表达式功能做了一些实用的扩展。还有 Kotlin 中的多线程主要也是对 Java 的多线程 API 作了一些封装。因为这些 Java 已经有了很多的基础 API,Kotlin 并没有自己再去重复实现,而是在 Java 的基础上进行了实用的功能扩展。本章我们就来介绍Kotlin 文件 IO 操作、
分类: 其他 发布时间: 09-18 18:55 阅读次数: 0

《Kotin 极简教程》第16章 使用 Kotlin Native

第16章 使用 Kotlin Native不得不说 JetBrains 是一家务实的公司,各种IDE让人赞不绝口,用起来也是相当溜。同样的,诞生自 JetBrains 的 Kotlin 也是一门务实的编程语言,Kotlin以工程实用性为导向,充分借鉴了Java, Scala, Groovy, C#, Gosu, JavaScript, Swift等等语言的精华,让我们写起代码来可谓是相当优雅却又不失工程质量与效率。Kotlin Native能把 Kotlin代码直接编译成机器码,也就是站在了跟 C/C++
分类: 其他 发布时间: 09-18 18:55 阅读次数: 0

使用 Kotlin 实现 Y 组合子(Y-Combinator)

使用 Kotlin 实现 Y 组合子(Y-Combinator)我们可以使用 Kotlin FP (Lambda, function) 写一个 Y-combinator 函数吗?Y = λf.(λx.f (x x)) (λx.f (x x))我们知道,In JS:function Y(f) { return (function (g) { return g(g); })(function (g) { return f(function (x) {
分类: 其他 发布时间: 09-18 18:55 阅读次数: 0

数据库PostrageSQL-PostgreSQL用户账户创建一个数据库集簇

服务器设置和操作本章讨论如何设置和运行数据库服务器,以及它与操作系统的交互。18.1 PostgreSQL用户账户和对外部世界可访问的任何服务器守护进程一样,我们也建议在一个独立的用户账户下运行PostgreSQL。这个用户账户应该只拥有被该服务器管理的数据,并且应该不能被其他守护进程共享(例如,使用用户nobody是一个坏主意)。我们不建议把可执行文件安装为属于这个用户,因为妥协系统可能接着修改它们自己的二进制文件。要在你的系统中增加一个 Unix 用户账户,查看一个命令useradd或addus
分类: 其他 发布时间: 09-18 18:55 阅读次数: 0

数据库PostrageSQL-启动数据库服务器

18.3. 启动数据库服务器在任何人可以访问数据库前,你必须启动数据库服务器。 数据库服务器程序是postgres,它必须知道在哪里能找到它要用的数据。这是用-D选项实现的。 因此,启动服务器最简单的方法是:$ postgres -D /usr/local/pgsql/data这将把服务器放在前台运行。这个步骤同样必须以PostgreSQL用户帐户登录来操作。如果没有-D选项,服务器将尝试使用环境变量PGDATA命名的目录。如果这个环境变量也没有提供则导致失败。通常最好在后台启动postgres。
分类: 其他 发布时间: 09-18 18:55 阅读次数: 0

数据库PostrageSQL-管理内核资源

18.4. 管理内核资源PostgreSQL某些时候会耗尽操作系统的各种资源限制,当同一个系统上运行着多个拷贝的服务器或在一个非常大的安装中时尤其如此。本节解释了PostgreSQL使用的内核资源以及你可以采取的用于解决内核资源消耗相关问题的步骤。18.4.1. 共享内存和信号量PostgreSQL需要操作系统提供进程间通信(IPC)特性, 特别是共享内存和信号量。Unix驱动的系统通常提供 “System V” IPC、 “POSIX” IPC,或者两者都有。 Windows有它自己的这些功能的实现
分类: 其他 发布时间: 09-18 18:55 阅读次数: 0