案例:tab栏切换功能
①Tab栏切换有2个大的模块 ②上面的选项卡模块,点击某一个,当前这个底色会是红色,其余不变(排他思想),用修改类名的方式 ③下面的模块内容,会跟随上面的选项卡变化。所以下面模块变化写到点击事件里面 ④规律:下面的模块显示内容和上面的选项卡一一对应相匹配。 ⑤核心思路:给上面的tab_list里面的所有小li添加自定属性index,属性值从0开始编号 ⑥当我们点击tab_list里面的某个小li,让tab_con里面对应序号的内容显示,其余隐藏(排他思想) <div class="tab_li
520 面向对象的方法
## 面向对象的语法 1. 面向对象思维的实现方式 2. 创建对象 - ... 3. 工厂模式创建对象 - 自定义工厂模式,放弃,自己封装对象,返回对象 ```js function fn(n){ var obj = {}; obj.name = n; return obj; } var o = fn("admin"); ``` - 内置的工厂模式(自定义的构造函数),推荐,new执行函数 ```js function Fn(n){ // 自动创建的对象:通过this拿到 this.name
eslint插件开发教程
开发eslint插件目的:根据项目需要,自定义满足项目特殊需要的校验规则 参考eslint官方文档展开阐述 插件开发 自定义规则 单元测试 下面开始通过一个示例demo来介绍插件整个开发流程 代码中出现的方法及变量的详细解释与相关文档,会在文末给大家列举出来,大家可以先把代码拷贝到自己的demo中然后结合本文第3部分的变量|方法解释去理解代码 开发一个校验注释中是否包含指定关键词的插件(eslint-plugin-comments-key) 1. 环境准备 目录结构 .
├── README.
案例:简单版发布留言功能
<textarea name="" id=""></textarea >
<button>发布</button>
<ul></ul>
<script>
// 1. 获取元素
var btn = document.querySelector('button');
var text = document.querySelector('textarea');
var ul = document.querySelector('ul');
// 2. 注册事件
BUAA_OO_UNIT3_Summary
一、JML语言理论基础与应用工具链梳理 理论基础 JML是用于对Java程序进行规格化设计的一种表示语言。通过类似离散数学里面的语句,规范明确地指出操作的行为。 具体而言,JML有两种主要的用法。 (1)开展规格化设计。这样交给代码实现人员的将不是可能带有模糊性的自然语言描述,而是逻辑严格的规格。 (2)针对已有的代码实现,书写其对应的规格,从而提高代码的可维护性。这在代码的维护方面具有特别重要的意义。 显然,这样可以更好地便利开发人员之间的交流,提高程序开发的效率与程序维护的可行性。通俗地讲
程序设计思维与实践 Week9 作业 (1/2/智能班)
A - 咕咕东的目录管理器 题面 咕咕东的雪梨电脑的操作系统在上个月受到宇宙射线的影响,时不时发生故障,他受不了了,想要写一个高效易用零bug的操作系统 —— 这工程量太大了,所以他定了一个小目标,从实现一个目录管理器开始。前些日子,东东的电脑终于因为过度收到宇宙射线的影响而宕机,无法写代码。他的好友TT正忙着在B站看猫片,另一位好友瑞神正忙着打守望先锋。现在只有你能帮助东东! 初始时,咕咕东的硬盘是空的,命令行的当前目录为根目录 root。 目录管理器可以理解为要维护一棵有根树结构,每个目录
ubuntu20.04安装教程,ubuntu详细安装教程20.04
ubuntu20.04安装教程,ubuntu安装教程20.04 介绍: 虚拟机是通过软件模拟的具有完整硬件系统功能的、运行在一个完全隔离环境中的完整计算机系统。在虚拟机中,你可以安装各种操作系统、组建局域网等,模拟的完全是一个真实系统环境,不会对宿主机造成危害。 常用流行的虚拟机软件有VMware、Virtual Box和Virtual PC,其中VMware是全球领先的虚拟云计算产品服务商。 ubuntu20.04安装教程 VMware Workstation 可在一部实体机器上模拟完整的网
ElasticSearch系列一:安装
目录 前言 ElasticSearch安装 启动 命令框启动 服务启动 访问 配置文件elasticsearch.yml修改 插件 ik分词器 ElasticSearch-head安装 Kibana安装 启动 中文 ip访问 LogStash安装 启动 关闭 配置文件 前言 最近需要使用ElasticSearch做全站搜索,目前使用的是Windows版本的 去官网下载安装包,需要注意的一点是,最好版本一致,否则可能报错,比如7.6.2版本的ElasticSearch,Kibana,Logsta
【Linux】Xshell 配置密钥登陆
设置不需要密码登陆 vim /etc/ssh/sshd_config 在配置文件中参数的意义 PubkeyAuthentication yes #启用公告密钥配对认证方式
AuthorizedKeysFile %h/.ssh/authorized_keys #设定PublicKey文件路径
RSAAuthentication yes #允许RSA密钥
PasswordAuthentication no #禁止密码验证登录,如果启用的话,RSA认证登录就没有意义了
#
springCloud(四) eureka 高可用
1: eureka 服务端配置 application.p8761.yml server:
port: 8761
eureka:
server:
# 自我保护开关配置信息
enable-self-preservation: false
instance:
#服务名称
appname: provider-service
hostname: server1
client:
service-url:
defaultZone:
案例:表格中鼠标经过每行就高亮的功能
<script>
// 1. 获取元素,获取的是tbody里面所有的行
var trs = document.querySelector('tbody').querySelectorAll('tr');
// 2. 利用循环绑定注册事件
for (var i = 0; i < trs.length; i++) {
// 3. 鼠标经过事件 onmouseover
trs[i].onmouseover = function() {
golang jwt+token验证
Token验证是验证用户身份的重要方式,在golang开发中具有广泛应用,文中主要阐述了利用jwt包加密后的token验证。 导入包: import ( "github.com/dgrijalva/jwt-go" ) // GenerateToken 生成Token func GenerateToken(mapClaims jwt.MapClaims, key string) (string, error) { token := jwt.NewWithClaims(jwt.Sign
外汇产品(4):解构国际汇款产品之交易系统
本文以国际汇款产品交易系统为分析对象,具体介绍了交易系统的构成、交易系统的关联系统、交易服务、交易处理机制、订单信息、订单的状态机6部分内容。 一、交易系统的构成 交易系统核位于业务系统与账务系统之间,其职责为: 对接上层业务系统,接收交易请求。 提供交易服务、处理业务逻辑、转化交易订单。 交易系统包括交易服务与订单管理两部分。其中: 交易服务:主要是抽象出交易类型,对外提供不同方式的下单服务。 订单管理:完成订单的生命周期管理,包括订单生成、计费、订单取消等。 二、交易系统的关联系统 业务系
Python PIL Image图片显示系列
1. PIL Image图片显示 在使用PIL函数中的Image方法读取图片时,对于图片的shape,可能有不少宝宝存在疑惑。是什么疑惑了?就是image = Image.open(image_path),当你执行print(image.size)时,你得到的是图片的真实维度:W * H(宽和高),但在后续的使用中,我们使用的却是Image的数组形式,此时的维度是: H * W(高和宽)。怎么查询了它的数组形式了,再加一行代码,image = np.array(image),即可输出pri
服务端渲染和客户端渲染
服务端渲染 用户使用的浏览器浏览的都是一些没有复杂逻辑的、简单的页面,这些页面都是在后端将 html 拼接好的,然后返回给前端完整的 html 文件,浏览器拿到这个 html 文件之后就可以直接解析展示了 客户端渲染 随着前端页面的复杂性提高,前端就不仅仅是普通的页面展示了,可能是添加更多功能的组件,复杂性更大,另外,此时 ajax 的兴起,使得页面就开始崇拜前后端 分离的开发模式,即后端不提供完整的 html 页面,而是提供一些 api 使得前端可以获取 json
vue中watch的详细用法(深度侦听)
在vue中,使用watch来响应数据的变化。watch的用法大致有三种。下面代码是watch的一种简单的用法: <input type="text" v-model="cityName"/>
new Vue({
el: '#root',
data: {
cityName: 'shanghai'
},
watch: {
cityName(newName, oldName) {
// ...
}
}
}) 直接写一个监听处理函数,当每次监
今日推荐
周排行