传智播客讲师

科里(右边是我!)和杰夫(犯罪伙伴)在编码训练营Fullstack Academy录制Tech'd Out。

披露: Fullstack学院 编码集训,此前曾赞助黑客中午。

我是Corey Greenwald,我和我的犯罪伙伴Geoff Bass是纽约市Fullstack Academy的讲师。 在我们多年的教师和开发商,我们已经认识到,知道如何计划是不是所有有对编程的想法 。 要查看整体情况,您需要了解技术的历史以及事物以其工作方式运作的原因 。 因此,我们开始了一个名为Tech'd Out的播客,以帮助您了解编程的对象,内容,时间,地点和原因,以及您对编程方法的了解。

在Tech'd Out的第一集中,我们决定进行解释-准备好了吗? - 互联网! 我们都知道互联网是猫咪的模因,所以毫无意外-但是它是如何达到我们所有人都可以在Google的搜索栏中键入“ ca-”并最终解决所有脾气暴躁,生涩,生疏,我们想要的皮毛,喜欢吃cheezburger的猫? 确切了解如何在我们下面的第一集击穿,然后订阅播客上,如数据,造型,框架,和更多的其他高科技概念的内幕消息。

互联网简而言之

好的,让我们从基础开始。 我们都知道,我们可以转到“网络浏览器”,在顶部的栏中键入“地址”,然后突然发现自己正在寻找的网页。 整个过程看似神奇且复杂,但是我们在这里告诉您其背后的过程实际上非常简单。

当您在浏览器顶部的栏中键入内容时,即是在请求信息-某种类型的内容或特定页面。 您输入的地址通过域名服务器(您可能听说过它称为DNS),该服务器接受您输入的地址(或“名称”)并将其转换为IP地址。 该IP地址是一个数字代码,代表可以在哪里找到所需内容。 然后,您对内容的请求将转发到该内容所在的地址。

该地址处是一台服务器,该服务器接收您对内容的请求,然后将该内容传送到您的浏览器。 多田! 服务器整天坐在那里,倾听并等待像您这样的请求-就像餐馆中的服务器正在等待您下订单。 因此,与其将服务器概念设计为指示灯闪烁的机器,不如将它们视为服务员,在您做出决定后立即准备接受内容订单。

现在,您和想要的内容之间还有一个更进一步的步骤:Web浏览器仍然必须采用从服务器返回的信息并将其转换为可视化内容,而不是大多数人不知道的一堆代码阅读。 Web浏览器,当然,不与服务器通信,获取数据的唯一的东西,但他们可以作为一个视觉媒介作用,用于解释服务器返回的信息的唯一的东西。 可以这么说,他们为我们在屏幕上“绘制”信息。

那么,什么构成了网页?

好的-事情变得有趣了:为了使浏览器能够“绘制”或视觉上传达我们所请求的信息,它需要某些东西。 就像画家不能没有某种画布和某种颜料就不能绘画一样,如果没有-请滚鼓,Web浏览器就无法直观地向我们传达信息。 — HTML。

HTML是超文本标记语言(HyperText Markup Language)的首字母缩写,它构成了任何网页上大部分内容。 您在页面上可以看到的任何内容(按钮,徽标,文本)都是HTML。

之后是样式,这使内容看起来很漂亮,并使屏幕不再只是带有蓝色链接的黑白文本。 样式是一种组织内容的方式,被称为CSS(层叠样式表)。

难题的最后一部分是使您可以与网页进行交互的东西。 之前我们提到过,如果我们去Google并输入“ ca-”,它将预测我们将搜索与猫有关的东西,并将开始为我们提供搜索建议。 (并且,如果您不相信互联网是猫的话,那么您还没有遇到过开始剥夺互联网并迷上猫的机器学习算法 )。 网页如何与我们互动? 它看起来如何从逻辑上考虑您的搜索并提供有用的建议? 答案是:JavaScript。

JavaScript

JavaScript使网页具有交互性。 但是,既然有这么多不同的语言(例如Ruby,C,Python等),为什么人们会关注JavaScript? 简短的答案是:您不能在浏览器中编写Python。 到2020年,JavaScript将成为浏览器内交互性的唯一选择。

Java的演变

要了解JavaScript是如何成为标准的,您必须回到互联网的早期(在这里插入时间机器的噪音),那时它的目的远不是普通录像带:大学研究人员想要一种方法来a)分享他们的研究成果和b)链接相关的研究项目。 因此,Internet从静态的信息页面开始,Swift发展为动态的。

接下来的发展发生在90年代初,名为Mosaic的浏览器首次亮相,这是第一个强调图形用户界面(GUI)的网络浏览器。 您可能会从“图形”一词中猜到,GUI 将图像添加到混合中并与文本一致地显示。 很大的变化。 从那里开始,出现了一家名为Netscape的公司的第一个大型商用Web浏览器。 现在著名的浏览器称为Netscape Navigator。

但是,Netscape Navigator背后的想法并没有止步于此。 他们决定创建一种新的语言,以使开发人员可以尝试样式并允许用户与网页进行交互。 该语言的第一个候选者是Java,它大约在1995年问世。通过称为Java applet的嵌入式程序,可以实现用户交互。 开发继续进行,Netscape决定再增加一种“胶合”语言(后来称为脚本语言)来解决诸如将功能附加到内容上的事情,将是一件很不错的事情。 该计划促成了JavaScript的创建-必须指出的是,与Java本身几乎没有共同点(除了基本的句法相似性)。 它之所以得名,无非就是Java当时很流行。 (我们必须宣布这一商标失败。)

您可能会感到惊讶的是,该行业最初并不支持JavaScript,并且开发人员也没有在其上花费太多时间,因为它只是一种脚本语言。 然后事情变了。

JavaScript统治了Supreme

浏览器开始争夺主导地位。 微软对自己JavaScript版本进行了反向工程,他们称之为-等待-JScript 。 (第二品牌失败。)它与JavaScript非常相似(您感到惊讶吗!!),但并不完全相同。

随着越来越多的浏览器开始利用脚本语言提供的功能,设计了ECMAScript。 可以将它视为JavaScript的形式化-一种理想形式的语言,它对JavaScript最佳实践采用了详尽的方法。 看到了,开发人员现在同意,浏览器之间需要有一个标准 (浏览器行业蓬勃发展,并且它们之间差异很大),这就是此新ECMAScript的目标。 没有这样的标准,任何给定网页的代码只能在一个或两个浏览器上运行,从而使其他浏览器上的用户无法访问这些网页。 因此,当您听到“ ES5”或“ ES 2015”一词时,它们是指E CMA S脚本。 既然已经有了基于JavaScript的标准,那么JavaScript成为最能符合这些标准的语言,或者它已经成为Internet统治者就不足为奇了。

在2000年左右,引入了Web 2.0。 它本身不是Internet的新版本,但是由于JavaScript现在允许与页面进行交互,因此开发人员现在可以在任何给定页面的幕后实现功能,这意味着网页变得更加动态 。 Web 2.0带有动态页面,这使得使用JavaScript更加清楚,不再需要Java applet或Flash。 那是其他语言开始逐渐流行的时候,JavaScript确实有机会作为网络语言大放异彩。

但这并非一帆风顺。 浏览器仍在以不同的方式实现JavaScript。 尽管有ECMAScript,在JavaScript级别以及Java与HTML和CSS交互的方式上仍然存在不一致之处。 对于开发人员来说,要在不同的浏览器上实现相同的性能仍是一项艰苦的工作,这一过程通常要求每个网页为每种类型的浏览器使用不同的代码集。

到这个时候,Microsoft Explorer已经摧毁了Netscape Navigator,从其灰烬中腾出了Mozilla Firefox-从而又掀起了另一场浏览器大战,三大巨头是Explorer,Firefox和Opera。 在这一点上, 网站也已成为Web 应用程序 。 网站不再是过去的静态页面,而是拥有自己的应用程序。

jQuery公平竞争

jQuery是一个庞大的库,最终使开发人员能够标准化与Web浏览器进行通信的过程。 前提很简单:采用jQuery,它将采用您的单一代码集并将其转换为可以在其上查看网站的所有不同浏览器。 Web开发人员不再需要为每个浏览器编写不同版本的脚本。 由于ECMAScript是JavaScript的标准,因此jQuery成为JavaScript如何与不同浏览器环境交互的标准。

jQuery的次要作用是它为Internet Explorer的竞争提供了更好的机会。 在使用jQuery之前,负担不起只用一个浏览器进行开发的较小的开发团队通常会选择资源管理器,使其功能越来越强大。 但是jQuery可以公平地进行竞争-如果开发人员遵循jQuery标准,他们仍然只需要编写一次Web应用程序,但是它可以在所有浏览器上运行,然后用户可以选择自己最喜欢的浏览器,而不必局限于浏览器大多数应用程序都可以使用,无论它对用户的友好程度如何。

JavaScript成为网络语言

到现在为止,JavaScript已真正成为Web的语言,或者至少成为Web的前端,即用户与之交互的部分。 但是在有前端的地方,也有后端,这是实际检索您请求的内容的部分。 后端与前端不同,可以用几乎所有东西(从Django到Spring)编写。 那么这对JavaScript意味着什么呢?

谷歌浏览器进入竞争

2008年,浏览器游戏中最大的参与者之一参加了比赛:谷歌浏览器。 Google Chrome的性能要比以前的浏览器好几个数量级,这要归功于他们开发JavaScript引擎。

无论计算机是整个台式机还是智能手机,在计算机上完成的所有操作都必须在二进制级别进行。

但是,您如何将世界转换为二进制,以便计算机可以理解? 首先,您可以通过进行编译来实现 。 编译采用类似英语的代码,并将其转换为计算机可以理解的机器信号。 如果无法将某些内容转换为机器信号,则无法对其进行编译。 这就是编译语言的工作方式。

所以,谷歌Chrome的V8发动机能够采取JavaScript代码,并将其编译成实时的机器语言。 它非常高效且非常快,它也使JavaScript变得更快。 直到现在,开发人员和用户都抱怨JavaScript的速度很慢-但是随着Google V8引擎的出现,这一切都发生了变化。

JavaScript进入全栈

然后在2009年,JavaScript发生了更大的变化。 一位孤独的开发人员采用了Google的V8引擎,并将其安装在他的计算机上 。 他附加了一些其他内容,使人们有可能直接在计算机上而不是在浏览器中直接编写JavaScript,就像JavaScript一直以来一样。 是的,现在它可以直接在计算机上运行,​​而不再局限于浏览器环境。

现在已取消包装并且可以直接在计算机上运行JavaScript,现在可以访问该计算机的所有资源,文件,其文件管理系统,应用程序等。现在,开发人员可以构建可以在其计算机上运行的应用程序-这意味着他们还可以构建将在其服务器上运行的应用程序。

随着Node.js的发布,过去曾经是纯前端语言,现在可以在服务器端运行并侦听用户请求,从而将JavaScript转换为支持前端和后端开发的全栈语言。 。

那你觉得呢?!

骑什么,是吗? 谁知道浏览器大战,或者JavaScript曾经是第二语言? 谁知道互联网是由互联网创建的,所以学者们不必费力去研究任何论文? 谁知道猫的模因不是最终目的? 如果您离开今天的历史课程比开始时感到更聪明,那么请定期加入我们的行列,看看您可以从播客中学到什么。 在iTunes和Anchor上都可以使用Tech'd Out。

翻译自: https://hackernoon.com/techd-out-how-this-podcast-from-two-fullstack-instructors-will-help-you-finally-get-programming-b5317e3371ff

传智播客讲师

传智播客讲师_技术成果:来自两位全职讲师的播客如何帮助您最终获得编程相关推荐

  1. 传智java测试题答案_传智播客Java基础第一阶段习题

    关于java程序员面试的经典题目 传智播客Java基础第一阶段习题 一.单项选择题 1.Java源文件和编译后的文件扩展名分别为( ) A..class和 .java B..java和 .class ...

  2. 传智教育“大同互联网职业技术学院”奠基仪式盛大举行,开拓高等职业教育发展新版图

    2023年4月20日,大同市"数字经济职业教育发展论坛暨大同互联网职业技术学院奠基仪式"在大同隆重举行.论坛由中共大同市委.大同市人民政府主办,大同市教育局.传智教育承办,并全程在 ...

  3. 传智教育“大同互联网职业技术学院”奠基仪式盛大举行,开拓高等职业教育发展新版图...

    2023年4月20日,大同市"数字经济 · 职业教育发展论坛暨大同互联网职业技术学院奠基仪式"在大同隆重举行.论坛由中共大同市委.大同市人民政府主办,大同市教育局.传智教育承办,并 ...

  4. 2020北京智源大会人工智能前沿技术成果征集

    2020北京智源大会面向全球征集高校院所.科研机构或企业的人工智能前沿技术成果,通过遴选的成果将在大会官网进行长期专栏展示和推介. 征集要求 征集时间:2020.05.27-2020.06.15 征集 ...

  5. 用python搭建个人博客过程_技术分享|利用Python Django一步步搭建个人博客(四)...

    您好,欢迎来到本期"利用Python Django一步步搭建个人博客"系列的第四部分.在上一篇教程中,我们学习了如何编写URL并将其映射到页面.在我们继续之前,我们需要做的一件事是 ...

  6. 传智黑马Java → 28同步技术的原理(同步代码块)

  7. java 博客系统_讲解开源项目:5分钟搭建私人Java博客系统

    本文适合刚学习完 Java 语言基础的人群,跟着本文可了解和运行 Tale 项目.示例均在 Windows 操作系统下演示 本文作者:HelloGitHub-秦人 HelloGitHub 推出的< ...

  8. python搭建博客系统_基于python3.7和django2.1的多人博客系统

    主要功能: 1.用户注册,登录,删除,以及使用第三方库password_reset来重置用户密码 2.文章的发布,修改以及删除,支持markdown以及代码高亮 3.留言板系统 4.支持文章的多人互动 ...

  9. mysql截取点前面两位的字符串_数据库截取前两位小数点

    Oracle的函数 函数对字段进行处理: 一.字符函数 lower(char):将字符串转换为小写的格式 upper(char):将字符串转换为大写的格式 length(char):返回字符串的长度 ...

最新文章

  1. windows server 2008 R2上安装MRTG指南
  2. python操作系统接口错误_Python os模块和sys模块 操作系统的各种接口
  3. 使用Jenkins来实现内部的持续集成流程(下)
  4. 【渝粤教育】国家开放大学2018年秋季 1062t文学英语赏析 参考试题
  5. 【论文翻译】统一知识图谱学习和建议:更好地理解用户偏好
  6. 我写过最长的东西可能就是高考作文了
  7. ASP.NET中的两个Cookie类:HttpCookie类与Cookie类
  8. 打开你企业发展之门的钥匙
  9. html微信窗口阻止滚动条,微信浏览器禁止页面下拉查看网址(不影响页面内部scroll)...
  10. git报错:remote: warning: Large files detected. / 移动文件夹
  11. 【Cartopy】1.库的安装和使用
  12. laravel 上传图片
  13. 【卡尔曼滤波】我所理解的卡尔曼滤波
  14. 计算机考研就业率,21考研同学需谨慎,三个专业就业率持续走低,包括热门计算机专业...
  15. 1024程序员节获奖名单放榜啦,云端技术奥秘大使就是你!
  16. 常用hadoop dfs命令
  17. Fiddler抓包及_Fiddler过滤
  18. 通用流量录制回放工具 jvm-sandbox-repeater 尝鲜 (二)——repeater-console 使用
  19. 单片机入门(实现流水灯)--适合初学者
  20. 2021年Android面试心得,已整理成文档

热门文章

  1. linaro linaro-alip login: root (automatic login)
  2. Java与多串口通讯(二)
  3. 类——面向对象的编程
  4. 爬取NBA球员数据画出球员的雷达图
  5. “十四五”规划开局之年,VR全景行业迎来重大利好!
  6. 1.1. Cryptographic Hash Function.加密哈希函数
  7. ln函数怎么看奇偶性_函数奇偶性y=ln怎么判断这个奇偶性
  8. Oracle实现SQL的isnumeric 函数
  9. [vijos] 遭遇战
  10. ESP32学习笔记(41)——SNTP接口使用