
Web应用开发
Daemon在路上
我是Daemon,一起打怪升级吧,私信一般都会回~
展开
-
解析mongoDB中使用投影剔除额外字段
简介实际开发过程中,为便于开发人员定位问题,常存在多个额外的字段。例如:增加createdAt、updatedAt字段以查看数据的创建和更改时间。而对于客户端而言,无需知道其存在。针对以上情况,本文详细介绍了“额外”字段的用途以及处理过程。技术栈mongodb 4.0.20mongoose 5.10.71 "额外"字段是什么1.1 "额外"是指与业务无关mongodb中,collection中存储的字段并不仅仅有业务字段。有些情况下,会存储多余的字段,以便于开发人员定位问题、扩展.原创 2021-01-09 22:26:30 · 766 阅读 · 0 评论 -
主键生成策略
1.数据库管理系统自增长主键策略优点:简单,不需要程序特别处理。字段长度小,占用存储空间小,无论是在内存还是硬盘上。类型为数字类型,方便内部的比较和排序,对于查找有优势。如果同时也将其建立为聚集索引,那么其他列上的非聚集索引所需存储的内容会更少。由于其顺序增长,磁盘碎片少。缺点:这种方法对以后如果项目移植到其他数据库上改动会比较大,oracle和db2采用Sequence,mysql和sqls...转载 2019-11-24 16:23:21 · 222 阅读 · 0 评论 -
win下安装kafka服务以及asp.net的应用
0、新的开端交作业啦,由于项目需要和其他软件对接,将导出的文件正确传递给展示软件,最终确定借助kafka进行消息传递。而实习期间用过阿里爸爸的metaq,重任就交在我肩上啦~闷头做了4天,终于从0到1搭建好kafka服务啦,可以正常的收发消息~一、准备a.安装kafka直接登Oracle官网,选择二进制文件,随便找个镜像下载。具体安装过程参考Win10下kafka简单安装及使用最新版...原创 2019-11-12 20:34:18 · 223 阅读 · 0 评论 -
apache bench安装问题:出现 AH00072: make_sock: could not bind to address [::]:443
一、更改apache/conf/httpd.conf文件首先把解压后的文件放在根目录下,如G:\Apache24首要更改httpd.conf文件:1、更改srvrroot,设置成当前的根目录Define SRVROOT "G:/Apache24"ServerRoot "${SRVROOT}"2、更改端口号,80端口号已经被占用,更改成8088,注意listen 80 和ServerN...原创 2019-05-13 11:29:50 · 848 阅读 · 0 评论 -
apache bench测试分析:QPS/TPS、并发数、响应时间
一、ab -n 100 -c 4 http://www.taobao.com/本次测试发送了100个请求,成功了100个,表明taobao.com没有对其进行防范。对比baidu.com,发送了100个,只能成功3个。apache bench除了对于web的常见指标进行分析以外,还列出了网络环境中连接、处理、等待的时间,目的是结合响应时间,排除网络的因素。猜想:实际响应时间 = 响应时间(...原创 2019-05-13 16:54:51 · 4387 阅读 · 0 评论 -
技术储备(一):CGI介绍
通用网关接口(CGI,Common Gateway Interface)是一种Web服务器和服务器端编程进行交互的方式。CGI完全独立于编程语言,操作系统和Web服务器。目前,它是最常见的服务器端编程技术,几乎每一个Web服务器都支持。此外,所有服务器用几乎同样的方式实现它,这样你可以为一个服务器编写CGI脚本,然后分发到任何Web服务器上运行。就像上面说的,服务器需要一种方法来知道哪些URL映...转载 2019-05-30 20:06:08 · 1042 阅读 · 0 评论 -
技术储备(二):http请求报文和响应报文
一、GET和POSThttp常用请求分为两种方式:GET和POST。浏览器向服务器发送http请求报文格式为:请求行+请求头部+空白行+(请求数据)注意:1、请求数据只有在POST时才有,在请求头部有一字段,Content_Length表示请求数据的长度。GET方式没有请求数据,http请求报文以空白行结尾。2、使用GET时数据附加在URL后面,和URL以?分开,各个变量之间以&...原创 2019-05-31 20:39:10 · 372 阅读 · 0 评论 -
DEBUG(一):解决execl(path,NULL)执行出错
源码段if (pid == 0) /* child: CGI script */ { char meth_env[255]; char query_env[255]; char length_env[255]; dup2(cgi_output[1], 1); dup2(cgi_input[0], 0); close(cgi_output[0]); close(...原创 2019-05-30 20:01:37 · 830 阅读 · 2 评论 -
解决webx项目启动时提示 No plugin found for prefix 'jetty' in the current project and in the plugin group错误
一、创建webx项目按照网上的教程创建webx项目时,采用的命令如下:mvn archetype:generate -DgroupId=com.alibaba.webx -DartifactId=tutorial1 -Dversion=1.0-SNAPSHOT -Dpackage=com.alibaba.webx.tutorial1 -DarchetypeArtifactId=archetyp...原创 2019-06-15 13:35:28 · 2399 阅读 · 0 评论 -
maven内部运行原理解析
一、pom和lifecycle的分析、plugins和goals绑定https://www.jianshu.com/p/0fb5e3fb704d二、依赖管理,effective-pom输出分析https://www.jianshu.com/p/2f7080a4858c原创 2019-06-15 18:50:07 · 380 阅读 · 0 评论 -
tomcat热部署
一、何为热部署目的:少应用程序打包和发布的时间。当一个应用发布在tomcat或者Jboss等容器上时,如果应用程序升级,此时不需要关闭和启动服务器,只需要加载更新之后的jar/war包,就可以更新应用程序。做法:这是Java应用程序是使用classLoader来加载的,在有升级后的应用后,服务器会断开与旧的应用程序的连接,和新的应用重新建立classLoader连接。此时不会影响其他应用的正常...原创 2019-06-16 22:23:04 · 505 阅读 · 0 评论 -
application context not configured for this file于spring框架使用中的原因
setting->project module->给工程添加spring,并且配置context文件,选择resources->applicationContext.xml转载:https://blog.youkuaiyun.com/YangJiaJun0506/article/details/79302364转载 2019-06-23 20:50:35 · 1033 阅读 · 0 评论 -
解决git提示Permission denied (publickey)
在linux装完git,然后clone github的项目时出问题,报以下错误。Permission denied (publickey). fatal: Could not read from remote repository. Please make sure you have the correct access rights Permission denied (pub...转载 2019-08-13 09:54:18 · 2522 阅读 · 0 评论 -
windows + web性能测试工具对比
web压力性能测试工具对比apache bench优点:使用单线程程序,只占用一个CPU,可以用作快速测试工具。缺点:不能用作严格的测试,往往跑ab的测试机负荷满了,而服务器应用的性能还绰绰有余。...原创 2019-05-13 11:19:41 · 1061 阅读 · 0 评论 -
解读NAT网络穿透(二):NAT类型检测
根据https://blog.youkuaiyun.com/vainfanfan/article/details/90269554,NAT类型有四种:完全锥形、IP限制锥形、端口限制锥形、对称。stun服务器检测nat类型的过程:检测过程1.检测是否在NAT之后或者UDP socket是否阻塞向IP1:PORT1发送数据包,要求IP1:PORT1返回数据包源地址和端口号,同时设置socket tim...原创 2019-05-17 11:24:13 · 6634 阅读 · 0 评论 -
IIS10.0打开网站提示HTTP 错误 500.19 - Internal Server Error
遇到的问题提示的问题在于权限不足无法获取配置文件web.config 第一次遇到这种错误,去百度了一下,找到了解决方案,原因在于解决方案的权限设置解决方案:权限设置打开网站在的上一层目录,即解决方案的文件夹,那么就右击选择它的属性,打开“安全”选项卡,看到“组或用户名”,单击“编辑”按钮添加一个新的用户名“Everyone”,然后更改它的权限,设置具有允许的权限参考链...原创 2018-06-13 20:54:37 · 15779 阅读 · 3 评论 -
思考及解决:使用ViewModel时 打开web服务器时 HTTP:404 您正在查找的一个资源或者它依赖项被消除
一、问题刚打开web服务器时报这个错误 调试了一下,是在启动项中有问题。我的routeconfig是: name: "Default", url: "{controller}/{action}/{id}", defaults: new { controller = "Login", ac...原创 2018-06-20 11:24:33 · 10322 阅读 · 0 评论 -
Web登录登出:Session应用原理及实现
Session介绍Session是在.Net在协议传输过程中,由于http协议不包含状态,而做的补充。Session本质是一个id-value的哈希表,是id和值映射的表结构。它保存在服务器内存中,大量数据会导致内存占满,一般携带数据量不大。Session原理先一张图,做简要说明 Session通常和Cookie协作发挥作用,Cookie是存在客户端浏览器中的。那是怎样发挥作...原创 2018-07-18 20:29:41 · 4547 阅读 · 0 评论 -
MVC创建 WEB初启动时:分析器错误,未能加载类型XXX.MvcApplication
新建一个MVC项目,第一次启动时出现了这样的问题 解决方法: 提示是Global.asax.cs文件下第一行出现错误,屏蔽之后,rebulid再重新运行,就正常了。如果再把屏蔽去掉,仍然可以正常运行!真是奇怪的一个问题...原创 2018-07-06 16:28:23 · 5846 阅读 · 2 评论 -
web后台:Ajax请求页面response.sendRedirect重定向失败
Ajax只是利用脚本访问对应url获取数据而已,不能做除了获取返回数据以外的其它动作了。所以浏览器端是不会发起重定向的。 1)正常的http url请求,只有浏览器和服务器两个参与者。浏览器端发起一个http请求,服务器端处理后发起一个重定向,浏览器端从response中获取到重定向地址,发起另一个http url请求。也就是说,浏览器会按照response中的内容进行响应(如重定向),这是浏...转载 2018-07-20 09:31:43 · 2221 阅读 · 0 评论 -
C#问题:System.NullReferenceException:未将对象引用设置到对象的实例
遇到过好多次了,c#上是小鸟向中鸟进阶阶段,这个小问题绝对不放过! 出现它是由于引用的对象是null或empty导致 声明变量时:(T表示类) T a = null; 此时在栈上有一个地址。地址占4个字节,但地址没有任何指向,即指向内容为空 如果调用T的成员函数,出错:未将对象引用设置到对象实例 参考链接:https://www.cnblogs.com/cyq1162/archive/...原创 2018-08-23 11:34:33 · 57962 阅读 · 5 评论 -
List 自定义对象 contains用法
实际应用描述: 自定义的部门类:部门编号,部门名称,部门人数,部门负责人编号等 要求:比较两个对象,如果部门名称相等,其他可相等可不相等,则表示两个对象相等解决思路: 重载Equals函数,对传入参数类型判断,如果是同类型,则只比较某一成员是否相等即可 //比较相等:部门名称 public bool Equals(DEPTINFO para) { ...原创 2018-09-05 10:42:17 · 2300 阅读 · 0 评论 -
了解WebRTC序:写在前面
使用WebRTC的背景最近项目上有一个网页与网页端通信功能,用户可以在浏览器上与其他用户聊天,语音或者视频(类似于网页版的qq)。在查阅了许多资料之后,找到webRTC(web实时通信技术)是当前主流的网页通信手段。webRTC主要特点1.捕捉用户麦克风和摄像头 2.实现视频和音频的高质量传输 3.在浏览器中建立连接并管理 4.处理传输过程中数据包丢失等问题...原创 2018-09-11 19:42:36 · 145 阅读 · 1 评论 -
了解WebRTC之一:SignalR实现信令服务器
一、信令服务器是什么?作为webRTC中极为重要的一部分,会话管理需要建立服务器端与客户端之间的连接。 有人就问了:webRTC建立的是点对点连接,流数据是从浏览器直接传输到另一个浏览器,不需要服务器周转,怎么还需要建立服务器端与客户端连接呢? 这是个很好的问题!尽管webRTC建立的是P2P连接,但由于流数据传输需要一条信道,而这个信道则是由信令服务器提供的。而在webRTC中并没有这一...原创 2018-09-11 21:04:58 · 7473 阅读 · 1 评论 -
c# Dictionary从源码出发比较自定义对象
一、应用背景项目中,需要将所有的计划信息加入服务器维护的静态字典对象中,结构为Dictionary二、现象思考使用Dictionary自带的函数ContainsKey比较时,会将所有的新对象都加入,即时自定义对象中各项的值都与字典中某一项相同,这是怎么回事呢?这时回到ContainsKey的源码思考了~ 字典是如何对键值进行比较的呢?三、理解hash算法在字典的结构中,键和值...原创 2018-09-12 17:09:44 · 517 阅读 · 0 评论 -
apache bench+python脚本压测统计TPS和延迟
一、系统的瓶颈压测的目的就是跑垮系统,达到系统承受最大值。本次压测考虑的方面:1、CPU利用率、磁盘IO利用率2、达到系统瓶颈后,再次增大并发和最大连接数吞吐量和延迟反而会下降3、压测的机器选择,我是在服务器本机上跑的,这会使得压测程序占用一部分CPU,网络延迟几乎为0;而在笔记本上跑,网络延迟占很大部分。二、python脚本关于ab的参数分析在上一篇文章中介绍了,网上关于ab都是基于...原创 2019-05-15 22:40:18 · 1043 阅读 · 0 评论 -
解读NAT网络穿透(一)
一、NAT是什么,解决什么问题解决问题:由于公网地址不够用,并且我们国家分到的公网IP地址太少了,于是产生了NAT技术(network address translation)NAT是将私网IP地址转换为公网IP地址,本质就是让一群机器公用同一个IP,这样就暂时解决了IP短缺的问题。私网机器在公网上存在的形式为 公网IP地址:端口号即NAPT(Network Address/Port Tra...原创 2019-05-16 18:36:36 · 3424 阅读 · 0 评论 -
VS创建Web项目:本地IIS浏览网页显示403.14错误
VS搭建网站详细链接:https://pan.baidu.com/s/1yPNDSGNoTI_ERxi5HTLLtQ 密码:15hr遇到的问题:IIS服务器浏览网站时显示403.14错误解决方案:方案一:将VS2015发布项目到本地IIS服务器上发布是将解决方案整体打包,发布到服务器上。发布教程:https://www.cnblogs.com/leijing0607/p/6673603.html方...原创 2018-03-15 10:19:31 · 2085 阅读 · 0 评论