Li Guangqiao
Li Guangqiao

一个正在转rust的ExtJs前端工程师。迷信rust的整体发展,十分相信rust在各个领域都能发光发热,至少目前rust在很多领域上验证了其安全性、易维护性。但说实话对于我这种菜鸡也是真的难上手哈哈哈~~。 思路总结:

  • 万物诞生都会有一个需求来源,每一个改变都是为了解决某个问题,最后应该考虑如何去做
  • 学会掌握一些宏观的知识和理论:系统论、还原论
  • 工程化思想,如何描述整体,从整体架构到模块关联等 故学习东西应该像看地图一样,先看整体了解整体的结构,然后再聚焦每一个模块,对于模块的学习,思考三个问题,“是什么?”、“为什么?”、“怎么做?”;那么设计一个东西时也应该去考虑整体性和关联性。

有关于未来的发展,以下是鄙人的粗浅的观点:

  • 编程语言未来应该是每个人必备的工具
  • 未来的交互方式应该会以语言交互为主流
  • 下一个去中心化的技术方案出来之前,区块链依然是web3建立价值体系的基础技术方案,如何将现实价值和虚拟价值联通是进入数字世界的一个大难题。
  • 未来注定是AI的世界。AI的进化会伴随绝大部分人的退化,届时除了尖端人才,人们学习的重心会放在何处?

java基础
java基础

Li Guangqiao - 26/06/2024

Java 反射基础 // 动态加载类 Class<?> clazz = Class.forName("java.util.ArrayList"); Class 是 Java 反射 API 中的一个核心类,用于表示所有类和接口在运行时的类型信息。 Class<?> 解释 Class<?> Class 类:这是 java.lang.reflect 包中的一个类,表示在运行时的类和接口。每个类都被 Class 类的一个实例所表示,无论它是一个普通类、接口、枚举还是注解。 泛型 <?>(通配符):在 Java 中,? 表示通配符,用于泛型编程。Class<?> 表示“未知的 Class 类型”,它是泛型语法的一部分。使用 ? 作为类型参数,你可以引用任何类型的 Class 对象。这种方式比使用 Class 类型更加安全,因为它防止了向 Class 对象中放入错误类型的实例。 为什么使用 Class<?> 类型安全:使用 Class<?> 比简单使用非泛型的 Class 类型更安全。它表明你并不关心 Class 对象的具体类型,但仍然保留了泛型的好处,即确保如果你对这个类对象进行操作,你不会错误地处理类型信息。 避免类型警告:直接使用 Class 会导致编译器警告,如“Class 是原生类型”。使用 Class<?> 可以避免这些警告,使代码更干净,更符合 Java 的泛型约定。 总结来说,Class<?> 是 Java...

java的反射和代理
java的反射和代理

Li Guangqiao - 26/06/2024

java的反射和代理机制 java的反射特性 反射特性允许程序在运行时检查、修改和操作自身的结构 反射特性主要解决java运行时的灵活性和动态性问题,使得Java应用程序能够在运行时加载、探查、使用和修改类和对象的行为。 使用场景: 动态类加载。 访问类的内部信息 调用方法和访问字段 数组操作 实现泛型api 动态代理 调试和测试工具 示例1:动态加载java.util.ArrayList类,调用其方法 public void test(){ try { Class<?> clazz = Class.forName("java.util.ArrayList"); Object arr = clazz.getDeclaredConstructor().newInstance(); Method add =...

java
java

Li Guangqiao - 26/06/2024

java问题总结 JDK17编译出jdk8的代码 核心原因还是因为在pom.xml或者build.gradle中指定问编译版本 ...

Hyperledger Fabric
Hyperledger Fabric

Li Guangqiao - 11/05/2024

超级账本 专业术语和概念 Assets— Asset definitions enable the exchange of almost anything with monetary value over the network, from whole foods to antique cars to currency futures. ​ 灵活的资产定义,从食物、汽车甚至未来货币,这些定义的资产可以在网络中流通。 **详细描述:**资产可以是实体的(如房地产和硬件)也可以是无形的(如合同和知识产权)。Hyperledger Fabric 提供了使用链码(chaincode)交易修改资产的能力。 ​ 在 Hyperledger Fabric 中,资产被表示为一组键值对的集合,状态变化被记录在通道账本(Channel ledger)上的交易中。资产可以以二进制和/或 JSON 形式表示。 Chaincode — Chaincode execution is partitioned from transaction ordering, limiting the required levels of trust and verification across node...

kubernetes部署服务流程
kubernetes部署服务流程

Li Guangqiao - 09/05/2024

以java服务为例 本地k8s集群采用kind部署,正式环境还是建议采用kubeadm来部署 撰写集群配置文件kind.yaml kind: Cluster apiVersion: kind.x-k8s.io/v1alpha4 nodes: - role: control-plane extraPortMappings: - containerPort: 30001 hostPort: 30001 由于kind是采用docker的方式部署集群,所以集群的端口策略需要在创建时期就在配置文件上设置好,不然后续无法通过宿主机访问集群中部署好的服务。 创建集群 kind create cluster --config ./kind.yaml --name cluster-1 准备好镜像文件javaServer.tar,并加载到本地kind集群 docker load -i javaServer.tar //javaServer:v1.0.0 kind load docker-image javaServer:v1.0.0 --name cluster-1 创建命名空间 kubectl create namespace <空间名称> //kubectl...