最新要闻
- 环球最资讯丨时隔3年 一加将再发概念机:搭载颠覆性技术
- 全球播报:吴孟达再现《流浪地球2》引热议 网友:看到达叔泪目
- 热点在线丨曝iPhone 15 Pro屏幕边框收窄:全系都是灵动岛设计
- 资讯推荐:漠河零下53℃是什么体验?冻梨能把板砖敲稀碎
- 带薪撸猫!95后宠托师春节保底收入过万:工作氛围很轻松
- 最长已经12年了!聊聊那些龟速进步的笔记本电脑部件
- 全球消息!今晚停服!网易发布致暴雪国服玩家的告别信:会服务到最后一刻
- 当前热讯:小米2023年安卓之光!小米13 Ultra现身:1英寸徕卡影像之王预定
- 世界新消息丨黑鲨唯一在售机型!黑鲨5 RS京东有货:2499元
- 全球热推荐:不过兔年过猫年 越南也有春晚 网友:有VCD卓依婷那味了
- 天天微速讯:不锈钢保温又保冷 富光316L畅饮杯59元包邮(日常99元)
- 环球时讯:春节档总票房破20亿:《流浪地球2》领衔 同步冲击好莱坞
- “中国造”的土耳其最快地铁正式开跑:时速120km 全自动驾驶
- 天天快播:微软Windows系统开发生变:Win10渐成弃儿 Win12呼之欲出
- 卷轴屏短期量产无望:困难重重
- 春节档破19亿 《流浪地球2》领跑:主演吴京总票房即将突破300亿
手机
iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?
警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案
- iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?
- 警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案
- 男子被关545天申国赔:获赔18万多 驳回精神抚慰金
- 3天内26名本土感染者,辽宁确诊人数已超安徽
- 广西柳州一男子因纠纷杀害三人后自首
- 洱海坠机4名机组人员被批准为烈士 数千干部群众悼念
家电
网络编程
- 网络编程
- 一、OSI七层协议
- 1.OSI七层协议之物理链接层
- 2.OSI七层协议之数据链路层
- 3.OSI七层协议之网络层
- 4.OSI七层协议之传输层
- 5.OSI七层协议之会话层
- 6.OSI七层协议之表示层
- 7.OSI七层协议之应用层
- 二、socket模块
- 三、并发编程理论
- 1.操作系统发展史(可以说CPU的利用率发展史)
- 2.多道技术
- 3.进程理论
- 4.进程的并行与并发
- 5.进程的三个状态、同步异步、阻塞与非阻塞、综合使用
- 6.创建进程的两种方式
- 7.进程对象的多种方法
- 8.多进程数据错乱问题 模拟抢票软件
- 9.进程池与线程池
- 10.协成
- 一、OSI七层协议
网络编程
引言 本篇文件研究的网络编程是指基于网络编写代码 能够实现数据的远程交互。实现数据的远程交互必备的基础条件是物理连接介质 比如网卡、网线、电话线。
(相关资料图)
一、OSI七层协议
OSI(Open System Interconnect ,开放式系统互连)七层协议:规定了所有的计算机在远程数据交互的时候必须经过相同的处理流程、在制造过程中必须拥有相同的功能硬件。接受网络消息 数据由下往上传递、发送网络消息 数据由上往下传递。OSI七层协议口诀为:应、表、会、传、网、数、物,常见的是整合之后的五层或四层。
应用层、表示层、会话层、传输层、网络层、数据链路层、物理链接层(七层)
应用层、传输层、网络层、数据链路层、物理链接层(五层)(核心)
应用层、传输层、网络层、网络接口层(四层)
# 网络相关专业名词(基础储备知识)"交换机":能够将所有接入交换机的计算机彼此互联起来"广播":首次查找接入同一个交换机的其他计算机需要朝交换机里面吼一嗓子"单播":首次被查找的计算机回应查找它的计算机并附带自己的mac地址"广播风暴":接入同一台交换机的多态计算机同时发广播"局域网":有单个交换机组成的网络 在局域网内可以直接使用mac地址通信"广域网":可以理解为范围更大的局域网"互联网":由局域网、广域网连接到一起形成的网络"路由器":用来链接不同的局域网计算机的介质
1.OSI七层协议之物理链接层
建立物理链接介质
2.OSI七层协议之数据链路层
# 规定了电信号的分组方式# 以太网协议规定了计算机在出厂的时候都必须有一块网卡 网卡上有一串数字该数字相当于是计算机的身份证号码是独一无二的该数字的特征:12位16进制数据(前6位产商编号 后6位流水线号)该数字也称为:以太网地址/MAC地址
3.OSI七层协议之网络层
IP协议:规定了所有接入互联网的计算机都必须有一个IP地址 类似于身份证号mac地址是物理地址可以看成永远无法修改IP地址是动态分配的不同的场所IP是不同的、可以用来标识全世界独一无二的一台计算机、可以跨局域网传输IP地址特征:IPV4:点分十进制0.0.0.0255.255.255.255IPV6:能够给地球上每一粒沙分一个IP地址
4.OSI七层协议之传输层
TCP与UDP都是用来规定通信方式的通信的时候可以随心所欲的聊 也可以遵循一些协议符合要求的聊随性所欲的聊:文字 图片 视频 小油腻话 你侬我侬遵循一些协议:开头带尊称 首行空两格 只准用官话 不能打情骂俏1.TCP协议(重要)三次握手建链接TCP协议也称为可靠协议(数据不容易丢失)造成数据不容易丢失的原因不是因为有双向通道 而是因为有反馈机制给对方发消息之后会保留一个副本 直到对方回应消息收到了才会删除否则会在一定的时间内反复发送洪水攻击同一时间有大量的客户端请求建立链接 会导致服务端一致处于SYN_RCVD状态服务端如何区分客户端建立链接的请求 可以对请求做唯一标识四次挥手断链接四次不能合并为三次 因为中间需要确认消息是否发完(TIME_WAIT)2.UDP协议也称之为数据报协议、不可靠协议早期的QQ使用的是纯生的(没有加任何额外功能)UDP协议现在的QQ自己添加了很多技术和功能使用UDP的原因就是因为很简单 快捷 粗暴 只要指定对方的地址就可以发消息了# PORT协议(端口协议)用来标识一台计算机上面的某一个应用程序范围:0-65535特征:动态分配(洗浴中心号码牌)建议: 0-1024 系统默认需要使用1024-8000 常见软件的端口号 8000之后的 URL:统一资源定位符(网址)网址本质是有IP和PORT组成的!!!IP+PORT:能够定位全世界独一无二的一台计算机上面的某一个应用程序域名解析:将网址解析成IP+PORT我们之所以不直接使用IP+PORT的原因是太难记 所以发明了域名(网址)IP:PORT 实际使用冒号连接114.55.205.139:80
5.OSI七层协议之会话层
会话层提供的服务是应用建立和维持会话,并能使会话获得同步。会话层使用校验点可使通信会话在通信失效时从校验点继续恢复通信。这种能力对于传送大的文件极为重要。会话层,表示层,应用层构成开放系统的高3层,面向应用进程提供分布处理、对话管理、信息表示、检查和恢复与语义上下文有关的传送差错等。为给两个对等会话服务用户建立一个会话连接。
6.OSI七层协议之表示层
表示层的作用之一是为异种机通信提供一种公共语言,以便能进行互操作。这种类型的服务之所以需要,是因为不同的计算机体系结构使用的数据表示法不同。例如,IBM主机使用EBCDIC编码,而大部分PC机使用的是ASCII码。在这种情况下,便需要会话层来完成这种转换。通过前面的介绍,我们可以看出,会话层以下5层完成了端到端的数据传送,并且是可靠的、无差错的传送。但是数据传送只是手段而不是目的,最终是要实现对数据的使用。由于各种系统对数据的定义并不完全相同,最易明白的例子是键盘——其上的某些键的含义在许多系统中都有差异。这自然给利用其它系统的数据造成了障碍。表示层和应用层就担负了消除这种障碍的任务。
7.OSI七层协议之应用层
应用层相当于是程序员自己写的应用程序 里面的协议非常的多常见的有:HTTP、HTTPS、FTP
二、socket模块
如果我们需要编写基于网络进行数据交互的程序,意味着需要自己通过代码来控制之前所学的OSI七层协议。但是过程很繁琐、操作非常复杂、就相当于自己编写操作系统。所以socket模块也叫套接字出场了,它类似于操作系统,封装了丑陋的复杂接口提供了快捷的接口。基于文件类型的套接字家族(单机) AF_UNIX;基于网络类型的套接字家族(联网) AF_INET;
# 服务端import socket# 1.首先要产生socket对象并指定采用的通信版本和协议,括号内空默认是TCP协议server = socket.socket()# 2.绑定一个固定的地址(服务端必备的条件),第一个参数为本机回环地址只能本机才能访问server.bind(("127.0.0.1", 8080))# 3.设立板连接池server.listen(5)# 4.等待接客 三次握手 sock是双向通道 addr是客户端地址sock, addr = server.accept()print(sock, addr)# 5.服务客人 一次性接受1024字节 发送的信息必须是bytes类型data = sock.recv(1024)print(data.decode("utf8"))sock.send("Hello,what can do for you?".encode("utf8"))# 6.关闭双向通道 就相当于门店打烊了 四次挥手sock.close()# 7.关闭服务端 就相当于门店倒闭了server.close()
# 客户端import socket# 1.首先生成socket对象指定类型和协议client = socket.socket()# 2.通过服务端的地址链接服务端client.connect(("127.0.0.1", 8080))# 3.直接给服务端发送信息client.send("Hi,I need ur help".encode("utf8"))# 4.接受服务端发送的信息data = client.recv(1024)print(data.decode("utf8"))# 5.断开与服务端的链接client.close()
三、并发编程理论
1.操作系统发展史(可以说CPU的利用率发展史)
一、穿孔卡片;计算机很庞大 使用很麻烦 一次只能给一个人使用 期间很多时候计算机都不工作。这样好处就是程序员独占计算机为所欲为、反而坏处就是计算机利用率降低 浪费资源。二、联机批处理系统;提前使用磁带一次性录入多个程序员的程序然后交给计算机处理,这样CPU工作效率提升了不用反复等待程序录入。三、脱机批处理系统;极大的提升了CPU的利用率,总体而言,整个发展过程只做一件事情,那就是不断想办法提升CPU的利用率。所以毫无疑问,计算机中真正工作的部分是CPU。
2.多道技术
研究躲到技术前,我们先说一下单道技术(排队执行);即上面所讨论过,所有的程序排序执行过程中不能重合,然而我们的多道技术利用计算机空闲时间提前准备其他数据最大化提升CPU的利用率。接下来咱们详细讨论一下多道技术(并发效果)。
一、切换;计算机的CPU在两种情况下会切换,程序有IO操作即输入输出,input、time.sleep、read、write。我们尽可能的让CPU同时运行多个程序。二、保存状态;CPU每次切换走之前都需要保存当前的操作状态下次切换回来基于上次记录继续执行
3.进程理论
程序:一堆死代码(还没被运行)进程:正在运行的程序(被运行的代码) 是资源单位表示一块内存空间线程:是执行单位 表示真正的代码指令
进程的调度算法一、FCFS(first come first serve,先来先服务);对短作业不友好二、短作业优先调度;对长作业不友好三、时间片轮转法加多级反馈队列(目前还在使用);将时间均分然后根据继承时间的长短再分多个等级,等级越靠下表示耗时越长、每次分到的时间越多但是优先级越低。
4.进程的并行与并发
并行;多个进程同时执行必须要多个CPU参与单个CPU无法实现并行并发;多个进程看上去像同时执行单个CPU可以实现多个CPU也肯定可以
5.进程的三个状态、同步异步、阻塞与非阻塞、综合使用
一、就绪态;所有的进程在被CPU执行之前都必须先进入就绪状态等待二、运行态;CPU正在运行三、阻塞态;进程运行过程中出现了IO操作阻塞态无法直接进入运行态需要先进入就绪态
同步;提交完成任务之后原地等待任务的返回结果期间不做任何事情异步;提交完成任务之后不会原地等待返回结果直接去做其他事情有结果自动通知阻塞;阻塞态非阻塞;就绪态、运行态综合使用;有四种状态,同步阻塞、同步非阻塞、异步阻塞、异步非阻塞(效率最高)
6.创建进程的两种方式
"""1.鼠标双击软件图标2.Python代码创建进程"""from multiprocessing import Processimport timeclass MyProcess(Process): def __init__(self, name, age): super().__init__() self.name = name self.age = age def run(self): print("run is running", self.name, self.age) time.sleep(3) print("run is over", self.name. self.age)if __name__ == "__main__": obj = MyProcess("almira", 123) obj.start() print("主")
7.进程对象的多种方法
from multiprocessing import Process, current_procseeimport os import time# 1.查看进程号current_process()current_process().pidos.getpid()os.getppid()# 2.结束进程p1.terminate()# 3.判断进程是否存活p1.is_alive()# 4.守护进程def task(name): print("进程名:%s" % name) time.sleep(3) print("进程名:%s" % name) if __name__ == "__main__": p1 = Process(target=task, args=("米热",)) p1.daemon = True p1.start() time.sleep(1) print("复习使我快乐")
8.多进程数据错乱问题 模拟抢票软件
from multiprocessing import Processimport timeimport jsonimport random# 查票def search(name): with open(r"data.json", "r", encoding="utf8") as f: data = json.load(f) print("%s在查票 当前余票为:%s" % (name, data.get("ticket_num")))# 买票def buy(name): # 再次确认票 with open(r"data.json", "r", encoding="utf8") as f: data = json.load(f) # 模拟网络延迟 time.sleep(random.randint(1, 3)) # 判断是否有票 有就买 if data.get("ticket_num") > 0: data["ticket_num"] -= 1 with open(r"data.json", "w", encoding="utf8") as f: json.dump(data, f) print("%s买票成功" % name) else: print("%s很倒霉 没有抢到票" % name)def run(name): search(name) buy(name)if __name__ == "__main__": for i in range(10): p = Process(target=run, args=("用户%s"%i, )) p.start()
9.进程池与线程池
进程和线程都不可以无限制的创建 因为硬件的发展速度赶不上软件 有物理极限 如果在编写代码的过程中无限制的创建进程或线程可能会导致计算机崩溃。
一、池;降低程序的执行效率 但是保证了计算机硬件的安全二、进程池;提前创建好固定数量的进程供后续程序的调用超出则等待三、线程池;提前创建好固定数量的线程供后续程序的调用超出则等待
from concurrent.futures import ProcessPoolExecutor, ThreadPoolExecutorimport osimport timeimport randomfrom threading import current_thread# 1.产生含有固定数量线程的线程池# pool = ThreadPoolExecutor(10)pool = ProcessPoolExecutor(5)def task(n): print("task is running") # time.sleep(random.randint(1, 3)) # print("task is over", n, current_thread().name) # print("task is over", os.getpid()) return "我是task函数的返回值"def func(*args, **kwargs): print("from func")if __name__ == "__main__": # 2.将任务提交给线程池即可 for i in range(20): # res = pool.submit(task, 123) # 朝线程池提交任务 # print(res.result()) # 不能直接获取 # pool.submit(task, 123).add_done_callback(func)
10.协成
进程;资源单位线程;执行单位协成;单线程下实现并发(效率极高)
下面咱细说一下协成吧!在代码层面欺骗CPU 让CPU觉得我们的代码里面没有IO操作、实际上IO操作被我们自己写的代码检测一旦有立刻代码执行别的程序;该技术完全是程序员自己弄出来的名字也是程序自己起的,核心:自己写代码完成切换+保存状态
"协成代码实现"import timefrom gevent import monkey;monkey.patch_all() # 固定编写 用于检测所有的IO操作(猴子补丁)from gevent import spawndef func1(): print("func1 running") time.sleep(3) print("func1 over")def func2(): print("func2 running") time.sleep(5) print("func2 over")if __name__ == "__main__": start_time = time.time() # func1() # func2() s1 = spawn(func1) # 检测代码 一旦有IO自动切换(执行没有io的操作 变向的等待io结束) s2 = spawn(func2) s1.join() s2.join() print(time.time() - start_time) # 8.01237154006958 协程 5.015487432479858
"协成实现并发"import socketfrom gevent import monkey;monkey.patch_all() # 固定编写 用于检测所有的IO操作(猴子补丁)from gevent import spawndef communication(sock): while True: data = sock.recv(1024) print(data.decode("utf8")) sock.send(data.upper())def get_server(): server = socket.socket() server.bind(("127.0.0.1", 8080)) server.listen(5) while True: sock, addr = server.accept() # IO操作 spawn(communication, sock)s1 = spawn(get_server)s1.join()
-
世界简讯:MySQL笔记01: MySQL入门_1.2 MySQL下载安装与配置
2 2MySQL下载安装与配置2 2 1MySQL下载MySQL中文官网:https: www mysql com cn MySQL英文官网:https: www mysql com
来源: 网络编程
【教程】配置多个SSH-Key
世界简讯:MySQL笔记01: MySQL入门_1.2 MySQL下载安装与配置
环球最资讯丨时隔3年 一加将再发概念机:搭载颠覆性技术
全球播报:吴孟达再现《流浪地球2》引热议 网友:看到达叔泪目
天天快播:学习笔记——Liunx中CentOS中的有关(network)的命令;其他命令;关机重启命令
天天快讯:区块链基础入门(一)
全球视点![概率论与数理统计]笔记:4.1 总体与样本
热点在线丨曝iPhone 15 Pro屏幕边框收窄:全系都是灵动岛设计
资讯推荐:漠河零下53℃是什么体验?冻梨能把板砖敲稀碎
PDF划词翻译
带薪撸猫!95后宠托师春节保底收入过万:工作氛围很轻松
最长已经12年了!聊聊那些龟速进步的笔记本电脑部件
全球消息!今晚停服!网易发布致暴雪国服玩家的告别信:会服务到最后一刻
当前热讯:小米2023年安卓之光!小米13 Ultra现身:1英寸徕卡影像之王预定
世界新消息丨黑鲨唯一在售机型!黑鲨5 RS京东有货:2499元
全球热推荐:不过兔年过猫年 越南也有春晚 网友:有VCD卓依婷那味了
天天微速讯:不锈钢保温又保冷 富光316L畅饮杯59元包邮(日常99元)
环球时讯:春节档总票房破20亿:《流浪地球2》领衔 同步冲击好莱坞
“中国造”的土耳其最快地铁正式开跑:时速120km 全自动驾驶
学习笔记——Liunx;Linux文件与目录结构;VI/VIM编辑器(一般模式、编辑模式、命令模式)
天天快播:微软Windows系统开发生变:Win10渐成弃儿 Win12呼之欲出
卷轴屏短期量产无望:困难重重
春节档破19亿 《流浪地球2》领跑:主演吴京总票房即将突破300亿
网友晒山东过年名场面:家族人共行磕头礼 仪式感拉满
iPhone 14 Pro不再是美国5G网速最快:被三星、谷歌超越
张艺谋执导!孙红雷谈《满江红》:超出预期 预测票房20亿起
【天天新要闻】曝iPad Pro明年有重大升级:玻璃材质、OLED屏幕
当前信息:今天上演2023年首场“星月童话”:肉眼可见金星、土星相伴月球
读函数式编程思维笔记04_语言与范式_模式与重用
头条:你看了吗?2023央视春晚触达110亿人次 年轻人占比过半
天天头条:气象台发布寒潮蓝色!山东断崖式降温:冷成了“山冻”
微资讯!魔兽世界国服关服最后一天 别忘了电子骨灰盒:24日停止
邓超王二妮春晚登台演唱!导演组:“一稳一疯”
全球视讯!小米汽车机密信息被曝光 设计神似特斯拉Model 3
焦点速读:夏普推出了NEC P627UL激光投影机:亮度高达6200ANSI流明
学习笔记——SSM整合(思路、步骤)
《流浪地球2》看不懂?专业科普来了 刷完电影来看看
焦点滚动:美国海关拆坏任天堂游戏稀有原封卡带:价值离谱
每年在中国收入500亿:连苹果都惹不起它
环球要闻:牌面!曙光新型计算机亮相《流浪地球2》
全球热点评!高端顶级大屏Win掌机!AYANEO KUN官宣:中文名叫“鲲”
世界信息:女子网购短裤7个月后异地签收 包裹跑遍广州、北京全国多地
【世界热闻】老外愤怒!2000块的旗舰SSD 990PRO 写了2T寿命暴跌至95%:竟遭三星拒保
焦点消息!适配器模式
环球百事通!《流浪地球2》上映首日吸金4.4亿!吴京主演作品票房突破290亿元
世界报道:男子包饺子放金戒指被网友质疑 霸气回应称自家开金店、寓意长寿多福
吃年夜饭鱼刺卡喉 医生一晚接诊近40例 提醒:切勿自行处理
沈腾可能要请很多人吃饭了!讲述小品《坑》背后:临场改词
山东一大妈首次放加特林烟花犹如上战场:网友评价“入戏太深”
学习笔记——SpringMVC拦截器的两种装配方式;SpringMVC拦截器工作原理;SpringMVC中的异常处理器;SpringMVC工作原理
【环球新要闻】俄宇航员从太空拍到除夕夜的中国:灯火通明、烟火璀璨
热推荐:雷军拍小米贺年照害羞了 现场即兴幽默:祝愿“暴富”会不会价值观有问题?
亚马逊、微软、谷歌之后:消息称苹果已经开始裁员
【天天新要闻】OPPO Find X6标准版屏幕素质拉满:支持2160Hz高频PWM调光
当前观察:网飞美剧《三体》杀青:美女云集!网友直呼汪淼演员毁三观
环球百事通!读函数式编程思维笔记03_权责让渡
科技改变生活!男子为“吃福币”用上金属探测器
性能太炸!AMD“热那亚”EPYC 9654成PassMark最快CPU
2.7公斤带剧毒!澳大利亚发现巨型海蟾蜍:已被安乐死
【天天新视野】maven的安装和配置
董宇辉回村放烟花 衣服烧了几个洞 网友:过年开心就好
总导演透露春晚因为沈腾启动了预案:不是因麦掉了 小品演短两分多
B. Emordnilap【Codeforces Round #845 (Div. 2) and ByteRace 2023】
张若昀成春晚吃烧鸡第一人 华强北连夜赶工上架同款手机壳
世界速看:AI当街罢工 通用无人驾驶出租车路上趴窝:致拥堵20分钟
报道:iPhone 15系列外形焕然一新!弧形边框回归:屏幕黑边窄得创纪录
快消息!中期改款宝马X5即将亮相
男子赶集花300元买五彩大公鸡:专业养殖户都没见过
天天速递!兔年大年初一电影票房破七亿元 《流浪地球2》第一
动态:重的石头也能打出好水漂:研究应用价值竟跟飞机有关!
金靖小品再现最快语速 背出电脑配置:酷睿i9+RTX 4090 Ti春晚“首发”
撒贝宁戴兔头帽回应鞋跟高:画面让人笑翻
环球观点:2023年春节档唯一科幻大片!吴京主演《流浪地球2》今日上映
环球实时:学习笔记——拦截器与过滤器的区别;拦截器概述;拦截器中三个方法
天天观速讯丨联想Thinkbook 16p公布:酷睿i9+RTX 4060 还支持磁吸配件
天天信息:苹果正在开发类似iPad的智能显示器!要进军智能家居
当前看点!笔记本外接显卡坞实测:RTX 4090损失20%性能 等同RTX 4080水准
全球今热点:支付宝五福开奖!你分到了多少?
Ubuntu 终端美化(oh-my-zsh)
技嘉AORUS Gen4 7300 SSD换上新闪存:顺序速度提升明显 飙到7.3GB/s
全球热点!七彩虹上架新款RTX 3050显卡:降低功耗、1999元
天天热文:2023年春晚今晚呈现:霸榜微博热搜
全球微动态丨非遗南音元素首登春晚:被称为“中国音乐史上的活化石”
《漫威复仇者联盟》即将停运 玩家:微交易毁了游戏
环球快资讯丨丰盛!神舟十五号乘组太空年夜饭菜单出炉:有熏鱼、水饺等19样
环球即时:Wallpaper壁纸提取得到tex文件,tex文件转图像,tex文件转png,tex文件提取壁纸,Wallpaper壁纸提取无法得到图像文件,ReP
环球新动态:学习笔记——SpringMVC文件上传与下载
五彩斑斓的烟花到底是化学反应还是物理反应?
Ubuntu22.04 安装 ssh
快看:西北唯一!西安全城红绿灯倒计时上线百度地图:支持语音提醒
世界今日报丨《流浪地球2》预售票房破2亿!春节档七部新片扎堆 你看好谁
当前报道:GO语言之环境搭建和基本命令
【世界聚看点】每天一部大片!腾讯视频线上春节档来了 大年初一必看
旅日大熊猫“香香”即将回国:日本民众不舍排长队告别
JavaScript 作用域和闭包
来自38万公里外!我国玉兔二号月球车发新照:这次是“兔子脚印”
世界热门:SOFAJRaft模块启动过程
全球今亮点!野性觉醒!动物园办虎兔交接仪式:兔子差点成“盘中餐”
【环球新视野】GXG男士休闲长款羊毛大衣:到手199元