网上冲浪周刊第51期

欢迎阅读本期技术资讯!我们为您推荐了一些有趣的工具,如Rodel Downloader AI模型下载工具、Apache Superset 数据可视化平台 、Ladybird - 一个真正独立的Web浏览器。此外,还介绍了在VSCode里离线使用语雀编辑器 以及优化React性能的一个虚拟DOM。

https://www.pexels.com/zh-cn/photo/19074550/


欢迎来到第51期 !😄

期待您通过RSS订阅我们:https://www.lifeee.top//atom.xml


技术

推荐阅读

  • 看见 Java : 文章介绍了作者在学习Java原理时的一些体会和工具使用技巧,目的是帮助读者更深入地理解Java语言的底层实现。作者分享了以下几个工具和方法:

    1. javap:使用javap命令查看Java字节码,通过IDEA插件jclasslib分析字节码。
    2. strace:使用strace命令查看程序运行过程中的系统调用,以理解Java BIO/NIO的底层原理。
    3. hsdis+jitwatch:结合使用hsdisjitwatch工具查看Java代码对应的机器码(汇编)。
    4. openJDK:通过阅读OpenJDK源码了解Java native方法的底层实现。
    5. JOL(Java Object Layout):使用JOL工具查看Java对象在内存中的布局。
    6. fastthread:使用fastthread工具将JVM线程快照可视化。
    7. JProfile:使用JProfile工具监控JVM运行时状态,分析性能瓶颈。

    文章强调了通过这些工具进行实践的重要性,认为这可以帮助读者获得比阅读博客或书籍更深入的理解。

  • 你管这破玩意叫 IO 多路复用? : 文章首先介绍了传统的阻塞IO模型,并指出其在处理并发连接时的弊端。为了解决阻塞问题,提出了非阻塞IO的概念,并通过多线程的方式进行改进。然而,这种方式并没有真正解决IO阻塞的问题,只是通过多线程让主线程不阻塞。

    接着,文章详细解释了IO多路复用的几种技术:select、poll和epoll。select是最早的多路复用技术,它可以监控多个文件描述符的读写状态,但存在一些限制和性能问题。poll在select的基础上改进,去除了文件描述符数量的限制。而epoll则是最终的解决方案,它通过更高效的内核机制,解决了select和poll的不足。

    文章还通过伪代码和流程图,详细解释了这些技术的具体实现和工作原理。最后,作者强调了IO多路复用技术的重要性,并指出这些技术的发展是操作系统不断适应高并发需求的结果。

  • 害,毕业三年了! : 文章是一位大学毕业生回顾自己三年大学生活的心路历程,分享了从大一开始的课外活动、技术学习,到大四求职和职业规划的经验和感悟。文章最后,作者给出了几点建议,包括确定方向、自学、逃课策略、恋爱观、健康管理、绩点看法和保持非功利性态度。作者强调,尽管学校一般,但通过积极行动和少抱怨,也能取得职业上的成功。

Spring 源码阅读

涵盖了 Spring 框架的核心概念和关键功能,包括控制反转(IOC)容器的使用,面向切面编程(AOP)的原理与实践,事务管理的方式与实现,Spring MVC 的流程与控制器工作机制,以及 Spring 中数据访问、安全、Boot 自动配置等方面的深入研究。此外,它还包含了 Spring 事件机制的应用、高级主题如缓存抽象和响应式编程,以及对 Spring 源码的编程风格与设计模式的深入探讨。

开源地址:https://github.com/xuchengsheng/spring-reading



有趣的工具

Rodel Downloader AI模型下载工具

Rodel Downloader是一个windows 平台的AI模型下载工具,旨在帮助用户稳定可靠地从 Hugging FaceModel ScopeCivitai 等网站稳定且可靠地下载AI模型文件。该工具提供了命令行界面(CLI)和图形用户界面(APP)两种使用模式,以满足不同用户的需求。

主要特性包括:

  • 支持命令行和图形用户界面。

  • 内置Aria2下载管理器,支持断点续传、下载进度显示和多文件下载。

  • 支持自定义下载目录和选择性下载文件。

  • 提供了简单的本地化支持(英语和简体中文)。

  • 需要Windows 10 19041及以上版本支持图形用户界面。

开源地址:https://github.com/Richasy/Rodel.Downloader

Apache Superset 数据可视化平台

Apache Superset 是一个数据可视化和数据探索平台,具有快速构建图表、强大的SQL编辑器、语义层、支持多种数据库、丰富的可视化效果、缓存层、可扩展的安全角色和认证选项以及API等功能。

  • 主要特点:
    • 支持多种数据库,包括Presto、Trino、Athena等,并有更全面的支持数据库列表及配置说明。
    • 提供无代码界面快速构建图表,强大的基于Web的SQL编辑器进行高级查询。
    • 具有轻量级语义层,可快速定义自定义维度和指标。
    • 提供多种美观的可视化效果,包括从简单的条形图到地理空间可视化。
    • 拥有轻量级、可配置的缓存层,以减轻数据库负载。
    • 高度可扩展的安全角色和身份验证选项。
    • 提供API进行程序化定制。
    • 采用云原生架构,专为扩展而设计。

开源地址: https://github.com/apache/superset

Ladybird - 一个真正独立的Web浏览器

Ladybird是一个从零开始构建的全新Web浏览器和引擎项目,由非盈利组织支持。它采用Web标准优先的方法,旨在提供高性能、稳定性和安全性的现代Web渲染。起初作为SerenityOS项目的HTML查看器,Ladybird已经发展成为支持Linux、macOS和其他类Unix系统的跨平台浏览器。

Ladybird目前正处于密集开发阶段,计划在2026年初发布Alpha版本,主要面向开发者和早期采用者。该项目有几个独特之处:它是完全独立的,不使用其他浏览器的代码;它专注于Web浏览器开发,没有商业化;并且它不接受任何形式的用户货币化。

官网: https://ladybird.org/

开源地址:https://github.com/LadybirdBrowser/ladybird



宝藏信息

在VSCode里离线使用语雀编辑器

在VSCode里通过一款插件可以离线使用语雀编辑器,支持多种语法和主题,并且与云上语雀的兼容性很好。该插件功能丰富,用户可以自定义显示工具栏等设置,同时还支持将Lakebook文件本地导入和批量导入。此外,通过该插件编写的Lakebook文件也可以直接导入至语雀知识库中。

特点

  • 该插件在VSCode中实现了离线使用语雀编辑器的功能,支持多种语法和主题。
  • 插件支持自定义显示工具栏、标题和大纲等设置,用户可以根据需要进行调整。
  • 该插件支持将Lakebook文件本地导入,并且导入的Lakebook文件可以直接兼容语雀知识库。
  • 该插件还支持批量导入Lakebook文件,可以一次性导入多个文件。
  • 通过该插件编写的Lakebook文件可以直接复制粘贴到语雀中,格式保持完整兼容。

插件地址:lake-editor - Visual Studio Marketplace

教程地址: https://www.yuque.com/epeiuss/hyghh/akp1bz3preq1kozw 以及 https://www.yuque.com/aijake/lf13z0/qbleyc

优化React性能

Million.js是一个与React兼容的优化编译器,旨在通过减少比较(diffing)的开销来加快组件的渲染和协调过程。它通过跳过传统的diffing步骤,直接更新DOM节点,从而显著提高React应用的性能。

官网:https://million.dev/

开源地址:https://github.com/aidenybai/million



🎉 本文同步更新于 https://github.com/starsight/TechWeekly