前言
前言
写作缘起
互联网产品经理需要懂技术吗?这是一个引起广泛讨论的问题。有人觉得产品经理每天跟程序员打交道,在需求制订和实施的过程中,少不了对相关技术实现细节进行讨论,所以产品经理必须要懂技术。也有人认为,产品经理作为产品负责人,只需要负责把控产品风险和进度,技术的事情就交给技术负责人吧!
实际上,作为程序员,在跟一些产品经理打交道的过程中,作者不止一次感慨:如果他们能有些基本的技术概念,确实可以省下不少的沟通成本。当然,作者也见过对技术细节过分拘泥的产品经理,花了过多时间探讨方案的技术可行性,而忽略了对产品体验的打磨。
通用的技术理解能力,是每一个互联网从业人员的基本素养。它包括但不限于:认识一些常用的计算机名词,如“内存操作系统”“请求”“响应”等;理解一些常见的互联网技术套路,如“延迟加载”“多线程加速”。除此之外,了解一些互联网领域的前沿技术方向,对于开阔视野也很有帮助。
懂技术和不懂技术并不像整数1和0那样界限分明,它们更像一个区间的两个端点,中间的界限需要我们来把握。在这一点上,大家完全可以“功利”一点。在互联网技术里,有80%的概念是简单、基本、常用的,掌握这些只需要花我们20%的时间。余下20%的概念属于每个技术领域的实现细节,要掌握这些可能会花掉我们80%的时间,大可以先放下它们,专攻能为我们所用的概念。
产品经理有了这些底子,当工作中真正需要用到某一项技术的时候,再去网上了解它的来龙去脉,也会事半功倍。
也正是基于这样的想法,作者开始创作本书。自始至终,作者给自己定的目标就是“接地气”。本书不是晦涩难懂的教科书,相反,作者试图以科普的形式配合通俗易懂的语言和适当的例子,给产品经理讲他们能看得懂的技术。同时,作为一线程序员,作者还会结合实际工作经验,穿插一些在实践中遇到的技术问题辅助讲解。技术本身是相通的,希望读者在理解技术的过程中,能找到它要解决的本质问题,多思考采用该技术的原因。
阅读建议
本书介绍了常见的互联网技术,基本涵盖了完成一个互联网产品需要的各个环节。除此之外,作者把平时工作中关于产品技术及管理的一些思考单独汇成一章(第9章“沟通”),希望能对读者有所启发。
详细的章节介绍如下。
第1章 讲解Web 前端技术。Web 是大家最熟悉的互联网形态,通过阅读本章,读者可以快速上手。
第2章 讲解客户端技术。随着移动互联网的兴起,移动客户端应用成为主流。本章讲解开发一个APP时会用到的技术。
第3章 讲解开发技术,包括简单的编程语言、编程时用到的一些“套路”,以及一些计算机基础知识。
第4章 讲解网络技术。互联网是建立在信息传输的基础上的,本章讲解整个传输的过程,以及传输中需要解决的问题。
第5章 讲解网络安全和后端技术。本章介绍了黑客们常用的攻击手段,以及程序员的应对方法。
第6章 讲解互联网技术领域的一些专业名词。
第7章 讲解前终端一体化技术(大前端)。后移动互联网时代,随着React Native的普及及小程序的流行,前端和终端成了一家人,多端运行成了趋势。
第8章 讲解人工智能的基本原理。人工智能代表未来,各大公司纷纷“All in”,产品经理也要紧跟时代潮流。
第9章 讲解产品经理平时工作时与程序员沟通的方法,以及作者平时工作中的一些感悟。
致谢
我是一名程序员,在一次和产品经理长时间的“PK”后,萌生了给产品经理讲技术的想法。当时的主要诉求是,希望通过我作为程序员的技术积累,给产品经理普及一些基本的技术概念,使大家在沟通之前,能有一些基本的共识,以提高效率。但是,一来我本人技术方向比较单一,二来业余时间实在有限,仅凭一人之力难以付诸实践。于是我找到组里的几位同事,拉他们入伙。一顿火锅后,我们达成了共识:先从一个公众号做起。
公众号的名字也叫“给产品经理讲技术”。根据大家的技术特长,我们几个做了简单的分工。杨俊勇平时做后台工作较多,他负责网络安全和后端技术部分;陈宇是终端领域专家,他负责客户端和开发技术部分;关磊平时喜欢思考人生,他负责名词解释和沟通部分;高杨负责Web 前端和网络技术部分;我负责大前端和人工智能部分。我们5个人给自己定了个小目标:在一年中坚持每天发一篇技术科普文章。万万没想到,公众号获得了很多产品经理的认可,后来陆续得到了5万多名关注者。期间也有一些“大V”自发帮忙宣传,让我们觉得这是一件越来越有意义的事情。
写公众号这件事是我们工作之余来做的,几个人都是理科生,一个句子、一个措辞都要斟酌很久,也因此耗费了大量的业余时间。感谢大家的坚持和努力!
在此,特别感谢作者项目组的领导和同事们给予的鼓励和支持。
最后,由衷地感谢电子工业出版社编辑郑柳洁和鞠燕纯对本书的耐心修改,是你们让本书更精彩。
读者反馈
如果您有好的意见和建议,请在微信公众号“给产品经理讲技术”上及时反馈给我们。
巩晓波
作者简介
陈宇,
电子科技大学硕士,高级工程师,就职于腾讯成都分公司,任安卓终端开发工程师。主导多个业务模块的架构设计及项目管理工作。
巩晓波,
毕业于电子科技大学计算机专业,现任腾讯高级工程师,从事前端开发、后台开发和移动端开发工作。
高杨,
电子科技大学计算机专业硕士,现任腾讯高级工程师,主要从事移动端的研发工作。
杨俊勇,
毕业于北京邮电大学,现任腾讯高级工程师,从事后台开发和移动端开发工作。
关磊,
毕业于哈尔滨工业大学,就职于腾讯成都分公司,专家工程师,从事前端、后台、移动端开发和技术管理工作。
目录
1 Web 前端技术
AJAX 技术的妙用
DOM 是什么
静态网页与动态网页
分析URL 的结构
网页基础知识:表单
H 5应用程序缓存简介
Chrome 里的冷知识
JS DDoS 攻击的原理与防御
UA 的故事
URL 编码
简单理解HTML、CSS 和JavaScript
跨域与同源
Cookie 和广告联盟
HTTP Header 是什么
简单理解HTTP 的GET 和POST
WebSocket 是什么
“直出”是什么
互联网的黄金矿工:爬虫
简单理解单页Web 应用
锚点与网页内跳转的实现
前端如何适配手机屏幕
简单理解“盗链”与“反盗链”
广告过滤机制科普
2 客户端技术
“骗人”的动画
细说Android 应用的“续命大法”
Hybrid APP
手机传感器知多少
定位终端设备位置的方法有哪些
客户端推送实现方式
为什么美颜APP 可以美颜
听歌识曲的基本原理
朋友圈中的图片缓存系统
应用的生命周期
3 开发技术
“空指针”是什么
程序中的“越界”是什么
编程五分钟,命名两小时
开发动画需要多少工作量
耦合与解耦
栈与队列
为什么有些Bug 不能改
加载等待的艺术
并行计算
简单了解进程间通信
“编不过”是怎么回事
程序“挂了”是怎么回事
简单说说操作系统
什么是代码混淆
程序员遇到Bug 时会做些什么
应用“续命”大法之异常捕获
搜索引擎的基石:倒排索引
简单理解面向对象
简单理解重构
流水线技术
多线程是什么
复用的艺术:线程池
4 网络技术
网络基础之协议栈
互联网是如何提供服务的
IP 地址枯竭的后悔药:网络地址转换
PING 和网关
端口二三话
TCP 与UDP
TCP 凭什么说自己可靠
谈谈UDP 的可靠性
什么是反向代理
CDN 是什么
断点续传的奥义
推送服务的核心:长连接
HTTPS 技术简介
讲讲代理服务器
聊聊Wi-Fi 技术
就近接入:怎样让用户找到最近的机房
Socket 简介
什么是HTTP 跳转
神奇的Hosts 文件
释放你的小水管:说说下载速度那些事儿
下载劫持简介
VPN 简介
5 网络安全与后端技术
密码存储之开发指南
密码存储指南
Web 安全之SQL 语句
Web 安全之XSS
Web 安全之CSRF
ARP 欺骗的原理
DDoS 的原理
Android 应用二次打包
那些年中过的病毒
家庭Wi-Fi 防“蹭网”指南
后台服务之RPC 框架
后台服务之RESTful API
Session 是用来做什么的
后台服务之流量控制
后台服务如何生成唯一ID
6 名词解释
抽象、封装、类、实例和对象
SDK、API 和架构
控件、组件和框架
二进制文件
脚本
内存泄漏
中间件
打底数据与云端控制
变量与函数
散列表
钩子
配置文件
算法复杂度
模板
RGB 通识
应用程序、进程和线程
视频文件与编解码标准
同步、异步和回调
时间戳、MD 和GUID
栈的含义
JSON
理解OpenGL
引擎
开源许可证
渲染
WLAN、Wi-Fi 与IEEE
位图与矢量图
接口
线程池、对象池和连接池
向前兼容和向后兼容
游戏引擎
7 大前端
React:流行的前端技术
React Native:专治急性子的产品经理
一个React Native 的应用是什么样的
什么样的业务适合用React Native 来改造
终端开发新思路:Flutter
一窥微信小程序的技术思路
如何自己开发小程序
8 人工智能
如何通俗地理解机器学习
人工智能从业者:专家、工程师和调参程序员
TensorFlow:几行代码写一个神经网络的时代来了
人工智能里的套话该怎么理解
一个最简单的机器学习模型
什么是神经网络
神经网络的数据处理
为什么你的神经网络像个傻瓜
懂你的推荐算法:你应该懂的一些知识
9 沟通
程序员的分工
如何正确地提需求
程序员想要的需求文档
为什么项目会延期
目标设定的两种方法
你只是在为自己工作
为什么产品经理经常焦虑
精益创业的作用
内容摘要
本书专为非技术背景的互联网行业从业者和想了解互联网技术的人员量身定制,分门别类地整理了Web前端技术、客户端技术、开发技术、网络技术等章节,基本涵盖了当前互联网行业的所有垂直技术领域。为了让读者能够更好地理解技术的精髓,几乎每篇文章都配以现实生活中通俗易懂的例子,用于类比复杂的互联网技术原理。
在最后的“沟通”章节,作者介绍了根据自身近10年工作经验总结出的一些非技术人员与技术人员的沟通技巧,相信对读者的工作会有一定帮助。
希望本书能成为非技术背景产品经理步入互联网技术世界的敲门砖。
主编推荐
来自腾讯技术专家的一手技术知识,跟着有趣有料的小故事搞懂技术,配精心编辑的彩色技术图谱
精彩内容
"前言
写作缘起
互联网产品经理需要懂技术吗?这是一个引起广泛讨论的问题。有人觉得产品经理每天跟程序员打交道,在需求制订和实施的过程中,少不了对相关技术实现细节进行讨论,所以产品经理必须要懂技术。也有人认为,产品经理作为产品负责人,只需要负责把控产品风险和进度,技术的事情就交给技术负责人吧!
实际上,作为程序员,在跟一些产品经理打交道的过程中,作者不止一次感慨:如果他们能有些基本的技术概念,确实可以省下不少的沟通成本。当然,作者也见过对技术细节过分拘泥的产品经理,花了过多时间探讨方案的技术可行性,而忽略了对产品体验的打磨。
通用的技术理解能力,是每一个互联网从业人员的基本素养。它包括但不限于:认识一些常用的计算机名词,如“内存操作系统”“请求”“响应”等;理解一些常见的互联网技术套路,如“延迟加载”“多线程加速”。除此之外,了解一些互联网领域的前沿技术方向,对于开阔视野也很有帮助。懂技术和不懂技术并不像整数 1 和 0 那样界限分明,它们更像一个区间的两个端点,中间的界限需要我们来把握。在这一点上,大家接近可以“功利”一点。在互联
网技术里,有 80%的概念是简单、基本、常用的,掌握这些只需要花我们 20%的时间。余下 20%的概念属于每个技术领域的实现细节,要掌握这些可能会花掉我们 80%的时间,大可以先放下它们,专攻能为我们所用的概念。
产品经理有了这些底子,当工作中真正需要用到某一项技术的时候,再去网上了解它的来龙去脉,也会事半功倍。也正是基于这样的想法,作者开始创作本书。自始至终,作者给自己定的目标就是“接地气”。本书不是晦涩难懂的教科书,相反,作者试图以科普的形式配合通俗易懂的语言和适当的例子,给产品经理讲他们能看得懂的技术。同时,作为一线程序员,作者还会结合实际工作经验,穿插一些在实践中遇到的技术问题辅助讲解。技术
本身是相通的,希望读者在理解技术的过程中,能找到它要解决的本质问题,多思考采用该技术的原因。
阅读建议
本书介绍了常见的互联网技术,基本涵盖了完成一个互联网产品需要的各个环节。除此之外,作者把平时工作中关于产品技术及管理的一些思考单独汇成一章(第 9章“沟通”),希望能对读者有所启发。详细的章节介绍如下。
第 1 章 讲解 Web 前端技术。Web 是大家最熟悉的互联网形态,通过阅读本章,读者可以快速上手。
第 2 章 讲解客户端技术。随着移动互联网的兴起,移动客户端应用成为主流。本章讲解开发一个 APP 时会用到的技术。
第 3 章 讲解开发技术,包括简单的编程语言、编程时用到的一些“套路”,以及一些计算机基础知识。
第 4 章 讲解网络技术。互联网是建立在信息传输的基础上的,本章讲解整个传输的过程,以及传输中需要解决的问题。
第 5 章 讲解网络安全和后端技术。本章介绍了黑客们常用的攻击手段,以及程序员的应对方法。
第 6 章 讲解互联网技术领域的一些专业名词。
第 7 章 讲解前终端一体化技术(大前端)。后移动互联网时代,随着 React Native的普及及小程序的流行,前端和终端成了一家人,多端运行成了趋势。
第 8 章 讲解人工智能的基本原理。人工智能代表未来,各大公司纷纷“All in”,产品经理也要紧跟时代潮流。
第 9 章 讲解产品经理平时工作时与程序员沟通的方法,以及作者平时工作中的一些感悟。
致谢
我是一名程序员,在一次和产品经理长时间的“PK”后,萌生了给产品经理讲技术的想法。当时的主要诉求是,希望通过我作为程序员的技术积累,给产品经理普及一些基本的技术概念,使大家在沟通之前,能有一些基本的共识,以提高效率。但是,一来我本人技术方向比较单一,二来业余时间实在有限,仅凭一人之力难以付诸
实践。于是我找到组里的几位同事,拉他们入伙。一顿火锅后,我们达成了共识:先从一个公众号做起。
公众号的名字也叫“给产品经理讲技术”。根据大家的技术特长,我们几个做了简单的分工。杨俊勇平时做后台工作较多,他负责网络安全和后端技术部分;陈宇是终端领域专家,他负责客户端和开发技术部分;关磊平时喜欢思考人生,他负责名词解释和沟通部分;高杨负责 Web 前端和网络技术部分;我负责大前端和人工智能部
分。我们 5 个人给自己定了个小目标:在一年中坚持每天发一篇技术科普文章。万万没想到,公众号获得了很多产品经理的认可,后来陆续得到了 5 万多名关注者。期间也有一些“大 V”自发帮忙宣传,让我们觉得这是一件越来越有意义的事情。
写公众号这件事是我们工作之余来做的,几个人都是理科生,一个句子、一个措辞都要斟酌很久,也因此耗费了大量的业余时间。感谢大家的坚持和努力!
在此,特别感谢作者项目组的领导和同事们给予的鼓励和支持。
最后,由衷地感谢电子工业出版社编辑郑柳洁和鞠燕纯对本书的耐心修改,是你们让本书更精彩。
读者反馈
如果您有好的意见和建议,请在微信公众号“给产品经理讲技术”上及时反馈给
我们。"
媒体评论
"产品经理要懂技术吗?这应该是跟产品经理相关的热门问题之一。类似的问题还有:产品经理要懂设计吗?产品经理要懂运营吗?答案显而易见:要!
那么,产品经理需要懂哪些技术?懂到什么程度?这些问题的答案在本书里都能找到。
—— 起点学院、人人都是产品经理创始人兼CEO,曹成明
懂技术的产品经理在工作中会更游刃有余!对于非技术背景产品经理而言,产品设计、沟通协作、问题排查都离不开对技术知识的了解。本书由浅入深全面阐述了产品经理在实际工作中可能遇到的技术概念,带你进入技术的神秘世界。
—— 《产品经理必懂的技术那点事儿:成为全栈产品经理》作者,唐韧
"
以下为对购买帮助不大的评价