自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

东海陈光剑的博客

公众号: Kotlin 开发者社区。 阿里巴巴资深程序员。著有《Kotlin 极简教程》、《Spring Boot 开发实战》、《Kotlin从入门到进阶实战》等技术书籍。

  • 博客(68)
  • 资源 (2)
  • 论坛 (1)
  • 收藏
  • 关注

原创 跨境电商“9710”“9810”是什么?

9710篇1. 什么是9710海关监管代码9710简称“跨境电商B2B直接出口”,适用于跨境电商B2B直接出口的货物。跨境电商B2B直接出口模式指:国内企业通过跨境电商平台开展线上商品、企业信息展示并与国外企业建立联系,在线上或线下完成沟通、下单、支付、履约流程,实现货物出口的模式。2.9710的申报要求选择跨境电商B2B直接出口(9710)的企业申报前需上传交易平台生成的在线订单截图等交易电子...

2020-09-29 17:26:13 1085

原创 压倒eBay 挑战亚马逊 Shopify到底厉害在哪儿?

超过1100亿美元的市值,占据美国电商零售5.9%的市场份额——Shopify稳稳地坐上第二把交椅(仅次于亚马逊)。独立站的高歌猛进,无疑让作为系统服务商头部玩家的Shpoify成为了风口上的“明星”,尤其是在今年疫情发生之后。本文就带你一起看看Shpoify到底有何厉害之处。Shopify是谁?Shopify是一家总部位于加拿大的全球化企业,2006年正式上线,2015年在纽约和多伦多两地的证...

2020-09-29 17:22:07 119

原创 跨境电商不得不留意的4个新趋势

跨境电商发展热度不减,出口方面则迎来高潮,同时跨境电商也在发生着“新”的变化,包括在线交易、跨境物流、跨境供应链等,这就需要企业审时度势,随机应变。2020年全球网上零售额更是有近1/3交易额是通过跨境电商完成的,在这样新的机遇期下,中国出口企业的机会在哪?根据天眼查专业版数据,截至2020年9月28日,以工商登记为准,我国今年新增约8.7万家跨境电商相关企业。据悉,目前,我国共有56.4万家企业...

2020-09-29 17:12:32 143

原创 Java 15 的新特性: TextBlocks

JDK 15JDK 15 is the open-source reference implementation of version15 of the JavaSE Platform, as specified by byJSR390in the Java Community Process.JDK 15 reachedGeneral Availabilityon 15 Sept...

2020-09-29 15:05:30 236

原创 程序员人生:技术人员的职业发展规划

技术人员的职业发展规划思考之前有一篇美团公众号的文章《工作中如何做好技术积累》。近期也在给团队同学做年度绩效沟通,在沟通的时候大家也探讨了职业发展规划。有些同学表示,希望后续能进一步在技术领域(或管理方向)进一步积累;有的同学也表示,希望在新的一年,能具有更好的技术影响力,自己能做一些技术决定,去影响其他人,这样自己会很有成就感。不过,我也挑战问了一些问题:你希望技术能进一步积累,你积累的...

2020-09-27 16:16:35 2817 4

原创 mysql 数据库的悲观锁和乐观锁

悲观锁(Pessimistic Concurrency Control)当我们要对一个数据库中的一条数据进行修改的时候,为了避免同时被其他人修改,最好的办法就是直接对该数据进行加锁以防止并发。这种借助数据库锁机制在修改数据之前先锁定,再修改的方式被称之为悲观并发控制(又名“悲观锁”,Pessimistic Concurrency Control,缩写“PCC”)。之所以叫做悲观锁,是因为这是...

2020-09-27 15:07:20 85

原创 IDEA 快键键:展开所有文件夹、折叠所有文件夹(自定义)

Step 1:Command + , 快键键打开:Preference :Step 2 在 Preference 偏好设置中,搜索 Fully Expand Tree Node,在 Keymap 选项页面中进行快捷键修改即可。比如,你可以增加Mouse Shortcut鼠标快捷键:alt++。修改完毕后,选中要展开的目录,然后通过按下键...

2020-09-25 17:11:54 558 1

原创 IDEA 热部署配置 HotSwapAgent-IntelliJ-IDEA-plugin

HotSwapAgent-IntelliJ-IDEA-pluginhotswaplogo·Hot Swapping·Our work is fun, but we don't want to waste our time waiting when our latest changes will be deployed on application server!You can...

2020-09-25 16:52:54 287

原创 fsm:有限状态机

有限状态机(英语:finite-state machine,缩写:FSM)又称有限状态自动机,简称状态机,是表示有限个状态以及在这些状态之间的转移和动作等行为的数学模型。状态存储关于过去的信息,就是说:它反映从系统开始到现在时刻的输入变化。转移指示状态变更,并且用必须满足确使转移发生的条件来描述它。动作是在给定时刻要进行的活动的描述。有多种类型的动作:进入动作(entry act...

2020-09-25 11:22:16 244

原创 华为鸿蒙OS2.0:为中国的软件行业种“根”

华为鸿蒙OS2.0系统定义HarmonyOS是一款“面向未来”、面向全场景(移动办公、运动健康、社交通信、媒体娱乐等)的分布式操作系统。在传统的单设备系统能力的基础上,HarmonyOS提出了基于同一套系统能力、适配多种终端形态的分布式理念,能够支持多种终端设备。鸿蒙1.0从鸿蒙1.0到鸿蒙2.0:分布式能力对消费者而言,HarmonyOS能够将生活场景中的各类终端进行能力整合,可以实现不同的终端设备之间的快速连...

2020-09-22 17:47:08 23279 39

原创 计算机编程oop思想与老子道德经之无有万物

我们用虚拟的数字计算机来模拟宇宙万物的运行规律。道,乃电子计算机之设计,之CPU,GPU,Registers,乃操作系统,这些都叫“无”。源代码,是为“有”。那么,通电,开机,启动程序运行那一瞬间,就是宇宙大爆炸。有,成为万物之母,需要一个能量,这个能量究竟是什么呢?不晓得。宇宙之浩渺,量子之妙微,纵有千古,横有八荒,前程远大,来日方长。...

2020-09-21 01:09:54 109 1

原创 使用 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) {

2020-09-18 17:18:02 111

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

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

2020-09-18 17:17:33 214

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

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

2020-09-18 17:16:52 101

原创 《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

2020-09-18 17:16:21 108

原创 《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

2020-09-18 17:15:52 128

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

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

2020-09-18 17:15:10 117

原创 《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服务端应用,同时

2020-09-18 17:14:36 227

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

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

2020-09-18 17:13:48 130

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

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

2020-09-18 17:13:14 130

原创 《Kotin 极简教程》第8章 函数式编程(FP)

第8章 函数式编程(FP)值就是函数,函数就是值。所有函数都消费函数,所有函数都生产函数。“函数式编程”, 又称泛函编程, 是一种"编程范式"(programming paradigm),也就是如何编写程序的方法论。它的基础是 λ 演算(lambda calculus)。λ演算可以接受函数当作输入(参数)和输出(返回值)。和指令式编程相比,函数式编程的思维方式更加注重函数的计算。它的主要思想是把问题的解决方案写成一系列嵌套的函数调用。就像在OOP中,一切皆是对象,编程的是由对象交合创造的世界;

2020-09-18 17:12:24 248 3

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

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

2020-09-18 17:11:25 105

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

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

2020-09-18 17:09:47 106

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

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

2020-09-18 17:08:42 423

原创 《Kotlin 极简教程 》第4章 基本数据类型与类型系统

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

2020-09-18 17:07:38 279 1

原创 《Kotlin 极简教程 》第3章 Kotlin语言基础

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

2020-09-18 17:05:39 254 1

原创 《Kotlin 极简教程 》第2章 快速开始:HelloWorld

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

2020-09-18 17:04:23 153 1

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

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

2020-09-18 17:03:25 177

原创 阿里巴巴CTO鲁肃:技术人怎样成长?未来技术趋势,阿里技术文化分析

关于健康码:“数据+算法+工程”三合一的能力三层架构程立(鲁肃)阿里巴巴集团CTO程立于2005年加入支付宝,是支付宝技术平台的奠基人之一,自2019年12月起担任阿里巴巴...

2020-09-18 14:16:44 176

原创 关于“长尾理论”(The Long Tail)

https://www.youtube.com/watch?v=0Yku0GTrcuw长尾效应长尾效应,英文名称Long Tail Effect。“头”(head)和“尾”(tail)是两个统计学名词。正态曲线中间的突起部分叫“头”;两边相对平缓的部分叫“尾”。长尾效应的根本就是强调“个性化”,“客户力量”和“小利润大市场”,也就是要赚很少的钱,但是要赚很多人的钱。要将...

2020-09-17 16:15:35 319

原创 花之寺

花之寺,初看到这三个字,就觉得有缘。花本是俗世之世俗之物,却入禅境。正所谓“一花一世界,一叶一如来”。清人王士禛的《分甘余话》里说:“沂水县有花之寺,不解其义,张杞园问之土人,云以寺门多花卉,而径路窃折如之字形,故以为名。”凌叔华曾写过一篇温婉细腻的小说叫《花之寺》,讲富裕家庭里一位颇有才华的妻子,虚以另一位陌生而神秘的女子名义给丈夫写了一简暧昧的信,邀约其在花之寺的碧桃树下相会,以此来试探...

2020-09-16 21:20:37 83

原创 Kotlin Native 与 Swift/Objective-C 双向互操作

基于cinteroop,增加了面向对象的映射。细节详见官网文档:https://kotlinlang.org/docs/reference/native/objc_interop.htm...

2020-09-16 18:18:00 286

原创 Kotlin Multiplatform Mobile 进入 Alpha 阶段

Kotlin Multiplatform Mobile (KMM) 是由 JetBrains 创建的跨平台移动开发 SDK,它应用了 Kotlin 的多平台功能,开发者能够使用它在移动应...

2020-09-16 18:18:00 1169 1

原创 Android Studio:Create Kotlin multiplatform mobile application

Create your first Kotlin multiplatform mobile application in Android StudioIn this article, y...

2020-09-16 18:18:00 119

原创 Android Studio missing essential plugin org.jetbrains.android

open Android Studio getting the following error:Missing essential plugin: org.jetbrains.androidPlease reinstall Android Studio from scratch.Solution:On Mac OS, delete this/Users/[your_name]/Library/Preferences/AndroidStudio4.0/disabled_plugin.tx

2020-09-16 14:35:08 1551

原创 微观世界

2020-09-15 13:29:27 83

原创 翡翠玉石微观世界,太美了!

翡翠的诞生得益于大自然的鬼斧神工,光是颜色的种类就多到让人眼花缭乱。绿为翠,红为翡,纯净为白,青、蓝为橄榄,紫为春地人人都说知人知面不知心,这些珠宝玉石有多美?还得你看看才明白……南红的横切面,就像一簇燃烧的火焰。一个玉髓球体栖息在火欧泊中的角闪石针上,如梦似幻。查塔姆合成蓝宝石中铂的晶体,犹如一把剑。...

2020-09-15 13:18:15 129

原创 《黄金瞳》 台词:你人真好!

第一口茶入口苦涩,联想到自己刚出大学校门后所遇到的挫折,那个时候的心情,岂不是和这口茶极其相似。泡上一壶,三山五岳,那亘越万古的钟灵毓秀,孕育造化的香茗, 燃起一柱氤氲着,禅机佛性、安神定魄的檀香。一味茶苦如人生,二味茶甘如人生,三味茶淡如人生。向壶中注水,水满壶口时停了下来,伸出两指,夹起壶盖刮去了壶口的泡沫,然后盖上壶盖,用开水冲去壶顶产泡沫。这个过程叫做淋壶,淋壶的目的一为清洗壶体,二...

2020-09-14 11:49:29 155

原创 git Mac 上的 .DS_Store 文件极简教程

.DS_Store 是什么?使用 Mac 的用户可能会注意到,系统经常会自动在每个目录生成一个隐藏的 .DS_Store 文件。.DS_Store(英文全称 Desktop Services Store)是一种由苹果公司的Mac OS X操作系统所创造的隐藏文件,目的在于存贮目录的自定义属性,例如文件们的图标位置或者是背景色的选择。相当于 Windows 下的 desktop.ini。删除 .DS_Store如果你的项目中还没有自动生成的 .DS_Store 文件,那么直接将 .DS_Store 加入

2020-09-12 01:05:37 168

原创 为什么 Kotlin 使用 cglib 的 Enhancer 动态代理不生效?

源代码:https://gitee.com/kotlin_zone/proxyKotlin 代码 NG:package com.light.sword/** * @author: Jack * 2020-09-11 10:59 */open class Hello { fun hello() { println("Hello") }}package com.light.swordimport net.sf.cglib.proxy.MethodIn

2020-09-12 00:43:16 172

An introduction to functional programming through lambda calculus.PDF.zip

Author: Michaelson, Greg Functional programming is rooted in lambda calculus, which constitutes the world's smallest programming language. This well-respected text offers an accessible introduction to functional programming concepts and techniques for students of mathematics and computer science. The treatment is as nontechnical as possible, and it assumes no prior knowledge of mathematics or functional programming. Cogent examples illuminate the central ideas, and numerous exercises appear throughout the text, offering reinforcement of key concepts. All problems feature complete solutions.

2019-09-22

《Kotlin项目实战开发》第3章+类型系统与可空类型

《Kotlin项目实战开发》 第3章 类型系统与可空类型 跟Java、C和C ++ 一样, Kotlin也是“静态类型编程语言”。 通常,编程语言中的类型系统中定义了  如何将数值和表达式归为不同的类型  如何操作这些类型  这些类型之间如何互相作用 我们在编程语言中使用类型的目的是为了让编译器能够确定类型所关联的对象需要分配多少空间。 在每一个编程语言中,都有一个特定的类型系统。静态类型在编译时期时,就能可靠地发现类型错误。因此通常能增进最终程序的可靠性。 类型系统在各种语言之间有非常大的不同,主要的差异存在于编译时期的语法,以及运行时期的操作实现方式。 本章我们简单介绍一下Kotlin的类型系统。

2017-09-30

一个会写诗的程序员的留言板

发表于 2020-01-02 最后回复 2020-05-18

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人 TA的粉丝

提示
确定要删除当前文章?
取消 删除