[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…...
UE5 学习系列(二)用户操作界面及介绍
这篇博客是 UE5 学习系列博客的第二篇,在第一篇的基础上展开这篇内容。博客参考的 B 站视频资料和第一篇的链接如下: 【Note】:如果你已经完成安装等操作,可以只执行第一篇博客中 2. 新建一个空白游戏项目 章节操作,重…...
linux之kylin系统nginx的安装
一、nginx的作用 1.可做高性能的web服务器 直接处理静态资源(HTML/CSS/图片等),响应速度远超传统服务器类似apache支持高并发连接 2.反向代理服务器 隐藏后端服务器IP地址,提高安全性 3.负载均衡服务器 支持多种策略分发流量…...
Flask RESTful 示例
目录 1. 环境准备2. 安装依赖3. 修改main.py4. 运行应用5. API使用示例获取所有任务获取单个任务创建新任务更新任务删除任务 中文乱码问题: 下面创建一个简单的Flask RESTful API示例。首先,我们需要创建环境,安装必要的依赖,然后…...
MongoDB学习和应用(高效的非关系型数据库)
一丶 MongoDB简介 对于社交类软件的功能,我们需要对它的功能特点进行分析: 数据量会随着用户数增大而增大读多写少价值较低非好友看不到其动态信息地理位置的查询… 针对以上特点进行分析各大存储工具: mysql:关系型数据库&am…...
如何在看板中体现优先级变化
在看板中有效体现优先级变化的关键措施包括:采用颜色或标签标识优先级、设置任务排序规则、使用独立的优先级列或泳道、结合自动化规则同步优先级变化、建立定期的优先级审查流程。其中,设置任务排序规则尤其重要,因为它让看板视觉上直观地体…...
STM32标准库-DMA直接存储器存取
文章目录 一、DMA1.1简介1.2存储器映像1.3DMA框图1.4DMA基本结构1.5DMA请求1.6数据宽度与对齐1.7数据转运DMA1.8ADC扫描模式DMA 二、数据转运DMA2.1接线图2.2代码2.3相关API 一、DMA 1.1简介 DMA(Direct Memory Access)直接存储器存取 DMA可以提供外设…...
TRS收益互换:跨境资本流动的金融创新工具与系统化解决方案
一、TRS收益互换的本质与业务逻辑 (一)概念解析 TRS(Total Return Swap)收益互换是一种金融衍生工具,指交易双方约定在未来一定期限内,基于特定资产或指数的表现进行现金流交换的协议。其核心特征包括&am…...
C# 类和继承(抽象类)
抽象类 抽象类是指设计为被继承的类。抽象类只能被用作其他类的基类。 不能创建抽象类的实例。抽象类使用abstract修饰符声明。 抽象类可以包含抽象成员或普通的非抽象成员。抽象类的成员可以是抽象成员和普通带 实现的成员的任意组合。抽象类自己可以派生自另一个抽象类。例…...
云原生玩法三问:构建自定义开发环境
云原生玩法三问:构建自定义开发环境 引言 临时运维一个古董项目,无文档,无环境,无交接人,俗称三无。 运行设备的环境老,本地环境版本高,ssh不过去。正好最近对 腾讯出品的云原生 cnb 感兴趣&…...
【SSH疑难排查】轻松解决新版OpenSSH连接旧服务器的“no matching...“系列算法协商失败问题
【SSH疑难排查】轻松解决新版OpenSSH连接旧服务器的"no matching..."系列算法协商失败问题 摘要: 近期,在使用较新版本的OpenSSH客户端连接老旧SSH服务器时,会遇到 "no matching key exchange method found", "n…...
