漫谈程序员系列:咦,你也在混日子啊

漫谈程序员系列:咦,你也在混日子啊,第1张

    戳你一下,疼吗?

混日子的定义

    来自百度百科的定义:

生活等方面过得不怎么好,无目标,混混沌沌。

    混日子:

即没有理想,没有抱负,糊里糊涂地生活。也指工作没有责任心,得过且过。

    OK ,百科的定义就酱紫。

    那么,如何界定某一段日子是混过去的呢?

    首先,我们在时间轴上选取起点和终点。

    其次,回顾起点处的自己的状衫吵辩态(包含技能、精神、灵力等等),回顾终点处的状态,比较这两个状态,看看有没有哪方面有进步。

    假如任何一个维度都没有令人欣喜的变化,(排除自我要求过高的情况)那基本上就可以说下面这句台词儿了:

    “这段时间都不知道怎么混过去的,sigh……”

瞎胡混呗

    我也是醉了,居然长篇大论来谈混日子……

    一张一弛,文武之道。

    d簧拉得太紧,慢慢就会失去d性。

    我是机器人吗?

    这些不是混日子的理论依据,它们只是说,人不能绷得太紧,紧过头了容易出问题。

    拿程序员来讲,有时候是忙一阵松一阵。有项目了很忙,没项目了很闲。闲的时候就容易混,反正领导也没派什么活儿,反正过一阵儿还得忙,混过这阵子再说。看起来是合理的啊,老那么忙,老加班到后半夜,谁特么受得了呢。

    那忙起来呢?其实忙又分两种情况,有目标的忙和没方向的瞎忙活。瞎忙活也是混日子的一种。看起来脚不沾地,一会儿这儿一会儿那儿,实际上干的事儿对自己都没什么意义,这就等同于混日子。当然这是被动的混日子。也有主动混日子的瞎忙活,就是“让自己看起来很忙”,对吧,其实我没啥事儿干,也不想干什么事儿,又担心被领导发现我闲得蛋疼,只好装装样子,让自己忙活起来。这是主动混日子。

    二分法,强大的二分法,我总在用。

    扯多了,不好收场了亲。还是言归正传吧。

    混日子的合理性就在于:你没告诉我要干啥,也没告诉我干成啥样。

其实是酱紫的: 自己没有目标,加上被安排惯了,一旦没人安排他了,就只好混日子了 。

天天混的程序员

    这个问题我好像提了很多遍,不过还是得碰槐提:阿猿,你为什么干开发呢?

为了可观的薪水?

为了享受创造的快感?

为了自我成就与自我实现?

鬼知道……

    工作其实有双重意义:

挣或缺钱养家养自己

自我价值的体现

    但实际上,有一部分程序员看的是第一个,或者干着干着,工作的意义就只剩下每月的那点儿薪水了。这样的情况,是最容易导致混日子的。

    有些程序员的一天是这么度过的:

9:00 到公司

9:00~9:30 ,吃着买来的放心早餐(包子、煎饼果子、面包等等),等待电脑启动

9:30~10:00 ,浏览网站,看看新闻,关注一下 NBA 或者英超

10:00~10:30 ,哎呀,今天该干点啥呢……,想着想着把页游打开了

10:30~11:00 ,还没怎么玩呢,就十一点了啊

11:00~ ,收下邮件吧,看看有没有什么工作上的事儿

11:30~ ,吃什么呢,开始和小伙伴们商量中午吃什么

~13:30 ,关了游戏网页,小睡一会儿

~14:30 ,被别人叫醒了,据说有个 BUG 要处理

14:30~15:00 ,抽根烟去,困死了

15:00~16:30 ,打游戏,抽空浏览 JIRA ,抽空给测试 MM 说两句,就说我正在研究呢

16:30~17:30 ,切换到 JIRA 页面,开始看 BUG 描述,告诉测试 MM 描述不清晰,无法重现,让测试 MM 再测,重现了叫他

17:30~ ,出去抽了根烟,回到座位上又玩了几分钟游戏,准备下班

    特别说明:游戏只是占位符,浏览网页只是占位符,新闻只是占位符,英超只是占位符,抽烟也是占位符……可以被其它形式替换,比如找人聊聊电视剧,上个淘宝,类似的,都可以。

    严正声明:看我博客不能用于替换占位符,我都传递的正能量,磨刀不误砍柴工么,刀磨快了干什么都好使。

    日子,这一天天地就这么过呀……

混日子的感觉

    我在刚参加工作时,经常会觉得自己在混日子,因为每天都在等待,等待设备出事儿,然而设备并不是分分钟都出事儿,所以就有一些时间要混过去,上网聊天,同事们聚一块打打麻将,日子就这么过去了。这种感觉很不好,大概是因为我虽然是个懵懂的家伙,却不是一个能心安理得混日子的人,所以混起来就有一点惶恐,一点惭愧,一点不安,一点迷惘,一点不知今夕何年的感觉。

    我不喜欢这样,感觉自己就像一块地,没人来耕种,野草野兔小鼹鼠都很 HAPPY ,我很荒芜。快乐是即兴的,转瞬即逝的,怅然若失的忧愁却是如影随形的。

    为什么没事儿干还能拿薪水你还不快乐?

那天看到一句话: 不快乐是因为可以像只猪一样懒,却无法像只猪一样懒得心安理得 。

    GOD !

    原来如彼!

关键词是: 心安 。

    我心不安宁,所以我不快乐。

    不知道你混日子的时候是什么感觉?

干掉混日子这个魔头

    如果你混日子混得心安理得,就别往下看了。

为毛混日子

    为毛混日子?这也是一个问题。

    我接触过一些程序员,表现出来的行为让人怀疑他们的想法和小学生类似:写程序是给公司写的,干活儿是给公司干的。总而言之,这就不是我的事儿,我把八小时交给你就成了。

这也是部分程序员干活不走心的一个源头。

    不过这说到底还得赖教育,下面的话你是不是经常听到:

给我好好上课

给我好好做作业

给我好好吃饭

给我好好玩儿

别给我看电视

……

    就是这样,从小我们都被教育坏了……有的人能把这种错乱纠正过来,有的人就这么一直迷惑着、迷糊着,成人了也还觉得是为别人而活,干的工作是给别人干的,谈的女盆友是给别人谈的……

    其实,我们都是为自己而活,说为那谁谁而活,要么是自己骗自己,要么被别人骗了。

    既然是为自己而活,那不管干什么事儿,其实所有的付出和牺牲最终的受益人都是自己。

    那,不管你是被安排任务的码农,还是给别人安排任务的项目经理,还是被人遗忘在角落里没活儿可干的替补码字猴,日子,都是你的,你为你自己的日子负责。不想荒废,那就往下接着看吧。

找一个目标

    要想杜绝混日子,就得正本清源,搞明白为什么会混日子。

    其实混日子的定义里已经说了:缺乏目标。

    “人活着要有生活的目标:一辈子的目标,一段时间的目标,一个阶段的目标,一年的目标,一个月的目标,一个星期的目标,一天、一小时、一分钟的目标”。这话是列夫·托尔斯泰说的,看起来有点儿过细了是吧。我也是大部分时间松懈、想起来了紧张一下的人,我觉得目标到星期就很不错了。

对于那些有目标的程序员想学习的当然我也在这里给大家送上一份大礼,下面有一份往架构师方向发展的学习资料,如果你有两年开发经验以上可以免费获得,如果你没有两年开发经验也想的话那也来试试吧!说不定就有惊喜了呢 获取方式加群:561614305

    “确定了人生目标的人,比那些彷徨失措的人,起步时便已领先几十步。有目标的生活,远比彷徨的生活幸福。没有人生目标的人,人生本身就是乏味无聊的”。这话是卡耐基说的。我都说了我擅长剪报……要是你觉得自己躺q了,也别和卡耐基计较,人已驾鹤西游了……

    目标决定行动,找一个目标是顶顶重要的事儿。这个目标还得你愿意相信。然后,就朝着这个目标努力吧。

    在向着目标前行的过程中,也许你会感到劳累、辛酸和疲惫,不过,一切都是值得的,因为你要的幸福,就在那片更蓝的天空,只要你的翅膀卷起风暴,挣脱自我的牢笼,你就可以像狂风一样舞蹈,飞得更高。

  漫谈属于什么结构类型: 数据结构是是计算机专业最重要的基础之一,它是大学计算机专业的必修课,也是程序员提高自己的重要知识结构。对于学生而言,它对你以后考研和面试都用很重要的帮助。对于程序员而言,它能拓宽人的学习深度,决定了你日后能到达怎样的高度,更能体现人的学习素养,对日后的工作面试有很大的用途。

   本教程主要介绍数据结构的常见用法,为了兼容更多人群,所有以C语言为主要的编程语言。如果您C语言基础不过关,请自行Google。其次,语言只是描述程序的一种形式,万变不离其中,掌握一种也就很容易掌握另外一种。

2、什么是数据结构?

维基百科给出了定义: 数据结构(英语:data structure)是计算机中存储、组织数据的方式。无论是大数据时代的海量数据的存储,还是简单用户信息或者学生信息的存储,其数据存储的底层都要以某种更方便、更快捷且更省内存空间的方式进行,这种存储方式就是数据结构。如下图,就是一个简单的数据结构,他描述一个基础的学生信息,由id,name,sex,class组成。

2.1、基本术语

数据

   计算机中存储的的最小单位

数据元素

    也叫元素或记录,及为上表中的一行。

数据对象

    数据元素的集合

3、数据结构的分类

3.1、逻辑结构

描述元素之间的逻辑关系,与数据的存储位置无关。他包括集合、线性结构,树形结构和图形结构。

1、集合

    类似于数学中的集合,一个数据存在于集合中,数据之间没有什么关系。

2、线性结构

    与元素具有一对一的关系,在内存中逐个排列。它分为顺序存储和链式存储,顺序存储相当于高级语言的数组,在内存中排列是连续的。链式存储团姿使用链表维护元素,在内存中排列是不连续的。

3、树形结构

    使用树来维护元素的多个层次关系(对二叉树不了解请点击链接),除根结点外,一个节点只有一个父结点,可以根据一个节点寻找它的子结点或者父结点。

4、图形结构

  使用图)来维护元素的多个层次关系(图不了解请点击链接),一个图中的结点可以有多个父结点和子结点。

3.2、存储结构

1、顺序存储结构

  使用顺序表来存储数据,数据存储在是连续的内存单元上。

优点:查询效率高,可以使用元素的下标直接找到某一个元素。因为其存储结构是紧密的,所以提高了空间利用率。

缺点:插入和删除一个元素的效率低,插入或者删除一个元素,要把这个元素的右边所有元素右移或者左移1个单位,随着数据量的增大,插入和删除的效率也会随之下降。且存储空间大小在定义时已经明确指定, *** 作元素是会出现“溢出”或者浪费空间的情况。

2、链式存储结构

  使用链表来存储数据,数据存储在是不连续的内存单元上。

优点:插入和删除效率很高,不会造成空间的浪费。

缺点:无法随机访问,内存单元一部分用来存储元素之间的逻辑关系,造成空间利用率低。

3、索引存储结构

  除建立存储结点信息外,还建立附加的索引表来标识结点的地址。索引表由若干索引项组成

  特点:索引存储结构是用结点的索引号来确定结点存储地址,其优点是检索速度快,缺点是增加了附加的索引表,会占用较多的存储空间塌模绝。

4、散码蠢列存储结构

  散列存储,又称hash存储,是一种力图将数据元素的存储位置与关键码之间建立确定对应关系的查找技术。

  散列法存储的基本思想是:由节点的关键码值决定节点的存储地址。散列技术除了可以用于查找外,还可以用于存储。

  特点:散列是数组存储方式的一种发展,相比数组,散列的数据访问速度要高于数组,因为可以依据存储数据的部分内容找到数据在数组中的存储位置,进而能够快速实现数据的访问,理想的散列访问速度是非常迅速的。

理想主义者、追求完美、敬业、技术狂、自嘲、偏执等等,也许能把这些符号都集中在一个职业身上,那么一定是程序员。我做察颂启程序员开发多年,对程序员工败如作的热爱是一种发自内心的感觉,也许职业真的能改樱伍变一个人,就像我当年刚参加工作的时候,特别不理解一个老专家对着一台打印机搞到晚上12点,然后一脸的墨水,搞定之后还开心的像个孩子一样,我现在就特别理解,这就是程序员!


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/12487448.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-25
下一篇 2023-05-25

发表评论

登录后才能评论

评论列表(0条)

保存