[2023-年度总结]凡是过往,皆为序章
原创/朱季谦
2023年12月初,傍晚,在深圳的小南山看了一场落日。
那晚我们坐在山顶的草地上,拍下了这张照片——仿佛在秋天的枝头上,结出一颗红透的夕阳。
这一天很快就会随着夜幕的降临,化作记忆的碎片,然而,总会有一些难忘的痕迹,在逐渐落满灰尘的回忆里,熠熠生辉。这些痕迹,或许是一张随手拍下的照片,或许是聊天记录里的只言片语,又或许,只是朋友圈里一个普通动态......直到很久以后,突然翻到关于这一天的记录,死去的记忆顿时从四面八方赶回来,透过这张照片,我一定会想起,那天曾和喜欢的人坐在山顶上看过夕阳。
这难道不是刻舟求剑的另一种体现吗?
2023年就如那天的落日一样,渐渐沉入了岁月的大海。
在这艘岁月的船上,总得刻一点什么文字,方便日后再想起这一年时,不至于一片空白。
下面就分段写一下这一年印象深刻的事情。
一、获得腾讯云社区2022年度最佳作者
在今年年初的时候,很荣幸获得腾讯云社区颁发的“腾讯云社区2022年度最佳作者奖”,这是我写原创编程技术博客以来获得过的第一块奖杯,可以说,意义非凡。
它像是技术写作道路上的一块小里程碑,给了我不少的鼓励。
想起当初刚开始写技术类文章时,就像脚穿千斤鞋,举步维艰,无从下手——虽然在此之前,我已写过近百万字的网络小说和短篇小说随笔等,但是,第一次开始去写技术类文章,还是比较困难的。
现在回过头去看第一篇技术文,可以说很是稚嫩。
虽然现在写得仍是一般,但经过这两年的刻意练习,至少已经不像最初那样举步维艰和无从下手,相反,逐渐有一种得心应手的感觉。
或许,这就是刻意练习之后的熟能生巧,当然,若是展望未来的话,更希望能在熟能生巧的基础上,熟能生“新”。
二、拿到驾照
若是问我在大学的时候,比较遗憾的事情之一,考驾照肯定算一件。
以致于想买车的时候,却连驾照都没有考。
想起当时在深圳报考驾照的时候,还是很担心会踩雷,还好,特别幸运的是,遇到一个很好的教练,在2022年11月底报名,在2023年3月初就顺利拿到驾照。
我在年初有个目的之一是,今年一定要拿到驾照,算是按照目标完成了。
三、跟上ChatGPT潮流
今年上半年,可能最具爆炸性的新闻就是GPT模型了。
3月份那会儿,在自己的云服务器上通过Docker 部署一套前端仿写Chat GPT页面而内部真实通过ChatGPT 密钥调用外网接口的应用。这样一番操作下来,家里的数台电脑都无需再通过外网即可一键使用GPT。
后来,按照同样方式,给办公司开发团队部署了一套这样的Docker,使得内部团队早早就在工作当中用上了GPT。
直到现在,这套部署仍然运行在我的云服务器上,成为日常工作编程的绝佳助手。
当然,在这个过程当中,2月和3月份那会红利期,通过教人部署以及其他相关提供服务的途径,做了一些变相的尝试,虽然赚的不多,但总归是一次副业尝试。
四、大数据开发技术栈提升
今年比较幸运,有机会参与到内部大数据图计算前沿项目的开发,围绕这个项目,这近一年里将Spark、HBase、Hive、Hadoop、Sqoop等相关的大数据技术栈都在实际开发过程中掌握,算是在后端开发的基础上,拓展大数据领域的开发。
当然,在这个过程当中,还阅读了Spark Core以及Graphx相关的源码,同时还把阅读的心得写成文章,发布到博客,例如《图解Spark Graphx基于connectedComponents函数实现连通图底层原理》、《图解Spark Graphx实现顶点关联邻接顶点的collectNeighbors函数原理》这两篇,其中,《图解Spark Graphx基于connectedComponents函数实现连通图底层原理》获得了NebulaGraph 技术社区 2023 年年度征文奖。
五、各个技术平台的写作数据
之前写过一个总结这些年写作的感悟:完成比完美更重要。
特别对于新手而言,最好的写作方式,就是不断去写,带着“不要脸”和“老子就是造翔也要写完的心态”去写。写到脑子不够用了,就去看书、看视频等等做各种知识的输入。
写出个上百万字后,你就会发现,当初手里写出的那一坨翔,在多年以后,正逐渐变成文章里所有发光的起源。
每次遇到卡文时,我都是这样告诉自己的,硬着头皮写下去,只有不断写完,不断总结,下一篇才能写得更好。
而不是一上来,就要写出惊天地泣鬼神的完美作品。
这两年开始坚持写技术博客,总体而言,有收获,有不足。
今年记录下来,希望明年的这个时候,对比之下,有一个更好的成长。
5.1、腾讯云社区
说实话,在腾讯云社区退步了些,上半年名次最好的时候是到三四十名左右,中间有两三个月没怎么发文,排名就一直下降。我算是比较喜欢腾讯云社区,比较有温度,遇到问题,能够及时得到相应的解决,还有很多值得参与的活动。
与此同时,在这里遇到很多优秀的技术写作者,从他们身上,找到了不少榜样的动力。
5.2、CSDN社区
今年比较有突破一点是,入围了CSDN的2023年博客之星,希望明年这个时候,争取可以拿到TOP名次。
5.3、博客园
最开始技术写作平台,目前园子正经历一段苦难期,还是真心希望它能继续做下去。
5.4、思否
今年开始在SegmentFault思否写东西,很开心之前有一篇《Dubbo2.7的Dubbo SPI实现原理细节》得到了SegmentFault 思否写作挑战赛:写文章领取技术图书活动奖品,算是一次不错的进步。希望再接再厉,争取今年可以有更多突破。
写了这么多年东西之后,还有一件比较有成就感的事情是,网上搜自己的名字,发现满屏搜出来的,都是自己这些年的产出及相关信息。
在大学的时候,写过很多短篇小说,还有一些长篇小说。
遗憾的是,大学毕业后,开始程序员打工仔生涯之后,就很少写故事了,时间都花在学习各种技术上。
然而,这两年,特别是这一年以来,想写小说的欲望又开始慢慢浮现。或许是经历了一些亲人的离世,明白人总会有一死,那就在生命的终点前,去做一些自己热爱的事情。
我在今年上半年,化名接受过一次谷雨实验室-腾讯新闻一场关于副业的采访,当时有提到自己业余在做的事情。(沈颜云是我正在写的悬疑长篇里的主角名,当时小姐姐问我这篇采访用什么名字好,我就想用自己故事里的主角名了。)
这两本小说,今年一直在存稿,计划是明年顺利投网站走分成签约。
结果无论如何,都希望能继续写下去,无论是技术类写作,还是故事类写作。
六、展望2024年
关于2024年,有以下几个规划:
6.1、技术写作方面:输出同系列内容,希望能写出一本完整的技术电子书。
6.2、故事写作方面:任意一本小说投稿签约成功,连载完结。
6.3、扎实技术的深度能力,的框架底层源码,总结成内容输出。
6.4、提高演讲能力和管理能力。
6.5、坚持阅读。
相关文章:

[2023-年度总结]凡是过往,皆为序章
原创/朱季谦 2023年12月初,傍晚,在深圳的小南山看了一场落日。 那晚我们坐在山顶的草地上,拍下了这张照片——仿佛在秋天的枝头上,结出一颗红透的夕阳。 这一天很快就会随着夜幕的降临,化作记忆的碎片,然…...

OpenCV之像素操作
我们首先了解一下什么是像素,计算机中是如何存储图像,以及opencv是如何表示图像的。 像素: 像素是指由图像的小方格即所谓的像素(pixel)组成的,这些小方块都有一个明确的位置和被分配的色彩数值,而这些一小方格的颜色…...

Transfer Learning(迁移学习)
1. 什么是迁移学习 迁移学习(Transfer Learning)是一种机器学习方法,就是把为任务 A 开发的模型作为初始点,重新使用在为任务 B 开发模型的过程中。迁移学习是通过从已学习的相关任务中转移知识来改进学习的新任务,虽然大多数机器学习算法都…...
NPM 的使用技巧:简化 JavaScript 开发和依赖管理
前言 NPM(Node Package Manager)是 JavaScript 生态系统中最流行的包管理工具之一。本文将介绍一些有用的 NPM 使用技巧,帮助开发者更好地利用 NPM 管理项目依赖、执行脚本、发布自己的包以及解决常见问题。 1. 初始化项目 使用 NPM 初始化…...

统计和绘图软件GraphPad Prism mac功能特点
GraphPad Prism mac是一款专业的统计和绘图软件,主要用于生物医学研究、实验设计和数据分析。 GraphPad Prism mac功能和特点 数据导入和整理:GraphPad Prism 可以导入各种数据格式,并提供直观的界面用于整理、编辑和管理数据。用户可以轻松…...

WWW 指南-万维网联盟(World Wide Web)
WWW - 万维网联盟 WWW通常称为网络。 web是一个世界各地的计算机网络。 电脑在Web上使用标准语言沟通。 万维网联盟(W3C)制定了Web标准 什么是WWW? WWW 代表 World Wide Web(万维网)万维网常常被称为 网络网络是世界各地的计算机网络网络中…...
Linux网络编程之TCP/IP实现高并发网络服务器设计指南
目录 引言: 多进程服务器 例程分享: 多线程服务器 例程分享: I/O多路复用服务器 select 例程分享: poll 例程分享: epoll 例程分享: 总结建议 引言: 随着互联网的迅猛发展ÿ…...
【SpringBoot实战】基于阿里云实现文件上传
【SpringBoot实战】基于阿里云实现文件上传 在实际项目开发中,不可避免地会使用到阿里云OSS进行文件存储。尽管阿里云有详细的开发文档,但本篇博客的目的是让我们能够用简明的代码快速实现这个功能。 引入依赖 <dependencies><!-- 阿里云oss…...

大数据技术学习笔记(十一)—— Flume
目录 1 Flume 概述1.1 Flume 定义1.2 Flume 基础架构 2 Flume 安装3 Flume 入门案例3.1 监控端口数据3.2 实时监控单个追加文件3.3 实时监控目录下多个新文件3.4 实时监控目录下的多个追加文件 4 Flume 进阶4.1 Flume 事务4.2 Flume Agent 内部原理4.3 Flume 拓扑结构4.3.1 简单…...
电路设计时,继电器线圈、风扇电机绕组等感性负载必须有续流二极管。
续流二极管(也常被称为“自由轮流二极管”或“反向并联二极管”)在感性负载电路中的应用非常重要,尤其是在继电器线圈、风扇电机绕组等设备中。感性负载是指那些在其线圈中会产生感应电动势的负载,例如电动机、变压器和继电器等。当这些设备的电源被切断时,它们的线圈会因…...

Mongodb基础介绍与应用场景
NoSql 解决方案第二种 Mongodb MongoDB 是一款开源 高性能 无模式的文档型数据库 当然 它是NoSql数据库中的一种 是最像关系型数据库的 非关系型数据库 首先 最需要注意的是 无模式的文档型数据库 这个需要后面我们看到它的数据才能明白 其次是 最像关系型数据库的非关系型数据…...
mysql参数配置binlog
官网地址: MySQL :: MySQL Replication :: 2.6.4 Binary Logging Options and Variables 欢迎关注留言,我是收集整理小能手,工具翻译,仅供参考,笔芯笔芯. MySQL 复制 / ... / 二进制日志记录选项和变量 2.6.4 二进…...
pytorch常用的几个函数详解
文章目录 view基本用法自动计算维度保持原始数据不变 t函数功能语法返回值示例注意事项 permute() 函数基本概念permute() 函数的使用 unsqueeze() 函数基本概念unsqueeze() 函数的使用 squeeze() 函数基本概念squeeze() 函数的使用 transpose() 函数基本概念transpose() 函数的…...
Linux下安装Flume
1 下载Flume Welcome to Apache Flume — Apache Flume 下载1.9.0版本 2 上传服务器并解压安装 3 删除lib目录下的guava-11.0.2.jar (如同服务器安装了hadoop,则删除,如没有安装hadoop则保留这个文件,否则无法启动flume&#…...

20231225使用BLE-AnalyzerPro WCH升级版BLE-PRO蓝牙分析仪抓取BLE广播数据
20231225使用BLE-AnalyzerPro WCH升级版BLE-PRO蓝牙分析仪抓取BLE广播数据 2023/12/25 20:05 结论:硬件蓝牙分析仪 不一定比 手机端的APK的效果好! 亿佰特E104-2G4U04A需要3片【单通道】,电脑端的UI为全英文的。 BLE-AnalyzerPro WCH升级版B…...

.net6使用Sejil可视化日志
(关注博主后,在“粉丝专栏”,可免费阅读此文) 之前介绍了这篇.net 5使用LogDashboard_.net 5logdashboard rootpath-CSDN博客 这篇文章将会更加的简单,最终的效果都是可视化日志。 在程序非常庞大的时候&…...
mysql(51) : 大数据导出为insert
代码 import java.io.BufferedWriter; import java.io.File; import java.io.FileWriter; import java.math.BigDecimal; import java.util.ArrayList; import java.util.Iterator; import java.util.List; import java.util.Objects;public class 大数据导出为insert {public …...
MFC查找错误的方法
在visual studio2005上Debug总是会出现各种问题,比如指针错误,乱码等,无法正确查看变量的值,这时候可以使用AfxMessageBox()方法对数据进行弹窗输出,但AfxMessageBox()函数只支持CString数据输出,我们就需要…...

Jave EE 网络原理之网络层与数据链路层
文章目录 1. 网络层1.1 IP 协议1.1.1 协议头格式1.1.2 地址管理1.1.2.1 认识 IP 地址 1.1.3 路由选择 2. 数据链路层2.1 认识以太网2.1.1 以太网帧格式2.1.2 DNS 应用层协议 1. 网络层 网络层要做的事情,主要是两个方面 地址管理 (制定一系列的规则&am…...

ElasticSearch 使用映射定义索引结构
动态映射 dynamic 可选值解释true默认值,启用动态映射,新增的字段会添加到映射中runtime查询时动态添加到映射中false禁用动态映射,忽略未知字段strict发现未知字段,抛出异常 显示映射 创建映射 PUT user {"mappings&qu…...

JavaScript 中的 ES|QL:利用 Apache Arrow 工具
作者:来自 Elastic Jeffrey Rengifo 学习如何将 ES|QL 与 JavaScript 的 Apache Arrow 客户端工具一起使用。 想获得 Elastic 认证吗?了解下一期 Elasticsearch Engineer 培训的时间吧! Elasticsearch 拥有众多新功能,助你为自己…...
基于服务器使用 apt 安装、配置 Nginx
🧾 一、查看可安装的 Nginx 版本 首先,你可以运行以下命令查看可用版本: apt-cache madison nginx-core输出示例: nginx-core | 1.18.0-6ubuntu14.6 | http://archive.ubuntu.com/ubuntu focal-updates/main amd64 Packages ng…...
鸿蒙中用HarmonyOS SDK应用服务 HarmonyOS5开发一个医院挂号小程序
一、开发准备 环境搭建: 安装DevEco Studio 3.0或更高版本配置HarmonyOS SDK申请开发者账号 项目创建: File > New > Create Project > Application (选择"Empty Ability") 二、核心功能实现 1. 医院科室展示 /…...

c#开发AI模型对话
AI模型 前面已经介绍了一般AI模型本地部署,直接调用现成的模型数据。这里主要讲述讲接口集成到我们自己的程序中使用方式。 微软提供了ML.NET来开发和使用AI模型,但是目前国内可能使用不多,至少实践例子很少看见。开发训练模型就不介绍了&am…...
【HTTP三个基础问题】
面试官您好!HTTP是超文本传输协议,是互联网上客户端和服务器之间传输超文本数据(比如文字、图片、音频、视频等)的核心协议,当前互联网应用最广泛的版本是HTTP1.1,它基于经典的C/S模型,也就是客…...
Java多线程实现之Thread类深度解析
Java多线程实现之Thread类深度解析 一、多线程基础概念1.1 什么是线程1.2 多线程的优势1.3 Java多线程模型 二、Thread类的基本结构与构造函数2.1 Thread类的继承关系2.2 构造函数 三、创建和启动线程3.1 继承Thread类创建线程3.2 实现Runnable接口创建线程 四、Thread类的核心…...

使用Spring AI和MCP协议构建图片搜索服务
目录 使用Spring AI和MCP协议构建图片搜索服务 引言 技术栈概览 项目架构设计 架构图 服务端开发 1. 创建Spring Boot项目 2. 实现图片搜索工具 3. 配置传输模式 Stdio模式(本地调用) SSE模式(远程调用) 4. 注册工具提…...
LangChain知识库管理后端接口:数据库操作详解—— 构建本地知识库系统的基础《二》
这段 Python 代码是一个完整的 知识库数据库操作模块,用于对本地知识库系统中的知识库进行增删改查(CRUD)操作。它基于 SQLAlchemy ORM 框架 和一个自定义的装饰器 with_session 实现数据库会话管理。 📘 一、整体功能概述 该模块…...

Kafka入门-生产者
生产者 生产者发送流程: 延迟时间为0ms时,也就意味着每当有数据就会直接发送 异步发送API 异步发送和同步发送的不同在于:异步发送不需要等待结果,同步发送必须等待结果才能进行下一步发送。 普通异步发送 首先导入所需的k…...
C语言中提供的第三方库之哈希表实现
一. 简介 前面一篇文章简单学习了C语言中第三方库(uthash库)提供对哈希表的操作,文章如下: C语言中提供的第三方库uthash常用接口-CSDN博客 本文简单学习一下第三方库 uthash库对哈希表的操作。 二. uthash库哈希表操作示例 u…...