当前位置: 首页 > news >正文

2023年度总结 - 职业生涯第一个十年

8ed4b11124442aa4f88cb548351c4e24.png

2023年只剩下最后一周,又到了一年一度该做年末总结的时候了。

回想起去年,还有人专门建立了一个关于年度总结文章汇总的仓库。读了很多篇别人写的,给了我很多的触动和感想。这里的每篇文章都是关于某个人这一整年的生活和工作的轨迹啊。即使你这一年过的再平凡,也能从别人的视角窥见一种完全不一样的生活图景。

仓库的地址:https://github.com/saveweb/review-2022,该仓库接受投稿。

所以想想今年还是下笔了~

下笔之前先来脑图下:

鉴于我的很多平台 ID 名为“编程范儿”,故以此代表本人

c4a46afe4cd7735539bdf39dd2376137.png

知识创作

其实对于程序员来说,Git 的提交记录无疑是这一年来自己的工作之余的代码和内容产出成功的有效说明:

04e5a1b640a6142fe1b34663bcade4b9.png

载体

从图中可以看见从五月份开始,Git 的提交记录较之前突然有了明显的提升,原因主要在于 spacexcode.com[1] 这个网站的搭建。至于为什么要创建这个网站, 前面也写过我对于建立这个网站的初衷和后续的持续工作计划。

  • [x] 双节前把我的网站重构了一遍[2]

  • [x] 人生不必要精彩,但得有故事[3]

这大半年以来,几乎每天都会将自己的所学到的一些经验、技术和感想形成文档记录下来。不管它能为你产生多大的效益,但最起码等到某个历史节点它能成为你参与互联网这个伟大时代的一点遗产。或者为你的后代追溯你的生平提供一些历史资料信息。这样来看,还是值得好好坚持创作下去。

除了在这个网站上,我还有一个 i-fanr.com[4] 站点,本着流量运营的角度去分享一些关于前端的零碎的知识点文章。目前保持每个月两三篇的更新频次。

语雀的小记和知识库会记录一些瞬间的灵感和及时的所见所闻为后面的写作积累素材。

自从年初买了第一个付费知识星球“池建强·让时间为你证明”,发现优质的东西包括信息总是有价值的。以后我会愿意为知识付费。看到一些人持续地写作,分享,交流,碰撞,确实让思维得到飞跃的变化。

只有大量的输入才能保证有效的输出。

创作类型

以上都是以文字的形式来进行的创作,视频媒体近几年逐渐成为主流,我也不敢轻易忽视。视频号自从申请也没怎么更新,其实是我把视频定位为文字的辅助,它是另外的一种信息展示方式,比起文字更直接。我一直有个思路,它来源于“卢克文”的创作模式,视频的脚本来自于他写的文章,然后通过拼接图片或已有的短视频形成画面的再次创作的形式。

或许 Markdown To Video 的技术可以帮助到我。mdvideo[5]

除了文字的形式,动态的演示网页也是我的创作形式之一。在这个网站上你会发现很多通过简单的配置来动态改变页面效果的地方,它能更直观的将一些知识特性演示给别人看。

创作的灵感来源

在社交媒体上关注一些行业的大佬,从他们的视角去发现一些新的资讯。

Github 更新后,首页的信息流也是有效的信息来源,伴随着推荐质量都很高。

其次,一定尽可能多的拓展自己的语言,然后尽可能大的拓展自己的信息渠道。中文互联网比起整个互联网毕竟是很小的一块。

自媒体运营

自媒体运营其实是一种逐渐放大自己 IP,然后获取收益的一种途径。

前期以知识分享为主,保持一种利他的心态,形成自己的影响力。

现在网站上放的一些 Google Adsense 平台的广告,也会以尽可能少的侵扰用户,保持好的阅读体验为前提。公众号暂时不接受广告推广,找上门的推广课程的我也果断拒绝了。主要还是分享一些优质的文章。依靠小频次的更新今年也带来的两三百精准粉丝的增长。这是一个好的开始,我始终觉得粉丝不在多,而在于精准和粘性。

网站和公众号的评论区也开始有一些互动和反馈。这是积累粉丝粘性的一个有效过程。

我是怎么平衡看待收益这个事?没有收益,你很难坚持下去,太看重收益你会比较急躁,难以产出优质的内容。所以运营好账号的同时偶尔去接一点广告是可以的。那怎么去接,如何让别人发现你?

当你的东西得到别人的认可的时候,自然会找上门来,就比如今年三四月份的时候,有人看中了 i-fanr.com[6] 这个站的“磁力[7]”的关键词流量, 于是买了文章里的链接。就这样很突然地带来了一笔可观的收入。

学习与成长

学习与成长是每个人年终总结始终绕不过去的一个主题,作为一个技术打工人,为了不落后于整个行业背景,你总是需要主动地去学习新的技术和平时工作用不到但是能有效拓宽职业发展瓶颈的一些技术。由于自己工作以来一直用的 Vue 技术框架,但是 React 你也很难不重视它在前端职业里的地位。

所以这个编程网站我选择了 Docusaurus 而不是 Vuepress。这是主动寻求改变和挑战的一种手段。你不会造桥,那你给桥先毁了。这样你不得不去重新造个桥。

还有为了不让自己仅仅局限在前端的思维里,后端你也要主动去学习,nextjs 是最近出来比较追捧的建站技术,我正在撰写关于它的实操的专题[8]

今年买了《JavaScript 算法:基础原理与代码实现》和《React 设计原理》两本技术图书,没怎么看完,还是老毛病发现纸质的书很难一口气看完。不过卢克文的长篇公众号倒是总能一口气看下来,还总是意犹未尽。最近一两年对时事政治和地理环境越来越感兴趣,难道这又是一个中年人的魔咒吗?

本职工作

这一年来,行业的大背景不容乐观,因此自己的心态上也始终抱有一丝的危机感。在无锡,一个制造业发展地还比较好的城市,公司的发展目前来看还是稳步向前。

近几年是公司的大力发展的时候,人才和业务爆发期,业务端会有大量的需求。前端的管理岗的空缺可以努力去争取争取。

一方面自己也将面临35岁大龄打工人的境遇,如何克服焦虑和职业晋升的压力会是接下来一年面临的挑战。

到了这个时候,工资这块如果不是大的晋升也很难有大的起伏了,好在每年还能有小幅度的增加,也略感欣慰了。

家庭生活

家庭生活方面,我是不怎么愿意聊的,但不聊好像又缺点什么。毕竟聊的是年终总结还是全面具体点的比较好。

生活节奏方面参考我制作的页面:

打造高效的生物钟[9]

这是我自己总结并喜欢的一句话:

世界上唯一公平的事是每个人一天24小时
而如何度过这24小时,却有千万种方式
选择什么样的生物钟,将决定你拥有什么样的人生

这是我近一两年来总结并践行的一个自认为比较健康的生活方式和节奏。未来会一直保持下去,深信只有拥有高效的生物钟,才能活的自律和自由。

家庭开支

作为一个中年的“背贷人”,房贷会伴随着接下来的二十年,车贷明年下半年可以结束了。未来还会有什么贷暂时不知道。

虽然目前每个月会有盈余,但还是不敢花大钱。这一年感觉最大的就是生活成本上升了。平时我买菜感觉特别深的是近来的物价上升了,还有就是有了孩子之后开支也多了。

除了生活的零碎开支,近几年出门远游应该还是奢望。平时也只是在周边小范围地转转。

普通人真的只是在活着而已。如果想要更高质量的生活,就必须有新的收入来源。

抚养小孩

小孩子刚刚过了两周岁,见证了她成长的每个瞬间,这一年她的变化是最大的,几乎每个月都能学会新的技能。从走路的摇摇晃晃,到很平稳地奔跑。从一个字一个字的支支吾吾,到简单句子的大喊大叫, 会给你的生活添加很多的惊喜。

当然累也是会有的,你会发现工作之余的时间会被她占满。突然性情的改变,无理取闹会让你手足无措。

总之有了孩子会大大改变你的生活节奏。苦乐掺杂,其中滋味任由你慢慢体会。这就是生活吧!

总结

2023年度我总结的关键词是:成长、背贷、创作、生物钟、焦虑、惊喜、知识付费、时政新闻。

生活不止眼前的苟且,还有诗和远方。不管当下的生活如何,永远不要放弃梦想,这是我想对我自己说的。

参考资料

[1]

spacexcode.com: https://spacexcode.com

[2]

x] [双节前把我的网站重构了一遍: https://spacexcode.com/blog/refactor-my-website

[3]

x] [人生不必要精彩,但得有故事: https://spacexcode.com/blog/i-have-a-story

[4]

i-fanr.com: https://i-fanr.com

[5]

mdvideo: https://github.com/lqomg/mdvideo

[6]

i-fanr.com: https://i-fanr.com

[7]

磁力: https://i-fanr.com/tag/%e7%a3%81%e5%8a%9b%e7%8c%ab/

[8]

专题: https://spacexcode.com/docs/topic/nextjs/intro

[9]

打造高效的生物钟: https://spacexcode.com/lifebalence

- END -

相关文章:

2023年度总结 - 职业生涯第一个十年

2023年只剩下最后一周,又到了一年一度该做年末总结的时候了。 回想起去年,还有人专门建立了一个关于年度总结文章汇总的仓库。读了很多篇别人写的,给了我很多的触动和感想。这里的每篇文章都是关于某个人这一整年的生活和工作的轨迹啊。即使你…...

setup 语法糖

只有vue3.2以上版本可以使用 优点: 更少的样板内容,更简洁的代码 能够使用纯 Typescript 声明props 和抛出事件 更好的运行时性能 更好的IDE类型推断性能 在sciprt标识上加上setup 顶层绑定都可以使用 不需要return ,可以直接使用 使用组件…...

Javaweb之Mybatis的基础操作的详细解析

1. Mybatis基础操作 学习完mybatis入门后,我们继续学习mybatis基础操作。 1.1 需求 需求说明 通过分析以上的页面原型和需求,我们确定了功能列表: 查询 根据主键ID查询 条件查询 新增 更新 删除 根据主键ID删除 根据主键ID批量删除 …...

知名开发者社区Stack Overflow发布《2023 年开发者调查报告》

Stack Overflow成立于2008年,最知名的是它的公共问答平台,每月有超过 1 亿人访问该平台来提问、学习和分享技术知识。是世界上最受欢迎的开发者社区之一。每年都会发布一份关于开发者的调查报告,来了解不断变化的开发人员现状、正在兴起或衰落…...

vue element plus Form 表单

表单包含 输入框, 单选框, 下拉选择, 多选框 等用户输入的组件。 使用表单,您可以收集、验证和提交数据。 TIP Form 组件已经从 2. x 的 Float 布局升级为 Flex 布局。 典型表单# 最基础的表单包括各种输入表单项,比如input、select、radio、checkbo…...

zmq_connect和zmq_poll

文章内容: 介绍函数zmq_connect和zmq_poll的使用 zmq_connect zmq_connect函数是ZeroMQ库中的一个函数,用于在C语言中创建一个与指定地址的ZeroMQ套接字的连接。该函数的原型如下: int zmq_connect(void *socket, const char *endpoint);其…...

TinyLog iOS v3.0接入文档

1.背景 为在线教育部提供高效、安全、易用的日志组件。 2.功能介绍 2.1 日志格式化 目前输出的日志格式如下: 日志级别/[YYYY-MM-DD HH:MM:SS MS] TinyLog-Tag: |线程| 代码文件名:行数|函数名|日志输出内容触发flush到文件的时机: 每15分钟定时触发…...

react-native 配置@符号绝对路径配置和绝对路径没有提示的问题

这里需要用到vscode的包 yarn add babel-plugin-module-resolver 找到根目录里的babel.config.js 在页面添加plugins配置 直接替换 module.exports {presets: [module:metro-react-native-babel-preset],plugins: [[module-resolver,{root: [./src],alias: {/utils: ./src/…...

element的Table表格组件树形数据与懒加载简单使用

目录 1. 代码实现2. 效果图3. 解决新增、删除、修改之后树节点不刷新问题。&#xff08;[参考文章](https://blog.csdn.net/weixin_41549971/article/details/135504471)&#xff09; 1. 代码实现 <template><div><!-- lazy 是否懒加载子节点数据 --><!-…...

游戏、设计选什么内存条?光威龙武系列DDR5量大管饱

如果你是一位PC玩家或者创作者&#xff0c;日常工作娱乐中&#xff0c;确实少不了大容量高频内存的支持&#xff0c;这样可以获得更高的工作效率&#xff0c;光威龙武系列DDR5内存条无疑是理想之选。它可以为计算机提供强劲的性能表现和稳定的运行体验&#xff0c;让我们畅玩游…...

linux磁盘清理_docker/overlay2爆满

问题&#xff1a;无意间发现linux服务器登陆有问题&#xff0c;使用df命令发现目录满了。 1. 确定哪里占用了大量内存。 cd / du -sh * | sort -rh经过一段时间后&#xff0c;显示如下&#xff1a; // 474G home // 230G var // 40G usr // 10G snap // --- 根据实际情…...

Redis过期清理策略和内存淘汰机制

目录 Redis过期清理策略Redis内存淘汰机制 Redis过期清理策略 Redis 通过设置键的过期时间来实现自动删除过期键。当键的过期时间到达时&#xff0c;Redis 会自动将该键删除。Redis 过期清理策略主要有以下两种&#xff1a; 惰性删除&#xff1a;Redis 在获取键时会检查键是否…...

2_并发编程同步锁(synchronized)

并发编程带来的安全性同步锁(synchronized) 1.他的背景 当多个线程同时访问&#xff0c;公共共享资源的时候&#xff0c;这时候就会出现线程安全&#xff0c;代码如&#xff1a; public class AtomicDemo {int i0;//排他锁、互斥锁public void incr(){ //synchronizedi; …...

Python 常用模块pickle

Python 常用模块pickle pickle序列化模块 【一】定义 序列化&#xff1a;将数据结构或对象转换为可存储或传输的格式反序列化&#xff1a;将序列化后的数据恢复为开始的数据结构或者对象 【二】目的 数据持久化存储远程通信缓存进程间通信 【三】序列化 将对象转换为字节…...

CentOS 6 制作openssh 9.6 p1 rpm包(含ssh-copy-id、openssl) —— 筑梦之路

openssh 9.6 需要openssl 1.1.1 以上版本&#xff0c;因此需要先安装openssl 1.1.1&#xff0c;可阅读这篇升级更新openssl版本到1.1.1w CentOS 6 制作openssl 1.1.1w rpm包 —— 筑梦之路-CSDN博客 CentOS 6很久都停止更新和支持&#xff0c;关于此版本的写的不多&#xff…...

Tomcat Notes: Deployment File

This is a personal study notes of Apache Tomcat. Below are main reference material. - YouTube Apache Tomcat Full Tutorial&#xff0c;owed by Alpha Brains Courses. https://www.youtube.com/watch?vrElJIPRw5iM&t801s 1、Tomcat deployment1.1、Two modes of …...

某邦通信股份有限公司IP网络对讲广播系统挖矿检测脚本

目录 1.漏洞概述 2.影响版本 3.危害等级 4.挖矿程序检测 5.Nuclei自动化检测...

uniapp点击跳转传对象

目录 传对象传对象传送组件接受组件 最后 传对象 传对象 传送组件 点击传给组件 <view class"dki-tit-edit" click"gotificatedit(item)">编辑 </view>gotificatedit(item){console.log(item,item);let options JSON.stringify(item);uni.…...

简单用PHP实现微信小程序的游戏功能

微信小程序的兴起&#xff0c;越来越多的开发者开始关注如何在小程序中实现游戏功能。PHP作为一种流行的后端语言&#xff0c;可以很好地与小程序进行搭配&#xff0c;实现游戏功能。下面将介绍如何使用PHP来实现微信小程序的游戏功能&#xff0c;并提供具体的代码示例。 建立…...

某查查请求头参数加密分析(含JS加密算法与Python爬虫源码)

文章目录 1. 写在前面2. 请求分析3. 断点分析4. 扣加密JS5. Python爬虫代码实现 【作者主页】&#xff1a;吴秋霖 【作者介绍】&#xff1a;Python领域优质创作者、阿里云博客专家、华为云享专家。长期致力于Python与爬虫领域研究与开发工作&#xff01; 【作者推荐】&#xff…...

系统设计 --- MongoDB亿级数据查询优化策略

系统设计 --- MongoDB亿级数据查询分表策略 背景Solution --- 分表 背景 使用audit log实现Audi Trail功能 Audit Trail范围: 六个月数据量: 每秒5-7条audi log&#xff0c;共计7千万 – 1亿条数据需要实现全文检索按照时间倒序因为license问题&#xff0c;不能使用ELK只能使用…...

【HTML-16】深入理解HTML中的块元素与行内元素

HTML元素根据其显示特性可以分为两大类&#xff1a;块元素(Block-level Elements)和行内元素(Inline Elements)。理解这两者的区别对于构建良好的网页布局至关重要。本文将全面解析这两种元素的特性、区别以及实际应用场景。 1. 块元素(Block-level Elements) 1.1 基本特性 …...

【C语言练习】080. 使用C语言实现简单的数据库操作

080. 使用C语言实现简单的数据库操作 080. 使用C语言实现简单的数据库操作使用原生APIODBC接口第三方库ORM框架文件模拟1. 安装SQLite2. 示例代码:使用SQLite创建数据库、表和插入数据3. 编译和运行4. 示例运行输出:5. 注意事项6. 总结080. 使用C语言实现简单的数据库操作 在…...

零基础设计模式——行为型模式 - 责任链模式

第四部分&#xff1a;行为型模式 - 责任链模式 (Chain of Responsibility Pattern) 欢迎来到行为型模式的学习&#xff01;行为型模式关注对象之间的职责分配、算法封装和对象间的交互。我们将学习的第一个行为型模式是责任链模式。 核心思想&#xff1a;使多个对象都有机会处…...

【Oracle】分区表

个人主页&#xff1a;Guiat 归属专栏&#xff1a;Oracle 文章目录 1. 分区表基础概述1.1 分区表的概念与优势1.2 分区类型概览1.3 分区表的工作原理 2. 范围分区 (RANGE Partitioning)2.1 基础范围分区2.1.1 按日期范围分区2.1.2 按数值范围分区 2.2 间隔分区 (INTERVAL Partit…...

均衡后的SNRSINR

本文主要摘自参考文献中的前两篇&#xff0c;相关文献中经常会出现MIMO检测后的SINR不过一直没有找到相关数学推到过程&#xff0c;其中文献[1]中给出了相关原理在此仅做记录。 1. 系统模型 复信道模型 n t n_t nt​ 根发送天线&#xff0c; n r n_r nr​ 根接收天线的 MIMO 系…...

基于TurtleBot3在Gazebo地图实现机器人远程控制

1. TurtleBot3环境配置 # 下载TurtleBot3核心包 mkdir -p ~/catkin_ws/src cd ~/catkin_ws/src git clone -b noetic-devel https://github.com/ROBOTIS-GIT/turtlebot3.git git clone -b noetic https://github.com/ROBOTIS-GIT/turtlebot3_msgs.git git clone -b noetic-dev…...

算法:模拟

1.替换所有的问号 1576. 替换所有的问号 - 力扣&#xff08;LeetCode&#xff09; ​遍历字符串​&#xff1a;通过外层循环逐一检查每个字符。​遇到 ? 时处理​&#xff1a; 内层循环遍历小写字母&#xff08;a 到 z&#xff09;。对每个字母检查是否满足&#xff1a; ​与…...

【Linux】Linux安装并配置RabbitMQ

目录 1. 安装 Erlang 2. 安装 RabbitMQ 2.1.添加 RabbitMQ 仓库 2.2.安装 RabbitMQ 3.配置 3.1.启动和管理服务 4. 访问管理界面 5.安装问题 6.修改密码 7.修改端口 7.1.找到文件 7.2.修改文件 1. 安装 Erlang 由于 RabbitMQ 是用 Erlang 编写的&#xff0c;需要先安…...

对象回调初步研究

_OBJECT_TYPE结构分析 在介绍什么是对象回调前&#xff0c;首先要熟悉下结构 以我们上篇线程回调介绍过的导出的PsProcessType 结构为例&#xff0c;用_OBJECT_TYPE这个结构来解析它&#xff0c;0x80处就是今天要介绍的回调链表&#xff0c;但是先不着急&#xff0c;先把目光…...