自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(20)
  • 资源 (3)
  • 收藏
  • 关注

原创 windows安装node.js

1.下载安装NODE.JShttps://nodejs.org/en/download/选择相应的下载包我的电脑是windows 64位,故我选择了64位的压缩包。下载完成后,解压到相应的目录。我这里的解压的目录为:D:\Program Files\node-v10.16.3-win-x64同时在目录下新建两个文件夹留后续备用:node-globalnode-cache环境变...

2019-10-09 19:11:04 102

原创 nginx日志定期分割

项目已上线运营一段时间,今天登陆服务器查看服务的运营状况,发现一个nginx的日志越滚越大,而且nginx自身定时分割日志的功能,故查找相关的资料,编写一个shell,交给系统定时调用该任务执行。分割日志的sh文件内容如下:#!/bin/bash#此脚本用于自动分割Nginx的日志,包括access.log和error.log#每天00:00执行此脚本 将前一天的access.log重命名...

2019-10-09 18:07:55 107

原创 ubuntu命令行安装mysql补坑

安装mysql通过命令行安装:apt install mysql-serversudo apt install mysql-clientsudo apt install libmysqlclient-dev看似三行简单的命令就完成了,但是这里埋了一堆坑。同事就是按照这样的方式安装后,修改root用户远程访问,一直报access user root@localhost 失败。帮忙同事...

2019-10-09 17:58:51 234

原创 FastDFS+nginx搭建

FastDFS安装fastdfs的原理,百度随便搜一下就出来,而且基本是一样的内容,在此不再复述。这里只记录实践。下载安装包1.下载fastdfs安装包。下载地址:https://github.com/happyfish100/FastDFS我这里选择了fastdfs-5.11.tar.gz2.下载fastdfs的依赖包https://github.com/happyfish100/...

2019-08-14 11:44:01 128

原创 防范服务短信接口笔记

防范服务短信接口被恶意调用常见的网络攻击方式1.SQL注入2.XSS3.CSRF4.DDOS防范短信接口被恶意调用最近项目添加了短信功能,给特定用户推送短信。逐想到以前在的一个项目也有短信推送功能,那时未对接口进行IP以及推送号码进行限制防范,被恶意攻击者拦截短信接口并进行短信轰炸,周末两天时间就轰炸了3、4万条消息,直接被运营商投诉。当时最后的解决方案:http请求方式改为https,推送号码...

2019-07-22 16:14:24 155

转载 负载均衡知识整理

负载均衡最近感觉日子空乏,工作无味。为逃脱这种不进反退的状况,只好硬逼着自己学习和总结过往学习和了解到的知识点,通过写文章记录下来。做为技术人员,脑子不能有一刻空白,看着周遭都是拼劲前进的人,若有一刻松懈,就会被这个时代淘汰。首先转载一篇关于负载均衡总结比较详尽的文档:https://kb.cnblogs.com/page/188170/其内容如下:(一)简单理解四层和七层负载均衡:...

2019-07-17 15:06:53 223

原创 阿里云消息队列MQTT监听客户端状态

项目购买了阿里云消息队列MQTT,为了更好的监听客户端的在线状态,项目使用了MQTT的特性,异步监听客户端的在线状态。但是借鉴阿里云的官方文档,进展不顺利,提工单后,阿里云的客服回复文档说明有误。这里把在实现中遇到的问题记录下来。顺便在这里附上官方文档(当前最新的):RocketMQ:https://help.aliyun.com/product/29530.htmlMQTT:h...

2019-06-21 16:55:59 2615 2

原创 maven使用nexus3在windows下搭建私服

一、下载nexus3下载地址:https://www.sonatype.com/download-oss-sonatype这里下载的是nexus-3.15.2-01-win64.zip。二、解压将下载好的nexus解压到指定目录,这里我的解压路径为:D:\Program Files\nexus-3.15.2-01。三、启动服务1.命令行启动(注意该方式启动,关闭...

2019-04-11 22:53:49 324

原创 springboot集成redis缓存(一)

spring集成redis,已经使用好几年了,但是都没心思静下来好好整理一番。每次新项目成立,要集成redis的时候,都是直接从老项目将写好的工具类copy过来。要是碰到新换公司,就直接网上各种copy和search。至于其实现原理,由于年久已忘。随着年龄的增长,越加体会到技术的沉淀,还需要用破旧的笔头,一点点把它记录下来。现在就从这一刻开始,后面坚持更新总结相关的知识点了。前提本次工程基...

2019-01-11 01:14:57 221

原创 HTTP协议详解

http协议(Hypertext transfer protocol超文本传输协议)属于网络七层协议( 7 应用层 6 表示层 5 会话层 4 传输层 3 网络层 2 数据链路层 1 物理层 )中的第7层。(7、6、5、4)定义应用程序的功能,(3、2、1)面向通过网络的端到端的数据流。当前http协议版本号为1.1。 HTTP三点注意事项: 1.HTTP是无连接,限制每次连接只处理一个请求。

2017-11-02 00:03:51 175

原创 Thread的start方法。

看java多线程核心编程一书,有个例子不解其意。package controller;public class CountOperate extends Thread { public CountOperate(){ System.out.println("CountOperate---begin"); System.out.println("Thread.c

2016-10-01 19:56:42 454

原创 Java 多线程编程学习(一)

1.线程与进程的区别: 进程是受操作系统管理的基本运行单元,独享一份数据存储。 线程是进程中独立运行的小任务,线程相当于小型的“进程”,从进程分配到一份数据存储,但是不同于进程是,线程间可公用同一份数据存储。 2.java中的线程建立方式:(1)继承Thread类,(2)实现Runnable接口。 由于java的类继承是单继承方式,继承Thread类的方式来建立的弊端就在于不

2016-09-01 22:55:35 287

原创 JavaWeb Servlet

1.创建自定义servletpublic class Myservlet implements Servlet{@Overridepublic void destroy() { // TODO Auto-generated method stub System.out.println("destroy");}@Overridepublic void init(ServletCo

2016-03-06 14:41:55 316

翻译 Spring事务学习

事务管理是企业级应用程序开发中必不可少的技术, 用来确保数据的完整性和一致性. 事务就是一系列的动作, 它们被当做一个单独的工作单元. 这些动作要么全部完成, 要么全部不起作用 事务的四个关键属性(ACID)原子性(atomicity): 事务是一个原子操作, 由一系列动作组成. 事务的原子性确保动作要么全部完成要么完全不起作用.一致性(consistency): 一旦所有事务动作完成,

2016-01-06 22:32:34 284

原创 命令行编译运行java工程

平时建立java工程都是借助eclipse或intellij这些ide编辑器来构建,对于java工程的实际编译执行原理,从未了解过。作为一个曾经的C++程序员,对于源码刨根问底的那份执着从未丢过。于是今天就写了这样的一个例子进行测试。 1.首先建立个跟目录MyJavaTest。 2.建立第一个MyJavaTest\src\com\common\sayHellojava,代码如下:package

2015-12-16 23:51:08 3351

原创 Tomcat源码学习(一)

Tomcat为当今互联网最流行的web容器。 一、配置java_home环境变量,dos命令窗口到tomcat_home\bin目录下启动strat_up.dat脚本。 二、阅读star_up.dat脚本,发现其实际执行的是catalina.bat:rem Guess CATALINA_HOME if not defined set "CURRENT_DIR=%cd%" if not "%CAT

2015-12-13 12:10:16 258

转载 python super类的使用

在Python类的方法(method)中,要调用父类的某个方法,在Python 2.2以前,通常的写法如代码段1:代码段1:class A:def __init__(self):   print "enter A"   print "leave A"class B(A):def __init__(self):   print "enter B"   A.

2014-05-12 23:37:30 516

转载 BDD行为驱动开发笔录

传统的开发流程W模型,如图: 在W模型中,每一份项目文档,都对应着一份测试文档,如:用户需求文档与用户验收测试文档。每一份测试文档,又可能对应着一份自动化测试代码,如:用户验收测试文档与自动化用户验收测试代码。说完了传统流程,再回到BDD。2.1的例子中,BDD整合了用户需求、测试用例、自动化测试用例。针对复杂项目,BDD的解决办法依旧是:整合!整合!整合!如图:

2014-05-07 00:09:52 1161

原创 C++读写文件笔记

#include  #include#includeusing namespace std;    int main(){string strpath(_pgmptr);                                                        //_pgmptr为当前程序路径size_t ipos = strpath.rfind('

2014-02-25 23:17:56 525

原创 C++学习随笔

重载:通过函数重载实现类的多态特性,其特征:(1)同一作用域内(同一类中)。(2)相同的函数名。(3)参数与返回类型不同;仅返回类型不同,不是重载函数。(4)virtual关键字不影响。覆盖:通过函数覆盖实现类的继承特性,其特征:(1)不同作用域(非同一类中)。(2)函数名、参数都相同。(3)基类中的函数须有virtual关键字。隐藏:(1)

2014-01-30 16:30:07 411

Matcom4.5.rar

MATcom是MATHworks公司退出的第一个由MATLAB到C++的编译开发软件平台,其最新版本为4.5,集成调试编译环境卫MIDEVA。通过MATcom连接MATLAB m文件有以下三种方法: (1) 经过简单的设置,由MIDEVA将m源文件转换为C/C++,然后添加到MSVC工程中。 (2) 由MIDEVA直接生成EXE文件,然后在VC中通过Shell调用。这种方法简单方便,但运行时出现一个控制台窗口,而且由于VC和MATLAB之间不能交互,通用性差,仅适用于VC调用MATLAB实现图形显示的场合。 (3) 通过Visual MATcom工具条,使用Add-in,这种方法提供了MATLAB和VC直接集成的途径,且可快速集成m文件到VC工程中创建独立的C/C++应用程序、C MEX DLL,在调试过程中可以查看矩阵变量的值,可直接修改m源文件而不是修改生成的C/C++文件。

2012-09-27

用VC++实现ODBC数据源设置

ODBC(Open Database Conectivity)即开放式数据库互联,作为Windows开放性结构的一个重要部分已经为很多的Windows程序员所熟悉,ODBC的工作依赖于数据库制造商提供的驱动程序,使用ODBC API的时候,Windows的ODBC管理程序,把数据库访问的请求传递给正确的驱动程序,驱动程序再使用SQL语句指示DBMS完成数据库访问工作,因此,ODBC的存在为我们开发应用数据库程序提供了非常强大的能力和灵活性。

2012-03-27

MFC消息映射入门

文档通过简单的例子介绍MFC底层机制实现过程,适合WIN32编程初学者。

2012-03-22

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除