3 Lockheed_Hong

尚未进行身份认证

服务端开发者、团队管理者、互联网创业者。7年多经验

等级
博文 24
排名 34w+

如何在技术领域快速成长

摘要: 工作前三年是职业生涯中成长最快的几年,在这段时间里你会充满激情,做事专注,也容易养成良好的习惯。在我们公司有些同学在前三年中就快速成为某一个领域的技术专家,有些同学也可能止步不前。本文和大家一起探讨下如何在三年内快速成长为一名技术专家。工作前三年是职业生涯中成长最快的几年,在这段时间里你会充满激情,做事专注,也容易养成良好的习惯。在我们公司有些同学在前三年中就快速成为某一个领域

2017-10-18 17:34:42

CDN的基本工作过程

摘要: 使用CDN会极大地简化网站的系统维护工作量,网站维护人员只需将网站内容注入CDN的系统,通过CDN部署在各个物理位置的服务器进行全网分发,就可以实现跨运营商、跨地域的用户覆盖。由于CDN将内容推送到网络边缘,大量的用户访问被分散在网络边缘,不再构成网站出口、互联互通点的资源挤占,也不再需要跨越长距离IP路由了。CDN是如何工作的呢?先看看没有CDN服务时,一个网站是如何向用户提供服务的

2017-10-15 16:49:31

redis bitmap的秘密

摘要:redis现在已经是被很普遍使用的工具了,但很多人可能对于redis内的bitmap还并不熟悉甚至不知道。bitmap是属于string类型的一种数据结构,说到底就是1/0存储的bit位数据,可以用于很多的统计、数据分析等应用场景(互补于hadoop等一些重量级工具),由于是使用计算机最基本的存储结构,所以存储空间消耗非常低,并且可以做各种告诉运算。下面就是一篇从bitmap数据结构到实际应

2017-10-15 16:17:05

mysql基础,binlog,redo log,undolog

1.binlog是MySQLServer层记录的日志,redolog是InnoDB存储引擎层的日志。两者都是记录了某些操作的日志(不是所有)自然有些重复(但两者记录的格式不同)。2.选择binlog日志作为replication我想主要原因是MySQL的特点就是支持多存储引擎,为了兼容绝大部分引擎来支持复制这个特性,那么自然要采用MySQLServer自己记录的日志而不是仅仅

2017-09-10 14:36:29

无意中看到的一个很有意思的面试题,来做做~

摘要:无意中在其他人的博客看到一道面试题,非常有意思。给出了一个简单的需求和代码段,然后要求面试者提出问题并修复优化。首先是形式特别,一般都是直接提出问题,博主也一直都是这个思路,这里给出了让面试者修复和优化代码的机会。其二,用一个简单的需求包含了很多基础点,很能考验面试者的真功力。这篇博文先放出问题,大家可以在评论回答(建议用1.2.3.4这种形式列出),之后还有另一篇文章会公布结果。<?php

2017-08-10 15:48:31

PHP RabbitMQ 实践第三部 - 工作队列

工作队列(使用php-amqplib库)在本教程第一部分我们已经写完了从一个指定队列发送和接收消息的程序。在这一章节中,我们会创建一个工作队列(WorkQueue)来分发耗时的任务给多个工作者(worker)。工作队列(也被称为任务队列-taskqueue)主要是避免立即执行资源密集型任务并且还要等待它执行完毕。相反,需要让任务稍后执行,我们把一个任务当做一条信息发送给队列,后台运行

2017-07-31 13:42:43

PHP RabbitMQ 实践第二步 - 简单应用

rabbitMQ的一些概念的落地与实践操作,借用了php-amqplib对rmq进行操作。内容都是引自于rabbitMQ的官网,所以可以确保可靠性,并对内容做了挑选,如果要查看原文,在文章结尾处有原文地址。准备工作先决条件本教程先决条件是RabbitMQ已经安装并正在以5672端口运行在localhost,如果你使用了不同的域,端口,用户,密码,连接配置需要适当改变。获得帮助如果在本教程中遇到问

2017-07-31 13:29:47

rabbitMQ php实践第一步,安装与其中的坑

摘要:经过了两天的rabbitMQ的理论学习,决定开始实践。本想着一个中间件的安装应该挺简单的,没想到也是大坑跌出,最终把经验记录一下一、安装rabbitMQrabbitMQ(以下全部简称为rmq)是由erlang编写的,在安装rmq之前应该还要安装erlang的环境。不过在mac上由于homebrew的存在就是这一切变得很简单:$brewupdate$bre

2017-07-25 14:50:33

PHP五大运行模式

php一共分为五大运行模式:包括cgi、fast-cgi、cli、isapi、apache模块的DLLCGICGI即通用网关接口(CommonGatewayInterface),它是一段程序,通俗的讲CGI就象是一座桥,把网页和WEB服务器中的执行程序连接起来,它把HTML接收的指令传递给服务器的执行程序,再把服务器执行程序的结果返还给HTML页。CGI的跨平

2017-07-21 14:34:28

PHP Input/Output缓冲区

摘要:这也是一篇修炼内功的博文,文章主题是转载,标记上了重点和添加了一些自己的理解。什么是缓冲区 缓冲区又称为缓存(备注1),它是内存空间的一部分。也就是说,在内存空间中预留了一定的存储空间,这些存储空间用来缓冲输入或输出的数据,这部分预留的空间就叫做缓冲区。缓冲区根据其对应的是输入设备还是输出设备,分为输入缓冲区和输出缓冲区。为什么要引入缓冲区

2017-07-21 14:17:58

mac OS下的资源限制 以及 引出的ulimit, launchctl, sysctl区别

今天在模拟一个大量socket连接的时候系统告诉我socket:Toomanyopenfiles,之后在查阅怎么修改配置的时候发现了有好几种方式,ulimit,launchctl,sysctl都可以修改文件打开上限,但是在cli下launchctl和sysctl的maxfiles修改都只是改变了参数,cli下的socket连接依然无法创建更多。折腾了将近一下午,终于解决问题,把这些理清

2017-07-17 18:10:55

深入PHP内核(一)——弱类型变量原理探究

摘要:深入PHP内核系列为转载,从弱类型实现到SAPI(serverapplicationprogramminginterface)实现,探索php不同的运行模式以及生命周期。博主在从新拿出这篇文章的时候顺便仔细的从新划了一遍重点,一直很认可下面原作者的一段话,这里提前引用了一下:技术的深入学习就像职业篮球训练,80%的时间都是基本功的训练,球场上实际战术的练习只是基本功的应用。

2017-07-17 17:13:30

PHP并发IO编程之路

引言:这是一篇转载自rango的文章,根据自己的理解划了重点。并发IO问题一直是服务器端编程中的技术难题,从最早的同步阻塞直接Fork进程,到Worker进程池/线程池,到现在的异步IO、协程。PHP程序员因为有强大的LAMP框架,对这类底层方面的知识知之甚少,本文目的就是详细介绍PHP进行并发IO编程的各种尝试,深入浅出全面解析并发IO问题。多进程/多线程同步阻塞

2017-07-13 11:13:23

RPC与netty

关于RPC你的题目是RPC框架,首先了解什么叫RPC,为什么要RPC,RPC是指远程过程调用,也就是说两台服务器A,B,一个应用部署在A服务器上,想要调用B服务器上应用提供的函数/方法,由于不在一个内存空间,不能直接调用,需要通过网络来表达调用的语义和传达调用的数据。比如说,一个方法可能是这样定义的:EmployeegetEmployeeByName(Stringful

2017-07-10 15:25:00

彻底弄懂 Http 缓存机制 - 基于缓存策略三要素分解法

彻底弄懂Http缓存机制-基于缓存策略三要素分解法 本文系腾讯Bugly独家内容,转载请在文章开头显眼处注明作者和出处“腾讯Bugly(http://bugly.qq.com)”导语Http缓存机制作为web性能优化的重要手段,对从事Web开发的小伙伴们来说是必须要掌握的知识,但最近我遇到了几个缓存头设置相关的题目,发现

2017-06-21 16:36:27

不可小觑的Content-Length

Content-Length首部告诉浏览器报文中实体主体的大小。这个大小是包含了内容编码的,比如对文件进行了gzip压缩,Content-Length就是压缩后的大小(这点对我们编写服务器非常重要)。除非使用了分块编码,否则Content-Length首部就是带有实体主体的报文必须使用的。使用Content-Length首部是为了能够检测出服务器崩溃而导致的报文截尾,并对共享持久连接的多个报文进行

2017-06-21 15:45:46

linux进程监控和简单的重启

现在很多应用场景都会需要使用守护进程直接运行代码,会有情况导致出现异常进程退出,那就很影响用户使用了,这里提供一个简单的linux进程监控和重启来保证进程正常运行。脚本文件该脚本实现了一个检测进程是否存在,不存在的情况下重启进程并且记录日志。#!/bin/shproc_name="console/queue/gift.php"#进程名log_name=

2017-06-21 15:43:24

关于生产环境服务器的登录安全问题

引言:作为一个整天和服务器打交道的开发者,经常需要登录服务器。普通的开发服务器还好点,架设在内网,稳定性要求也没有那么高。但是生产服务器的安全性就非常重要了,那有没有办法既保证安全又不让登录那么麻烦的策略呢?个人在实践过程中总结出了一个简单的登录账号管理体系,大致是一下这几部分:一、传统密码的缺点1、用习惯的容易记忆的密码被破解的难度很低,这个想必在生产服务器上都不会去做这种事

2017-06-19 14:20:41

linux常用命令

虽然系统运维在大公司是一个独立岗位,但作为一个服务端开发,了解服务器系统是很重要的事情,这能让开发者更全面的了解worldofmachine。而了解linux命令则是一个很重要的途径和工具。系统信息arch显示机器的处理器架构(1)uname-m显示机器的处理器架构(2)uname-r显示正在使用的内核版本dmidecode-q显示硬件系统部件-(SMBIOS/D

2017-06-19 13:39:25

emoji字符的存储与应用方案

现在应用大量的地方会使用到emoji表情,例如微信昵称,聊天内容,好友请求等等。如果还是使用ut8会出现乱码,因为UTF-8编码有可能是两个、三个、四个字节。Emoji表情是4个字节,而Mysql的utf8编码最多3个字节,utf8mb4则扩展到一个字符最多能有4字节,并且兼容utf8,唯一的缺点就是占用存储空间会比ut8大一点。如果采用在代码内碰到emoji字符时进行编码处理,一

2017-06-16 15:50:09
奖章
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!