前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >我的2023:恋爱、结婚、生娃,不写代码

我的2023:恋爱、结婚、生娃,不写代码

原创
作者头像
叫我阿柒啊
修改2023-12-23 23:40:48
4055
修改2023-12-23 23:40:48
举报

2022年,几乎没去过公司上班。上半年每周三去公司做一次核酸集采就行,因为各种原因,公司也没什么项目,下半年就一直在家里睡觉。在不强制居家的日子,就一直骑着摩托车游山玩水。

在一次骑行中,一个女孩无意间拍了我一张还挺好看的照片,从此命运的齿轮开始转动...

生活篇

所以2023年就完成了订婚、结婚、生娃全系列,短短一年,我就终结了我浪荡的青春。婚后比较明显的变化就是:父母再也不拐着弯儿地催婚了...

上班交通工具也由GSX250换成了Ninja400,上100也不会那么吃力了。虽然如此,但20km的通勤路的确是有点无聊,甚至一天的工作量还没在路上骑车通勤的时间长。虽然路上经常遇到几个认识的摩友,但是我明白,遇到他们意味着我就要迟到了...

2023年,也迎来了我的28岁,从发量到存款,感觉和27、26、25、24岁没啥区别,只不过今年的生日,由一群人变成了我媳妇陪我过,在生日那天,也是趁着下班的功夫去追了个焦留念,纪念我那独一无二的28岁。

工作篇

希望公司耗子尾汁,继续努力。

学习篇

虽然平时是做大数据开发和架构的工作,但是好像一年也没学什么东西。主要完成两个项目,一个是flink cdc采集oracle,还有一个用Netty上传1W+亿条/天数据的项目。今年的项目内容主要也就这两个,虽然平时关于Spark、Flink、架构的需求多,但是今年的确是没写几个程序。

在大数据开发工作不饱和的日子,开始学习前端vue全家桶。18年学习vue的时候,还是选项式开发,学完前面忘后面。现在的vue3是组合式开发,学起来很带劲。

例如我想在vue2中引入其他组件和声明周期函数:

代码语言:javascript
复制
<script>
    import MenuBar from "./MenuBar";
    export default {
        name: 'Home',
        components: {MenuBar},
        mounted: function () {
        // 页面挂载之后要执行的声明周期函数
        }
    }
</script>

在vue3中一手setup + 组合式编程,让开发方便了很多、

代码语言:javascript
复制
<script lang="ts" setup>
    import MenuTree from '@/layouts/backend/components/menus/menuTree.vue'
    import {onMounted} from "vue"
    onMounted(() => { })

在vue3中,无需export defalut导出,引用组件也无需在components中声明,加上vue3中的一些defineEmits、defineProps,以及与TypeScrit中声明vue组件的defineComponent,更符合后端开发习惯。

vue-router

之前学的是vue-router 3.x,现在4.x,同时也为vue3提供了useRouteuseRouter的API来操作路由。

代码语言:javascript
复制
<script setup lang="ts">
    // vue2
    const router = this.$router
    // vue3
    import {useRouter} from 'vue-router'
    const router = useRouter()
    router.push('/admin')
<script>

TypeScript

以前都是用JS,TS与之相比更像后端语言。在项目中中用的比较多的有三点。

  1. 可以定义interface和方法:
代码语言:javascript
复制
export interface ContextMenuItem {
    name: string
    label: string
    icon?: string
    disabled?: boolean
}
  1. ${} 字符串和变量结合的小功能。
代码语言:javascript
复制
const routeInfo: RouteRecordRaw = {
    path: path,
    name: routes[idx].name,
    component: () => import(`@/${routes[idx].component}.vue`),
}

在webpack下使用import全量加载时,参数不能使用完全是变量,所以这个功能就很有用。

  1. 是能定义vue组件。
代码语言:javascript
复制
<script lang="ts">
    import {h, computed, defineComponent, resolveComponent} from 'vue'
    import {isExternal} from "@/utils/common";
    import svg from '@/components/icon/svg/index.vue'

    export default defineComponent(
        {
            name: 'Icon',
            props: {
                name: {
                    type: String,
                    required: true,
                },
                size: {
                    type: String,
                    default: '18px',
                },
                color: {
                    type: String,
                    default: '#000000',
                },
            },
            setup(props) {
                const iconStyle = computed(() => {
                    const {size, color} = props
                    let s = `${size.replace('px', '')}px`
                    return {
                        fontSize: s,
                        color: color,
                    }
                })
                if (props.name.startsWith('el-icon-')) {
                    return () => h('el-icon', {
                        class: 'icon el-icon',
                        style: iconStyle.value
                    }, [h(resolveComponent(props.name))])
                } 

        }
    )
</script>

与vue相比,使用ts不用定义\<template>,使用 h() 直接渲染即可。

后来又跟着BuildAdmin项目学习Element Plus、Pinia,算是对前端完成了入门的学习。在拆解BuildAdmin项目过程中,写了一些技巧和感悟,前端部分整理了百分之七十了,争取2014年弄完。。。

面试篇

今年充当了一波免费技术型HR去面试大数据开发。前前后后面试了有十几个人,最后竟无一人入职,我这100%的失败率让我一度怀疑是我的问题。

通过这十几次面试,感悟挺多,小城市的技术氛围可能真的有点差强人意。因为本来就是小城市,加上同行不为难同行的原则,你简历上写什么我就问什么,简历上不写的我基本上啥也不问,毕竟我也是个临时工。总结一下面试遇到的几个问题:

1. 简历不真实

在自我介绍的时候,大部分都说是大数据开发。技能栏上也写着会Java、scala语言等。我问其中一个工作两年的哥们:你Java学到哪个阶段了?等了一会没有说话,我怕他不理解,我说Java基础、web、ssm框架、多线程、jvm你学到哪里了呀?

这时,他才说学到了Java基础,我说IO学到了吗,他说大学学过。我说那你就是学到了集合对吗,他说是,我说平时做大数据开发的时候够用吗,他说够用。我....

还有大部分的简历都写了Spark、Flink、Kafka、Redis以及Linux的一些东西。但是在介绍项目的时候,大多都是大数据分析、数仓建模以及ETL的内容。简历上写精通Spark,实际上就是写过WordCount。写的了解Flink时间语义,不知道有哪些时间语义,自己写的watermark也不知道触发机制是什么。

然后简历上写熟练使用redis。有的最基本的redis常用数据类型、运行模式以及hmset命令都回答不出来。

因为大数据集群大多和Linux主机打交道,看他们写的会shell开发。我就问了几个常用的命令:机器负载(top)、查看内存(free)、查看文件大小(du)、查看磁盘大小(df)、查看进程(ps),问几个沉默几个。。。

2. 简历重复性太高

虽然说大数据的东西就是那么多,但是很多简历上个人技能和项目介绍的重复度过高。项目内容、技术架构、项目内容好多都是一样的。

3. 公司问题

这个是吐槽公司的。招人之前和我说:招个能干活的。面完一问三不知的,Leader还和人家谈薪资,背后还吐槽我一下面试太严格,希望Leader反思一下:人家不来,是不是工资没给够?吃力不讨好的工作难干...

所以说,小城市的程序员良莠不齐,没有很好的生长土壤,在没有产出的996、007环境中过完一年、三年、五年的工作经验。同时,小城市的公司也暴漏出很多问题,没有好的技术环境氛围,技术全靠自学、项目全靠忽悠。很多时候只是为了996而996,资本家的控制欲过于强烈。

同时也希望自己:见贤思齐焉,见不贤而内自省也

结语

2023有好有坏,上半年为生活忙忙碌碌,下半年最后的两个月再开始学习的旅途。展望2024,技术上希望能学完前端,玩明白Stable Diffusion的AI绘画。生活上希望能捡起落灰的吉他、玩玩摄影啥的。工作上没啥想说的,希望不只有眼前的苟且....

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 生活篇
  • 工作篇
  • 学习篇
    • vue-router
      • TypeScript
      • 面试篇
        • 1. 简历不真实
          • 2. 简历重复性太高
            • 3. 公司问题
            • 结语
            相关产品与服务
            云数据库 Redis
            腾讯云数据库 Redis(TencentDB for Redis)是腾讯云打造的兼容 Redis 协议的缓存和存储服务。丰富的数据结构能帮助您完成不同类型的业务场景开发。支持主从热备,提供自动容灾切换、数据备份、故障迁移、实例监控、在线扩容、数据回档等全套的数据库服务。
            领券
            问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
            http://www.vxiaotou.com