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

news2024/11/15 4:34:31

ASP源码

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

下面是文件的名字,我放了一些图片,文章里不是所有的图主要是放不下...,

129个ASP源码下载链接:https://pan.baidu.com/s/1dUPOSf1BudsK-bB4FnGXfQ?pwd=g3ae 
提取码:g3ae

Python采集代码下载链接:https://wwgn.lanzoul.com/iKGwb0kye3wj

我爱字典网字典查询程序 v2.0
Orz企业网站管理系统 双语版
茶叶信息网 v2.0
16k小说网小偷程序 v1.5
高仿QQ空间多用户管理系统 v2.0
高仿百度知乎问答系统
玉林电信分类信息 v0.01
良精中文企业网站管理系统 v2.1 beta 安装版
红金羚进销存管理系统企业版 v3.5
评书网源码(5ucms内核) v1.0
超简洁的asp免注册问答系统 v1.0
孙培昌个人网站系统 v2.02
完美仿hao123网址导航(完整版)
飞翔网络漫画小偷伪静态缓存开源版 v1.2
红色大气企业建站整站源码 v1.0
聚友链接管理系统 v0.2
2012简单文章系统 v1.2
孙培昌个人网站系统 v2.01
精美完整网络公司源码 v1.0
麦小偷围棋论坛小偷 v97
BingSNS社交互动平台 v2.0 build0909

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)


14157自助链 v1.0
全能OA办公网站系统 v2012
百讯网上报修系统 v2.0
飘扬企业网站系统 v1.02
flash个人主页 修改版
中秋节祝福程序 v1.0
Asoft点餐管理系统 v3.2
聚合网络电视小偷 v1.0
麦小偷科技论坛小偷程序 v93
毕节热线OA办公系统 v1.3
营销软件站(新云内核带数据库) v1.0
仿腾讯社区门户 v8.0
麦小偷外汇论坛小偷程序 v91
米号文章管理系统 v3.1
Asp开源商城系统YothSHOP v1.0
康护网医保卡管理系统 v1.0
讯奇旅游网站系统 v2.0
简单网址导航源码 v1.2
不见不散邮件 v1.0
txt格式小说下载搜索 v1.0
711网络新闻小偷 v2011.8.24
孝感娱乐网整站程序 v1.0

   base_url =  "https://down.chinaz.com" # 采集的网址
    save_path = "D:\\Freedom\\Sprider\\ChinaZ\\"
    sprider_count = 129 # 采集数量
    sprider_start_count=2164 #正在采集第491页的第12个资源,共499页资源 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"
    filter_down_file=[]


同程联盟景点门票动态程序 beta1.0
Art2008 CMS 网站管理系统 v5.1 utf8
IP地址查询系统 v1.0
网游语音公会创业系统 v2.0
Art2008 CMS 网站管理系统 v5.1 gbk
中网互连企业网站管理系统 v201106
百度贴吧小偷 正式版
易问卷网络问卷调查系统 v1.0
淘淘猫扑娱乐网 v4.0
天津二手网
Tui8站长推广助手优化版 v1.1
MAX4.0(马克思)电影采集插件 v2.0_20110816(安全增补版)
域名备案批量查询核心代码 v1.0
一起乐网址导航 v2.001_SQL2000_2011818
鸿思特论坛ACCESS版 v2011_base
信言企业程序 v3.0
清爽型淘客天下模板 v1.0.0
静态论坛 v3.1
企成五金行业企业网站管理系统 v1.0 中英文版
企成网上商城系统 v1.0
爱美尔女性商城源码 v1.0
918农庄网站系统 v1.1
超级外链迷你开源版 v1.0
ideacms文章管理系统 v1.0 build 20110808
备案批量查询 v1.1
uctxt小说小偷程序
一马CMS v1.0
鸿思特论坛MSSQL专业版 v2011_base
企业网站管理系统(无功能限制) v1.1
魔方分类信息系统(ASPMPS) v1.1
快递窝快递查询源码 v2011
网人地方生活门户系统(WRMPS) v7.5
小型天气预报查询系统 v3.5
小型ASP站内搜歌词 v1.0
ASP网页留言板GCooler v1.1
寶貝兒拍賣系統 v9.6 繁體中文 BIG5
开心友情链接平台 v1.0
陪她美女图片小偷 v1.0
MSMAX博客系统 v4.0 build 110729
永州人信息网源码 v1.0
美女图片小偷程序4dzz专版 v1.0
PowerCity地方门户系统 体验版 v1.0
推广宝电视直播系统 2012版
nitc效益型网站管理系统.NET v3.2
奥力专用汽车全站html静态生成版 v1.0
因特达生产管理系统(pms)2011 试用版
黑色炫酷的个人主页 v1.1
企业网站管理系统YothCMS  v1.0 修正版
北京酒店小偷
飞翔非主流伪静态缓存开源版 v2.0
三顾购物系统服装版 v3.0
DodeCMS成创企业网站内容管理系统 v1.3
fs-company 企业网站系统 v1.1.1
盛维调查系统免费版 v9.0
香香企业管理系统 v5.0
木易企业网站模板(手机站) v1.0
中医养生馆


    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
       Python https://down.chinaz.com/class/604_572_1.htm
            https://down.chinaz.com/class/608_572_1.htm
        微信 https://down.chinaz.com/class/610_572_1.htm
       Ruby   https://down.chinaz.com/class/622_572_1.htm
       NodeJs https://down.chinaz.com/class/626_572_1.htm
       C https://down.chinaz.com/class/594_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"
        elif title_name == "HTML":
            self.folder_name = "HTML-CSS源码"
            self.second_column_name = "608_572"
        elif title_name == "TypeScript":
            self.folder_name = "TypeScript源码"
            self.second_column_name = "772_572"
        elif title_name == "微信小程序":
            self.folder_name = "微信小程序源码"
            self.second_column_name = "610_572"
        elif title_name == "Ruby":
            self.folder_name = "Ruby源码"
            self.second_column_name = "622_572"
        elif title_name == "NodeJs":
            self.folder_name = "NodeJs源码"
            self.second_column_name = "626_572"
        elif title_name == "C++":
            self.folder_name = "C++源码"
            self.second_column_name = "596_572"
        elif title_name == "C":
            self.folder_name = "C源码"
            self.second_column_name = "594_572"
        #https://down.chinaz.com/class/594_572_1.htm


        first_column_name = title_name # 一级目录
        self.sprider_category = title_name  # 一级目录
        second_folder_name = str(self.sprider_count) + "个" + self.folder_name #二级目录
        self.sprider_type =second_folder_name
        self.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=self.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.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(1)



发发信息网
奥智手机数码商城购物系统
天缘政府网站系统 v1.2
伊通县信息港 v1.02
oASK问答系统免费版 v2.01
12样(12yang)团购系统 v1.2 SQL版
寒冰文章管理系统 v3.6
国产网CMS v2.0
5156影视小偷程序假伪静态版 v1.0
广告联盟评测 v1.3
86CMS企业网站系统中英繁三语版 v1.2
完整企业网站源码(后台功能无限制) V1.1.01
iHuzu ECWS 狐族企业建站系统 v1.0 beta3
LDCMS网站管理系统 v1.0.3
极瑞材料管理系统演示版 v1.0
中国糖酒吧(糖酒招商网) v1.0(修改版)
佳艺影院网站模板
QQ群免费发布系统 v4.1正式版
74TU图片小偷程序 v1.0
木易客户管理系统 v2.0
江阴人才网人才招聘系统 v4.0
国产网贴吧 v2.2
5UCMS 紫色漂亮模板
好展会信息开放平台 v1.1
NO.001中学网站管理系统 Build 110628
全能商城网站源码(第二版) v2011
推广宝分类信息系统 2012版
珍珠奶茶网站源码 v1.0
快播电影联盟电影小偷 v1.0 完全修正版
 


    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
        if int(self.page_count) == int(self.merchant):
            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")

            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

                driver.get(next_url)  # 请求明细页面1
                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() #下载源码
                sleep(1)
                result,message=SpriderTools.judge_file_exist(True,240,1,down_path,self.filter_down_file,"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("::", "").replace("/", "").strip() #去掉windows不识别的字符

                    files = os.listdir(down_path)
                    file_name = files[0]  # 获取默认值

                    srcFile = down_path + os.sep + file_name
                    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:
                    files = os.listdir(down_path)  # 读取目录下所有文件
                    coder_title = str(coder_title).replace("/", "")  # 去掉windows不识别的字符
                    try:
                        if str(message)=="0个文件认定是False":
                            BaseFrame().error(coder_title+"文件不存在...")
                            shutil.rmtree(down_path)  # 如果没下载完是无法删除的
                            pass
                        else:
                            BaseFrame().error("检测下载文件出错可能原因是等待时间不够已经超时,再等待60秒...")
                            time.sleep(60)
                            shutil.rmtree(down_path) #如果没下载完是无法删除的
                            #清空数组
                            self.filter_down_file.clear()
                    except Exception as e:
                        # 使用数组append记录文件名字 移动的时候过滤
                        self.builder_filter_file(files)
                    pass
            except Exception as e:
                BaseFrame().error("sprider_detail()执行过程出现错误:" + str(e))
                BaseFrame().error("sprider_detail()记录下载的文件名")
                # 使用数组append记录文件名字 移动的时候过滤
                files = os.listdir(down_path)  # 读取目录下所有文件
                self.builder_filter_file(files)

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




最后送大家一首诗:

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

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

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

相关文章

黑马2021-8Vue自学笔记hm

黑马2021-8Vue教程学习笔记 文章目录黑马2021-8Vue教程学习笔记代码和笔记不断更新gitee代码仓库地址备用前端gei忽略提交文件webpack的使用初始化包管理配置文件 package.json下载webpack解决问题dependencies 和 devDependencies区别:在项目中配置webpackWebpack 中的默认约定…

python基础——列表推导式

python基础——列表推导式 文章目录python基础——列表推导式一、实验目的二、实验原理三、实验环境四、实验内容五、实验步骤一、实验目的 掌握Python数据结构&#xff1a;列表推导式的用法。 二、实验原理 列表推导式&#xff08;list comprehension&#xff09;列表推导式…

【Python百日进阶-Web开发-Linux】Day235 - Win11的WSL2中安装Docker

文章目录一、Docker是什么二、Win11安装Docker2.1 官网下载2.2 系统要求&#x1f517;2.2.1 WSL 2 后端2.2.2 Hyper-V 后端和 Windows 容器2.2.3 关于 Windows 容器2.3 在 Windows 上安装 Docker Desktop2.3.1 交互式安装2.3.2 从命令行安装2.4 启动 Docker 桌面三、WSL2的Ubun…

ConcurrentHashMap的死循环问题

文章目录前言1. 情景复现2. 源码解析3. 代码调试4. 原因5. 解决前言 对于ConcurrentHashMap来说&#xff0c;能保证多线程下的安全问题&#xff0c;但是在JDK1.8中还是会出现一个bug&#xff0c;就是computeIfAbsent&#xff0c;下面就来详细说说死循环的原因 1. 情景复现 首…

进阶C语言 第二章-------《进阶指针》 (指针数组、数组指针、函数指针、回调指针)知识点+基本练习题+深入细节+通俗易懂+完整思维导图+建议收藏

绪论 书接上回&#xff0c;通过对数据类型进阶的认识&#xff0c;你肯定对各种数据类型在内存中如何存储有了了解。虽然说&#xff0c;这方面可能对你的编程能力没什么进步。但是&#xff0c;他是一本内功秘籍&#xff0c;当我们遇到了这方面的问题时我们可以知道可能是哪一方面…

使用 Grafana 请求API接口

目的: 使用Grafana 配合JSON API 插件 请求API接口,完成可视化,实现一些简单的请求功能 假设我们想将如下的API接口返回的json数据可视化 这里借用一下 小熊同学的 金融数据接口 用请求如下接口举例 https://api.doctorxiong.club/v1/fund/detail?code000001&startDat…

色环电容读数方法要点总结

🏡《电子元器件学习目录》 目录 1,概述2,读数方法3,颜色对照表3.1,颜色与电容值数字对照关系表3.2,颜色与10的指数数字对照关系表3.3,颜色与误差对照关系表4,总结1,概述 本文简单介绍色环电容的读数方法。 2,读数方法 如下图所示色环电容共有四个色环。最粗的被命名…

36.Isaac教程--复合消息

复合消息 ISAAC教程合集地址: https://blog.csdn.net/kunhe0512/category_12163211.html 文章目录复合消息测量类型使用复合消息的示例手臂关节速度基本轨迹命令手臂关节和末端执行器命令CompositeMetric 和 CompositeAtlas组件使用 CompositeMetric 计算距离在 Python 脚本中创…

使用bookdown构建新年日记本

简介 一年多前在 B 站发布了一个视频&#xff0c;预览了一下基于 bookdown 构建的日记本。本打算之后更个文字版本教程。结果一直忘了&#xff0c;最近通过一位读者的了解&#xff0c;打算把这个坑补上。 本文内容将展示如何使用 bookdown 模板并修改成自己的日记本。此外&…

某阿里员工提问:年终绩效自己给自己打3.25,会有什么后果?网友回答:必死无疑,不要犯傻!...

年底评绩效&#xff0c;大多数人都会给自己打高绩效&#xff0c;但有些人却反其道而行之。最近&#xff0c;一位阿里员工提出了这样的问题&#xff1a;自评绩效时给自己打3.25&#xff0c;会有什么后果&#xff1f;希望领导能不按常理出牌&#xff0c;给自己3.75。有人问&#…

HashMap1.7中的线程安全问题

文章目录前言正文前言 下面聊聊JDK1.7HashMap的死循环问题&#xff0c;在这之前首先要知道JDK1.7的HashMap底层是数组 链表的形式的 正文 下面给出JDK1.7的扩容代码 //扩容代码 void resize(int newCapacity) {//旧的数组Entry[] oldTable table;//旧的数组长度int oldCap…

SpringBoot+Vue--引入Element-UI创建首页-笔记2

关于Vue项目目录结构介绍 https://tiantian.blog.csdn.net/article/details/128666429?spm1001.2014.3001.5502 先安装引入Element-UI Element - The worlds most popular Vue UI framework i是install的缩写 安装完成后,可以看到package.json里已经引入 在main.js里引入…

linux系统的结构

Linux系统一般有4个主要部分&#xff1a;内核、shell、文件系统和应用程序。内核、shell和文件系统一起形成了基本的操作系统结构&#xff0c;它们使得用户可以运行程序、管理文件并使用系统。内核内核是操作系统的核心&#xff0c;具有很多最基本功能&#xff0c;它负责管理系…

Java基础之《netty(31)—用netty实现RPC》

一、需求说明 1、dubbo底层使用了netty作为网络通讯框架&#xff0c;要求使用netty实现一个简单的RPC框架。 2、模仿dubbo&#xff0c;消费者和提供者约定接口和协议&#xff0c;消费者远程调用提供者的服务&#xff0c;提供者返回一个字符串&#xff0c;消费者打印提供者返回…

S32G274A spi发送数组值不变问题

官方例程的spi问题 spi发送函数 下面是S32G两个spi从机发送函数 /** * brief SPI/DSPI异步传输。 * 这个函数使用提供的总线参数初始化异步传输 , 通过外部设备。 * param[in] ExternalDevice -指向传输数据的外部设备的指针 * param[in] TxBuffer -发送缓冲区的指针。 * pa…

3.1动态规划--矩阵连乘问题

写在前面&#xff1a;矩阵连乘的要点 1、最优解数组的含义--A[1:n]的最少数乘次数 2、数组的填写方向--斜着填 3、递推方程含义 今天开始动态规划的学习&#xff0c;动态规划与分治法类似&#xff0c;基本思想就是将待求解的问题分成若干子问题&#xff0c;先求解子问题&am…

Java 23种设计模式(2.创建者模式-工厂设计模式)

代码分析 通过代码的不同实现方式&#xff0c;了解工厂模式 代码分析之后有具体的讲解 1.业务和逻辑分开实现 public class Operation {public static double GetResult(double numberA,double numberB,String operate){double result 0;switch (operate){case "":r…

SpringBoot+Vue项目月度员工绩效考核管理系统

文末获取源码 开发语言&#xff1a;Java 框架&#xff1a;springboot JDK版本&#xff1a;JDK1.8 服务器&#xff1a;tomcat7 数据库&#xff1a;mysql 5.7/8.0 数据库工具&#xff1a;Navicat11 开发软件&#xff1a;eclipse/myeclipse/idea Maven包&#xff1a;Maven3.3.9 浏…

Kubernetes:通过 kubectl 插件 kubectl-tree 查看API对象层级关系

写在前面 分享一个小工具 kubectl-tree&#xff0c;用于查看 k8s API 对象层级关系比如对于有状态应用来讲&#xff0c;可以看到Deployment --> ReplicaSet --> Pod 的构成关系博文内容涉及&#xff1a;tree 插件的安装以及使用。理解不足小伙伴帮忙指正 岂其食鱼&#x…

Java---微服务---Nacos安装

Nacos安装1.Windows安装1.1.下载安装包1.2.解压1.3.端口配置1.4.启动1.5.访问2.Linux安装2.1.安装JDK2.2.上传Nacos安装包2.3.解压2.4.端口配置2.5.启动2.6.访问3.Nacos的依赖1.Windows安装 开发阶段采用单机安装即可。 1.1.下载安装包 在Nacos的GitHub页面&#xff0c;提供…