2023年初中信息技术学科暑假备课

news2025/2/25 17:24:32

目录

  • 2023年初中信息技术学科暑假备课
    • 1. 创意空间
      • 1.1 教师的空间
      • 1.2 学生的空间
      • 1.3 关于FTP服务器设置
    • 2. 什么是编程
      • 2.1 编程语言
      • 2.2 人人都应学好编程
      • 2.3. 编程难吗?
      • 2.4 python用途
    • 3. 开发环境
      • 3.1 打开IDLE
      • 3.2 `IDLE`窗口
        • 3.2.1 shell窗口和编辑窗口
    • 4. 项目式教学
      • 4.1 失败案例
      • 4.2 项目式教学案例设计
        • 4.2.1 动物知识竞猜
          • 教学过程

2023年初中信息技术学科暑假备课

1. 创意空间

  1. 在现有教学的模式,每周课时不足以让学生在当堂或本周内完成课堂内容,如何保存教师授课内容、学生作品,并继续实用,而且在提倡项目式教学的背景下(我完全赞同这种教学方式),我们需要的是系统性思维以及授课的连续性,如何让学生方便浏览教师授课内容、拓展资源、自己作品,以方便学生继续创作及教师浏览学生创意,确实需要完善的方法。
  2. 教师如何建立自己的成长档案呢?

创客交流稿__蔚蓝慕的博客

1.1 教师的空间

博客是我的首选,它可以作为资源库,不断的修改补充,而且方便师生的交流,

在博客中不仅可以提供图文信息,而且类似软件资料也可以方便提供。对于教师教学内容的组织,我认为是不二的选择。

蔚蓝的博客

pygame_蔚蓝慕的博客

1.2 学生的空间

我推荐在局域网中建立FTP服务器,为每个学生建立账户、设定权限和分配空间。FTP可以方便建立学生成长档案、资源共享。

对于建立FTP服务器的几个问题

  1. 容量的问题:

    假设每班50人,每人分配容量60M,60M*50=3G,假设有100个班级在此微机室学习,3G*100=300G,这不是问题

  2. 管理方便吗?

    权限管理,建立账户和账户对应的文件夹,可以配置文件、批处理来实现,也是很便捷的。我的经验是群组用年级:md01、md02,账号是“群组+班级+序号”

1.3 关于FTP服务器设置

可以参考我的博客:

  1. 用FileZilla搭建Ftp的问题

2. 什么是编程

计算机不会主动去做任何事情,它只是一个哑巴盒子,只有人告诉它应该怎么做。它不会独立思考,没有情感,即使chatGPT也不例外。

2.1 编程语言

想要告诉计算机如何做,你必须学会一种编程语言。可视化编程语言易于掌握,上手快,适合于初学者。而职业程序员实用文字来编写程序,当下最流行的编程语言之一是python。

2.2 人人都应学好编程

学会编程,你就能让计算机成为你的宠物。编程的思考过程既要符合逻辑又要十分精细。因为,当指令不正确或先后顺序有误,程序将产生bug,因此,编程对学习能力、逻辑思维能力的培养很有帮助。

2.3. 编程难吗?

其实很容易,秘诀是动手实践。我教学的思路是通过完成简单的作品来学习编程,不用太多的时间就可以做出游戏和艺术品。

PS: 1. 为了应付会考,做题有效还是做作品有效。

  1. 我们能把所有的知识都交给学生吗?

bug:它是程序中的错误,它会让程序无法无法按照预期工作。经常编程可以练就程序员火眼金睛,能很快发现程序逻辑错误。从犯错中学习是有效的提高能力的方法,因此,错误不可怕。

2.4 python用途

python易学易懂,python包含了很多有用的代码库,借用这些库,你可以更加方便快捷的编写自己的程序。

  1. 互联网领域:谷歌公司的搜索引擎有一部分程序是用python编写的
  2. 商业用途:python可以编写银行、超市、工厂等管理销售系统
  3. 航空航天:python可以开发出帮助宇航员们监控任务的执行过程
  4. 医疗:python可以给机器人编写程序,让机器完成复杂的手术
  5. 电影:迪士尼公司实用python自动执行动画片重复部分

3. 开发环境

IDLE(集成开发环境的缩写),是一个免费软件,它是为初学者设计的,

3.1 打开IDLE

从程序中找到IDLE
在这里插入图片描述

打开后,出现下图窗口,courier

在这里插入图片描述

3.2 IDLE窗口

IDLE有两个窗口:shell窗口和编辑窗口,上图是shell窗口,通过“file”→“New File”可以打开编辑窗口

3.2.1 shell窗口和编辑窗口

当我们在shell窗口输入下面的指令时,注意观察窗口的变化。

from turtle import *
forward(200)
left(90)
forward(300)

  1. 体验shell窗口
  • 输入from turtle import *时,没有任何反应。
  • 当输入forward(200)后,出现下图:

在这里插入图片描述

  • 继续输入,体会窗口的变化。
  1. 打开编辑窗口,这次输入全部四行代码

在这里插入图片描述

然后保存到0809-01turtle绘图.py文件中,这样保存文件,可以为以后查阅提供帮助。教师可以统一命名,学生命名会出现混乱。

让我们运行此程序,体会程序运行结果,运行方法:“Run”→“Run Module”(或F5)

在这里插入图片描述

  1. shell窗口与编辑窗口比较

shell窗口一次只能执行一行语句,而编辑窗口可以一次运行全部语句。shell窗口适用于当需要验证几个语句的执行效果特别有用。编辑窗口就是我们真正编写程序的地方

4. 项目式教学

4.1 失败案例

我在以前的教学中,体会到项目式教学的好处,这里我给大家做一下介绍我做的一个项目式教学,此项目式教学是针对Python创意编程比赛准备的,共计17课时,外加26个课时的基础课。在培训的过程中,开始就介绍基础知识,总计26课时,后来编写一个完整的游戏将基础知识应用于实践的过程中,本来认为应该学生能够接受,但实际是学生很是迷茫。有些学生开始厌恶编程,为什么呢?后来通过与学生的交谈中,我知道了,本来课业负担重,又来了一个让人乏味的编程,学生没兴趣,就学不会,尤其是初中生,他们的学习能力,学习方法,学习动力等等多方面的原因,导致我的授课效果并不好。后来通过反思总结,我认为,对于初中生来说,不应该有宏大的目标,而应该是不断实现的小目标。尤其是基础知识的学习,在开始学习的时候,不能仅限于知识的传授,要将知识融入小项目。下面我给大家展示我当时的授课内容:

太空射击第17课: Game Over (結束)

对于此项目,适合于有一定的学习能力,有学习动力的学生学习。对于大多数无基础的初中生来讲,这个项目有点大。不过在调查的过程中,学生也是希望自己能够编写出自己的游戏,说明此项目有一定的可取之处。它的可取之处就是符合学生的好玩特征,因此,在进行项目式教学的过程中,选择的项目要符合学生心理特征。

4.2 项目式教学案例设计

4.2.1 动物知识竞猜

从此程序开始Python编程教学,以下根据教学内容对此项目进行改写。

def check_guess(guess, answer):
	global score
	still_guessing = True
	attempt = 0
	while still_guessing and attempt < 3:
		if guess.lower() == answer.lower():
			print('Correct Answer')
			score = score + 1
			still_guessing = False
		else:
			if attempt < 2:
				guess = imput('Sorry wrong answer. Try again ')
			attempt = attempt +1
	if attempt == 3:
		print('The correct answer is ' + answer)

score = 0
print('Guess the Animal')
guess1 = input('Which bear lives at the North Pole?')
check_guess(guess1,'polar bear')
guess2 = input('Which is the fastest land animal?')
check_guess(guess2,'cheetah')
guess2 = input('Which is the largest animal?')
check_guess(guess3,'blue whale')

print('Your score is ' + str(score))
教学过程

下面内容中,字体加粗的部分属于要注意给学生讲解的内容。

  1. 创建一个新文件
    file菜单中,选择“New File”,然后,把文件保存为“animal_quiz.py”
  2. 创建变量
    创建一个名为“score”的变量
score = 0
  1. 显示信息
score = 0
print('动物竞猜!')
  1. 运行程序

运行程序后,发生了什么?应该在shell窗口中看见信息。

  1. 用户输入
score = 0
print('动物竞猜!')
guess1 = input('哪种熊居住在北极圈?')

第3行代码是提出问题,然后等待输入答案,输入的答案。输入的答案保存到变量guess1中,运行代码,查看现象,体会输入。然后将代码修改,加入打印输入答案的信息,体会输入、输出的区别。

score = 0
print('动物竞猜!')
guess1 = input('哪种熊居住在北极圈?')
print("输入的答案是"+guess1)
  1. 逻辑表达式

如果一个语句使用了逻辑运算符对变量和数值进行比较,那么它总是会给出一个布尔值:TrueFalse,这些句子称为布尔表达式,比较输入的答案是否正确

score = 0
print('动物竞猜!')
guess1 = input('哪种熊居住在北极圈?')
print("输入的答案是"+guess1)
guess1 == '北极熊'

输出:

在这里插入图片描述

代码最后一句就是布尔表达式,用于比较guess1与字符串“北极熊”是否相等,但是,是否相等呢?程序没有给出答案,现在,我们修改代码,将最后一行改为print(guess1 == '北极熊'),来看看结果。

score = 0
print('动物竞猜!')
guess1 = input('哪种熊居住在北极圈?')
print("输入的答案是"+guess1)
#guess1 == '北极熊'
print(guess1 == '北极熊')

程序中将第5行注释了,注释以#开始,标志这行代码在程序运行时不起作用。

第6行,显示表达式的值,任何表达式都可以用这种方法打印,打印结果

在这里插入图片描述

打印结果输出了True,True是一个布尔值,表示此布尔表达式的计算结果为真。

也就是输入的答案是正确的。有了判断正确与否,我们就可以加分或显示胜利的标志。

当输入的错误的答案呢?

在这里插入图片描述

输出的结果是False,那么就要根据答案的正确与否获取不同的结果。

  1. 分支结构

计算机经常要有选择执行程序中代码,这是因为大多数程序都要根据不同的情况去做不同的事情。

前面的示例中要根据答案的正确与否获取不同的结果。这就是分支结构。

条件:是一个布尔表达式,这个表达式帮助计算机决定选择。

2个分支的示例

执行下面的程序,分别输入正确与错误的答案,看看结果并总结分支结构的特点。

score = 0
print('动物竞猜!')
guess1 = input('哪种熊居住在北极圈?')
print("输入的答案是"+guess1)
#guess1 == '北极熊'
#print(guess1 == '北极熊')
if guess1 == '北极熊':
    score = score + 1
    print('正确,你的得分是'+str(score))
    
else:
    print('错误,你的得分是'+str(score))
    
print('你当前的分数是'+str(score))

在这里插入图片描述
当输入错误的答案时,分数没有变化,并提示答案错误。

当输入正确的答案,提示答案正确并将分数加1分

不论答案正确与否,最后一条语句一定执行,这里一定仔细体会。


1个分支的示例

score = 0
print('动物竞猜!')
guess1 = input('哪种熊居住在北极圈?')
print("输入的答案是"+guess1)
#guess1 == '北极熊'
#print(guess1 == '北极熊')
if guess1 == '北极熊':
    score = score + 1
    print('正确,你的得分是'+str(score))
print('你当前的分数是'+str(score))

当输入错误的答案时,分数没有变化,也没有提示。

当输入正确的答案,提示答案正确并将分数加1分,与上面的示例效果相同。有时这种结构可以不考虑错误的结果,也精简了程序

不论答案正确与否,最后一条语句一定执行。

在这里插入图片描述

  1. while 循环

程序擅长完成重复的劳动,方法是利用“循环”,循环可以不停重复执行一段代码。

如果你事先不知道循环体要执行多少次,比如,若输入的答案不正确,可以最多有3次输入答案的机会,有可以一次就答对了,也可能2次,也可能3次。

我们需要while语句来实现此程序

教师讲解下面的程序:

score = 0
print('动物竞猜!')
#guess1 = input('哪种熊居住在北极圈?')
#print("输入的答案是"+guess1)
#guess1 == '北极熊'
#print(guess1 == '北极熊')
attempt = 0
while attempt < 3:
    attempt = attempt + 1
    print('第'+str(attempt)+'次尝试:')
    guess1 = input('哪种熊居住在北极圈?')
    print("输入的答案是"+guess1)
    
    if guess1 == '北极熊':
        score = score + 1
        print('正确,你的得分是'+str(score))
        break;
        
    else:
        print('错误,你的得分是'+str(score))
        print('========================')
    
print('你当前的分数是'+str(score))

程序运行中,输入3次错误答案,运行结果:
在这里插入图片描述

在此次程序运行中,总计运行了以下代码3次,其它程序语句仅执行了1次

attempt = attempt + 1
print('第'+str(attempt)+'次尝试:')
guess1 = input('哪种熊居住在北极圈?')
print("输入的答案是"+guess1)

if guess1 == '北极熊':
    score = score + 1
    print('正确,你的得分是'+str(score))
    break;
        
else:
    print('错误,你的得分是'+str(score))
    print('========================')

下面让我们在执行一次程序,这次,我们直接输入正确答案

在这里插入图片描述

从运行结果来看,循环仅执行了一次,因为输出的最后一行是“你当前的分数是1”

本节课程序与上节课程序对比

本次课代码上次课代码
在这里插入图片描述
在这里插入图片描述

我们将原来第3、4行代码注释掉,并将此代码加入到新添加while语句块中,while语句后面是一个条件,条件为真时执行其后的语句块,否则执行print('你当前的分数是'+str(score))

在程序的第7行增加attempt = 0语句,来建立新的变量attempt,用来存放重复输入答案的次数。

在程序的第9、10行我们添加了attempt = attempt + 1print('第'+str(attempt)+'次尝试:')语句,这是为了记录已经输入几次答案并将信息输出。

第23行,我们增加了print('========================')语句,这是当答案错误时,将本次输入输出信息与下一次信息分隔开,主要是为了程序清晰。

教师在授课时,要注意break语句的讲解,可以先不加break语句,学生会发现即使答案输入正确,也需要输入3次答案,这里省略。


  1. 优化程序

程序每次循环都需要提示问题,这是不合理的。应该在程序中仅仅提示再次输入答案,且print("输入的答案是"+guess1)语句每次提示答案也是多余。因此,程序修改如下:

score = 0
print('动物竞猜!')
guess1 = input('哪种熊居住在北极圈?')
#print("输入的答案是"+guess1)
#guess1 == '北极熊'
#print(guess1 == '北极熊')
attempt = 0
while attempt < 3:
    attempt = attempt + 1
    print('第'+str(attempt)+'次尝试:')
    #guess1 = input('哪种熊居住在北极圈?')
    #print("输入的答案是"+guess1) 
    if guess1 == '北极熊':
        score = score + 1
        print('正确,你的得分是'+str(score))
        break;
        
    else:
        print('错误,你的得分是'+str(score))
        guess1 = input('哪种熊居住在北极圈?')
print('========================')    
print('你当前的分数是'+str(score))

第3行guess1 = input('哪种熊居住在北极圈?'),解除注释,并将第11行的语句注释,将这条语句添加在第20行,因为,循环的作用是判断输入的答案是否正确,只有在不正确时,才提示重新输入。这样避免程序混乱

print('========================') 语句移到循环的外部,效果是不同的,可以根据自己的喜好是否移动,我倾向于移动。因为,此语句的作用是为了区分不同问题。

在这里插入图片描述

  1. 函数

加入程序要求每次回答3个问题,每个问题最多可以回答3次,比如有如下3个问题:

  • “哪种熊居住在北极圈?”
  • “陆地上哪种动物跑的最快?”
  • “地球上哪种动物最大”

那么,程度可以修改为:

score = 0

print('动物竞猜!')
question1 = '哪种熊居住在北极圈?'
guess1 = input(question1)
attempt = 0
while attempt < 3:
    attempt = attempt + 1
    print('第'+str(attempt)+'次尝试:')
    if guess1 == '北极熊':
        score = score + 1
        print('正确,你的得分是'+str(score))
        break;        
    else:
        print('错误,你的得分是'+str(score))
        guess1 = input(question1)
print('========================')  


question2 = '陆地上哪种动物跑的最快?'
guess1 = input(question2)
attempt = 0
while attempt < 3:
    attempt = attempt + 1
    print('第'+str(attempt)+'次尝试:')
    if guess1 == '鸵鸟':
        score = score + 1
        print('正确,你的得分是'+str(score))
        break;        
    else:
        print('错误,你的得分是'+str(score))
        guess1 = input(question2)
print('========================')  


question3 = "地球上哪种动物最大?"
guess1 = input(question3)
attempt = 0
while attempt < 3:
    attempt = attempt + 1
    print('第'+str(attempt)+'次尝试:')

    if guess1 == '蓝鲸':
        score = score + 1
        print('正确,你的得分是'+str(score))
        break;        
    else:
        print('错误,你的得分是'+str(score))
        guess1 = input(question3)
print('========================')  

print('你当前的分数是'+str(score))

讲解此程序时,通过复制粘贴的方式完成代码的编写,以便让学生体会语句的重复。

此部分将3个问题保存到3个变量中,避免重复输入文字。

程序很长,来分析一下程序,看看是否可以精简。

程序功能:

输入一个问题,在重复输入次数小于3次的情况下,判断答案是否正确,回答正确时加1分。这样重复3个问题,每个问题都需要编写一次判断答案正确与否的程序。我们可不可以设计一个功能,让3个问题重复使用一段代码来判定答案是否正确呢?

函数

def check_guess(question,answer,guess):
	global score # 声明score是一个全局变量
	attempt = 0
    while attempt < 3:
        attempt = attempt + 1
        print('第'+str(attempt)+'次尝试:')

        if guess == answer:
            score = score + 1
            print('正确,你的得分是'+str(score))
            break;        
        else:
            print('错误,你的得分是'+str(score))
            guess = input(question)
    print('========================') 

第1行定义名称是check_guess()的函数,括号内是3个参数,针对问题不同,它的题干、答案、猜想都是不同的,因此,这里3个参数代表了问题不同的3个方面。

运行程序时,需要给参数赋值。

第2行,声明score是一个全局变量

第8行,将原来的guess1换成guess参数,具体的答案换成answer参数

第14行,question1换成question参数

调用函数,程序如下:

def check_guess(question,answer,guess):
    global score # 声明score是一个全局变量
    attempt = 0
    while attempt < 3:
        attempt = attempt + 1
        print('第'+str(attempt)+'次尝试:')

        if guess == answer:
            score = score + 1
            print('正确,你的得分是'+str(score))
            break;        
        else:
            print('错误,你的得分是'+str(score))
            guess = input(question)
    print('========================') 
score = 0

print('动物竞猜!')
question1 = '哪种熊居住在北极圈?'
guess1 = input(question1)
check_guess(question1,'北极熊',guess1)

question2 = '陆地上哪种动物跑的最快?'
guess1 = input(question2)
check_guess(question2,'鸵鸟',guess1)

question3 = "地球上哪种动物最大?"
guess1 = input(question3)
check_guess(question3,'蓝鲸',guess1) 

print('你当前的分数是'+str(score))

程序从50行语句变成只有31行。

优化程序

注意到在三次调用check_guess(question3,'蓝鲸',guess1) ,最后一个参数都是guess1,那么第一个参数可以都为question1,而且在函数中用到global score,那么可不可以将第1、3个参数用作全局变量呢?可以的。

def check_guess(answer):
    global score, question, guess # 声明score, question, guess是一个全局变量
    attempt = 0
    while attempt < 3:
        attempt = attempt + 1
        print('第'+str(attempt)+'次尝试:')

        if guess == answer:
            score = score + 1
            print('正确,你的得分是'+str(score))
            break;        
        else:
            print('错误,你的得分是'+str(score))
            guess = input(question)
    print('========================') 
score = 0

print('动物竞猜!')
question = '哪种熊居住在北极圈?'
guess = input(question)
check_guess('北极熊')

question = '陆地上哪种动物跑的最快?'
guess = input(question)
check_guess('鸵鸟')

question = "地球上哪种动物最大?"
guess = input(question)
check_guess('蓝鲸') 

print('你当前的分数是'+str(score))

我们将变量question1,question2,question3改成question,将guess1,guess2,guess3改为guess

在第1行,将函数check_guess() 变为只有1个参数。这样在调用时就变的简单了。

  1. for循环

当知道程序需要重复执行多少次,就可以使用for循环。while循环是不知道循环多少次。

列表

列表可以将很多数据项保存在一起,并且让它们按照顺序存放,上面的程序中我们有变量question1,question2,question3,我们可以将它们放在一起。

question_list = ['哪种熊居住在北极圈?',
			'陆地上哪种动物跑的最快?',
			"地球上哪种动物最大?"
			]

列表中的每一项必须用逗号分隔。

从列表中取出数据项是通过在列表名称后的方括号中的编号来取得的,

question[1]

在这里插入图片描述

结果是第2项数据,因为编号从0开始,即编号为0的代表第1项。

在这里插入图片描述

range

range()是系统中已经存在的函数,括号中有两个数字,它表示指定范围内的所有数字,这个范围是从第一个数字到最后一个数字小1的数字。如:range(0,3)表示数字0,1,2。但不包括3。

示例:

for i in range(0,3):
	print(i)

在这里插入图片描述

i称为循环变量,它跟踪循环体重复执行了多少次,第1次循环它等于列表中的第一项,第2次循环它等于列表第2项。

对于列表question也可以循环

question_list = ['哪种熊居住在北极圈?',
            '陆地上哪种动物跑的最快?',
            "地球上哪种动物最大?"
			]
for i in question:
    print(i)

执行结果

在这里插入图片描述

对于正确答案,可以建立correct_answer列表

correct_answer = ['北极熊', '鸵鸟','蓝鲸']

correct_answer列表与question列表是一一对应的。

那么我们来修改程序:

def check_guess(answer):
    global score, question, guess # 声明score, question, guess是一个全局变量
    attempt = 0
    while attempt < 3:
        attempt = attempt + 1
        print('第'+str(attempt)+'次尝试:')

        if guess == answer:
            score = score + 1
            print('正确,你的得分是'+str(score))
            break;        
        else:
            print('错误,你的得分是'+str(score))
            guess = input(question)
    print('========================') 
score = 0
question_list = ['哪种熊居住在北极圈?',
            '陆地上哪种动物跑的最快?',
            "地球上哪种动物最大?"
	    ]
correct_answer = ['北极熊', '鸵鸟','蓝鲸']
print('动物竞猜!')
for i in range(0,3):
    question = question_list[i]
    guess = input(question)
    check_guess(correct_answer[i])

print('你当前的分数是'+str(score))

程序进一步精简,

程序第17行建立列表question_list和correct_answer,

第23行是for循环语句,其中i的取值范围是0、1、2,

第24行,将question_list的第i个数据项赋值给question,

第26行,将correct_answer列表的第i个数据项作为参数传递给check_guess()函数

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/863060.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

SysML V1.2 P1.概述

Scope SysML重用UML 2的子集&#xff0c;并提供额外的扩展来满足语言的需求。该规范根据UML 2中被重用的部分和UML 2的扩展&#xff0c;记录了语言体系结构。该规范包括完整语言的具体语法(符号)&#xff0c;并指定UML 2的扩展。UML 2规范的可重用部分没有直接包含在规范中&…

解析Python面向对象:从小白到面向对象大师的蜕变之路

文章目录 一 类和对象的概念二 类的认识2.1 类的定义和使用语法2.2 成员变量和成员方法 三 类和对象3.1 类和对象的关系3.2 构造方法3.3 魔术方法概述&#xff08;内置类方法&#xff09;3.4 内置方法详解 四 面向对象三大特性4.1 封装4.1.1 封装的理解4.1.2 私有成员变量和方法…

致谢丨感谢有你,JumpServer开源项目九周年致谢名单

2014年到2023年&#xff0c;JumpServer开源项目已经走过了九年的时间。感谢以下社区贡献者对JumpServer项目的帮助和支持。 因为有你&#xff0c;一切才能成真。 JumpServer开源项目贡献者奖杯将于近日邮寄到以上贡献者手中&#xff0c;同时JumpServer开源项目组还准备了一份小…

2023年计算机科学与信息技术国际会议(ECCSIT 2023)

会议简介 Brief Introduction 2023年计算机科学与信息技术国际会议(ECCSIT 2023) 会议时间&#xff1a;2023年12月15日-17日 召开地点&#xff1a;中国北海 大会官网&#xff1a;www.eccsit.org 2023年计算机科学与信息技术国际会议(ECCSIT 2023)由国际电气、电子与能源工程协会…

Redis_哨兵模式

9. 哨兵模式 9.1 简介 当主库宕机&#xff0c;在从库中选择一个&#xff0c;切换为主库。 问题: 主库是否真正宕机?哪一个从库可以作为主库使用?如何实现将新的主库的信息通过给从库和客户端&#xff1f; 9.2 基本流程 哨兵主要任务&#xff1a; 监控选择主库通知 会有…

100个Java工具类之42:序列化工具类Apache之SerializationUtils

序列化工具类Apache之 org.apache.commons.lang3.SerializationUtils 众所周知&#xff1a;Java中序列化是指&#xff0c;将Java对象转换为可存储传输的字节序列的过程。 序列化作用&#xff1a; 1、网络传输&#xff1a;网络可以传输字节化的java对象 2、数据安全&#xf…

jQuery EasyUI datagrid 无记录时,增加“暂无数据“提示

我们只需要在onLoadSuccess中添加如下代码&#xff1a; if (data.total 0) {var body $(this).data().datagrid.dc.body2;body.find(table tbody).append(<tr><td width" body.width() " style"height: 35px; text-align: center;"><h…

20230811导出Redmi Note12Pro 5G手机的录音机APP的录音

20230811导出Redmi Note12Pro 5G手机的录音机APP的录音 2023/8/11 10:54 redmi note12 pro 录音文件 位置 貌似必须导出录音&#xff0c;录音的源文件不知道存储到哪里了&#xff01; 参考资料&#xff1a; https://jingyan.baidu.com/article/b87fe19e9aa79b1319356842.html 红…

以数据为中心的标记语言--yaml

&#x1f600;前言 本篇博文是关于以数据为中心的配置文件yaml的说明和应用&#xff0c;希望能够帮助到您&#x1f60a; &#x1f3e0;个人主页&#xff1a;晨犀主页 &#x1f9d1;个人简介&#xff1a;大家好&#xff0c;我是晨犀&#xff0c;希望我的文章可以帮助到大家&…

2023年电赛---运动目标控制与自动追踪系统(E题)—— 视觉部分

文章目录 一、前言二、视觉部分2.1&#xff1a;k210识别激光点2.2&#xff1a;k210识别方框和4个角点 三、总结 一、前言 &#x1f337;此次电赛我负责的部分主要是视觉&#xff0c;所以我着重和详细讲解一下视觉部分&#xff0c;不止限于此次电赛&#xff0c;而是从这次电赛视…

canfestival_主站发送同步对象触发主站PDO发送

1.入口处 2.开启定时器 3.调用定时器函数 4.切换到初始化状态&#xff0c;自动切换到预操作状态&#xff0c;最后进入操作状态 看到在预操作状态下&#xff0c;进行了通信状态的切换&#xff0c;调用相应的函数&#xff0c;如下&#xff1a; 5.调用开启SYNC的函数 查找对象字典…

让机器人懂得人类“常识”,3D语义地图能做到吗?

机器人需要一张保姆级地图。 随着机器人的智能化技术不断迭代&#xff0c;对于复杂的行为决策、人机交互等任务仅感知环境的空间几何信息已无法满足要求&#xff0c;它需要让机器人能够像人一样&#xff0c;懂得环境中的物体类别及其位置&#xff0c;即环境的语义信息。以扫地机…

字节跳动基于火山引擎DataLeap的一站式数据治理架构实践

更多技术交流、求职机会&#xff0c;欢迎关注字节跳动数据平台微信公众号&#xff0c;回复【1】进入官方交流群 在7月22日举行的 ArchSummit 全球架构师峰会&#xff08;深圳站&#xff09;上&#xff0c;来自火山引擎DataLeap的技术专家为大家带来了字节跳动基于火山引擎DataL…

day16:static、final、常量(static final)、

一、static 特点&#xff1a;属于类 、存储在方法去、只有一份或者只执行一次、随类运行执行 可以修饰静态变量 、静态方法 、静态代码块 静态变量能否继承&#xff1f; 静态变量属于类&#xff0c;是共享的资源&#xff0c;不认为是被继承的 静态变量不可以定义在静态方法中…

数据库数据恢复-Oracle数据库数据恢复案例

数据库数据恢复环境&#xff1a; Oracle数据库ASM磁盘组有4块成员盘。 数据库故障&分析&#xff1a; Oracle数据库ASM磁盘组掉线 &#xff0c;ASM实例无法挂载&#xff0c;用户联系我们要求恢复oracle数据库。 数据库数据恢复工程师拿到磁盘后&#xff0c;先将所有磁盘以只…

批量翻译多个文件夹,让你的文件管理更智能高效!

大家好&#xff01;对于经常需要管理大量文件夹的你来说&#xff0c;每次手动逐个改名实在是一项繁琐且易出错的工作。现在&#xff0c;我们为你带来一款强大的文件夹批量改名工具&#xff0c;让你能够轻松实现多个文件夹的批量翻译&#xff0c;让你的文件管理更智能高效 第一…

学会烟感监控有多重要?办公楼真的有必要吗?

随着城市化和建筑规模的不断扩大&#xff0c;火灾风险也日益凸显。为了保障员工和财产的安全&#xff0c;以及及时应对潜在的火灾威胁&#xff0c;办公楼需要采取积极的预防措施。 因此&#xff0c;在这一背景下&#xff0c;安装有效的烟感监控系统变得至关重要。 客户案例 ​…

AI抢饭碗!多部由Midjourney+Runway,制作的电影火了!丨IDCF

ChatGPT等生成式AI正在重塑各个行业的工作模式&#xff0c;尤其是影视领域。最近&#xff0c;多部由MidjourneyRunway生成式AI制作的电影预告片在社交平台上火了。 一部名叫的《芭本海默》的电影从对白、场景、人物、切镜完全由生成式AI制作完成并受到了用户的好评。该片结合了…

PHP 之房贷计算器、组合贷

一、等额本金 // &#xff08;等额本金&#xff09; //$loanAmount>贷款金额 //$loanPeriod>贷款年限 //$interestRate>贷款利息 function calculateEqualPrincipalPayment($loanAmount, $loanPeriod, $interestRate) {$monthlyPrincipal $loanAmount / ($loanPerio…

C#引用Web Service 类型方法,添加搜索本地服务器Web Service 接口调用方法

首先保证现在网络能调用web service接口&#xff0c;右键项目添加服务引用 ![![在这里插入图片描述](https://img-blog.csdnimg.cn/555ba4fa5e2a418f8f85539a9406bcd6.png) 点击高级 添加web服务 输入搜索的服务器接口&#xff0c;选中你要添加调用的方法即可 添加完成调用方…