分享126个ASP源码,总有一款适合您

news2024/11/18 2:32:06

ASP源码

分享126个ASP源码,总有一款适合您

126个ASP源码DownLoad链接:https://pan.baidu.com/s/1wekzBbNE6JSFWtyLb_CdQg?pwd=u1e0 
提取码:u1e0

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

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 = 126  # 采集数量
    sprider_start_count=342# 从第几个序号开始 直接改数量即可 会做除法操作正 正在采集第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
       :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"

        first_column_name = title_name # 一级目录
        second_folder_name = str(self.sprider_count) + "个" + self.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 = "code"
                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,120,1,down_path,"zip|rar|gz")#判断源码
                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()

                    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
                    dstFile=str(dstFile).replace("/","")
                    shutil.move(srcFile, dstFile)  # 移动文件

                else:
                    BaseFrame().error("检测下载文件出错可能原因是等待时间不够已经超时,再等待70秒...")
                    time.sleep(70)
                    shutil.rmtree(down_path) #如果没下载完是无法删除的
                    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("asp",6)
            document = Document()
            document.add_heading(""+word_title+"", level=2)
            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("ASP")
    pass

 

ISite企业建站系统 v2.1.2 非官方修复版
asp+txt 维修点快递进度查询系统 v2.0
追梦flash网站模板经典片头版 v6.15
中国龙古典风格Flash网站 v2.0 bulid20160527
闪灵Flash网站系统X系列 v20160524
家政服务类公司网站源码 v1.0
启点在线通用SEO网站管理系统 v0421
奇迹发布站源码 v2.3
南方数据企业网站管理系统 v19
简洁的数据库增删改查网页源码 v1.0
启航机电企业建站CMS系统 v27
卡盟销售平台程序 v1.01
简洁精美单管理员留言本 v3.1
艾恩ASP无组件上传类AienAspUpload v13.12.09
搜索天下超级搜索引擎 v9.3
麦布网站目录 v2.1
魔法盒动感相册制作系统 v3.0
ASP在线邮件发送表单 v1.0
新13名站网址导航源码 v2016.1.01
医院预约挂号系统 v2.5
万通cms v1.0
熊海日志系统 v1.4.1
慧科企业网站管理系统 v1.0
有天留言板 v2.0
590文学网 v1.5
(青春日记)多用户网络日记 v3.9
简约论坛 v4.1
企业站源码 v1.0
分类信息源码2015版绿色风格 v4.5
星空流程跟踪编制关联系统 v1.0
政府公安局网站源码 v15325
政府公安边防版网站 v15340
政府网站管理系统 v150728
康城企业网站系统 v1.9
汇成产品防伪系统 v1.0
搜啊SOOUA(asp+accsee) v10.0 共赢版
KesionEshop 在线商城系统 X1.0.150526(utf-8)
KesionCMS 万能建站系统 X1.0.150526(utf-8)
KesionCMS 万能建站系统 X1.0.150526(GBK)
多快递物流业务管理系统 v2.0
ASP+XML留言板 v1.0
随风网络收藏夹 v3.0
君子兰图霸 v1.9
闪灵Flash相册模块独立后台版 v1.0
2015最新仿hao123带后台网址导航源码 v8.0
广州同城信息网源码 v5.6
仿5173网络游戏交易平台 v1.0
Lodoeshop 乐度网上商店系统 v10.4 bulid1226
企业网站管理系统源码 v2.0
3D旋转Flash网站系统白色版 v20141214
马克斯cms 采集插件 v1.0
信息港-地方生活门户站 v1.0
手机微信建站系统eims_wap v2.1
日历事件应用 v1.0
qcreative-Flash网站管理系统 v20141125
Synergy-Flash网站管理系统 v20141125
周公解梦-手机版 v1.0
小钱袋子记帐系统 v1.1
爱情花园情侣博客 v20140902
经典风格网址导航 v6.0
众为广告传媒公司企业网站源码 v1.0
抓址(zhuazhi)网址导航 v4.2
广告机管理系统 v1.0
ASP漂亮窗帘公司企业网站源码(FLASH动画版) v1.0
千博装饰建材装修网站系统 v2014 Build0802
TTASP留言系统 v2.0
玉姐空包网官方源码 v2014.7
3D旋转Flash网站系统(带会员商城系统) v3.0
精美外贸中英文网站模板 v1.2
行盟APP智能系统 v1.2
工作易人才招聘系统 v3.5.140610 地方行业版
鱼X小论坛 v1.01
ASP漂亮游戏工作室网站源码 v1.0
KesionCMS 免费正式版(GBK) v9.5.140605
白河子在线报名系统 v1.0
中小学培训学校网站 v1.0
塑胶企业网站源码 v1.0
酒业有限公司网站源代码 v1.0
ELline手机微网站系统 v2.0
11600生活导航 v1.1
DataGrid增删改查(EasyUI)示例源码 v1.0
AliPay支付宝接口示例源码 v1.0
迷你型蓝色购物商城系统 v1.0
Feelink(原iShow) 仿6间房视频秀直播系统 v3.0 bulid0424
蓝色职业技术学院网站源码(商业版) v1.0
ASP通用型商城网站源码(带购物车) v1.0
hao123网址导航源码 2014春季版 v11.2
精致asp汽车销售公司网站源代码 v1.0
古琴网站源码下载 v1.0
网址导航源码 2014四月版 v8.1
多功能教室预约系统 C8.2
红金羚进销存管理系统商业版 v5.8
绿色大气养殖业企业网站源码 v1.0
EIMS抽奖系统eims_lot v1.1
80018网址导航 v1.0
爱心银行公益活动网站程序 v1.0
智有道网络营销总站 v3.2.2
AMR采集系统(原万用小偷程序) v4.1
马克斯MAXCMS资源采集插件 v4.0
fycms网站管理系统  utf-8 v2.0
多用户域名隐藏转发商业版 v2.1
食物热量与运动综合计算 v1.0
营养成分查询系统 v2.0
闪虎综合搜索引擎 v1.0
DotNetCodes类库 v1.0
马后炮之12306抢票工具 v1.0
康斯WAP域名转发系统 v2.1
360最新2014版网址导航 v2014
追梦Flash网站管理系统WAP v6.5 兼容版
asp粉红色女性医院网站源码 v2.0
25175学生作业提交管理系统 v2.1.1
ASP深蓝色企业网站源码 v1.0
asp金黄色通用型企业网站源码 v1.0
微短文网短文系统免费版本 v2.0 bulid1222
变色龙Flash网站系统 v2.0
DNF工作室源码 v1.0
asp绿色简洁通用型企业网站源码 v1.0
艺帆欧美现代简约风格企业网站模板 v1.7.6
飘花养生网 v2.0
存储过程分页实现实例源码 v1.0
asp地方门户网站系统 v1.1
点卡销售网站源码 v1.0
艺帆行业协会网站源码 v1.7.5
艺帆集团公司企业网站源码 v1.7.5
在线话题辩论程序 v1.0
奥数英语培训学校网站系统 v2.1
 

最后送大家一首诗:

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

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

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

相关文章

I16-python中的Counter类

在很多场景中经常会用到统计计数的需求&#xff0c;比如在实现 KNN算法时统计 k 个标签值的个数&#xff0c;进而找出标签个数最多的标签值作为最终 kNN 算法的预测结果。Python内建的 collections 集合模块中的 Counter 类能够简洁、高效的实现统计计数。Counter 是 dict 字典…

Unity 3D 三维模型简介||

Unity 3D 三维模型简介 三维模型是用三维建模软件建造的立体模型&#xff0c;也是构成 Unity 3D 场景的基础元素。 Unity 3D 几乎支持所有主流格式的三维模型&#xff0c;如 FBX 文件和 OBJ 文件等。 开发者可以将三维建模软件导出的模型文件添加到项目资源文件夹中&#xf…

【服务器数据恢复】意外断电导致linux服务器故障的数据恢复案例

服务器数据恢复环境&故障&#xff1a; 某品牌730服务器&#xff0c;linux操作系统。 机房意外断电导致服务器部分文件丢失。 服务器数据备份&故障分析&#xff1a; 1、将linux服务器连接到准备好的数据恢复服务器上&#xff0c;以只读模式对服务器数据做镜像备份&#…

geoserver 图层访问权限控制

目录 一、环境 二、问题 三、设置登录才能访问图层 ①、创建身份验证过滤器 ②、创建过滤器 ③、校验 ④、过滤后的问题 一、环境 geoserver2.17.0 二、问题 1、geoserver图层不需要登录就能访问&#xff0c;是否存在安全隐患&#xff1f; 答&#xff1a;会有一定的安全隐…

【Linux操作系统】计算机体系结构和操作系统与进程概念深入理解

文章目录一.现代计算机体系结构1.和冯诺依曼体系结构的异同2.计算机的五大核心部件3.举例子:“我爱你”4.CPU,内存,磁盘的联系a.三者读写速度对比b.规定:CPU不直接和外设打交道二.操作系统1.操作系统三段论2.系统调用接口3.用户操作接口三.进程1.什么是进程?2.PCB3.查看进程4.…

222.完全二叉树的节点个数 |递归优化思路 + 复杂度分析

完全二叉树的节点个数 leetcode : https://leetcode.cn/problems/count-complete-tree-nodes/ 递归思路 递归的思路很简单, 假设们要统计一棵树的节点数, 那么 只要统计根节点的左子树的节点数, 和右子树的节点数加上根节点即可 那么, 假设我们要统计左子树的节点数, 其实就…

Centos7 Minimal 版本基本配置记录

每次搭测试环境之前都需要先装一台干净的虚拟机&#xff0c;然而 Centos7 Minimal 版本快速装完之后还需要配置&#xff1a;网络、国内源、一些基础工具&#xff08;net-tools、vim&#xff09;等才能远程连接和使用。记录一下&#xff0c;方便下次快速配置使用。 目录 1、网…

Docker镜像加载原理

文章目录什么是镜像 &#xff1f;Docker镜像加载原理UnionFS &#xff08;联合文件系统&#xff09;Docker镜像加载原理分层理解镜像Commit什么是镜像 &#xff1f; 镜像是一种轻量级、可执行的独立软件包&#xff0c;用来打包软件运行环境和基于运行环境开发的软件&#xff0…

C语言-自定义类型-枚举和联合(11.3)

目录 思维导图&#xff1a; 1.枚举 1.1 枚举类型的定义 1.2 枚举的优点 1.3 枚举的使用 2. 联合&#xff08;共用体&#xff09; 2.1 联合类型的定义 2.2 联合的特点 2.3 联合大小的计算 写在最后&#xff1a; 思维导图&#xff1a; 1.枚举 1.1 枚举类型的定义 例&…

Spring复习(三)

AOP AOP(Aspect Oriented Programming)面向切面编程&#xff0c;aop是一种设计思想&#xff0c;是oop面向对象编程的一种补充和完善&#xff0c;它通过预编译方式和运行期间动态代理的方式达成在不修改源代码的情况下&#xff0c;实现对业务逻辑的增强。 相关术语 横切关注点…

论文投稿指南——中文核心期刊推荐(农业基础科学)

【前言】 &#x1f680; 想发论文怎么办&#xff1f;手把手教你论文如何投稿&#xff01;那么&#xff0c;首先要搞懂投稿目标——论文期刊 &#x1f384; 在期刊论文的分布中&#xff0c;存在一种普遍现象&#xff1a;即对于某一特定的学科或专业来说&#xff0c;少数期刊所含…

【计组】存储器层次结构全景和局部性原理--《深入浅出计算机组成原理》(八)

课程链接&#xff1a;深入浅出计算机组成原理_组成原理_计算机基础-极客时间 目录 一、存储器层次结构全景 &#xff08;一&#xff09;SRAM &#xff08;二&#xff09;DRAM &#xff08;三&#xff09;存储器的层级结构 二、局部性原理 一、存储器层次结构全景 &…

Eureka读时加写锁,写时加读锁,到底是故意为之还是一个bug?

在对于读写锁的认识当中&#xff0c;我们都认为读时加读锁&#xff0c;写时加写锁来保证读写和写写互斥&#xff0c;从而达到读写安全的目的。但是就在我翻Eureka源码的时候&#xff0c;发现Eureka在使用读写锁时竟然是在读时加写锁&#xff0c;写时加读锁&#xff0c;这波操作…

uni-app | 从零创建一个新项目以及关于网络请求配置和分包

一、uni-app简介uni-app 是一个使用 Vue.js 开发所有前端应用的框架。开发者编写一套代码&#xff0c;可发布到 iOS、Android、H5、以及各种小程序&#xff08;微信/支付宝/百度/头条/QQ/钉钉/淘宝&#xff09;、快应用等多个平台。二、开发工具uni-app官方推荐使用HBuilderX来…

【JS 逆向百例】X-Bogus 逆向分析,JSVMP 纯算法还原

声明 本文章中所有内容仅供学习交流使用&#xff0c;不用于其他任何目的&#xff0c;不提供完整代码&#xff0c;抓包内容、敏感网址、数据接口等均已做脱敏处理&#xff0c;严禁用于商业用途和非法用途&#xff0c;否则由此产生的一切后果均与作者无关&#xff01; 本文章未…

72小时灵感冲刺,创意就该这么玩 | LigaAI Hackathon特别策划

2023 年 1 月 9 日至 12 日&#xff0c;LigaAI 团队全员出逃&#xff1a;放下迭代&#xff0c;暂缓需求&#xff0c;处处充斥着「可以摸鱼➕卷死他们」的矛盾又欢乐的气息。职场和远程的伙伴们无一不在热烈讨论、积极组队、抢占会议室、搜刮零食饮料…… 是什么让矜持内敛的技…

微信小程序的启动和渲染过程(加组件分类和组件的基本使用以及API分类)

小程序的启动过程 把小程序的代码包下载到本地解析app.json全局配置文件执行app.js小程序入口文件,调用App()创建小程序实例渲染小程序首页小程序启动完成 小程序页面渲染的过程 加载解析页面的.json配置文件加载页面的.wxml模板和.wxss样式执行页面的.js文件,调用page(创建…

网站建设的具体流程

有网站制作需求的朋友想了解一下网站建设的具体流程&#xff0c;防止不良的网站制作公司的业务人员用虚假的工作量欺骗自己报出高价&#xff0c;米贸搜详细给你整理一下一个网站的建设有哪些流程:1.在线或当面沟通网站制作需求&#xff0c;详细沟通网站的功能需求、设计风格以及…

功率放大模块的作用是什么(功率放大器模块的应用范围)

功率放大模块是一种能够把开关电源、数字功放集成到一起的放大模块。很多人对于功率放大模块的作用是什么以及功率放大模的应用范围都不清楚&#xff0c;下面就来详细的为大家介绍下什么是功率放大模块以及功率放大模块的基础知识。 一、什么是功率放大模块 功率放大模块是一种…

谷歌AR应用挑战赛上那些富有创意的AR项目集锦

前不久&#xff0c;谷歌面向全球100多个国家和地区的开发者们推出ARCore Geospatial API挑战赛&#xff0c;获奖的AR应用可得到1000美元到1.2万美元的奖金&#xff0c;支持多种不同的内容类别&#xff0c;比如AR导航、AR游戏、AR娱乐等等。据悉&#xff0c;Geospatial API是谷歌…