06 2020 档案

摘要:数据库建表:user_table字段:拿数据,转发给客户端,页面显示路径处理问题:获取项目根路径 String path = request.getContextPath(); String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/... 阅读全文
posted @ 2020-06-29 22:49 小海_macro 阅读(186) 评论(0) 推荐(0) 编辑
摘要:解决JSP脚本的不足:【1】代码结构混乱【2】脚本于HTML混合,容易出错【3】代码不易于维护---EL表达式进行优化,增加可读性。EL表达式:通过简单的表达式语法,能够获取相应的作用域当中的数据。【1】指定作用域属性的key,从而获取相应的值,这个值,包括且不限于对象,支持基本数据类型,集合,对象等等。【2】EL表达式要取值,对应的实体类必须要有getAttri()方法。【3】EL表达式可以放在... 阅读全文
posted @ 2020-06-29 11:10 小海_macro 阅读(97) 评论(0) 推荐(0) 编辑
摘要:JSP:交互层中最重要的概念【1】JSP——将HTML的编码以文件流的方式交给客户端下载,在HTML当中实际就是一个普通的前端yemian 。【2】将浏览器当中填写的值,提交到服务器当中&写入到数据库当中【3】JSP的9个内置对象:在jsp当中都属于局部变量!① 请求对象:request② 输出对象:out③ 响应对象:response④ 应用程序对象:application⑤ 会话对象:sess... 阅读全文
posted @ 2020-06-28 19:24 小海_macro 阅读(178) 评论(0) 推荐(0) 编辑
摘要:Servlet:交互层框架的应用JSP最大的优势就是安全!!!【电信、金融项目】互联网才会:前后端分离Tomcat【1】在server.xml文件中,修改端口【2】80端口可以忽略不写配置maven工程:严格按照顺序配置【1】新建Maven工程,并【2】新建成功后,需要重新修改工程属性:【3】配置project facets选项【4】配置生成web.xml文件【5】配置服务器:【J2EE继承Tom... 阅读全文
posted @ 2020-06-28 12:24 小海_macro 阅读(139) 评论(0) 推荐(0) 编辑
摘要:## 面向对象 extends -实例属性,公共属性//实例属性function Person(){ this.name = 'zs'; }let p1 = new Person();p1.name;//公共属性Person.prototype.eat = function(){ console.log('');}p1.eat();//代码复用function Student... 阅读全文
posted @ 2020-06-26 19:51 小海_macro 阅读(250) 评论(0) 推荐(0) 编辑
摘要:hive2启动-hive --service hiveserver2 &-service mysqld start- beeline -u jdbc:hive2://localhost:10000配置依赖-hive-jdbc 对应hive版本: 2.1.1-hive-common 对应hive版本: 2.1.1代码:【1】加载驱动: Class.forName("org.apache.hiv... 阅读全文
posted @ 2020-06-26 19:24 小海_macro 阅读(168) 评论(0) 推荐(0) 编辑
摘要:数据准备:【1】mysql数据库导出,以逗号间隔,方便后期解析【2】提交服务器:rz 上传到Linux虚拟机中【3】提交到集群中:hadoop fs –put emp.csv /inputhive:数据存储优先;RDBMS是数据查询优先基础环境: -MySql关系型数据库 -Hadoop集群 -配置hive环境,修改搁浅:---注意dubg中查看文档格式问题;很容易出现格式转换的... 阅读全文
posted @ 2020-06-24 15:16 小海_macro 阅读(267) 评论(0) 推荐(0) 编辑
摘要:基础原理补充 : -Yarn实现将资源管理和作业调度/监控相分离。 -心跳机制:管理者与从属者的心跳检测。 -从属者:UDP形式向管理发送空包,证明自身存活。 -从属者:TCP形式向管理发送空包,证明管理者是否存活。 -管理者:UDP形式隔一段时间进行广播。【可能出现某个节点或者某一批节点未收到广播信息】需要根据未收到消息的个数... 阅读全文
posted @ 2020-06-23 23:33 小海_macro 阅读(373) 评论(0) 推荐(0) 编辑
摘要:基础配置关闭命令:service iptables stop永久关闭防火墙:chkconfig iptables off查看防火墙关闭状态 :service iptables status【1】3台 yum install gcc //安装C语言运行库【2】远程上传工具:lrzsz命令:yum install lrzszJDK配置【4】etc/host 配置ip地址 与 主机名 192... 阅读全文
posted @ 2020-06-22 19:57 小海_macro 阅读(184) 评论(0) 推荐(0) 编辑
摘要:note: -当一个事务开启后,如果调用了提交或者回滚,则代表当前事务结束; -如果会话(客户端和数据的连接断开后)关闭,则需要再次设置关闭自动提交会话,开始事务明了本质:锁、事务隔离等也是数据库自身集成的机制! -实际业务需求,自然开发出来的机制!----IT行业的本质:需求驱动,然后理论后行;前沿领域的创新必然规律! -Elon Musk这种... 阅读全文
posted @ 2020-06-19 14:18 小海_macro 阅读(141) 评论(0) 推荐(0) 编辑
摘要:数据库总结:DML:lINSERT ( 添加数据语句 ):INSERT INTO 表名 [ ( 字段1, 字段2, 字段3, … ) ] VALUES ( '值1', '值2', '值3', …)lUPDATE ( 更新数据语句 ) :UPDATE 表名 SET column_name = value [ , column_name2 = value2, …. ] [ WHERE condit... 阅读全文
posted @ 2020-06-18 17:31 小海_macro 阅读(139) 评论(0) 推荐(0) 编辑
摘要:Linux网路部分 && 类似算法部分 ---需要不断项目或者实际业务需求深度探索VMware:桥接,仅主机,Nat模式VMnet8:模拟路由器网络配置:Nat模式——利用VMnet8作为虚拟路由器,建立一个独立于当前物理机的局域网。【只存在于当前物理机内部的局域网V8】桥接模式——vmnet0物理网卡作为桥梁,可以连接物理机以外的局域网。【支持连接外部的网络】--手段分配物理地址,容易出现IP... 阅读全文
posted @ 2020-06-18 12:43 小海_macro 阅读(224) 评论(0) 推荐(0) 编辑
摘要:flex父项设置flex-direction: // 默认主轴的方向,水平向右;侧轴垂直向下 row【默认值】 / row-reverse / column / column-reversejustify-content:space-around //设置主轴上子元素排列方式 flex-start【默认值】// flex-end // space-between[两边贴边... 阅读全文
posted @ 2020-06-17 19:19 小海_macro 阅读(130) 评论(0) 推荐(0) 编辑
摘要:基本代码逻辑Properties properties = new Properties();String path = BaseDao.class.getClassLoader().getResource("jdbc.properties").getPath(); //maven工程路径问题【1】加载配置文件//加载配置文件properties.load(new FileInputStream... 阅读全文
posted @ 2020-06-14 09:21 小海_macro 阅读(95) 评论(0) 推荐(0) 编辑
摘要:Sql优化【1】核心作用:提高查询效率【2】四大分类:Primary,index,uniquer,fulltext -主键和外键自带索引,且往往只能有一个 -唯一索引可有多个 -常规索引:快速定位特定数据!——不宜添加太多的常规索引,会影响数据的写效率。【一般在字段量的1/4】 -全文索引:针对例如:like %xxx% [vachr,char,等... 阅读全文
posted @ 2020-06-13 14:08 小海_macro 阅读(131) 评论(0) 推荐(0) 编辑
摘要:业务需求分析模拟数据库操作:DCL\DML\DQL\【1】登录验证【2】基本的增删改查操作==================后话================【3】数据安全方面【4】操作性能,效率代码逻辑分析【1】采用TCP协议,客户端与服务端访问【2】对于客户端需求细分: -登录:数据库产品名 用户名称 账号密码 ex: mydb root 123456 ... 阅读全文
posted @ 2020-06-12 19:55 小海_macro 阅读(114) 评论(0) 推荐(0) 编辑
摘要:面向对象生命周期对象生命周期:【1】先初始化静态变量与静态代码块。同时存在,自上而下初始化; -ex:静态变量中存在new 当前对象,先执行构造函数,然后继续初始化,同理。 【2】深拷贝核心步骤:ByteArrayOutputStream bos = new ByteArrayOutputStrea 阅读全文
posted @ 2020-06-11 14:39 小海_macro 阅读(202) 评论(0) 推荐(0) 编辑
摘要:base:PC端,小程序,移动web,移动app 电商配置管理 数据统计 数据可视化后台管理系统——pc端:管理用户账号、商品管理、数据统计前后端分离模式:ajax调用前端——后端——数据库vuevue-routeraxioselement-uiechartsnodejs(express)mysql 阅读全文
posted @ 2020-06-09 16:18 小海_macro 阅读(571) 评论(0) 推荐(0) 编辑
摘要:【1】页面布局<div id="app"><router-view></router-view></div>【2】组件定义 根组件 const App = {template: ` <div> <header>XXX后台管理系统</header> <main> <div class="nav lef 阅读全文
posted @ 2020-06-08 23:22 小海_macro 阅读(234) 评论(0) 推荐(0) 编辑
摘要:## 路由 -映射关系 url地址:服务器真实资源 -前端 hash 页面跳转 事件:事件处理函数 应用:通过超链接实现,如点击超链接hash会改变,此时我们监听hash,一旦有变化就需要获取响应的hash值,从而切换要显示的组件注意导入相应的包:通过使用VUE-router包简化vue中通过location的hash值变化实现路由功能【1】最基本应用首页新闻=... 阅读全文
posted @ 2020-06-08 17:50 小海_macro 阅读(128) 评论(0) 推荐(0) 编辑
摘要:## 组件化 -工程化 组件化 模块化命名规则:组件定义时,名称可以是短横线,也可以是驼峰式 1 假如是驼峰式命名,使用组件的时候,只能在字符串模板中用驼峰式 不能再普通的标签模板中,普通的标签模板中只能用短横线 短行线到处都可以使用基础使用——全局定义组件方式================维护自身的数据与方法======... 阅读全文
posted @ 2020-06-08 16:50 小海_macro 阅读(691) 评论(0) 推荐(0) 编辑
摘要:## vue 响应原理# 对象 1;对象新增的属性,不具有响应式。 2:对象本存在属性,具有响应式。 3: 属性是数组,数组的普通元素通过索引修改 不会进行响应式; 但如果数组元素也是一个对象,则该对象具有响应式。 4: 属性值是数组,通过调用push\splice\shift...具有响应式,并且 阅读全文
posted @ 2020-06-08 11:58 小海_macro 阅读(996) 评论(0) 推荐(0) 编辑
摘要://计算属性:本质上是一个函数 实现某种功能或者得到某个结果;使用的时候当作数据属性一样来用 {{reverseStr}} {{reverseStr1()}} {{reverseStr}} {{reverseStr1()}}{{result}}{{result}}{{comKey}}===================================================... 阅读全文
posted @ 2020-06-08 10:18 小海_macro 阅读(166) 评论(0) 推荐(0) 编辑
摘要:【1】绑定数据================================================let vm = new Vue({el: "#app",data() {return {username: 'macro' } },methods: {handle(event) {this.username = event.targe... 阅读全文
posted @ 2020-06-07 21:30 小海_macro 阅读(205) 评论(0) 推荐(0) 编辑
摘要:## 前端三大框架 vue react angular## 学源码:更好的使用vue## vue:渐进式 1 js框架 框架 vs库 vue-core + components + vue-router + vuex[复杂项目] + vue-cli 2 mvvm框架 mvc:model view controller view... 阅读全文
posted @ 2020-06-07 19:30 小海_macro 阅读(158) 评论(0) 推荐(0) 编辑
摘要:let Promise = require('./myPromise'); //导入自己实现的类【1】简单resolve() reject() throw new Error(‘error’)// 构造函数中核心步骤try {executorCallback(resolve, reject); } catch (e) {//executorCallback执行发生异常... 阅读全文
posted @ 2020-06-07 18:02 小海_macro 阅读(118) 评论(0) 推荐(0) 编辑
摘要:【1】基础应用——单次调用const fs = require('fs');//Promise初始化为:等待状态 pendinglet promise = new Promise((resolve, reject) => {console.log('start...');//异步任务fs.readFile('./callback/a.txt', 'utf-8', function(err, dat... 阅读全文
posted @ 2020-06-07 10:30 小海_macro 阅读(127) 评论(0) 推荐(0) 编辑
摘要:异步发展流程 高阶函数解决异步问题 发布订阅和观察者模式 Promise核心应用、实现{ 主要核心:解决异步问题 } generator async + awaitAOPfunction say(who) {console.log(who + " is saying...");};Function.prototype.before = functi... 阅读全文
posted @ 2020-06-06 23:34 小海_macro 阅读(106) 评论(0) 推荐(0) 编辑
摘要:baseurl.parse():将url字符串转换为url对象 =第二个参数为true, query被转换为了一个对象url.format():将url对象格式化为url 字符串url.resolve():用于解析,接受两个参数,拼接简单用户管理系统剖析:【1】单独封装操作数据库js文件//监听请求事件require('./model/index.js');const Student = r... 阅读全文
posted @ 2020-06-06 18:10 小海_macro 阅读(298) 评论(0) 推荐(0) 编辑
摘要:art-template:解决拼接字符串更加方便【1】简单字符串应用str = ` ${student[index].name} ${student[index].sex} `;【2】与文件内容关联const template = require('art-template');const path = requir... 阅读全文
posted @ 2020-06-06 14:52 小海_macro 阅读(212) 评论(0) 推荐(0) 编辑
摘要:面向对象编程 oop面向过程 pop面向对象 以功能对象划分问题 优点 缺点面向对象 灵活,复用,维护[大型项目] 性能低 VS面向过程 效率{性能}高[偏底层、硬件] 没有面向对象灵活、复用、维护... 阅读全文
posted @ 2020-06-06 14:30 小海_macro 阅读(219) 评论(0) 推荐(0) 编辑
摘要:jQuery 是一个着重简化 DOM 操作,AJAX 调用和事件处理的 JavaScript 库 jq:js库,封装了大量的特定集合【函数和方法】——方法应用熟练即可 如:animate()、css()、show() 使用jq提高开发效率,简化dom操作 常见js库{对原生JS的封装}:jQuery YUI Dojo zepto ExtJs常... 阅读全文
posted @ 2020-06-06 09:31 小海_macro 阅读(318) 评论(0) 推荐(0) 编辑
摘要:J2EE【1】Mysql :成熟的web工程师,必须非常精通MySQL的应用——业务当中最大的变数! -DCL DML DQL -数据库查询优化--------【1】业务数据库与数据仓库区别【2】数据库引擎!!!--也是最需要核心攻坚的!【3】DDL:库和表;Mysql-库-表-记录【2】HADOOP + HIVE -HDFS -MR -HIVE【3】JDBC... 阅读全文
posted @ 2020-06-06 06:26 小海_macro 阅读(131) 评论(0) 推荐(0) 编辑
摘要:offset系列:以下5个属性返回值不带单位。 el.offsetParent:(元素中带有最近定位的祖先元素)值有可能是父亲(position:relative),如果没有一直往上回溯祖先。 区别:[parentnode:始终是上一级父亲] el.offsetTop:表示元素距离其offsetParent上方的偏移; el.offsetLeft:表示元素距离其of... 阅读全文
posted @ 2020-06-05 19:34 小海_macro 阅读(232) 评论(0) 推荐(0) 编辑
摘要:ECMAScript:标准 javascript:标准语言实现, actionslipt :flash开发用,也是一种实现 -ECMAScript 6.0 : ECMAScript脚本语法 DOM BOM ---2015年 -解决实际应用中的隐患:var等问题 -es6核心常用知识 [1]变量定义变化:let,const, ... 阅读全文
posted @ 2020-06-05 18:25 小海_macro 阅读(181) 评论(0) 推荐(0) 编辑
摘要:常识ECMAScript: es3\5 es6之后的都叫:es6[2015年推出]let和const解构赋值 一一对应let [a,b,c] = [1,2,3]var{name:name1,age:age1} = {name:macro,age:25}字符串函数对象数组新api[1]变量提升[2]常量定义[3]重复定义[4]局部变量可见---出现es6[1]let——解决重复定义... 阅读全文
posted @ 2020-06-05 17:11 小海_macro 阅读(111) 评论(0) 推荐(0) 编辑
摘要:ES + DOM + BOMDOM:document object model dom 树——操作网页内容事件————事先定义好的行为 (1)单击事件 (2)鼠标悬停、双击 (3)键盘回车 ---基于事件驱动 三要素: 事件类型(具体什么行为) 事件源(触发——谁身上发生) 事件处理JS程序如何处理事件 事... 阅读全文
posted @ 2020-06-05 15:48 小海_macro 阅读(157) 评论(0) 推荐(0) 编辑
摘要:## BOM- BOM简介 Browser Object Model:独立于内容,与浏览器交互的对象。核心是window对象。 DOM[w3school规范] VS BOM[各家浏览器规范]- window对象(定时器) 浏览器的顶级对象 1:js访问浏览器窗口的一个接口 2:全局变量,定义再全局作用域种的变量或函数,会自动成为window对象的属性- 页面加载事件 窗口加载事件:文档... 阅读全文
posted @ 2020-06-05 11:38 小海_macro 阅读(160) 评论(0) 推荐(0) 编辑
摘要:## ajax():2005年——技术更新跟进,创新超越的能力要有!## xml:可扩展标记语言## json 浏览器---ajax---服务器 [1]实现页面无刷新更新数据 [2]分页技术,加载更多数据 [3]表单校验## 注意:ajax运行在网络环境下 即需要有后台不是很清晰,或者说灵活应用 get请求方式:不能提供json对象数据格式 for... 阅读全文
posted @ 2020-06-05 11:17 小海_macro 阅读(106) 评论(0) 推荐(0) 编辑
摘要:基础认知## 正则表达式 -表单数据校验 -替换内容 匹配字符串中字符组合的模式:敏感词汇等创建: var regexp = new RegExp(/123/); console.log(regexp); var regexp2 = /abc/; console.log(regexp2);test():检测某字符串是不是符合规则 返回值:true,表... 阅读全文
posted @ 2020-06-05 09:51 小海_macro 阅读(166) 评论(0) 推荐(0) 编辑
摘要:ES5新增部分var arr = [10, 20, 40, 50];arr.forEach(function(item, index, arr) {console.log(index, item);console.log(arr); });//去重——集合、流等采用数组,IT领域也是不断完善理论罢了,其实质就是操作数组,增加方法——close()\append()//所以:各个领域的... 阅读全文
posted @ 2020-06-05 07:26 小海_macro 阅读(197) 评论(0) 推荐(0) 编辑
摘要:var c;console.log(c); //一个变量未定义,值 undefinedconsole.log(typeof c); //未赋值 类型 undefinedvar d = null;console.log("d:"+d); //值:nullconsole.log(typeof d); //类型:object//+ 当有字符串参与 表示字符串拼接console.log(10 + ... 阅读全文
posted @ 2020-06-04 18:02 小海_macro 阅读(179) 评论(0) 推荐(0) 编辑
摘要:## 函数定义方式 - function XX(){ } - 函数表达式(匿名函数) var fn = function(){} - new function() var func = new Function('a', 'b', 'console.log(a + b)'); func(3, 6); func.__pr... 阅读全文
posted @ 2020-06-04 17:56 小海_macro 阅读(144) 评论(0) 推荐(0) 编辑
摘要:node : js运行时环境 浏览器js ES+DOM+BOM node ES+核心模块:创建服务器、fs文件操作模块【加分项】node可以做什么事情?——流操作,ajax,express,buffer 1 创建高性能的服务器————单线程 2 工具 3 中间件 4 ??脚手架 5 -跨越问题:node之间通信 ... 阅读全文
posted @ 2020-06-04 17:13 小海_macro 阅读(161) 评论(0) 推荐(0) 编辑
摘要:mysql\mongodb\redis1 数据库 持久化数据Mongodb:json形式存储安装必要的软件:mongodb + compass database mongodb软件可以创建多个数据库 collection 集合 一组数据 document 文档 一条数据 json field 字段 文档属性 数据导入数据... 阅读全文
posted @ 2020-06-04 12:28 小海_macro 阅读(130) 评论(0) 推荐(0) 编辑
摘要:# express## 简介 web开发应用## 下载 npm install express ## 中间件 中间件方法和请求处理函数 app.get('请求路径','处理函数'); app.post('请求路径','处理函数');## 处理get请求参数 req.query## 处理post请求参数 使用中间件 body-parser 通过... 阅读全文
posted @ 2020-06-04 11:45 小海_macro 阅读(184) 评论(0) 推荐(0) 编辑
摘要:基础插件应用const path = require('path');const fs = require('fs');const url = require('url');const http = require('http');const mime = require('mime');=========================创建服务器const app = http.createSe... 阅读全文
posted @ 2020-06-04 09:18 小海_macro 阅读(576) 评论(0) 推荐(0) 编辑
摘要:npm 1 概述 node package manager 包 多个文件的集合 2 包的分类 全局包 在命令行使用 (1) 安装:npm install *** -g (2) 自己创建全局包 本地包 在项目中使用 (1) 生产环境中 (2... 阅读全文
posted @ 2020-06-04 06:42 小海_macro 阅读(168) 评论(0) 推荐(0) 编辑
摘要:NodeJS整理客户端服务器端 处理数据和业务逻辑 请求客户端---------------------->服务器端 --->DTD 文档类型声明 h5 ---> --->字符集 ---> Document --->网页标题 this is a first ... 阅读全文
posted @ 2020-06-03 20:45 小海_macro 阅读(261) 评论(0) 推荐(0) 编辑
摘要:js 运行时浏览器js ES+DOM+BOMnode ES+核心模块node可以做什么事情? 创建高性能的服务器 工具 中间件用途:接口服务器 vue\react进程和线程 进程>线程 进程表示一个程序,一个进程可以有多个线程 -node适合I/O密集,不适合CPU密集(压缩、合并、加密解密){银行、证券等要求稳定,不会选择node;但是如果是操作... 阅读全文
posted @ 2020-06-02 17:36 小海_macro 阅读(165) 评论(0) 推荐(0) 编辑
摘要:BOM 浏览器对象模型 核心对象:window BOM > DOM :BOM包含DOM## 客户端js: ES+DOM+BOM ES:ECMA DOM:W3C BOM:缺乏标准——了解核心window: -document -location -screen -history -navigationoverflow: scr... 阅读全文
posted @ 2020-06-02 14:20 小海_macro 阅读(142) 评论(0) 推荐(0) 编辑
摘要:## 移动端 -浏览器 -手机屏幕 # 移动端调试 -web服务器:域名,服务器等 -chrome## 视口(viewport) 浏览器显示页面内容的屏幕区域 布局视口——layout viewport ios/android 基本上把这个布局视口分辨率设置980px视觉视口:visual viewport 用户看到的网站区域理... 阅读全文
posted @ 2020-06-02 10:56 小海_macro 阅读(751) 评论(0) 推荐(0) 编辑
摘要:2dtransition: all 0.5s;/* 旋转基点 支持设置 10px 20px*/transform-origin: left top; //以左上角为基点transform: rotate(90deg); //旋转90度// 动画transition:all .6s;//放大transform:scale(1.2)//平移transform:translate(100px,100p... 阅读全文
posted @ 2020-06-02 10:48 小海_macro 阅读(141) 评论(0) 推荐(0) 编辑
摘要:base1. git——源代码版本控制工具2. git的基本流程: git仓库 暂存区 工作目录 工作目录/项目目录:git做管理 暂存区:临时存放修改的文件 git仓库:存放项目的状态3. git 使用-命令 *** 配置 基本步骤:* git init 初始化git仓库* git status 查看文件状态:... 阅读全文
posted @ 2020-06-01 17:11 小海_macro 阅读(138) 评论(0) 推荐(0) 编辑
摘要:自定义属性操作 标签自带属性:id\class\onclick等固有属性 支持添加属性:获取固有属性,undefined 获取属性(自定义、固有均支持): -getAttribute('自定义id名') 设置属性 -setAttribute('id名',"vale") 移除属性: removeAttri... 阅读全文
posted @ 2020-06-01 16:43 小海_macro 阅读(140) 评论(0) 推荐(0) 编辑
摘要:javaScript两大基本数据类型 1:基本数据类型 number \ string \ boolean \ null \ undefined 2:应用数据类型 数组、object\Math\Date\正则表达式、window、dom con: 动态添加属性 基本数据类型不能添加动态属性 引... 阅读全文
posted @ 2020-06-01 11:22 小海_macro 阅读(182) 评论(0) 推荐(0) 编辑
摘要:## 事件对象 跟事件相关的一系列数据 e:将来事件发生后,系统给我们传递的代表事件对象,在ie中window.event 兼容写法:注意变量作用域问题 var e = e || window.event 或者:var e = e || event; ex: var x = x;会出现undefined,即使是在全局作用域存在! targe... 阅读全文
posted @ 2020-06-01 10:30 小海_macro 阅读(159) 评论(0) 推荐(0) 编辑