- 博客(51)
- 资源 (3)
- 收藏
- 关注
原创 设计模式全解析(一)——带你搞懂设计模式
各位朋友,一提到“设计模式”四个字,是不是有一种若隐若现的朦胧感,“我知道设计模式,我知道单例、工厂、观察者、策略...”,但是设计模式到底是什么呢?解决了什么问题呢?接下来我会一步一步解析一下设计模式,以及各个不同的设计模式到底要做的是什么。我们先看一个完整设计模式的minmap。是不是看着还挺多的,但其实内容并没有多少,本篇给大家罗列一个大纲,针对每一种设计模式,再单独深入探究讨论,通过实践的形式让设计模式轻快简单易懂。(在此感谢@小傅哥|bugstack.cn 以及其他各位前辈的指导,
2021-08-26 18:53:21
529
原创 Redis全解析(一):核心,持久化,集群
在平时做项目的过程中,不知不觉已经使用Redis很久了,但是一直没有好好学习和总结,今天就抽出来大块的时间,好好学习和整理了一下Redis的全部内容,做了一个完整的全解析。然鹅精力有限,只整理了其中的一部分内容,后续再继续整理。总的脑图可能比较大,拆分成不同几块再贴出来。后续,会对整个脑图的每一个模块进行专门的讲解。...
2021-08-20 23:41:00
190
原创 Zookeeper实现原理
1、Zookeeper的角色领导者(leader),负责进行投票的发起和决议,更新系统状态。 学习者(learner),包括跟随者(follower)和观察者(observer),follower用于接受客户端请求并想客户端返回结果,在选主过程中参与投票Observer可以接受客户端连接,将写请求转发给leader,但observer不参加投票过程,只同步leader的状态,observer的目的是为了扩展系统,提高读取速度。 客户端(client),请求发起方。• Zookeepe.
2021-08-09 13:21:18
300
原创 MacOS 更新系统或XCode后Terminal使用Git报错的问题
更新了XCode后,在Terminal使用git,发现报错:dyld: Library not loaded: @rpath/libswiftCore.dylib Referenced from: /Applications/Xcode.app/Contents/Developer/usr/bin/xcodebuild Reason: image not foundgit: err...
2019-09-23 10:44:18
6144
1
原创 Mac OSX python 安装pandas numpy scrapy的问题
OSX 使用 pip 来安装pandas的时候,发现安装不了,会报以下的错误:[Errno 1] Operation not permitted: '/var/folders/5n/vbm997m56xg3kw67y6bccn2m0000gn/T/pip-4tcBsd-uninstall/System/Library/Frameworks/Python.framework/Versions/2
2017-11-21 11:46:46
2634
原创 CentOS7.4 编译安装php7
记录一下编译安装PHP7的过程,希望大家能够用得上。另外,推荐大家多多使用编译安装,不要排斥,编译安装有很多好处。第一步,准备工作新申请的机器是CensOS 7.4的系统,可以直接用yum安装工具包yum -y groupinstall "Development tools"yum -y install gcc gcc-c++ autoconf automake libto
2017-11-02 15:59:55
658
原创 微信红包-找出数组中过半数的数字
题目春节期间小明使用微信收到很多个红包,非常开心。在查看领取红包记录时发现,某个红包金额出现的次数超过了红包总数的一半。请帮小明找到该红包金额。写出具体算法思路和代码实现,要求算法尽可能高效。给定一个红包的金额数组gifts及它的大小n,请返回所求红包的金额。没找到,返回0。思路思路一:部分快速排序受快速排序的partition函数的启发,我们可以利用反
2017-03-02 15:48:27
829
原创 Git 取消追踪某个文件
$ git rm --cached 如果是目录的话:$ git rm -r --cached 这个操作不会本地删除文件或文件夹
2017-02-09 10:51:46
4164
原创 进程间通讯的方式中哪种的访问速度最快
进程间通讯的方式:管道中还有命名管道和非命名管道之分,非命名管道只能用于父子进程通讯,命名管道可用于非父子进程,命名管道就是FIFO,管道是先进先出的通讯方式。FIFO是一种先进先出的队列。它类似于一个管道,只允许数据的单向流动。每个FIFO都有一个名字,允许不相关的进程访问同一个FIFO,因此也成为命名管。消息队列:是用于两个进程之间的通讯,首先在一个进程中创建一个消息队列,然后再往消息
2017-01-13 18:34:12
16349
1
原创 一道苹果公司的面试题
有一道苹果公司面试软件工程师的面试题,题目如下:有100枚硬币平摆在桌面上,每个都有正面和背面。其中,10个正面朝上,剩余90个背面朝上。你不能触摸、看以及以任何其它方式去感知它们是处于正面或者是背面。请将硬币分成两拨,使每一拨里正面朝上的硬币数目一致。解法其实很简单:从100枚硬币中,分出来10枚,翻转,则翻转后的10枚堆和剩余的90枚堆,正面朝上的硬币数目一样。
2016-12-20 12:28:20
1369
转载 一道有趣的面试题
转载自:http://www.cricode.com/3558.html现在很多大型IT企业在面试时都喜欢问一些智力相关的题目,虽然智力面试题在面试笔试中占的比例不大,但很多时候,面试环节中智力题往往会成为我们拿offer的最大拦路虎。因为有些面试官认为通过智力题可以考查你的思维能力、抽象问题的能力。下面是一道很经典的智力型面试题,也是我一朋友在BAT面试中亲身见识过的一道题。各位
2016-12-08 15:57:57
839
转载 HTTPS 和 HTTP 的区别
什么是 HTTPS?HTTPS (基于安全套接字层的超文本传输协议 或者是 HTTP over SSL) 是一个 Netscape 开发的 Web 协议。你也可以说:HTTPS = HTTP + SSLHTTPS 在 HTTP 应用层的基础上使用安全套接字层作为子层。为什么需要 HTTPS ?超文本传输协议 (HTTP) 是一个用来通过互联网传输和接收信息的
2016-12-08 15:42:29
722
原创 MySQL学习之——show processlist
SHOW PROCESSLIST显示哪些线程正在运行。您也可以使用mysqladmin processlist语句得到此信息。如果您有SUPER权限,您可以看到所有线程。否则,您只能看到您自己的线程(也就是,与您正在使用的MySQL账户相关的线程)。请参见13.5.5.3节,“KILL语法”。如果您不使用FULL关键词,则只显示每个查询的前100个字符。本语句报告TCP/IP连接的主机名称
2016-09-01 12:18:56
1065
原创 Mac下使用brew搭建PHP7+nginx+mysql开发环境
由于新换了个macbook,原来的mac上的环境搭建也已经很久没搭建过了,于是重新整理一下搭建过程。Mac下自带了php,但是最近想新尝试一下php7的相关特性,于是就重新搭建个php吧。mac下有个很棒的第三方包的管理程序——homebrew,建议大家在mac下搭建环境的时候使用这个来做。闲话不多说,直接开干。HomeBrewbrew的安装,直接上官网:http://brew
2016-08-17 14:42:22
9431
原创 MySQL学习之——关于or的索引问题
问:不是说,一条sql语句只能用一个索引么但SELECT * FROM `comment` WHERE `toconuid` = '10' or `tocomuid` = '10'其中 toconuid列 和 tocomuid列 分别为单列索引explain后 显示两个索引都用了,extra为 Using union(toconuid,tocomuid); Usin
2016-07-28 17:06:12
668
原创 PHP设计模式之——策略模式
策略模式(Strategy Pattern)是对象的行为模式,是对一组算法的抽象封装,动态的选择算法使用。在我们的日常生活中,策略模式体现在方方面面:早上起床我去公司,可以坐公交,可以坐出租车,也可以步行,最终的目的都是到达公司,但是却使用了不同的资源。策略模式的三个角色:抽象策略角色具体策略角色环境角色(对抽象策略角色的引用)策略模式的实现步骤:定义抽象角色(
2016-07-18 11:09:01
664
转载 BigPipe:高性能的“流水线技术”网页
原文地址:http://www.facebook.com/note.php?note_id=389414033919译文地址:http://isd.tencent.com/?p=2419作者:蒋长浩Facebook的网站速度做为最关键的公司任务之一。在2009年,我们成功地实现了Facebook网站速度提升两倍 。而正是我们的工程师团队的几个关键的创新使它成为可能。在本文中,我将向
2016-07-15 12:02:05
472
原创 操作系统面试题总结
1、什么是进程(Process)和线程(Thread)?有何区别? 进程是具有一定独立功能的程序关于某个数据集合上的一次运行活动,进程是系统进行资源分配和调度的一个独立单位。线程是进程的一个实体,是CPU调度和分派的基本单位,它是比进程更小的能独立运行的基本单位。线程自己基本上不拥有系统资源,只拥有一点在运行中必不可少的资源(如程序计数器,一组寄存器和栈),但是它可与同属一个进程的其他的
2016-07-15 11:18:40
5927
转载 PHP内核——变量的容器Zval
本文转载自(http://blog.youkuaiyun.com/ohmygirl/article/details/41542445)作为数据的容器,我们常常需要跟变量打交道,不管这个变量是数字、数组、字符串、对象还是其他,因而可以说变量是构成语言的不可或缺的基础。本文是PHP内核探索之变量的第一篇,主要介绍zval的基本知识,包括如下几个方面的内容:Zval的基本结构查看zval的方法:de
2016-07-15 10:59:47
707
原创 mac下文件带有扩展属性的问题
在mac下开发的时候,经常会发现有些文件的属性后面,有个@符号如上图所示。为什么呢?在mac os 下 HFS+的文件系统里,有时候有些文件会附加上mac的专有属性,@属性就表示文件或文件夹是来自互联网下载去掉方法:xattr -l 文件名:查看attrxattr -d 属性名:删除attr
2016-07-13 17:53:55
3976
转载 DNS 原理入门
文章转载自阮一峰网络博客(http://www.ruanyifeng.com/blog/2016/06/dns.html)DNS 是互联网核心协议之一。不管是上网浏览,还是编程开发,都需要了解一点它的知识。本文详细介绍DNS的原理,以及如何运用工具软件观察它的运作。我的目标是,读完此文后,你就能完全理解DNS。一、DNS 是什么?DNS (Domain Na
2016-07-13 14:49:35
423
原创 HTTP请求
HTTP(HyperText Transfer Protocol)是一套计算机通过网络进行通信的规则。计算机专家设计出HTTP,使HTTP客户(如Web浏览器)能够从HTTP服务器(Web服务器)请求信息和服务,HTTP目前协议的版本是1.1.HTTP是一种无状态的协议,无状态是指Web浏览器和Web服务器之间不需要建立持久的连接,这意味着当一个客户端向服务器端发出请求,然后Web服务器返回响应(
2016-07-12 12:47:05
3311
原创 机器学习之——机器学习应用建议
机器学习的应用建议好久没有更新机器学习的学习笔记了,上一次还是更新的神经网络的部分。这一次我们来聊一聊,机器学习的应用建议。决定下一步做什么假设我们需要用一个线性回归模型(Linear Regression)来预测房价,当我们运用训练好了的模型来预测未知数据的时候,发现有较大的误差,我们下一步可以做什么?获得更多的训练实例——通常是有效的,但是代价较大,下面的方法也
2016-07-11 17:24:10
3170
原创 Linux下Thrift的安装
安装环境:CentOS Linux 6.8安装步骤:Building Apache Thrift on CentOS 6.5Starting with a minimal installation, the following steps are required to build Apache Thrift on Centos 6.5. This example bu
2016-07-11 15:38:46
7369
1
原创 Linux下tar.xz tar.bz2 tar.gz 等文件的解压
今天在尝试重新编译自己的开发环境的时候,下载了一些安装包,发现是以tar.xz tar.bz2等格式结尾的,就记录一下linux下如何解压这些格式的文件:$tar -zxvf ***.tar.gz //以gz结尾$tar -xjvf ***.tar.bz2 //以bz2结尾$tar -xvjf ***.tar.xz //以xz结尾再顺便讲解一下tar的用法:-c
2016-07-11 12:36:23
1016
原创 MySQL学习之——索引(普通索引、唯一索引、全文索引、索引匹配原则、索引命中等)
在上一篇博客中,我们主要探讨了关于MySQL锁的一些问题。这一次,我们主要来聊聊,MySQL中的索引。MySQL是目前绝大多数互联网公司使用的关系型数据库,它性能出色、资源丰富、成本低廉,是快速搭建互联网应用的首选关系型数据库。但是,俗话说,“好马配好鞍”,仅仅会使用MySQL是不够的,对MySQL在不同场景下使用性能的最小化使用代价,是一个重要的课题。一般,在互联网公司的大部分业务中,读写的
2016-06-20 13:58:06
37859
5
原创 MySQL学习之——锁(行锁、表锁、页锁、乐观锁、悲观锁等)
锁,在现实生活中是为我们想要隐藏于外界所使用的一种工具。在计算机中,是协调多个进程或县城并发访问某一资源的一种机制。在数据库当中,除了传统的计算资源(CPU、RAM、I/O等等)的争用之外,数据也是一种供许多用户共享访问的资源。如何保证数据并发访问的一致性、有效性,是所有数据库必须解决的一个问题,锁的冲突也是影响数据库并发访问性能的一个重要因素。从这一角度来说,锁对于数据库而言就显得尤为重要。
2016-06-14 12:04:57
66456
36
原创 机器学习之——神经网络学习
很久没更新博客了,这一次我们继续之前的机器学习的课程,这一节我们讨论机器学习里面重要的一个算法——神经网络(Nerual Network)的学习部分。神经网络的代价函数首先我们要引入一些标记,以便在后面讨论中使用:我们回想一下,在逻辑回归(Logistic Regression)问题中,我们的代价函数(Cost Function)如下:在逻辑回归中,我们只有一个输出
2016-05-31 16:41:09
2047
原创 机器学习之——神经网络模型
之前我们了解了神经网络模型(Nerual Network),这一次,我们来具体讨论一下神经网络模型的表达。我们知道,神经网络模型是许多逻辑单元(Logistics Unit)按照不同的层级组织起来的网络,每一层的输出变量作为下一层的输入变量。如下图,是一个三层的神经网络,第一层为输入层(Input Layer),最后一层为输出层(Output Layer),中间的一层为隐藏层(Hidden
2016-05-12 18:38:51
24392
1
原创 机器学习之——初识神经网络
在讨论神经网络之前,我们先回顾一下之前的一系列讨论。之前我们已经讨论过,非线性假设(Non-Linear Hypothesis),使用非线性的多项式能够帮助我们建立更好的分类模型(Classification)。假设我们有非常多的特征,例如大于10000个变量,我们希望用这10000个特征来构建一个非线性的多项式模型,那么结果将是数量非常惊人的特征组合,即便我们只采用两两特征的组合(x1x2+
2016-05-05 17:57:24
1439
原创 机器学习之——归一化线性回归与归一化逻辑回归
之前的博客里,跟大家分享了归一化(Regularization)的概念:保留所有的特征,但是减小参数的大小(Magnitude)。这一次捏,跟大家讨论讨论,归一化线性回归模型和归一化逻辑回归模型。首先跟大家明确一件事,为什么有些机器学习的模型需要用到归一化这个方法呢?答案有两条:归一化能够加快梯度下降的步伐,也就是获得最优解的速度归一化能够提交模型的精度具体的分析我们可以后
2016-04-29 16:14:53
13411
3
原创 机器学习之——归一化
之前我们讨论了几个机器学习的模型,线性回归模型(Linear Regression)和逻辑回归模型(Logistic Regression),这一次我们讨论一下关于模型数据拟合的问题以及归一化方法(Regularization)。过拟合问题(The Problem of Overfitting)如果我们有非常非常多的特征,我们通过学习得到的假设可能会非常适应训练集(代价函数的值可能几乎为0
2016-04-27 15:27:12
6022
原创 机器学习之——多类分类问题
在之前的博客中,我们讨论了逻辑回归模型(Logistic Regression)解决分类问题。但是我们发现,逻辑回归模型解决的是二分问题,即:模型的结果只有两个值,y=0 or y=1 。但是在现实情境下,我们的训练集往往包含多个类(>2),我们就无法用一个二元变量(y=0|y=1)来做判断依据了。举个例子,我们预测天气,天气的情况就分为:晴天、阴天、雨天、多云、雪天、雾天等等。下面是一个多类
2016-04-25 18:30:45
17634
原创 机器学习之——判定边界和逻辑回归模型的代价函数
判定边界(Decision Boundary)上一次我们讨论了一个新的模型——逻辑回归模型(Logistic Regression),在逻辑回归中,我们预测:当hø大于等于0.5时,预测y=1当hø小于0.5时,预测y=0根据上面的预测,我们绘制出一条S形函数,如下:根据函数图像,我们知道,当 z=0时,g(z)=0.5 z>0时,g(z)>0.5
2016-04-25 11:21:07
15166
原创 机器学习之——逻辑回归
在讨论逻辑回归问题(Logistic Regression)之前,我们先讨论一些实际生活中的情况:判断一封电子邮件是否是垃圾邮件?判断一次交易是否是欺诈交易?判断一份文件是否是有效文件?这类问题,我们称之为分类问题(Classication Problem)。在分类问题中,我们往往尝试去预测的结果是否属于某一个类(正确活错误)。我们从二元的分类问题开始讨论,即问题是正确或错误的。我们将因变
2016-04-21 18:45:22
5553
原创 机器学习之——多项式回归和正规方程
上一次我们分享了多变量线性回归模型(Linear Regression with Multiple Variables),这一次我们来讨论一下多项式回归(Polynomial Regression)和正规方程(Normal Equation)。(我们还是讨论房价预测的问题)多项式回归有时候,线性回归并不适用于所有全部的数据,我们需要曲线来适应我们的数据,比如一个二次方模型:
2016-04-19 11:24:58
6590
原创 机器学习之——多变量线性回归
在之前的博客中,描述过单变量线性回归(Linear Regression with One Variables)的模型,这次来分享一下多变量线性回归模型(Linear Regression with Multiple Variables)。我们还是使用之前的问题,对房价的预测。这一次增加更多的特征,例如房子的楼层数、卧室数量等,这样就构成了一个含有多个变量的模型,模型中的特征我们标记为(X
2016-04-18 19:02:17
7739
原创 PHP设计模式之——工厂模式
在开发大型系统过程中,往往会出现这样一种情况:我有一部分基础数据,是类classA是从数据库A读取出来的,其他很多的功能都是基于这个基础数据来操作的。现在呢,我想把数据从数据库A变成从另外的数据源去获取,这时候,要修改起来就比较麻烦,要修改其他很多类的代码。这种设计显然是不够灵活的,换句话说,就是紧耦合的,系统中某个部分的函数或类严重依赖于系统的其他部分中的函数或类的行为和结构。工厂模式,
2016-04-18 17:11:08
11003
原创 机器学习之——单变量线性回归
线性回归线性回归(Linear Regression)作为Machine Learning 整个课程的切入例子确实有独到的地方,以简单的例子为出发点,将学习任务的主干串起来。
2016-04-14 23:00:07
1599
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人