跳至主要內容
开发者安装大全
好用工具、开发环境、中间件配置等安装指南
Java新特性
Java 8之后的所有新特性解读
玩转IDEA
了解IDEA更多牛x功能、推荐很有意思的主题和插件
Spring Boot教程
适合Spring Boot入门的免费教程
TJ君专栏
探索和发现好用的效率工具和开源项目
秒懂技术专栏
用生动的视频科普那些常见的技术概念
OpenWrite
写博客必备的一键扩散工具
Youtube中文配音
观看海外免费教程的免费翻译配音软件
手把手教你本地运行Meta最新大模型:Llama3.1,惊奇发现他说自己是ChatGPT?

手把手教你本地运行Meta最新大模型:Llama3.1,惊奇发现他说自己是ChatGPT?

就在昨晚,Meta发布了可以与OpenAI掰手腕的最新开源大模型:Llama 3.1。

该模型共有三个版本:

  • 8B
  • 70B
  • 405B

对于这次发布,Meta已经在超过150个涵盖广泛语言范围的基准数据集上评估了性能。此外,Meta还进行了广泛的人工评估,在现实场景中将Llama 3.1与竞争模型进行比较。Meta的实验评估表明:


程序猿DD原创大约 2 分钟日常记录GitHub
30K Star,最全面的PDF处理开源项目,你也可以拥有一个本地的PDF处理大全

大家好,我是程序猿DD

今天给大家推荐一个日常大概率能用上的开源项目:Stirling PDF

开源地址:https://github.com/Stirling-Tools/Stirling-PDF

Stirling PDF是一个可以用Docker在本地托管的基于Web的PDF处理工具。它的功能非常强大,你可以用它对PDF文件进行各种操作,包括拆分、合并、转换、重新组织、添加图像、旋转、压缩等。


程序猿DD原创大约 2 分钟开源推荐软件工具
每日PR保持代码整洁自查表

每日PR保持代码整洁自查表

如今,公司对软件工程师(主要是高级工程师)最迫切的需求之一,是以迭代和增量的方式提供高质量的代码审查。

这意味着在每次 PR 审查中,开发人员被要求反复提高即将合并代码的质量。

在这篇文章中,我将尝试指出开发人员在进行重构或审查时应牢记的基本原则。

让我们逐个主题来看这些点:

1. 命名

  • 有明确意图的命名:方法或变量名应该在查看代码实现之前就能解释其意图。
  • 类名应该是名词或名词短语。
  • 方法名应该是动词。
  • 为每个概念选择一个词:get、retrieve、fetch 是相似的,选择一个统一使用它。
  • 使用计算机科学术语:例如,AccountAdapter 对程序员来说意味着适配器模式,如果没有相关的计算机科学名称,则使用面向问题的名称。
  • 使用可搜索的名称:在 IDE 中搜索特定短语会更容易。

DD编辑部原创大约 4 分钟日常记录程序人生
WebClient第一次请求返回 Connection reset by peer 的错误

WebClient第一次请求返回 Connection reset by peer 的错误

我有一个需求,需要从外部系统获取用户数据。我通过 WebClient 实现的,作为声明性 HTTP 客户端的一部分。

有趣的是,在新的浏览器标签页中打开应用程序后,第一次请求返回了“Connection reset by peer”错误。

这个问题通过禁用对外请求的 keep-alive 解决了。

改造前的代码:

@Configuration
public class HttpProxyConfiguration {

    @Value("${tracker.url}")
    private String trackerUrl;

    @Bean
    TrackerClient trackerClient(WebClient.Builder builder) {
        var wc = builder.baseUrl(trackerUrl)
                .build();

        var wca = WebClientAdapter.forClient(wc);
        return HttpServiceProxyFactory.builder()
                .clientAdapter(wca)
                .build()
                .createClient(TrackerClient.class);
    }
}

DD编辑部原创大约 2 分钟Spring BootSpring Boot
几个适合Java开发者的免费IDEA插件

今天,给大家推荐几个好用且免费的IntelliJ IDEA插件。如果你还没有用过,可以尝试一下,也许对你的日常工作会有一定的效率提升噢!

RESTFul-Tool

如果你是一个RESTful服务的开发者,那么这个一定要试一下。它是一套非常丰富的RESTful服务开发工具,对 Spring MVC 和 Spring Boot 支持也是非常友好,开发者可以直接通过插件找到自己编写的RESTful接口:


DD编辑部原创大约 2 分钟IntelliJ IDEAIntelliJ IDEA
8个实用的Java Streams API

8个实用的Java Streams API

分享8个开箱即用的API,方便日常处理集合。

1. 快速过滤空值:Stream.ofNullable

该方法是在 Java 9 中引入的,有助于过滤集合中的所有空值,从而可能使我们避免空指针异常。

在下面的示例中,有一个包含 null 的List。此时,我们可以使用Stream.ofNullable方法对其进行过滤。

List<String> names = Arrays.asList("Alice", null, "Bob", null, "Charlie");
List<String> nonNuLLNames = names.stream()
    .flatMap(Stream::ofNullable)
    .collect(Collectors.toList());
System.out.println(nonNuLLNames);

DD编辑部原创大约 3 分钟JavaJava
产品优化差不多了,DD来带大家一起搞钱啦!!!

产品优化差不多了,DD来带大家一起搞钱啦!!!

直接敲重点,今天给分享一个赚钱且能长期躺赚的机会!关注DD的小伙伴应该知道,最近一直在搞视频翻译类的产品,其中YouTube中文配音是其中最广受好评的产品,目前在Chrome插件市场评分高达4.6分。

经过大半年的迭代,现在的翻译质量和配音效果已经非常优秀,如果您没有体验过,可以通过下面的视频体验一下:


程序猿DD原创大约 3 分钟日常记录程序人生
免费的在线人声分离工具,一键提取歌声/人声和伴奏/音效

免费的在线人声分离工具,一键提取歌声/人声和伴奏/音效

最近正好在重构TransDuck的视频翻译功能,顺手把中间涉及的很多处理环节,比如:视频转录、字幕翻译、字幕配音、背景声音提取等小模块都一一做成在线的小工具,这样用户就可以快速便捷的实现一些小场景需求或者临时使用。不需要支付费用,也不需要下载庞大的音视频处理软件。

免费人声分离工具

第一个要介绍的就是最近使用人数最多的免费工具:人声分离。该功能在各大剪辑软件中都是付费功能,需要购买VIP才能使用的。如果你用的不多,应用场景也不复杂,不想给剪辑软件充值,更不想下载庞大的客户端软件。那么直接用我们这个在线工具就可以轻松实现了。


程序猿DD原创大约 1 分钟工具推荐免费资源
Spring Boot中的 6 种API请求参数读取方式

Spring Boot中的 6 种API请求参数读取方式

使用Spring Boot开发API的时候,读取请求参数是服务端编码中最基本的一项操作,Spring Boot中也提供了多种机制来满足不同的API设计要求。

接下来,就通过本文,为大家总结6种常用的请求参数读取方式。如果你发现自己知道的不到6种,那么赶紧来查漏补缺一下。如果你知道的不止6种,那么告诉大家,一起互相学习一下吧~

@RequestParam

这是最最最最最最常用的一个了吧,用来加载URL中?之后的参数。

比如:这个请求/user?name=didispace 就可以如下面这样,使用@RequestParam来加载URL中的name参数


程序猿DD原创大约 3 分钟Spring BootSpring Boot
为什么不推荐在Spring Boot中使用@Value加载配置

为什么不推荐在Spring Boot中使用@Value加载配置

@Value注解相信很多Spring Boot的开发者都已经有接触了,通过使用该注解,我们可以快速的把配置信息加载到Spring的Bean中。

比如下面这样,就可以轻松的把配置文件中key为com.didispace.title配置信息加载到TestService中来使用

@Service
public class TestService {

    
    @Value("${com.didispace.title}")
    private String title;

}

程序猿DD原创大约 2 分钟Spring BootSpring Boot
2
3
4
5
...
92