【Web后端】Nginx安装&配置&常用命令
1、安装NginxWindows安装方式: 1)到官网下载对应操作系统的版本 2)把下载的压缩包解压 3)windows下双击nginx.exe 4)浏览器输入localhost会出现欢迎页面表示成功 Linux安装方式: 123456789101112131415161718192021222324252627282930313233343536#安装编译工具及库文件yum -y install make zlib zlib-devel gcc-c++ libtool openssl openssl-devel#下载PCREcurl -O https://nchc.dl.sourceforge.net/project/pcre/pcre/8.35/pcre-8.35.tar.gz#解压PRECtar -zxvf pcre-8.35.tar.gz#进入到目录中cd pcre-8.35#进行编译安装./configuremake && make install#查看prec版本号pcre-config --version#下载nginxcur...
【Linux&Redis】Linux中安装Redis6.0.5
更新GCC在centos7中安装redis需要把gcc升级到5.x左右的版本,这里呢我升级到了6.5版本不会升级的看【Centos7】更新gcc至6.5或更高版本 安装Redis进入官网复制最新的下载链接然后在终端中进行下载 1234567891011121314151617181920212223242526272829curl -O http://download.redis.io/releases/redis-6.0.5.tar.gz#下载后用tar解压包,这里我是使用了通配符代替了包后的版本号比较方便tar -xzvf reids*.tar.gz#解压后切换到目录中进行编译项目安装,一样为了方便使用通配符cd redis*#开始编译并安装make && make test#可能会出现这个错误:You need tcl 8.5 or newer in order to run the Redis test,解决方法如下yum -y install tcl#安装完成后切换到src目录就可以直接使用了cd src#复制conf文件到当前目录cp ../redis...
【Java&AndroLua】Java转AndroLua的步骤
Java和Lua的区别转lua前必须要知道的是Java和lua的区别在哪里区别如下:1、java中有很多java才有的关键和类型,lua则只有lua自己的关键字。不过lua和java也有共同的关键字2、java中声明数组和实例化对象需要new关键字进行,而lua没有new和不需要自己写类型3、java函数体采用的或括号包起来而lua则是用end结束函数并不用花括号 Java和Lua中常用的关键字Java:public,private,protected,final,static,default,void,synchronized,abstract,interfaceLua:local Java常用的类型int,float,double,long,short,char,boolean,byte,注意的是String实际上是一个对象并不是类型 变量转换Java:public static int a = 0;Lua:local a = 0 或 a = 0 Java:private static int a = 0;Lua:local a = 0 或 a = 0 Java:protec...
【Android】SwipeRefreshLayout的使用
首先是xml代码 123456789101112<android.support.v4.app.widget.SwipeRefreshLayout android:layout_width="match_parent" android:layout_height="match_parent" android:id="@+id/swipeLayout"> <ListView android:id="@+id/list" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_below="@id/seartext" /> </android.support.v4.ap...
【Android】CardView的使用
123456789101112<android.support.v7.widget.CardView xmlns:card_view="http://schemas.android.com/apk/res-auto" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_margin="10dp" card_view:cardBackgroundColor="#fff" 定义卡片背景颜色 android:paddingLeft="10dp" android:paddingRight="10dp" card_view:cardCornerRadius="20dp" 设置卡片圆角>...
【Android】水波纹的使用
全文转载自:https://www.jianshu.com/p/13eb4574e988 前言水波纹效果从Android5.0就已经出来了,基本的使用相信大家都知道了,这里多谈一些相对深层次的使用: 1、基本使用2、水波纹效果与布局绘制之间的问题3、长按水波纹扩散效果4、Button点击的水波纹效果基本使用系统自带水波纹实现方式有界水波纹 1android:background="?android:attr/selectableItemBackground" 无界水波纹以控件宽高中最大的数值作为水波纹效果所在正方形的边界进行绘制 1android:background="?android:attr/selectableItemBackgroundBorderless" 自定义水波纹实现方式 1234567891011121314151617181920212223242526272829303132333435无界水波纹<?xml version="1.0" encoding="utf-8"...
【Android逆向】Android逆向之使用AndroidStudio4.0动态调试Smali
前言本来我也不想写这篇文章的,但我百度了各种坑后来得靠自己经验才得以解决。动态调试成功那一瞬间是真的很舒服才发现原来那么简单的事情被他们写的转载的那么复杂。所以今天我不得不写一个博客来描述此次动态调试的所有过程和方法以及遇到的坑。 工具准备 ApktoolAndroidStudioDDMS模拟器/手机ADBSmaliIdea.jar插件工具下载 反编译APK把APK反编译成Smali我这里有两种方法第一种:用Apktool直接反编译第二种:用dex2jar后再baksmali这里因为多dex的原因我就用第一种,以抖音为例子 更改APK调试模式反编译了Smali后还没完还得把APK更改为调试模式这里我模拟器用的MT管理器更改的你们也可以用其他可以编辑编译后xml的软件更改。打开AndroidManiFest.xml文件在Application标签中任意添加一个属性android:debuggable="true"然后保存重新签名安装,或者如果手机破解了签名验证的可以直接安装 以调试的方式打开APK这里我以夜神模拟器为例子 1234567891011#首先ADB...
c++常对象和常函数
对象和函数都带const修饰符即是常对象与常函数定义常对象const Class class;定义常函数void fun() const{} 使用了常对象后对象里的任何值都不可以改变 常对象只能调用常成员函数,不能调用普通成员函数 (除了隐式调用析构函数和构造函数),常成员函数是常对象的唯一对外接口; 现在编译系统只检查函数的声明,只要发现调用了常对象的成员函数,而且该函数未被声明为const,编译阶段就报错; 常对象在被定义时需要被初始化;
C++中的cin
c++中cin的作用是获用户键盘输入的字符 用法如下 using namespace std; char[] ch; cin >> ch; cout << ch; 首先是使用std命名空间然后创建一个char类型数组把输入的字符存入到数组里然后输出 cin还提供了两个get方法 第一个是cin.get() 第二个是cin.get(char) 这两个方法有啥区别呢? 第一个方法是获取一行的字符 另一个作用:可以让窗口一直保持不关闭 用法如下 using namespace std; char[] ch; ch = cin.get(); cout << ch; 一样使用std命名空间因为cin是在std命名空间的 使用cin或者cout都得导入iostream头文件 否则将会报错因为要用到流操作所以必须导入 另外还有一个cin.getline(chars,int)方法 这个函数看函数名就知道大概的意思了就是获取一行的字符存入chars数组中至于int呢就是他要写入的长度 比如我输入了一行文字长度总长度为10 然后我调用方法 cin.getline(...
C++数据类型的转换
数据类型转换的作用就是把不同的类型转换成相同的类型如把int转string或者string转int或者任意类型之间的相互转换 这里数据类型的转换分为几种 第一种初始化转换:就是初始化的时候就设置好他的值 如int a=123;char b=a; 第二种以{ }进行转换:初始化进行转换——列表初始化 int a=123; char b = {a}; 第三种表达式中的转换:进行变量之间的运算进行转换 short a=1; int b=a+2; 第四种传递参数时的转换:由c++函数原型控制 第五种强制类型转换: int a=10; 把int转成short short b=(short)a; short c=short(a); 将short 转换成long static_cast (c);