发表于: 2025-05-22 20:45:57
0 49
今天完成的事情:(一定要写非常细致的内容,比如说学会了盒子模型,了解了Margin)
什么是ssh?如何在linux服务器上从网站下载文件?
SSH(Secure Shell)是一种网络协议,用于在不安全的网络中提供安全的数据通信、命令执行和文件传输。它通过加密的方式确保了数据的安全性,防止信息在传输过程中被窃听或篡改。SSH主要用于远程登录到计算机系统,并提供了对服务器的命令行访问权限。
在Linux服务器上从网站下载文件
在Linux服务器上从网站下载文件通常使用wget或curl命令。这两个工具都支持HTTP、HTTPS协议,允许你直接从Web下载文件到你的服务器。
使用 wget
wget是一个非交互式的网络下载工具,非常适合用于脚本中自动下载文件。基本用法如下:
wget [选项] [URL]
例如,要从一个网址下载一个文件,你可以这样做:
wget http://example.com/path/to/file.zip
如果你想下载整个网站或者递归下载目录,可以添加-r选项:
wget -r http://example.com/
使用 curl
curl是一个强大的命令行工具,用于从服务器传输数据或向服务器传输数据。它支持多种协议,包括HTTP、HTTPS、FTP等。与wget不同的是,curl默认将输出打印到标准输出(stdout),除非指定输出文件。使用示例如下:
下载文件并保存:
curl -O http://example.com/path/to/file.zip
下载文件并指定不同的保存名称:
curl -o myfile.zip http://example.com/path/to/file.zip
curl也可以用于查看网页内容、API响应等,因为它可以发送GET、POST请求等。
C标签是什么,为什么要使用C标签,有哪些常见的指令?
C标签是代码导航的“快捷键”,提升开发效率。
核心指令:ctags -R 生成,结合编辑器快捷键使用。
高效代码导航
无需手动搜索文件,直接跳转到函数/变量定义。
适用场景:
大型项目(如Linux内核、Redis源码)。
阅读第三方库代码。
什么叫反向代理?为什么要使用反向代理?
反向代理(Reverse Proxy) 是一种位于服务器端的代理服务器,代表后端服务器接收客户端请求,处理后返回响应。与正向代理(代表客户端访问外部资源)相反,反向代理是服务器端的代理,对客户端透明。
核心特征:
客户端无感知:用户直接访问反向代理,不知道后端真实服务器。
流量中介:代理接收请求,转发给后端服务器集群。
功能扩展:负载均衡、缓存、安全防护等。
Nginx的作用是什么,在WEB服务前端配置Nginx的好处是什么,除了Nginx,还有别的反向代理服务器吗?
Nginx的核心价值:高性能、多功能、易扩展,是Web架构的“瑞士军刀”。
前端配置Nginx的好处:提升性能、安全性、可维护性,同时降低后端复杂度。
替代方案:根据场景选择HAProxy(高可用)、Traefik(云原生)或Cloudflare(安全加速)。
为什么要用start.sh,stop.sh,deploy.sh 来完成容器的启动,停止和部署,而不是直接用容器自带的命令?
隐藏底层细节:将复杂的命令封装成简单指令(如 ./start.sh)。
标准化流程:确保团队所有成员使用相同的参数和流程。
减少人为错误:避免手动输入长命令时遗漏参数或拼写错误。
什么是Filter,什么是Interceptor,他们的区别是什么,和AOP又是什么关系?
Filter(过滤器)
作用:基于 Servlet 规范,对 HTTP 请求和响应进行预处理或后处理。
层级:运行在 Servlet 容器层(如 Tomcat),在 Servlet 之前执行。
功能:修改请求/响应内容(如字符编码、敏感词过滤)。权限控制(如拦截未登录请求)。生命周期:随 Web 应用启动而初始化。
2. Interceptor(拦截器)
作用:Spring MVC 提供的机制,拦截 Controller 的请求。
层级:运行在 Spring MVC 框架层,在 Controller 方法前后执行。
功能:记录请求日志。校验参数或权限。
生命周期:由 Spring 容器管理。
3. AOP(面向切面编程)
作用:通过动态代理,在 方法调用前后 插入通用逻辑(如事务、日志)。
层级:运行在 Spring 容器层,不依赖 Web 环境。
功能:事务管理(@Transactional)。性能监控(统计方法耗时)。
三者各司其职,共同构建灵活的分层拦截体系
使用Annotaion的时候需要有哪些配置,他的加载过程是怎么样的?
注解(Annotation)使用总结
配置要点
依赖管理:确保项目中包含必要的库依赖。例如,在Spring框架中,需要添加spring-context等相关的依赖。
启用注解支持:
在Spring中,可以通过@Configuration和@ComponentScan来启用基于注解的配置,并指定扫描的基础包。
对于其他框架或特定功能(如AOP、事务管理),可能还需要额外的注解或配置。
注解声明:根据需求在代码中正确使用注解。比如,使用@Service, @Repository, @Controller来标注服务层、数据访问层或控制器层的组件;使用@Autowired进行依赖注入等。
配置文件调整:有时需要修改框架特定的配置文件(如Spring的application.properties或XML配置文件),以适应基于注解的配置风格。
加载过程
编译期处理:某些注解可以在编译期间被处理,如Java自带的@Override注解。此外,APT(Annotation Processing Tool)等工具也可以在编译阶段生成额外的源文件。
类路径扫描:应用程序启动时,框架会自动扫描指定的基础包下的所有类,寻找带有特定注解的类。例如,Spring中的@ComponentScan指定了要扫描的包。
注册到容器:一旦发现带有适当注解的类,它们会被注册到IoC容器中,这意味着这些类的实例将由容器管理生命周期,并可通过依赖注入的方式提供给其他组件使用。
运行时解析:在运行时,框架可能会进一步解析注解以执行特定的行为。例如,Spring AOP可以根据方法上的@Transactional注解创建代理对象,实现事务管理等功能。
AOP与动态代理:如果涉及到面向切面编程(AOP),那么在运行时,框架可能会为带有特定注解的方法或类创建代理对象,以便插入横切关注点(如日志记录、事务管理等)。
明天计划的事情:(一定要写非常细致的内容)
遇到的问题:(遇到什么困难,怎么解决的)
收获:(通过今天的学习,学到了什么知识)
评论