- 免费编程课程大汇总:从入门到精通的一站式资源
大力出奇迹985
人工智能大数据
在数字化时代,编程已成为一项至关重要的技能,无论是为了职业发展还是个人兴趣,学习编程都极具价值。本文精心汇总了丰富的免费编程课程资源,涵盖从基础入门到精通的各个阶段。通过全面介绍如Coursera、edX等在线学习平台,Codecademy、freeCodeCamp等交互式学习网站,以及B站、网易云课堂等视频课程平台的免费课程,为编程学习者提供了一站式的资源指南,帮助读者轻松开启编程学习之旅,逐步
- 2025.07 Java入门笔记01
殷浩焕
笔记
一、熟悉IDEA和Java语法(一)LiuCourseJavaOOP1.一直在用C++开发,python也用了些,Java是真的不熟,用什么IDE还是问的同事;2.一开始安装了jdk-23,拿VSCode当编辑器,在cmd窗口编译运行,也能玩;但是想正儿八经搞项目开发,还是需要IDE;3.安装了IDEA社区版:(1)IDE通常自带对应编程语言的安装包,例如IDEA自带jbr-21(和jdk是不同的
- Navicat练习与实操(第九节课内容总结见下篇)
咩?
android前端sql
MySQL练习练习题目现在有以下四张表Student学生ID学生名字学生生日学生性别s_ids_names_births_sexCourse课程ID课程名字教师IDc_idc_namet_idTeacher教师ID教师名字t_idt_nameScore学生ID课程ID学生分数s_idc_ids_score1.对以上表格分别建表(要求:id为各个表的主键、其他字段非空设置默认值为、给表以及表中字段设
- 2018-12-01 网摘
最爱可乐
勤奋的三重境界:1、资源层:个人投入的时间、精力、金钱、情感资源。2、方法论层:使用资源、提高效率的方法论。3、目标层:选择做什么、不做什么,以及背后的价值判断。在线教育五大商业模式一、MOOC模式(massiveopenonlinecourse)录播类时效性、交互性二、水平课程平台,??三、辅助软件模式,教辅四、网校K12模式,监管责任问题五、移动校园模式,网络终端每一件表面看起来多么不合理的事
- debeaver22添加mongodb驱动
给大家整理了一些有关【Java,数据库】的项目学习资料(附讲解~~):https://edu.51cto.com/course/35714.htmlhttps://edu.51cto.com/course/30635.html以一些关于【数据库】的学习资料和大家一起分享一下:https://edu.51cto.com/video/27688.html在DBeaver中添加MongoDB驱动的指南D
- 慕课的价值 | 《跨越式成长》第11章
静水JiangJiang
三个问题:1.慕课是什么,有什么特点?2.慕课等在线学习有什么价值?3.如何利用好慕课持续学习?一、慕课是什么,有什么特点?慕课(MOOC)课程,即大型在线开放课程,可汗学院,Coursera,Udacity,edX等学习网站的课程都是慕课。以Coursera为例,它是由斯坦福大学两名教授创办,同斯坦福大学、密歇根大学等世界顶尖大学和机构合作,国内北大、复旦等大学也有加入,旨在提供任何人可学习的在
- 别人否定你的时候更要相信自己
快乐有你_1ec8
多年之后我才明白这个道理。Ittookmewaytoolongtolearnthis.我意识到自己被不怀好意的人包围,当然他们的目标是困住我的手脚,让我飞不起来。IrealizeIwasjustsurroundedbytoxicpeople,ofcoursetheirobjectivewastocutmedown.嫉妒是一种毒药。Jealousyisapoison.直到最后,我从这些人的恶意中脱身
- OOM relation to vm.swappiness=0 in new kernel
rocksword
Linux
IhaverecentlybeeninvolvedindiagnosingthereasonsbehindOOMinvocationthatwouldkilltheMySQLserverprocess.OfcoursetheseserverswereprimarilyrunningMySQL.AssuchtheMySQLserverprocesswastheonewiththelargestamo
- JAVA中List接口的使用方法:增删改查
虫yu
packagecom.collection;/***课程类*@authormy-mac**/publicclassCourse{publicStringid;publicStringname;publicCourse(){//TODOAuto-generatedconstructorstub}publicStringgetId(){returnid;}publicvoidsetId(Stringi
- Crash Course:10分钟心理学速成-【第23集】人格测量
ado_l
链接:https://open.163.com/newview/movie/courseintro?newurl=%2Fspecial%2Fopencourse%2Fcrashcoursepsychology.html重点1、人格特质(Trait)理论根据稳定持久的行为模式和有意识的动机来定义不同类型的人格。奥尔波特:通过“基本特质”的概念来描述人格。特质就是特征行为和有意识的动机,但他并没有对人
- Crash Course:10分钟心理学速成-【第13集】击倒波波
ado_l
链接:https://open.163.com/newview/movie/courseintro?newurl=%2Fspecial%2Fopencourse%2Fcrashcoursepsychology.html重点1、心理学家阿尔伯特·班杜拉实验:观看了女人殴打小丑“波波”的孩子更容易模仿对方的攻击性行为。挑战了那个年代一度处于统治地位的行为主义的观点,即学习仅仅是条件作用和联结建立,奖励
- python教程修订版
Ethan learn English
python
9/23Inthiscourse,I'mgoingtoteachyoueverythingyouneedtoknowtogetstartedprogramminginPython.Now,Pythonisoneofthemostpopularprogramminglanguagesoutthere在众多的……中.Andit'sbyfar目前为止oneofthemostsõughtafter受欢迎的
- 粘的ScalersTalk第七轮新概念朗读持续力训练Day 75 211228
粘_NIAN
练习材料:Lesson75SOSWhenalightpassengerplaneflewoffcoursesometimeago,itcrashedinthemountainsanditspilotwaskilled.Theonlypassengers,ayoungwomanandhertwobabydaughters,wereunhurt.Itwasthemiddleofwinter.Snowl
- 【k8s学习】Kubernetes新手学习,4小时视频笔记总结
伊丽莎白2015
【学习视频地址】KubernetesTutorialforBeginnersFULLCOURSEin4Hours视频不一定打得开,不过我笔记也很详细了。【笔记内容】1-【k8s学习】Kubernetes学习——核心组件和架构2-【k8s学习】minikube、kubectl、yaml配置文件的介绍3-【k8s学习】在minikube上布署MongoDB和MongoExpress4-【k8s学习】k
- 学习笔记(66):Python入门教程-datetime模块时间运算
顾子宇
研发管理python编程语言Python小猿圈Python入门教程
立即学习:https://edu.csdn.net/course/play/24459/296363?utm_source=blogtoedudatetime模块:datetime.date:表示日期的类,常用属性有year,month,daydatetime.time:表示时间的类,常用的属性有hour,minute,second,microseconddatetime.datetime:表示日
- 数据库第四次作业
dustcell.
数据库
1.将mydb9_stusys数据库下的student、sc和course表,备份到本地主机保存为st_msg_bak.sql文件,然后将数据表恢复到自建的db_test数据库中;--备份mysqldump-uroot-pmydb9_stusysstudentsccourse>st_msg_bak.sql#创建目标数据库mysql-uroot-p-e"CREATEDATABASEdb_test;"
- 【React Native】动态路由与参数传递
秀秀_heo
跨端开发reactnativereact.jsjavascript
动态路由[id].js文件是个动态路由文件。使用:/courses/1/courses/2都是可以匹配上的,也就说它的最后一个参数是不确定的,可以是任意值。参数传递import{View,Text,StyleSheet,TouchableOpacity}from"react-native";import{Link,useRouter}from"expo-router";exportdefaultf
- Julia视频教程
Bounce_aaba
在网易云课堂上直接搜索:Julia教程,就可以找到,教程的全名是:Julia教程从入门到进阶这是国内第一个免费的完整的Julia视频教程,非常适合Julia的入门。有兴趣的朋友可以去学习一下。教程链接:https://study.163.com/course/courseMain.htm?share=2&shareId=480000001854445&courseId=1208959805&_tr
- FPS手游逆向分析--------矩阵
柠檬味的榴莲
FPS手游的一些逆向分析矩阵线性代数python
寻找游戏矩阵谈谈个人对于矩阵的理解:所谓矩阵就是相机即人物视角当今的游戏人物的移动分为两部分:游戏世界中的人物在移动和相机的移动相机的移动使得玩家可以跟得上人物的行动如果游戏中的人物在移动,相应的相机也会移动同样的转动视角其实就是在转动相机人物前后移动相机也会动。那我们是不是可以利用不断地改变矩阵来搜索游戏中变动的值从而找到矩阵呢。Ofcourse但是如果你拿来一个矩阵demo你就会发现,前后移动
- AI 时代程序员的出路:高薪神话还能撑多久?
freewind
人工智能
2025年,美国市场一名普通软件工程师的平均总包仍在15–16万美元/年,位居各行业顶薪之列BuiltInCoursera。可就在同时,71%的企业已经把AI写码模型引入生产线,近一半“用得相当激进”LegitSecurity——意味着写代码这件事,正在被机器半自动接管。下一个五年,程序员还能稳坐“金饭碗”吗?1|程序员为什么一直“贵”?原因解释稀缺性计算机教育普及赶不上互联网爆发,10年形成长期
- Building Apps with AI Tools: ChatGPT, Semantic Kernel, and Langchain 项目推荐
滕娴殉
BuildingAppswithAITools:ChatGPT,SemanticKernel,andLangchain项目推荐building-apps-with-ai-tools-chatgpt-semantic-kernel-langchain-4469616ThisisacoderepositoryfortheLinkedInLearningcourseBuildingAppswithAIT
- 1462. 课程表 IV
duoyasong5907
数据结构与算法leetcode算法职场和发展
思路1floydhttps://leetcode.cn/problems/course-schedule-iv/solution/1462-cji-hu-shuang-bai-de-yu-ji-suan-jie-a1kk/使用floyd算法,逐个选取中间点k去"连接"每一对i和j。时间复杂度O(n3)O(n^3)O(n3)。需要注意:初始化二维数组时,用列表生成式法能又快又正确地生成。floyd公
- 人工智能学习资源
Hemy08
人工智能学习
无机器学习基础:https://www.coursera.org/learn/machine-learning有机器学习基础:MachineYearning深度学习入门:https://www.coursera.org/learn/neural-networks-deep-learning
- mybatis考试
题目:学生选课管理系统(高级版,无事务)数据库表结构(保持不变)1.学生表(student)id(主键,自增)name(学生姓名)gender(性别)age(年龄)class_id(班级ID)2.班级表(class)id(主键,自增)class_name(班级名称)课程表(course)id(主键,自增)course_name(课程名称)teacher(授课老师)3.选课表(student_cou
- Vue如何处理数据、v-HTML的使用及总结
网络点点滴
Vue3vue.jshtml前端
Vue如何处理数据、v-HTML的使用及总结Vue是如何处理数据的这里我们先看一段代码constapp=Vue.createApp({data(){return{courseGoalA:'学习Vue,最终掌握Vue',courseGoalB:'掌握Vue,并构建相应的应用程序',vueLink:'https://cn.vuejs.org/'};},methods:{outputGoal(){con
- 解决VSCode打开最近项目后终端shell不正常的问题
sunrise_ccx
vscodeide编辑器
背景:平时喜欢使用oh-my-zsh作为终端shell,每次打开recentproject,恢复的终端的shell就变了,很难用。(base)➜playground*Historyrestored97e5bbd1bd58#解法:一种直观解法是,关闭terminal,新开一个。有点麻烦,而且过往历史也没了。另一种解法是,在设置里面,搜索terminal.integrated.defaultProfi
- 设置cursor、vscode的默认终端
啥都不会工程师
vscodeide编辑器
一般来说设置为command会比较好,比较方便和anaconda连用。但是正常来说默认是powershel,参考了别的帖子先用ctrl+shift+p调出命令输入settingsjson进入修改为:{"terminal.integrated.profiles.windows":{"CommandPrompt":{"path":"C:\\Windows\\System32\\cmd.exe"},"P
- Android开发:管理设备配置更改与广播接收器
背景简介在Android开发中,确保应用在面对设备配置更改时数据不丢失,以及高效地管理网络请求,是提升用户体验的关键。本篇博客将基于《AndroidDeveloperFundamentalsCourse(V2)》课程内容,探讨如何使用AsyncTaskLoader来处理数据持久化问题,以及如何利用广播接收器来响应系统广播和自定义广播。使用AsyncTaskLoader进行数据持久化当用户旋转设备屏
- 06-three.js 创建自己的缓冲几何体
四喜花露水
Threejavascript前端开发语言
Three.jsJourney—LearnWebGLwithThree.jsTheultimateThree.jscoursewhetheryouareabeginneroramoreadvanceddeveloperhttps://threejs-journey.com/?c=p3关键点:1.newFloat32Array()2.newTHREE.BufferAttribute()3.geome
- 领域驱动设计实战:高效在线教育平台开发
你一身傲骨怎能输
软件工程领域驱动设计
文章摘要领域驱动设计实战:构建高效的在线教育平台本文系统介绍了领域驱动设计(DDD)在在线教育平台中的应用。核心内容包括:DDD核心理念:以业务领域为中心,通过限界上下文划分复杂系统,实现业务与代码结构一致。领域划分:在线教育平台分为课程管理、用户权限、订单支付等核心领域,各领域通过领域事件或API通信。建模实战:以课程管理为例,设计聚合根(Course)、实体(Chapter)和值对象(Mate
- 统一思想认识
永夜-极光
思想
1.统一思想认识的基础,才能有的放矢
原因:
总有一种描述事物的方式最贴近本质,最容易让人理解.
如何让教育更轻松,在于找到最适合学生的方式.
难点在于,如何模拟对方的思维基础选择合适的方式. &
- Joda Time使用笔记
bylijinnan
javajoda time
Joda Time的介绍可以参考这篇文章:
http://www.ibm.com/developerworks/cn/java/j-jodatime.html
工作中也常常用到Joda Time,为了避免每次使用都查API,记录一下常用的用法:
/**
* DateTime变化(增减)
*/
@Tes
- FileUtils API
eksliang
FileUtilsFileUtils API
转载请出自出处:http://eksliang.iteye.com/blog/2217374 一、概述
这是一个Java操作文件的常用库,是Apache对java的IO包的封装,这里面有两个非常核心的类FilenameUtils跟FileUtils,其中FilenameUtils是对文件名操作的封装;FileUtils是文件封装,开发中对文件的操作,几乎都可以在这个框架里面找到。 非常的好用。
- 各种新兴技术
不懂事的小屁孩
技术
1:gradle Gradle 是以 Groovy 语言为基础,面向Java应用为主。基于DSL(领域特定语言)语法的自动化构建工具。
现在构建系统常用到maven工具,现在有更容易上手的gradle,
搭建java环境:
http://www.ibm.com/developerworks/cn/opensource/os-cn-gradle/
搭建android环境:
http://m
- tomcat6的https双向认证
酷的飞上天空
tomcat6
1.生成服务器端证书
keytool -genkey -keyalg RSA -dname "cn=localhost,ou=sango,o=none,l=china,st=beijing,c=cn" -alias server -keypass password -keystore server.jks -storepass password -validity 36
- 托管虚拟桌面市场势不可挡
蓝儿唯美
用户还需要冗余的数据中心,dinCloud的高级副总裁兼首席营销官Ali Din指出。该公司转售一个MSP可以让用户登录并管理和提供服务的用于DaaS的云自动化控制台,提供服务或者MSP也可以自己来控制。
在某些情况下,MSP会在dinCloud的云服务上进行服务分层,如监控和补丁管理。
MSP的利润空间将根据其参与的程度而有所不同,Din说。
“我们有一些合作伙伴负责将我们推荐给客户作为个
- spring学习——xml文件的配置
a-john
spring
在Spring的学习中,对于其xml文件的配置是必不可少的。在Spring的多种装配Bean的方式中,采用XML配置也是最常见的。以下是一个简单的XML配置文件:
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.or
- HDU 4342 History repeat itself 模拟
aijuans
模拟
来源:http://acm.hdu.edu.cn/showproblem.php?pid=4342
题意:首先让求第几个非平方数,然后求从1到该数之间的每个sqrt(i)的下取整的和。
思路:一个简单的模拟题目,但是由于数据范围大,需要用__int64。我们可以首先把平方数筛选出来,假如让求第n个非平方数的话,看n前面有多少个平方数,假设有x个,则第n个非平方数就是n+x。注意两种特殊情况,即
- java中最常用jar包的用途
asia007
java
java中最常用jar包的用途
jar包用途axis.jarSOAP引擎包commons-discovery-0.2.jar用来发现、查找和实现可插入式接口,提供一些一般类实例化、单件的生命周期管理的常用方法.jaxrpc.jarAxis运行所需要的组件包saaj.jar创建到端点的点到点连接的方法、创建并处理SOAP消息和附件的方法,以及接收和处理SOAP错误的方法. w
- ajax获取Struts框架中的json编码异常和Struts中的主控制器异常的解决办法
百合不是茶
jsjson编码返回异常
一:ajax获取自定义Struts框架中的json编码 出现以下 问题:
1,强制flush输出 json编码打印在首页
2, 不强制flush js会解析json 打印出来的是错误的jsp页面 却没有跳转到错误页面
3, ajax中的dataType的json 改为text 会
- JUnit使用的设计模式
bijian1013
java设计模式JUnit
JUnit源代码涉及使用了大量设计模式
1、模板方法模式(Template Method)
定义一个操作中的算法骨架,而将一些步骤延伸到子类中去,使得子类可以不改变一个算法的结构,即可重新定义该算法的某些特定步骤。这里需要复用的是算法的结构,也就是步骤,而步骤的实现可以在子类中完成。
 
- Linux常用命令(摘录)
sunjing
crondchkconfig
chkconfig --list 查看linux所有服务
chkconfig --add servicename 添加linux服务
netstat -apn | grep 8080 查看端口占用
env 查看所有环境变量
echo $JAVA_HOME 查看JAVA_HOME环境变量
安装编译器
yum install -y gcc
- 【Hadoop一】Hadoop伪集群环境搭建
bit1129
hadoop
结合网上多份文档,不断反复的修正hadoop启动和运行过程中出现的问题,终于把Hadoop2.5.2伪分布式安装起来,跑通了wordcount例子。Hadoop的安装复杂性的体现之一是,Hadoop的安装文档非常多,但是能一个文档走下来的少之又少,尤其是Hadoop不同版本的配置差异非常的大。Hadoop2.5.2于前两天发布,但是它的配置跟2.5.0,2.5.1没有分别。 &nb
- Anychart图表系列五之事件监听
白糖_
chart
创建图表事件监听非常简单:首先是通过addEventListener('监听类型',js监听方法)添加事件监听,然后在js监听方法中定义具体监听逻辑。
以钻取操作为例,当用户点击图表某一个point的时候弹出point的name和value,代码如下:
<script>
//创建AnyChart
var chart = new AnyChart();
//添加钻取操作&quo
- Web前端相关段子
braveCS
web前端
Web标准:结构、样式和行为分离
使用语义化标签
0)标签的语义:使用有良好语义的标签,能够很好地实现自我解释,方便搜索引擎理解网页结构,抓取重要内容。去样式后也会根据浏览器的默认样式很好的组织网页内容,具有很好的可读性,从而实现对特殊终端的兼容。
1)div和span是没有语义的:只是分别用作块级元素和行内元素的区域分隔符。当页面内标签无法满足设计需求时,才会适当添加div
- 编程之美-24点游戏
bylijinnan
编程之美
import java.util.ArrayList;
import java.util.Arrays;
import java.util.HashSet;
import java.util.List;
import java.util.Random;
import java.util.Set;
public class PointGame {
/**编程之美
- 主页面子页面传值总结
chengxuyuancsdn
总结
1、showModalDialog
returnValue是javascript中html的window对象的属性,目的是返回窗口值,当用window.showModalDialog函数打开一个IE的模式窗口时,用于返回窗口的值
主界面
var sonValue=window.showModalDialog("son.jsp");
子界面
window.retu
- [网络与经济]互联网+的含义
comsci
互联网+
互联网+后面是一个人的名字 = 网络控制系统
互联网+你的名字 = 网络个人数据库
每日提示:如果人觉得不舒服,千万不要外出到处走动,就呆在床上,玩玩手游,更不能够去开车,现在交通状况不
- oracle 创建视图 with check option
daizj
视图vieworalce
我们来看下面的例子:
create or replace view testview
as
select empno,ename from emp where ename like ‘M%’
with check option;
这里我们创建了一个视图,并使用了with check option来限制了视图。 然后我们来看一下视图包含的结果:
select * from testv
- ToastPlugin插件在cordova3.3下使用
dibov
Cordova
自己开发的Todos应用,想实现“
再按一次返回键退出程序 ”的功能,采用网上的ToastPlugins插件,发现代码或文章基本都是老版本,运行问题比较多。折腾了好久才弄好。下面吧基于cordova3.3下的ToastPlugins相关代码共享。
ToastPlugin.java
package&nbs
- C语言22个系统函数
dcj3sjt126com
cfunction
C语言系统函数一、数学函数下列函数存放在math.h头文件中Double floor(double num) 求出不大于num的最大数。Double fmod(x, y) 求整数x/y的余数。Double frexp(num, exp); double num; int *exp; 将num分为数字部分(尾数)x和 以2位的指数部分n,即num=x*2n,指数n存放在exp指向的变量中,返回x。D
- 开发一个类的流程
dcj3sjt126com
开发
本人近日根据自己的开发经验总结了一个类的开发流程。这个流程适用于单独开发的构件,并不适用于对一个项目中的系统对象开发。开发出的类可以存入私人类库,供以后复用。
以下是开发流程:
1. 明确类的功能,抽象出类的大概结构
2. 初步设想类的接口
3. 类名设计(驼峰式命名)
4. 属性设置(权限设置)
判断某些变量是否有必要作为成员属
- java 并发
shuizhaosi888
java 并发
能够写出高伸缩性的并发是一门艺术
在JAVA SE5中新增了3个包
java.util.concurrent
java.util.concurrent.atomic
java.util.concurrent.locks
在java的内存模型中,类的实例字段、静态字段和构成数组的对象元素都会被多个线程所共享,局部变量与方法参数都是线程私有的,不会被共享。
- Spring Security(11)——匿名认证
234390216
Spring SecurityROLE_ANNOYMOUS匿名
匿名认证
目录
1.1 配置
1.2 AuthenticationTrustResolver
对于匿名访问的用户,Spring Security支持为其建立一个匿名的AnonymousAuthenticat
- NODEJS项目实践0.2[ express,ajax通信...]
逐行分析JS源代码
Ajaxnodejsexpress
一、前言
通过上节学习,我们已经 ubuntu系统搭建了一个可以访问的nodejs系统,并做了nginx转发。本节原要做web端服务 及 mongodb的存取,但写着写着,web端就
- 在Struts2 的Action中怎样获取表单提交上来的多个checkbox的值
lhbthanks
javahtmlstrutscheckbox
第一种方法:获取结果String类型
在 Action 中获得的是一个 String 型数据,每一个被选中的 checkbox 的 value 被拼接在一起,每个值之间以逗号隔开(,)。
所以在 Action 中定义一个跟 checkbox 的 name 同名的属性来接收这些被选中的 checkbox 的 value 即可。
以下是实现的代码:
前台 HTML 代码:
- 003.Kafka基本概念
nweiren
hadoopkafka
Kafka基本概念:Topic、Partition、Message、Producer、Broker、Consumer。 Topic: 消息源(Message)的分类。 Partition: Topic物理上的分组,一
- Linux环境下安装JDK
roadrunners
jdklinux
1、准备工作
创建JDK的安装目录:
mkdir -p /usr/java/
下载JDK,找到适合自己系统的JDK版本进行下载:
http://www.oracle.com/technetwork/java/javase/downloads/index.html
把JDK安装包下载到/usr/java/目录,然后进行解压:
tar -zxvf jre-7
- Linux忘记root密码的解决思路
tomcat_oracle
linux
1:使用同版本的linux启动系统,chroot到忘记密码的根分区passwd改密码 2:grub启动菜单中加入init=/bin/bash进入系统,不过这时挂载的是只读分区。根据系统的分区情况进一步判断. 3: grub启动菜单中加入 single以单用户进入系统. 4:用以上方法mount到根分区把/etc/passwd中的root密码去除 例如: ro
- 跨浏览器 HTML5 postMessage 方法以及 message 事件模拟实现
xueyou
jsonpjquery框架UIhtml5
postMessage 是 HTML5 新方法,它可以实现跨域窗口之间通讯。到目前为止,只有 IE8+, Firefox 3, Opera 9, Chrome 3和 Safari 4 支持,而本篇文章主要讲述 postMessage 方法与 message 事件跨浏览器实现。postMessage 方法 JSONP 技术不一样,前者是前端擅长跨域文档数据即时通讯,后者擅长针对跨域服务端数据通讯,p