经验首页 前端设计 程序设计 Java相关 移动开发 数据库/运维 软件/图像 大数据/云计算 其他经验
 Scala

restapi(1)- 文件上传下载服务

  上次对restapi开了个头,设计了一个包括了身份验证和使用权限的restful服务开发框架。这是一个通用框架,开发人员只要直接往里面加新功能就行了。虽然这次的restapi是围绕着数据库表的CRUD操作设计的,但文件类数据在服务端与客户端之间的交换其实也很常用,特别是多媒体类如图片...[2019/7/19]

Akka-CQRS(16)- gRPC用JWT进行权限管理

   前面谈过gRPC的SSL/TLS安全机制,发现设置过程比较复杂:比如证书签名:需要服务端、客户端两头都设置等。想想实际上用JWT会更加便捷,而且更安全和功能强大,因为除JWT的加密签名之外还可以把私密的用户信息放在JWT里加密后在服务端和客户端之间传递。当然,最基本的是通...[2019/7/16]

Windows32位或64位下载安装配置Scala

[学习笔记]   Windows 32位或64位下载安装配置Scala:1)下载地址:http: www.scala-lang.org/download/,看我的spark那节,要求scala是2.11以上,我就下载:scala-2.11.8.msi。2)安装:双击scala-2...[2019/7/12]

restapi(0)- 平台数据维护,写在前面

   在云计算的推动下,软件系统发展趋于平台化。云平台系统一般都是分布式的集群系统,采用大数据技术。在这方面akka提供了比较完整的开发技术支持。我在上一个系列有关CQRS的博客中按照实际应用的要求对akka的一些开发技术进行了介绍。CQRS模式着重操作流程控制,主要涉及交易数...[2019/7/11]

Akka-CQRS(15)- Http标准安全解决方案:OAuth2+JWT

Akka-CQRS(15)- Http标准安全解决方案:OAuth2+JWT

  上期讨论过OAuth2, 是一种身份认证+资源授权使用模式。通过身份认证后发放授权凭证。用户凭授权凭证调用资源。这个凭证就是一种令牌,基本上是一段没什么意义的加密文,或者理解成密钥也可以。服务方通过这个令牌来获取用户身份信息,也就是说服务端必须维护一个已经获得身份验证的用户信息清单。...[2019/7/10]

Akka-CQRS(14)- Http标准安全解决方案:OAuth2-资源使用授权

   上一篇讨论了SSL/TLS安全连接,主要是一套在通信层面的数据加密解决方案。但我们更需要一套方案来验证客户端。要把不能通过验证的网络请求过滤掉。 OAuth2是一套行业标准的网络资源使用授权协议,也就是为用户提供一种授权凭证,用户凭授权凭证来使用网络资源。申请凭证、然后...[2019/7/5]

Akka-CQRS(13)- SSL/TLS for gRPC and HTTPS:自签名证书产生和使用

  到现在,我们已经完成了POS平台和前端的网络集成。不过,还是那句话:平台系统的网络安全是至关重要的。前一篇博客里我们尝试实现了gRPC l/tls网络连接,但测试时用的证书如何产生始终没有搞清楚。现在akka-http开发的ws同样面临HTTPS的设置和使用问题。所以,特别抽出这篇...[2019/6/24]

play framework + sbt入门之环境搭建

一 sbt的使用 SBT = (not so) Simple Build Tool,是scala的构建工具,与java的maven地位相同。其设计宗旨是让简单的项目可以简单的配置,而复杂的项目可以复杂的配置。 sbt使用了ivy,默认将依赖包保存在用户目录.ivy下面,如果觉得默认路径不合...[2019/6/21]

Akka-CQRS(12)- akka-http for http-web-service: Routing-服务项目接口

Akka-CQRS(12)- akka-http for http-web-service: Routing-服务项目接口

   上篇提到,按当前对web-service功能需要,我们需要完成数据转换marshalling,服务接口routing这两部分的调研和示范。上篇已经完成了对序列化marshalling的讨论,这篇就介绍一下routing了。akka-http提供了一套功能强大,使用又很方便...[2019/6/20]

Akka-CQRS(11)- akka-http for http-web-service: Marshalling-数据序列化

  前面几篇讨论了关于gRPC方式的前后端连接集成方式。gRPC也是一个开放的标准,但讲到普及性就远远不及基于http/1.1协议的web-service了。特别是gRPC的前端编程还是有一定的门槛,所以作为一种开放的网络大平台还是必须考虑用web-service方式的集成。平台服务ap...[2019/6/20]

Scala可变参数列表,命名参数和参数缺省详解

重复参数 Scala在定义函数时允许指定最后一个参数可以重复(变长参数),从而允许函数调用者使用变长参数列表来调用该函数,Scala中使用“*”来指明该参数为重复参数。例如: scala> def echo (args: String *) = | for (arg...[2019/6/19]

Scala常用List列表操作方法示例

把Scala List的几种常见方法梳理汇总如下,日常开发场景基本上够用了。 创建列表 scala> val days = List("Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Satu...[2019/6/18]

详解Java中的scala正则表达式

Scala 通过 scala.util.matching 包中的 Regex 类来支持正则表达式。 eg:使用正则表达式查找单词 Scala 实例中使用 String 类的 r() 方法构造了一个Regex对象。(也可直接new一个Regex对象实例)然后使用 findFirstIn...[2019/6/18]

Scala中正则表达式以及与模式匹配结合(多种方式)

正则表达式 """原生表达 val regex="""([0-9]+)([a-z]+)""".r val numPattern="[0-9]+".r val numberPattern="""\s+[0-9]+\s+""".r 说明:.r()方法简介:Scala...[2019/6/18]

scala当中的文件操作和网络请求的实现方法

1、读取文件当中每一行的数据 def main(args: Array[String]): Unit = { 注意文件的编码格式,如果编码格式不对,那么读取报错 val file: BufferedSource = Source.fromFile("F:\\file...[2019/6/17]

Scala求和示例代码

Scala 是一门多范式(multi-paradigm)的编程语言,设计初衷是要集成面向对象编程和函数式编程的各种特性。 Scala 运行在Java虚拟机上,并兼容现有的Java程序。 Scala 源代码被编译成Java字节码,所以它可以运行于JVM之上,并可以调用现有的Java类库。 ...[2019/6/17]

如何利用 Either 和 Option 进行函数式错误处理

前言 我将讨论 Scala 风格的模式匹配,但首先我需要通过 Either 概念建立一些背景知识。Either 的其中一个用法是函数式风格的错误处理,我会在本期文章中对其进行介绍。 在 Java 中,错误的处理在传统上由异常以及创建和传播异常的语言支持进行。但是,如果不存在结构化异常处理又...[2019/6/13]

【SCALA】2、驼峰,下划线互转

  1、刚开始写scala,发现确实还是很不熟悉,api以及语法的使用都不是很简洁,这写出来跟java也没差多少。。。 献丑了   package spark /** * @ProjectName: cutter-point * @Pack...[2019/6/12]

Akka-CQRS(8)- CQRS Reader Actor 应用实例

  前面我们已经讨论了CQRS-Reader-Actor的基本工作原理,现在是时候在之前那个POS例子里进行实际的应用示范了。 假如我们有个业务系统也是在ca andra上的,那么reader就需要把从日志读出来的事件恢复成ca andra表里的数据行row。首先,我们需要在ca a...[2019/5/31]

spark与Scala安装过程和步骤及sparkshell命令的使用

Spark与Scala版本兼容问题: Spark运行在Java 8 +,Python 2.7 + / 3.4 +和R 3.1+上。对于Scala API,Spark 2.4.2使用Scala 2.12。您需要使用兼容的Scala版本(2.12.x)。 请注意,自Spark 2.2.0...[2019/5/27]

Scala快速入门 - 基础语法篇

Scala快速入门 - 基础语法篇

原文地址:Scala快速入门 - 基础语法篇 原文链接:http: www.cnblogs.com/cjblog p/10904595.html[2019/5/23]

14. Scala使用递归的方式去思考,去编程

14.1 基本介绍       -Scala饰运行在Java虚拟机(Java Virtual Machine)之上,因此具有如下特点         1) 轻松实现和丰富的Java类库互联互通         2) 它既支持面向对象的编程方式,又支持函数式编程         3) ...[2019/5/22]

Akka-CQRS(7)- CQRS Reader Actor 示范

Akka-CQRS(7)- CQRS Reader Actor 示范

   我们在这篇通过一个具体CQRS-Reader-Actor的例子来示范akka-persistence的query端编程和应用。在前面的博客里我们设计了一个CQRS模式POS机程序的操作动作录入过程,并示范了如何实现CQRS的写端编程。现在我们可以根据这个例子来示范如何通过...[2019/5/21]

13. Scala函数式编程(高级部分)

13.1 偏函数(partial function)    13.1.1 需求 -> 思考        一个集合val list = List(1,2,3,4,"abc"),完成如下要求         1) 将集合list中的所有数字+1,并返回一个新的集合   ...[2019/5/20]

12. Scala模式匹配

12. Scala模式匹配

12.1 match    12.1.1 基本介绍        Scala中的模式匹配类似于Java中的switch语法,但是更加强大       模式匹配语法中,采用match关键字声明,每个分支采用case关键字进行声明,当需要匹配时,会从第一个case分支开始,...[2019/5/17]

11. Scala数据结构(下)-集合操作

11.1 集合元素的映射-map映射操作    11.1.1 看一个实际需求       要求:请将List(3,5,8)中所有的元素都*2,将其结果放到一个新的集合中返回,即返回一个新的List(6,10,16),请编写程序实现   11.1.2 map映射操作      ...[2019/5/15]

10. Scala数据结构(上)-集合操作

10. Scala数据结构(上)-集合操作

10.1 数据结构特点    10.1.1 Scala集合基本介绍        uml => 统一建模语言       1) Scala同时支持不可变集合和可变集合,不可变集合可以安全的并发访问       两个主要的包       不可变集合:scal...[2019/5/10]

9. Scala隐式转换和隐式值

9.1 隐式转换   9.1.1 提出问题       先看一个案例演示,引出隐式转换的实际需要=>指定某些数据类型的相互转化 object boke_demo01 { def main(args: Array[String]): Unit = { val...[2019/5/8]

8. Scala面向对象编程(高级部分)

8. Scala面向对象编程(高级部分)

8.1 静态属性和静态方法   8.1.1 静态属性-提出问题        有一群小孩在玩堆雪人,不时有新的小孩加入,请问如何知道现在共有多少人在玩?请使用面向对象的思想,编写程序解决          8.1.2 基本介绍       -Scala中静态的概念-伴生对象...[2019/5/6]

7. Scala面向对象编程(中级部分)

7. Scala面向对象编程(中级部分)

7.1 包    7.1.1 看一个应用场景        现在有两个程序员共同开发一个项目,程序员xiaoming希望定义一个类取名Dog,程序员xiaohong也想定一个类也叫Dog,两个程序员还为此吵了起来,该怎么办?       --->使用包即可解决这个...[2019/5/5]

6. Scala面向对象编程(基础部分)

6.1 基本介绍    6.1.1 Scala语言是面向对象的       1) Java时面向对象的编程语言,由于历史原因,Java中海存在着非面向对象的内容:基本类型,null,静态方法等       2) Scala语言来自于Java,所以天生就是面向对象的语言,而且Sca...[2019/4/29]

2. Scala变量

2.1 变量是程序的基本组成单位        举一个简单的例子         object boke_demo01 { def main(args: Array[String]): Unit...[2019/4/22]

Akka-CQRS(5)- CQRS Writer Actor 部署和测试

   上篇我们做了一个WriterActor的例子,主要目的是示范WriterActor如何作为集群分片用persistentActor特性及event-sourcing模式实现CQRS的写功能。既然是集群分片,那么我们就在这篇讲讲WriterActor的部署和测试,因为这个里...[2019/4/8]

Akka-CQRS(4)- CQRS Writer Actor 示范

   我觉着,CQRS的写部分最核心、最复杂的部分应该是Writer-Actor了。其它的监管(supervising)、分片部署等都比较规范,没太多的变动。几乎Writer-Actor所有的业务逻辑都在Receive函数里,这个地方应该算是最复杂的地方。我的想法是搭建一个标准...[2019/4/1]

Akka-CQRS(3)- 再想多点,全面点

   上篇我介绍了CQRS模式存写部分的具体实现和akka-persistence一些函数和消息的用法。在这篇本来是准备直接用一个具体的例子来示范CQRS模式编程,主要是写端,或者是数据采集端。想着模拟收银机的后端操作,可以使用集群分片(cluster-sharding),每个...[2019/3/21]

2018-12-09 疑似bug_中文代码示例之Programming in Scala笔记第九十章

续前文: 中文代码示例之Programming in Scala笔记第七八章 源文档库: program-in-chinese/Programming_in_Scala_study_notes_zh 疑似中文命名bug program-in-chinese/Programming_in_S...[2019/3/12]

2018-11-13 中文代码示例之Programming in Scala学习笔记第二三章

由于拷贝后文档格式有变, 仅摘几段如下. 完整而且代码带语法高亮的源版在: program-in-chinese/Programming_in_Scala_study_notes_zh 前言: 本书已有中文版, 此笔记并不是对原教程的翻译, 而是围绕示例进行选摘, 并顺便将所有示例改成中文命...[2019/3/11]

2018-11-27 中文代码示例之Programming in Scala笔记第七八章

续前文: 中文代码示例之Programming in Scala学习笔记第二三章 中文代码示例之Programming in Scala笔记第四五六章. 同样仅节选有意思的例程部分作演示之用. 源文档仍在: program-in-chinese/Programming_in_Scala_...[2019/3/11]

2018-02-17 中文代码示例[译]Scala中创建隐式函数

前言: 学习Scala时, 顺便翻译一下自己有兴趣的文章. 代码中所有命名都中文化了(不是翻译). 比如原文用的是甜甜圈的例子. 原文: Scala Tutorial - Learn How To Create Implicit Function 简述 本文学习如何创建隐式函数, 以便对几乎任...[2019/3/8]

Scala_数据类型

Scala与Java有着相同的数据类型,Scala数据类型都是对象,Scala中没有类似Java中那样的原始类型。Scala 的基本数据类型有: Byte,Short,Int,Long 和 Char (这些成为整数类型)。整数类型加上 Float 和 Double 成为数值类型。此外还有 Stri...[2019/3/5]

Scala_方法和函数

方法的定义 def functionName([参数列表]) : [return type] = { function body return [] } 如果没有=和{}包裹的方法体,那么该方法被隐式申明为抽象(abstract)方法,包含它的类就是抽象类。 ...[2019/3/5]

SpringBoot整合Scala构建Web服务的方法

今天我们尝试Spring Boot整合Scala,并决定建立一个非常简单的Spring Boot微服务,使用Scala作为编程语言进行编码构建。 创建项目 初始化项目 复制代码 代码如下:mvn archetype:generate -DgroupId=com.edurt. i...[2019/3/5]

scala-数组操作

package com.bigdata import scala.collection.mutable.ArrayBuffer object ArrayO { def main(args: Array[String]): Unit = { val arrayBuffer = Ar...[2019/2/15]

Akka-CQRS(2)- 安装部署cassandra cluster,ubuntu-16.04.1-LTS and MacOS mojave

 对于akka-cluster这样的分布式软件系统来说,选择配套的数据库类型也是比较讲究的,最好也是分布式的,如ca andra,能保证良好的HA特性。前面的例子里示范akka-persistence时已经使用了ca andra作为journal和snapshot-store。一直以来基...[2019/2/12]

Spark笔记(一):错误总结

1.转义字符:   常见的replaceAll,split,mkstring中涉及到特殊字符的都要加上转义字符,比如str.split("\\|"),str.replaceAll("\\[", "")      报错信息:   &...[2019/1/28]

Scala学习(一)

Scala学习(一)

1.scala面向行的语言,一句是一行的话,末尾的分号可有可无. 2.数据类型: Byte Short Int Long Float Double Char String Boolean,Unit,Nothing,Any,AnyRef 3.变量声明:(声明时必须赋初始值)  &nbs...[2019/1/28]

Akka-CQRS(0)- 基于akka-cluster的读写分离框架,构建gRPC移动应用后端架构

   上一篇我们讨论了akka-cluster的分片(sharding)技术。在提供的例子中感觉到akka这样的分布式系统工具特别适合支持大量的带有内置状态的,相对独立完整的程序在集群节点上分布运算。这里重点要关注这些程序的内部状态,它们会占用系统资源包括内存。把状态保存在内存...[2019/1/23]

Scala-Unit7-Scala并发编程模型AKKA

Scala-Unit7-Scala并发编程模型AKKA

一、Akka简介   Akka时spark的底层通信框架,Hadoop的底层通信框架时rpc。   并发的程序编写很难,但是Akka解决了spark的这个问题。   Akka构建在JVM平台上,是一种高并发、分布式、并且容错的应用工具包;   Akka使用Scala语言编写,同时它提供了S...[2019/1/21]

Scala-Unit6-final/type关键字、样例类&样例对象

一、关键字   1.final关键字   用final修饰的类:不能被继承   用final修饰的方法:不能被重写   注意:(1)在Scala中变量不需要用final修饰,因为val与var已经限制了变量是否可变      (2)final不能修饰特质,但是可以修饰抽象类 trai...[2019/1/18]

Akka-Cluster(6)- Cluster-Sharding:集群分片,分布式交互程序核心方式

在前面几篇讨论里我们介绍了在集群环境里的一些编程模式、分布式数据结构及具体实现方式。到目前为止,我们已经实现了把程序任务分配给处于很多服务器上的actor,能够最大程度的利用整体系统的硬件资源。这是因为通过akka-cluster能够把很多服务器组合成一个虚拟的整体系统,编程人员不需要知道负责运算...[2019/1/17]

346
2
记录数:99 页数:1/212下一页尾页
加载更多