最新文章
Express 是一个基于 Node.js 的 web 应用程序框架,它提供了一系列强大特性来简化 web 应用的开发,其中路由系统是其核心组件之一。Express 的路由允许你定义如何响应客户端对不同 URL 和 HTTP 方法(如 GET、POST 等)的请求。下面是一些基础概念和使用示例:
基础路由设置
在 Express 中,你可以直接在应用级别定义路由,或者通过 express.Router 创建模块化的、可重用的路由处理器。
应用级别路由
const express = require('express');
const app = express();
// 定义一个 GET
如果你想不使用Express生成器从零开始手动创建一个Express应用,这也是完全可以的。下面是一个基本的手动设置步骤:
1. 初始化项目和安装Express
首先,在你希望存放项目的文件夹下,打开终端或命令提示符,初始化一个新的Node.js项目,并安装Express作为依赖:
mkdir myManualExpressApp
cd myManualExpressApp
npm init -y
npm install express
2. 创建服务器
在项目根目录下,创建一个名为app.js的文件,这将是你的应用程序的主要入口点。打开这个文件,然后输入以下代码来设置一个基本的Expre
Express 是一个开源的、基于 Node.js 的 web 应用开发框架,由 TJ Holowaychuk 创建并由 StrongLoop(现属于 IBM)维护。它是 Node.js 生态系统中最为广泛使用的 web 框架之一,特别适合构建单页应用、RESTful API 以及任何规模的 web 服务。
核心概念
1. 路由(Routing)
Express 提供了强大而灵活的路由系统,允许开发者定义端点(Endpoints)来处理不同类型的 HTTP 请求(GET、POST、PUT、DELETE 等)。这使得构建 RESTful 风格的 API 成为可能,同时保持代码结构清晰和易于理解。
最近开始学习 Nodejs ,但是机子上已经有了 apache ,所以为了跑 Node ,要不就是停用 Apache 以使 Node 可以使用 80 端口,要不就是给 Node 使用另外的端口号,例如:8080,虽然,在本机上可以这么访问,但是如果放在公网上,让用户可以访问的话,如果不使用 80 端口,看起来总是不像一个可以实际使用的网站。可是如果 Node 使用 80 端口的话,就只能停掉 Apache 的网站,两者不能兼顾。那么有没有方法可以使 Node 和 Apache 在一个服务器上同时提供服务,并且都只使用域名而不用加端口号访问呢?答案是肯定的!
那么就来看,如何实现:
微软2019年底,发布了一篇文章:0.08%的RDP暴力破解能够成功https://www.microsoft.com/security/blog/2019/12/18/data-science-for-cybersecurity-a-probabilistic-time-series-model-for-detecting-rdp-inbound-brute-force-attacks/此外,暴力破解平均持续2-3天,约90%的案例中攻击会持续1周或更少的时间,不到5%的案例会持续2周或更久。约0.08%的RDP暴力破解最后能够成功。研究人员收集了失败和成功的RDP登录事件的详细信息,Win
使用批处理命令即可实现备份,跟windows系统的任务计划搭配使用,可以做到定时自动备份。地中,方法2可以不关闭数据库备份。1、复制date文件夹备份============================假想环境:MySQL 安装位置:C:\MySQL论坛数据库名称为:bbs数据库备份目的地:C:\db_bak\============================新建db_bak.bat,写入以下代码*******************************Code Start*****************************
net stop mysql
netstat 命令用于显示各种网络相关信息,如网络连接,路由表,接口状态 (Interface Statistics),masquerade 连接,多播成员 (Multicast Memberships) 等等。常见参数-a (all)显示所有选项,默认不显示LISTEN相关
-t (tcp)仅显示tcp相关选项
-u (udp)仅显示udp相关选项
-n 拒绝显示别名,能显示数字的全部转化成数字。
-l 仅列出有在 Listen (监听) 的服务状态
-p 显示建立相关链接的程序名
-r 显示路由信息,路由表
-e 显示扩展信息,例如uid等
-s 按各个协议进行统计
-c 每隔一个固定时
列出 git 的常用命令:git init # 初始化本地git仓库(创建新仓库)
git config --global user.name "xxx" # 配置用户名
git config --global user.email "xxx@xxx.com" # 配置邮件
git config --global color.ui true # git status等命令自动着色
git config --global color.status auto
git config --global color.diff auto
git con
相等运算符: ==、 !=如果两个表达式的类型不同,则尝试将它们转换为字符串、数字或布尔值。NaN 与包括其自身在内的任何值都不相等。负零等于正零。null 与 null 和 undefined 相等。以下情况被认为是相等的:相同的字符串,数值上相等的数字,同一对象,相同的布尔值,或者当类型不同时可以被强制转换为上述情况之一的值。其他比较都被认为是不等的。恒等运算符: ===、 !==这些运算符的行为与相等运算符的行为相同,只不过不会执行类型转换。 如果两个表达式的类型不相同,则这些表达式始终返回 false
Cookies 是一种存储在用户本地终端(如浏览器)上的小型文本文件,用于保存用户的一些信息。它们是 Web 开发中非常重要的工具之一,主要用于以下目的:
用户身份验证:通过保存登录状态来识别用户。
用户偏好设置:保存用户的网站偏好,比如语言选择或布局偏好。
购物车功能:在电子商务网站上保存用户的购物车项目。
浏览记录:帮助追踪用户的浏览行为以便提供个性化内容。
Cookies 的组成
一个 Cookie 由键值对组成,其中包含了一些有用的信息,比如:
Name:标识 Cookie 的名称。
Value:与名称对应的值。
Expires/Max-Age:Cookie 的过期时间或者过期时
httpd.conf中,加载模块:
把 LoadModule status_module modules/mod_status.so 这句加上,如果前面有带#号,开启的话,需要将#去除,并加入:
location /server-status
SetHandler server-status
Order Deny,Allow
Deny from all
Allow from localhost
/location
ExtendedStatus On
这是一个完整的ser
Apache针对不同的操作系统提供了多个不同的MPM模块,例如:mpm_beos、mpm_event、mpm_netware、mpmt_os2、mpm_prefork、mpm_winnt、mpm_worker。 如果条件允许,我们可以根据实际需求将指定的MPM模块编译进我们自己的Apache中(Apache的源码是开放的,允许用户自行编译)。
修改MPM模块配置
在对Apache的MPM模块具备一定了解后,我们就可以针对不同的MPM模块来修改Apache的最大并发连接数配置了。
1.启用MPM模块配置文件
在Apace安装目录/conf/extra目录中有一个名为httpd-mp
JavaScript不管是判断PC浏览器还是手机浏览器,都是通过User Agent 来判断, 腾讯网的适配代码. script type="text/javascript"
if(/AppleWebKit.*Mobile/i.test(navigator.userAgent) || (/MIDP|SymbianOS|NOKIA|SAMSUNG|LG|NEC|TCL|Alcatel|BIRD|DBTEL|Dopod|PHILIPS|HAIER|LENOVO|MOT-|Nokia|SonyEricsson|SIE-|Amoi|ZTE/.test(navigator.u
配置VirtualHost一,概念 下面是两个概念(注意区分大小写): bps ( bits per second ) 位/秒 一般用作传输速率 Bps ( bytes per second ) 字节/秒 一般用作显示速度1Byte = 8*1bit (1字节=8字位) 而我们通常所讲的2M带宽、10M带宽,一般是指10Mbit (10Mbps) 官方文档上BandWidth的单位:BandWidth [From] [bytes/s]所以如果要限制某个虚拟主机的总带宽为1M,则: BandWidth all 131072 // (1024*1024) bps/8 = 131072 Bp
错误日志:160328 11:23:28 InnoDB: Initializing buffer pool, size = 45.0M160328 11:23:28 InnoDB: Completed initialization of buffer pool160328 11:23:28 InnoDB: Operating system error number 87 in a file operation.InnoDB: Some operating system error numbers are described atInnoDB: http://dev.mysql.c
MySQL报无法启动mysql服务 错误1067:进程意外中止,机器关机的时候没有正常关闭数据库,结果导致mysql日志文件损坏,重启之后无法正常恢复。在mysql的配置文件my.ini中添加 :innodb_force_recovery = 1 而关 于innodb_force_recovery参数,有6个参数 1. (SRV_FORCE_IGNORE_CORRUPT):忽略检查到的corrupt页。2. (SRV_FORCE_NO_BACKGROUND):阻止主线程的运行,如主线程需要执行full purge操作,会导致crash。3. (SRV_FORCE_NO_TRX_UNDO):不执
HKEY_CLASSES_ROOT\CLSID\{018D5C66-4533-4307-9B53-224DE2ED1FE6}
将 System.IsPinnedToNameSpaceTree 的值改为 0 即可
1、Rewirte主要的功能就是实现URL的跳转,它的正则表达式是基于Perl语言。可基 于服务器级的(httpd.conf)和目录级的 (.htaccess)两种方式。如果要想用到rewrite模块,必须先安装或加载rewrite模块。方法有两种一种是编译apache的时候就直接 安装rewrite模块,别一种是编译apache时以DSO模式安装apache,然后再利用源码和apxs来安装rewrite模块。
基于服务器级的(httpd.conf)有两种方法,一种是在httpd.conf的全局下直接利用RewriteEngine on来打开rewrite功能;另一种是在局部里利用Rewr
$('#delete_select').on('click',function(){
var ids = new Array();
$('input[name="article_ids[]"]:checked').each(function(){
ids.push($(this).val());
});
$('#iform_deleteArticle').children('input[name="ids"]').attr('value'
我们经常需要判断某个变量/属性是否为undefined。通常有两种写法// 方式1typeof age === 'undefined';// 方式2age === undefined这两种写法有什么区别吗? 应该使用哪一种呢?看看下面的例子typeof age === 'undefined'; // true标识符 age 没有声明过,输出true。再看另一个例子age === undefined; // 报错Firebug提示age is not defined,这就是两者的区别, 即不确定age是否声明或定义时用方式1,确定的则可以用方式2。使用方式1如果变
所有标签