
nginx反向代理之将80端口请求转发到8080
先来理解一波概念,什么是nginx反向代理?反向代理的意思是以代理服务器(这里也就是nginx)来接收网络上的请求,也就是url(默认是80端口),1,nginx通过对url里面的一些判断(转达规则配置在nginx配置文件中),比如端口号(nginx默认是80)有可能是对二级域名来判断比如test1.baidu.com,test2.baidu.com,这...
2024-01-10
如何使用docker部署前端应用的方法步骤
docker 变得越来越流行,它可以轻便灵活地隔离环境,进行扩容,方便运维管理。对开发者也更方便开发,测试与部署。最重要的是, 当你面对一个陌生的项目,你可以照着 Dockerfile,甚至不看文档(文档也不一定全,全也不一定对)就可以很快让它在本地跑起来。现在很强调 devops 的理念,我把 devops ...
2024-01-10
laravel手动创建数组分页的实现代码
本文介绍了laravel手动创建数组分页的实现代码,分享给大家,具体如下:laravel分页功能:有几种方法可以对数据进行分页。最简单的是在 [查询语句构造器] 或 [Eloquent 查询] 中使用 paginate 或 simplePaginate 方法。paginate用法如下://控制器中$users = DB::table('users')->paginate(15);return view('user.index', ['users' ...
2024-01-10
详解TypeScript2.0标记联合类型
目录使用标记的联合类型构建付款方式使用标记联合类型构建 Redux 操作never 类型永不返回的函数不可能有该类型的变量never 和 void 之间的区别函数声明的类型推断使用标记的联合类型构建付款方式假设咱们为系统用户可以选择的以下支付方式建模Cash (现金)PayPal 与给定的电子邮件地址Credit card 带有...
2024-01-10
js基于canvas实现时钟组件
canvas一直是前端开发中不可或缺的一种用来绘制图形的标签元素,比如压缩上传的图片、比如刮刮卡、比如制作海报、图表插件等,很多人在面试的过程中也会被问到有没有接触过canvas图形绘制。定义canvas元素用于图形的绘制,通过脚本 (通常是JavaScript)来完成。canvas标签只是图形容器,您必须使用...
2024-01-10
Vue使用轮询定时发送请求代码
一、什么是轮询?轮询(Polling)是一种CPU决策如何提供周边设备服务的方式,又称“程控输出入”(Programmed I/O)。轮询法的概念是,由CPU定时发出询问,依序询问每一个周边设备是否需要其服务,有即给予服务,服务结束后再问下一个周边,接着不断周而复始。 在WEB上来说就是客户端一直向服务端...
2024-01-10
基于Listener监听器生命周期(详解)
一、Listener生命周期listener是web三大组件之一,是servlet监听器,用来监听请求,监听服务端的操作。listener分为:(都是接口类,必须实现相应方法)1.生命周期监听器(3个)ServletContextListener requestDestroyed 在容器启动时被调用(在servlet被实例化前执行)requestInitialized 在容器销毁时调用(在servlet...
2024-01-10
浅谈Java堆外内存之突破JVM枷锁
对于有Java开发经验的朋友都知道,Java中不需要手动的申请和释放内存,JVM会自动进行垃圾回收;而使用的内存是由JVM控制的。那么,什么时机会进行垃圾回收,如何避免过度频繁的垃圾回收?如果JVM给的内存不够用,怎么办?此时,堆外内存登场!利用堆外内存,不仅可以随意操控内存,还能提高...
2024-01-10
Java运行环境搭建的图文教程
1.Java运行环境搭建,对于初学者来说,主要下载安装jdk即可,windows操作系统再配合记事本,即可进行java程序开发。后续的学习以及工作中需要使用IDE工具进行开发,常用IDE工具是eclipse、myeclipse等。2.jdk是啥?Java Development Kit,Java开发工具包。详情见百度百科。jdk9已经发布了,但是工作中常用的是jdk1....
2024-01-10
深入浅出的学习Java ThreadLocal
前言ThreadLocal为变量在每个线程中都创建了一个副本,所以每个线程可以访问自己内部的副本变量,不同线程之间不会互相干扰。本文会基于实际场景介绍ThreadLocal如何使用以及内部实现机制。应用场景Parameter对象的数据需要在多个模块中使用,如果采用参数传递的方式,显然会增加模块之间的耦合...
2024-01-10
浅析Spring配置文件
Spring的配置文件概述简介Spring的配置文件是用于指导Spring工厂进行Bean生成、依赖关系注入及Bean示例分发的”图纸”,他是一个或多个标砖的XML文档,J2EE程序员必须学会灵活应用这份”图纸”,准确的表达自己的”生成意图”。Spring配置文件的示例Spring配置文件的一般结构Spring容器高层视图Spring容...
2024-01-10
JAVA冒泡排序和二分查找的实现
冒泡排序 冒泡排序(Bubble Sort),看到这种算法,我就想起一句话“小数上浮,大数下沉”,通过层层的比较使小数浮出水面,而使大数“石沉水底”。从而达到排序的效果。冒泡排序是一种简单的排序算法。它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来...
2024-01-10
eclipse配置javap命令的方法
javap命令常用来对java类文件来进行反编译,主要用来对java进行分析的工具,在学习Thinking in Java时,由于需要对类文件反编译,以查看jvm到底对我们写的代码做了哪些优化和处理,比如我看的使用+=对字符串进行拼接时,jvm的处理方式。废话不多说,下面直接带上配置的教程:点击菜单栏 Run ---> External ...
2024-01-10
java ant 配置及构建项目图文教程
Ant是一种基于Java的构建工具。Ant文件是配置构建目标过程的XML文件,也称为Ant脚本。(因为对这个不是很了解,所以用词方面可能于个人的理解有偏差,谢谢指出)如何配置Ant工具呢?下面分步骤说明:1. 下载一个java ant 开发工具,解压到相应的磁盘 例如版本:apache-ant-1.8.2-bin.tar.zip;已上传资...
2024-01-10
探索低版本 .Net 反序列化实现 Exchange RCE
作者:EazyLov3本文为作者投稿,Seebug Paper 期待你的分享,凡经采用即有礼品相送!投稿邮箱:paper@seebug.org0x10 起因近期在众所周知的活动中,各种漏洞利用花样不断,值得好好复盘一番。其中一位蓝方朋友负责的Exchange Server 2010沦陷引起了我的兴趣,因为日志被删没有第一时间找到入侵方法,对比备...
2024-01-10
JAVA JNDI 注入知识详解
作者: 天融信阿尔法实验室 原文链接:https://mp.weixin.qq.com/s/TJTOh0q0OY-j6msP6XSErg 一、前言在漏洞挖掘或利用的时候经常会遇见JNDI,本文会讲述什么是JNDI、JNDI中RMI的利用、LDAP的利用、JDK 8u191之后的利用方式。二、JNDI简介JNDI(The Java Naming and Directory Interface,Java命名和目录接口)是一组在Java应用中访问...
2024-01-10
怎么让vim中的C++语法提示兼容C++11
像上图这样的情况,每次使用C++11的新特性,都会出个提示。请问怎么让vim的语法提示兼容C++11?这个提示功能是自带的还是插件的功能?插件,我装了YCM。回答:let g:syntastic_cpp_compiler_options = ' -std=c++11 -stdlib=libc++'...
2024-01-10
Linux 按了Ctrl+z之后怎么恢复会话
学习trap命令的时候写了个shell然后在命令行模式下运行期间,按了Ctrl+z现在要怎么才能回到正常输入命令的状态呢?回答:jobs命令列出当前任务fg 任务号放前台,bg 任务号放后台。补充:对于有循环有sleep的脚本,ctrl+z应该是停在sleep处了,fg放前台后任务也立即结束。方法就是启动任务时直接放后台...
2024-01-10
node调用linux命令报错,如下图和代码
代码cnpm install child_process --save//index.jsconst { spawn } = require('child_process');const ls = spawn('ls', ['-lh', '/usr']);ls.stdout.on('data', (data) => { console.log(`stdout: ${data}`);});ls.stderr.on('data', (data) => { console.log(`stderr: ${dat...
2024-01-10
vscode如何在iterm2中快捷打开报错文件
通过command+鼠标左键点击报错的文件路径,可以直接在vscode中打开该文件,之前有看到过一次这种配置,但是怎么都找不到了 ?回答:打开iTerm2的配置项在Pointer里勾选⌘-Click opens filename/URL (semantic history)然后切到Profiles,在Advanced里找到Semantic History,改成Open with editor,选择VS Code,然后就可以用⌘+鼠标左...
2024-01-10
