学习分享

永远保持热爱

Git指令的用法

工作原理 workspace:办公区 index:暂存区 repository:本地仓库,即本地代码 remote:远程仓库,一般用于代码协同,代码备份 安装Git 在本地安装git 官方地址: [https://git-scm.com/download/win](https://git-scm.com/download/win) 选择版本并适合的安装包进行下载安装 之后一路next(最好不要设置安装路径,使用默认路径),等待安装完毕,在安装时可以把添加系统变量的勾选上,如果没有勾选也可以自己设置 在系统变量Path里加上一行 在cmd中输入git -v测试是否正常安装 创建项目 对git指令进行练习,在实际项目开发过程中,通常是以团队形式进行开发,所以代码需要放在代码仓库中,方便管理代码以及代码备份 创建django项目,使用pycharm迅速创建一个项目 需要注意的是,django会存在着许多自动生成的文件,这些文件通常不进行更新 本地仓库用于同步代码,将代码上传 在代码文件目录中,使用git创建一个代码仓库用于管理代码,同时也在github或gitee上进行代码同步。 操作流程 使用git将代码提交到仓库中 1、将目录改变成git能够用于管理的目录 git init:初始化 初始化完毕后,目录中就会多一个文件夹.git目录,该目录下的文件不能随意改变,里面是一些git的基础配置文件 2、将代码文件添加到暂存区 git add <filename>:将文件添加到暂存区 git add .:将所有文件添加到暂存区 添加后,不会有任何提示信息 3、查看当前目录状态,将对发生改变的文件进行下一步操作...

January 18, 2024 · 2 min · 398 words · nbdj

2023 年度总结  [draft]

在即将步入2024年之前,随笔将今年做个总结,分析现况,梳理方向。 命运多舛 今年年初,期待的工作即将转正,一切显得顺利步入正轨,正要大展身手书写壮志豪情,但一切过的太顺利了,顺利的不像我的命运;这一份工作是我所学专业得到实践的第一份正式工作,我非常顺利的入职了专业对口的工作,并且在没有做出特别贡献的前提下,被告知即将转正;远离家乡只身前往杭州,也终将得偿所愿,能够在刚毕业就安定在杭州从事专业对口的工作,但命运多舛。 转正无望 ● 在被告知没有转正名额时,仿佛大梦初醒,光彩的泡沫瞬间破灭,这便是社会教我的新一课,在没有纸面承诺即签订合同前,任何口头承诺都是虚假的。在达成目标前,永远要留有后路,不能盲目背水一战,即使知道后果也要有能够承担的资本,在绝对的个人利益面前需要做万全准备。 ● 在被告知无法转正后,我依然有着一些其他的工作机会,但是总不满足于现状,认为还能够去到更好的岗位和公司,但是野心必须匹配能力,即使信心十足,但不能过于好高骛远,盲目的自信和短浅的目光迫使得到了这个结果。 调动岗位 ● 最开始入职的职位是系统运维,在转正失败后,调整到应用运维,需要前往项目驻地成都,待遇与福利瞬间降了不少,同时工作氛围的转变让我也难以短时间忍受,同时另外的一家公司向我抛来了橄榄枝,最后在成都待了8天后,选择去了广州,直到这个时候,我的工作还没有确定下来,因为我太想十全十美了;当能力匹配不上当前的待遇时,我便会心神不定,但我不想安与现状,想要争取到更好的生活。 体验实习 ● 离开成都后,我来到了广东黄埔,公司的环境再次发生了天翻地覆的改变,衣食住行不在成为每月头疼的问题,随之多了工作上的压力,当我感到压力剧增,让我不得不反问自己,我真的可以吗?面对学历和技术上的巨大差距,我真能够成功吗,我开始质疑自己,若仍然没有转正成功,我真的能承受这样的结果吗? ● 体验实习的结果是失败的,为时一个月的时间,前往广州体验了大厂的运维生活,美好中夹在着许多无奈;回忆起实习生活,朝七晚八,不见天日,是绝大部分工作的真实写照;即使存在上下班不打卡,乘坐公司出行班车,自助米其林三星餐厅等等福利,但总有一种无形的巨大压力压得我喘不过气。 毕业季 在2023年,我即将结束16载的求学生涯,正式由学生身份转别为社畜,再也不受校园条条框框的拘束,更是将直面职场,如何将工作变得有意义变得尤为重要。 结束校园生活 ● 在结束了体验实习后,我坐上了返回学校的火车,面对这次的实习考核,心中早已有了答案,但却依然想确认这个悲伤的结果,回到学校后,需要开始为毕业做准备,但我不能自暴自弃,我需要找到一个能够稳定的工作并计划考虑后续的方向发展;尽快调整状态继续面试,争取在毕业之前确定工作。 正式入职 在经过一段时间的面试,很快便有了一家公司给我抛来了橄榄枝,免得夜长梦多,我便正式入职了 服务台 ● 服务台,第一次听说这个岗位,是关于云产品告警工单的处理,与其说是处理不如讲是按照不同告警通知不同运维处理,对告警进行初次过滤(人工过滤);为什么不直接通知运维呢?我一开始就有了这个疑问;工作一段时间后,服务台作为工单的第一线,需要对告警进行分类、分配、追踪、以及处理结果的跟进,同时对于客户的告警二次筛选,为什么是二次呢,就是从人工的角度判断该告警是否为重要需要立即处理的,降低运维工作的重复性。 迷茫人生 在毕业半年后,我参加工作已长达半年,最大的收获仿佛谈不上来,技术能力上的增强远不及大学时期的自学,倒是实力还在退步,也少了很多的耐心 ●

January 3, 2024 · 1 min · 29 words · nbdj

我在CVTE体验实习

在秋招的尾巴抓住了CVTE的校招,在经过三轮的笔面试后,我拿到了CVTE的体验实习offer,虽然是体验,但仍旧在秋招的末尾给了我一次机会,我毅然决然的辞去了已经稳了的工作,只身前往广州;当然再次之前CVTE已经把来回车票、住宿吃饭全部都解决了,带来的福利也是非常的nice。 奔赴广州 在杭州实习了半年的系统运维,由于某些原因,在23年初时被调去成都应用运维,但由于CVTE的实习通知,在成都工作不满十日后,我毅然辞职,从成都奔赴广州。 在牛客网上认识了一个朋友,在广州碰面一同前往CVTE,很愉快的办理了入职以及入职培训,结交到了很多厉害的朋友,但在与我同一期入职的30多人中,运维岗的小伙伴却只我一人。 步入部门 实习的岗位依然是系统运维岗。 到部门,首先与组内成员相互认识后,就为我布置了实习考核任务,在一个月的时间内需要完成三个大任务的考核答辩,在月底需要对学习成果做一个汇报;拿到考核任务的那一刻,我意识到我只能拿出自己的全部去向着目标奋斗才不会被淘汰。并且当时的我手上也没有其他选择了,压力也非常大。 考核任务 总共三个大任务,其中对k8s事件看板与主机系统日志采集这两个任务我以前从未接触,对于K8s也是早有耳闻,但我对其一直胆怯学习,认为太难并不能学会,一直逃避;但在本次任务考核中却要在不同维度对其做事件看板,通过看板反映出集群的健康状态,这无疑是对我一个非常大的挑战。 对于主机系统日志采集,我更是没有听闻,对此没有丝毫头绪;后来我得知便是很著名的ELK日志采集方案,Elasticsearch+Logstash+Kibana,即对主机系统日志进行采集收集并可视化分析。 最后一个任务看似复杂,但我曾经也部署过监控产品,对此调用API进行返回数据还算有着信心。后面发现腾讯并没有关于获取过期时间的接口,只能去查找接口,查看哪些接口能够对过期时间进行返回;但是对于prometheus却是第一次接触,之前都是对zabbix进行配置和部署,对陌生的组件充满着害怕。 但是我当时已经放手一搏了,拿出自己的全部精力去学习陌生的组件,反复做着实验,不断总结经验,整理笔记;即使最后结果不如意,但我也能做到问心无愧,自己做出的选择必须承担起后果。 每日汇报 在每天下班前都需要向组长提交一份工作总结,需要写上完成进度以及处理问题的过程 我使用的语雀的模板进行填写,包括任务进度、相关进度、困难难点以及明日计划。 第一印象 在来到CVTE的第一周,也算是第一次到一新城市体验打工生活,坐上了以前羡慕的到厂班车,住上了三星酒店,就连吃饭也是三星米其林自助。真就吃住行全搞定,只需要一心在产业园中为老板打工;另外在除了以上这些福利外,实习工资也有着6k,哈哈当时的实习工资已经与我现在的正式工资差不多了。 餐厅绝对是top1的存在,网上也对CVTE的看法褒贬不一,但无一例外的就是对餐厅全是好评,一日三餐全是自助餐,畅吃畅饮,甚至餐后水果,主题美食等等一应俱全。 小组成员各个技术栈丰富,每人专项都不相同,各自邻域的大佬,云计算、系统、网络、自动化、数据库、大数据几大方向雨露均沾,小小的六人团队却负责这全公司第一大业务的所有系统运维工作,可想个人能力的优秀程度,同时也使我压力倍增,我曾一度怀疑自己是不是全靠运气才能与这些优秀的能力强人一起共事。 考核 考核的三大任务,其中两大任务没有接触过,所以对我而言,是一个很大的挑战,在一个月的考核时间内我需要通过自我学习完成对K8s、ELK这两大产品组件进行学习,并且还能够搭建出实验场景。 我先对三大考核指标的难易程度进行定义,再按照难易程度进行任务排序,我选择先面对最难的部分,因为耗时可能最大,需要花很大精力去完成考核任务,但同时也对我的自身能力的提升以及信心的建立有着很大帮助。 优先学习kubernetes,使用minikube工具模拟单节点集群的实现;同时后面的主机系统日志采集,ELK也是可以通过容器的方式进行部署,不只是学习这些组件,也能够使用组件完成一定的服务。 我先是在网上寻找搭建教程,自己跟着去操作,但难免一些步骤会操作失败,持续排错,一边摸索一边实验,也为自己积累下了知识体系,渐渐的对一些业务的部署流程开始熟悉,其工作原理以及部署方式都有了新的认识。 在考核时间一半的时候,完成了对三个任务的基本构建,计划在后半月时间内不段完善进行优化方案,并制作项目汇报PPT对所得成果进行汇报;当时汇报结束后,考核导师对此还算满意。 但在后面的考核中,优化方案就遇到了种种问题,例如在完成了对ELK方案的搭建后,没有事先了解组件不同版本之间的功能差异,导致搭建的方案在现实环境中,实际上已被淘汰了,迫使我进行升级组件,但在升级的过程中还需要对已经采集到的数据进行保存,防止数据被删除,造成业务不可用,需要制定回滚方案。 在对腾讯云过期时间的监控上,想到调用腾讯API,但腾讯却并没有关于过期时间的接口,需要通过另外接口实现此功能,于是我使用python写了一个脚本实现了exporter并通过prometheus+alertmanager实现了webhook的方式告警到企微。 虽然完成任务的过程比较坎坷,但最后依然成功完成了我自己较为满意的搭建方案,也算是达到了当时自身学习与技术能力上的顶点,在对方案搭建的选型以及搭建过程和问题解决全是独立解决完成,对于我个人而言,算是完成了这次考核。 考核结束 在经过一个月的时间,我成功的完成了对三大任务的搭建,并输出了考核文档,同时在结束时,制作了汇报PPT进行答辩,但最终的结果是遗憾的,并没有得到组长的认可;是我汇报答辩的失败还是我方案搭建的错误,又或者是我缺少及时的沟通,原因我不得而知,但都是我自身实力与企业能力的不匹配的验证。 但我并不后悔放弃了之前辞去工作的冲动,在这短短的一个月时间里,结实了很多非常优秀的朋友,体验了大企业的企业文化以及工作压力,带给我的不仅是对技术能力的进步,还有优良习惯的养成,同时也扩大了眼界。 最后,此文仅作为对本次考核的记录,同时也激励我在以后工作过程不断前进。

August 23, 2023 · 1 min · 32 words · nbdj

2022 年度总结  [draft]

2022-年度总结 2022年即将结束了,我来总结一下这艰难但幸运的一年。 上半年 在今年一月时,仍处于学校中,正期待着在学校过第一个新年;疫情不断侵蚀着时间,正邻近过年时,教育部发布了关于学生回家过年的通知;这也是我继新生时期,第二次坐上了学校的校车,早上4点半就乘坐着校车来到了火车站,第一次看见火车站中有如此多的大学生,大家都怀着激动的心情踏上了回家的路,也正是教育部的通知,也使回乡的学生没有被阻拦,我也顺利的回到了家。 就是这样一个背景下,我第一次编辑了我的个人简历,并向着一些公司开始投递,身边同学也陆续的收到了一些实习单位的聘用书,我便加速了自己的投递行程,但由于个人能力的不足和周围人陆续实习的消息带来的精神压力,迫使我放弃了继续投递的计划;于是我选择继续沉淀自己,提升个人能力重新规划投递日程。我决定前往学校。 当时去往学校的只有我和另外一个室友,校园里人也是出奇的少,仿佛还沉浸在人走茶凉的萧条之中,很多窗口因为疫情的原因也没有开业,人员的稀少代表着可以无限的狂欢,再也没有身旁的压力,没有学业的压力,我可以放轻松了。但我忘计了我什么时候开始紧张的呢。校园很安静、食堂很安静,宿舍也很安静,在这如此的安静下我害怕了,害怕对自己未来的阴暗,害怕家人对自己的失望。于是我又开始构思起我的学习计划:“必须有压力才能有动力!”,可是面对着这美好的时光,谁又能够轻松的踏出舒适圈呢。 当时正值3月,有计算机三级的考试,我拉着室友一块报了计算机三级,两个人很快进入状态进行备考;但很快,取消考试的消息传来了,继续打乱着短暂的计划,但我又得知软考的报名开始了,由于我在21年的时候就了解过软考,并得知备考软考中级可能需要半年时间;所以我犹豫了,因为上半年的软考5月底开始,当时距离考试只有差不多两个月时间。“必须有压力才能有动力!”,于是在报名的最后一天里,我报名了软考中级-网络工程师的考试,也正是这一考试改变了我的学习计划;同时,为了使自己更加的忙碌起来,我和舍友一起报名参加了中国高校计算机大赛-网路技术挑战赛。接下来每天除了打游戏,吃饭,睡觉多了一件事情备考。后面的日子就是复制粘贴,偶尔解决下学校的事情。在这期间我也没忘毕业项目的准备,因为选题会等到大四才会开始选题,我也只是想为毕业项目做好铺垫积累,于是自己琢磨起了图书馆座位预约系统,因为在寒假除了投递简历,我还学习了django的项目框架,打算使用django编写一个系统。所以项目就顺理成章的开始了,承接着我的空档期(打游戏,吃饭,睡觉,备考)。 那一段日子过的很充实,但同时上半年也这样结束了。 下半年 经过上半年的沉淀积累,下半年正是检验成果的时候,我继续在投递简历,最终进入了于杭州的一家公司做实习工作。 7月份开始了实习生活,进入实习后,就走向了运维的学习路线,在之前网络的基础之上不断地接触服务器、底层网络设备、机房、监控等等。同时也从公司前辈学习到非常实用的工作技巧,提升个人能力的同时,也加强了在实际工作中的实际运用。 同时,我也感谢自己能在上半年做了很多事情,使我在下半年的事情变得更加轻松。 我得到的 很巧的是,在论文选题时,我也选到了图书馆座位预约系统,也是成功的将我的毕业设计提前完成了。 我失去的 23年展望 2023年是我正式从学生转变为社畜的第一年,希望能够正式应对着我的打工首年。 完成学业 23年6月份,正式毕业,走向社会,争取完美结束我的学生生涯;学生时代即将结束,也代表着享受国家福利的结束。 顺利入职 希望能够进入企业中深入学习,争取在运维体系中挣得一亩三分地。 技术进步 软考高级-网规、红帽中级、[hcip]

December 30, 2022 · 1 min · 23 words · nbdj

Python高阶编程  [draft]

生成器 边循环边计算在需要按照一定规律生成列表时,则可以在循环的过程中推算出下一个元素,从而就不需要创建列表,节省空间,不在定义时创建列表,而是在调用时开始创建,并不会存储在内存中。 (i for i in range(1,10)),只有在调用时才会进行创建 1 2 3 4 5 6 7 >>> a = [i for i in range(1, 10)] >>> print(type(a), a) <class 'list'> [1, 2, 3, 4, 5, 6, 7, 8, 9] >>> b = (i for i in range(1, 10)) >>> print(type(b), b) <class 'generator'> <generator object <genexpr> at 0x7f5cd975b6f0> 注意:a类型为list,若将()改为[],则会生成一个列表 b类型是generator 创建生成器 使用列表生成式创建 将[]改为(),就能够创建生成器 1 2 3 4 a = [i for i in range(1, 5)] # a = (i for i in range(1, 5)) b = [j/2 for j in range(1, 5)] c = [[n] for n in range(1, 5)] d = [{'number': m} for m in range(1, 5)] a = (i for i in range(1, 10) if i % 2 == 0) 使用yield关键字 在创建函数时,若存在yield关键字,那么该函数就是一个generator;则在调用该函数时,会返回一个生成器对象...

November 18, 2022 · 3 min · 487 words · nbdj