自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(61)
  • 资源 (1)
  • 收藏
  • 关注

原创 安卓开发学习日记6-EditText(输入框)

android:hint //提示文本android:textColorHint //设置hint提示文字颜色android:textColor //设置文字颜色android:textSize //设置文本字体大小android:textStyle //设置文本字体样式,bold(加粗),italic(倾斜),normal(默认是正常字体).android:inputType //限制EditText输入类型 //文本类型,多为大写、小写和数字符号。 android...

2020-05-14 19:49:26 291

原创 安卓开发学习日记5-TextView(文本框)

1. 属性id:为TextView设置一个组件idlayout_width:组件的宽度,一般写:**wrap_content**或者**match_parent(fill_parent)**,前者是控件显示的内容多大,控件就多大,而后者会填满该控件所在的父容器;当然也可以设置成特定的大小,比如200dplayout_height:组件的高度,内容同layout_widthgravi...

2020-04-26 14:28:17 194

原创 安卓开发学习日记4-ImageView(图像视图)

ImageView 继承自View组件,主要功能是用于显示图片,实际上它不仅仅可以用来显示图片,任何Drawable对象都可以使用ImageView来显示。ImageView可以适用于任何布局中,并且Android为其提供了缩放和着色的一些操作。1. foreground、src 和 background 属性区别1)background指的是背景,foreground指的是前景,而src...

2020-04-24 16:06:46 294

翻译 安卓开发学习日记3-布局

Android中有七大布局,分别是: LinearLayout(线性布局)、RelativeLayout(相对布局)、TableLayout(表格布局) 、FrameLayout(帧布局)、AbsoluteLayout(绝对布局)、GridLayout(网格布局)、ConstraintLayout(约束布局)1.LinearLayout(线性布局)1.1 orientation设置布局管理...

2020-04-23 17:14:36 211

原创 安卓开发学习日记2-新建activity和layout

第一步:在“layout”文件夹中新建一个Layout XML File:

2020-04-20 17:29:37 522

原创 安卓开发学习日记1-添加button并监听点击事件

在布局代码区敲代码控件属性 //控件和自身内容宽度一致 android:layout_width="wrap_content" //控件和自身内容高度一致 android:layout_height="wrap_content"button的常用参数 android:text ...

2020-04-14 13:33:57 698

转载 Android Studio安装及环境配置教程

前言:首先需要确定好电脑是否有安装java环境,即是否安装有JDK,验证方法:直接电脑桌面win+R 输入cmd,然后在黑窗口中分别输入java 、javac 、javadoc、java -version + enter键(注意是输入一个指令按一次enter键,如果成功的有输出,说明java环境已经有安装过且安装成功。如果不成功则需要重新安装JAVA JDK并完成java环境的配置,相关...

2020-04-14 12:10:33 2080 1

转载 Laravel 5 配置读写分离和源码分析

一,配置过程:Laravel5 读写分离配置比较简单,只需修改 config/database.php,下面以 MySQL 数据库为例内容如下设置完毕之后,Laravel5 默认将 select 的语句让 read 指定的数据库执行,insert/update/delete 则交给 write 指定的数据库,达到读写分离的作用。这些设置对原始查询 raw queries,查询生成器 ...

2020-03-20 10:50:03 341

转载 reids

Redis 面试题1、什么是 Redis?.2、Redis 的数据类型?3、使用 Redis 有哪些好处?4、Redis 相比 Memcached 有哪些优势?5、Memcache 与 Redis 的区别都有哪些?6、Redis 是单进程单线程的?7、一个字符串类型的值能存储最大容量是多少?8、Redis 的持久化机制是什么?各自的优缺点?9、Redis 常见性能...

2020-02-21 13:12:02 136

原创 MySQL中的隐式转换造成的索引失效

在mysql查询中,当查询条件左右两侧类型不匹配的时候会发生隐式转换,可能导致查询无法使用索引。官方的隐试转换说明:两个参数至少有一个是 NULL 时,比较的结果也是 NULL,例外是使用 <=> 对两个 NULL 做比较时会返回 1,这两种情况都不需要做类型转换 两个参数都是字符串,会按照字符串来比较,不做类型转换 两个参数都是整数,按照整数来比较,不做类型转换 十六进...

2020-01-16 18:38:16 514

原创 curl 错误码

1 CURLE_UNSUPPORTED_PROTOCOL (1) 错误的协议 您传送给 libcurl 的网址使用了此 libcurl 不支持的协议。 可能是您没有使用的编译时选项造成了这种情况(可能是协议字符串拼写有误,或没有指定协议 libcurl 代码)。 2 CURLE_FAILED_INIT (2) 初始化代码失败 非常早期的初始化代码失败。 ...

2019-12-18 13:48:33 1667

转载 python random() 函数

import randomprint( random.randint(1,10) ) # 产生 1 到 10 的一个整数型随机数 print( random.random() ) # 产生 0 到 1 之间的随机浮点数print( random.uniform(1.1,5.4) ) # 产生 1.1 到 5.4 之间的随机浮点数,区间可以不...

2019-12-04 14:33:38 137

转载 MySQL 按指定字段自定义列表排序

问题描述 大家都知道, mysql 中按某字段升序排列的 SQL 为 (以 id 为例, 下同):SELECT * FROM `MyTable` WHERE `id` IN (1, 7, 3, 5) ORDER BY `id` ASC降序排列的 SQL 为:SELECT * FROM `MyTable` WHERE `id` IN (1, 7, 3, 5) ORD...

2019-01-16 10:57:44 196

原创 Laravel 资源路由、控制器中的接收方式

经常会混淆HTTP的POST/PUT方法,因为这两个方法似乎都可以用来创建或更新一个资源。区别是细微但清楚的:GET 获取资源POST 创建资源PUT 编辑/更新资源(需提交完整的资源字段)PATCH 编辑/更新资源(可以提交需要更新的字段)DELETE 删除资源请求方法 请求URI 对应的控制器方法 代表的意义 GET /article ...

2019-01-10 11:38:15 1247

转载 深入浅出 Redis 持久化机制

我们都知道 Redis 的数据全部在内存里,如果突然宕机,数据就会全部丢失,因此必须有一种机制来保证 Redis 的数据不会因为故障而丢失,这种机制就是 Redis 的持久化机制。如图 2-3 所示,Redis 的持久化机制有两种,第一种是快照,第二种是 AOF 日志。快照是一次全量备份,AOF 日志是连续的增量备份。快照是内存数据的二进制序列化形式,在存储上非常紧凑,而 AOF 日志记录的是...

2018-12-12 09:13:33 649

转载 git的操作命令

git常用的命令:查看分支:git branch创建分支:git branch &lt;name&gt;切换分支:git checkout &lt;name&gt;创建+切换分支:git checkout -b &lt;name&gt;合并某分支到当前分支:git merge &lt;name&gt;删除分支:git branch -d &lt;name&gt;删除工作...

2018-10-13 13:44:23 137

原创 mysql之left join、right join、inner join

left join(左联接) 返回包括左表中的所有记录和右表中联结字段相等的记录 right join(右联接) 返回包括右表中的所有记录和左表中联结字段相等的记录inner join(等值连接) 只返回两个表中联结字段相等的行left join图例inner join图例right join图例left join/right join VS inner join...

2018-10-13 11:15:38 241

原创 SQL语句学习笔记

1.单个商品的规格数、最低价、最高价SELECT a.good_id,a.good_name,count(b.model_id) number,min(price) min_price,max(price) max_price FROM tt_goods a LEFT JOIN tt_goods_model b ON a.good_id = b.good_id GROUP BY a.good_i...

2018-09-29 16:47:02 161

转载 Redis的那些最常见面试问题

1.什么是redis?   Redis 是一个基于内存的高性能key-value数据库。 2.Reids的特点     Redis本质上是一个Key-Value类型的内存数据库,很像memcached,整个数据库统统加载在内存当中进行操作,定期通过异步操作把数据库数据flush到硬盘上进行保存。因为是纯内存操作,Redis的性能非常出色,每秒可以处理超过 10万次读写操作,是已知性能最...

2018-09-28 09:43:31 141

转载 MySQL常用函数

一、数学函数ABS(x)                    返回x的绝对值BIN(x)          返回x的二进制(OCT返回八进制,HEX返回十六进制)CEILING(x)                返回大于x的最小整数值EXP(x)          返回值e(自然对数的底)的x次方FLOOR(x)         返回小于x的最大整数值GREATEST(x1,x2,...

2018-09-28 09:29:33 145

转载 MyISAM与InnoDB的索引差异

一,MyISAM的索引MyISAM的索引与行记录是分开存储的,叫做非聚集索引(UnClustered Index)。 其主键索引与普通索引没有本质差异: 有连续聚集的区域单独存储行记录 主键索引的叶子节点,存储主键,与对应行记录的指针 普通索引的叶子结点,存储索引列,与对应行记录的指针 画外音:MyISAM的表可以没有主键。 主键索引与普通索引是两...

2018-09-23 09:55:42 132

转载 为什么InnoDB并发如此高?

一、并发控制为啥要进行并发控制?并发的任务对同一个临界资源进行操作,如果不采取措施,可能导致不一致,故必须进行并发控制(Concurrency Control)。 技术上,通常如何进行并发控制?通过并发控制保证数据一致性的常见手段有: 锁(Locking) 数据多版本(Multi Versioning)  二、锁如何使用普通锁保证一致性?普通锁,...

2018-09-23 09:48:58 475

转载 数据库索引,到底是什么做的?

问题1. 数据库为什么要设计索引? 图书馆存了1000W本图书,要从中找到《架构师之路》,一本本查,要查到什么时候去?于是,图书管理员设计了一套规则:(1)一楼放历史类,二楼放文学类,三楼放IT类…(2)IT类,又分软件类,硬件类…(3)软件类,又按照书名音序排序…以便快速找到一本书。 与之类比,数据库存储了1000W条数据,要从中找到name=”shenjia...

2018-09-23 09:46:32 148

原创 mysql 字段类型

一、数据类型二、字符串类型三、时间类型四、复合类型复合类型MySQL 还支持两种复合数据类型 ENUM 和 SET,它们扩展了 SQL 规范。虽然这些类型在技术上是字符串类型,但是可以被视为不同的数据类型。一个 ENUM 类型只允许从一个集合中取得一个值;而 SET 类型允许从一个集合中取得任意多个值。ENUM 类型 ENUM 类型因为只允许在集合中取得一个值...

2018-09-20 16:57:37 286

转载 通过rsync+inotify实现数据的实时备份

在前面的博文中,我讲到过利用rsync实现数据的镜像和备份,但是要实现数据的实时备份,单独靠rsync还不能实现,本文就讲述下如何实现数据的实时备份。一、rsync的优点与不足 与传统的cp、tar备份方式相比,rsync具有安全性高、备份迅速、支持增量备份等优点,通过rsync可以解决对实时性要求不高的数据备份需求,例如定期的备份文件服务器数据到远端服务器,对本地磁盘定期做数据镜像等。 ...

2018-09-19 19:26:33 95

转载 nginx和php-fpm 是使用 tcp socket 还是 unix socket ?

tcp socket允许通过网络进程之间的通信,也可以通过loopback进行本地进程之间通信。unix socket允许在本地运行的进程之间进行通信。分析从上面的图片可以看,unix socket减少了不必要的tcp开销,而tcp需要经过loopback,还要申请临时端口和tcp相关资源。但是,unix socket高并发时候不稳定,连接数爆发时,会产生大量的长时缓存,在没...

2018-09-14 11:02:25 641

转载 Redis之AOF重写及其实现原理

AOF 重写 AOF 文件重写的实现 AOF重写功能的实现原理 AOF后台重写 使用子进程进行AOF重写的问题 如何修正 效果 完成AOF重写之后 触发AOF后台重写的条件 总结 ref AOF 重写AOF 持久化是通过保存被执行的写命令来记录数据库状态的,所以AOF文件的大小随着时间的流逝一定会越来越大;影响包括但不限于:对于Redi...

2018-08-26 19:39:50 8567 4

转载 Web前后端缓存技术

Web缓存技术一、缓存概述缓存原本是一个硬件的概念:缓存就是数据交换的缓冲区(称作Cache),当某一硬件要读取数据时,会首先从缓存中查找需要的数据,如果找到了则直接执行,找不到的话则从内存中找。由于缓存的运行速度比内存快得多,故缓存的作用就是帮助硬件更快地运行。在一个Web应用中,应用到缓存的地方有很多,主要有浏览器缓存,页面缓存,服务器缓存,数据库缓存等。缓存的作用主要有:...

2018-08-26 15:49:55 4689

转载 MySQL索引背后的数据结构及算法原理

索引的本质MySQL官方对索引的定义为:索引(Index)是帮助MySQL高效获取数据的数据结构。提取句子主干,就可以得到索引的本质:索引是数据结构。我们知道,数据库查询是数据库的最主要功能之一。我们都希望查询数据的速度能尽可能的快,因此数据库系统的设计者会从查询算法的角度进行优化。最基本的查询算法当然是顺序查找(linear search),这种复杂度为O(n)的算法在数据量很大时显然是...

2018-08-26 12:51:37 428

转载 MySQL中MyISAM与InnoDB区别及选择

1、 存储结构MyISAM:每个MyISAM在磁盘上存储成三个文件。第一个文件的名字以表的名字开始,扩展名指出文件类型。.frm文件存储表定义。数据文件的扩展名为.MYD (MYData)。索引文件的扩展名是.MYI (MYIndex)。InnoDB:所有的表都保存在同一个数据文件中(也可能是多个文件,或者是独立的表空间文件),InnoDB表的大小只受限于操作系统文件的大小,一般为2GB。...

2018-08-26 12:02:23 118

转载 PHP安全之Web攻击

一、SQL注入攻击(SQL Injection)攻击者把SQL命令插入到Web表单的输入域或页面请求的字符串,欺骗服务器执行恶意的SQL命令。在某些表单中,用户输入的内容直接用来构造(或者影响)动态SQL命令,或作为存储过程的输入参数,这类表单特别容易受到SQL注入式攻击。常见的SQL注入式攻击过程类如:1.某个Web应用有一个登录页面,这个登录页面控制着用户是否有权访问应用,它要求用户输入...

2018-08-24 19:31:22 139

转载 nginx工作原理和优化

1.  Nginx的模块与工作原理Nginx由内核和模块组成,其中,内核的设计非常微小和简洁,完成的工作也非常简单,仅仅通过查找配置文件将客户端请求映射到一个location block(location是Nginx配置中的一个指令,用于URL匹配),而在这个location中所配置的每个指令将会启动不同的模块去完成相应的工作。Nginx的模块从结构上分为核心模块、基础模块和第三方模块:...

2018-08-24 10:52:35 134

转载 为啥性能高?nginx架构初探

nginx在启动后,在unix系统中会以daemon的方式在后台运行,后台进程包含一个master进程和多个worker进程。我们也可以手动地关掉后台模式,让nginx在前台运行,并且通过配置让nginx取消master进程,从而可以使nginx以单进程方式运行。很显然,生产环境下我们肯定不会这么做,所以关闭后台模式,一般是用来调试用的,在后面的章节里面,我们会详细地讲解如何调试nginx。所以,...

2018-08-24 10:49:54 790

转载 Keepalived之——Keepalived + Nginx 实现高可用 Web 负载均衡

一、Keepalived 简要介绍Keepalived 是一种高性能的服务器高可用或热备解决方案, Keepalived 可以用来防止服务器单点故障的发生,通过配合 Nginx 可以实现 web 前端服务的高可用。Keepalived 以 VRRP 协议为实现基础,用 VRRP 协议来实现高可用性(HA)。 VRRP(Virtual RouterRedundancy Protocol)协议是...

2018-08-24 10:42:54 159

转载 Nginx配置详解

使用的用户和组user  www www;指定工作衍生进程数(一般等于CPU的总核数或总核数的两倍)worker_processes 8;前方高能,请注意!下面分别是开启了8个内核,8个进程(如果需要开启16进程,00000001 修改成00000001 00000010 代表第一个CPU内核处理第一个和第二个进程,有多少个进程就写多少个数,每个数的第几位代表对应的第几核)worke...

2018-08-24 10:41:13 124

转载 Nginx优化篇——配置优化

user www-data; #运行的用户 pid /var/run/nginx.pid; worker_processes auto; #定义了nginx对外提供web服务时的worder进程数,CPU核的数量、存储数据的硬盘数量及负载模式 worker_rlimit_nofile 100000; #更改worker进程的最大打开文件数限制,比'ulimit -a'多。解决"too man...

2018-08-24 10:40:45 283

原创 nginx配置

1.worker_processes定义了nginx对外提供web服务时的worder进程数。最优值取决于许多因素,包括(但不限于)CPU核的数量、存储数据的硬盘数量及负载模式。一般设置CPU内核数 x 2;不能确定的时候,将其设置为可用的CPU内核数将是一个好的开始(设置为“auto”将尝试自动检测它)2.worker_rlimit_nofile 更改worker进程的最大打开文件数...

2018-08-24 10:40:37 128

转载 分析Nginx epoll高效事件模型

首先Nginx支持以下这些事件模型:  Nginx支持如下处理连接的方法(I/O复用方法),这些方法可以通过use指令指定。  * select – 标准方法。 如果当前平台没有更有效的方法,它是编译时默认的方法。你可以使用配置参数 –with-select_module 和 –without-select_module 来启用或禁用这个模块。  * poll – 标准方法。 如果当前...

2018-08-24 10:40:29 216

转载 Nginx配置优化指南

前言大多数的Nginx安装指南告诉你如下基础知识——通过apt-get安装,修改这里或那里的几行配置,好了,你已经有了一个Web服务器了!而且,在大多数情况下,一个常规安装的nginx对你的网站来说已经能很好地工作了。然而,如果你真的想挤压出nginx的性能,你必须更深入一些。在本指南中,我将解释Nginx的那些设置可以微调,以优化处理大量客户端时的性能。需要注意一点,这不是一个全面的微调指南...

2018-08-24 10:40:20 114

转载 HTTPS 原理与实现

在日常互联网浏览网页时,我们接触到的大多都是 HTTP 协议,这种协议是未加密,即明文的。这使得 HTTP 协议在传输隐私数据时非常不安全。因此,浏览器鼻祖 Netscape 公司设计了 SSL(Secure Sockets Layer) 协议,用于对 HTTP 协议传输进行数据加密,即 HTTPS 。HTTPS 和HTTP 协议相比提供了:数据完整性:内容传输经过完整性校验 数据隐私性...

2018-08-24 10:40:11 683

空空如也

空空如也

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

TA关注的人

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