V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
nsynet57
V2EX  ›  程序员

请问,有没有讲互联网编程发展全面一点的书,诸如从 http,cgi,jsp,css 到现在各种框架前后端等等,我是门外汉,想了解一些互联网发展中涌现各种技术的背景和思路,老事物又是一次次如何被新生事物淘汰的? 豆瓣了一下没感觉合适的

  •  
  •   nsynet57 · 2021-11-29 20:27:33 +08:00 · 2585 次点击
    这是一个创建于 1119 天前的主题,其中的信息可能已经有所发展或是发生改变。
    如题~~
    25 条回复    2021-11-30 17:05:41 +08:00
    nsynet57
        1
    nsynet57  
    OP
       2021-11-29 20:34:00 +08:00
    我与互联网编程的唯一交叉点就是用过微软的 front page 做个静态网页,然后就分道扬镳了呵呵
    mscststs
        2
    mscststs  
       2021-11-29 20:39:58 +08:00
    这种东西的综述没见过,不过建议考虑去搞一些计算机网络的书看看先,可以对网络有个大概的了解,后面再看应用层的发展可能会简单一点
    jaywhen
        3
    jaywhen  
       2021-11-29 20:44:27 +08:00 via iPhone
    维基百科英文词条应该足够了
    mutalisk
        4
    mutalisk  
       2021-11-29 20:46:09 +08:00
    吴军《浪潮之巅》
    美剧 《 Halt and Catch Fire 》
    henryhu
        5
    henryhu  
       2021-11-29 20:49:55 +08:00
    写到 10 年之前还可以成书,写到现在怕是要出系列图书了,现在的技术让人眼花缭乱
    ipwx
        6
    ipwx  
       2021-11-29 20:58:55 +08:00   ❤️ 5
    我的印象中,你可以遵循这条时间线
    ----

    定制程序时代

    cgi

    ----

    代码和 HTML 内容混排的时代

    php
    jsp
    asp
    asp.net

    ----

    模板引擎时代

    django
    asp.net
    php

    ----

    前后端分离时代(前端引入 ajax )

    前端

    jquery
    angular.js

    后端

    python (django, tornado, web.py, flask, fastapi)
    php (不熟)
    java (spring 听说)
    c# (不熟)

    ----

    前端工程化时代

    前端

    react.js
    vue.js
    webpack
    sass
    less
    fromdark
        7
    fromdark  
       2021-11-29 20:59:59 +08:00
    @mutalisk 浪潮之巅更多的是企业史吧
    fromdark
        8
    fromdark  
       2021-11-29 21:00:48 +08:00
    我也一直在找这种书,可惜没有
    ipwx
        9
    ipwx  
       2021-11-29 21:00:48 +08:00
    哦漏了两个

    ----

    ruby (一点不了解,不知道应该归属那个时代)
    node.js (前端工程化之后)
    ipwx
        10
    ipwx  
       2021-11-29 21:01:50 +08:00
    其实 cgi 时代还有更多有趣的内容。

    cgi -> fastcgi
    cgi -> apache mod
    cgi -> iis isapi
    cgi -> 脚本语言时代 perl
    ipwx
        11
    ipwx  
       2021-11-29 21:02:49 +08:00
    ummm 我居然从脑子的犄角旮旯里面回忆出了 ISAPI 这个名词。。。我初中时代见过的玩意儿。

    大概是 2004 年?
    ipwx
        12
    ipwx  
       2021-11-29 21:05:10 +08:00
    真怀念当年脚本和 HTML 混排时代啊。。。

    常见漏洞是 SQL 注入 和 IIS/Apache 配置不当导致源代码泄露(进一步泄露数据库密码)

    或者允许用户上传内容,结果用户通过上传头像的接口,上传了一个 PHP/ASP 脚本,然后挂马

    hhh
    ipwx
        13
    ipwx  
       2021-11-29 21:07:11 +08:00   ❤️ 1
    当年混排时代,经常见到有人这么写 asp

    <html>
    <body>
    <%
    ...
    set rs=server.createobject("adodb.recordset")
    sql="select * from admin where username='"& request.form["username"] &"'and password='"& request.form["password"] &"'"
    ...

    然后,BOOM
    shawnsh
        14
    shawnsh  
       2021-11-29 21:13:43 +08:00 via Android
    互联网诞生,然后是代理
    qqlyatt
        15
    qqlyatt  
       2021-11-29 21:23:44 +08:00
    当然有了,你打开黑马程序员官网,看看前端课程大纲。那就是从无到有的过程啊~
    3dwelcome
        16
    3dwelcome  
       2021-11-30 00:07:29 +08:00
    我个人挺烦前端的,早些年在 flex 布局普及前,就靠各种 css hack ,代码移植性超差,真是醉了。

    后来有了 vue/react, 但还是有一种让人强迫 thinking in frontend 思维模式。TS 写的时间一长,都忘记用别的语言,是怎么正经写程序的。

    随着公众号小程序崛起,JS 仿佛有一种漩涡的能力,能让人越陷越深,但我又无法依靠个人力量去挣脱。直到遇见 webasm 后,终于找回了编程的初心。

    在 webasm 前,我肝脑涂地去适应 JS 。
    在 webasm 后,WebView 只是若干目标平台之一,JS 能干的,别的语言都能干。
    ipwx
        17
    ipwx  
       2021-11-30 10:40:40 +08:00
    @3dwelcome 前端有这么让人难受吗?

    我也是从 C#/Qt/Delphi 时代 以及 ASP+HTML+CSS DIV 时代过来的老人。甚至还摸过 CSS TABLE 时代的尾巴。。。我的看法是,就算是 Bootstrap 一把梭的时候,也不一定比 Qt 和 C# 这种麻烦啊。。。

    现在的 Vue.js 用起来简直太爽了。。。 让我完全不想去摸 Qt C# 这种 GUI 了
    iamzuoxinyu
        18
    iamzuoxinyu  
       2021-11-30 10:49:20 +08:00
    不如看看浏览器的发展历史,从 mosaic 到 netscape 到 ie 到 firefox 到 chromium 。看看各个时代的浏览器分别增加了什么特性。
    3dwelcome
        19
    3dwelcome  
       2021-11-30 10:57:31 +08:00
    @ipwx

    如果工作上一直写前端当然没事,可生活所迫,我也要同时用到很多其他语言。

    前端写复杂后,一堆 CSS 。代码和体系自成一派,个人觉得写大项目后,能实际沿用到下个项目的代码并不多。

    有一种代码写完就扔,深深的无力感。

    人老了,就希望用一把榔头敲掉所有跨平台的钉子,刚好 webasm 满足我的需求,一拍即合。
    2i2Re2PLMaDnghL
        20
    2i2Re2PLMaDnghL  
       2021-11-30 12:28:40 +08:00
    @ipwx ror 跨越模板引擎时代和前后端分离时代,有 pjax
    似乎现在的 ror 新建项目是直接带 webpack 上了。
    3dwelcome
        21
    3dwelcome  
       2021-11-30 12:45:28 +08:00
    想解释一下,为什么会有“深深的无力感”。

    随着前端 MVVM 框架和单页面开发的流行,客户体验越来越好,鼓励重客户端开发模式,把原本服务器端的后台代码都移植到前端上。

    然而,这产生了一个很大的问题。前端的框架,大多为了搭建交互 UI 而生,对于产品功能性的复杂逻辑实现,JS 是很弱的。或者说,对比起传统的后端语言,要弱一些。

    本不想用 JS 重写后端逻辑,可为了良好的交互体验,又不得不写,最终解决方案,只有依靠 webasm 了。
    joydee
        22
    joydee  
       2021-11-30 13:53:29 +08:00   ❤️ 1
    今年十月上旬上线的"神秘的程序员《什么塑造了今天的编程世界》"作者以漫画的形式做了一个编程历史大事件回顾,京东上有卖的,可以作为简史看一下,当然,深入的话,就得配合外部资料了。
    ipwx
        23
    ipwx  
       2021-11-30 14:41:59 +08:00
    @3dwelcome ummm 你说的是数据分析部分的内容吧 hhh

    如果只论前端交互,没有比 Vue.js 这套 JS 框架更方便的了。C# 或者 Qt 要写相同功能的交互内容,那得写到吐血。
    3dwelcome
        24
    3dwelcome  
       2021-11-30 15:47:12 +08:00
    @ipwx

    前端有两大问题。

    第一,平均前端项目开发周期为 3 ~ 6 个月,如此短的周期,是很难作为个人的长期职业规划的。而传统软件开发,周期至少一年,这样代码经验才有足够多的积累和沉淀。

    第二,VUE 这种框架让前端入门门槛,降低很多,增加内卷程度。固定的编程模板和大量的 npm 组件库,个人编程能力就会被弱化。有时候一个美术学院刚毕业的新人,做出来的页面效果,都比老码农要好。

    你说 VUE 里的双向绑定,模板向编程得理念,别的语言也能做到。但前端框架就好比是大海里的一座孤岛,看起来岛上风景很美,当你要离开的时候,却发现自己什么宝藏都带不走。
    gadfly3173
        25
    gadfly3173  
       2021-11-30 17:05:41 +08:00
    @3dwelcome #24 这其实是对于项目来说是页面、交互更重要还是数据处理更重要的问题了吧。vue react 其实就是简化了页面交互的开发,也减少了许多需要重复造轮子的地方,使用这些框架之后可以把重心放在数据处理上。当然对于大部分企业来说没有什么特别需要处理的东西,大家都是在卖服务而不是卖软件,对于开发来说也就是一锤子开发,没啥积累了
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1604 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 28ms · UTC 16:34 · PVG 00:34 · LAX 08:34 · JFK 11:34
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.