OneCoder
Preview Image

【GESP】Windows系统配置官方要求Dev-C++和g++13.2.0编译环境

本系列用于记录与孩子共同成长学习GESP的过程和练习,希望能有所积累给我和孩子形成一份资产沉淀。 对于C++语言来说,2024年CCF GESP官方建议的C++开发环境为Dev-C++ 5.11,g++版本为13.2.0。 对Dev-C++在官方考点编译环境说明及软件下载页面提供了下载地址,但下载页面只提供了Dev-C++ 5.11的安装包,并没有提供g++ 13.2.0的安装包...

Preview Image

一起学Java(12)-[日志篇]教你分析SLF4J源码,掌握SLF4J如何与Logback无缝集成的原理

继续完成上篇(一起学Java(11)-[日志篇]教你分析SLF4J源码,掌握Logger接口实现类加载原理)留给自己的任务,研究Logback是如何和SLF4J无缝集成的。 在之前的SLF4J源码研究中(教你分析SLF4J源码,掌握Logger接口实现类加载原理)我们已经知道SLF4J中利用java.util.ServiceLoader 机制寻找SLF4JServiceProvider...

Preview Image

一起学Java(11)-[日志篇]教你分析SLF4J源码,掌握Logger接口实现类加载原理

最近各种事情很忙,今天继续。在第十篇(一起学Java(10)-为项目引入Log框架(Log篇二-引入SLF4J接口层框架))中,我们为项目(https://github.com/lihongzheshuai/java-all-in-one)引入了SLF4J和Logback框架,按计划通过阅读源码研究下SLF4J的实现原理。 一、配置Gradle自动下载源码和Javadoc 为了便于的...

一起学Java(10)-[日志篇]教你为本项目引入SLF4J接口层框架

在上一节一起学Java(9)-为项目引入Log框架(Log篇一-框架演进和设计逻辑中,我们已经理清了Java日志框架的演进过程、设计思想和核心框架。从这节开始,进入实战研究环节。 回顾下Java日志框架的设计结构。 先研究接口层框架SLF4J。 一、引入SLF4J 在一起学Java(9)-为项目引入Log框架中,我们已经分析过了,对于Java接口层来说,SLF4J几乎已经是实...

Preview Image

一起学Java(9)-[日志篇]教你掌握Java日志框架的演进和设计逻辑

在项目开发中,日志记录(Logging)扮演着至关重要的角色。日志是开发人员调试代码和诊断问题的重要工具。例如:在生产环境中,开发人员通常无法直接调试代码,日志提供了一个详细的执行轨迹,帮助开发人员重现问题。因此,在进入其他框架和代码研究前,我首先想到的就是先完成项目日志框架的引入,进一步夯实基础工作。 要完成Log框架的引入,首先要弄清楚有哪些框架可选以及框架之间的关系逻辑,进而完成框架...

一起学Java(8)-[起步篇]教你如何进行本项目的PR和将IDE相关文件移除版本控制

我们的java-all-in-one项目的第一个PR比我预想的来的早了很多。感谢来自我的QQ群友(插播广告,欢迎大家加入Java技术交流群982860385)的PR。今天就介绍一下这次PR和项目调整的主要内容。 一、第一个PR PR指的是Pull Request(拉取请求)。PR 是 GitHub 提供的一个功能,用于在协作开发中向他人展示自己所做的更改,并请求他们将这些更改合并到主...

一起学Java(7)-[起步篇]教你为本开源项目编写README文件

在现代软件开发中,README文件是任何项目中不可或缺的一部分。它不仅为用户提供了项目的基本信息,还指导开发者如何使用、安装和贡献代码。其实,早在2014年的文章《为项目编写Readme.MD文件》中,我就提到过关于README的事情。今天为了我们的项目,旧事重提也为让大家再get一个知识点,我们再来说说这个README文件。 一、什么是README文件 README文件是一种包含项...

一起学Java(6)-[起步篇]教你掌握本协作项目中Git和IDEA相关配置文件

前两篇文章(《一起学Java(4)-java-all-in-one协作项目相关文件研究(Gradle篇-上)》和《一起学Java(5)-java-all-in-one协作项目相关文件研究(Gradle篇-下))》)我们已经完成了对项目中Gradle相关文件的研究,按照计划我们继续研究项目的其他配置文件,主要是Git和IDEA自身两类。 一、Git相关文件 .gitignore文件 ...