自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

原创 Flink#了解Flink 新一代大数据处理引擎 Apache Flink

大数据计算引擎的发展这几年大数据的飞速发展,出现了很多热门的开源社区,其中著名的有 Hadoop、Storm,以及后来的 Spark,他们都有着各自专注的应用场景。Spark 掀开了内存计算的先河,也以内存为赌注,赢得了内存计算的飞速发展。Spark 的火热或多或少的掩盖了其他分布式计算的系统身影。就像 Flink,也就在这个时候默默的发展着。在国外一些社区,有很多人将大数据的计算引擎分成了 ...

2019-08-28 10:58:08 91

原创 mac 中安装maven

一、 下载Maven从Maven官方地址:http://maven.apache.org/download.cgi下载最新版本apache-maven-xxx-bin.tar.gz。二、将Maven 添加进环境变量Maven 下载完毕后,解压到环境变量集合的位置,将其解压在/usr/local/maven目录下。然后在终端中,执行如下命令$ open ~/.bash_profile 或...

2019-06-25 01:16:58 769

原创 mac os推荐常用软件

macOS中好用的软件,持续更新.一. 一般工具序号软件说明下载推荐指数0Alfred效率神器https://www.alfredapp.com/★★★★★1The Unarchive解压缩工具https://apps.apple.com/cn/app/the-unarchiver/id425424353?mt=12★★★★2CheatS...

2019-06-19 14:33:17 4715

原创 linux expect 自动交互脚本用法

检查是否安装tcl,expect如果没有安装,使用yum安装:yum install -y tclyum install -y expectexpect参数启用选项-c:执行脚本前先执行的命令,可多次使用。-d:debug模式,可以在运行时输出一些诊断信息,与在脚本开始处使用exp_internal 1相似。-D:启用交换调式器,可设一整数参数。-f:从文件读取命令,仅用于使...

2019-05-07 17:18:04 3897

原创 Linux自定义命令(shell脚本)并启动应用

1. 创建Shell脚本例子:在 ~/mysh 目录下新建 test.sh#!/bin/bashecho "test shell"2. 配置别名(alias)配置只对自己生效的别名则编辑~/.bashrc文件配置全局生效的别名则编辑/etc/profile文件修改内容:$ sudo vim ~/.bashrc (/etc/profile)#加入内容alias t="~...

2019-05-07 16:53:38 1141

原创 ubuntu apache2 配置安装ssl证书,https

1.申请免费阿里证书阿里云服务器:https://promotion.aliyun.com/ntms/yunparter/invite.html?userCode=9zubwbxz然后购买,填写相应的信息,域名信息即可.成功后:根据自己的网站服务器来选择下载不同的ssl证书包括:1_root_bundle.crt # 证书文件2_xxx.xxx.xxx.crt # 证书文件...

2019-04-12 10:20:19 4599 2

原创 Ubuntu 安装php环境 lamp 搭建网站

1.Apache安装首先安装apache服务器,ubuntu下面使用apt-get来下载安装软件。sudo apt-get install apache2 输入密码后,便开始下载安装了,安装好后打开浏览器,输入localhost查看是否安装成功如果如上显示的话,说明安装成功了。2.PHP安装这里我准备安装PHP7.0版本的,在命令行输入:sudo apt-get install ...

2019-04-11 11:34:41 232

原创 yaml 语言入门

编程免不了要写配置文件,YAML 是专门用来写配置文件的语言,非常简洁和强大,远比 JSON 格式方便。本文介绍 YAML 的语法,以 JS-YAML 的实现为例。你可以去在线 Demo 验证下面的例子。一、简介YAML 语言(发音 /ˈjæməl/ )的设计目标,就是方便人类读写。它实质上是一种通用的数据串行化格式。它的基本语法规则如下。大小写敏感使用...

2019-03-12 15:08:09 210

原创 网站架构的逐步优化演变

一:建站之初建站之初,站点流量非常小,可能低于十万级别。这意味着,平均每秒钟也就几次访问。请求量比较低,数据量比较小,代码量也比较小,几个工程师,很短的时间搭起这样的系统,甚至没有考虑“架构”的问题。站点架构特点是“ALL-IN-ONE”:这是一个单机系统,所有的站点、数据库、文件都部署在一台服务器上。工程师每天的核心工作是CURD,浏览器端传过来一些数据,解析GET/POST/COOK...

2019-03-08 19:18:18 105

原创 linux 本地终端 SSH 连接 gcp (Google Cloud Platform ) 配置教程

准备首先在gcp创建实例1.设置当前用户的新密码$ sudo passwd ${whoami} // 下面以 user 代替 ${whoami}# 输入新密码2.设置下 root 的新密码$ sudo passwd root# 输入新密码3.在本地生成私钥和公钥$ cd ~/.ssh$ ssh-keygen -f myKey或者$ ssh-keygen -t rsa -...

2019-03-06 16:12:38 4567

原创 系统架构 一致性问题 : 库存扣减

典型互联网架构业务复杂、数据量大、并发量大的业务场景下,典型的互联网架构,一般会分为这么几层:•调用层,一般是处于端上的browser或者APP•站点层,一般是拼装html或者json返回的web-server层•服务层,一般是提供RPC调用接口的service层•数据层,提供固化数据存储的db1.对于库存业务,一般有个库存服务,提供库存的查询、扣减、设置等RPC接口:•库存查询...

2019-03-01 18:08:29 1092

原创 Leader-Follower线程模型

一、前言IO线程模型一直在演化,由最开始的单线程模型,到BIO方式的单线程接受请求线程池线程具体处理单个请求的读写事件,再到NIO的单线程接受请求线程池里面的单个线程可以处理不同请求的读写事件,一个字没有最快,只有更快。最近发现还有个Leader-follower线程模型,其的出现是为了解决单线程接受请求线程池线程处理请求下线程上下文切换以及线程间通信数据拷贝的开销,并且不需要维护一个队列。二...

2019-02-22 10:50:55 122

原创 系统负载LoadAverage

一、什么是Load Average?系统负载(System Load)是系统CPU繁忙程度的度量,即有多少进程在等待被CPU调度(进程等待队列的长度)。平均负载(Load Average)是一段时间内系统的平均负载,这个一段时间一般取1分钟、5分钟、15分钟。二、如何查看Load?top,uptime,w等命令都可以查看系统负载:$ uptime18:13:13 up 1 day,...

2019-02-20 18:16:55 91

原创 两阶段提交2PC 和 三阶段提交3pc

一、概念二阶段提交2PC(Two phase Commit)是指,在分布式系统里,为了保证所有节点在进行事务提交时保持一致性的一种算法。2PC,二阶段提交协议,即将事务的提交过程分为两个阶段来进行处理:准备阶段和提交阶段。事务的发起者称协调者,事务的执行者称参与者。二、背景在分布式系统里,每个节点都可以知晓自己操作的成功或者失败,却无法知道其他节点操作的成功或失败。当一个事务跨多个节点时...

2019-02-18 09:59:26 146

原创 linux sed 总结

1.简介sed是一种行编辑器,它一次处理一行内容。2.sed调用方式sed [options] ‘command’ file(s)sed [options] -f scriptfile file(s)第一种直接在命令行中执行,第二种把命令写到了脚本中,二者无本质区别。示例(1):打印hello.txt的内容sed -n p hello.txt说明:-n:sed会在处理一行文...

2019-02-15 19:41:08 83

原创 perl语言 入门

linux系统一般自带perl,可以在命令行运行。1.Hello,World#!/usr/bin/perl -wprint ("hello,world!\n");#print "hello,world!\n"; 说明:(1)第一行指定解释器,-w参数表示提示警告(或者使用use strict命令,执行更严格的检查);(2)第二行输出hello, world!;(3)如果习惯c的函...

2019-02-15 18:23:34 90

原创 linux 的awk命令

1.什么是AWK(1)Aho、Weinberger、Kernighan三位发明者名字首字母;(2)一个行文本处理工具;2.AWK基本原理2.1原理:逐行处理文件中的数据2.2语法:awk ‘pattern + {action}’说明:(1)单引号’'是为了和shell命令区分开;(2)大括号{}表示一个命令分组;(3)pattern是一个过滤器,表示命中pattern的行才...

2019-02-12 19:06:56 126

原创 磁盘阵列 关于Raid0,Raid1,Raid5,Raid10

1.RAID0定义:RAID 0又称为Stripe或Striping,它代表了所有RAID级别中最高的存储性能。RAID 0提高存储性能的原理是把连续的数据分散到多个磁盘上存取,这样,系统有数据请求就可以被多个磁盘并行的执行,每个磁盘执行属于它自己的那部分数据请求。这种数据上的并行操作可以充分利用总线的带宽,显著提高磁盘整体存取性能。工作原理:系统向三个磁盘组成的逻辑硬盘(RAI...

2019-02-12 18:13:39 295

原创 nginx 编译出现的问题ngx_murmurhash.o failed

问题:准备安装一开始装的扩展什么的都很顺利 但是make的时候出了问题 我确定所有需要的扩展都已经安装好了,出现问题如下:$:/nginx-1.5.6$ makecc1: all warnings being treated as errorsobjs/Makefile:458: recipe for target 'objs/src/core/ngx_murmurhash.o' fai...

2019-02-02 16:19:48 836

原创 ubuntu下安装nginx时依赖库zlib,pcre,openssl安装方法

1.首先使用dpkg命令查看自己需要的软件是否安装。例如查看zlib是否安装:dpkg -l | grep zlib2.解决依赖包openssl安装,命令:sudo apt-get install openssl libssl-dev3.解决依赖包pcre安装,命令:sudo apt-get install libpcre3 libpcre3-dev4.解决依赖包zlib安装,...

2019-02-02 15:40:04 876

原创 Django Nginx+uwsgi 安装配置

在前面的章节中我们使用 python manage.py runserver 来运行服务器。这只适用测试环境中使用。正式发布的服务,我们需要一个可以稳定而持续的服务器,比如apache, Nginx, lighttpd等,本文将以 Nginx 为例。你也可以直接参考:Python uwsgi 安装配置安装基础开发包Centos 下安装步骤如下:yum group...

2019-02-01 19:19:43 315

原创 Django Admin 管理工具

Django 提供了基于 web 的管理工具。Django 自动管理工具是 django.contrib 的一部分。你可以在项目的 settings.py 中的 INSTALLED_APPS 看到它:/HelloWorld/HelloWorld/settings.py 文件代码:INSTALLED_APPS = ( 'django.contrib.admin', 'djang...

2019-02-01 19:13:58 97

原创 Django 表单

HTML表单是网站交互性的经典方式。 本章将介绍如何用Django对用户提交的表单数据进行处理。HTTP 请求HTTP协议以"请求-回复"的方式工作。客户发送请求时,可以在请求中附加数据。服务器通过解析请求,就可以获得客户传来的数据,并根据URL来提供特定的服务。GET 方法我们在之前的项目中创建一个 search.py 文件,用于接收用户的请求:/HelloWorld/HelloWo...

2019-02-01 18:31:54 119

原创 django 一个项目多个App项目搭建

django可以在一个项目中存在多个app,如一个大门户网站中可以包含论坛,新闻等内容,其中每一个模块称之为一个App,也可以理解为一个个独立的小型项目最终集成在一个门户网站中最终呈现给用户本次测试以python 2.71.首先建立项目,项目名称:testDjango其次分别建立相应的App模块:todo,oa,web如图所示:2.在testDjango项目中找到testDjango文...

2019-01-31 18:13:12 2199

原创 Django 模型

Django 对各种数据库提供了很好的支持,包括:PostgreSQL、MySQL、SQLite、Oracle。Django 为这些数据库提供了统一的调用API。 我们可以根据自己业务需求选择不同的数据库。MySQL 是 Web 应用中最常用的数据库。本章节我们将以 Mysql 作为实例进行介绍。如果你没安装 mysql 驱动,可以执行以下命令安装:sudo pip install mys...

2019-01-30 18:59:25 80

原创 Django的Project和App的区别

Django是一个非常流行的用python编写的Web框架,在使用Django之前,我们需要了解一些基本的概念,这样可以在使用Django的时候对其有一个更加深入的把握。本文主要介绍Django中两个非常基础但又是很多初学者不太明白的概念:project和app.Project其实在计算机领域,要真正了解一个东西,莫过于亲自去阅读它的源代码;同理,对于Django中的project和app,我...

2019-01-30 18:10:33 628

原创 Django 模板

在上一章节中我们使用 django.http.HttpResponse() 来输出 “Hello World!”。该方式将数据与视图混合在一起,不符合 Django 的 MVC 思想。本章节我们将为大家详细介绍 Django 模板的应用,模板是一个文本,用于分离文档的表现形式和内容。模板应用实例我们接着上一章节的项目将在 HelloWorld 目录底下创建 templates 目录并建立 ...

2019-01-25 19:03:27 166

原创 Python的Django框架的运行方式及处理流程

Django项目的运行方式和对Request的基本处理流程。一、Django的运行方式运行Django项目的方法很多,这里主要介绍一下常用的方法。一种是在开发和调试中经常用到runserver方法,使用Django自己的web server;另外一种就是使用fastcgi,uWSGIt等协议运行Django项目,这里以uWSGIt为例。1、runserver方法runserver方法是调试...

2019-01-24 14:58:35 301

原创 Django 创建第一个项目

本章我们将介绍Django 管理工具及如何使用 Django 来创建项目,第一个项目我们以 HelloWorld 来命令项目。测试版本说明:Python 2.7.15Django 1.11.18Django 管理工具安装 Django 之后,您现在应该已经有了可用的管理工具 django-admin.py。我们可以使用 django-admin.py 来创建一个项目:我们...

2019-01-17 18:41:21 159

原创 Django 安装

在安装 Django 前,系统需要已经安装了Python的开发环境。接下来我们来具体看下不同系统下Django的安装。Window 下安装 Django如果你还未安装Python环境需要先下载Python安装包。1、Python 下载地址:https://www.python.org/downloads/2、Django 下载地址:https://www.djangoproject.com...

2019-01-17 17:38:55 75

原创 python 一些重要的内建函数

#一些重要的内建函数函数描述abs(number)返回一个数的绝对值apply(function[, args[, kwds]])调用给定函数,可选择提供参数all(iterable)如果所有iterable的元素均为真则返回True, 否则返回Falseany(iterable)如果有任一iterable的元素为真则返回True,否则返回False...

2019-01-17 11:10:26 67

原创 python 数据类型 、运算符

#基本的(字面量)值类型描述语法示例整型无小数部分的数42长整型大整数42L浮点型有小数部分的数42.5, 42.5e-2复合型实数(整数或浮点数)和虚数的和38+4j, 42j字符串不可变的字符序列“foo”, ‘bar’, “”“baz”"", r’\n’Unicode不可变的Unicode字符序列u’foo’, u...

2019-01-17 11:04:09 55

原创 Python defaultdict 模块和 namedtuple 模块

在Python中有一些内置的数据类型,比如int, str, list, tuple, dict等。Python的collections模块在这些内置数据类型的基础上,提供了几个额外的数据类型:namedtuple, defaultdict, deque, Counter, OrderedDict等,其中defaultdict和namedtuple是两个很实用的扩展类型。defaultdict继承...

2019-01-16 18:41:42 129

原创 python 比较json/dictionary的库

在某些情况下,比较两个json/dictionary,或许这样就可以实现:>>> a{'a': 1, 'b': 2}>>> b{'a': 2, 'c': 2}>>> cmp(a,b) #-1或者1,代表两个dict不一样-1>>> c=a.copy()>>> c{'a'

2019-01-16 17:31:02 189

原创 Python requests库

requests是一个用于在程序中进行http协议下的get和post请求的库。安装easy_install requests或者用pip install requests安装好之后,在交互模式下运行:>>> import requests>>> dir(requests)['ConnectionError', 'HTTPError', ...

2019-01-16 16:05:13 239

原创 python 网站 模板转义

在python的字符串中,有的符号要想表达其本意,需要在前面加上\符号,例如单引号,如果要在字符串中表现它,必须写成\'单引号里面\'样式,才能实现一对单引号以及里面的内容,否则,它就表示字符串了。在HTML代码中,也有类似的问题,比如>等,就是代码的一部分,如果直接写,就不会显示在网页里,要想显示,同样需要转义。另外,如果在网页中有表单,总会有别有用心的人向表单中写点包含>等字符的...

2019-01-15 20:48:46 618

原创 python 静态文件以及一个项目框架

在网上浏览网页,由于现在网速也快了,大概你很少注意网页中那些所谓的静态文件。怎么找出来静态文件呢?查看一个网页:上图中,查看其源码,打开<head>,发现里面有不少<script和<link开始引入的文件,这些文件一部分是javascript文件,一部分是css文件。在一个网站中,这类文件一般是不会发生变化的,也就是它的内容稳定,直到下次文件管理员或者有权限的人修改时...

2019-01-15 18:56:09 379

原创 python 模板中的语法

模板中的语法在上一讲的练习中,已经晓得,模板中{{placeholder}}可以接收来自python文件(.py)中通过self.render()传过来的参数值,这样模板中就显示相应的结果。在这里,可以将{{placeholder}}理解为占位符,就如同变量一样啦。这是一种最基本的模板显示方式了。但如果仅仅如此,模板的功能有点单调,无法完成比较复杂的数据传递。不仅仅是tornado,其它框架如...

2019-01-15 16:35:02 225

原创 python 网站 使用表单和模板

如果像前面那么做网站,也太丑陋了。并且功能也不多。在实际做网站中,现在都要使用一个模板,并且在用户直接看到的页面,用html语言来写页面。在做网站的行业里面,常常将HTML+CSS+JS组成的网页,称作“前端”。它主要负责展示,或者让用户填写一些表格,通过JS提交给用python写的程序,让python程序来处理数据,那些处理数据的python程序称之为“后端”。我常常提醒做“后端”的,不要轻...

2019-01-14 20:31:21 671

原创 Python 探析get和post方法

在开发网站的过程中,post和get是常见常用的两个方法,关于这两个方法的详细解释,请列为阅读这篇文章:《HTTP POST GET 本质区别详解》,这篇文章前面已经推荐阅读了,可以这么说,如果没有搞明白get和post,也可以写出web程序,但是如果要对这方面有深入理解,并且将来能上一个档次,是必须了解的。看下面的代码先:#!/usr/bin/env python#coding:utf-8...

2019-01-10 20:24:53 417

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