我的乐与怒

Life, thoughts, stories and ideas.

2023新的一年

1668.12.26.40

开发一个基于WEB的AR应用

AR.js AR.js 是用于 Web 增强现实的轻量级库,具有图像跟踪、基于位置的 AR 和标记跟踪等功能。 github 地址 : https://github.com/AR-js-org/AR.js 文档: https://ar-js-org.github.io/AR.js-Docs/ 基于位置的AR gps-camera 组件 场景中允许一个该对象,将该对象绑定到 cam...

深入使用Spring计划任务框架

任务执行和计划 Spring框架提供TaskExecutor和TaskSchedule接口对异步任务和计划任务进行抽象。并支持很多框架的特性,比如线程池和委派等。这些接口在不同的运行环境背后通过不同的实现来进行支持。 Spring支持使用Timer和Quartz Scheduler ( https://www.quartz-scheduler.org/)进行调度。 TaskExecut...

用karabiner-element来定制你的MAC

Logi Option 一直买罗技的鼠标搭配MAC使用, Logi Option还挺方便,但是Logi鼠标用一两年要不滚轮失灵要不经常蓝牙断连.换了个Razer 尼玛连鼠标按键定义的软件都没有MAC版. 鼠标厂商已经躺平了么. 硬件厂商不思进取又得研究下 karabiner-element. 安装 官网 : https://karabiner-elements.pqrs.org/ 可...

以太坊开发入门 - 实现ERC20合约

Truffle和ganache Truffle提供一个集成环境以简化合约的开发以及进行工程化.genache-cli则提供一个模拟的链上环境以便我们可以方便的进行测试.测试完成后再部署到私链或者测试链进行真正的测试和验证.提高我们的开发效率 安装 开始之前请升级到较新的node版本 npm install –g truffle npm install ganache --global ...

以太坊开发入门 - EVM

简介 在以太坊上最重要的活动除了转账以外,就是编译、运行智能合约(Smart Contract)。 智能合约代表了一个以太坊世界里的独立管家。它按照自身代码指示进行以太币的收入,支出活动,也具有一定存储空间可以存储一些数据。 而智能合约就是运行于以太坊虚拟机 (Ethereum Virtual Machine, EVM) 之上. 虚拟机上执行的操作分读操作和写操作,读操作因为不更改区...

以太坊开发入门 - 智能合约

Solidity 语言 智能合约使用Solidity语言进行开发, Solidity语法参考 Solidity 语言的一些特点: 没有浮点数 使用${wei}$来规避浮点运算. $ 1 \times {ether} = 1 \times 10^{18}{wei} $ 指数运算符 10**18 = 10^18 函数权限关键字在最后 函数默认是public 约定 p...

以太坊开发入门 - 搭建私链

背景 以太坊,英文全称 Ethereum,是一个全球协作的开源区块链项目。 该项目流通的加密货币称为以太币 (Ether),是全球仅次于比特币的第二大流通加密货币。 它最大的特色是具有一个运行时环境:以太坊虚拟机 (Ethereum Virtual Machine,简称 EVM), 为大规模分布式开放应用提供了运行的平台。我们可以在以太坊的虚拟机上开发智能合约实现NFT等一系列基于区块链的...

使用Kind搭建K8S学习环境

背景 K8S集群的搭建由于墙的存在比较麻烦而且也比较占用资源,个人学习搭建K8S学习使用和做一些测试推荐使用Kind来在本地搭建. 安装 前置条件需要先安装golang 1.16 或更新的版本. 低版本需要加上 GO111MODULE="on" 如果包无法下载,因为墙可以添加Go package的国内镜像, 设置阿里的镜像 go env -w GOPROXY=https:/...

使用Querydsl简化Spring JPA的查询

JPA的限制 一般项目中一定会使用到联表查询,使用JPA可以很方便的对单表进行CRUD操作,简单的关联操作通过设置关联关系也很容易实现.但是对于多表的联合查询就比较麻烦.使用Querydsl可以帮助我们很方便的构建复杂查询. MAVEN依赖 添加依赖 <dependency> <groupId>com.querydsl</groupId> ...