已经上班十年得我,刚入职大厂不到四月就遇到了裁员。    疫情这两年,大环境都不是太好,尤其是找工作这件事上,去年年底原本我还没有打算换工作的我,被我一个多年未见的同事联系上了我,说他们部门招技术。公司都是属于通信公司,不同点是他们公司比我现在的公司大,确切的说是一家大型上市通信公司,当时觉得换
模式匹配 简介 类似于java中switch 当数据满足某一个分支时,执行完毕后,就直接跳出 case分支类似于default语言, 分支匹配其实就是顺序匹配 如果数据没有匹配任何规则,会发生错误 // val age = 20 // // age mat
隐式转换 精度小的类型可以自动转换为精度大的类型,这个转换过程无需开发人员参与,由编译器自动完成,这个转换操作我们称之为隐式转换。 如果程序编译出错,编译器会尝试在整个的作用域中查找能够让程序编译通过的方式 如果找到,那么编译器会尝试二次编译,让之前编译出现错误的代码经过转换后能够编译通过。 这个
泛型 泛型定义 Scala的泛型和Java中的泛型表达的含义都是一样的,对处理的数据类型进行约束,但是Scala提供了更加强大的功能 scala中的泛型采用中括号 scala中的泛型是不可变的 泛型和类型不是一个层面的东西 所以scala中泛型和类型无法联合使用 泛型语法 如果能将类型
集合 Scala的集合有三大类: 序列Seq、集Set、映射Map 所有的集合都扩展自Iterable特质。对于几乎所有的集合类 Scala都同时提供了可变和不可变的版本 可变集合 可以在适当的地方被更新或扩展。这意味着你可以修改,添加,移除一个集合的元素。 不可变集合 永远不会改变。不过,你仍然
面向对象编程 包 语法 package com.pac1.pac2.pac3 package com package pac1 { package pac2 { package pac3 { object ScalaPackage {
某云负载均衡真实IP的问题,我们这边已经遇到过两次了。而且每次和售后沟通的时候都大费周折,主要是要给售后说明白目前文档的获取真实IP是有问题的,他们觉得文档上说明的肯定没问题,售后要是不明白,他们不会给LB部门上报,这个事就没法推进。 我们这边的简单的网络架构设这样的。 DNS->负载均衡
笔者使用的开发环境是IntelliJ IDEA Community Edition 2021.3.3  scala版本是2.11.8,与Spark2.0严格对应。 (1)在maven环境中导入scala框架           导入Scala框架              导入成功后在main
大家好,我是七淅(xī)。 如标题所说,和大家分享一个我曾优化过的业务场景。 当然,具体业务细节不重要,重要的是优化的思路。如果大家以后有遇到类似特点的场景,能够想到七淅这篇优化文章,那我就觉得很值了。 接下来我就直接进入主题,要分享得优化思路就是请求合并。 弱弱说一句,由于优化效果特别明显,这一
1.下载sbt1.2.8 官网:https://sbt-downloads.cdnedge.bluemix.net/releases/v1.2.8/sbt-1.2.8.tgz2.配置环境 #SBT_HOME设置为sbt解压目录,例如: SBT_HOME=C:Programssbt; #在pat
1.安装Java 官方下载地址:https://www.oracle.com/cn/java/technologies/javase/downloads/#java8 2.安装sbt 官方下载地址:https://www.scala-sbt.org/download.html 下载后解压缩,将sb
第1章 Scala入门 1.1 概述 The Scala Programming Language Scala combines object-oriented and functional programming in one concise, high-level language. Scal
背景 在三年前发布的C#8.0中有一项重要的改进叫做接口默认实现,从此以后,接口中定义的方法可以包含方法体了,即默认实现。 不过对于接口的默认实现,其实现类或者子接口在重写这个方法的时候不能对其进行base调用,就像子类重写方法是可以进行base.Method()那样。例如: public int
秒杀系统主要是有三个特点高性能、高并发、高可用。 从一次秒杀的流程出发,考虑秒杀系统的三个特点,那么就可以设计一个秒杀系统。 1. 秒杀页面获取 优化方案: 动静分离。将页面的静态资源等部署到Nginx或者CDN,这样可以加快秒杀页面获取。 静态资源合并获取。通过将多个请求合并为单个请求,一次获取
一、前言 我们现在日常生活中,会使用各式各样的应用程序,层出不穷,其中有基于网页浏览方式的应用,有基于手机端的App,甚至有基于流行的公众号和小程序等等,这些应用,我们不仅要实现各个应用的功能之外,还要考虑各个应用之间的交互作用,其中身份的认证和授权就是每个应用必不可少的的一部分。 所以我们以身份
一、前言 在上一篇中,我们IdentityServer4的说明,认识到是一个基于OpenID Connect协议标准的身份认证和授权程序,并简单的对基础知识的认识以及区别说明,从OAuth、OpenID、OpenID Connect以及JWT等进行对比区别说明。 而在这一篇中,我们主要对Ident
前言   许多网站在登录时,都有第三方账号登录方式:如常见的QQ、微信、微博登录   如下图:博客园、简书登录界面               那么当我们点击三方账号登录时,发生了什么事情呢?涉及什么概念呢?接下来我们就以QQ登录为例一步步去查看整个过程。 三方登录过程  以QQ登录简书为例,来查
前言 在上篇文章主要介绍了DotNetCore项目状况,本篇文章是我们在开发自己的项目中实际使用的,比较贴合实际应用,算是对中间件的一个深入使用了,不是简单的Hello World,如果你觉得本篇文章对你有用的话,不妨点个【推荐】。 目录 中间件(Middleware)的作用 中间件的运行方式 中