PM要不要懂技术,这是个老掉牙的问题,入行3个月来,与RD沟通时,愈来愈发现:一样一件事情,沟通完成以后,复盘便发现,懂技术的话,和rd沟通更省时、省力,固然,也不会被RD忽悠的原地打转,没法推动任何工做。固然,这里的懂技术并不是要你知道代码如何写,而是功能是如何实现的,这点很关键。前端
so问题来了,既然要懂技术,那么,须要懂得哪些技术呢?计算机基础知识、前端、后端的知识是必不可少的。不过,对于转行的PM来讲,这些也是最头痛的,神马HTTP、Javascript、Java,各类概念。今天就用小白的语言翻译下基础知识,不喜勿喷。数据库
计算机基础知识:HTTP协议、TCP/IP协议、URL等等。json
计算机经过网络传递信息,但客户端到服务端是如何通讯的呢?和国家与国家、企业与企业间的合做相似,少不了要签署各类协议,因此就有了TCP/IP协议(传输控制协议/因特网互联协议)。顾名思义,TCP/IP 协议定义了两方面的标准:电子设备如何连入因特网,数据如何在它们之间传输。windows
紧接着,在TCP协议基础之上HTTP协议创建起来了(HTTP议即超文本传输协议,初衷是为了发布和接收HTML页面的)。当浏览器须要从服务器获取网页数据的时候,发起HTTP请求。HTTP经过TCP创建起与服务器的链接通道,而IP则是服务器的地址,HTTP请求经过通道到达服务器地址(IP地址),获取服务器页面数据,服务器按照必定格式予以响应。后端
说到此,就不得不提URL了,也就是咱们平时说的网址(互联网上的每一个文件都有一个惟一的URL,它包含的信息指出文件的位置以及浏览器应该怎么处理它)。数组
URL具体格式以下:scheme://host:port/path/document?query#fragment,即http协议/域名:端口/虚拟目录,即路径/文件名(?#/)参数部分#锚浏览器
举个例子:http://www.woshipm.com/category/pmd,人人都是产品经理的网址。缓存
(1)scheme:通讯协议,负责告知浏览器采用哪一种协议打开文件,经常使用的http、ftp等。例子中的http:属于该部分;安全
(2)host:域名,也就是 IP 地址。例子中的www.woshipm.com为该部分;服务器
(3)port:端口号,可省略,省略时使用方案的默认端口,如http的默认端口为80。例子中的端口号省略;
(4)path:虚拟目录,即路径。由零或多个”/”符号隔开的字符串,通常用来表示主机上的一个目录或文件地址。例子中的category为路径;
(5)document:文件名部分,从域名后的最后一个“/”开始到“?”为止,是文件名部分,若是没有“?”,则是从域名后的最后一个“/”开始到“#”为止,是文件部分,若是没有“?”和“#”,那么从域名后的最后一个“/”开始到结束,都是文件名部分。例子中最后的pmd属于该部分;
(6)query:查询,可省略,用于给动态网页传递参数。可有多个参数,用”&”符号隔开,每一个参数的名和值用”=”符号隔开。例子中无此项。
(7)fragment:锚点。简单说就是信息片段,用于指定网络资源中的片段。例如一个网页中有多个名词解释,可以使用fragment直接定位到某一名词解释。例子中无此项。
计算机基础知识还有不少,后续不断更新,虽然这些基础知识较枯燥,理解了才是关键。但愿对你们有帮助。PS:想要学习系统的知识,题主参考的是计算机科学导论,不过,有点枯燥。
CPU至关于人的大脑,总指挥人体的各项功能;内存、硬盘至关于大脑中的记忆板块,记录、存储信息的,主板至关于人的神经系统,将人体各部分连接起来;显卡至关于人的眼睛,心脏则是计算机的电源,开通电源才能发起一切活动。
操做系统是最多见的系统软件。操做系统也是一组程序,基于不一样的计算机硬件来开发,用以指挥(驱动)计算机硬件并管理计算机全部活动。说白了,计算机只有硬件而没有操做系统,不过就是一堆废铁而已。操做系统可让主板上全部的组件开始运转,让CPU开始逻辑判断与数值运算,让内存加载、读取数据,让显卡显示图形影像,让硬盘记录、存储数据,让网卡传输数据。客户端经常使用的多为windows,服务器端大多基于Linux操做系统来开发。
固然,驱动硬件是操做系统的主要功能之一,操做系统一般也会提供一整组的开发接口,这样RD只须要调用这些接口就能够开发软件了(这也就是咱们接下来要说的应用软件),而不须要如以前同样,须要参考计算机硬件的功能函数。
应用软件也就是咱们平时使用的各类软件,它也和操做系统有关,是参考操做系统的接口开发而来的。好比,上网用的浏览器,办公用的office,设计图用的PS等等,不一而足。
有些人要问了,计算机硬件更新那么快,操做系统是基于以前的硬件开发的,更换硬件的话,操做系统能认识吗?
so,聪明的操做系统通常这样搞。操做系统提供一个接口给硬件开发商,硬件开发商依据这个接口设计能够驱动该硬件的驱动程序,这样的话,只要安装驱动程序,操做系统天然能够驱动硬件了。
计算机只能识别0和1,采起二进制的运算模式,但咱们平时使用更多数字运算的是十进制,语言又有中文、英文、法文等等,计算机怎么记录、显示这些数据呢?
对于数字类,采起二进制、十进制转换的形式(二进制逢二进1、十进制逢十进一),输入的任何数据转换成二进制就搞定了。
对于文字类型的数据,计算机有一套字码对照系统(即文字编码系统),全部的文字都转换成0和1,计算机再处理,和谍战片中的电报相似,每一次电报有相应的密码本。平时咱们常见的乱码的事情就是由于计算机没有找到相对应的编码系统将文字翻译过来。经常使用的有ASII,UTF-8等。
除了数字、文字外,计算机数据类型还有音频、图像、视频。对于后面3中,计算机也会经过响应的方式转成0和1,有兴趣的朋友们能够看看《计算机科学导论》等相关数据。
首先,要搞清楚一点,学习前端语言的目的是什么?
学习前端的这些知识,了解每一种语言的规则,从而了解产品前端的页面是如何实现的、交互的方式有哪些,掌握前端功能、交互实现的方式方法。PS:虽然不须要你彻底会写这些代码,但至少要知道页面效果、交互是经过什么方式来实现的。
so,学习前端技术,HTML、CSS、Javascript、json这几类必不可少。几者的关系以下:HTML负责网页的内容;CSS负责内容的呈现样式,即修饰内容;Javascript主要负责页面的动态效果,如数据的验证、异常提醒、改变页面内容等几个部分,也就是让页面动起来;JSON则主要负责其中数据的交换。
HTML(Hyper Text Markup Language),一种描述网页的语言,咱们平时看到的网页大多都是经过HTML实现的。HTML使用一系列的标签来定义页面如何处理文字、图片、连接、视频等等内容,而浏览器经过读取这些标签,而后呈现出来。HTML标签固定的格式为<标签> 内容</标签>。eg:
简单了解下各标签的含义,也就能了解HTML到底能作哪些事情,实现哪些效果。常见的标签有:
有了内容,如何呈现就须要CSS了。CSS定义HTML的样式,样式包括:背景(背景颜色、背景图片等)、文本(颜色、字符间距,对齐文本,装饰文本,对文本进行缩进)、文字(大小、加粗、风格(如斜体)和变形)、连接、列表、表格(表格颜色、高度宽度、内部边框等等)、轮廓。简单说,word中的开始菜单栏的全部功能基本都属于样式。
CSS 语言的规则由两个主要的部分构成:选择器,以及一条或多条声明。选择器一般是您须要改变样式的 HTML 元素,即全部代码。声明则规定属性和值,每条声明由一个属性和一个值组成。
页面中的动态效果就要依靠JavaScript了, 它经常被网页用来改变页面内容、验证表单、检测浏览器、建立cookies、异常提醒等等。 在HTML 页面中插入 JavaScript,通常都在 <script> 与</script> 标签之间。
JavaScript 中的全部事物都是对象,包括字符串、数字、数组、日期等等。对象是拥有属性和方法的数据。属性是值,方法是可执行的动做。(这块比较枯燥,没想更容易理解的方法)
Json主要处理数据,是一种轻量级的文本数据交换格式。它使用 JavaScript 语法来描述数据对象,因此咯,它和JS语法相同,熟悉了JS,JSON天然很容易就明白了。Json语法规则以下:数据在名称/值对中,并由逗号分隔。花括号保存对象,方括号保存数组。
举个栗子:
以上这四种语言的内容不止这些,这里只是抛砖引玉,简单和你们聊聊每种语言最基本的规则而已。熟悉每种语言的规则,随便打开一个页面,大体能够知道哪部分代码是干什么用的,实现什么效果,作到这一点就OK了。固然,想要更深刻了解每种语言,推荐你们W3school,很适合初学者哦~~~
前面几期简单说了说计算机基础知识、前端知识等等,关于后端的知识,这些干货是少不了的,服务器、数据库、缓存、cookie、session等等,今天就聊聊这几点。
Server,计算机的一种,是为客户机(client)提供服务的高性能的计算机。和普通电脑不一样的是,服务器面向的整个网络的用户,24h不间断工做,在多用户多任务的环境下,因此须要极高的稳定性。此外,在处理能力、安全性、可靠性、可用性、可扩展性、可管理性方面也十分强悍。
此外,服务器有不少类型,按照应用功能来划分,服务器通常分为文件服务器、打印服务器、域控制服务器、数据库服务器、邮件服务器、WEB服务器等等。服务器价格通常比较昂贵,因此通常大型的公司都会本身搭建服务器,普通的企业通常租用服务器。
Database,简单说就是存放、管理数据的仓库。通常分为关系型数据库、非关系型数据库两种,前者最为常见。
关系型数据库,处理表与表间的结构,是由二维表(表的形式相似于excel)及其之间的联系组成的一个数据组织。经常使用的关系型数据库有MySql,Oracle等。MySql最基本的操做:增删改查,你们能够自学,多多练习,灰常简单。
非关系型数据库:以对象为单位数据结构。这一类型,平时用的较少,因此你们能够专攻关系型的数据库哦~~
计算机处理数据时,考虑到数据存储空间的压力、查找速度、数据使用率等等,因此就有了缓存。
缓存(数据交换的缓冲区,即Cache),简单说就是存储数据的临时地方,存储一些高频数据的副本。能够这样理解,当某一硬件要读取数据时,首先从缓存中查找须要的数据,找到了就直接执行,找不到的话再从内存中找。因为CPU的缓存的运行速度比内存快得多,因此缓存的目的就是提升响应速度,减小服务器压力。
缓存无处不在, 有浏览器端的缓存、服务器端的缓存、数据库的缓存等等。好比咱们Andirod手机清理的缓存,指的就是这个。
你们可还记得以前讲过的http协议,也就是超文本传输协议,定义浏览器如何打开文件的规则。但http协议是一个无状态的协议,先后请求没有任何关系。简单说,服务器没法判断先后两次请求来自于同一台客户端。
so,就有了Cookie和Session。二者都为了用来保存状态信息,是为了解决HTTP无状态的问题而生的。只不过,Cookie将状态保存在客户端,Session将状态保存在服务器端。
关于计算机的基础知识,这四期只是给你们说了说皮毛,每一知识点只为你们梳理了大体的轮廓,里面还有不少值得深挖的内容。不过,对于初入门的PM,先整体搭建起这个知识体系,而后有针对性的去补充每一个知识点,这样才能更高效、更有针对性的学习。