首页 文章 精选 留言 我的

精选列表

搜索[硬件创客],共10000篇文章
优秀的个人博客,低调大师

信创就用国产的生态,Solon v2.6.4 发布

Solon 是什么框架? Java 新的"生态级"应用开发框架。从零开始构建,有自己的标准规范与开放生态(历时六年,具备全球第二级别的生态规模)。 相对于 Spring,有什么特点? 国产!国产!国产! 启动快 5 ~ 10 倍。(更快) qps 高 2~ 3 倍。(更高) 低流量内存节省 1/3 ~ 1/2。(更少) 打包可以缩小到 1/2 ~ 1/10;比如,300Mb 的变成了 23Mb。(更小) 同时支持 jdk8, jdk11, jdk17, jdk21,graalvm native image 入门探索视频(用户录制): 最近更新了什么? 新增 graphql-solon-plugin 插件(欢迎试用) 修复 @Header 与 @Body 同时注入时,@Header 会失效的问题 修复 LocalCacheService 时间过大时会超界的问题 添加 local-solon-cloud-plugin 对描述信息的获取 fastjson2 升为 2.0.44 log4j 升为 2.22.1 logback 升为 1.3.14 sqltoy 升为 5.2.88 mybatis-flex 升为 1.7.6 beetlsql 升为 3.27.4-RELEASE fastmybatis 升为 2.10.0 socket.d 升为 2.2.2 folkmq 升为 1.0.26 项目仓库地址? gitee:https://gitee.com/noear/solon github:https://github.com/noear/solon

优秀的个人博客,低调大师

Solon v2.2.10 发布,助力信创国产化

Solon 是一个高效的 Java 应用开发框架:更快、更小、更简单。它不是 Spring、没有使用 Servlet、JavaEE 接口,是一个有自己接口标准的开放生态。可以为应用软件国产化提供支持,助力信创建设。 150多个生态插件,覆盖各种不同的应用开发场景: 相对于 Spring Boot 和 Spring Cloud 的项目: 启动快 5 ~ 10 倍。 (更快) qps 高 2~ 3 倍。 (更高) 运行时内存节省 1/3 ~ 1/2。 (更少) 打包可以缩小到 1/2 ~ 1/10;比如,300Mb 的变成了 23Mb。 (更小) 同时支持 jdk8, jdk11, jdk17, jdk19。 似曾相似的体验,入门更简单,迁移很方便: @Controller public class App { public static void main(String[] args) { Solon.start(App.class, args, app->{ //手写模式 app.get("/", ctx -> ctx.outputAsJson("{message:'Hello world!'}")) }); } //注解模式 @Get @Socket @Mapping("/hello") public String hello(String name) { return String.format("Hello %s!", name); } } 入门探索视频(用户录制): 本次更新: 新增 mybatis-flex-solon-plugin 插件 插件 solon.cloud.tracing 将 traceId 和 spanId 存入日志全局变量,方便在日志中打印 插件 solon.scheduling 增加 @Async 运行器创建扩展机制 调整 "@Init will be discarded" 打印时机,改由 debug 时打印 调整 solon.web.sso 插件的用法 调整 mybatis 相关的适配包名,基于2.0规范 调整 @SolonTest 注解为可继承 优化 mybatis-solon-plugin 去掉关闭连接时的 connection.setAutoCommit(true)。此段代码会导致查询速度增加20~30ms 优化 solon.boot.jlhttp 插件 JlHttpServer 类,实现接口公用性!!! 优化 solon.boot.jdkhttp 插件 JdkHttpServer 类,实现接口公用性!!! 优化 solon.boot.smarthttp 插件 SmHttpServer 类,实现接口公用性!!! snack3 升为 3.2.65,支持 File 类型注入 项目仓库: gitee:https://gitee.com/noear/solon github:https://github.com/noear/solon

优秀的个人博客,低调大师

助力信创国产化,Solon v2.2.9 发布

Solon 是一个高效的 Java 应用开发框架:更快、更小、更简单。它不是 Spring、没有使用 Servlet、JavaEE 接口,是一个有自己接口标准的开放生态。可以为应用软件国产化提供支持,助力信创建设。 150多个生态插件,覆盖各种不同的应用开发场景: 相对于 Spring Boot 和 Spring Cloud 的项目: 启动快 5 ~ 10 倍。 (更快) qps 高 2~ 3 倍。 (更高) 运行时内存节省 1/3 ~ 1/2。 (更少) 打包可以缩小到 1/2 ~ 1/10;比如,300Mb 的变成了 23Mb。 (更小) 同时支持 jdk8, jdk11, jdk17, jdk19。 似曾相似的体验,入门更简单,迁移很方便: @Controller public class App { public static void main(String[] args) { Solon.start(App.class, args, app->{ //手写模式 app.get("/", ctx -> ctx.outputAsJson("{message:'Hello world!'}")) }); } //注解模式 @Get @Socket @Mapping("/hello") public String hello(String name) { return String.format("Hello %s!", name); } } 入门探索视频(用户录制): 本次更新: 新增 solon.web.sso 插件 新增 wxjava-xxx-solon-plugin 插件 插件 solon.serialization.jackson 增加几个默认特性,增强与fastjson的兼容度 插件 solon.serialization.snack3 增加嵌套泛型支持 List<List>、Map<String,List> 插件 dubbo-solon-plugin 增加 DubboFilterTracing 类 插件 solon.scheduling.simple 增加单计划任务的起停控制 增加 solon.boot.jlhttp 插件 JlHttpServer 类,提供可复用支持 增加 solon.boot.jdkhttp 插件 JdkHttpServer 类,提供可复用支持 增加 solon.boot.smarthttp 插件 SmHttpServer 类,提供可复用支持 增加 动态代理时异常时的友好提示 增加 "/WEB-INF/templates/" 后端模板目录约定支持 优化 solon.boot.xxx "Server:main:" 打印 优化 solon.cloud.tracing Span 的 name 和 tags 优化 LifecycleBean 组件增加自动排位!!! 优化 ctx.realIp() 获取算法 优化 jlhttp 状态码超界的处理 优化 solon.cloud.tracing @Tracing 增加全类名的记录 优化 时区解析统一由 ZoneId 处理??? 调整 solon.serialization.snack3 从 solon-lib 移到 solon-api,更方便 json 的选择 wood 升为 1.1.0 (拆分为: wood 和 wood.plus) water 升为 2.20.3 (配套 wood 拆分) mybatis 升为 3.5.13 fastjson2 升为 2.0.26 beetl 升为 3.15.1.RELEASE beetlsql 升为 3.21.0-RELEASE snack3 升为 3.2.64 项目仓库: gitee:https://gitee.com/noear/solon github:https://github.com/noear/solon

优秀的个人博客,低调大师

Solon v2.2.6 发布,助力信创国产化

Solon 是一个高效的 Java 应用开发框架:更快、更小、更简单。它是一个有自己接口标准规范的开放生态,可为应用软件国产化提供支持,助力信创建设。 150来个生态插件,覆盖各种不同的应用开发场景: 相对于 Spring Boot 和 Spring Cloud 的项目: 启动快 5 ~ 10 倍。 (更快) qps 高 2~ 3 倍。 (更高) 运行时内存节省 1/3 ~ 1/2。 (更少) 打包可以缩小到 1/2 ~ 1/10;比如,300Mb 的变成了 23Mb。 (更小) 同时支持 jdk8, jdk11, jdk17, jdk19。 似曾相似的体验,入门更简单,迁移很方便: @Controller public class App { public static void main(String[] args) { Solon.start(App.class, args, app->{ //手写模式 app.get("/", ctx -> ctx.outputAsJson("{message:'Hello world!'}")) }); } //注解模式 @Get @Socket @Mapping("/hello") public String hello(String name) { return String.format("Hello %s!", name); } } 入门探索视频(用户录制): 本次更新: 新增 easy-trans-solon-plugin 插件(引用) 新增 orika-solon-plugin 插件(引用) 新增 solon-job 插件(为 Solon Initializr 生成模板项目提供便利) 新增 solon-web-beetl 插件 新增 solon-web-enjoy 插件 增加 应用元信息 "solon.app.meta" 配置支持 增加 应用标签 "solon.app.tags" 配置支持 增加 nacos-solon-cloud-plugin 插件,客户端的自由配置支持(如:clusterName,contextPath) 增加 solon.health 插件,HealthHandler 组件自动注册支持 增加 solon.serialization.gson 插件,GsonActionExecutor 类(之前只有序列化没有执行支持) 增加 solon.scheduling.quartz 插件,非单例运行支持,method 支持拦截 增加 solon.scheduling.simple 插件,非单例运行支持,method 支持拦截 增加 solon.cloud 插件,CloudJob 增加非单例运行支持,method 支持拦截 增加 solon.vault 插件,VaultUtils::guard 接口,方便手动解敏操作 增加 ModelAndView 操作便利性 增加 CloudLoadBalance 对策略机制的支持,可自定义 增加 CloudClient::loadBalance() 接口 增加 ids=t1,t2,t3 注入 List 的支持 增加 插件加载失败日志 增加 动态代理注解的兼容检测,并打印警告日志 调整 sa-token 的集成逻辑 调整 solon.web.staticfiles 插件,静态资源改为固定长度输出 调整 不必要的 @Note 注释,同时缩减内核大小 修复 ColonClient.configLoad(g,k) 不能实时同步配置的问题 修复 FastjsonActionExecutor 配置没启效的问题 修复 LOG_SERVER 属性映射缺陷(pr) beetlsql 升为 3.20.3-RELEASE fastjson2 升为 2.0.25 snack3 升为 3.2.61 hutool 升为 5.8.15 sqltoy 升为 5.2.39 snakeyaml 升为 2.0 项目仓库: gitee:https://gitee.com/noear/solon github:https://github.com/noear/solon

优秀的个人博客,低调大师

5G联创中心将助推行业发展

日前,2016年世界移动通信大会在西班牙巴塞罗那开幕,第五代移动通信技术(5G技术)备受瞩目。与此同时,在GTI峰会上,中国移动宣布正式启动5G联合创新中心,将联合首批11家合作伙伴共推5G发展。机构分析认为,5G技术正处在一个快速开发阶段,5G标准有望在今年被正式确定,预计行业将在今年加速发展。加快发展5G技术将有助于我国在信息通信领域获得领先优势,极大推动移动互联网、物联网、云计算等其他行业的发展。 中国移动5G联合创新中心以合作共赢为核心,旨在4G向5G演进过程中聚焦基础通信能力、物联网、车联网、工业互联网、云端机器人、虚拟/增强现实等领域,联合通信企业、互联网企业及垂直应用行业合作伙伴,推动基础通信能力的成熟,促进5G创新应用发展,并构建跨行业融合生态系统。依托5G联合创新中心,中国移动将积极参与由我国IMT-2020推进组牵头组织的5G试验,加速5G候选技术验证、标准制定、产业链构建和产品成熟,满足2020年5G商用部署的需求。目前已加入5G联合创新中心的合作伙伴有华为、中兴、爱立信、诺基亚、高通、大唐、英特尔、Keysight、北京首钢自动化信息技术有限公司、海尔和海信。 此外,欧盟委员会23日发布公报表示,继与中国、韩国、日本等国签约之后,欧盟又与巴西签订合作开发5G技术的协议。欧盟和巴西的合作将致力于为5G技术制定一个全球适用的定义,并确立5G技术优先应用领域。欧盟委员会还宣布,已着手制定到2020年在欧盟范围内部署5G技术的行动计划。据悉,欧盟还在与印度和美国商讨签订类似合作协议。 国务院此前发布的《中国制造2025》明确提到要大力推动重点领域突破发展,聚焦新一代信息技术产业,推动优势和战略产业快速发展。全面突破第五代移动通信(5G)技术、核心路由交换技术、超高速大容量智能光传输技术、“未来网络”核心技术和体系架构。全球移动通信系统协会最新发布的报告显示,到2020年,全球四分之三的人口都将通过移动网络实现互联。在此期间,移动网络运营商转向5G技术、物联网等领域创造新增长点。 在政策大力扶持下,与移动通信相关的产业链将迎来发展机遇。未来自动驾驶、物联网将得到更好的发展。同时,随着5G技术的普及,车联网将打破发展瓶颈,未来市场空间巨大。机构预计,未来3年到5年,我国的车联网规模将达到3000亿元。 本文转自d1net(转载)

优秀的个人博客,低调大师

Data Lake 三剑客——Delta、Hudi、Iceberg 对比分析

共同点 定性上讲,三者均为 Data Lake 的数据存储中间层,其数据管理的功能均是基于一系列的 meta 文件。meta 文件的角色类似于数据库的 catalog/wal,起到 schema 管理、事务管理和数据管理的功能。与数据库不同的是,这些 meta 文件是与数据文件一起存放在存储引擎中的,用户可以直接看到。这种做法直接继承了大数据分析中数据对用户可见的传统,但是无形中也增加了数据被不小心破坏的风险。一旦某个用户不小心删了 meta 目录,表就被破坏了,想要恢复难度非常大。 Meta 文件包含有表的 schema 信息。因此系统可以自己掌握 Schema 的变动,提供 Schema 演化的支持。Meta 文件也有 transaction log 的功能(需要文件系统有原子性和一致性的支持)。所有对表的变更都会生成一份新的 meta 文件,于是系统就有了 ACID 和多版本的支持,同时可以提供访问历史的功能。在这些方面,三者是相同的。 下面来谈一下三者的不同。 Hudi 先说 Hudi。Hudi 的设计目标正如其名,Hadoop Upserts Deletes and Incrementals(原为 Hadoop Upserts anD Incrementals),强调了其主要支持 Upserts、Deletes 和 Incremental 数据处理,其主要提供的写入工具是 Spark HudiDataSource API 和自身提供的 DeltaStreamer,均支持三种数据写入方式:UPSERT,INSERT 和 BULK_INSERT。其对 Delete 的支持也是通过写入时指定一定的选项支持的,并不支持纯粹的 delete 接口。 其典型用法是将上游数据通过 Kafka 或者 Sqoop,经由 DeltaStreamer 写入 Hudi。DeltaStreamer 是一个常驻服务,不断地从上游拉取数据,并写入 hudi。写入是分批次的,并且可以设置批次之间的调度间隔。默认间隔为 0,类似于 Spark Streaming 的 As-soon-as-possible 策略。随着数据不断写入,会有小文件产生。对于这些小文件,DeltaStreamer 可以自动地触发小文件合并的任务。 在查询方面,Hudi 支持 Hive、Spark、Presto。 在性能方面,Hudi 设计了 HoodieKey,一个类似于主键的东西。HoodieKey有 Min/Max 统计,BloomFilter,用于快速定位 Record 所在的文件。在具体做 Upserts 时,如果 HoodieKey 不存在于 BloomFilter,则执行插入,否则,确认 HoodieKey 是否真正存在,如果真正存在,则执行 update。这种基于 HoodieKey + BloomFilter 的 upserts 方法是比较高效的,否则,需要做全表的 Join 才能实现 upserts。对于查询性能,一般需求是根据查询谓词生成过滤条件下推至 datasource。Hudi 这方面没怎么做工作,其性能完全基于引擎自带的谓词下推和 partition prune 功能。 Hudi 的另一大特色是支持 Copy On Write 和 Merge On Read。前者在写入时做数据的 merge,写入性能略差,但是读性能更高一些。后者读的时候做 merge,读性能查,但是写入数据会比较及时,因而后者可以提供近实时的数据分析能力。 最后,Hudi 提供了一个名为 run_sync_tool 的脚本同步数据的 schema 到 Hive 表。Hudi 还提供了一个命令行工具用于管理 Hudi 表。 hudi Iceberg Iceberg 没有类似的 HoodieKey 设计,其不强调主键。上文已经说到,没有主键,做 update/delete/merge 等操作就要通过 Join 来实现,而 Join 需要有一个 类似 SQL 的执行引擎。Iceberg 并不绑定某个引擎,也没有自己的引擎,所以 Iceberg 并不支持 update/delete/merge。如果用户需要 update 数据,最好的方法就是找出哪些 partition 需要更新,然后通过 overwrite 的方式重写数据。Iceberg 官网提供的 quickstart 以及 Spark 的接口均只是提到了使用 Spark dataframe API 向 Iceberg 写数据的方式,没有提及别的数据摄入方法。至于使用 Spark Streaming 写入,代码中是实现了相应的 StreamWriteSupport,应该是支持流式写入,但是貌似官网并未明确提及这一点。支持流式写入意味着有小文件问题,对于怎么合并小文件,官网也未提及。我怀疑对于流式写入和小文件合并,可能 Iceberg 还没有很好的生产 ready,因而没有提及(纯属个人猜测)。 在查询方面,Iceberg 支持 Spark、Presto。 Iceberg 在查询性能方面做了大量的工作。值得一提的是它的 hidden partition 功能。Hidden partition 意思是说,对于用户输入的数据,用户可以选取其中某些列做适当的变换(Transform)形成一个新的列作为 partition 列。这个 partition 列仅仅为了将数据进行分区,并不直接体现在表的 schema 中。例如,用户有 timestamp 列,那么可以通过 hour(timestamp) 生成一个 timestamp_hour 的新分区列。timestamp_hour 对用户不可见,仅仅用于组织数据。Partition 列有 partition 列的统计,如该 partition 包含的数据范围。当用户查询时,可以根据 partition 的统计信息做 partition prune。 除了 hidden partition,Iceberg 也对普通的 column 列做了信息收集。这些统计信息非常全,包括列的 size,列的 value count,null value count,以及列的最大最小值等等。这些信息都可以用来在查询时过滤数据。 Iceberg 提供了建表的 API,用户可以使用该 API 指定表明、schema、partition 信息等,然后在 Hive catalog 中完成建表。 Delta 我们最后来说 Delta。Delta 的定位是流批一体的 Data Lake 存储层,支持 update/delete/merge。由于出自 Databricks,spark 的所有数据写入方式,包括基于 dataframe 的批式、流式,以及 SQL 的 Insert、Insert Overwrite 等都是支持的(开源的 SQL 写暂不支持,EMR 做了支持)。与 Iceberg 类似,Delta 不强调主键,因此其 update/delete/merge 的实现均是基于 spark 的 join 功能。在数据写入方面,Delta 与 Spark 是强绑定的,这一点 Hudi 是不同的:Hudi 的数据写入不绑定 Spark(可以用 Spark,也可以使用 Hudi 自己的写入工具写入)。 在查询方面,开源 Delta 目前支持 Spark 与 Presto,但是,Spark 是不可或缺的,因为 delta log 的处理需要用到 Spark。这意味着如果要用 Presto 查询 Delta,查询时还要跑一个 Spark 作业。更为蛋疼的是,Presto 查询是基于 SymlinkTextInputFormat。在查询之前,要运行 Spark 作业生成这么个 Symlink 文件。如果表数据是实时更新的,意味着每次在查询之前先要跑一个 SparkSQL,再跑 Presto。这样的话为何不都在 SparkSQL 里搞定呢?这是一个非常蛋疼的设计。为此,EMR 在这方面做了改进,支持了 DeltaInputFormat,用户可以直接使用 Presto 查询 Delta 数据,而不必事先启动一个 Spark 任务。 在查询性能方面,开源的 Delta 几乎没有任何优化。Iceberg 的 hidden partition 且不说,普通的 column 的统计信息也没有。Databricks 对他们引以为傲的 Data Skipping 技术做了保留。不得不说这对于推广 Delta 来说不是件好事。EMR 团队在这方面正在做一些工作,希望能弥补这方面能力的缺失。 Delta 在数据 merge 方面性能不如 Hudi,在查询方面性能不如 Iceberg,是不是意味着 Delta 一无是处了呢?其实不然。Delta 的一大优点就是与 Spark 的整合能力(虽然目前仍不是很完善,但 Spark-3.0 之后会好很多),尤其是其流批一体的设计,配合 multi-hop 的 data pipeline,可以支持分析、Machine learning、CDC 等多种场景。使用灵活、场景支持完善是它相比 Hudi 和 Iceberg 的最大优点。另外,Delta 号称是 Lambda 架构、Kappa 架构的改进版,无需关心流批,无需关心架构。这一点上 Hudi 和 Iceberg 是力所不及的。 delta 总结 通过上面的分析能够看到,三个引擎的初衷场景并不完全相同,Hudi 为了 incremental 的 upserts,Iceberg 定位于高性能的分析与可靠的数据管理,Delta 定位于流批一体的数据处理。这种场景的不同也造成了三者在设计上的差别。尤其是 Hudi,其设计与另外两个相比差别更为明显。随着时间的发展,三者都在不断补齐自己缺失的能力,可能在将来会彼此趋同,互相侵入对方的领地。当然也有可能各自关注自己专长的场景,筑起自己的优势壁垒,因此最终谁赢谁输还是未知之数。 下表从多个维度对三者进行了总结,需要注意的是此表所列的能力仅代表至 2019 年底。 Delta Hudi Iceberg Incremental Ingestion Spark Spark Spark ACID updates HDFS, S3 (Databricks), OSS HDFS HDFS, S3 Upserts/Delete/Merge/Update Delete/Merge/Update Upserts/Delete No Streaming sink Yes Yes Yes(not ready?) Streaming source Yes No No FileFormats Parquet Avro,Parquet Parquet, ORC Data Skipping File-Level Max-Min stats + Z-Ordering (Databricks) File-Level Max-Min stats + Bloom Filter File-Level Max-Min Filtering Concurrency control Optimistic Optimistic Optimistic Data Validation Yes (Databricks) No Yes Merge on read No Yes No Schema Evolution Yes Yes Yes File I/O Cache Yes (Databricks) No No Cleanup Manual Automatic No Compaction Manual Automatic No 注:限于本人水平,文中内容可能有误,也欢迎读者批评指正!

优秀的个人博客,低调大师

域名解析 域名控制台+极客+cloudflare 的配置方法

准备工作 由于使用goproxy的过程,ws传输协议可以利用CDN。本文综合的介绍了cloudflare注册使用,从域名解析到回源,完成了一个二级域使用cloudflare的CDN加速的配置过程。 首先你要去 cloudflare 官网https://dash.cloudflare.com/sign-up注册一个账号,然后登录,提示你添加域名的时候,不要添加,略过即可。 操作步骤 前提有一顶级域名domain.com,有一VPS,IP地址为111.222.111.222,要求二级域名test.domain.com指向上述IP地址。 1、在域名domain.com服务器上进行解析 例如: 主记录:vps1 记录类型:A 记录值:111.222.111.222 2、登陆https://su.geekzu.org平台 3、点击编辑-》添加-》填写二级域名test,和回源地址:vps.domain.com到相应的位置-》提交 4、提交后会看到如下: 这时域名test.domain.com 回源地址:vps1.domain.com CNAME地址:test.domain.com.cdn.cloudflare.net 5、回到域名解析服务器 主机记录:test 记录类型:CNAME 记录值(也就是上面的CNAME地址):test.domain.com.cdn.cloudflare.net 填写完成后保存即可。 6、如果需要开启ssl,需登陆到cloudflare,Crypto -> SSL ->设置为Full

资源下载

更多资源
Mario

Mario

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

Spring

Spring

Spring框架(Spring Framework)是由Rod Johnson于2002年提出的开源Java企业级应用框架,旨在通过使用JavaBean替代传统EJB实现方式降低企业级编程开发的复杂性。该框架基于简单性、可测试性和松耦合性设计理念,提供核心容器、应用上下文、数据访问集成等模块,支持整合Hibernate、Struts等第三方框架,其适用范围不仅限于服务器端开发,绝大多数Java应用均可从中受益。

Rocky Linux

Rocky Linux

Rocky Linux(中文名:洛基)是由Gregory Kurtzer于2020年12月发起的企业级Linux发行版,作为CentOS稳定版停止维护后与RHEL(Red Hat Enterprise Linux)完全兼容的开源替代方案,由社区拥有并管理,支持x86_64、aarch64等架构。其通过重新编译RHEL源代码提供长期稳定性,采用模块化包装和SELinux安全架构,默认包含GNOME桌面环境及XFS文件系统,支持十年生命周期更新。

Sublime Text

Sublime Text

Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。

用户登录
用户注册