分享111个JavaScript源码,总有一款适合您

news2025/1/15 6:33:27

JavaScript源码


分享111个JavaScript源码,总有一款适合您

源码下载链接:https://pan.baidu.com/s/1aUIpouX5nTwW1FF-8lStnw?pwd=jh3v 
提取码:jh3v

采集代码下载链接:采集代码.zip - 蓝奏云



下面是文件的名字,我放了一些图片,文章里不是所有的图主要是放不下...,大家下载后可以看到。

 

import os
import shutil
import time
from time import sleep

import requests
from bs4 import BeautifulSoup
from docx import Document
from docx.shared import Inches

from framework.base.BaseFrame import BaseFrame
from sprider.business.DownLoad import DownLoad
from sprider.business.SeleniumTools import SeleniumTools
from sprider.business.SpriderTools import SpriderTools

from selenium import webdriver
from selenium.webdriver.common.by import By
from sprider.model.SpriderEntity import SpriderEntity
from sprider.access.SpriderAccess import SpriderAccess


class HuaJunCode:
    base_url =  "https://down.chinaz.com" # 采集的网址
    save_path = "D:\\Freedom\\Sprider\\ChinaZ\\"
    sprider_count = 111  # 采集数量
    sprider_start_count=0# 从第几个序号开始 直接改数量即可 会做除法操作正 正在采集第32页的第16个资源 debug



    word_content_list = []
    folder_name = ""
    page_end_number=0
    max_pager=15 #每页的数量
    haved_sprider_count =0  # 已经采集的数量
    page_count = 1  # 每个栏目开始业务content="text/html; charset=gb2312"

    def __init__(self):
        pass

    def sprider(self,title_name="NET"):

        """
       采集
       PHP https://down.chinaz.com/class/572_5_1.htm
       NET https://down.chinaz.com/class/572_4_1.htm
       ASP https://down.chinaz.com/class/572_3_1.htm
       Pytyhon https://down.chinaz.com/class/604_572_1.htm

       :return:
       """
        if title_name == "PHP":
            self.folder_name = "PHP源码"
            self.second_column_name = "572_5"
        elif title_name == "Go":
            self.folder_name = "Go源码"
            self.second_column_name = "606_572"
        elif title_name == "NET":
            self.folder_name = "NET源码"
            self.second_column_name = "572_4"
        elif title_name == "ASP":
            self.folder_name = "ASP源码"
            self.second_column_name = "572_3"
        elif title_name == "Python":
            self.folder_name = "Python源码"
            self.second_column_name = "604_572"
        elif title_name == "JavaScript":
            self.folder_name = "JavaScript源码"
            self.second_column_name = "602_572"
        elif title_name == "Java":
            self.folder_name = "Java源码"
            self.second_column_name = "572_517"
        #


        first_column_name = title_name # 一级目录
        second_folder_name = str(self.sprider_count) + "个" + self.folder_name #二级目录
        self.sprider_type =second_folder_name
        merchant=int(self.sprider_start_count) //int(self.max_pager)+1 #起始页码用于效率采集
        self.file_path = self.save_path + os.sep + "Code" + os.sep + first_column_name + os.sep + second_folder_name
        self.save_path = self.save_path+ os.sep + "Code" + os.sep+first_column_name+os.sep + second_folder_name+ os.sep + self.folder_name
        BaseFrame().debug("开始采集ChinaZCode"+self.folder_name+"...")
        sprider_url = (self.base_url + "/class/{0}_1.htm".format(self.second_column_name))
        down_path="D:\\Freedom\\Sprider\\ChinaZ\\Code\\"+first_column_name+"\\"+second_folder_name+"\\Temp\\"
        if os.path.exists(down_path) is True:
            shutil.rmtree(down_path)
        if os.path.exists(down_path) is False:
            os.makedirs(down_path)

        if os.path.exists(self.save_path ) is True:
            shutil.rmtree(self.save_path )
        if os.path.exists(self.save_path ) is False:
            os.makedirs(self.save_path )
        chrome_options = webdriver.ChromeOptions()
        diy_prefs ={'profile.default_content_settings.popups': 0,
                    'download.default_directory':'{0}'.format(down_path)}
        # 添加路径到selenium配置中
        chrome_options.add_experimental_option('prefs', diy_prefs)
        chrome_options.add_argument('--headless') #隐藏浏览器

        # 实例化chrome浏览器时,关联忽略证书错误
        driver = webdriver.Chrome(options=chrome_options)
        driver.set_window_size(1280, 800)  # 分辨率 1280*800

        # driver.get方法将定位在给定的URL的网页,get接受url可以是任何网址,此处以百度为例
        driver.get(sprider_url)
        # content = driver.page_source
        # print(content)
        div_elem = driver.find_element(By.CLASS_NAME, "main")  # 列表页面 核心内容
        element_list = div_elem.find_elements(By.CLASS_NAME, 'item')

        laster_pager_ul = driver.find_element(By.CLASS_NAME, "el-pager")
        laster_pager_li =laster_pager_ul.find_elements(By.CLASS_NAME, 'number')
        laster_pager_url = laster_pager_li[len(laster_pager_li) - 1]
        page_end_number = int(laster_pager_url.text)
        self.page_count=merchant
        while self.page_count <= int(page_end_number):  # 翻完停止
            try:
                if self.page_count == 1:
                    self.sprider_detail(driver,element_list,self.page_count,page_end_number,down_path)
                    pass
                else:
                    if self.haved_sprider_count == self.sprider_count:
                        BaseFrame().debug("采集到达数量采集停止...")
                        BaseFrame().debug("开始写文章...")
                        self.builder_word(self.folder_name, self.save_path, self.word_content_list)
                        BaseFrame().debug("文件编写完毕,请到对应的磁盘查看word文件和下载文件!")
                        break
                    #(self.base_url + "/sort/{0}/{1}/".format(url_index, self.page_count))
                    #http://soft.onlinedown.net/sort/177/2/

                    next_url = self.base_url + "/class/{0}_{1}.htm".format(self.second_column_name, self.page_count)
                    driver.get(next_url)

                    div_elem = driver.find_element(By.CLASS_NAME, "main")  # 列表页面 核心内容
                    element_list = div_elem.find_elements(By.CLASS_NAME, 'item')
                    self.sprider_detail( driver, element_list, self.page_count, page_end_number, down_path)
                    pass
                #print(self.page_count)
                self.page_count = self.page_count + 1  # 页码增加1
            except Exception as e:
                print("sprider()执行过程出现错误:" + str(e))
                sleep(10)



    def sprider_detail(self, driver,element_list,page_count,max_page,down_path):
        """
        采集明细页面
        :param driver:
        :param element_list:
        :param page_count:
        :param max_page:
        :param down_path:
        :return:
        """
        index = 0
        element_array=[]
        element_length=len(element_list)
        for element in element_list:
            url_A_obj = element.find_element(By.CLASS_NAME,  'name-text')
            next_url = url_A_obj.get_attribute("href")
            coder_title = url_A_obj.get_attribute("title")
            e=coder_title+"$"+ next_url
            element_array.append(e)
            pass

        self.sprider_start_index = int(self.sprider_start_count) % int(self.max_pager)
        index=self.sprider_start_index
        while index < element_length:


            if os.path.exists(down_path) is False:
                os.makedirs(down_path)

            if self.haved_sprider_count == self.sprider_count:
                BaseFrame().debug("采集到达数量采集停止...")
                break

            #element = element_list[index]
            element=element_array[index]
            time.sleep(1)

            index = index + 1
            sprider_info="正在采集第"+str(page_count)+"页的第"+str(index)+"个资源,共"+str(max_page)+"页资源"
            BaseFrame().debug(sprider_info)
            next_url=element.split("$")[1]
            coder_title=element.split("$")[0]
            # next_url = element.find_element(By.TAG_NAME, 'a').get_attribute("href")
            # coder_title =element.find_element(By.TAG_NAME, 'img').get_attribute("title")
            driver.get(next_url) # 请求明细页面
            try:
                codeEntity = SpriderEntity()  # 下载过的资源不再下载
                codeEntity.sprider_base_url = self.base_url
                codeEntity.create_datetime = SpriderTools.get_current_datetime()
                codeEntity.sprider_url = next_url
                codeEntity.sprider_pic_title = coder_title
                codeEntity.sprider_pic_index = str(index)
                codeEntity.sprider_pager_index = page_count
                codeEntity.sprider_type = self.sprider_type
                if SpriderAccess().query_sprider_entity_by_urlandindex(next_url, str(index)) is None:
                    SpriderAccess().save_sprider(codeEntity)
                else:
                    BaseFrame().debug(coder_title+next_url + "数据采集过因此跳过")
                    continue

                if SeleniumTools.judeg_element_isexist(driver, "CLASS_NAME", "download-item") == 3:
                    driver.back()
                    BaseFrame().debug(coder_title+"不存在源码是soft因此跳过哦....")
                    continue
                print("准备点击下载按钮...")
                driver.find_element(By.CLASS_NAME, "download-item").click() #下载源码

                result,message=SpriderTools.judge_file_exist(True,240,1,down_path,"zip|rar|gz|tgz")#判断源码
                if result is True:

                    sprider_content = [coder_title, self.save_path + os.sep +"image"+ os.sep + coder_title + ".jpg"]  # 采集成功的记录
                    self.word_content_list.append(sprider_content)  # 增加到最终的数组
                    self.haved_sprider_count = self.haved_sprider_count + 1
                    BaseFrame().debug("已经采集完成第" + str(self.haved_sprider_count) + "个")
                    time.sleep(1)
                    driver.back()

                    coder_title = str(coder_title).replace("/", "") #去掉windows不识别的字符
                    files = os.listdir(down_path)
                    srcFile = down_path + os.sep + files[0]
                    file_ext = os.path.splitext(srcFile)[-1]

                    dstFile = down_path + os.sep + coder_title + file_ext
                    os.rename(srcFile, dstFile)
                    srcFile = dstFile
                    dstFile = self.save_path + os.sep + coder_title + file_ext

                    shutil.move(srcFile, dstFile)  # 移动文件

                else:
                    BaseFrame().error("检测下载文件出错可能原因是等待时间不够已经超时,再等待70秒...")
                    time.sleep(70)
                    #shutil.rmtree(down_path) #如果没下载完是无法删除的
                    #使用数组append记录文件名字 移动的时候过滤

                    pass
            except Exception as e:
                #shutil.rmtree(down_path)
                BaseFrame().error("sprider_detail()执行过程出现错误:" + str(e))
                #driver.get(sprider_url)
                #driver.quit()

        if(int(page_count)==int(max_page)):
            self.builder_word(self.folder_name,self.save_path,self.word_content_list)
            BaseFrame().debug("文件编写完毕,请到对应的磁盘查看word文件和下载文件!")

    def builder_word(self, word_title, save_path, list_files):
        """
        输出产物是word文件
        :param word_title: 文件的标题
        :param save_path: 文件的保存路径
        :param list_files: 文件集合(单个内容)
        :return:
        """
        try:
            self.copy_file(self.save_path)

            print("Create Word"+word_title)
            file_count= len(list_files)

            self.gen_passandtxt(file_count,word_title,list_files)
            random_full_file_name = SpriderTools.get_word_image("js",6)
            document = Document()
            document.add_heading(""+word_title+"", level=2)
            document.add_paragraph("\r")
            document.add_paragraph("\r")
            document.add_paragraph("源码下载")
            document.add_paragraph("\r")
            document.add_paragraph("\r")
            document.add_paragraph("分享"+str(file_count)+"个"+word_title+",总有一款适合您\r\n"
                                   "下面是文件的名字,我放了一些图片,文章里不是所有的图主要是放不下...,大家下载后可以看到。")
            document.add_picture(random_full_file_name, width=Inches(3))
            ppt_tieles = ""
            for files in list_files:
                ppt_tieles = ppt_tieles + str(files[0]) + "\r"
            document.add_paragraph(ppt_tieles)
            # for files in list_files:
            #     try:
            #         document.add_paragraph(files[0])
            #         document.add_picture(files[1], width=Inches(3))
            #     except Exception as e:
            #         pass
            document.add_paragraph("最后送大家一首诗:")
            paragraph = document.add_paragraph()  # 单独控制
            paragraph.add_run("山高路远坑深,\r")
            paragraph.add_run("大军纵横驰奔,\r")
            paragraph.add_run("谁敢横刀立马?\r")
            paragraph.add_run("惟有点赞加关注大军。\r")
            paragraph.bold = True  # 字体加粗
            file_full_path=self.file_path+os.sep+word_title+".docx"
            document.save(file_full_path)
        except Exception as e:
            print("Create Word Fail reason:" + str(e))
    def copy_file(self,target_path):
        print("copy files")
        import os
        import shutil
        src_apk_file_path="薅羊毛专业版.apk"
        dst_apk_file_path=target_path+os.sep+"薅羊毛专业版.apk"
        #shutil.copyfile(src_apk_file_path, dst_apk_file_path)  # 移动文件

        src_pdf_file_path = "薅羊毛专业版.pdf"
        dst_pdf_file_path = target_path + os.sep + "薅羊毛专业版.pdf"
        #shutil.copyfile(src_pdf_file_path, dst_pdf_file_path)  # 移动文件

        src_pdf_file_path = "亚丁号.url"
        dst_pdf_file_path = self.file_path  + os.sep + "亚丁号.url"
        shutil.copyfile(src_pdf_file_path, dst_pdf_file_path)  # 移动文件

        src_doc_file_path = "readme.docx"
        dst_doc_file_path = self.file_path + os.sep + "readme.docx"
        shutil.copyfile(src_doc_file_path, dst_doc_file_path)  # 移动文件

        pass
    def gen_passandtxt(self,file_count,word_title, list_files):

        print("Create PassWord and Pass.txt")
        message=SpriderTools.gen_password()
        password = "".join(message)
        content=""
        content = content + "\n分享"+str(file_count)+"个"+word_title+",总有一款适合您"
        content = content + "\n\r"
        content=content+"\n都到这里了您就支持一下呗!谢谢老铁~~"
        content=content+"\n\r"
        content = content + "\n\r"
        content = content + "\n\r"
        for files in list_files:
            content = content+str(files[0])+ "\n"
        content=content+"\n文件我就不一一列举了,送老铁一首打油诗"
        content=content+"\n学习知识费力气,"
        content=content+"\n收集整理更不易。"
        content=content+"\n知识付费甚欢喜,"
        content=content+"\n为咱码农谋福利。"
        content=content+"\n\r"
        content=content+"\n\r"
        content=content+"\n感谢您的支持"
        content=content+"\n\r" 
        content=content+"\n-------------------------------------------华丽分割线-------------------------------------------------------"
        content=content+"\n友情提醒解压密码:"+password+""

        full_path=self.file_path+os.sep+""+str(file_count)+"sell_pass.txt"
        with open(full_path, 'a', encoding='utf-8') as f:
            f.write(content)


if __name__ == "__main__":
    HuaJunCode().sprider("Java")
    pass

vxe-table vue表格解决方案 v4.3.8
Countly移动分析应用 v22.09.9
WeUI微信UI库 v2.5.15
Vant移动端组件库 v4.0.7
Vant移动端组件库 v3.6.11
avue-cli后台开源免费模板 v1.0
JavaScript编译器Babel v7.20.11
BigBlueButton开源Web会议系统 v2.5.9
G6图可视化引擎 v4.8.0
bootstrap table v1.21.2
NeteaseCloudMusicApi v4.8.4
NodeBB论坛系统 v2.8.0
vxe-table vue表格解决方案 v3.6.9
CodeMirror在线代码编辑器 v5.65.11
Jodit编辑器 v3.24.2
pdmaner元数建模 v4.2.2
electron-egg桌面软件开发框架 v2.4.0
CKplayer-超酷网页视频播放器 X3 bulid2022.02.08
BookChatApp(通用书籍阅读APP) v1.7
rocketchat聊天服务器 v5.4.1
Grafana仪表盘和图形编辑器 v9.3.2
Jessibuca H5直播流播放器 v3.1.23
TypeScript编程语言 v4.9.4
Ember.js v4.9.3
FlyFish数据可视化编码平台 v2.3.0
MuiPlayer视频播放器插件 v1.7.0
Highcharts图表库 v10.3.2
Hexo-theme-Fluid博客主题 v1.9.4
Shopro商城(前端) v1.3.8
k-form-design表单设计器 v3.8.14
HQChart行情图形库及麦语法脚本执行器 v1.11464
NodeBB论坛系统 v1.19.11
webpack v5.75.0
Vant移动端组件库 v2.12.53
Bootstrap Icons开源SVG图标库 v1.10.2
ReactNative移动开发工具 v0.70.6
VvvebJs拖拽式自动生成网页 v1.6
Element网站快速成型工具 v2.15.12
Ionicons开源图标集合 v6.0.4
Sword(SpringBlade前端) v3.5.0
AS-Editor v1.0
xboot-front v3.3.4
Zotero文献管理工具 v6.0.18
easy-flow流程设计器 v2.2.2
QuickRedis v2.7.1
xm-select下拉选择框 v1.2.4
clouddo-view v1.0
gfast-ui v3.0
mall-admin-web v1.0
UTEditor v5.0
Lemon IMUI聊天组件 v1.7.6
Vue-NeteaseCloud-WebMusicApp v2.0
ReportPlus数据报表中心小程序 v1.0
RuoYi-Vue权限管理系统 v3.8.4
Vue Antd Admin v0.7.4
V-IM轻量级聊天软件 v0.6.5
ReactNative移动开发工具 v0.69.6
JwChat极简聊天框组件 v1.0.11
rocketchat聊天服务器 v4.8.6
eladmin-web前端源码 v1.0
萤火商城 v2.0.6 uniapp端
Hexo静态博客网站生成器 v6.3.0
jQuery v3.6.1
yunzai-js插件 v1.0
TinyMCE编辑器 v6.2.0
野火IM PC版 v0.6.1
微信Markdown编辑器 v1.5.9
ddrun叮点跑腿小程序 v2.0.12
AcFun-Video-Download v1.0
iNotify.js浏览器系统通知插件 v2.1.0
bee餐饮点餐外卖小程序 v2.0
vxe-table vue表格解决方案 v5.2.3
WeWedding婚纱影楼小程序 v1.3
TypeScript编程语言 v4.6.4
uCharts高性能跨平台图表 v2.4.3
Hexo静态博客网站生成器 v5.4.2
rmTopCMS专属产品展示模板 v1.10
rmTopCMS 简约企业大气模板官网 v1.0
羽毛球馆预约小程序 v9.0.1
Mini核酸检测预约小程序 v4.2.2
WeMuseum博物馆微门户小程序 v0.0.3
Tduck填鸭在线收集系统 v3.0 前端源码
CSU大学自习室预约小程序 v5.1.1
SmartYoga瑜伽馆预约小程序 v5.1.1
Ex驾校预约小程序 v2.3.1
WiseHome家政预约小程序 v1.3.1
qchat WEB聊天工具 v1.0
Bui-Editor-public富文本编辑器 v1.0
mdeditor markdown编辑器 v2.0
Vue-html5-editor富文本编辑器插件 v1.1.1
Fkreport方块报表 v1.0.0
Sfdp超级表单开发平台 v6.0.0
ComEx校园社团小程序 v1.5.1
NKeditor Web编辑器 v5.0.4
iceEditor富文本编辑器 v1.1.9
Qchat办公聊天工具 v1.0
Thinker-md编辑器 v1.0
GBlog-wx博客小程序 v1.1.1
Highcharts图表库 v9.3.3
MIP代码规范校验工具 v1.0
vxe-table vue表格解决方案 v2.11.0
JQuery zTree v3.5.47
Ember.js v3.26.2
古力乐简易网址导航源码 v2.0
jQuery File Upload文件上传插件 v10.32.0
jQuery EasyUI v1.10.0
简单搜索 v2.0
Flv.js HTML5播放器内核 v1.6.2
ECharts-GL 3D可视化库 v2.0.8
CryptoJS加密库 v4.1.1
AJ-Captcha行为验证码 v1.3.0
 

import os


# 查找指定文件夹下所有相同名称的文件
def search_file(dirPath, fileName):
    dirs = os.listdir(dirPath)  # 查找该层文件夹下所有的文件及文件夹,返回列表
    for currentFile in dirs:  # 遍历列表
        absPath = dirPath + '/' + currentFile
        if os.path.isdir(absPath):  # 如果是目录则递归,继续查找该目录下的文件
            search_file(absPath, fileName)
        elif currentFile == fileName:
            print(absPath)  # 文件存在,则打印该文件的绝对路径
            os.remove(absPath)


if __name__ == "__main__":
    dirPath = 'D:\Freedom\Sprider\ChinaZ\Code\JavaScript\\111个JavaScript源码\JavaScript源码'
    #dirPath = 'D:\\Freedom\\Sprider\\ChinaZ\\Code\\NET\\99个NET源码\\NET源码' D:\Freedom\Sprider\ChinaZ\Code\PHP\126个PHP源码\PHP源码

    search_file(dirPath, "源码之家说明.txt")
    search_file(dirPath, "服务器常用软件.html")
    search_file(dirPath, "访问脚本之家.html")
    fileName4 = '服务器软件.url'
    fileName3 = '脚本之家.url'
    fileName2 = 'Readme-说明.htm'
    fileName5 = 'jb51.net.txt'
    fileName1 = '说明.htm'
    search_file(dirPath, fileName1)
    search_file(dirPath, fileName2)
    search_file(dirPath, fileName3)
    search_file(dirPath, fileName4)
    search_file(dirPath, fileName5)

最后送大家一首诗:

山高路远坑深,
大军纵横驰奔,
谁敢横刀立马?
惟有点赞加关注大军。
 

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

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

相关文章

Golang Web Application

Golang Web Application GoLang Web App基本设置 1.导入库 导入fmt和net/http,http建立一个/和编写一个indexPage的函数,fmt编写一个写Hello world! package mainimport ("fmt""net/http" )func main() {http.HandleFunc("/", indexPage)http.L…

[数据结构复习]自用大纲

内容多基于王道和李春葆《数据结构教程》&#xff0c;做复习提纲之用 基本内容回顾 顺序队 队列是线性表&#xff08;具有逻辑上的前驱后继关系&#xff09;。头插尾删&#xff0c;先进先出。 队列的实现至少需要维护如下内容&#xff08;一数组&#xff0c;二指针&#xff…

电脑开机屏幕闪烁后变成蓝屏无法启动怎么办?

电脑开机屏幕闪烁后变成蓝屏无法启动怎么办&#xff1f;有用户在将电脑开机之后&#xff0c;出现了屏幕会闪动的情况&#xff0c;接着电脑屏幕就变成蓝屏的了。而且再次启动的时候也是这样。这个情况下是我们的系统出现了问题&#xff0c;我们来看看如何去使用U盘进行系统重装的…

python+django大学生体质测试管理系统

系统分为学生和管理员&#xff0c;教师三个角色 学生的主要功能有&#xff1a; 1.学生注册和登陆系统 2.查看系统的公告资讯信息 3.学生查看体质测试的项目&#xff0c;下载测试文件 4.学生留言板在线留言 5.学生个人中心修改个人资料&#xff0c;修改密码 6.学生个人中心查询我…

Java 介绍与环境搭建

文章目录Java 介绍与环境搭建Java 背景介绍Java 背景故事Java 三大平台Java SEJava MEJava EEJava 跨平台工作原理平台与跨平台跨平台工作原理JDK 下载和安装下载 JDK安装 JDK第一个 Java 程序HelloWorld 介绍Java 程序开发的三个步骤HelloWorld 案例的编写和运行HelloWord 案例…

如何通过Terraform Associate考试并获得证书

1 什么是Terraform? Terraform是一个IaC工具&#xff0c;IaC全称为Infrastructure as Code&#xff0c;基础设施即代码。它的理念是通过代码来管理基础设施&#xff0c;如服务器、数据库等&#xff0c;更多请看《Terraform入门教程&#xff0c;示例展示管理Docker和Kubernete…

mysql快速生成100W条测试数据(5)商品销售数据并存入mysql数据库

这是之前的文章里面包含一些以前的一些操作流程可以进行参考学习 更加详细操作步骤在第一篇文章里面 mysql快速生成100W条测试数据&#xff08;1&#xff09;&#xff1a;游戏人物数据 mysql快速生成100W条测试数据&#xff08;2&#xff09;公司员工信息 mysql快速生成100W条测…

Linux USB实现网络共享

usb 网络共享 两个Linux设备之间实现USB网络共享&#xff0c;类似Android手机开启USB网络共享的功能。其中一台设备为USB Host&#xff0c;另外一台为USB Device。Device使用的USB接口必须为USB Slave&#xff0c;否则无法正常工作。使用RNDIS驱动&#xff0c;还能够通过USB与…

【ROS2入门】介绍 eloquent 版本中 turtlesim 和 rqt 使用

大家好&#xff0c;我是虎哥&#xff0c;从今天开始&#xff0c;我将花一段时间&#xff0c;开始将自己从ROS1切换到ROS2&#xff0c;在上一篇中&#xff0c;我们Jeston TX1 核心模块&#xff0c;JetPack_4.6.3刷机后环境中安装了 ROS2 eloquent版本&#xff0c;并完成了初步的…

C语言-动态内存分配(12.1)

目录 思维导图&#xff1a; 1.为什么存在动态内存分配 2.动态内存函数的介绍 2.1 malloc 2.2 free 2.3 calloc 2.4 realloc 3.常见的动态内存错误 写在最后&#xff1a; 思维导图&#xff1a; 1.为什么存在动态内存分配 我们现在学习了一些内存开辟的方式&#xff1a…

IDEA如何把自己改动的代码一次性发给别人

背景介绍&#xff1a; 想把自己改动的代码同步给同事 方式1&#xff1a;通过git&#xff0c;把自己本地代码 push 到代码托管平台&#xff0c;同事从代码托管平台 pull 最新代码&#xff1b; 方式2&#xff1a;通过IDEA的Patch包的方式来快速发送修改的代码&#xff08;步骤如下…

pr值高的域名对网站有什么价值?怎么在线查询搜狗PR权重

众所周知一个全新的搜狗域名在建立网站后搜索引擎会对其进行一个类似资格评价的阶段&#xff0c;我们将这个阶段称为沙盒&#xff0c;在沙盒里面的这段时间&#xff0c;我们将其称为沙盒期&#xff0c;沙盒期一般都是1-3个月。在沙盒期这段时间内。我们仍需要经常更新文章。所以…

联合证券|海南自贸港快速发展,概念股出炉!

海南自由贸易港货物进出口 初次打破2000亿元关口 1月13日&#xff0c;国新办就2022年全年进出口状况举行发布会。会上介绍道&#xff0c;近两年海南自由贸易港货物进出口快速开展&#xff0c;继2021年头次打破1000亿元后&#xff0c;2022年再上新台阶&#xff0c;初次打破2000…

Pytorch深度学习【十二】

填充和步幅 卷积核带来的问题—输入形状不断减小更大的卷积核可以更快的减小输出大小 形状从nh∗nwn_h * n_wnh​∗nw​减少到 (nh−kh1)∗(nw−kw1)(n_h-k_h1)*(n_w-k_w1)(nh​−kh​1)∗(nw​−kw​1) 解决方案 填充—在输入周围添加额外的行/列—一般用0填充理论依据 填充p…

Odoo 16 企业版手册 - 库存管理之报告

报告 正确监控库存操作将帮助您轻松分析和理解库存管理的工作流程。Odoo可以为您提供一个专用平台&#xff0c;特别是用于为您的组织中完成的库存操作生成报告&#xff0c;并在图形和表格视图中准确表示数据。您可以实时自定义报告&#xff0c;以根据您的要求获得细致的报告。在…

Nvm,Nrm使用教程

NVM介绍 NVM全称node.js version management &#xff0c;专门针对node版本进行管理的工具&#xff0c;通过它可以安装和切换不同版本的node.js 使用场景 我目前的公司有很多项目&#xff0c;其中有一些老项目用的是vue2.5左右了webpack版本也比较低&#xff0c;只能使用10.16.…

[前端笔记——WEB基础] 1.WEB基本概念

[前端笔记——WEB基础] 1.WEB基本概念基本概念1.资源 resourse2.链接3.HTTP 协议4.网页的真实样子&#xff1a;HTML静态网页与动态网页1.静态网页2.动态网页现代网站架构1.网站架构当我们访问一个网站时&#xff0c;后台都会发生什么事情捏?www——万维网 www&#xff1a;Worl…

Android系统启动(三) — SystemServer处理过程

system_server 进程主要是用于创建系统服务&#xff0c;AMS、WMS、PMS 都是由它创建的。 具体来说&#xff0c;SystemServer 进程被创建后&#xff0c;主要做了以下工作&#xff1a; 启动 Binder 线程池&#xff0c;这样就可以与其他进程进行通信&#xff1b;创建 SystemServi…

JDK9下载、安装和配置环境变量图解

下载 1.输入&#xff1a;https://www.oracle.com/ 2.选择“java download” 3.点击“java archive” 下拉找到 java9 4.点击进入&#xff0c;选择windows版本 5.勾选&#xff0c;下载。需要账号下载 安装 1.双击安装包&#xff0c;下一步 2.选择安装路径&#xff0c;…

旅游景区官网(网站、小程序)小开发可以实现哪些功能?

伴随着我们生活水平的提升和手上的余钱愈来愈多&#xff0c;绝大多数人一定会选取去不同地方开展旅游&#xff0c;旅游也成為了经济发展的一大支撑。将来便捷用户和旅游业的发展趋势&#xff0c;打造出旅游景区官网&#xff08;网站、H5、小程序等&#xff09;开发设计是十分关…