js-20网络编程

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,高可用系列 2核4GB
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
简介: js-20网络编程

js-20网络编程


01.后端编程【nodejs?】

1.后端编程 =》应用程序 网站

三个部分 三个电脑
前端 负责页面展示,简单的交互效果
后端 接收请求 处理业务逻辑 响应数据
数据库 存储数据的仓库
运行过程:
1.前端请求商品列表数据
2.向后端发起一个商品列表请求
3.后端接受到请求之后,从数据库获取商品列表数据
4.响应给前端
5.前端根据后端相应渲染页面
后端编程语言:java | php | python | go | javascript语言
后端运行环境:
  前端>浏览器chrome v8引擎,解析执行javascript代码
  后端>node.js
执行js代码: 命令行窗口 >node xx.js
启动小贴士:
  window+r => 搜索cmd =>node -v(检查是否安装成功)
  vscode =>js文件--集成终端打开--注意下方右上角是cmd
  (下拉框--选择默认配置文件--cmd )
    (文件名可以tab快捷)


02.命令行操作

在node js环境中不能写dom和bom操作的代码
cd 目录名 跳转指定文件
cd.. 后退文件


03.web服务器

1.安装了提供web服务软件的电脑称之为web服务器
2.常见的web服务器软件有哪些?
  nginx
  apache
  tomache
  vscode插件liverServer 后期开发需用 
3.nginx如何使用


补充

端口不要写太小,会有占用
集成终端运行 
- 出现address already in use 按住ctrl+c停止运行重新启动
找自己ip地址:
- window+r => 输入cmd =>输入ipconfig
本机  127.0.0.1
chrome插件如何安装:
- 谷歌浏览器 => 三个点 - 更多工具 - 扩展程序 - 开发者 - 加载 - 选插件


练习.编写后端web程序【掌握】

//1.使用nodejs提供的内置的http模块,模块创建web服务相关的属性方法
const http = require('http') //引入node.js内置的http模块,赋值给http变量
//2.创建web服务对象
let server = http.createServer(function (request, response) {
    //request 请求对象,前端请求信息包含在此对象中
    //response 相应对象,后端相应给前端的信息包含在此对象中
    let url = request.url
    console.log('url', url); //要求: 当用户在浏览器输入 http://ip:port:3000/productlist 时,
    //避免乱码,设置字符集
    response.writeHead(200, {
        'content-type': 'text/html;charset=utf-8'
    })
    if (url.indexOf('productlist') !== -1) {
        let productList = [{
                id: 1001, //商品序号
                name: 'js高级编程', //商品名
                url: 'https://img1.baidu.com/it/u=454394458,1998378568&fm=253&fmt=auto&app=138&f=JPEG', //商品图片
                price: 68.90, //商品价格
                num: 0, //商品数量
                singlePrice: 0, //商品总价=数量*价格    
                state: false //状态
            },
            {
                id: 1002,
                name: 'css高级编程',
                url: 'https://img1.baidu.com/it/u=337910016,91561566&fm=26&fmt=auto',
                price: 55.89,
                num: 0,
                singlePrice: 0,
                state: false //状态
            },
            {
                id: 1003,
                name: 'html高级编程',
                url: 'https://img1.baidu.com/it/u=337910016,91561566&fm=26&fmt=auto',
                price: 45.89,
                num: 0,
                singlePrice: 0,
                state: false //状态
            }
        ]
        //不能传入对象,要转成字符串 对象不能再网络中运输
        var productListStr = JSON.stringify(productList)
        response.write(productListStr)
    } else {
        response.write('你好哇,小美女') //
        response.write('hello,beauty')
    }
    response.end() //结束写入,相应内容
})
//3.启动web服务器,监听端口,端口区分同一台电脑不同web应用的
server.listen(3000, () => console.log('服务器监听成功,监听3000端口...'))
操作:
启动服务=》集成终端
发起请求=》地址栏输入 
ip地址:端口//请求的东西 
ex:http://127.0.0.1:3000/productlist


04.数据库【掌握】

数据库
       - 持久化存储数据库的仓库
       - 在数据库中以 二维表结构形式存储数据,一个数据库可以有多张表
           表结构: 字段名  描述表信息,商品表中描述商品信息
                   记录    表示一条条的商品
           商品ID   商品名称         商品价格
           1001     javascript编程   89.98
           1002     css编程          59.98
创建表:
             1.表结构
                 字段名   数据类型   
                  商品ID   (数值)  int
                  商品名称 (字符串) varchar(可变长度)  char(固定长度)    
             2.添加记录
                1001     javascript编程   89.98
数据库管理软件=》用来创建数据库
        mysql  oracle      sqlserver   DB2       
               甲骨文       微软        IBM 
               数据重要性
        java


mySqual

mySqual下载:
  甲骨文官网=》mysqual Community Server=>dowload
判断安装是否成功?
  我的电脑 - 管理 - 服务 - mySqual - 双击 - 安装路径
操作mySqual服务器?
  客户端命令行操作mySqual...了解
  mysqual - bin - 搜索cmd - 输入>mysql -u root -p - 输入密码(命令显示)
  命令 show database; 查看数据库
可视化mySqual?
启动 - 连接 -  创建表
数据库名 - 对应 - 应用名
练习:
   1. 安装mysql数据库管理软件
     2. 安装mysql可视化软件navcat
     3. 使用navcat连接mysql数据库服务
     4. 创建数据库名productdb
     5. 创建表product
          商品ID:   id    int     主键
          商品名称:  name  vachar
          商品价格:  price  dobule
          商品数量:  num    int
          商品地址:  url    varchar
     6.添加记录


05.sql语句

SQL语言: 结构化查询语言
        数据库操作一门语言,提供多条sql语句,操作数据库
            - 创建数据库
            - 创建表
sql语句 WHERE 条件
- 插入记录
  INSERT INTO 表名 (字段名1,字段名2...)VALUES(值1,值2...)
  如: 商品表product 插入一条记录, 1001 vue编程  88.99  1  http://xx.jpg
  INSERT INTO product (id,name,price,num,url)VALUES(1001,'vue编程',88.99,1,'https://img1.baidu.com/it/u=454394458,1998378568&fm=253&fmt=auto&app=138&f=JPEG')     
- 删除记录
  DELETE FROM product WHERE id = 1003
- 查询记录
  SELECT id,name,price,num FROM product 
    SELECT id,name,num FROM product WHERE price>80
- 修改记录
  UPDATE product SET `name` = 'VUE高级编程' WHERE id=1006
如何运行mySql语句?
  navicat - 查询 - 新建查询 - 写入语句 - 运行 - 受影响行1行(成功执行)
  # 注释


06.后端程序集成数据库【掌握】

 1.后端程序连接数据库
        下载第三方mysql数据库模块
         npm install mysql  //下载
        引入mysql模块
         const mysql = require('mysql')
      操作:
      对应文件 - 集成终端 - 执行>npm install mysql - node_modules(下载成功)
- 写程序 - 后端执行代码用集成终端 node命令
 2.执行sql语句
 3.处理结果集
程序:
//1.引入mysqual模块
const mysql = require('mysql')
//2.获取数据库连接对象 
let connection = mysql.createConnection({ //创建链接
    host: 'localhost',
    user: 'root',
    password: '12345z',
    database: 'productdb'
})
//建立链接
connection.connect() //后端程序和数据库链接成功
//执行mysql语句
let sql = 'SELECT id,name,price,num,url FROM product '
// let sql = "INSERT INTO product (id,name,price,num,url)VALUES(1008,'vue编程',88.99,1,'https://img1.baidu.com/it/u=454394458,1998378568&fm=253&fmt=auto&app=138&f=JPEG')     "
connection.query(sql, function (err, data) {
    //err是错误对象,如果数据库出错,为true
    //data数据库正常返回的数据
    if (err) {
        console.log('数据库出错', err);
        return;
    }
    console.log(data);
})
//关闭数据库连接
connection.end()
o&app=138&f=JPEG’) "
connection.query(sql, function (err, data) {
//err是错误对象,如果数据库出错,为true
//data数据库正常返回的数据
if (err) {
console.log(‘数据库出错’, err);
return;
}
console.log(data);
})
//关闭数据库连接
connection.end()
相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。   相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情: https://www.aliyun.com/product/rds/mysql 
相关文章
|
4月前
|
监控 算法 JavaScript
基于 JavaScript 图算法的局域网网络访问控制模型构建及局域网禁止上网软件的技术实现路径研究
本文探讨局域网网络访问控制软件的技术框架,将其核心功能映射为图论模型,通过节点与边表示终端设备及访问关系。以JavaScript实现DFS算法,模拟访问权限判断,优化动态策略更新与多层级访问控制。结合流量监控数据,提升网络安全响应能力,为企业自主研发提供理论支持,推动智能化演进,助力数字化管理。
100 4
|
4月前
|
存储 监控 算法
公司内部网络监控中的二叉搜索树算法:基于 Node.js 的实时设备状态管理
在数字化办公生态系统中,公司内部网络监控已成为企业信息安全管理体系的核心构成要素。随着局域网内终端设备数量呈指数级增长,实现设备状态的实时追踪与异常节点的快速定位,已成为亟待解决的关键技术难题。传统线性数据结构在处理动态更新的设备信息时,存在检索效率低下的固有缺陷;而树形数据结构因其天然的分层特性与高效的检索机制,逐渐成为网络监控领域的研究热点。本文以二叉搜索树(Binary Search Tree, BST)作为研究对象,系统探讨其在公司内部网络监控场景中的应用机制,并基于 Node.js 平台构建一套具备实时更新与快速查询功能的设备状态管理算法框架。
116 3
|
6月前
|
监控 算法 JavaScript
企业用网络监控软件中的 Node.js 深度优先搜索算法剖析
在数字化办公盛行的当下,企业对网络监控的需求呈显著增长态势。企业级网络监控软件作为维护网络安全、提高办公效率的关键工具,其重要性不言而喻。此类软件需要高效处理复杂的网络拓扑结构与海量网络数据,而算法与数据结构则构成了其核心支撑。本文将深入剖析深度优先搜索(DFS)算法在企业级网络监控软件中的应用,并通过 Node.js 代码示例进行详细阐释。
110 2
|
6月前
|
JavaScript 算法 前端开发
JS数组操作方法全景图,全网最全构建完整知识网络!js数组操作方法全集(实现筛选转换、随机排序洗牌算法、复杂数据处理统计等情景详解,附大量源码和易错点解析)
这些方法提供了对数组的全面操作,包括搜索、遍历、转换和聚合等。通过分为原地操作方法、非原地操作方法和其他方法便于您理解和记忆,并熟悉他们各自的使用方法与使用范围。详细的案例与进阶使用,方便您理解数组操作的底层原理。链式调用的几个案例,让您玩转数组操作。 只有锻炼思维才能可持续地解决问题,只有思维才是真正值得学习和分享的核心要素。如果这篇博客能给您带来一点帮助,麻烦您点个赞支持一下,还可以收藏起来以备不时之需,有疑问和错误欢迎在评论区指出~
|
存储 安全 JavaScript
云计算浪潮中的网络安全之舵探索Node.js中的异步编程模式
【8月更文挑战第27天】在数字化时代的风帆下,云计算如同一片广阔的海洋,承载着企业与个人的数据梦想。然而,这片海洋并非总是风平浪静。随着网络攻击的波涛汹涌,如何确保航行的安全成为了每一个船员必须面对的挑战。本文将探索云计算环境下的网络安全策略,从云服务的本质出发,深入信息安全的核心,揭示如何在云海中找到安全的灯塔。
|
JavaScript 算法 前端开发
采招网JS逆向:基于AES解密网络数据
采招网JS逆向:基于AES解密网络数据
248 0
|
8月前
|
存储 监控 算法
局域网网络管控里 Node.js 红黑树算法的绝妙运用
在数字化办公中,局域网网络管控至关重要。红黑树作为一种自平衡二叉搜索树,凭借其高效的数据管理和平衡机制,在局域网设备状态管理中大放异彩。通过Node.js实现红黑树算法,可快速插入、查找和更新设备信息(如IP地址、带宽等),确保网络管理员实时监控和优化网络资源,提升局域网的稳定性和安全性。未来,随着技术融合,红黑树将在网络管控中持续进化,助力构建高效、安全的局域网络生态。
131 9
|
10月前
|
机器学习/深度学习 自然语言处理 前端开发
前端神经网络入门:Brain.js - 详细介绍和对比不同的实现 - CNN、RNN、DNN、FFNN -无需准备环境打开浏览器即可测试运行-支持WebGPU加速
本文介绍了如何使用 JavaScript 神经网络库 **Brain.js** 实现不同类型的神经网络,包括前馈神经网络(FFNN)、深度神经网络(DNN)和循环神经网络(RNN)。通过简单的示例和代码,帮助前端开发者快速入门并理解神经网络的基本概念。文章还对比了各类神经网络的特点和适用场景,并简要介绍了卷积神经网络(CNN)的替代方案。
1341 1
|
10月前
|
数据采集 JavaScript 前端开发
JavaScript重定向对网络爬虫的影响及处理
JavaScript重定向对网络爬虫的影响及处理
|
11月前
|
存储 资源调度 JavaScript
vue.js【网络请求和状态管理】
vue.js【网络请求和状态管理】

热门文章

最新文章