精华内容
下载资源
问答
  • 软件应用程序就像冰山一样。用户看到的只是应用程序的一部分——在大多数情况下——应用程序的最大部分看不到的。这就是令人难以捉摸又神秘的“后端”。  在Web开发的篇章中,... 后端开发人员这样的开发人员

      软件应用程序就像冰山一样。用户看到的只是应用程序的一部分——在大多数情况下——应用程序的最大部分是看不到的。这就是令人难以捉摸又神秘的“后端”。

      在Web开发的篇章中,我们主要讨论Web开发,因为它涉及与最终用户的直接互动——我们可以称之为“前端Web开发”。

      在大多数应用中,非用户接口代码比用户接口代码多得多。复杂系统是在后台发生的各种使其工作的逻辑。

      我们需要存储和检索数据,需要遵循业务逻辑和规则,并且需要对结果进行预测。所有这一切都发生在幕后。

      后端开发人员是这样的开发人员。

     

    后端开发究竟是什么?

      这篇文章的目的在于,我将会考虑后端开发是一种不涉及创建生成用户界面的开发。这可能包括后端Web开发,可能也涉及编写API,创建库或和没有用户界面或甚至科学编程系统的系统组件一起工作。

      在现实中,即使前端开发获得了大部分的荣耀,但是世界上存在的大多数代码(可以说是最有用的代码)是最终用户从来不会看到的后端代码。

      简单来说,后端开发就是开发人员编写的不能直接看到的代码。

     

    后端开发人员做什么?

      根据正在处理的应用程序的大小和范围,后端开发人员要做的事情有很大的不同。在我是一个后端开发人员时,我做了很多工作,工作于应用程序中的业务逻辑,以及从前端提取和检索数据。

      在Web开发世界中,大多数后端开发人员从事于构建他们正在工作的应用程序背后的实际逻辑。

      通常,前端开发人员构建用户界面,而后端开发人员编写代码,使其工作。

      例如,前端开发人员在应用程序中创建一个界面,上面有一个按钮,按下按钮来获取客户的数据。

      后端开发人员写可使得按钮工作的代码,通过指出从数据库中提取哪些数据并将其传回到前端(并最终显示在那里)。

      后端开发人员也可能会大量参与系统架构,决定如何组织系统的逻辑,以便能够正常维护和运行。

      他可能会参与构建框架或系统架构,以便于更容易编写程序。后端开发人员比前端开发人员花费更多的时间在实现算法和解决问题上。

      我一直都很喜欢后端开发工作,因为它更像一个挑战。

      这并不是说前端开发人员不解决难题,但通常前端开发工作更多的是关于创建用户界面和与之相关的内容,而不是实现实际的业务逻辑,使应用程序工作。

     

    后端开发的主要技术和技能

      前端开发人员需要知道一系列用于创建用户界面的工具,而后端开发人员通常使用的是一套完全不同的工具和技能,以便于高效地完成他们的工作。

      后端开发人员所需的一个重要技能与SQL和数据库有关。大多数后端系统需要连接到存储应用程序数据的数据库。

      后端开发人员通常的工作是从数据库或其他数据源写入、读取和处理数据,因此拥有SQL等技能会非常重要。后端开发人员——至少对于Web开发——也需要擅长他们正在使用的技术栈的服务器端语言。

      例如,虽然前端Web开发人员更多地专注于HTML,CSS和JavaScript,而后端开发人员需要更多地了解PHP Web框架,Ruby on Rails,ASP.NET MVC或任何正用于构建应用程序的服务器端Web开发框架。

      最后,我想说,后端开发人员需要更多地了解应用程序架构,因为大多数情况下,后端开发人员需要去构建应用程序的体系结构和内部设计

      一个好的后端开发人员得知道如何使用各种框架和库,如何将它们集成到应用程序中,以及如何构建代码和业务逻辑,用一种使系统更易于维护的方式。

      如果你喜欢设计应用程序的基础设施,实现算法和逻辑,以及工作于数据,那么你可能会喜欢成为一名后端开发人员。

     

    关于全栈开发人员? 

      我曾想为全栈开发人员另起一篇文章,但后来想到,既然已经涵盖了Web开发和后端开发,那么延伸开去谈论全栈开发更为理所当然,因为全栈开发刚好涉及了前端和后端开发。

      实际上,全栈开发包括处理系统或软件开发堆栈的所有组件和层。它甚至可能涉及了解服务器硬件和架构,或者被认为是DevOps。

      今天,越来越多的软件开发职位在寻找能够进行全栈开发的开发人员,因为对于软件开发人员来说能够工作于涉及的整个技术栈是很有价值的,而不是将前端开发与后端开发兵分两路。

      一部分原因是现在越来越多的应用程序模糊了前端和后端开发之间的界限。

      许多流行的JavaScript框架,如Angular,允许你在系统的用户界面部分中创建可以被视为业务逻辑的大部分内容。

      此外,随着越来越多的团队采用敏捷方法,个体程序员被要求不仅仅能工作于他们的专业领域,因为任务被分配给团队远超过个人。

      我认为成为一个全栈开发人员是有用的——并且你应该充分了解软件的每个层次发生了什么——但我不认为“专业化”全栈开发人员是顶好的主意,因为这不是一个专业领域。

      基本上,你应该专注于获取你可能会用到的最常见的技术栈的广泛知识,但你应该选择一个或两个主要的专业,然后朝着选择的方向真正地去深入钻研。

      所有软件开发人员都应该知道如何创建用户界面,所使用的框架的基础,如何从应用程序中存储和检索数据库中的数据,甚至了解基础设施如何支持软件,他们不需要成为所有所有这些领域的专家,因为这些领域不但相当大而且在不断扩大。

      具备技术堆栈中通用和有效的所有知识或一些领域中的专业化知识或许要好得多。

      然后,你仍然可以称自己为“全栈”,但实际上,对于团队而言,你这样的人才更加有用得多。

    最后,不管你是转行也好,初学也罢,进阶也可,如果你想学编程~

    值得关注】我的 C/C++编程学习交流俱乐部!【点击进入】

    问题答疑,学习交流,技术探讨,还有超多编程资源大全,零基础的视频也超棒~

    展开全文
  • 前端开发与后端开发的区别是什么?...后端开发是什么? 后端也称为“服务器端开发”,在系统“后面”所发生的事情。在后端服务器和浏览器或应用程序之间存储网站、应用数据和中间媒介的服务器都属于后端。在应用程

    前端开发与后端开发的区别是什么?在实际开发过程中,前端开发人员精通JS能熟练应用JQuery,懂CSS能熟练运用这些知识,进行交互效果的开发;后端开发人员会写Java代码SQL语句,能做简单的数据库设计会Spring和iBatis懂一些设计模式等。
    在这里插入图片描述
    前端开发是什么?

    前端称为客户端开发,你可以在应用程序或网站的屏幕上看到的所有内容都属于前端。

    后端开发是什么?

    后端也称为“服务器端开发”,在系统“后面”所发生的事情。在后端服务器和浏览器或应用程序之间存储网站、应用数据和中间媒介的服务器都属于后端。在应用程序或网站的屏幕上看不到的所有东西都是前端的后端。

    前端与后端的区别在这里插入图片描述
    前端与后端技术栈对比
    在这里插入图片描述
    前端工程师在公司中承担的主要职责是利用(X)HTML/CSS/JavaScript等各种Web技术进行产品的界面开发,而界面设计是由美工来做,后台程序是由后端工程师完成。界面设计由UI设计师设计,前端可以完成html+css,后端工程师完成后台程序的开发与javascript开发,前端工程师的职责也就是html+css不必会javascript。

    在前端领域混了这几年,总结了一套前端学习的精讲视频和学习路线,如果有对前端开发感兴趣的伙伴,不管你是想转行,或是大学生,还有工作中想提升自己能力的web前端党,欢迎大家的加入我的前端开发交流群:603985993
    希望大家诚心交流!,与企业需求同步。好友都在里面学习交流,每天都会有大牛定时讲解前端技术!也可以关注我的微信公众号:【前端留学生】
    每天更新最新技术文章干货。

    前端与后端做哪个好?

    除了所涉及的技术之外,对前端与后端开发人员的选择取决于开发人员的关注点。在前端与后端中两者中任何一个基于我们上面谈到的内容都优于另一个,那么这是一个错误的假设。这两个学科非常独特对于构建网站或应用程序同样重要。

    如果对美学和产品的感觉较为敏感,那么倾向于将前端技术作为职业和专业。另一方面,倾向关注提高网站应用程序或软件的效率和响应能力方向应该是后端开发。前端设计师所做的很大一部分工作就是让用户在移动设备或 PC 屏幕上看到的东西看起来都很棒而且易于使用。相反后端开发人员唯一关注的美学是编写干净的代码。

    对于前端与后端的技术要求有哪些?

    前端开发所需的技能:对美学,艺术和设计有很好的理解、了解各种 CMS,如 WordPress,Joomla 或 Drupal、直观的用户需求、PHP 和 OOP 知识(面向对象编程)、专业的质量保证、能够使用 PhotoShop,Sketch 或 Figma 等设计工具、网络托管基础知识等。

    后端开发所需的技能:全面了解第三方附加组件、关于如何调试代码的批判性理解、将客户的业务需求转换为功能代码、了解 Web 服务器配置、兼容外部系统(支付处理,社交媒体网站)、批判性思维技巧、设计用户交互系统等。

    对于零基础人群学前端开发与后端开发的区别:后端开发入门难深入更难,枯燥乏味没有太大成就感看一堆业务逻辑代码;前端开发入门简单先易后难,能看到自己做出来的展示界面有成就感。

    展开全文
  • 更新:2020年5月10号惭愧惭愧,我已经叛逃Python 4年了,加入了Java阵营,主要大数据领域被Java、Scala占领了。工作中真正的核心竞争力还是写出整洁的代码和架构,面向对象的思维(原则与设计),模式的使用。以及...

    更新:2020年5月10号

    惭愧惭愧,我已经叛逃Python 4年了,加入了Java阵营,主要是大数据领域被Java、Scala占领了。

    工作中真正的核心竞争力还是写出整洁的代码和架构,面向对象的思维(原则与设计),模式的使用。以及复杂性解决方法,抽象、分治、领域设计。

    但很尴尬的是这些偏软的东西(思维与设计)比较难甄选,所以面试官还是会通过细节的东西去判断你的能力,如语言的特性,底层的原理,源码等。我始终认为这种面试是不健康的,特定细节的东西可以在使用时再去调研,但解决问题的能力,整洁的代码和架构并不是短期可以突击的。

    希望国内面试能早日实现理性。

    更新:2015年11月

    后记

    最近我也面试了不少童鞋,我发现能达到要求的真的少之又少,很多hr都说Python是最难招聘的岗位,我想是有道理的,这真的很值得我们去深思?

    我想有一部分原因是Python这门语言造成的,会写Python的人很多,但写的好的人很少,大部分都把Python当做脚本来写,缺乏面向对象,模式的思想。想想Java,大家都习惯了接口,实现分离,设计模式在Java中也喊了很多年,尤其是ssh三大框架一出,用着用着就理所当然的认为就该这么做,虽然也有点坏处,但对企业级Java开发无疑是一大进步。

    反观Python,尤其是生成器,协程,元类给Python注入了很大的灵活性,想写的Pythonic有不小难度,但其实Python高级特性就那么几个,干掉了也就没有了。

    当你觉得Python遇到了瓶颈,不妨停下来好好想想。研究研究设计模式,想想重构,了解领域驱动设计,敏捷开发,再回来读读以前写的代码,当眼界变高了,代码也就美了。

    当然思想的提高不是一朝一夕,模式,原则会经常让你纠结,纠结就会思索,思考就走出了自己的路,当然条条大路通罗马。

    数据库等存储技术是研发工程师迈不过的坎,对关系数据库以mysql举例来说,你必须清楚的知道什么字段选择什么类型,类型字节大小,限制条件,这东西也很容易理解,多想想即可,比如set类型,要支持交并等操作,1个字节只能存8个类别。数据类型搞定了,下面就是索引了,mysql索引种类?主键,唯一索引,普通索引。索引类别,BTree索引,hash索引。索引的优缺点,mysql的索引查找原理,join原理(大部分都是nested loop),以及一些特殊的情况,比如mysql子查询慢等。其实到这里研发工程师就差不多,当然你可以继续深入下去,比如读写分离,集群管理,甚至一些参数调优。

    革命尚未成功,同志任需努力!!!!

    更新:讨论区挺热闹,有人说好简单,有人说好难,其实我觉得这只适合面试2~3年工作经验的后端工程师。真的没有问

    很难的题目,只是可能你平时没有注意。

    在这里我推荐几本书吧

    python参考手册,绝对让你更上一层楼

    图解密码技术,密码入门不二之选

    mysql技术内幕第五版,有点厚当手册读读,要有耐心,高性能mysql也强烈建议读读

    effective tcp/ip programming

    为什么评论区有这么大差异?我想是个人经历不一样吧,如果是搞web的对操作系统这块和密码技术会偏弱,但如果是系统工程师或是游戏服务端这块会明显偏强。

    吃午饭的时候我就一直在想这个问题,我觉得重点不是Python而是后端工程师,因为Python只是系统的一部分,linux基础操作要熟吧,sql要懂吧,消息队列要知道吧,git要熟悉吧......木桶理论,每一环都不能落下,精通其中一两环就更好了。基础功扎实,新东西学得快,代码写得溜,命令敲得顺,bug解的好,妈妈再也不用担心我天天加班了~~~

    一.语言

    1.推荐一本看过最好的python书籍? 拉开话题好扯淡

    2.谈谈python的装饰器,迭代器,yield?

    3.标准库线程安全的队列是哪一个?不安全的是哪一个?logging是线程安全的吗?

    4.python适合的场景有哪些?当遇到计算密集型任务怎么办?

    5.python高并发解决方案?我希望听到twisted->tornado->gevent,能扯到golang,erlang更好

    二.操作系统

    可以直接认为是linux,毕竟搞后端的多数是和linux打交道。

    1.tcp/udp的区别?tcp粘包是怎么回事,如何处理?udp有粘包吗?

    2.time_wait是什么情况?出现过多的close_wait可能是什么原因?

    3.epoll,select的区别?边缘触发,水平触发区别?

    三.存储

    存储可能包含rdbms,nosql以及缓存等,我以mysql,redis举例

    mysql相关

    1.谈谈mysql字符集和排序规则?

    2.varchar与char的区别是什么?大小限制?utf8字符集下varchar最多能存多少个字符

    3.primary key和unique的区别?

    4.外键有什么用,是否该用外键?外键一定需要索引吗?

    5.myisam与innodb的区别?innodb的两阶段锁定协议是什么情况?

    6.索引有什么用,大致原理是什么?设计索引有什么注意点?

    redis相关

    1.什么场景用redis,为什么mysql不适合?

    2.谈谈redis的事务?用事务模拟原子+1操作?原子操作还有其它解决方案吗?

    3.redis内存满了会怎么样?

    四.安全

    web安全相关

    1.sql注入是怎么产生的,如何防止?

    2.xss如何预防?htmlescape后能否避免xss?

    3.csrf是什么?django是如何防范的?

    密码技术

    1.什么是分组加密?加密模式有哪些?ecb和cbc模式有什么区别?为什么需要iv向量?

    2.简单说说https的过程?

    3.对称加密与非对称加密区别?

    3.如何生成共享秘钥? 如何防范中间人攻击?

    五.杂

    是否关注新技术啊?golang,rust是否了解?numpy,pandas是啥鸟?

    是否紧跟时代潮流?逛不逛微博,刷不刷知乎?

    可能你觉得我问的好细,但这好多都是平常经常遇到,并需要解决的,细节更能体现一个人。

    展开全文
  • JAVA 开发工程师笔试题 应聘机构 姓名 日期 得分 一 基础题 1. 请写出以下代码的打印结果 4 分 public static void main(String[] args) { String str = "welcome2sohu; str.replace"e"E; System.out .println(str; ...
  • 前端写好前端的接口比如下面这个全局js中的方法,可以随时进行修改域名与下一级路径 后端就写好api文档,比如说/shoji/list就个返回了什么数据 这时候就要和前端的人进行对接接口了

    前端写好前端的接口比如下面这个全局js中的方法,可以随时进行修改域名与下一级路径
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    后端就写好api文档,比如说/shoji/list就个返回了什么数据
    这时候就要和前端的人进行对接接口了

    展开全文
  • 用大白话告诉你 :Java 后端到底做什么

    万次阅读 多人点赞 2019-08-05 23:19:13
    阅读本文大概需要 6 分钟。 作者:黄小斜 ...新手程序员通常会走入一...准确点来说,Java后端到底在做什么? 大家都知道 Java 一门后端语言,后端指的就是服务端,服务端代码一般运行在服务器上,通常我们...
  • 在去年结束的秋季招聘中,后台开发或者服务器开发的岗位需求一度火爆,甚至超过了算法的岗位。很多同学在诸神黄昏从算法岗战场退下来,...同样,无论从事什么样的岗位,首先要的就是掌握语言基础。 C++一种深奥的编
  • 编程之JAVA后端开发与python后端开发的区别及类的方法技巧[图] 今天总算闲了一会,趁着这个闲暇来写篇文章。 今天我想以个人观点来简单说说Java后端开发和Python后端开发的区别。 Java&PythonBackEnd 公众号老粉...
  • 前端开发主要用户能看到的展示页面,后端开发做的主要逻辑功能等模块,用户看不到的。用一句话来说就是用户能直接通过屏幕看到的激素前端,看不到的那些就是后端了。 编程语言不同。前端的代码主要在用户...
  • 一、后端开发基础知识掌握如何?...作为应届毕业生,可能企业不会期望你进到公司就可以项目,但是一些后端开发所会涉及的基础知识肯定需要你具备的。因此对自身的能力进行评估,不但可以帮助你进行查漏
  • 后端程序员都做什么

    2018-08-09 15:05:54
    我刚开始Web开发的时候,根本没有前端,后端之说。   原因很简单,那个时候服务器端的代码就是一切:接受浏览器的请求,实现业务逻辑,访问数据库,用JSP生成HTML,然后发送给浏览器。   即使后来Javascript...
  • 目前,直播应用于各大平台,可谓...于是上网搜索,有人说,后端不需要做什么,这些大部分APP端(安卓和IOS)的事,后端仅需要在表里存一下推、拉流地址,就行了。可真的这样么,当我开发完百分之九十的东西...
  • 我为什么这么说呢,先别怼我,压制你心里的怒火,继续往下我先问大家一个问题,为什么中国人用刀又很容易上手的一件事情,而外国人用筷子,应该他们在中国吃饭时最痛苦的一件事情吧。为什么会这样呢?其实原因非常...
  • 目前在做一个大创项目,主要是做一个手机app,但是一个APP的后端到底是做一些什么工作,希望各位前辈可以指导一二
  • Web前端和后端开发的区别和要求

    万次阅读 多人点赞 2018-10-10 15:06:09
    Web前端和后端开发的区别和要求 有时候自己会分不清,其实因为前后端都了解,类似于全栈工程师,但又什么都不是很精通。那到底什么是前端、后端呢,我整理了一些企业要求级别的前端/后端基础,开发框架等。 ...
  • 前两天,在群里收到一个群友...之前有许多读者会在微信上问我,「自学 Python 后端开发什么程度才可以出去找工作?」,由于我本人不从事后端开发,所以无法给出合理的建议。正好借着强哥这篇经验分享,希望能给大...
  • 一文看懂Web后端开发

    2021-03-20 23:53:34
    由于网络上系统地介绍后端开发的文章实在太少,而最近有恰巧有许多同学问我“什么是后端开发?”、“你为什么喜欢后端开发?”、“后端都需要学什么?”,那么我们就来讲一讲,到底什么是后端开发。 定义 后端...
  • web前端开发工程师负责交互设计的,需要和程序猿进行交互设计的配合。 web前端需要掌握的有脚本技术javascript DIV+CSS现下最流行的页面搭建技术,ajax和jquery以及简单的后端程序等。 ...
  • 首先,网页设计师对网页的架构、色彩以及网站的整体页面代码负责,网页美工只针对UI设计,比如网站是否的漂亮,Web前端开发工程师负责交互设计的,需要和程序猿进行交互设计的配合。 出色的Web前端开发工程师...
  • 后端开发入门

    千次阅读 2019-03-27 21:57:05
    因为课程需要我们一个项目,没有要求是什么程序,我们小组暂定商议为一个安卓程序,又鉴于我没有学过安卓开发,又感受到后台开发的内容自己基本没有接触到过,所以自告奋勇来写后端的内容,这个教程主要参考了b站...
  • 漫谈Go语言后端开发

    万次阅读 2019-02-14 21:47:08
    什么使用Go语言做后端开发? 简单高效:几乎所有主流的编程语言如Java、C++、PHP、Python、JavaScript等等都可以用于服务端开发的,Go语言作为后起之秀,在语言层面具有语法简洁、执行效率高(底层语言)的...
  • 准确点来说,Java后端到底在做什么? 通俗来讲 大家都知道 Java 一门后端语言,后端指的就是服务端,服务端代码一般运行在服务器上,通常我们运行Java 程序的服务器都 Linux 服务器。 这...
  • 前端开发和后端开发是软件开发的重要组成部分。前端开发主要的是用户所能看到的前端展示界面;后端开发主要的是逻辑功能等模块。要问哪个辛苦加班多?其实都差不多,毕竟技术研发行业都不会太轻松。 前端开发...
  • web前端分为网页设计师、网页美工、web前端开发工程师首先网页设计师对网页的架构、色彩以及网站的整体页面代码负责网页美工只针对UI这块儿的东西,比如网站是否的漂亮web前端开发工程师负责交互设计的。...
  • 前两天,在群里收到一个群友...之前有许多读者会在微信上问我,「自学 Python 后端开发什么程度才可以出去找工作?」,由于我本人不从事后端开发,所以无法给出合理的建议。正好借着强哥这篇经验分享,希望能给...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 2,146
精华内容 858
关键字:

后端开发是做什么的