自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

yhy1271927580的博客

卧薪尝胆,三千将士可吞吴

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

原创 Python虚拟环境配置 ,主要介绍 pyenv 、 virtualenv 以及 Python的开发环境

Python虚拟环境配置主要介绍 pyenv 、 virtualenv 以及 Python的开发环境 (一) 安装pyenv安装git yum install -y git通过pyenv installer 安装pyenv curl -L https://raw.githubusercontent.com/pyenv/pyenv-installer/master/bin/pyenv-in

2017-05-27 22:34:07 472

原创 Python装饰器各种类型详解

装饰器装饰器有很多经典的使用场景,例如插入日志、性能测试、事务处理等等,有了装饰器,就可以提取大量函数中与本身功能无关的类似代码,从而达到代码重用的目的,而且还能将函数和类的功能进行扩充,实现被装饰对象的功能扩展的

2017-05-25 22:44:21 8554 3

原创 Python描述器实现类型检查

(一) 使用描述器对赋值过程做类型检查 上述代码的简要说明:a = A(1,’yhy’) 实例化A类的时候,self.x访问的x是类变量TypeCheck(‘a’,int),首先会初始化TypeCheck类,由于是self.x = x赋值会调用set方法,在set方法里面,instance.dict[self.srcType] = value, 就已经将赋值完成了。a.x 取值的时候,需要se

2017-05-25 16:38:22 465

原创 单进程日志分析

单进程日志分析 (一) 离线日志分析 # Python write by yhy# [10/Aug/2016:03:20:40 +0800]# %d/%b/%Y:%H:%M:%S %zimport datetimeimport reimport pprintimport pygal# 日志读取def read_log(path): with open(path) as f:

2017-05-25 16:27:58 349

原创 so.walk()简单实现,

(一)os.walk库的简单实现1:walk实现广度遍历# 广度遍历import osdef walk(path=None): if path is None: path = '.' dirs = [path] files = [] while dirs: path = dirs.pop() for f in os

2017-05-12 12:39:53 389

原创 TOP -- K 解决思路

模拟一个数据源,不断的产生数值,求一段时间内,最大的K个元素(这其实就是一个top k的问题)方法一:# 方法一对于求top k问题的思路是:首先将数据源产生的数据加入到列表里面,如果加入数据的时间段大于某段时间的话,将列表里的元素进行排序,pop列表的最后10个元素到另外一个列表里面,再返回最大10个元素的列表# Python write by yhy# 模拟一个数据源,不断的产生数值,求一

2017-05-11 12:05:38 239

原创 Python装饰器详解

装饰器详解Python装饰器

2017-05-10 14:25:03 506 1

原创 Haproxy+Keepalived+Varnish+LAMP+Memcacked+NFS 实现web站点的动静分离

Haproxy+Keepalived+Varnish+LAMP+Memcacked+NFS 实现web站点的动静分离 (一)架构拓扑图展示 (二)架构的简要说明本次动静分离的源码使用WordPress的开源程序,WordPress程序自身可以做到前台与后台的完全分离。为了演示效果,使用NFS共享存储(文件系统级共享)对外提供静态资源和动态资源,并且将静态资源挂载至静态主机,动态资源挂载至动态主

2017-04-16 13:42:03 1607

原创 LVS架构实战

第十七次博客作业 1、结合图形描述LVS的工作原理;功用:根据请求报文的目标IP和目标port将其调度转发至后端的某主机上,作用在OSI网络模型中的第四层LVS有四种集群类型,分别是:(一)lvs-nat:多目标的DNAT,根据请求报文中的目标地址和目标端口,在input链上对报文进行调度,将报文转发给后端的RS集群(二)lvs-dr:通过为请求报文重新封装一个Mac首部进行转发,源Mac是D

2017-03-09 17:36:50 673

原创 SED 和 AWK

第十五次博客作业 1、总结sed和awk的详细用法;sed工作机制:sed处理的文本文件首先会被读到pattern space中,然后再判断pattern space是否会被匹配到,如果匹配到,就会对匹配到的文本做编辑操作,之后再将被编辑的文本和没有被编辑的文本一同输出到标准输出。如果pattern space没有被匹配到,直接将没有被匹配到的文本输出至默认输出 sed命令的基本格式为:sed

2017-03-04 01:55:02 271

原创 脚本安装LNMP架构

1、源码编译安装LNMP架构环境;试验环境: nginx 主机IP:192.168.23.200php-fpm 主机IP:192.168.23.201mysql 主机IP:192.168.23.202试验步骤(1)在nginx 主机上源码编译安装nginx (先安装pcre-devel和openssl-devel) 1:编译参数为: ./configure --pr

2017-03-04 00:44:13 567

原创 防火墙规则编写

第十四次博客作业系统的INPUT和OUTPUT默认策略为DROP;试验环境搭建内部主机IP:10.0.1.22外网主机IP:内网IP:10.0.1.1 外网IP:192.168.23.99公网主机IP:公网IP:192.168.23.100 1、限制本地主机的web服务器在周一不允许访问;新请求的速率不能超过100个每秒;web服务器包含了admin字符串的页面不允许访问;web服务器仅允

2017-02-19 17:09:44 3453

原创 ftp、nfs、samba 实战

(一)建立samba共享,共享目录为/data,要求:(描述完整的过程)1)共享名为shared,工作组为magedu; 2)添加组develop,添加用户geetoo,centos和ubuntu,其中geetoo和centos以develop为附加组,ubuntu不属于develop组;密码均为用户名; 3)添加samba用户geetoo,centos和ubuntu,密码均为“mageedu

2017-02-12 18:55:48 612

原创 http web实战

(一)请描述一次完整的http请求处理过程http请求图解 (二)httpd所支持的处理模型有哪些,他们的分别使用于哪些环境。所谓httpd支持的处理模型及httpd的mpm机制 perfork:多进程模型,每个进程响应一个请求 一个主进程:负责生成子进程及回收子进程,负责创建套接字,负责接收请求,并将其派发给某子进程进行处理n个子进程:每个子进程处理一个请求工作模型:会预先生成5个空闲

2017-02-09 11:18:43 669

原创 N26---第一周作业(12月31日)

1.描述计算机的组成及功能计算机的硬件组成部分 CPU 运算器 主要负责二进制信息的算术运算,逻辑运算等控制器 主要负责从存储器中取出指令,保证各种操作的顺利完成寄存器(用于内部寄存数据)缓存(用于内部缓存数据)存储器:内存(RAM) 负责暂时存储数据的部件,计算机外存的程序运行,会加载到内存 ,开启一个进程。输入设备 负责给计算机输入信息。输出设备 负责输出计算机处理结

2017-01-01 01:29:30 404

原创 预习第一天上课笔记(2016年12月31日)

预习第一天上课笔记(2016年12月31日)(一):桌面共享使用vncviewer进行远程连接,vncviewer为客户端软件,服务端使用vncviewervnc一共有三个常用的实现远程桌面连接的软件:realvnc,tightvnc和UItarvnc(二):详细讲解马哥质料目录的使用方法但是好像我们的资料里面没有这些目录(三):老师推荐的PPT制作文档www.slideshare.ne

2016-12-31 22:20:07 528

原创 轮播图的简单制作(前端开发)

前端开发 — 轮播图的简单制作 下面简单的介绍轮播图的简单制作搭建结构给结构写好相应的样式通过javascript制作动画一:搭建结构在结构的搭建中,使用到了两个盒子,两个盒子的大小一样,一个用来显示轮廓,一个用来显示ul中的图片,screen中放ul和五个li,在li中放img用来显示图片。虽然小圆点的样式需要后来添加,但是需要先给小圆点写上样式。所以,我们应该先写上小圆点的结构,在

2016-09-07 21:01:40 1525

转载 block的用法

本文翻译自苹果的文档,有删减,也有添加自己的理解部分。如果有Block语法不懂的,可以参考fuckingblocksyntax,里面对于Block为了方便对比,下面的代码我假设是写在ViewController子类中的1、第一部分定义和使用Block,- (void)viewDidLoad{    [super viewDidLoad];    /

2016-07-29 01:42:27 337

转载 控制器跳转的几种方式

一、最普通的视图控制器UIViewContoller  一个普通的视图控制器一般只有模态跳转的功能(ipad我不了解除外,这里只说iPhone),这个方法是所有视图控制器对象都可以用的,而实现这种功能,有两种方法。  1、通过方法 - (void)presentViewController:(UIViewController *)viewControllerToPresent an

2016-07-29 01:41:12 2330

原创 iOS中线程的基本介绍(OC)

一:pthread:基于C二:NSThread:基于OC三:GCD:基于C四:NSOperation:对GCD面向对象的包装(一):GCD基本操作:六种任务执行模式- (void)touchesBegan:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event{// //创建串行队列// dispatch_queue_t queue

2016-07-10 23:24:07 839

转载 如何阅读apple官方文档

一直想写这么一个东西,长期以来我发现很多初学者的问题在于不掌握学习的方法,所以,Xcode那么好的SDK文档摆在那里,对他们也起不到什么太大的作用。从论坛、微博等等地方看到的初学者提出的问题,也暴露出他们不知道很多他们的疑惑其实在文档里面写的非常清楚。而有时候当他们想从文档去找解决方案的时候,也往往找不到。或者有些人意识到了,阅读文档是学习的好办法,但是不得要领。中国的技术社区有一个很没意思的

2016-07-09 00:10:31 403

原创 SVN项目托管---基本步骤

一:svn基本使用1.在终端下,输入cd Desktop,转到桌面。2.输入cd lisi,转到lisi文件夹。3.输入svn checkout http://7zxlvslpfhawn6s/svn/yhy/,初始化项目,其中http://7zxlvslpfhawn6s/svn/yhy/是项目的超文本连接。4.输入本机电脑的密码。5.输入允许访问的用户名和密码6.输入SVN status可以查看项目

2016-07-06 22:22:15 1583

原创 swift 3官方文档(读后感)

//:1. The sign of b is ignored for negative values of b. This means that a % b and a % -b always give the same answer. let a = -9let b = 4let c = a % blet d: Int? = 9//:2. The code above uses the tern

2016-07-05 17:06:43 457

原创 如果实现Swift --- OC混编(swift)

如何实现swift和oc的混编呢,方法很简单,通过在swift工程中建立Bridging header.h的头文件,在文件中导入头文件就是,看看图片展示吧!首先用oc创建一个Cocoa类,取名为OC,继承NSObject在.h文件中声明一个函数,在.m文件中实现这个函数别切在Bridging header.h的文件导入OC.h 下面就能够在swift文件中创建这个oc类的实例对象,并且调用其方

2016-07-04 16:41:02 215

原创 iOS --- 错误处理部分(swift2.3)

iOS — 错误处理部分(swift) 下面简单的介绍错误处理部分的应用强制退出程序ErrorType错误处理defer一:强制退出程序//满足条件才能通过,程序不会终止assert(1>0)assert(1<0, "Error")//assertionFailure("Error")//无论是否满足条件,程序都会终止precondition(1>0)precondition(1

2016-07-04 15:34:17 303

原创 iOS --- 面向协议的编程(swift2.3)

iOS — 面向协议的编程(swift) 下面简单的介绍面向协议的编程的应用扩展协议和默认实现面向协议编程协议聚合泛型约束swift是面向协议的编程语言UIKit中的委托模式创建自己的委托模式可选的协议方法一:扩展协议和默认实现protocol Record: CustomStringConvertible{ var wins: Int {get} var los

2016-07-04 14:28:37 2567

原创 iOS --- 协议部分(swift2.3)

iOS — 协议部分(swift) 下面简单的介绍协议部分的应用协议基础协议和构造函数为什么使用协议类型别名(typealias)和光联类型(associated type)标准库中常用的协议一:协议基础protocol Pet{ //: 协议里面的属性,只能说明是可读还是可写 // 对于属性,不能有初始值 var name: String{ get set }

2016-07-03 23:54:17 418

原创 iOS --- 扩展和泛型(swift2.3)

iOS — 扩展和泛型(swift) 下面简单的介绍扩展和泛型的应用扩展基础嵌套类型扩展标准库泛型函数泛型类型一:扩展基础struct Point{ var x = 0.0 var y = 0.0}struct Size{ var width = 0.0 var height = 0.0}class Rectangle{ var origin

2016-07-03 16:44:04 693

原创 iOS --- 下标和计算符重载(swift2.3)

iOS — 下标和计算符重载(swift) 下面简单的介绍下标和计算符重载的应用下标基础多维下标运算符重载基础重载比较运算符自定义运算符一:下标基础struct Vector3 { var x:Double = 0.0 var y:Double = 0.0 var z:Double = 0.0 subscript(index: Int) ->Double?{/

2016-07-02 18:05:49 352

原创 自定义数据类型 --- 继承和构造函数(swift2.3)

自定义数据类型 — 继承和构造函数(swift) 下面简单的介绍继承和构造函数的应用继承基础多态性重载两段式构造便利构造函数和指定构造函数构造函数的继承required构造函数一:继承基础//继承其实即使子类拥有父类所有的方法和属性二:多态性//多态:当一个类继承另一个类的时候,它的属性类型就可以为子类的类型,在这种情况下,可以通过父类,对子类的方法进行操作(很肤浅的理解)三:重载

2016-07-02 13:36:30 594

原创 自定义数据类型 --- 类的属性和方法全解(swift2.3)

自定义数据类型 — 类的属性和方法(swift) 下面简单的介绍结构体这一自定义数据类型的应用计算属性类型属性类型方法属性观测器延迟属性访问控制单例模式初探一:计算属性struct Point { var x = 0.0 var y = 0.0}struct Size { var height = 0.0 var width = 0.0}class Rect

2016-07-02 00:04:32 665

原创 自定义数据类型 --- 类全解(swift2.3)

自定义数据类型 — 类(swift) 下面简单的介绍结构体这一自定义数据类型的应用类的基本语法类是引用类型引用类型的特点类的等价什么时候使用类,什么时候使用结构体一:类的基本语法class Person { var firstName: String var lastName: String init(firstName: String, lastName: Str

2016-07-01 01:25:34 630

原创 自定义数据类型 --- 结构体类型全解(swift2.3)

自定义数据类型 — 结构体(swift) 下面简单的介绍结构体这一自定义数据类型的应用结构体的基本语法结构体中构造函数可失败的构造函数在结构体和枚举中定义方法结构体和枚举类型都是值类型随处都使用的结构体一:结构体的基础语法struct Location {//结构体中可以声明属性可以不初始化 let x: Double let y: Double}//这里定义一个结构体变

2016-06-30 23:10:22 642

原创 自定义数据类型 --- 枚举类型全解(swift2.3)

自定义数据类型 — 枚举(swift) 下面简单的介绍枚举这一自定义数据类型的应用枚举的基本语法枚举中rawValue应用枚举中associatedValue应用可选型的实质类型就是枚举枚举的递归应用枚举的基础语法//: 1.定义一个类型为Month的枚举类型,这个枚举类型有12种可能性 enum Month { case January,February,Ma

2016-06-30 12:55:23 1208

原创 6月20日--swift3常量与变量

swift 3(6月20日) 基本类型(Basic Types)一:基本数据类型的定义使用let关键字定义常量,var关键字定义变量 如果在对于常量和变量的基本类型没有足够的信息说明,可以在变量名后面加个冒号,在说明变量的类型 如果你想将一个常量或者变量转变其类型,可以将需要转变的类型写在前面,后面加上括号,括号里面写需要转变的名称 apple官方也介绍一种更简单的方法,将要转变类型的变量名

2016-06-23 01:20:43 285

原创 文章标题

关于navigationController的rootViewController哪个控制器作为navigationviewcontroller的rootviewcontroller,控制器的第一个控件就会将这个控件的上半部分加上64,这是由于作为导航控制器的跟控制器决定的

2016-06-14 17:25:28 288

转载 Xcode6中如何添加pch文件

在Xcode6之前,新建一个工程的时候,系统会帮我们自动新建一个以工程名为名字的pch (precompile header)文件,在开发过程中,可以将那些整个工程都广泛使用的头文件包含在该文件下,编译器就会自动的将pch文件中的头文件添加到所有的源文件中去,这样在需要使用相关类的时候不需要使用import就可以直接使用头文件中的内容,很大程度上带来了编程的便利性,但潜在的也带来了一些问题,这也是

2016-04-30 15:36:44 436

转载 UINavigationItem和UItabBarItem的区别详解

一、UINavigationItem1> 获得方式self.navigationItem // self是指控制器 2> 作用可以用来设置当前控制器顶部导航栏的内容// 设置导航栏中间的内容self.navigationItem.titleself.navigationItem.titleView 二、UIBarBut

2016-04-29 20:03:33 302

转载 常见的iOS对动画的操作

常见的iOS对动画的操作分为两类:CALayer层的操作UIView的操作二者有何区别UIView里面包含有一个CALayer层UIView之所以能够在屏幕上显示出来,完全因为其内部拥有一个CALayer层CALayer层的操作更底层更轻量级、性能更高。UIView动画执行完毕之后不会反弹,而CALayer动画

2016-04-28 12:35:40 316

转载 iOS开发UI篇—UITabBarController简单介绍

iOS开发UI篇—UITabBarController简单介绍一、简单介绍UITabBarController和UINavigationController类似,UITabBarController也可以轻松地管理多个控制器,轻松完成控制器之间的切换,典型的例子就是QQ、微信等应⽤。 二、UITabBarController的使用1.使用步骤:(1)初始

2016-04-28 12:32:46 285

空空如也

空空如也

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

TA关注的人

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