- 博客(26)
- 收藏
- 关注

原创 程序员的选择,工作感悟
前言很多年前,刚刚从大学毕业的时候,很多公司来校招。其中最烂俗的一个面试问题是:“你希望你之后三到五年的发展是什么?”。我当时的标准回答是(原话):“成为在某一方面能够独当一面的技术专家“。后来经历了几家不同的公司,换了不同的方向,才知道这个真是一个很难的问题。因为兵无常势,什么东西都是在不断的变化,一早的时候看好的东西可能会被淘汰。(几乎)没有人能够看准技术的下一个方向,
2016-08-17 16:36:29
620
原创 PHP获取汉字首字母并分组排序
php里获取第一个中文首字母并排序,话不多少,上代码。/** * @author Tech */class Character{ /** * 二维数组根据首字母分组排序 * @param array $data 二维数组 * @param string $targetKey 首字母的键名 * @return arr
2017-10-19 09:17:04
4900
1
转载 Composer PHP依赖管理的新时代
对于现代语言而言,包管理器基本上是标配。Java有Maven,Python有pip,Ruby有gem,Nodejs有npm。PHP的则是PEAR,不过PEAR坑不少:依赖处理容易出问题配置非常复杂难用的命令行接口好在我们有Composer,PHP依赖管理的利器。它是开源的,使用起来也很简单,提交自己的包也很容易。安装ComposerComposer需要PHP 5.3.2+才能运
2017-09-15 16:44:29
328
转载 Mysql 增量备份脚本 innobackupex 增量备份 mysql自动备份
Mysql 增量备份脚本1 线上环境有时候考虑到需要做增量备份数据库,所以写了个简单的脚本2添加自动任务每小时或者更短时间执行就好了#!/bin/sh#author RuM#date 2015-07-10BAKDIR=/tmp/mysqlbakBAKDIR_FULL=$BAKDIR/fullBAKDIR_ADD
2017-05-26 09:30:07
617
转载 一份不错的面试题
1. 写出如下程序的输出结果[php] view plain copy print? $str1 = null; $str2 = false; echo $str1==$str2 ? '相等' : '不相等'; $str3 = ''; $str4 = 0; echo $str3==$str4 ? '相等
2017-02-27 08:49:48
333
原创 PHP获得数组交集与差集的方法
一、数组的交集 array_intersect()array_intersect()函数返回一个保留了键的数组,这个数组只由第一个数组中出现的且在其他每个输入数组中都出现的值组成。其形式如下:array array_intersect(array array1,array array2[,arrayN…])下面这个例子将返回在$fruit1数组中出现的且在$fruit2和$fruit3
2017-02-20 13:03:41
1433
转载 Redis 和 Memcached 的区别详解
Redis的作者Salvatore Sanfilippo曾经对这两种基于内存的数据存储系统进行过比较:Redis支持服务器端的数据操作:Redis相比Memcached来说,拥有更多的数据结构和并支持更丰富的数据操作,通常在Memcached里,你需要将数据拿到客户端来进行类似的修改再set回去。这大大增加了网络IO的次数和数据体积。在Redis中,这些复杂的操作通常和一般的GET/SET
2016-12-02 10:53:16
411
转载 实用 .htaccess 用法大全
实用 .htaccess 用法大全这里收集的是各种实用的 .htaccess 代码片段,你能想到的用法几乎全在这里。免责声明: 虽然将这些代码片段直接拷贝到你的 .htaccess 文件里,绝大多数情况下都是好用的,但也有极个别情况需要你修改某些地方才行。风险自负。重要提示: Apache 2.4 有不兼容的修改,特别是在访问配置控制方面。详细信息请参考这篇更新文档以及这篇文章。
2016-10-29 09:38:21
376
原创 浅谈MySQL数据库优化
1、数据库表设计项目立项后,开发部根据产品部需求开发项目,开发工程师工作其中一部分就是对表结构设计。对于数据库来说,这点很重要,如果设计不当,会直接影响访问速度和用户体验。影响的因素很多,比如慢查询、低效的查询语句、没有适当建立索引、数据库堵塞(死锁)等。当然,有测试工程师的团队,会做压力测试,找bug。对于没有测试工程师的团队来说,大多数开发工程师初期不会太多考虑数据库设计是否合理,而是尽快
2016-10-17 14:00:30
260
转载 I/O模型: 阻塞、非阻塞、I/O复用、同步、异步
I/O模型不论在实际使用还是准备笔试面试中都是重要的内容,参考Unix网络编程进行总结如下。(尤其注意红色标注处)1. 明确I/O考察的对象和流程参考Unix网络编程,一个输入操作通常包括两个不同的阶段:(1) 等待数据准备好;(2) 从内核向进程复制数据。对于一个套接字的输入操作,第一步通常涉及等待数据从网络到达,当所等待分组到达时,被复制到内核的某个缓冲区;第二步就
2016-10-15 11:30:40
360
原创 从输入URL到页面加载发生了什么
问题:在浏览器中输入URL到整个页面显示在用户面前时这个过程中到底发生了什么。仔细思考这个问题,发现确实很深,这个过程涉及到的东西很多。总体来说分为以下几个过程:DNS解析TCP连接发送HTTP请求服务器处理请求并返回HTTP报文浏览器解析渲染页面连接结束具体过程1、DNS解析DNS解析的过程就是寻找哪台机
2016-10-08 14:46:27
726
原创 PHP——json_encode中文编码问题
在PHP项目中会经常遇到中文乱码,这是一个比较恼人的问题。不过,当需要将内容输出到网页上的时候,我们遵照以下两个原则一般情况下是不会出现中文乱码的。第一就是在html头部添加第二点就是保证文件的编码和meta设置的编码一致。也就是说,如果我们第一条设置的charset为UTF-8,那我们的文件编码也要设置成UTF-8。二者保持一致即可。当然上面是针对于网页的情况,但是现在随着A
2016-09-19 21:26:36
4994
转载 HTTPS 工作原理和 TCP 握手机制
1、HTTPS的工作原理HTTPS在传输数据之前需要客户端(浏览器)与服务端(网站)之间进行一次握手,在握手过程中将确立双方加密传输数据的密码信息。TLS/SSL协议不仅仅是一套加密传输的协议,更是一件经过艺术家精心设计的艺术品,TLS/SSL中使用了非对称加密,对称加密以及HASH算法。握手过程的具体描述如下:1.浏览器将自己支持的一套加密规则发送给网站。2.
2016-09-19 10:44:24
384
转载 从程序员到项目经理,没有捷径可走
从程序员到项目经理,这个标题让我想起了很久以前一本书的名字《从Javascript到Java》。然而,从Javascript到Java充其量只是工具的更新,而从程序员到项目经理,却是一个脱胎换骨的过程。从Javascript到Java,是一个取巧的方法;而从程序员到项目经理,却并无捷径可走,必须从内而外的改变和提升。 一、为什么要当项目经理 1、问题本质 如果我对一个老程序
2016-09-16 20:26:06
471
转载 JavaScript里获取电池状态的方法
从Mozilla Aurora 11起,火狐浏览器里实现了一些新功能,其中一个就是对电池状态接口的基本实现。这个很简单的接口能提供你关于电池当前电量,是否在充电等信息,以及一些电池状态变化事件。让我们来看看效果!charging: 表示当前电池设备是否在充电。如果电池没有充电,这个值为false。如果为true,表明电池正在充电。当前的API实现里不能得到是否充满的信息,也无法判断当前设备
2016-09-11 19:39:44
2295
转载 聊聊高并发系统之队列术
队列在数据结构中是一种线性表,从一端插入数据,然后从另一端删除数据。本文目的不是讲解各种队列算法,而是在应用层面讲述使用队列能解决哪些场景问题。在我开发过的系统中,不是所有的业务都必须实时处理、不是所有的请求都必须实时反馈结果给用户、不是所有的请求/处理都必须100%处理成功、不知道谁依赖“我”的处理结果、不关心其他系统如何处理后续业务、不需要强一致性,只需保证最终一致性即可、想要保证数据处理
2016-09-09 16:11:24
9056
原创 MySql数据库操作
–登录MySQL:——–Windows环境进入cmd后,输入mysql –h localhost –u root –p,再输入密码就可以启动mysql;其中localhost是mysql服务器所在的ip,如果是本机可以用localhost。–数据库相关操作——–create database db_name(数据库名称):建名为db_name的数据库show databases
2016-09-07 11:01:07
303
转载 PHP 使用sprintf 拼接 sql语句
[php] view plain copy print?class BaseDAO{ //创建数据 public function create($table_name,$model){ $columns_k=''; $columns_v=''; foreach($model as $key=>$
2016-09-06 11:58:02
1901
转载 Laravel5.1 实现第三方登录认证(包括微博、QQ、微信、豆瓣)
第三方登录认证能简化用户登录/注册的操作,降低用户登录/注册的门槛,对提高应用的用户转化率很有帮助。SocialiteLaravel 为我们提供了简单、易用的方式,使用 Laravel Socialite 进行 OAuth(OAuth1 和 OAuth2 都有支持) 认证。Socialite 目前支持的认证有 Facebook、Twitter、Google、LinkedIn、Git
2016-09-03 09:40:35
3921
转载 PHP 开发者应了解的 24 个库
作为一个PHP开发者,现在是一个令人激动的时刻。每天有许许多多有用的库分发出来,在 Github 上很容易发现和使用这些库。下面是我曾经遇到过最酷的24个库。你最喜欢的库没有在这个列表里面?那就在评论中分享吧!1. Dispatch – 微框架Dispatch是一个PHP小框架。它并没有给你完整的MVC设置,但你可以定义URL规则和方法,以便更好组织应用程序。这对API、简单的站点或原
2016-09-03 09:37:12
527
转载 Python Socket 编程:聊天室示例程序
我们学习了简单的 Python TCP Socket 编程,通过分别写服务端和客户端的代码了解基本的 Python Socket 编程模型。本文再通过一个例子来加强一下对 Socket 编程的理解。聊天室程序需求我们要实现的是简单的聊天室的例子,就是允许多个人同时一起聊天,每个人发送的消息所有人都能接收到,类似于 QQ 群的功能,而不是点对点的 QQ 好友之间的聊天。如下图
2016-08-24 16:25:53
845
转载 MYSQL 入门全套
mysql简介1、什么是数据库 ?数据库(Database)是按照数据结构来组织、存储和管理数据的仓库,它产生于距今六十多年前,随着信息技术和市场的发展,特别是二十世纪九十年代以后,数据管理不再仅仅是存储和管理数据,而转变成用户所需要的各种数据管理的方式。数据库有很多种类型,从最简单的存储有各种数据的表格到能够进行海量数据存储的大型数据库系统都在各个方面得到了广泛的应用。
2016-08-23 07:14:46
444
转载 浅谈 HTTPS 和 SSL/TLS 协议的背景与基础
>> 相关背景知识要说清楚 HTTPS 协议的实现原理,至少需要如下几个背景知识。大致了解几个基本术语(HTTPS、SSL、TLS)的含义大致了解 HTTP 和 TCP 的关系(尤其是“短连接”VS“长连接”)大致了解加密算法的概念(尤其是“对称加密与非对称加密”的区别)大致了解 CA 证书的用途考虑到很多技术菜鸟可能不了解上
2016-08-23 07:09:57
479
转载 Linux查看History记录加时间戳小技巧
Linux查看History记录加时间戳小技巧 熟悉bash的都一定知道使用history可以输出你曾经输入过的历史命令,例如[root@servyou_web ~]# history | more 6 ./test.sh 7 vim test.sh 8 ./test.sh 但是这里只显示了命令,并没有显示执行命令的时间,因为保存历史
2016-08-19 10:23:16
555
原创 liunx php 安装redis memcache 扩展
安装 redis 扩展前提 是你已经安装redis 了cd redis-3.2.1/ 进入redis目录Vi redis.conf 配置文件bind 127.0.0.1 将这个注释掉#bind liunx ip 现在别人也可以连到你的redis了安装 Redis 扩展wget https://github.com/ph
2016-08-18 10:47:32
482
原创 PHP 实战之设计模式:PHP 中的设计模式
本文主要讨论下Web开发中,准确而言,是PHP开发中的相关的设计模式及其应用。有经验的开发者肯定对于设计模式非常熟悉,但是本文主要是针对那 些初级的开发者。首先我们要搞清楚到底什么是设计模式,设计模式并不是一种用来解释的模式,它们并不是像链表那样的常见的数据结构,也不是某种特殊的应用 或者框架设计。事实上,设计模式的解释如下:descriptions of communicat
2016-08-17 16:56:21
342
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人