【教学类-58-01】黑白三角拼图01(2*2宫格)固定256种+随机抽取10张

背景需求:

中班益智区素材:三角形变魔术 - 小红书自制益智区教玩具:三角形变魔术,共24题 玩法一:根据图示在空白格子里摆放。 玩法二:根据图示在空白格子里用黑笔涂。##自制玩具益智区 #幼儿园益智区 #中班益智区 #区域素材 #幼儿园益智区可打印素材icon-default.png?t=N7T8https://www.xiaohongshu.com/discovery/item/642edea90000000012032c3d?app_platform=android&ignoreEngage=true&app_version=8.36.0&share_from_user_hidden=true&type=normal&author_share=1&xhsshare=WeixinSession&shareRedId=ODszMTs4Nk82NzUyOTgwNjg3OTlHS0xC&apptime=1716531629

小红书上看到一个三角黑块拼图,我去年带的班级里也有这样的积木块。

我想用编程来做一下9块积木块共有多少种不同的排列方式。

样式是3*3的,感觉数量会很多,先做一个2*2的拼图。

代码展示:

1、800*800画布上制作2*2单元格

2、读取四个单元格的每个单元格的的四个坐标,都随机抽取3个

3、梳理出不重复的样式坐标

4、根据三点坐标制作黑色直角三角形

'''
黑白三角(2*2), 4个单元格每个有四个坐标,四个坐标随机抽取3个,进行组合,共有256种不重复排序
AI对话大师,阿夏
2024年5月24日
'''

print('---1、制作2*2格子-------')
from PIL import Image, ImageDraw
path=r'C:\Users\jg2yXRZ\OneDrive\桌面\黑白三角'
# 创建800x800的画布
canvas = Image.new('RGB', (800, 800), (255, 255, 255))
draw = ImageDraw.Draw(canvas)

# 定义表格的行数和列数
rows = 2
cols = 2

# 计算单元格的宽度和高度
cell_width = 800 // cols
cell_height = 800 // rows

# 绘制表格的竖直线
for i in range(1, cols):
    x = i * cell_width
    draw.line([(x, 0), (x, 800)], fill=(0, 0, 0), width=2)

# 绘制表格的水平线
for i in range(1, rows):
    y = i * cell_height
    draw.line([(0, y), (800, y)], fill=(0, 0, 0), width=2)
mb='2格模板.png'
# 保存画布
canvas.save(path+fr'\{mb}')


print('---2、计算三个坐标点的黑色三角形不重复图案有几个-------')

# 创建一个空列表用于存储单元格的坐标
cell_coordinates = []

# 计算每个单元格的四个顶点坐标
for row in range(rows):
    for col in range(cols):
        top_left = (col * cell_width, row * cell_height)
        top_right = ((col + 1) * cell_width, row * cell_height)
        bottom_left = (col * cell_width, (row + 1) * cell_height)
        bottom_right = ((col + 1) * cell_width, (row + 1) * cell_height)
        
        # 将四个顶点坐标添加到列表中
        cell_coordinates.append([top_left, top_right, bottom_left, bottom_right])
# print(cell_coordinates)
# [[(0, 0), (400, 0), (0, 400), (400, 400)], [(400, 0), (800, 0), (400, 400), (800, 400)], [(0, 400), (400, 400), (0, 800), (400, 800)], [(400, 400), (800, 400), (400, 800), (800, 800)]]

import itertools,os

# 生成所有组合方式
combinations = list(itertools.product(*[itertools.combinations(sublist, 3) for sublist in cell_coordinates]))
# print(combinations)
print(len(combinations))
# 256


print('---3、制作三个坐标点的黑色三角形(4个)-------')
from PIL import Image, ImageDraw

new=path+r'\二宫格组合图片'
os.makedirs(new,exist_ok=True)

m=1
# 定义要绘制的坐标点组合
for point_combination in combinations:
        # 读取图像文件
    image = Image.open(path+fr'\{mb}')

    # 创建绘图对象
    draw = ImageDraw.Draw(image)

    # 遍历每个坐标点组合
    for combination in point_combination:
        # 绘制填充为黑色的多边形
        draw.polygon(combination, fill="black")

    # 保存结果图像
    image.save(new+fr"\{m:03d}.png")
    m+=1


print('---4合并打印-------')


# 第3步,读取图片写入docx,合并PDF

import os,time
from docx import Document
from reportlab.lib.pagesizes import letter
from reportlab.pdfgen import canvas
from PyPDF2 import PdfMerger
from docx.shared import Cm

# 读取123文件夹中的所有图片地址
image_folder = new
new_folder = path+r'\零时文件夹'
os.makedirs(new_folder, exist_ok=True)
image_files = [os.path.join(image_folder, file) for file in os.listdir(image_folder) if file.endswith('.png')]

# 每8个图片一组进行处理
grouped_files = [image_files[i:i+6] for i in range(0, len(image_files), 6)]
print(grouped_files)

# 处理每一组图片
for group_index, group in enumerate(grouped_files):
    # 创建新的Word文档
    doc = Document(path+r'\模板6格.docx')
    print(group)
    
    # 遍历每个单元格,并插入图片
    for cell_index, image_file in enumerate(group):
        # 计算图片长宽(单位:厘米)
     
        
        # 插入图片到单元格
        table = doc.tables[0]
        cell = table.cell(int(cell_index / 2), cell_index % 2)
        # 6列两个都是6
        cell_paragraph = cell.paragraphs[0]
        cell_paragraph.clear()
        run = cell_paragraph.add_run()
        run.add_picture(image_file, width=Cm(9.4), height=Cm(9.4))
        
    # 保存Word文档
    doc.save(os.path.join(new_folder, f'{group_index + 1}.docx'))
    
  
# 所有docx合并成PDF

# 将10个docx转为PDF
import os
from docx2pdf import convert
from PyPDF2 import PdfFileMerger
# from PyPDF4 import PdfMerger

# output_folder = output_folder
pdf_output_path = path+fr'\黑白三角256关(6张一页).pdf'

# 将所有DOCX文件转换为PDF
for docx_file in os.listdir(new_folder):
    if docx_file.endswith('.docx'):
        docx_path = os.path.join(new_folder, docx_file)
        convert(docx_path, docx_path.replace('.docx', '.pdf'))


# 合并零时文件里所有PDF文件
merger = PdfFileMerger()
for pdf_file in os.listdir(new_folder):
    if pdf_file.endswith('.pdf'):
        pdf_path = os.path.join(new_folder, pdf_file)
        merger.append(pdf_path)
time.sleep(2)

# 保存合并后的PDF文件
merger.write(pdf_output_path)
merger.close()

import shutil
# 删除输出文件夹

shutil.rmtree(new_folder)

2宫格的黑白三角拼图有256种不重复的排列方式

但是吧图片插入6格模版里,发现图片都黏连在一起了。

第二次修改

加了一个上下左右边距

代码展示:

生成的基础模版(有上下左右白色边距)

'''
黑白三角(2*2), 4个单元格每个有四个坐标,四个坐标随机抽取3个,进行组合,共有256种不重复排序,带边距
AI对话大师,阿夏
2024年5月24日
'''

from PIL import Image, ImageDraw

path = r'C:\Users\jg2yXRZ\OneDrive\桌面\黑白三角'

# 创建800x800的画布
canvas = Image.new('RGB', (800, 800), (255, 255, 255))
draw = ImageDraw.Draw(canvas)

# 定义表格的行数和列数
rows = 2
cols = 2
margin = 50

# 计算单元格的宽度和高度
cell_width = (800 - 2 * margin) // cols
cell_height = (800 - 2 * margin) // rows

# 绘制表格的竖直线
for i in range(cols + 1):
    x = margin + i * cell_width
    draw.line([(x, margin), (x, 800 - margin)], fill=(0, 0, 0), width=2)

# 绘制表格的水平线
for i in range(rows + 1):
    y = margin + i * cell_height
    draw.line([(margin, y), (800 - margin, y)], fill=(0, 0, 0), width=2)

# 保存画布
mb = '2格模板.png'
canvas.save(path + fr'\{mb}')


print('---2、计算三个坐标点的黑色三角形不重复图案有几个-------')

# 创建一个空列表用于存储单元格的坐标
cell_coordinates = []

# 计算每个单元格的四个顶点坐标
for row in range(rows):
    for col in range(cols):
        top_left = (margin + col * cell_width, margin + row * cell_height)
        top_right = (margin + (col + 1) * cell_width, margin + row * cell_height)
        bottom_left = (margin + col * cell_width, margin + (row + 1) * cell_height)
        bottom_right = (margin + (col + 1) * cell_width, margin + (row + 1) * cell_height)

        
        # 将四个顶点坐标添加到列表中
        cell_coordinates.append([top_left, top_right, bottom_left, bottom_right])
# print(cell_coordinates)
# [[(0, 0), (400, 0), (0, 400), (400, 400)], [(400, 0), (800, 0), (400, 400), (800, 400)], [(0, 400), (400, 400), (0, 800), (400, 800)], [(400, 400), (800, 400), (400, 800), (800, 800)]]

import itertools,os

# 生成所有组合方式
combinations = list(itertools.product(*[itertools.combinations(sublist, 3) for sublist in cell_coordinates]))
# print(combinations)
print(len(combinations))
# 256


print('---3、制作三个坐标点的黑色三角形(4个)-------')
from PIL import Image, ImageDraw

new=path+r'\二宫格组合图片'
os.makedirs(new,exist_ok=True)

m=1
# 定义要绘制的坐标点组合
for point_combination in combinations:
        # 读取图像文件
    image = Image.open(path+fr'\{mb}')

    # 创建绘图对象
    draw = ImageDraw.Draw(image)

    # 遍历每个坐标点组合
    for combination in point_combination:
        # 绘制填充为黑色的多边形
        draw.polygon(combination, fill="black")

    # 保存结果图像
    image.save(new+fr"\{m:03d}.png")
    m+=1


print('---4合并打印-------')


# 第3步,读取图片写入docx,合并PDF

import os,time
from docx import Document
from reportlab.lib.pagesizes import letter
from reportlab.pdfgen import canvas
from PyPDF2 import PdfMerger
from docx.shared import Cm

# 读取123文件夹中的所有图片地址
image_folder = new
new_folder = path+r'\零时文件夹'
os.makedirs(new_folder, exist_ok=True)
image_files = [os.path.join(image_folder, file) for file in os.listdir(image_folder) if file.endswith('.png')]

# 每8个图片一组进行处理
grouped_files = [image_files[i:i+6] for i in range(0, len(image_files), 6)]
print(grouped_files)

# 处理每一组图片
for group_index, group in enumerate(grouped_files):
    # 创建新的Word文档
    doc = Document(path+r'\模板6格.docx')
    print(group)
    
    # 遍历每个单元格,并插入图片
    for cell_index, image_file in enumerate(group):
        # 计算图片长宽(单位:厘米)
     
        
        # 插入图片到单元格
        table = doc.tables[0]
        cell = table.cell(int(cell_index / 2), cell_index % 2)
        # 6列两个都是6
        cell_paragraph = cell.paragraphs[0]
        cell_paragraph.clear()
        run = cell_paragraph.add_run()
        run.add_picture(image_file, width=Cm(9.4), height=Cm(9.4))
        
    # 保存Word文档
    doc.save(os.path.join(new_folder, f'{group_index + 1}.docx'))
    
  
# 所有docx合并成PDF

# 将10个docx转为PDF
import os
from docx2pdf import convert
from PyPDF2 import PdfFileMerger
# from PyPDF4 import PdfMerger

# output_folder = output_folder
pdf_output_path = path+fr'\黑白三角256关(6张一页).pdf'

# 将所有DOCX文件转换为PDF
for docx_file in os.listdir(new_folder):
    if docx_file.endswith('.docx'):
        docx_path = os.path.join(new_folder, docx_file)
        convert(docx_path, docx_path.replace('.docx', '.pdf'))


# 合并零时文件里所有PDF文件
merger = PdfFileMerger()
for pdf_file in os.listdir(new_folder):
    if pdf_file.endswith('.pdf'):
        pdf_path = os.path.join(new_folder, pdf_file)
        merger.append(pdf_path)
time.sleep(2)

# 保存合并后的PDF文件
merger.write(pdf_output_path)
merger.close()

import shutil
# 删除输出文件夹

shutil.rmtree(new_folder)

有白色边距

第三种:256还是很多的,平时小孩玩的时候样板图最多20张

所以我还是随机抽取不重复的图案,

代码优化过了,参数都在最前面订好

'''
黑白三角(2*2), 4个单元格每个有4个坐标,四个坐标随机抽取3个,进行组合,自动抽取10张,带边距
随机图片
AI对话大师,阿夏
2024年5月24日

'''


from PIL import Image, ImageDraw
f=10 # 需要10份
b=800 # 画布大小
g=2 # 宫格数
by=50 # 边距

path = r'C:\Users\jg2yXRZ\OneDrive\桌面\黑白三角'

# 创建bxb的画布
canvas = Image.new('RGB', (b,b), (255, 255, 255))
draw = ImageDraw.Draw(canvas)

# 定义表格的行数和列数、边距
rows = g
cols = g
margin = by

# 计算单元格的宽度和高度
cell_width = (b - 2 * margin) // cols
cell_height = (b - 2 * margin) // rows

# 绘制表格的竖直线
for i in range(cols + 1):
    x = margin + i * cell_width
    draw.line([(x, margin), (x, b - margin)], fill=(0, 0, 0), width=2)

# 绘制表格的水平线
for i in range(rows + 1):
    y = margin + i * cell_height
    draw.line([(margin, y), (b - margin, y)], fill=(0, 0, 0), width=2)

# 保存画布
mb =f'{g}格模板.png'
canvas.save(path + fr'\{mb}')


print('---2、计算三个坐标点的黑色三角形不重复图案有几个-------')

# 创建一个空列表用于存储单元格的坐标
cell_coordinates = []

# 计算每个单元格的四个顶点坐标
for row in range(rows):
    for col in range(cols):
        top_left = (margin + col * cell_width, margin + row * cell_height)
        top_right = (margin + (col + 1) * cell_width, margin + row * cell_height)
        bottom_left = (margin + col * cell_width, margin + (row + 1) * cell_height)
        bottom_right = (margin + (col + 1) * cell_width, margin + (row + 1) * cell_height)

        
        # 将四个顶点坐标添加到列表中
        cell_coordinates.append([top_left, top_right, bottom_left, bottom_right])
# print(cell_coordinates)
# print(len(cell_coordinates))
# 16
# [[(0, 0), (400, 0), (0, 400), (400, 400)], [(400, 0), (b, 0), (400, 400), (b, 400)], [(0, 400), (400, 400), (0, b), (400, b)], [(400, 400), (b, 400), (400, b), (b, b)]]

import random
import os

combinations=[]
# 存储选取的点,随机生成坐标(样式)排除重复,生成10份样式不同的模版
while len(combinations) < f:
    selected_points = []
    for points in cell_coordinates:
        selected_points.append(tuple(random.sample(points, 3)))
    combinations.append(tuple(selected_points))

print(combinations)
print(len(combinations))
#  10


# # 生成所有组合方式,太多了,生成不出来
# combinations = lisitertools.product(*[itertools.combinations(sublist, 3) for sublist in cell_coordinates]))
# # print(combinations)
# print(len(combinations))
# # 262144


print('---3、制作三个坐标点的黑色三角形(4个)-------')
from PIL import Image, ImageDraw

new = path + fr'\{g}宫格组合图片'
os.makedirs(new, exist_ok=True)

m = 1
# 定义要绘制的坐标点组合
for point_combination in combinations:
    print(point_combination)
    # 清空selected_points列表
    selected_points = []
    
    # 遍历每个坐标点组合
    for combination in point_combination:
        # 从每个列表中随机选取三个点,并加入到selected_points中
        selected_points.append(tuple(random.sample(combination, 3)))

    # 读取图像文件
    image = Image.open(path + fr'\{mb}')

    # 创建绘图对象
    draw = ImageDraw.Draw(image)

    # 遍历每个坐标点组合
    for combination in selected_points:
        # 绘制填充为黑色的多边形
        draw.polygon(combination, fill="black")

    # 保存结果图像
    image.save(new + fr"\{m:03d}.png")
    image.close()  # 关闭图像文件
    m += 1



print('---4合并打印------')


# 第3步,读取图片写入docx,合并PDF

import os,time
from docx import Document
from reportlab.lib.pagesizes import letter
from reportlab.pdfgen import canvas
from PyPDF2 import PdfMerger
from docx.shared import Cm

# 读取123文件夹中的所有图片地址
image_folder = new
new_folder = path+r'\零时文件夹'
os.makedirs(new_folder, exist_ok=True)
image_files = [os.path.join(image_folder, file) for file in os.listdir(image_folder) if file.endswith('.png')]

# 每8个图片一组进行处理
grouped_files = [image_files[i:i+6] for i in range(0, len(image_files), 6)]
print(grouped_files)

# 处理每一组图片
for group_index, group in enumerate(grouped_files):
    # 创建新的Word文档
    doc = Document(path+r'\模板6格.docx')
    print(group)
    
    # 遍历每个单元格,并插入图片
    for cell_index, image_file in enumerate(group):
        # 计算图片长宽(单位:厘米)
     
        
        # 插入图片到单元格
        table = doc.tables[0]
        cell = table.cell(int(cell_index / 2), cell_index % 2)
        # 6列两个都是6
        cell_paragraph = cell.paragraphs[0]
        cell_paragraph.clear()
        run = cell_paragraph.add_run()
        run.add_picture(image_file, width=Cm(9.4), height=Cm(9.4))
        
    # 保存Word文档
    doc.save(os.path.join(new_folder, f'{group_index + 1}.docx'))
    
  
# 所有docx合并成PDF

# 将10个docx转为PDF
import os
from docx2pdf import convert
from PyPDF2 import PdfFileMerger
# from PyPDF4 import PdfMerger

# output_folder = output_folder
pdf_output_path = path+fr'\黑白三角{g}宫格随机{f}张(6张一页).pdf'

# 将所有DOCX文件转换为PDF
for docx_file in os.listdir(new_folder):
    if docx_file.endswith('.docx'):
        docx_path = os.path.join(new_folder, docx_file)
        convert(docx_path, docx_path.replace('.docx', '.pdf'))


# 合并零时文件里所有PDF文件
merger = PdfFileMerger()
for pdf_file in os.listdir(new_folder):
    if pdf_file.endswith('.pdf'):
        pdf_path = os.path.join(new_folder, pdf_file)
        merger.append(pdf_path)
time.sleep(2)

# 保存合并后的PDF文件
merger.write(pdf_output_path)
merger.close()

import shutil
# 删除输出文件夹

shutil.rmtree(new_folder)

图片不一样

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

SpringBootWeb 篇-深入了解 Mybatis 概念、数据库连接池、环境配置和 Lombok 工具包

&#x1f525;博客主页&#xff1a; 【小扳_-CSDN博客】 ❤感谢大家点赞&#x1f44d;收藏⭐评论✍ 文件目录 1.0 Mybatis 概述 2.0 数据库连接池 2.1 数据库连接池的主要作用包括 2.2 如何切换数据库连接池&#xff1f; 3.0 配置环境 4.0 Lombok 工具包 4.1 如何导入到项目中呢…

虹科Pico汽车示波器 | 免拆诊断案例 | 2017款奔驰E300L车行驶中发动机偶尔无法加速

故障现象 一辆2017款奔驰E300L车&#xff0c;搭载274 920发动机&#xff0c;累计行驶里程约为21万km。车主反映&#xff0c;该车行驶中发动机偶尔无法加速&#xff0c;且车辆发闯。 故障诊断 用故障检测仪检测&#xff0c;发动机控制单元&#xff08;N3/10&#xff09;中存储…

2024“电工杯”数学建模A题《园区微电网风光储协调优化配置》思路和代码分享

A 题&#xff1a;园区微电网风光储协调优化配置 这个题目整体就是一个优化问题&#xff0c;可以采用MatlabYalmipGurobi求解器进行求解&#xff0c;持续更新中&#xff0c;敬请关注&#xff01;&#xff01; 园区微电网由风光发电和主电网联合为负荷供电&#xff0c;为了尽量提…

在未来你将何去何从?

在数字化的浪潮中&#xff0c;信息技术行业无疑是推动全球经济和社会发展的重要动力。随着科技的不断迭代与进步&#xff0c;云计算、大数据、人工智能&#xff08;AI&#xff09;、物联网&#xff08;IoT&#xff09;、5G通信和区块链等技术已经深入到我们生活的每一个角落&am…

大模型日报|今日必读的 13 篇大模型论文

大家好&#xff0c;今日必读的大模型论文来啦&#xff01; 1.MIT新研究&#xff1a;并非所有语言模型特征都是线性的 最近的研究提出了线性表征假说&#xff1a;语言模型通过操作激活空间中概念&#xff08;“特征”&#xff09;的一维表征来执行计算。与此相反&#xff0c;来…

计算机如何将输入文字显示出来的?渲染Image rendering

1.文字渲染的简单理解 渲染图像&#xff0c;可以理解为用cpu/gpu构造出原本不存在的图像。比如输入计算机的英文字符都是ASCII码&#xff0c;而我们在屏幕上看到显示的字符对应的应该是RGB/YUV的像素。计算机把ASCII字符转化成像素的过程就是文字渲染。又比如我们GPU用多个2D图…

BioMistral 7B——医疗领域的新方法,专为医疗领域设计的大规模语言模型

1. 概述 自然语言处理领域正在以惊人的速度发展&#xff0c;ChatGPT 和 Vicuna 等大型语言模型正在从根本上改变我们与计算机交互的方式。从简单的文本理解到复杂的问题解决&#xff0c;这些先进的模型展示了类似人类的推理能力。 特别是&#xff0c;BLOOM 和 LLaMA 等开源模…

【简单介绍下近邻算法】

&#x1f308;个人主页: 程序员不想敲代码啊 &#x1f3c6;CSDN优质创作者&#xff0c;CSDN实力新星&#xff0c;CSDN博客专家 &#x1f44d;点赞⭐评论⭐收藏 &#x1f91d;希望本文对您有所裨益&#xff0c;如有不足之处&#xff0c;欢迎在评论区提出指正&#xff0c;让我们共…

案例题(第一版)

案例题目 软件架构设计考点&#xff08;历年必考&#xff09; 软件架构设计通常在每年的第一题&#xff0c;该题必考 必备概念 必备概念即考试必须要默写出来的概念 概念描述软件架构风格是指描述特定软件系统组织方式和惯用模式。组织方式描述了系统的组成构件和这些构件的组…

力扣刷题---返回word中所有不重复的单词

当需要从一个数据集合中去除重复元素时&#xff0c;set是一个很好的选择。由于其不允许存储重复的元素&#xff0c;因此可以很容易地实现去重功能。这在处理原始数据或进行数据分析时特别有用。 题目&#xff1a; 给定一个字符串数组 words&#xff0c;请返回一个由 words 中所…

表现层框架设计之表现层设计模式_2.MVP模式

1.MVP模式 MVP&#xff08;Model-View-Presenter&#xff09;模式提供数据&#xff0c;View负责显示&#xff0c;Controller/Presenter负责逻辑的处理。MVP是从经典的模式MVC演变而来&#xff0c;它们的基本思想有相通的地方&#xff1a;Controller/Presenter负责逻辑的处理&am…

构建健壮的机器学习大数据平台:任务实现与数据治理的关键

随着数据驱动决策成为现代企业的核心&#xff0c;构建安全、可靠且可扩展的大数据平台变得至关重要。这样的平台不仅需要支持复杂的机器学习任务&#xff0c;还需要在数据质量、合规性和分发方面提供严格的控制。本文旨在探讨构建大型企业机器学习大数据平台时需要考虑的关键要…

【软件设计师】2018年的上午题总结

2018 2018上半年2018下半年 2018上半年 1.小阶向大阶对齐 2.吞吐率是最长流水段操作时间的倒数 3.ssh的端口号是22 4.s所发送的信息使用s的私钥进行数字签名&#xff0c;t收到后使用s的公钥验证消息的真实性 5.数据流分析是被动攻击方式 6.《计算机软件保护条例》是国务院颁布…

OSPF问题

.ospf 选路 域内 --- 1类&#xff0c;2类LSA 域间 --- 3类LSA 域外 --- 5类&#xff0c;7类LSA --- 根据开销值的计算规则不同&#xff0c;还分为类型1和类型2 ospf 防环机制 区域内防环&#xff1a;在同一OSPF区域内&#xff0c;所有路由器通过交换链路状态通告&#xff…

操作视频号小店,新手最关心的问题,一篇给你讲解清楚!

大家好&#xff0c;我是电商小V 新手去做视频号小店的时候&#xff0c;心里面一定是有很多疑问的&#xff0c;会反复咨询一些最关心的问题&#xff0c;因为他们要做好准备&#xff0c;以防后续做店过程中出现问题&#xff0c;其实新手关心的问题就那几个&#xff0c;咱们今天就…

第2天 搭建安全拓展_小迪网络安全笔记

1.常见搭建平台脚本使用: 例如 phpstudy IIS Nginx(俗称中间件): 什么是中间件: 中间件是介于应用系统和系统软件之间的一类软件&#xff0c;它使用系统软件所提供的基础服务&#xff08;功能&#xff09;&#xff0c;衔接网络上应用系统的各个部分或不同的应用&#…

我的文章分类合集目录

文章目录 Java相关基础常规问题类Docker类RabbitMQ类分库分表 网络工程相关路由交换、Cisco Packet TracerIP地址 前端相关数据库 Java相关 基础 Java开发规范、项目开发流程 SpringBoot整合MyBatis实现增删改查(简单,详细) SpringBoot整合MybatisPlus&#xff08;详细&#…

HAL库点LED灯

文章目录 一、创建CubeMX项目操作步骤1.STM32CubeMX创建工程2.选择芯片3.Pinout & Configuration配置4.Clock Configuration配置5.Project Manager配置 二、实验&#xff08;一&#xff09;LED流水灯1.Keil修改代码2.实验现象3.keil波形仿真 &#xff08;二&#xff09;2只…

春秋CVE-2022-23906

简介 CMS Made Simple v2.2.15 被发现包含通过上传图片功能的远程命令执行 (RCE) 漏洞。此漏洞通过精心制作的图像文件被利用。 正文 1.进入靶场2.进入登录界面&#xff0c;弱口令admin/123456 3.进入后台&#xff0c;文件上传点 4.上传一句话木马图片 5.复制图片&#xf…

【MYSQL】分数排名

表: Scores ---------------------- | Column Name | Type | ---------------------- | id | int | | score | decimal | ---------------------- id 是该表的主键&#xff08;有不同值的列&#xff09;。 该表的每一行都包含了一场比赛的分数。Score 是…