首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    小白零基础编程到大佬级别是怎么学习Python的?

    程序员在普通人眼里就像魔法师,一个脚本轻松抢几十盒月饼(虽然最后被开除),一个插件解决春运抢票难题,几十行代码搭建一个 Web 网站,用微信自动和妹纸聊天,在程序员眼里这些事太稀松平常了,他们只不过是利用编程语言指挥计算机去自动完成一些需要人类重复操作的繁琐过程,等你会编程也就不觉得大惊小怪了。 📷 有些人学习编程刚一开始头脑发热,买了很多书,下载很多视频,收藏上100G的资料,没过几天,热情就褪去了,最后完成了从入门到放弃的全过程,究其原因主要是缺乏清晰的目标,没有方向,或者方向不明确。如果你真正想把编程

    08

    面试 Linux 运维工作至少需要知道哪些知识?

    作者:defcon来源:马哥教育链接:https://mp.weixin.qq.com/s/ZocozTkCNViMAtZIr7C7ww前言我们已经发过不少 Linux 面试题,但是单独的面试题总感觉会过于零碎,没有体系化内容给人的帮助大。知乎上有这样一个问题:一个新手面试 Linux 运维工作至少需要知道哪些知识?其中有一个答案对这一话题的解读非常深入,今天特别分享给大家。一、什么是大型网站运维?首先明确一下,全文所讲的”运维“是指:大型网站运维,与其它运维的区别还是蛮大的;然后我们再对大型网站与小型网站进行范围定义,此定义主要从运维复杂性角度考虑,如网站规范、知名度、服务器 量级、pv量等考虑,其它因素不是重点;因此,我们先定义服务器规模大于1000台,pv每天至少上亿(至少国内排名前10),如sina、baidu、 QQ,http://51.com等等;其它小型网站可能没有真正意义上的运维工程师,这与网站规范不够和成本因素有关,更多的是集合网络、系统 、开发工作于一身的“复合性人才”,就如有些公司把一些合同采购都纳入了运维职责范围,还有如IDC网络规划也纳入运维职责。所以,非常重要一定需要明白:运维对其它关联工种必须非常了解熟悉:网络、系统、系统开发、存储,安全,DB等;我在这里所讲的运维工程师就是指专职运维工程师。我们再来说说一般产品的“出生”流程:1、首先公司管理层给出指导思想,PM定位市场需求(或copy成熟应用)进行调研、分析、最终给出详细设计。2、架构师根据产品设计的需求,如pv大小预估、服务器规模、应用架构等因素完成网络规划,架构设计等(基本上对网络变动不大,除非大项目)3、开发工程师将设计code实现出来、测试工程师对应用进行测试。4、好,到运维工程师出马了。首先明确一点不是说前三步就与运维工作无关了,恰恰相反,前三步与运维关系很大:应用的前期架构设计、软/硬件资源评估申请采购、应用设计性能隐患及评估、IDC、服务性能\安全调优、服务器系统级优化(与特定应用有关)等都需运维全程参与,并主导整个应用上线项目;运维工程师负责产品服务器上架准备工作,服务器系统安装、网络、IP、通用工具集安装。运维工程师还需要对上线的应用系统架构是否合理、是否具备可扩展性、及安全隐患等因素负责,并负责最后将产品(程序)、网络、系统三者进行拼接并最优化的组合在一起,最终完成产品上线提供用户使用,并周而复使:需求->开发(升级)->测试->上线(性能、安全问题等之前预估外的问题随之慢慢就全出来了)在这里提一点:网站开发模式与传统软件开发完全不一样,网站一天开发上线1~5个升级版本是家常便饭,用户体验为王嘛,如果某个线上问题像M$ 需要1年解决,用户早跑光了;应用上线后,运维工作才刚开始,具体工作可能包括:升级版本上线工作、服务监控、应用状态统计、日常服务状态巡检、突发故障处理、服务日常变更调整、集群管理、服务性能评估优化、数据库管理优化、随着应用PV增减进行应用架构的伸缩、安全、运维开发工作:a 、尽量将日常机械性手工工作通过工具实现(如服务监控、应用状态统计、服务上线等等),提高效率。b、解决现实中服务存在的问题,如高可靠性、可扩展性问题等。c、大规模集群管理工具的开发,如1万台机器如何在1分钟内完成密码修改、或运行指定任务?2000台服务器如何快速安装操作系统?各分布式IDC、存储集群中数PT级的数据如何快速的存储、共享、分析?等一系列挑战都需运维工程师的努力。在此说明一下其它配合工种情况,在整个项目中,前端应用对于网络/系统工程师来说是黑匣子,同时开发工程师职责只是负责完成应用的功能性开发,并对应用本身性能、安全性等应用本身负责,它不负责或关心网络/系统架构方面事宜,当然软/硬件采购人员等事业部其它同事也不会关心这些问题,各司其职,但项目的核心是运维工程师~!所有其它部门的桥梁。上面说了很多,我想大家应该对运维有一些概念了,在此打个比方吧,如果我们是一辆高速行驶在高速公路上的汽车,那运维工程师就是司机兼维修工,这个司机不简单,有时需要在高速行驶过程中换轮胎、并根据道路情况换档位、当汽车速度越来越快,汽车本身不能满足高速度时对汽车性能调优或零件升级、高速行进中解决汽车故障及性能问题、时刻关注前方安全问题,并先知先觉的采取规避手段。这就是运维工作~!最后说一下运维工程师的职责:”确保线上稳定“,看似简单,但实属不容易,运维工程师必须在诸多不利因素中进行权衡:新产品模式对现有架构及技术的冲击、产品高频度的升级带来的线上BUG隐患、运维自动化管理承度不高导致的人为失误、IT行业追求的高效率导致流程执行上的缺失、用户增涨带来的性能及架构上的压力、IT行业宽松的技术管理文化、创新风险、互联网安全性问题等因素,都会是网站稳定的大敌,运维工程师必须把控好这最后一关,需具体高度的责任感、原则性及协调能力,如果能做到各因素的最佳平衡,那就是一

    02

    你只是想学好linux而已

    这段时间收到了很多学员关于学习上的疑惑,在这些疑惑当中有80%是关于学习方向的疑惑。比如: 1. 我想学好Linux ,是不是应该先学好英语? 2. 我要学习Linux该从那个系统开始,是centos,还是redhat? 3. 我已经学习了redhat,但是看网上有人提到ubuntu,我是不是应该学习下? 4. 我是不是应该把Python顺便学习下? 5. 我学centos6的版本还是7的版本呢,是不是公司里7会用的越来越多了? 诸如此类的问题,这些问题我通常把他归为学习方向的疑惑,或者用个词来概括的话,就是意志力薄弱。 诚然会英语会对你学Linux有帮助,但是如果你把学不好Linux归结为英语不好,就有点南辕北辙了。 随便百度下,你就会看到,各行各业都有人问同样的问题,比如我要学钢琴,是不是应该先从简单的葫芦丝开始学起? 又或者我要学西红柿炒鸡蛋,是不是应该先学会刀工和掌勺技巧,或者把选锅技巧学习下? 那些问 今年18岁还适不适合学Linux的人,以及那些再问 已经26了是不是还能学会编程的人,很多时候他们其实是在问 “是不是有人跟我一样的年纪,比我还笨,但是学会了这门技术?如果有的话帮我举个例子” 说到底这是一种不自信的表现。 学习任何一门技能,学到底都是孤立的一门技能而已,比如Linux,你需要学习Linux系统基础操作,需要学习服务搭建,需要使用这些服务完成架构,需要用这些架构完成更复杂的内容。 每一个模块你都可以认为是独立的,不学Linux基础,一样可以学会数据库,不学数据库一样可以学会服务搭建,不学基础服务搭建一样可以学会架构。 区别只在于如果你没学Linux基础,可能学服务的时候就需要多花些时间弄明白每条命令的作用。 很多人所推崇的从项目开始学编程,也是有道理的,比如你学习SSH框架去做一个OA系统,在做项目的同时遇到啥就不懂,就去补相应的知识就可以了。但是这种方式唯一的不合理就在于违反了人类从容易到困难的学习过程,其实说白了就是信心容易受挫,导致学习的过程容易放弃而已,只要你能坚持下去那你进步是飞快的。 学习系统运维其实跟弹琴的道理是一样的, 技术的学习是手艺而不是知识,如果你要学习知识,可以从系统原理开始学起,先研究计算机原理,在学习编译原理一步一步来,可问题是你不需要懂编译原理,计算机原理,一样可以学习操作Linux。这就像学钢琴,一开始只要记住每个键代表哪个音,然后照着老师讲的弹一遍,比如弹一首最入门的《爱的罗曼史》,直到练熟在进行下一首。音乐基础知识也是老师在练琴间隙传授的, 手艺的好处就是以动手练习为主,看书学习为辅,甚至极端点,初学的时候除了看必要的文档都可以不看书,等有了一定编程基础后再去看书,看完书立刻动手编程去验证书上的理论知识。 所以从现在起不要再去问文章一开始的那些问题了,最应该做的事情就是从现在起开始练习,不停的反复练习。手艺唯一的不好就是在入门的时候需要找人指导,入门了也就可以自己快速学习了。 如果你对于学钢琴不太熟悉,可以想下你当年是如何学会打篮球踢足球的,你从来没问过要学会打篮球是不是应该买个溜溜球先熟悉下,或者我要学习打篮球是不是先从篮球的发展史开始学起,又或者我要学习打篮球是不是应该先学会如何选择篮球场地。 这些你从来没考虑过,而是直接开始打,在打球的过程中喜欢上这个运动,然后慢慢了解篮球的技巧。 所以那些与Linux无关的问题可以不用考虑,从现在开始持续大量的练习,毕竟你只是为了学好Linux而已。至于要不要在学完Linux之后在学Python,学GO ,考虑这个问题前请先学会Linux,否则一切都没有意义。 从更深层次的动机来看,学会Linux,只是为了找个好工作而已,于是你可以自己去看招聘网站,招聘的公司需要什么技能,不需要什么技能一目了然,学习的时候有侧重点会事半功倍。进入公司之后根据自己和公司的目标进行合理的规划,看自己需要精转哪一个方向。 很多时候的很多事情,最重要的不是如何做,而是勇敢的迈出第一步,哪怕你没有看到台阶。摔倒了不可怕,可怕的是你苦苦等待,一直没有开始。我就曾经遇到过一个朋友,从08年开始问我要不要学习做网站,是不是已经过时了,一直问到了2017年,很幸运,在2017年下半年他终于下定决心开始学了,现在已经毕业。在他们老家也找到了一份收入不算太高,但确实是自己想做的工作。 梦想,啥时候开始都不晚,最关键的问题是你得开始。从今天起请把心思放在大量练习和学习Linux上,而不是如何学习Linux上,因为你只是想学会Linux而已,并不是要研究Linux该如何学习。

    03
    领券