学习一下使用MatLab如何进行编程,如函数、类、变量定义等,有助于实际MatLab项目的开发。
![]()
Bloom Filter(布隆过滤器)是一种空间利用很高的数据结构,使用一个数据来表示一个集合,用于判断一个元素是否存在于这个集合中。但是也有妥协:在判断一个元素是否属于该集合时有可能会误判(false positive),故不适合于"零错误"的场景,在能够容忍低错误率的场合下,可以通过极少的错误来换取较高的存储空间利用率。google的Guava中就有
BloomFilter
这个类。一个比较常见的应用是缓解Redis等缓存中缓存击穿的问题。
zk-SNARKs即"zero knowledge Succinct Non-interactive Argument of Knowledge",第一次见到是在ZCash的介绍里
Zcash is the first widespread application of zk-SNARKs, a novel form of zero-knowledge cryptography. ...
,他给出了简洁的非交互式零知识证明的办法,属于零知识证明的一种。zk-SNARKs的第一个应用就是Zcash,可以做到毫秒级的验证效果,但是产生这个证明的过程较为复杂。这篇开始学习一下流程。大致上流程如下:
Computation计算问题 -> Arithmetic Circuit代数电路 -> R1CS -> QAP -> zk-SNARK
Quarkus -- A Kubernetes Native Java stack tailored for OpenJDK HotSpot and GraalVM, crafted from the best of breed Java libraries and standards.
该框架定义为Kubernetes原生框架,可以很好的解决Serverless架构下资源占用大、冷启动慢等问题,实际效果还是挺惊艳的。这一篇开始学习Quarkus框架,本篇内容如下:
- 介绍基本概念
- 学习写简单的RESTful项目
- 学习构建可执行文件以及构建Docker镜像
这篇论文深入探讨了Serverless Computing这个较新的云计算概念,并讨论了它的来源、想要解决的问题等等。最近也是接触了一些新的云技术的思想和技术,尤其是自接触了Kubernetes和Quarkus,触发了我对这个领域的好奇心。云计算领域之前也有写过文章微服务入门-5W和微服务思想 · float's blog,但是当时只是简单的看了一下供微服务应用底层使用的一些平台,比如IaaS、PaaS,FaaS等等,也只简单了解了Serverless的概念。故跟着学习一下。
emm,更具体地来说其实是闲聊JSR-299与JSR-330,以及进一步澄清Spring的DI和Quarkus的CDI的概念。能疑惑这个问题只能说明我对Java的历史不够了解啊,只是很肤浅的去使用而没有思考其来源。
思考这个问题是因为我接触了Quarkus这个Java框架,大家一说到区块链一说到容器化可能都会去想go,而不是资源占有大且重量级的Java,这个框架就是用来解决Spring系列在这方面繁重的问题的,具体我会在Quarkus系列中详细叙述该框架的优点。
今天这篇文章主要内容包括这些:
- 澄清一下DI(Dependency Injection)和CDI(Context and Dependency Injection)的关系与区别,顺带记录一下我自己思考的过程;
- 澄清一下记Spring的ioc机制和这二者的关系(其实这俩没关系。。)
- 简言一下Quarkus的特点