CodeDocker
OJ沙盒判题系统成果展示访问路由:http://47.120.1.220:8801/
技术栈全栈前端:基于Vue框架+arco实现前端特点:运用了很多第三方插件,比如openapi,mdEditor,CodeEditor等等。后端:基于Springboot实现后端特点:自主实现了一个从0到1的代码沙箱,包括原生java和docker两种实现方式,这里主要展示的代码为如何实现这两种沙箱模式。
核心流程基本架构模板方法核心依赖:java进程类
1.把用户的代码保存为文件2.编译代码,得到class文件3.执行代码,得到输出结果4.收集整理输出结果5.文件清理6.错误处理
java程序异常情况
执行超时
占用内存
读文件
写文件
运行文件
执行高危操作下面代码争对上面问题一一解决
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798 ...
微服务高级
微服务高级微服务保护雪崩问题微服务中,服务间调用关系错综复杂,一个微服务往往依赖于多个其它微服务。
如果服务提供者I发生了故障,当前的应用的部分业务因为依赖于服务I,因此也会被阻塞。此时,其它不依赖于服务I的业务似乎不受影响。但是,依赖服务I的业务请求被阻塞,用户不会得到响应,则tomcat的这个线程不会释放,于是越来越多的用户请求到来,越来越多的线程会阻塞,服务器支持的线程和并发数有限,请求一直阻塞,会导致服务器资源耗尽,从而导致所有其它服务都不可用,那么当前服务也就不可用了。那么,依赖于当前服务的其它服务随着时间的推移,最终也都会变的不可用,形成级联失败,雪崩就发生了。
雪崩问题解决方案解决雪崩问题的常见方式有四种:
超时处理超时处理:设定超时时间,请求超过一定时间没有响应就返回错误信息,不会无休止等待(用的很少了)
仓壁模式仓壁模式:限定每个业务能使用的线程数,避免耗尽整个tomcat的资源,因此也叫线程隔离。
断路器(降级熔断)断路器模式:由断路器统计业务执行的异常比例,如果超出阈值则会熔断该业务,拦截访问该业务的一切请求。
当发现访问服务D的请求异常比例过高时,认为服务D有导 ...
微服务
微服务什么是微服务一种良好的分布式架构方案 用于解决大型企业项目开发高耦合的问题优点:拆分粒度小,服务独立,耦合度低缺点:架构复杂,运维,监控,部署难度高
微服务结构
微服务技术对比
值得注意的是:feign定义的接口风格依然是以前的restful风格而dubbo协议定义的接口风格是不同的dubbo风格
springcloud与springboot版本兼容
服务远程调用(服务之间发送HTTP请求)基于RestTemplate发起http请求
1234567891011//1.在配置类(可以是启动类)中声明RestTemplate bean对象交给IOC@Bean public RestTemplate restTemplate(){ return new RestTemplate(); };//2.注入依赖@Autowiredpricate RestTemplate restTemplate;//3.发起请求//ex为get请求,并且指定返回的json数据封装为User.class对象,如果发送post请求则为postForObjec ...
algorithm_java_notebook
algorithm_java_notebook ==~~java====小tips==求某个数的整数部分/小数部分(int)强制转换得到整数部分->转换为String 用.length()方法可以获取整数位数 小数用整数减一下即可
关于/1.被除数和除数皆为整型数据时如果是整型数据进行除法运算,那么得到的结果就是被除数除以除数的结果,其结果必然是整型数据.如果除不尽,会把得到的小数部分直接抹去,抹去的时候不要考虑四舍五入的规则
2.被除数和除数至少有一个为浮点型数据时在除法运算中,如果里面有浮点型数据参与的话,那么结果一定会是浮点类型的数据,计算数值的话就按照我们平常小数和整数之间的除法计算去进行计算即可。结果会保留小数部分.(所以最好在分子或者坟墓上加一个==(double)==强制转换)
打印小数点位数printf(“%.==2==f”,123.123);//结果123.12 显示两位小数 ...
javaweb
javawebweb前端开发(==接口文档模拟网站 yapi —可以自定义api接口供前端调用==)==html:超文本标记语言==123456789101112131415161718192021222324252627282930313233343536373839404142434445461·html标签不区分大小写2·html标签属性值单双引号都可3·html语法松散4.<img src = "绝对路径或者相对路径 ./代表当前目录(可以省略)(当前文件所在目录)../上一级目录" width = "(单位 px像素,%相对于父元素的百分比)" height = "">正文 5.<h1/6>标题</h>6.<hr>水平分割线7.<audio src = "url" controls = "controls(可以省略)">音频MP38.< ...
headnews-app
头条app效果演示
技术栈
Spring-Cloud-Gateway : 微服务之前架设的网关服务,实现服务注册中的API请求路由,以及控制流速控制和熔断处理都是常用的架构手段,而这些功能Gateway天然支持
运用Spring Boot快速开发框架,构建项目工程;并结合Spring Cloud全家桶技术,实现后端个人中心、自媒体、管理中心等微服务。
运用Spring Cloud Alibaba Nacos作为项目中的注册中心和配置中心
运用mybatis-plus作为持久层提升开发效率
运用Kafka完成内部系统消息通知;与客户端系统消息通知;以及实时数据计算
运用Redis缓存技术,实现热数据的计算,提升系统性能指标
使用Mysql存储用户数据,以保证上层数据查询的高性能
使用Mongo存储用户热数据,以保证用户热数据高扩展和高性能指标
使用FastDFS作为静态资源存储器,在其上实现热静态资源缓存、淘汰等功能
运用Hbase技术,存储系统中的冷数据,保证系统数据的可靠性
运用ES搜索技术,对冷数据、文章数据建立索引,以保证冷数据、文章查询性能
阶段一:app端文章查看, ...
hexo_butterfly搭建博客
简单回顾一下blog制作流程(电脑版本为windows11)
配置blog基本框架参考教程CSDN https://blog.csdn.net/sinat_37781304/article/details/82729029
静态框架 hexo作用:方便生成静态网页托管在github与coding上搭建步骤:1.安装git(分布式控制管理系统),多用于处理项目版本管理,git bash 用处相当于cmd2.安装nodejs(hexo基于nodeJS编写),包括nodeJS,npm工具3.安装hexo,注意:创建好的blog folder在hexo init myblog时,新建的myblog的指向blog folder的路径已经确定,所以一般不要随意改动blog的路径和文件夹名。完成以上操作在本地就搭建好基本的blog框架。
123几点提醒:1.git nodejs hexo安装时尽量去找相关教程。2.参考教程每一步提供了检验方法。
github部署1.创建账号,拥有个人仓库2.SSH,上传公共密钥到github,当公共密钥与私人密钥匹配时,即可通过git上传文件到github3.将h ...
基于机器学习的人脸口罩识别核酸检测大系统
基于机器学习的人脸口罩识别核酸检测大系统人脸识别(基于opencv python实现)识别有没有戴口罩123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105# 需要注意的是:训练模型是基于haarcascades 需要自己去下载一下"""# File : mask_check.py# Time :2021/6/10 15:02# Author :Meng# version :python 3.10# Description:"""import cv2 # 导入opencvimport time # 导入 ...
教育辅助系统demo
教育辅助系统demo项目结构
总结该项目是用于完整学习spring SSM 以及一些web相关工具和jar包的学习项目 学习成功可见于javaweb中 这里仅做成功展示 后期代码也会放到github上
成果展示
本地搭建DNS服务器(同时支持设置TTL 响应A CNAME NS MX请求格式)
本地搭建DNS服务器(同时支持设置TTL 响应A CNAME NS MX请求格式)(基于python实现)12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418 ...