当前位置: 首页 > news >正文

【数据分析专栏之Python篇】二、Jupyer Notebook安装配置及基本使用

文章目录

  • 前言
    • 一、Jupter Notebook是什么
      • 1.1 简介
      • 1.2 组成部分
      • 1.3 Jupyter Notebook的主要特点
    • 二、为什么使用Jupyter Notebook?
    • 三、安装
    • 四、Jupyter Notebok配置
      • 4.1 基本配置
      • 4.2 配置开机自启与后台运行
      • 4.3 开启代码自动补全
    • 五、两种键盘输入模式
      • 5.1 编辑模式
      • 5.2 命令模式
      • 5.3 其他常用快捷键
    • 六、魔法命令
      • 6.1 查看帮助文档
      • 6.2 其他魔法命令
    • 七、结语
    • 参考

前言

在上一篇中我们已经安装好了Anaconda,Anaconda本身自带Jupter Notebook。本期我们来学习使用 Jupyter Notebook。

一、Jupter Notebook是什么

1.1 简介

Jupyter Notebook是基于网页的用于交互计算的应用程序。其可被应用于全过程计算:开发、文档编写、运行代码和展示结果。——Jupyter Notebook官方介绍

Jupyter Notebook是一个开源 Web 应用程序,允许您创建和共享包含实时代码、方程式、可视化和叙述文本的文档。用途包括:数据清理和转换,数值模拟,统计建模,数据可视化,机器学习等等。支持python、C、java、Go等多种编程语言。同时支持markdown编辑器。

简而言之,Jupyter Notebook是以网页的形式打开,可以在网页页面中直接编写代码运行代码,代码的运行结果也会直接在代码块下显示的程序。如在编程过程中需要编写说明文档,可在同一个页面中直接编写,便于作及时的说明和解释。

image-20230725133039505

Jupyter Notebook 已迅速成为数据分析,机器学习的必备工具。因为它可以让数据分析师集中精力向用户解释整个分析过程。

1.2 组成部分

① 网页应用

网页应用即基于网页形式的、结合了编写说明文档、数学公式、交互计算和其他富媒体形式的工具。简言之,网页应用是可以实现各种功能的工具。

② 文档

即Jupyter Notebook中所有交互计算、编写说明文档、数学公式、图片以及其他富媒体形式的输入和输出,都是以文档的形式体现的。

这些文档是保存为后缀名为.ipynbJSON格式文件,不仅便于版本控制,也方便与他人共享。

此外,文档还可以导出为:HTML、LaTeX、PDF等格式。

1.3 Jupyter Notebook的主要特点

① 编程时具有语法高亮缩进tab补全的功能。

② 可直接通过浏览器运行代码,同时在代码块下方展示运行结果。

③ 以富媒体格式展示计算结果。富媒体格式包括:HTML,LaTeX,PNG,SVG等。

④ 对代码编写说明文档或语句时,支持Markdown语法。

⑤ 支持使用LaTeX编写数学性说明。

二、为什么使用Jupyter Notebook?

  • 传统软件开发:工程/目标明确

    需求分析,设计架构,开发模块,测试

  • 数据挖掘:艺术/目标不明确

    目的是具体的洞察目标,而不是机械的完成任务

    通过执行代码来理解问题

    迭代式地改进代码来改进解决方法

    实时运行的代码、叙事性的文本和可视化被整合在一起,方便使用代码和数据来讲述故事

    对比Jupyter Notebook和Pycharm

  • 画图和数据展示便捷,可以实时查看结果

总结:Jupyter Notebook 相比 Pycharm 在画图和数据展示方面更有优势。

三、安装

在上一篇中我们已经安装好了Anaconda,Anaconda本身自带Jupter Notebook。具体安装参考上篇。

四、Jupyter Notebok配置

4.1 基本配置

1、设置登录密码,获取sha1密码

# 首先进入python命令行
python
# 在命令行下输入
from notebook.auth import passwd;passwd()
# 按照提示输入密码,这是jupyter的登陆密码

记住设置的密码, 非常重要, 比如设置了密码为:123456。

记住sha1, 非常重要, 'sha1:XXXX:XXXX’全部复制下来, 包括引号。

2、修改jupyter配置文件

生成配置文件 jupyter_notebook_config.py,windows在 C:\Users\username\.jupyter下,username为你电脑用户名。如果没有这个文件,可以使用下面命令生成。

jupyter notebook --generate-config

编辑 jupyter_notebook_config.py,在开头加入以下代码

#设置可访问的ip为任意。
c.NotebookApp.ip = '*'  #某些版本为c.NotebookApp.ip = '0.0.0.0',都表示任意ip#不打开浏览器。推荐谷歌,火狐等访问登录jupyter
c.NotebookApp.open_browser = False#这里填上面设置密码时生成的hash密码
c.NotebookApp.password = 'sha1:XXXX:XXXX'#允许使用root用户开启jupyter,windows忽略这条
#c.NotebookApp.allow_remote_access = True#设置登陆端口,一般为8888
c.NotebookApp.port = 8888#设置jupyter-notebook的工作空间,注意linux与windows的路径表示方式
c.NotebookApp.notebook_dir = 'E:\workspace\pycharm\jupyter'## 其他配置项根据自己需要修改

3、启动

① 点击Jupyter Notebook打开

image-20230725125723658

② 在终端或者命令行输入,终端或者命令行不要关闭,在浏览器地址栏输入http://localhost:8888或者http://127.0.0.1:8888

jupyter-notebook

出现jupyter登陆页面则初步安装成功,输入设置的登陆密码,新建一个 Python 文件,即.ipynb文件

print("Hello Jupyter") # 按shift+enter运行

正常输出说明安装成功

4.2 配置开机自启与后台运行

① 在非系统目录下新建文本文档,修改文件名为jupyter.bat,需要设置文件显示后缀名。用记事本打开,输入以下代码:

@echo off
cd C:\ProgramData\Microsoft\Windows\Start Menu\Programs\StartUp
if "%1"=="h" goto begin
start mshta vbscript:createobject("wscript.shell").run("""%~nx0"" h",0)(window.close)&&exit
:begin
cd D:\PF\Anaconda3\Scripts
D:\PF\Anaconda3\Scripts\jupyter.exe notebook --no-browser --port=8888

其中,C:\ProgramData\Microsoft\Windows\Start Menu\Programs\StartUpD:\PF\Anaconda3\ScriptsD:\PF\Anaconda3\Scripts\jupyter.exe 根据自己系统和安装目录进行替换。

② 双击jupyter.bat 测试能否正常开启jupyter

③ 移动jupyter.bat到windows启动文件夹

  • win7 :C:\Users\admin\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup,admin为自己电脑用户名,需要根据自己电脑实际情况手动修改。
  • win10:C:\ProgramData\Microsoft\Windows\Start Menu\Programs\StartUp

4.3 开启代码自动补全

开启代码自动补全,可以提高代码的编写效率。重点推荐配置

1.使用pip安装jupyter拓展包,本人选择在cmd中安装

pip install jupyter_contrib_nbextensions

或者

conda install jupyter_contrib_nbextensions

2.配置 nbextension,前提是先关闭jupyter notebook

jupyter contrib nbextension install --user --skip-running-check

3.点击Jupyter图标,在Jupyter Notebook里开启功能

image-20230725105907224

4.然后打开hinterland功能

image-20230725105959188

5.最后就可以使用代码补全了

image-20230725110055382

五、两种键盘输入模式

Jupyter Notebook 有两种键盘输入模式,即命令模式和编辑模式,这与 Vim 有些类似。在编辑模式下,可以往单元中键入代码或文本,此时单元格被绿色的框线包围,且命令模式下的快捷键不生效。在命令模式下,可以用快捷键命令运行单元格,移动单元格,切换单元格编辑状态等等,此时的单元格被灰色的框线包围,且编辑模式下的快捷键不生效。

从命令模式进入编辑模式需按 Enter 键,从编辑模式切换到命令模式需按 Esc 键。

5.1 编辑模式

当条框单元为绿色时,此时处于编辑模式。编辑模式下我们主要记住代码补全、代码提示和运行单元的快捷键。

快捷键作用
Tab代码补全或缩进
Shift + Tab查看函数参数,光标要在括号中
Shift + Enter运行本单元,选中下一单元
Ctrl + Enter运行本单元
Alt + Enter运行本单元并在下方插入一个单元
esc、点击输入框前面的 ln [ ]退出编辑模式

5.2 命令模式

当输入框为蓝色时,此时处于命令模式。我们主要记住单元格增删和单元格状态转换。

快捷键作用
y单元格进入代码模式
m单元格进入 markdown 格式
A上方插入新单元格
B下方插入新单元格
DD删除选中的单元格
enter进入编辑模式

此外,还有三种运行代码模式快捷键,和编辑模式下相同,这里不再例举。

5.3 其他常用快捷键

  • ctrl+a: 全选
  • ctrl+z: 撤销
  • ctrl+c: 复制
  • ctrl+v: 粘贴
  • 保存ctrl+s:
  • ctrl+/:注释或者取消注释
  • shift+1l: 选中多行

六、魔法命令

Jupyter Notebook 中有许多魔法命令,魔法命令提供了一种简便、快捷的方式来执行常见任务,因此被称为“魔法”。

6.1 查看帮助文档

用法作用
?查看对变量、函数等的描述
??查看更细致的描述

请看下面的代码示例:

len?

返回:

Signature: len(obj, /)
Docstring: Return the number of items in a container.
Type:      builtin_function_or_method

下面定义一个函数:

def get_one():"""return the number 1"""return 1

如果是一个问号:

get_one?

返回

Signature: get_one()
Docstring: return the number 1
File:      e:\temp\ipykernel_1692\2371390829.py
Type:      function
如果是两个问号:
get_one??

返回

Signature: get_one()
Source:   
def get_one():"""return the number 1"""return 1
File:      e:\temp\ipykernel_1692\2371390829.py
Type:      function

看得出来,两个问号给予的描述是更细致的,毕竟疑问号都多了一个嘛。

6.2 其他魔法命令

魔法命令基本上都是以 % 开头的,用于实现一些在常规Python语法中无法实现或不容易实现的功能,使得开发者能够轻松地执行一些特定任务,从而让整个交互式计算环境显得更加“神奇”和高效。

魔法命令作用
%run运行后导入自定义文件,运行完后,该文件内的函数、类等都可以直接使用
%timeit统计运行时间, 用于测试一行代码性能,一般是耗时较短的
%time统计运行时间,用于测试代码性能,一般是耗时较长的
%who查看当前会话的所有变量与函数名称
%whos显示变量类型和值
%who_ls以列表形式显示变量和函数名
pip install用于安装包
lsmagic查看所有魔法命令
?查看魔法命令的帮助文档

现有一个名为 test.py 文件,包含如下内容:

def display():"""show the number"""print('hello')
def add(x,y):return x+y
display()

下面演示魔法命令的使用,因为代码较为简短,因此直接以图片形式展示。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-iglTQuH1-1690327331492)(C:\Users\崔羽飞\AppData\Roaming\Typora\typora-user-images\image-20230725111812375.png)]

七、结语

本期跟大家分享的内容就到此结束了!希望本文的内容能够帮助到你。

参考

Ubuntu与windows下配置安装jupyter-notebook以及其开机自启、后台运行与远程访问

windows环境 jupyter notebook 自启动 局域网访问

jupyter 的代码自动补全

Python实现读取txt文件并转换为excel的方法示例

Jupyter Notebook介绍、安装及使用教程

Jupyter Notebook介绍及使用操作

Jupyter Notebook 快捷键使用指南

Jupyter-notebook 常用魔法命令

相关文章:

【数据分析专栏之Python篇】二、Jupyer Notebook安装配置及基本使用

文章目录 前言一、Jupter Notebook是什么1.1 简介1.2 组成部分1.3 Jupyter Notebook的主要特点 二、为什么使用Jupyter Notebook?三、安装四、Jupyter Notebok配置4.1 基本配置4.2 配置开机自启与后台运行4.3 开启代码自动补全 五、两种键盘输入模式5.1 编辑模式5.2 命令模式5…...

ubuntu22.04 DNSSEC(加密DNS服务) configuration

/etx/systemd/resolved.conf是ubuntu下DNS解析服务配置文件,systemd为ubuntu下system and service配置目录 step 1——修改resolved.conf参数 管理员权限打开 /systemd/resolved.conf sudo nano /etc/systemd/resolved.conf修改如下: # This file i…...

Qt 第一讲

登录框设置 #include "zuoye.h" #include "ui_zuoye.h"Zuoye::Zuoye(QWidget *parent): QWidget(parent), ui(new Ui::Zuoye) {ui->setupUi(this);//界面this->resize(540,420); //设置尺寸this->setFixedSize(540,420);//固定尺寸this->setS…...

IDEA 使用 maven 搭建 spring mvc

1. 创建项目 1.1 创建成功之后配置 Spring MVC 1.2 勾选 Spring MVC 2.更改配置文件 2.1 更改web.xml配置 更改为 <servlet-mapping><servlet-name>dispatcher</servlet-name><url-pattern>/</url-pattern></servlet-mapping>2.2 dispat…...

Hi3536网络应用调优

目录 1. 为什么UDP接收或发送会丢包? 2. 使用 socket 接口时&#xff0c;如何正确工作在非阻塞模式下&#xff1f; 3. TOE 使能及使用注意事项 4. TOE 模式下使用 socket 接口时的注意事项 1. 为什么UDP接收或发送会丢包? 用户态应用程序在接收 UDP 数据时&#xff0…...

spring拦截器 与统一格式

目录 前言模拟拦截器拦截器的实现原理什么是动态代理? 什么是静态代理静态代理与动态代理的区别两种常用的动态代理方式基于接口的动态代理基于类的动态代理 JDK Proxy 与 CGlib的区别 其他 统⼀访问前缀添加统⼀异常处理统⼀数据返回格式 前言 之前博客讲述了 , 关于SpringA…...

leetcode 122. 买卖股票的最佳时机 II

2023.7.29 把整体利润拆分成每天的利润&#xff0c;将股票值想象成一个折线图&#xff0c;将所有上升的值相加即可。 代码&#xff1a; class Solution { public:int maxProfit(vector<int>& prices) {int ans 0;for(int i1; i<prices.size(); i){if(prices[i]-…...

代理模式:控制访问的设计模式

代理模式&#xff1a;控制访问的设计模式 什么是代理模式&#xff1f; 代理模式是一种常见的设计模式&#xff0c;它允许通过代理对象来控制对真实对象的访问。代理模式的主要目的是在不改变原始对象的情况下&#xff0c;提供额外的功能或控制访问。 为什么要使用代理模式&a…...

2020/7/30

Educational Codeforces Round 143 (Rated for Div. 2)\C_Tea_Tasting.cpp //题意&#xff1a;有n种茶&#xff0c;n个人&#xff0c;第i种茶有 a[i]的量&#xff0c;第i个人一次能喝 b[i], 第i个人从第i种茶开始往前喝&#xff0c;求每个人最多能喝多少茶。 //思路&#xff…...

图形编辑器开发:是否要像 Figma 一样上 wasm

大家好&#xff0c;我是前端西瓜哥。 wasm 拿来做 Web 端的图形编辑器貌似是不错的选择。 因为图形处理会有相当多无法利用到 WebGL GPU 加速的 CPU 密集的计算。比如对一条复杂贝塞尔曲线进行三角化&#xff0c;对多个图形进行复杂图形的布尔运算。 图形编辑器性能天花板 F…...

Linux学成之路(基础篇0(二十三)MySQL服务(主从MySQL服务和读写分离——补充)

目录 一、MySQL Replication概述 优点 异步复制&#xff08;Asynchronous repication&#xff09; 全同步复制&#xff08;Fully synchronous replication&#xff09; 半同步复制&#xff08;Semisynchronous replication&#xff09; 三、MySQL支持的复制 四、部署主从…...

spring启动流程 (6完结) springmvc启动流程

SpringMVC的启动入口在SpringServletContainerInitializer类&#xff0c;它是ServletContainerInitializer实现类(Servlet3.0新特性)。在实现方法中使用WebApplicationInitializer创建ApplicationContext、创建注册DispatcherServlet、初始化ApplicationContext等。 SpringMVC…...

设计模式-中介者模式在Java中使用示例-客户信息管理

场景 欲开发客户信息管理窗口界面&#xff0c;界面组件之间存在较为复杂的交互关系&#xff1a;如果删除一个客户&#xff0c; 要在客户列表(List)中删掉对应的项&#xff0c;客户选择组合框(ComboBox)中客户名称也将减少一个&#xff1b; 如果增加一个客户信息&#xff0c;…...

14443-1-doc

介绍 ISO/IEC 14443 是描述 ISO/IEC 7810 中定义的身份证参数以及此类卡在国际交换中的使用的一系列国际标准之一。 ISO/IEC 14443 的这一部分描述了感应卡的物理特性。 ISO/IEC 14443 的这一部分并不排除在卡上纳入其他标准技术&#xff0c;例如资料性附录 A 中引用的技术。非…...

SpringBoot的三层架构以及IOCDI

目录 一、IOC&DI入门 二、三层架构 数据库访问层 业务逻辑层 控制层 一、IOC&DI入门 在软件开发中&#xff0c;IOC&#xff08;Inversion of Control&#xff09;和DI&#xff08;Dependency Injection&#xff09;是密切相关的概念。 IOC&#xff08;控制反转&a…...

RabbitMQ部署指南

RabbitMQ部署指南 1.单机部署 我们在Centos7虚拟机中使用Docker来安装。 1.1.下载镜像 方式一&#xff1a;在线拉取 docker pull rabbitmq:3-management方式二&#xff1a;从本地加载 已经提供了镜像包&#xff1a; 上传到虚拟机中后&#xff0c;使用命令加载镜像即可&…...

【Golang】Golang进阶系列教程--Go 语言切片是如何扩容的?

文章目录 前言声明和初始化扩容时机源码分析go1.17go1.18内存对齐 总结 前言 在 Go 语言中&#xff0c;有一个很常用的数据结构&#xff0c;那就是切片&#xff08;Slice&#xff09;。 切片是一个拥有相同类型元素的可变长度的序列&#xff0c;它是基于数组类型做的一层封装…...

【数据结构】顺序表(SeqList)(增、删、查、改)详解

一、顺序表的概念和结构 1、顺序表的概念&#xff1a; 顺序表是用一段物理地址连续的存储单元依次存储数据元素的线性结构&#xff0c;一般情况下采用数组存储。在数组上完成数据的增删查改。 2、顺序表的结构&#xff1a; &#xff08;1&#xff09;静态顺序表&#xff1a;使…...

[golang gin框架] 42.Gin商城项目-微服务实战之后台Rbac微服务角色增删改查微服务

一.重构后台Rbac用户登录微服务功能 上一节讲解了后台Rbac微服务用户登录功能以及Gorm数据库配置单独抽离&#xff0c;Consul配置单独抽离&#xff0c;这一节讲解后台Rbac微服务角色增删改查微服务功能&#xff0c;Rbac微服务角色增删改查微服务和后台Rbac用户登录微服务是属于…...

项目篇:Echo论坛系统项目

一、登录注册模块 1、注册功能 1.1、注册流程图 1.2、注册代码 /*** 用户注册* param user* return Map<String, Object> 返回错误提示消息&#xff0c;如果返回的 map 为空&#xff0c;则说明注册成功*/public Map<String, Object> register(User user) {Map&l…...

数据可视化(2)

1.柱状图 #柱状图 #bar(x,height,width,*,aligncenter,**kwargs) #height柱子的高度&#xff0c;即y轴上的数据 #width数组的宽度&#xff0c;默认值0.8 #*表示后面的参数为匿名关键字&#xff0c;必须传入参数 #kwargs关键字参数x[1,2,3,4,5] height[random.randint(10,100)f…...

MD-MTSP:斑马优化算法ZOA求解多仓库多旅行商问题MATLAB(可更改数据集,旅行商的数量和起点)

一、斑马优化算法ZOA 斑马优化算法&#xff08;Zebra Optimization Algorithm&#xff0c;ZOA&#xff09;Eva Trojovsk等人于2022年提出&#xff0c;其模拟斑马的觅食和对捕食者攻击的防御行为。斑马优化算法&#xff08;Zebra Optimization Algorithm&#xff0c;ZOA&#x…...

【笔试强训选择题】Day32.习题(错题)解析

作者简介&#xff1a;大家好&#xff0c;我是未央&#xff1b; 博客首页&#xff1a;未央.303 系列专栏&#xff1a;笔试强训选择题 每日一句&#xff1a;人的一生&#xff0c;可以有所作为的时机只有一次&#xff0c;那就是现在&#xff01;&#xff01; 文章目录 前言 一、Da…...

抖音seo账号矩阵系统源码如何开发布局?

目录 一、 抖音SEO账号矩阵系统源码的开发布局步骤如下&#xff1a; 二。 开发部署源码 三、 开发部署功能设计 1. 短视频AI智能创作 2. 托管式账号管理: 3. 数据分析 4. 智能营销获客 四。 抖音seo源码开发部署交付技术文档包含 五。 开发代码展示&#xff1a; 一、 抖…...

vue项目cdn打包优化

0.用vue ui可以查看项目打包后的情况。 1.定义包的排除 let externals {axios: axios,element-ui: ELEMENT,echarts: echarts,} configureWebpack: {externals: externals }2.配置cdn包资源 // 配置 let cdn {css: [// element-ui csshttps://unpkg.com/element-ui/lib/th…...

Android 之 MediaPlayer 播放音频与视频

本节引言&#xff1a; 本节带来的是Android多媒体中的——MediaPlayer&#xff0c;我们可以通过这个API来播放音频和视频 该类是Androd多媒体框架中的一个重要组件&#xff0c;通过该类&#xff0c;我们可以以最小的步骤来获取&#xff0c;解码 和播放音视频。它支持三种不同的…...

React中事件处理器的基本使用

在React中&#xff0c;为了提高性能&#xff0c;跨浏览器兼容性和开发体验&#xff0c;React实现了一套自己的事件机制&#xff0c;利用事件委托和合成事件的方式统一管理事件订阅和分发。 为了让组件能够响应用户的交互行为&#xff0c;React提供了一系列的事件处理器&#xf…...

RobotFramework

一、RobotFramework的简介和特点 1、关键字驱动&#xff1a; 把项目中的业务逻辑封装成一个一个的关键字&#xff0c;然后调用不同的关键字组成不同的业务 2、数据驱动 把测试数据放到excel&#xff1a;yaml文件中 通过改变文件中的数据去驱动测试用例执行 3、特点&#xff…...

【Matplotlib 绘制折线图】

使用 Matplotlib 绘制折线图 在数据可视化中&#xff0c;折线图是一种常见的图表类型&#xff0c;用于展示随着变量的变化&#xff0c;某个指标的趋势或关系。Python 的 Matplotlib 库为我们提供了方便易用的功能来绘制折线图。 绘制折线图 下面的代码展示了如何使用 Matplo…...

ARM汇编基本变量的定义和使用

一、ARM汇编中基本变量是什么? 数字变量: GBLA LCLA SETA 逻辑变量:GBLL LCLL SETL 字符串:GBLS LCLS SETLS 注意需要TAB键定义变量和行首改变值 二、使用步骤 1.引入库 代码如下(示例): GBLA led_num Reset_Handler PROCEXPORT Reset_Handler [WEA…...

东莞做网站哪家好/百度推广外包

文档主要来自&#xff1a;http://blog.csdn.net/yjkwf/article/details/6067267 1. static类型 用static可以为类类型的所有对象所共有&#xff0c;像是全局对象&#xff0c;但又被约束在类类型的名字空间中。static定义的静态常量在函数执行后不会释放其存储空间。可以实施封装…...

网站如何在国外推广/网络公关公司

使用ASP.NET上传图片汇总 1 使用标准HTML来进行图片上传 前台代码&#xff1a; <body><form id"form1"runat"server"><div><table><tr><td colspan"2"style"height: 21px">使用标准HTML来进行图片…...

张雪峰谈广告学专业/seo是什么级别

现在经常要在网上查资料,查这个的时候,看到了另外一个新鲜的东西,结果想走迷宫一样,转来转去,等出来的时候发现早已远离了自己的主题.总结一点学习方法,供参考:1.先制定一个学习目标&#xff1b;2.针对该目标&#xff0c;提出10个关键问题&#xff1b;3.当在网上钻洞的时候&…...

郴州网站网络推广平台/盘多多网盘搜索

Werb项目地址&#xff1a;Werb/Werb简介&#xff1a;第三方微博更多&#xff1a;作者 提 Bug 标签&#xff1a;weibo-问题说明目前 sina 规定只能设置 15 个测试账号&#xff0c;而且现在单单提供测试账号貌似有很多问题&#xff0c;我建议你&#xff1a;自己去新浪新建一个…...

做映射后 内网无法通过域名访问网站/seo的形式有哪些

题意&#xff1a;学生和课程构成二部图&#xff0c;然后需要找到一个集合每个学生代表一门课&#xff0c;每一门课有一个学生代表。 思路&#xff1a;二分图入门题。当最大匹配等于课程数的时候可以找到集合。 代码如下&#xff1a; 1 /**************************************…...

展示型手机网站模板/资源搜索

• 描述使用ASM 的好处• 管理ASM 实例• 创建和删除ASM 磁盘组• 扩展ASM 磁盘组• 通过使用各种实用程序检索ASM 元数据Automatic Storage ManagementAutomatic Storage Management (ASM) 将文件系统与卷管理器纵向集成在一起&#xff0c;这是一项专门为Oracle DB 文件建立的…...