自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

L瑜

绳锯木断,水滴石穿

  • 博客(15)
  • 收藏
  • 关注

原创 Linux下快速收起vim 并暂存修改

有时我们在linux下使用vim进行开发的时候,需要暂时切换到另一个事件,此时有可能是ps 命令看一下当前进程存活情况,有时候是需要top 命令 看一下当前资源消耗情况,或许是想看一下另一个文件里某行配置是什么内容这种情况往往是需要短暂的切换,但又不想完全的退出。如果直接:wq 退出当前vim。等操作完了之后又需要切cd 回到当前目录并且再次vim xxx,特别的麻烦。所以接下来我们使用如以下的方法

2017-08-29 00:10:38 1422

原创 PHP 实现后缀表达式(接受四则运算字符串,输出计算结果,附代码)

最近接触了一个有趣的需求:给定变量a、b、c、d等若干,要求由用户输入的普通四则运算字符串(包含加减乘除括号),算出具体的值。 例如,a=1,b=2,c=3,d=4,给出 a+b/(d-c),应计算出结果为3,若为 a*b/(c-1) 则应计算出结果为1这种情况下,第一反应可能是用数字值将字符串里的变量替换,然后通过eval()执行。但这样的逻辑太粗暴,代码也太丑陋,其实大可不必如此。 此时,

2017-08-21 21:59:16 3851

原创 Linux sort命令使用示例

我们在开发、维护的过程中,有时会需要将log、数据等做过滤和筛选例如,我们有这样一个文件 daily_pv.txt ,它可能有10W行,其部分内容如下:20170702 a 5233120170703 a 6321020170701 b 23421320170703 b 34100020170701 a 5210320170702 b

2017-08-20 17:06:18 772

原创 python通过thrift连接hive,异步执行查询

在开始之前,我们需要具备一些基础知识:什么是hive? hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供完整的sql查询功能,可以将sql语句转换为MapReduce任务进行运行。hive对外暴露出来的用法,基本上和Mysql相同,但是它能做到Mysql做不到的对大数据处理,例如几十亿条数据,放在Mysql中,必然不堪重负,但在hive中,举重若轻

2017-08-20 17:04:56 5080 1

原创 HTTP 连接建立方式

当我们在浏览一个web页面时,页面里的元素可能是来自于多个源的,例如每张图片有各自的来源。我们在浏览一个拥有2张图片的web页面时,浏览器需要发起3个HTTP事务,一个用于获取顶层HTML页面元素,另两个获取相对应的图片。串行连接如果只是简单的对连接进行管理,使用串行化的方式去请求资源。每个请求都需要等待前方的请求完毕,并且每个事务在请求时都需要建立连接-传输数据-关闭连接。使用串行化的方式去请求,

2017-08-20 17:03:33 1553

原创 HTTP 延时

HTTP性能优化一直是个十分重要的话题,但要进行优化,首先得找出有哪些地方会导致HTTP延时。HTTP 请求过程在HTTP请求传输的过程中,会经历这样的场景和可能遇见如下的问题:1 . 用户输入或打开一个地址,client查找本地http缓存,如果有未过期的本地缓存,则直接200(from cache),请求结束。 现代浏览器有这样的机制,在访问server时,由server返回的HTTP响应头

2017-08-15 20:54:11 3973

原创 HTTP 报文头 初解

在 HTTP报文 一章中,我们介绍了HTTP协议由 行、头、体组成。而本章,介绍 “头” 如果你写了一个小爬虫,但抓出来的结果和想象的不同(例如界面样式,返回内容和人工看有差异,或者是需要登录),你可以更改你发送的HTTP请求的header部分,将合法的User-Agent、Cookie等添上,能解决大多数此类问题,因为HTTP是无状态并且不安全的协议,所以这些小手段能够生效。下面取几个常用的

2017-08-15 20:53:47 618

原创 Mysql 事务隔离级别、InnoDB实现隔离机制

当多个线程都开启事务操作数据库中的数据时,数据库系统要能进行隔离操作,以保证各个线程获取数据的准确性。隔离级别在SQL标准中定义了四种隔离级别,每一种级别都规定了一个事务中所做的修改,在事务内和事务间的可见性。较低级别的隔离通常可以执行更高的并发,系统的开销也更低。READ UNCOMMITTED (未提交读/脏读) 在READ UNCOMMITTED级别中,事务所做的写操作,即使没有提交,对其

2017-08-15 20:53:13 1117

原创 HTTP 状态码

HTTP的状态码被分为了5大类,分别是:1xx : Hold on (等着)2xx : Here you go (执行完了,没毛病,拿着结果回去吧)3xx : Go away (你要的不在我这儿,去别处找)4xx : You fucked up (你丫出问题了)5xx : I fucked up (我特么出问题了)状态码为客户端提供了一种理解事务处理结果的便捷方式(比解析字符串方便多了)1

2017-08-15 20:52:52 489

原创 redis 事务 理解和使用

redis的事务和传统的关系型数据库不同,在关系型数据库中,用户首先向数据库发送一个BEGIN信号,然后执行各个相互一致的读写操作,最后,用户发送COMMIT来确认之前的操作,或者发送ROLLBACK来放弃之前的操作。在redis中也有简单的方法可以处理一连串的读写操作,使用特殊命令MULTI为开始,然后传入一连串用户的操作,最后以EXEC结束,但这种做法,实际上是在用户执行EXEC之前,客户端缓存

2017-08-15 20:51:55 1364

原创 Mysql分区表 介绍和使用

试想这样一个场景: 你有一张表,存储引擎为InnoDB,里面存储的数据量达到了上亿级别。此时,因为数据量巨大,肯定不能在每次查询的时候都扫描全表。 就算是使用索引(B-Tree),除非使用索引覆盖查询,否则数据库服务器需要根据查询的结果回表,查询所有符合条件的数据, 如果数据量巨大,会产生大量的随机IO,最终使得应用程序僵死。另外,这种数据量下,索引维护的代价也非常高。分区

2017-08-15 20:51:01 1639

原创 Url 初步介绍

基础背景:URI: uri(Uniform Resource Identifier) 是统一资源标识符,就像互联网上的地址一样,在世界范围内唯一标识并定位资源URL: url是uri最常见的形式,URL描述了一台特定服务器上某资源的特定位置。大部分url都遵循一种标准格式: 1、第一部分被称为方案,说明了访问资源所使用的协议类型,例如我们常常看到的 http://、https://

2017-08-15 20:49:43 882

原创 HTTPS 初步介绍

背景:非对称加密: 基于数学方法,生成一个公钥-密钥对,来对数据做加密-解密,被公钥加密的数据只能被私钥解密, 同样,被私钥加密的数据也只能被公钥解密。所以可以用别人公开的公钥加密一段信息然后发送出去, 只有拥有对应密钥的那个人才能解密。但是缺点是加密-解密的计算成本高,比较占用cpu资源对称加密: 和非对称加密相比,只生成一个密钥,加密-解密都用这个密钥,所以需要通信

2017-08-15 20:48:43 2014

原创 HTTP 报文详解

报文的组成部分HTTP报文 由起始行、首部、主体组成。1、 起始行: 起始行是一个由行分隔的ASCII文本,每行都以一个由两个字符组成的行终止符作为结束,行终止符为 一个回车符 + 一个换行符,可以写作CRLF2、 首部: 首部的格式与起始行相同3、主体: 主体是一个可选的数据块,与起始行和首部不同的是,主题可以包含文本或二进制数据,也可以为空报文的语法所有的HTTP报文都可以分为

2017-08-15 20:47:37 1020

原创 Nginx - Location 匹配规则

语法规则location = /uri = 表示精确匹配某个urilocation ^~ /uri ^~ 表示精确的前缀匹配以uri开头的请求,优先级在正则之前location ~ uri ~ 表示区分大小写的正则匹配,这里的uri就是一个正则表达式location ~* uri ~* 表示不区分大小写的正则匹配,这里的uri就是一个正则表达式loc

2017-08-15 20:46:18 1878

空空如也

空空如也

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

TA关注的人

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