当前位置: 首页 > news >正文

网站架构 seo/哈尔滨百度公司地址

网站架构 seo,哈尔滨百度公司地址,高端网站建设成都,企业网站建设服务热线如何快速上手(了解系统的功能)? admin管理员用户登录,点击右上角管理,仔细阅读管理首页的说明。 切记:题目导入后一次只能删一题,不要导入过多你暂时用不上的题目,正确的方式是每次…

如何快速上手(了解系统的功能)?

admin管理员用户登录,点击右上角管理,仔细阅读管理首页的说明。

切记:题目导入后一次只能删一题不要导入过多你暂时用不上的题目,正确的方式是每次训练、作业,导入所需的5-10个题目,比赛作业结束后让题目成为训练题库的一部分。这样能保证题库中题号靠前的题目难度依次上升,适合后来的同学自行训练。不要贪图题目数量而忽视其质量。教练自己看不懂解法的题目,少用、慎用。

阅读两个配置文件,逐个研究选项的注释和含义。

/home/judge/etc/judge.conf  所有与判题相关的选项都在这里
/home/judge/src/web/include/db_info.inc.php  所有与Web页有关的选项都在这里

系统中“用户”“比赛”均只有编辑、禁用功能,没有删除功能,这是为了从根源上防止出现“教学事故”。

如何设置默认显示中文界面?

修改db_info.inc.php中的$OJ_LANG=”cn”;

出现502 Bad Gateway,如何处理?

服务器内存过小,超时,考虑增加php-fpm的进程数量。
sed -i ‘s/pm.max_children = 5/pm.max_children = 64/g’ $(find /etc/php -name www.conf)

s

有没有Python题库?

没有针对python的题库,题目都是不针对语言的,相同的题面,你用C也好用C++也好,用Java也行。

如何指定输入输出文件?

测试数据目录准备两个文本文件input.name output.name,其内容为题面指定的输入输出文件名,当他们存在时,判题系统会用他们指定的文件名来取代默认的标准输入输出。选手就可以用input.name里面写的文件名来输入数据,用output.name里面写的文件名作为输出目标。

如何快速构造测试数据?

1、在上传测试数据界面有“随机测试数据生成器”可以用元语言方式生成随机输入。构造系列.in结尾的文件。如:test01.in test02.in

2、自己编写一个标注答案,接受符合格式的输入,产生正确输出。放在测试数据目录中,命名为Main.cc

3、 登陆服务器ssh, 将这个程序编译为可执行文件Main,如g++ -o Main Main.cc

4、在测试数据目录下执行 /home/judge/src/install/makeout.sh Main

5、上述脚本将根据test01.in test02.in自动生成test01.out test02.out

如何手工添加题目?

右上角有管理入口,管理界面有说明,问题管理中添加问题。

添加时只能提供一组样例+一组测试数据,但保存后可以在列表最右侧找到测试数据管理入口,允许上传、生成、解压更多测试数据。

如何修改常见问答内容?

1、修改template/皮肤名/faqs.php

2、添加一个新闻,标题命名为faqs.cn则可以替换系统中的中文FAQ,其他语言雷同。

如何修改页面上的XXXX?

cd home/judge/src/   

grep -rn "XXXX" *

sudo vim home/judge/src/web/lang/cn.php

就能找到你应该修改的文件,如果数量过多请调整搜索的关键词,缩小范围。

备份

脚本安装的用户,可以使用 install 目录中的 bak.sh进行备份。

sudo bash /home/judge/src/install/bak.sh

备份后的数据在 /var/backups/ 目录下, 命名格式为 hustoj_%Y%m%d.tar.bz2。

迁移

首先在新服务器上做全新安装和测试,没有问题后,再迁移数据。

将你需要迁移的归档复制到目标系统的/home/judge/backup目录下,执行下面的脚本进行恢复

cd /home/judge/backup
sudo bash /home/judge/src/install/restore.sh hustoj_%Y%m%d.tar.bz2

脚本的第一个参数为恢复的目标归档,如果没有参数则默认为按名字排序后字典序最大的归档

如何安装使用Moodle

https://zhuanlan.zhihu.com/p/103899072

更新升级

脚本安装的用户,可以使用 install 目录中的 update-hustoj 进行更新升级。

sudo bash /home/judge/src/install/update-hustoj

修复

自己不小心改坏了 web 代码,可以使用 install 目录中的 fixing.sh 进行系统修复。

sudo bash /home/judge/src/install/fixing.sh

管理员如何查看其它用户代码?

右上角进入管理后台,用户管理,用户-权限-添加

给自己加权限sourse_browser权限

然后,查看前台,注销,重新登录。在状态页,点击提交记录中的语言名称查看源代码。

如何限制未登录用户访问?

db_info.inc.php里面有

$OJ_NEED_LOGIN 和 $OJ_REGISTER

static $OJ_REGISTER=true; //允许注册新用户
static $OJ_REG_NEED_CONFIRM=false; //新注册用户需要审核
static $OJ_NEED_LOGIN=false; //需要登录才能访问

不小心删除了admin的权限,如何修复?

sudo su
cd /home/judge/src/install
echo "insert into jol.privilege values('admin','administrator','true','N');" | ./mysql.sh

比赛作业里面的时间是什么含义,OI排名跟普通排名有何区别?

时间是指参与人员做出对应题目“花费”的时间:

即:做出题目的时刻 – 比赛开始的时刻 + 惩罚时间

惩罚时间 = 做对之前错误的提交数 * 20分钟。

普通排名按做对的题目数和“花费”的时间进行排名。

OI排名,按得分排名,在开启judge.conf中的OJ_OI_MODE=1后,题目可以按通过的比例进行记分,每题100分。如果希望数据的分值不平均分配,可以使用[权重]作为文件名结尾。如 test01[60].in / test01[60].out 可占60的分数权重,而 test02[20].in/test02[20].out可占20的权重,如果没有其他测试数据,通过后者可以得本题100分中的25分。没有标明权重的数据,默认权重为10。

人多的时候,随机出现"No input file specified"

编辑/etc/php/7.4/fpm/pool.d/www.conf 修改设定 rlimit_files = 1024 为一个更大的值,如65535。修改后重启php-fpm进程(sudo service php7.4-fpm restart)生效。


判题核心的原理是怎样的?

  • 参考一下wiki
  • 阅读一下judge_client.cc中的注释。

判题如何触发的?

judged通过UDP监听1536端口,Web端有新的提交或者重判任务时,将发送消息给judged,judged接受到消息,主动去数据库领取任务,fork出docker中的judge_client进行判题。

在SaaS模式中,judge_hub取代judged监听UDP端口,Web发送的消息包含SaaS目录下的子目录名,judge_hub根据SaaS根目录和消息,拼接出judged的主目录,并fork出judged进程去完成判题。judged完成所有数据库任务队列后,主动退出,等待下一次被judge_hub触发。

参考:JudgeHub

如何让学生账号在比赛中也能看到和练习一样的详细错误信息?

  • 编辑db_info.inc.php,设置 $OJ_SHOW_DIFF=true;
  • 打开文件reinfo.php 在27行和60行有两处详细注释,根据注释进行调整。

如何获得管理员权限?

  • 操作系统Ubuntu的管理员权限是通过在安装过程中产生的账号运行sudo su切换到root。
  • OJ的管理员是安装完成后,第一个注册的用户用admin作为用户名注册,自动获得管理权限。

权限表里的记录都是什么含义?

以下权限是手动指派:

  • “administrator” 管理员,除查看源码外的所有权限。
  • “problem_editor”:题目编辑者,添加和编辑题目。
  • “source_browser”:查看审核所有提交的源代码,对比可疑的相似代码。
  • “contest_creator”:组织创建比赛,编辑比赛。
  • “http_judge”:HTTP远程判题账号。
  • “password_setter”:重置普通账户密码。
  • “printer”:现场赛打印员,注意该账户的school字段用于分配打印任务,如果只有一个打印区则置空。
  • “balloon”:气球配送员,注意该账户的school字段用于分配气球任务,如果只有一个气球配送区则置空。
  • “vip”:可以参与所有标题含有VIP字样的私有比赛。
  • “problem_start”:HTTP远程判题账户的任务起始题号。
  • “problem_end”:HTTP远程判题账户的任务结束题号。

新赋予的权限需要重新登陆获得!

以下权限是系统自动生成:

  • p+数字:题目的独立编辑权,管理员可以编辑所有题目,problem_editor只能编辑自己添加的题目。
  • m+数字: 比赛的独立编辑权,管理员可以编辑所有比赛,contest_creator只能编辑自己添加的比赛。
  • c+数字:比赛的参与权,私有比赛只有有权限或者知道密码的用户可以参与。

如何使用题单功能?

在新闻内容中编写,格式为:

[plist=题号列表]题单名[/plist]

也可以在题目列表里,勾选题目后,点击NewProblemList按钮(仅限bs3/syzoj模板使用)。在db_info.inc.php中有选项 $OJ_MENU_NEWS ,设置为true后可以通过勾选新闻的“是否展示到菜单”,在顶层导航中显示该条目。

是否显示到菜  

脚本把OJ装在哪里了?可以卸载么?

  • 脚本安装默认位置在/home/judge,其中src是全部源码,data是测试数据,etc目录是判题端的配置文件,install目录是各种工具脚本。
  • src/web/upload目录存放着所有上传的图片,包括新闻与题目的图片。
  • Ubuntu中默认的数据库文件放置在/var/lib/mysql,但是不建议直接备份库文件,而是推荐用install目录中的bak.sh进行备份。
  • 如果想卸载,可以参考src/install/uninstall.sh,注意卸载脚本不考虑服务器上可能存在的其他Web系统,请谨慎使用。(复制脚本里面的命令,root权限下粘贴执行)

题目的限时和内存限制的精度是怎样的?

  • 题目限时允许设定的字面精度是0.001s,但是由于操作系统内核参数的限定,实测的精度通常为4ms。
  • judge.conf中有个OJ_CPU_COMPENSATION来标注当前系统的CPU速度,安装脚本自动根据BogoMIPS的值来设定。
  • 当BogoMIPS的值为5000时,这个值为1.000,当CPU的速度更快时,这个值为大于1.000的值。
  • 最终系统记录的时间,将按照这个系数进行调整,对于对时间精度要求较高的场合,如正式比赛,或者判题机配置不均衡的情况,可以通过手工调节该参数,让不同的判题机对于相同题目的运行结果趋于一致。

内存限制的精度是1MB,对于本地native的编译型语言c/c++/pascal/freebasic/clang等是考察程序本身的内存申请空间; 对于虚拟机和脚本语言,则包含了虚拟机本身或解释器本身的内存消耗。

测试文件的大小、数量有什么限制?

一般情况下,单个测试文件大小建议不超过10M,测试文件总量10组(.in + .out)。

  • 源码中对测试文件大小有个上限 STD_F_LIM = 32M 定义 生效
  • /home/judge/etc/judge.conf 中有下面的若干配置可以影响系统设定。
  • OJ_OI_MODE=1的情况下,题目限时是依赖于OJ_TIME_LIMIT_TO_TOTAL的:
  • OJ_TIME_LIMIT_TO_TOTAL=1 限时应用于所有数据的总耗时
  • OJ_TIME_LIMIT_TO_TOTAL=0,限时应用于每组测试文件。
  • 状态页status.php(solution表)中记录的时间,取决于OJ_USE_MAX_TIME:
  • OJ_USE_MAX_TIME=0时,记录的是总耗时。
  • OJ_USE_MAX_TIME=1时,记录的是最高耗时。 因此,当测试数据组数较多时,推荐设定OJ_USE_MAX_TIME=0,OJ_TIME_LIMIT_TO_TOTAL=1 。

测试文件的文件名命名有什么规则?

  • 一般推荐用英文命名,相同文件名的.in .out文件为一组。
  • 不支持.ans的扩展名,请在上传前用Windows的命令行统一修改ren *.ans *.out
  • 支持在文件名中使用方括号[]来标注分数。如 test01[20].in / test01[20].out将视为分数是20分,未标注的文件按10分计分,系统最终根据所有文件的总分和运行得分,记录提交的通过率pass_rate放入solution表,用于前台显示。
  • 评测的时候根据所有.in文件的字典序来评测, 因此test10先于test2评测, 后于test02评测。

为什么我的系统卡在编译中

  • 如果修改了数据库密码,请注意除了db_info.inc.php需要修改,还需要修改judge.conf中的数据库密码,并需要重启judged进程。
  • 如果judge.conf中启用了OJ_USE_DOCKER=1,请确保禁用了OJ_SHM_RUN=0,并检查run0等目录是真实的目录而非软连接。
  • 如果如果OJ_USE_DOCKER=0时系统正常,OJ_USE_DOCKER=1时卡住,请检查install目录下的Dockerfile文件内容是否符合需求,并再次运行docker.sh确认运行结果正常。
  • 修改OJ_USER_DOCKER参数,需要重启judged生效,方法是sudo pkill -9 judged && sudo judged

正式比赛或大规模系统需要注意哪些问题?

  • 正式比赛推荐激活db_info.inc.php中的两个参数。
//static $OJ_EXAM_CONTEST_ID=1000; // 启用考试状态,填写考试比赛ID
//static $OJ_ON_SITE_CONTEST_ID=1000; //启用现场赛状态,填写现场赛比赛ID

NOI CSP CCF 新标准使用C++14,如何在hustoj中更改默认的编译参数。

已经更新默认C++标准为C++14。可以检查,judge.conf 中是否有 OJ_CPP_STD=-std=c++14即可。

C++ 中的gets函数哪里去了?为何编译报错?

根据 std::gets - cppreference.com , gets函数已经被移除。 可以使用#define gets(S) fgets(S,sizeof(S),stdin) 作为兼容性宏替换。

Python判题好慢好慢,如何加速?

如果你的系统主要为Python服务,可以修改/home/judge/etc/judge.conf 设 OJ_PYTHON_FREE=1 

为了增加安全性,请在/home/judge/src/install目录运行sudo bash docker.sh,然后修改/home/judge/etc/judge.conf 设定 OJ_USE_DOCKER=1 这样设定后,可以提高Python的判题速度,并提供额外的安全防护。 推荐使用Ubuntu20.04作为基础系统。

是否可以只由管理员来注册账号,自己不能注册

可以,设置db_info.inc.php中的选项, 

static $OJ_REGISTER=true; //true允许注册新用户,false禁止注册
static $OJ_REG_NEED_CONFIRM=true; //true新注册用户需要审核,false无需审核直接登陆

关闭注册后,管理员可以在后台“比赛队账户生成器”,生成指定数量的账户用于分配。 http://xxxx.xxxxx/admin/team_generate.php

如何显示MathJax语法的公式?

修改db_info.inc.php设置

static  $OJ_MATHJAX=true;  // 激活mathjax

需要用户能够正常访问互联网,内网用户需要自行部署mathjax内网镜像,并修改template/bs3/problem.php中相关路径。

如何启用查重机制?

修改/home/judge/etc/judge.conf,设置

OJ_SIM_ENABLE=1

修改/home/judge/src/web/include/db_info.inc.php,设置

$OJ_SIM=true;
  • 抄袭只对不同账号间生效,自己抄袭自己不计。拥有Source_browser权限的账号可以看到具体数值和对比。

请问如何重启判题机?

sudo pkill -9 judged
sudo judged

XXXXX 这个文件是在哪的

   sudo find /home/judge -name "XXXXX"

数据库账号密码是什么,如何登陆mysql?

数据库账号密码存放在两个配置文件中:

/home/judge/etc/judge.conf
/home/judge/src/web/include/db_info.inc.php

新版本中,快速登陆mysql的脚本在install目录里,名字为mysql.sh 使用方法

sudo bash /home/judge/src/install/mysql.sh

也可以安装phpmyadmin:
sudo apt-get -y install phpmyadmin
第一个对话框询问关于Configure database for phpmyadmin with dbconfig-common
用Tab键选到No,回车。
在后续对话框中,不要选择任何一个(apache/lighthttpd都不选),用Tab键选到最下面的OK
安装完成后,执行
sudo ln -s /usr/share/phpmyadmin /home/judge/src/web/pma
然后就可以在OJ的网页端,用http://IP或域名/pma/ 来访问phpmyadmin了
数据库帐号密码,查看前述配置文件。

如何用Windows上的Navicat去连接远程服务器上的mysql?

利用ssh的端口转发机制,把Windows本地的3306端口映射到远程的3306端口上,就可以用前面一个问题中查到的账号密码去连接数据库了。对于Navicat参考使用Navicat进行ssh通道连接MySQL数据库_温暖如春520的博客-CSDN博客

注意常规标签里写的是配置文件里查到的数据库的账号密码,SSH标签里写的是连接SSH用的账号密码。如果你的ssh服务端口不是22,记得要修改成正确的端口

对于putty,参考下图:

后台导入问题失败

1、先用谷歌浏览器直接打开xml文件,看是否有语法错误,如果有,用文本编辑器修订提示的行号。

2、如果超过100M,可以先用EasyFPSViewer拆分成多个小文件,然后再导入。

3、对于HUSTOJ,可以先压缩为zip再上传导入

4、修改/etc/php/7.2/fpm/php.ini, 提高post_max_size、upload_max_filesize 、memory_limit、max_execution_time 的值。修改后执行sudo service php7.2-fpm restart生效。

电脑配置太高,造了很多数据还是没法卡住暴力怎么办?

修改/home/judge/etc/judge.conf

OJ_CPU_COMPENSATION=1.0

增加这个值可以降低CPU的评测速度,安装脚本根据CPU的bogomips值来初始化。 最高不超过100,设为100可以将原先1ms的测试数据计成100ms。

为什么题目不见了/如何让比赛里的题目也可以在练习里做?

这是由ACM的规则决定的,因为做错有罚时,如果比赛题目在练习中同时可用,则会导致选手可以先在练习中AC,然后再去比赛中提交,从而绕过罚时。另外,比赛题目如果在比赛还没开始的时候,就在练习中出现,则会有漏题的嫌疑,类似某网络原题赛。

当一个题目在作业里被隐藏的时候,如果有老师希望学生可以做这些题目,可以布置自己的作业,将题目加进去,提供给学生做。
一个题目可以同时出现在不同的作业、比赛里。
练习中出现的题目必须满足:
0、已经被管理员设置为可用
1、不在任何未结束的公开作业、比赛中
2、不在任何私有的作业、比赛中
3、题号大于等于1000

  • 比赛的题目在比赛添加后,直到结束前,是不能在练习中看到和提交的,否则比赛将泄题或罚时被绕过。
  • 私有比赛的题目,在比赛结束后,仍然保留,即使比赛被隐藏也是一样,这是为了防止下一届新生提前获知测试内容。
  • 如果希望私有比赛后,题目公开可做,请将比赛切换为公开。
  • 其他主机怎么连接到oj?

    这取决于买的阿里云还是校园网服务器,或者虚拟机: 阿里云直接用阿里提供的公网ip访问,也可以添加域名解析后用域名访问。 校园网,用学校提供的内网ip或二级域名访问。 虚拟机,百度“【虚拟机的名字如virtualbox或vmware】+端口映射” ,把80端口转进去,然后用物理机的ip地址访问。

关于NOIP赛制

  • 设置judge.conf中的OJ_OI_MODE=1 //不在单个数据点WA时停止判题,而是继续判题
  • 设置db_info.inc.php中的 $OJ_MARK=”mark”; // 非AC的提交结果显示得分而非错误比率
  • 设置db_info.inc.php中的 $OJ_OI_1_SOLUTION_ONLY=true; //比赛是否采用noip中的仅保留最后一次提交的规则。
  • 添加比赛时,比赛标题中包含”NOIP”这个关键词 // 赛后才能看结果
  • “NOIP”这个敏感词在db_info.inc.php中可以修改

随机的CE编译错误

  • 检查OJ_RUNNING的设置与run?目录的对应关系,例如:OJ_RUNNING=2,需要run0 run1两个目录,属主judge,权限700。
  • 有的题目CE有的题目AC,适当放宽judge_client.cc中compile函数里的CPU、内存、文件限制。约1234行前后。修改后需在core目录执行sudo bash make.sh

如何让判题程序忽略行尾的空白字符

在judge_client.cc头部增加宏定义 IGNORE_ESOL 或者修改 Makefile 增加 -DIGNORE_ESOL 参数。

配置文件里的字段什么含义?

   点击Configuration

多组数据怎么上传?

加好题目后在题目列表找TestData,点击上传。 主文件名一样的*.in *.out,如test1.in test1.out

为何页面总是需要刷新才能显示?

如果您使用的是ie6浏览器,请禁用服务器上的deflate模块,在ubuntu下的命令是

sudo rm /etc/apache2/mods-enabled/deflate.* sudo /etc/init.d/apache2 restart

为什么我提交的答案始终在pending?

判题程序judged需要用root帐号启动,请重启服务器或手动执行sudo judged。如果无效,请检查/home/judge/etc/judge.conf中的数据库账号配置,参考[Configuration],修正后再次重启服务器或执行sudo pkill -9 judged等待一会儿再执行sudo judged

为什么添加题目时出现warning,题目目录下数据没有自动生成?

您需要修改测试数据目录,给予php-fpm操作数据目录的权限。Ubuntu下php-fpm运行的用户身份是www-data

 
chgrp www-data -R /home/judge/data
chmod g+rw -R /home/judge/data

为什么我添加的题目普通用户看不到?

   题目默认为删除状态,只有管理员能访问,当管理员确认题目没有问题后,可以点击ProblemList中红色的Reserved,切换为绿色的Available启用题目。

为何我的C/C++都能用,唯独Java总是CE/RE?

  目前只支持sun原版jdk和openjdk,其他jdk暂不能保证支持。如果你用的是64位系统,你可能需要自己调整一下源代码。请联系我。

我是管理员,为什么不能查看别人的源码?

请给自己增加source_browser权限。issue1

如何进入后台?

以管理员身份登录,点击Admin/管理进入后台。

如何添加题目?

进入后台,点击左侧NewProblem。

如何添加测试数据?

添加题目时,可以在test input/test output添加一组测试数据,大规模的数据(10kb+)和更多的数据,可以在添加完题目后,通过ftp/sftp,上传到题目对应目录,通常是 /home/judge/data/题号。命名规则是输入数据以.in结尾,输出数据以.out结尾,主文件名相同。

如何编辑题目?

后台中点击ProblemList,找到需要编辑的题目,点击Edit。编辑时不能修改测试数据,测试数据请使用ftp工具修改。

如何启用题目?

题目添加后,默认是停用状态,以防比赛提前漏题,后台中点击ProblemList,找到题目,点击Reserved 切换为Available启用题目,或者组织比赛,比赛中的题目将自动启用。

如何组织比赛?

在题目列表ProblemList中选择使用的题目,在PID一栏打钩,点击CheckToNewContest按钮,进入到比赛添加页面,输入比赛名称,设定比赛时间,语言类型,访问权限提交即可。
也可以使用管理菜单中的NewContest,需要手动输入题目编号,用英文逗号分隔。

如何修改、删除比赛?

点击比赛列表ContestList,选择Edit或Delete。

如何修改公告信息?

点击SetMessage。修改无效请检查admin/msg.txt是否对php账号(www-data)可写

如何修改用户密码?

点击ChangPassWD

如何重新判题?

点击Rejudge,输入题号或运行编号。

如何增加用户权限?

   Addprivilege/添加权限, administrator为管理员,source_browser为代码审查,contest_creator为比赛组织者。 通常给使用系统的老师分配代码审查和比赛组织者权限即可。

如何导入、导出题目?

 
使用ImportProblem,上传FPS文件。
使用ExportProblem,输入起始编号,结束编号,或题号列表,如果输入了列表,起始结束将不起作用。

如何更新数据库结构?

系统升级中,有对数据库的修改,这些修改不能通过SVN实现自动更新,如果发现升级web/core代码后系统报错,可以执行update database操作,进行数据库升级。因为脚本中有测试代码,所以重复执行不会造成影响。

部署在Centos7系统中无法正常评测,如何解决?
由于hoj使用的判题机中的安全沙盒使用环境的特殊性,如果想在centos7系统中正常运行hoj-judgeserver服务,需要开启 user 命名空间来使用。
echo user.max_user_namespaces=10000 >> /etc/sysctl.d/98-userns.conf
docker restart hoj-judgeserver

重新启动hoj-judgeserver的docker容器即可正常评测。

相关文章:

HUSTOJ使用指南

如何快速上手(了解系统的功能)? admin管理员用户登录,点击右上角管理,仔细阅读管理首页的说明。 切记:题目导入后一次只能删一题,不要导入过多你暂时用不上的题目,正确的方式是每次…...

java基础学习

一、注释 1)当行注释 // 2)多行注释 /* ... */ 3)文档注释 (java特有) /** author 张三 version v1.0 这是文档注释,需要将class用public修饰 */ 二、关键字 (1)48个关键…...

Linux——进程优先级

1.什么是优先级? 优先级和权限息息相关。权限的含义为能还是不能做这件事。而优先级则表示:你有权限去做,只不过是先去做还是后去做这件事罢了。 2.为什么会存在优先级? 优先级表明了狼多肉少的理念,举个例子&#xff…...

音频设备初始化与输出:QT与SDL策略模式的实现

音频设备初始化与输出:QT与SDL策略模式的实现 一、引言(Introduction)1.1 音频设备初始化与输出的重要性1.2 QT与SDL的音频设备处理1.3 策略模式在音频设备处理中的应用 二、深入理解音频设备初始化与输出2.1 音频设备的基本概念2.2 音频设备…...

Linux 手动部署 SpringBoot 项目

Linux 手动部署 SpringBoot 项目 1. 将项目打包成 jar 包 &#xff08;1&#xff09;引入插件 <build><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId></pl…...

华为OD机试真题B卷 Java 实现【内存资源分配】

一、题目描述 有一个简易内存池,内存按照大小粒度分类,每个粒度有若干个可用内存资源,用户会进行一系列内存申请,需要按需分配内存池中的资源,返回申请结果成功失败列表。 分配规则如下: 分配的内存要大于等于内存的申请量,存在满足需求的内存就必须分配,优先分配粒度…...

深入理解ChatGPT插件:competitorppcads、seoanalysis和kraftful

1. 引言 插件&#xff0c;作为一种扩展功能的工具&#xff0c;为我们的应用程序提供了无限的可能性。在ChatGPT中&#xff0c;我们有许多强大的插件&#xff0c;如competitorppcads、seoanalysis和kraftful。这篇博客将详细介绍这三个插件的功能和使用方法。 2. competitorpp…...

通过源码编译安装LAMP平台的搭建

目录 1. 编译安装Apache httpd服务2 编写mysqld服务3 编译安装PHP 解析环境安装论坛 LAMP架构是目前成熟的企业网站应用模式之一&#xff0c;指的是协同工作的一整套系统和相关软件&#xff0c;能够提供动态Web站点服务及其应用开发环境。 LAMP是一个缩写词&#xff0c;具体包…...

mac os 安装rz/sz

说明&#xff1a;使用rz sz实现终端的文件传输&#xff0c;该命令主要使用场景为 macos中通过堡垒机登陆后无法使用ftp工具传输文件。 工具&#xff1a;iTerm2、lrzsz、homebrew 以及两个脚本文件&#xff08;iterm2-recv-zmodem.sh、iterm2-send-zmodem.sh&#xff09; …...

Redis源码(1) 建立监听服务和开启事件循环

Redis 是cs架构(服务端-客户端)&#xff0c;典型的一对多的服务器应用程序。多个客户通过网络与Redis服务器进行通信。那么在linux环境中是使用epoll(我们也 只讨论linux环境的&#xff0c;便于学习)。   通过使用I/O多路复用技术&#xff0c; redis 服务器使用单线程单进程的…...

c++基础概念,const与指针、引用的关系,auto,decltype关键字能干啥总得了解吧。总得按照需求自定义创建实体类,自己编写头文件吧

const限定符 有时我们希望定义这样一种变量&#xff0c;它的值不能被改变。例如&#xff0c;用一个变量来表示缓冲区的大小。使用变量的好处是当我们觉得缓冲区大小不再合适时&#xff0c;很容易对其进行调整。另一方面&#xff0c;也应随时警惕防止程序一不小心改变了这个值。…...

【数据结构】---几分钟简单几步学会手撕链式二叉树(下)

文章目录 前言&#x1f31f;一、二叉树链式结构的实现&#x1f30f;1.1 二叉树叶子节点个数&#x1f4ab;代码&#xff1a;&#x1f4ab;流程图&#xff1a; &#x1f30f;1.2 二叉树的高度&#x1f4ab;第一种写法(不支持)&#xff1a;&#x1f4d2;代码&#xff1a;&#x1f…...

用户验证FTP实验

用户FTP实验 目录 匿名用户验证&#xff1a; 本地用户验证&#xff1a; 本地用户访问控制&#xff1a; 匿名用户验证&#xff1a; 例&#xff1a;&#xff08;前提配置&#xff0c;防火墙关闭&#xff0c;yum安装&#xff0c;同模式vmware11&#xff09; 现有一台计算机huy…...

App 软件开发《单选4》试卷答案及解析

App 软件开发《单选4》试卷答案及解析 注&#xff1a;本文章所有答案的解析来自 ChatGPT 的回答&#xff08;给出正确答案让其解释原因&#xff09;&#xff0c;正确性请自行甄辨。 文章目录 App 软件开发《单选4》试卷答案及解析单选题&#xff08;共计0分&#xff09;1&#…...

代码随想录算法训练营第三十七天 | 力扣 738.单调递增的数字, 968.监控二叉树

738.单调递增的数字 题目 738. 单调递增的数字 当且仅当每个相邻位数上的数字 x 和 y 满足 x < y 时&#xff0c;我们称这个整数是单调递增的。 给定一个整数 n &#xff0c;返回 小于或等于 n 的最大数字&#xff0c;且数字呈 单调递增 。 解析 从后向前遍历&#xf…...

C++内存总结

1.2 C内存 参考 https://www.nowcoder.com/issue/tutorial?tutorialId93&uuid8f38bec08f974de192275e5366d8ae24 1.2.1 简述一下堆和栈的区别 参考回答 区别&#xff1a; 堆栈空间分配不同。栈由操作系统自动分配释放 &#xff0c;存放函数的参数值&#xff0c;局部变…...

开发移动端官网总结_Vue2.x

目录 1、自定义加载中效果 2、HTML页面注入环境变量 / 加载CDN和本地库 3、在 Vue 中使用 wow.js 4、过渡路由 5、全局监听当前设备&#xff0c;切换PC端和移动端 6、移动端常用初始化样式 7、官网默认入口文件 8、回到顶部滑动过渡效果&#xff08;显示与隐藏、滑动置…...

Zookeeper+消息队列Kafka

一、Zookeeper 概述 官方下载地址&#xff1a;Index of /dist/zookeeper 1.1 Zookeeper 定义 Zookeeper是一个开源的分布式的&#xff0c;为分布式框架提供协调服务的Apache项目。 1.2 Zookeeper 工作机制 Zookeeper从设计模式角度来理解&#xff1a;是一个基于观察者模式设…...

【滤波】设计卡尔曼滤波器

本文主要翻译自rlabbe/Kalman-and-Bayesian-Filters-in-Python的第8章节08-Designing-Kalman-Filters&#xff08;设计卡尔曼滤波器&#xff09;。 %matplotlib inline#format the book import book_format book_format.set_style()简介 在上一章节中&#xff0c;我们讨论了教…...

redis主备切换,哨兵模式,缓存穿透、缓存击穿、缓存雪崩问题

主备切换 主从复制指的是把一台Redis服务器的数据复制到其他Redis服务器上&#xff0c;前者称为主节点Master&#xff0c;后者称为从节点Slave&#xff0c;只能从Master单向复制到Slave&#xff0c;一般Master以写操作为主&#xff0c;Slave以读操作为主&#xff0c;实现读写分…...

2023山东icpc省赛总结

距离比赛结束已经一天多了&#xff0c;现在的感觉就是三个字&#xff1a;意难平。 这是我们第一次打现场赛&#xff0c;去之前真的是很激动。因为我们比赛前做了很多其他省的省赛模拟&#xff0c;也做了几套今年别的省的题目&#xff0c;做完会去搜题解&#xff0c;会看到别人写…...

linux0.12-12-fs

[606页] 第12章 文件系统 606–12-1-总体功能 607–12-1-1-MINIX文件系统 611–12-1-2-文件类型、属性和目录项 615–12-1-3-高速缓冲区 616–12-1-4-文件系统底层函数 616–12-1-5-文件中数据的访问操作 618–12-1-6-文件和目录管理系统调用 619–12-1-7-360KB软盘中文件系统…...

快速入门SpringMVC 学习

目录 SpringMVC 定义 MVC定义 创建SpringMVC项目 SpringMVC掌握功能 一、连接功能 RequestMapping(请求映射) GetMapping 和 PostMapping 二、获取参数功能 传递单个参数/多个参数 注意点&#xff1a; RequestParam(前后端参数映射) 前后端参数映射 RequestParam特…...

leetcode96--不同的二叉搜索树[java]

不同的二叉搜索树 leetcode 96 题 不同的二叉搜索树题目描述暴力递归解题思路代码演示执行效率 递归 缓存解题思路代码演示执行效率 动态规划专题 leetcode 96 题 不同的二叉搜索树 原题链接: 难度—中等 https://leetcode.cn/problems/unique-binary-search-trees/ 题目描述 …...

【Spring 项目的创建和使用】

&#x1f389;&#x1f389;&#x1f389;点进来你就是我的人了博主主页&#xff1a;&#x1f648;&#x1f648;&#x1f648;戳一戳,欢迎大佬指点! 欢迎志同道合的朋友一起加油喔&#x1f93a;&#x1f93a;&#x1f93a; 目录 1. 创建 Spring 项目 2. 创建一个 普通 Maven…...

数据类型.

数据类型 数据类型分类 数值类型 tinyint类型 数值越界测试&#xff1a; mysql> create table tt1(num tinyint); Query OK, 0 rows affected (0.02 sec)mysql> insert into tt1 values(1); Query OK, 1 row affected (0.00 sec)mysql> insert into tt1 values(128…...

深入了解JavaScript中的Promise

在JavaScript中&#xff0c;异步编程是必不可少的。过去&#xff0c;我们通常使用回调函数来处理异步操作&#xff0c;但回调地狱&#xff08;callback hell&#xff09;和复杂的错误处理使得代码难以维护。为了解决这些问题&#xff0c;ES6引入了Promise&#xff0c;它是一种更…...

Solidity基础六

生活本来就是平凡琐碎的&#xff0c;哪有那么多惊天动地的大事&#xff0c;快乐的秘诀就是不管对大事小事都要保持热情 目录 一、Solidity的特殊变量(全局) 二、Solidity的不可变量 immutable的赋值方式 三、Solidity的事件与日志 事件和日志加深理解 四、Solidity的异常…...

自学网络安全解决问题方法

自学网络安全很容易学着学着就迷茫了&#xff0c;找到源头问题&#xff0c;解决它就可以了&#xff0c;所以首先咱们聊聊&#xff0c;学习网络安全方向通常会有哪些问题&#xff0c;看到后面有惊喜哦 1、打基础时间太长 学基础花费很长时间&#xff0c;光语言都有几门&#xf…...

Java之旅(七)

Java 异常 Java异常&#xff08;Exception&#xff09;是在程序运行过程中出现错误或异常情况时&#xff0c;由程序自动抛出&#xff0c;导致程序无法正常运行&#xff0c;用于向上层调用程序传递错误信息或中断程序执行的一种机制。 异常与错误不同&#xff0c;错误是由于程…...