使用nginx部署发现的问题前端的vue3项目的代码打包后,部署到服务器上面,打开非index.html页面后后控制台报错如下:
查阅资料后发现,其实不是代码的问题,而是资源公共路径设置的问题,解决方法如下:
将vue.comfig.js中的
1publicPath 由"./" 改为 "/"
原因是新版vue3中在部署的时候已经不需要修改默认的路径了,不需要额外指定静态页面的路径。
另外,index.html 中引入的 jquery 文件在打包后,部署到服务器之后,也会报 Uncaught SyntaxError: Unexpected token ‘<’ 错误,解决办法很简单,把引入的 jquery 文件注释掉不要即可,如果项目确实需要使用 query ,最好也是用 npm 安装,而不是引入文件。
上线步骤–后端1.配置服务器yum源1https://blog.csdn.net/weixin_49369665/article/details/143248527?utm_medium=distribute.pc_relevant.none-task-blog-2~default~baidujs_baidulandingword~default-1-143248527-blog-111396918.235^v43^control&spm=1001.2101.3001.4242.2&utm_relevant_index=4
12/etc/yum.repos.d/CentOS-Vault.repo在 CentOS-Vault.repo 添加如下配置,以启用 CentOS 7 的存档仓库,添加配置如下:
安装依赖
1sudo yum install -y yum-utils
添加 Docker 官方仓库:
1sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/dock ...
在我们编程过程中,经常会出现一种情况,就是现有的代码没办法直接使用,需要做一些适当的变换,来适配原有的程序,所以叫做适配器模式,或者包装器模式。
1.1 定义Print接口接口定义两个抽象方法输出字符串
1234public interface Print { abstract public void PrintWeak(); abstract public void PrintStrong();}
1.2 定义Banner类此类定义要打印的字符串及其构造方法, 定义了两个函数打印不同的字符串
123456789101112131415public class Banner { private String name; public Banner(String name) { this.name = name; } public void showWithParen() { System.out.println("(" + name + &q ...
模板方式设计模式在父类中编写了算法,就无需再在各个子类中编写同样的算法,如果程序出现BUG就会很快锁定
1.1 首先创建抽象父类AbstractDisplay父类中定义了三个方法,用于输出字符串
12345678910111213public abstract class AbstractDisplay { public abstract void open(); public abstract void print(); public abstract void close(); public final void display() { open(); for (int i = 0; i < 5; i++) { print(); } close(); }}
1.2 创建子类CharDisplay使子类继承AbstractDisplay类,重写父类的三个抽象方法
重写的方法将以特定的格式输出字符串
123456 ...
在工厂模式中,父类决定实例生成的具体方式,但是决定不了具体生成的类,具体的处理全部交给子类负责,类似于模板模式。
1.1 定义Product抽象类Product类来表示产品,这个类中只声明了抽象方法use()等待子类重写。
12345678/** * @author ikun * @date 2024年06月28日 14:35 */public abstract class Product { public abstract void use();}
1.2 定义Factory抽象类Factory类使用了模板模式,本类定义了抽象方法 creatProduct 和 registerProduct,定义并实现了 create 方法,通过调用这个方法实现产品的注册。
12345678910111213141516/** * @author ikun * @date 2024年06月28日 14:50 */public abstract class Factory { public Product create(String owner) & ...
程序在运行时,通常会创建很多实例,但是有时候只需要一个实例。那么我们可以用单例模式来解决这个问题。
单例模式也分为饿汉式和懒汉式;
下面是饿汉式的例子;
1.1 定义一个Singleton类,它的构造函数是private的,也就是说不能在Singleton类外部创建实例。12345678910111213141516/** * @author ikun * @date 2024年06月23日 23:35 */public class Singleton { private static Singleton singleton = new Singleton(); private Singleton() { System.out.println("生成了一个实例..."); } public static Singleton getInstance() { return singleton; }}
为了方便测试,在构造函数里打印语句,每调用一次就 ...
答题平台:1.策略模式实现多种评分算法 使用不同评分算法进行判题的业务场景天然适配策略模式。不同算法对应的就是不同的策略,所以使用策略模式来封装评分算法,便于维护和扩展。
具体实现方式:
1.定义ScoringStrategy接口,约束了评分的入参和出参
2.定义ScoringStrategyConfig注解,一共有两个属性标识了策略对应的应用属性和评分类型
3.每种评分算法都实现ScroingStrategy接口,且标注对应ScroingStrategyConfig注解
4.定义ScroingStrategyExecutor方法作为驱动类,内部利用Spring注入ScroingStrategy实现类列表,得到所有评分算法。定义execute方法,遍历评分算法列表,通过反射获取策略实现类注解上的属性即可筛选出对应的评分算法。
2.Prompt优化 首先要明确想从AI模型中得到什么样的输出结果,然后选择合适的模型,在写Prompt的时候可以参考官网的配置文档对标点符号优化、让GLM进行角色扮演、提供更具体的细节要求等等,最终能够稳定的返回想要的结果。
3.流式API ...