f10@t's blog

f10@t's blog

St@y HuNgRy, St@y f00l1sh.

Matlab编程基础

学习一下使用MatLab如何进行编程,如函数、类、变量定义等,有助于实际MatLab项目的开发。

基本数据类型
Bloom Filter概念原理

Bloom Filter(布隆过滤器)是一种空间利用很高的数据结构,使用一个数据来表示一个集合,用于判断一个元素是否存在于这个集合中。但是也有妥协:在判断一个元素是否属于该集合时有可能会误判(false positive),故不适合于"零错误"的场景,在能够容忍低错误率的场合下,可以通过极少的错误来换取较高的存储空间利用率。google的Guava中就有BloomFilter这个类。

一个比较常见的应用是缓解Redis等缓存中缓存击穿的问题。

zk-SNARKs简洁的非交互式零知识证明学习(一)

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学习(一)概述以及编写REST服务

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镜像

Cloud Programming Simplified:A Berkeley View on Serverless Computing

这篇论文深入探讨了Serverless Computing这个较新的云计算概念,并讨论了它的来源、想要解决的问题等等。最近也是接触了一些新的云技术的思想和技术,尤其是自接触了Kubernetes和Quarkus,触发了我对这个领域的好奇心。云计算领域之前也有写过文章微服务入门-5W和微服务思想 · float's blog,但是当时只是简单的看了一下供微服务应用底层使用的一些平台,比如IaaS、PaaS,FaaS等等,也只简单了解了Serverless的概念。故跟着学习一下。

闲聊一下Java中的DI和CDI

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的特点