网上冲浪周刊第39期

欢迎阅读第39期技术资讯!欢迎阅读本期技术资讯! 工具推荐方面方面,我们介绍了UI Notes - 真实产品 UI 设计灵感库可以探索 UI 设计的最新趋势;AI编程助手:Fitten Code,可提供代码自动补全、注释生成、智能bug查找和自动生成单元测试等功能;算法可视化面板编辑器,旨在教用户如何使用一个算法可视化工具来增强对算法执行过程的理解;Pixiv第三方桌面客户端。宝藏信息方面,分享了播客广场发现更多感兴趣的播客,本地知识库问答系统,以及TikTok Notes 图文社交平台。

封面图 西溪湿地四月·2024


欢迎来到第39期 !😄

期待您通过RSS订阅本博客:https://www.lifeee.top//atom.xml


技术

推荐阅读

  • Android 线程池周期性任务踩坑探究: 作者分享了在开发性能监控功能时,如何使用线程池来执行定时任务,以及在使用ScheduledExecutorService时遇到的一些问题。作者首先介绍了使用Handler进行定时任务调度的代码示例,然后讨论了使用ScheduledExecutorService来支持多个监控任务的定时执行。

    作者遇到了一个问题,即在某些用户的设备上,性能采集任务的执行时间异常,导致任务在短时间内被执行了数百次。通过分析ScheduledThreadPoolExecutor的源码,作者发现scheduleAtFixedRate方法可能会导致任务执行间隔异常,如果任务的执行时间超过了设定的间隔时间。

    为了解决这个问题,作者建议使用scheduleWithFixedDelay方法来代替scheduleAtFixedRate,并且记录任务实际的执行间隔,如果间隔超过阈值,则可以选择丢弃本次采样结果或进行数据校准。

  • 如何应对Android面试官 -> ActivityManagerService 是怎么启动的? :文章首先介绍了Android系统的启动过程,然后深入探讨了ActivityManagerService(AMS)的定义、作用和重要性。AMS是Android系统中一个关键的系统服务,负责管理应用程序的生命周期、进程调度和资源管理等。文章通过分析AMS的启动流程,包括创建系统上下文、启动引导服务、初始化AMS服务等关键步骤,详细说明了AMS是如何在Android系统中被启动和初始化的。此外,文章还提到了AMS与其他系统服务如WindowManagerService和Installer的交互,以及AMS在系统服务中的地位和作用。

  • Spring源码 - 好像在哪儿见过的专栏 :专栏中包含了多篇文章,每篇文章都针对Spring Boot的不同方面进行了深入的源码分析。

    1. Spring Boot源码分析一:启动流程
      • 作为系列的第一篇文章,作者对Spring Boot项目的启动流程进行了全面的分析。
      • 介绍了Spring Boot启动的基本概念和流程。
    2. Spring Boot源码分析二:启动流程
      • 该篇文章是对Spring Boot启动流程的又一次深入分析。
      • 重点讨论了spring.factories文件的读取和解析。
    3. Spring Boot源码分析三:启动流程
      • 文章聚焦于Spring Boot启动流程中的createSpringFactoriesInstances方法。
      • 讨论了如何通过构造方法读取spring.factories文件。
    4. Spring Boot源码分析四:启动流程
      • 继续探讨Spring Boot项目的启动流程。
      • 分析了创建监听器SpringFactoriesInstances的过程。
    5. Spring Boot源码分析五:启动流程
      • 深入分析了Spring Boot项目的启动流程。
      • 特别关注了事件类型resolveDefaultEventType的传入参数类型。
    6. Spring Boot源码分析六:解析启动args参数
      • 文章介绍了如何解析Spring Boot启动时的命令行参数。
      • 讨论了run方法中的DefaultApplicationArguments对象的作用。
    7. Spring Boot源码分析七:prepareEnvironment
      • 分析了prepareEnvironment方法,该方法负责创建和配置环境变量,通常为SERVLET环境。
      • 探讨了getOrCreateEnvironment的实现,以及ApplicationServletEnvironment的创建过程。
  • AndroidStuido 使用 Bookmarks 和 TODO 提高开发效率 :这篇文章向读者展示了Android Studio中两个非常有用的工具:Bookmarks和TODO。Bookmarks允许开发者在代码中添加自定义标签以便快速定位,而TODO则帮助开发者追踪代码中的待办事项。文章通过具体的示例和操作步骤,详细解释了如何在实际开发中利用这两个工具来优化工作流程。同时,作者还探讨了TODO和Bookmarks的不同使用场景,指出TODO适合团队协作,而Bookmarks更适合个人开发。文章最后建议将这两个工具结合使用,以进一步提高开发效率。



有趣的工具

UI Notes - 真实产品 UI 设计灵感库

UI Notes 收集了大量线上优秀 App 的完整 UI 截图,只有落地设计没有飞机稿你可以在这里探索 UI 设计的最新趋势、浏览竞品的产品设计、快速找到工作中需要的灵感。

在线网址:https://uinotes.com/


AI编程助手:Fitten Code

Fitten Code是一个基于AI的编程助手,它提供代码自动补全、注释生成、智能bug查找和自动生成单元测试等功能。该工具支持超过80种主流编程语言,并且兼容包括VS Code、PyCharm、IntelliJ和Visual Studio在内的多个IDE。Fitten Code的特点是高准确率、快速响应和丰富的代码补全量,显著提升了不同开发场景下的工作效率。用户可以通过在注释中描述需求,让Fitten Code生成符合要求的代码,减少手动编写的时间和精力。此外,Fitten Code还提供了插件版本,方便用户在他们喜欢的代码编辑器中使用。

特性:

  • 代码自动补全:Fitten Code 能够自动为您的代码补充缺失的部分,节省您宝贵的开发时间。

  • 注释生成代码:Fitten code 基于AI大模型对代码进行语义级翻译,支持多种编程语言互译。

  • 自动添加注释:Fitten Code 能够根据您的代码自动生成相关注释,为您的代码提供清晰易懂的解释和文档。

  • 智能bug查找,解释代码,自动生成单元测试的功能,根据代码自动产生相应的测试用例等

网站介绍:https://code.fittentech.com/


算法可视化面板编辑器

labuladong的算法可视化这个页面由“labuladong”发布,旨在教用户如何使用一个算法可视化工具来增强对算法执行过程的理解。

基本用法

  • 控制按钮和滑动条:位于顶部,用于控制代码的逐步执行。
  • 代码面板:位于左侧,当前执行到的代码行会高亮显示,支持点击代码行跳转到指定位置。
  • 编辑功能:点击顶部的“编辑”按钮后,代码面板变成编辑器,允许直接修改代码并运行。

最常用的技巧

  • 利用点击代码行跳转至特定位置的功能,类似于IDE中的“运行到光标位置”。

可视化区域

  • 右侧:用于显示变量、数据结构、堆栈信息、递归数等。
  • 左下角:Log Console,增强版的console.log,自动根据递归深度缩进输出。
  • 右下角:悬浮按钮,提供刷新面板、全屏显示、显示/隐藏Log Console等功能。

数据结构的可视化

  • 支持数组、链表、二叉树、哈希表、哈希集合等数据结构的可视化。
  • 介绍了如何在面板中创建和操作这些数据结构。

变量隐藏和作用域提升

  • 使用@visualize global将变量提升至全局作用域。
  • 使用@visualize hide隐藏不需要显示的变量。

递归过程的可视化

  • 介绍了如何使用@visualize status@visualize choose@visualize unchoose注释来控制递归树的可视化。

使用@visualize的注意事项

  • 定义函数时的语法要求。
  • 注释必须写在函数定义的上一行。

实操练习

  • 提供了一系列实操练习,包括二叉树的遍历、递归树的生长、穷举结果的快速获取、理解自顶向下/自底向上思维模式等。

image-20240417223308046

使用教程(必读)https://labuladong.online/algo/intro/visualize/

在线网站:https://labuladong.online/algo-visualize/


Pixeval: 基于.NET 8和WinUI 3的Pixiv第三方桌面客户端

GitHub上的Pixeval项目是一个基于.NET 8和WinUI 3的开源Pixiv第三方桌面客户端,提供多语言支持,仅兼容Windows 10。

下载方式: https://github.com/dylech30th/Pixeval/releases/latest

作者介绍:https://sora.ink/archives/391

开源地址:https://github.com/Pixeval/Pixeval



宝藏信息

播客广场 :发现更多感兴趣的播客

播客广场 是一个在线网站,旨在通过话题来发现播客,而不是传统上通过播客频道来探索。作者介绍可以查看 https://sspai.com/post/87991

在线网站:https://www.pcspy.net/


本地知识库问答系统,可断网安装使用: Question and Answer based on Anything

QAnything (Question and Answer based on Anything) 是致力于支持任意格式文件或数据库的本地知识库问答系统,可断网安装使用。

您的任何格式的本地文件都可以往里扔,即可获得准确、快速、靠谱的问答体验。

目前已支持格式: **PDF(pdf)Word(docx)PPT(pptx)XLS(xlsx)Markdown(md)电子邮件(eml)TXT(txt)图片(jpg,jpeg,png)CSV(csv)网页链接(html)**,更多格式,敬请期待…

特点

  • 数据安全,支持全程拔网线安装使用。
  • 支持跨语种问答,中英文问答随意切换,无所谓文件是什么语种。
  • 支持海量数据问答,两阶段向量排序,解决了大规模数据检索退化的问题,数据越多,效果越好。
  • 高性能生产级系统,可直接部署企业应用。
  • 易用性,无需繁琐的配置,一键安装部署,拿来就用。
  • 支持选择多知识库问答。

架构

开源地址:https://github.com/netease-youdao/QAnything/


TikTok Notes 图文社交平台正式推出

经过数周的传闻和猜测,TikTok Notes 终于在部分国家/地区推出。该应用将通过图文内容与 Instagram 竞争。与之不同的是 TikTok Notes 的首页推荐使用网格列表,使用户能够同时浏览多个帖子。应用介绍中写到:“TikTok Notes 是一个生活方式平台,提供有关人们生活的信息丰富的图文内容,您可以在其中看到人们分享他们的旅行技巧、日常食谱等。”

信息来源:风向旗参考快讯 https://t.me/xhqcankao/9629

下载地址:Play 商店App Store


资讯

  • WPS 365全新发布 开启企业一站式AI办公: 金山办公发布了WPS 365,一个集成了文档编辑、AI能力和协作功能的一站式办公平台,旨在提升企业生产力。

  • 被竞业之后,把工资加倍还给前公司的人:文章通过多个案例,详细描述了员工在签署竞业限制协议后,因加入竞争对手公司而遭到前雇主起诉并要求赔偿的情况。这些员工包括应届生、基层员工以及高级技术人员,他们面临的赔偿金额从几万元到上千万元不等。文章指出,随着互联网行业竞争加剧,竞业限制协议的应用越来越广泛,甚至扩展到非核心岗位的员工。这种做法不仅给员工带来了经济负担,还对他们的职业生涯和精神健康造成了严重影响。文章还提到,一些公司将竞业限制的执行和追诉作为公司内部的绩效考核,这种做法在法律上可能存在争议,但在实际操作中却给员工带来了实实在在的压力。

  • 晚点独家丨抖音生活服务一季度销售额超 1000 亿,但未缩小与美团差距 :文章指出,抖音生活服务在2023年第一季度的核销前销售额超过了1000亿元,同比增长超过100%,但与美团到店业务的销售额相比,市场份额并未发生显著变化。抖音生活服务依靠其庞大的流量和低价补贴迅速扩大了业务规模,但面临着流量和补贴的局限性。为此,抖音开始调整策略,包括高层轮岗、收缩酒旅业务、并入外卖运力运营团队等,以集中资源到店业务上。

  • 从考公、写周报到下厨指南,晚点评测 18 个大模型 :文章报道了一系列针对大模型的测试,包括中文理解、公务员考试题目解答、数学题解答、编程能力、新闻写作和生活助手等场景。在中文理解方面,中国大模型普遍表现更好,尤其是在公务员考试题目上。数学题解答方面,大模型们通常能够给出正确答案,但在更复杂的数学问题上表现不一。编程能力测试中,大模型在Python方面表现出色,但在新兴的Go语言上则存在不足。新闻写作方面,大模型能够帮助工作流程,但在创造性分析方面仍有待提高。生活助手场景中,大模型在情绪抚慰和解读保险条款上表现各异,而在洗标识别和做菜规划上则存在明显不足。最后,文章指出,尽管大模型在多个领域取得了进步,但与人类相比仍有差距,且行业对大模型的期待也在不断提高。

后记

百闻不如一见,百见不如一试。

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