自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

gglinux的专栏

在路上

  • 博客(68)
  • 资源 (5)
  • 收藏
  • 关注

原创 PHP读取Excel数据

承接上篇处理中-内容的处理设置reader和编码$file_path = 'test.xls';$excel5_reader = new PHPExcel_Reader_Excel5();$excel5_reader->_defaultEncoding = $encoding;$excel2007_reader = new PHPExcel_Reader_Excel2007(...

2019-05-07 18:30:53 1428

原创 导出数据到Excel的实用方案

处理前-库的选择实际工作场景中,经常需要将系统中数据导出为Excel,便于产品和运营查阅和二次处理。本文详细介绍了使用PHP导出数据的方法。PHP操作Excel主要有两个第三方库,一个是PHPExcel,另外一个是PhpSpreadsheet。其中PhpSpreadsheet是PHPExcel的升级版本。PHPExcel本身支持超链接、样式设置(字体、颜色、边框线、对齐等)、行高列宽设置、表...

2019-04-19 21:57:07 572 1

原创 前端和后端实现SVG转图片

前端方案实时保存为Base64用户通过界面操作SVG内容,当生成或者编辑SVG时,实时将SVG内容转换成Base64编码的img标签,塞回到原来的DOM节点中。此种方式在前端通过浏览器就可以完成,无须后端的参与。方案原理是使用canvas做中转,将svg+xml转换成png。在无需后端参与做二次处理时,可以满足业务场景。// 前端demo代码function drawInlineSVG(...

2019-02-20 18:17:59 5321 1

原创 老树发新芽-前后端分离实践

最早从Web2.0 Ajax技术开始兴起,就有提前后端分离了。从Gmail的单页应用,到现在的单页应用层出不穷。浏览器渲染引擎也一直在突破,越来越多的交互、计算放在了浏览器这一层。传统后端MVC架构,变成了前后端的MVC。后台的接口变成了模型层,逻辑处理层从CGI变成了JavaScript,展示层则还是标记语言HTML和CSS。为什么要做前后端分离当前项目从立项到2018年,已经有...

2018-09-11 14:36:52 233

原创 小萌新变身社会人

松浦弥太郎说过,所谓工作就是证明自己有用。很大白话的道理,深表赞同。劳动者付出了劳动,雇佣者给与其报酬。报酬的高低取决于劳动者证明自己有多有用。工作所需要的技能包含两个层面,其一是专业技能,其二是通用技能。我们能独立完成这项工作,依赖的是专业技能,即工作的专业性。不管是厨师、医生、会计、程序员还是地铁司机,专业度不过关是最难逾越的发展瓶颈。人和人之间是一个复杂的关系网络,个体的表现不仅需要...

2018-08-25 18:26:02 292

原创 TAPD和敏捷研发

这篇文章,原计划是去年9月份写的,一直拖到了现在。主要原因在于一直抽不出时间,其次对整个敏捷研发,包括现如今的devops也只是浅尝辄止,害怕误人子弟和广告嫌疑。笔者一方面作为敏捷研发的实践者,另一方面作为敏捷研发的受益者。站在这两层身份上,浅谈下TAPD和敏捷研发。TAPD介绍TAPD,是腾讯敏捷产品研发平台,强调敏捷迭代、小步快跑,使用范围包含腾讯和腾讯的合作伙伴。目前TAPD已开...

2018-03-25 17:10:29 10750 2

原创 公司那些事

毕业一年了,上上下下经历了不少公司。自己创过业,也在B轮公司待过,也在D轮做过事,另外也在上市公司做过螺丝钉。林林总总算下来,也有五家公司了。也是挺折腾的。经常有人会觉得,这小伙沉不下来。其实对应聘者而言,反反复复更换工作,当然有其不好之处。但从另一方面考虑有些人为什么会频繁更换工作呢?人往往喜欢待在舒适区,待久了一个地方就懒的去更换巢穴。频繁的跳出舒适区,也是对自己发展现状不满意的宣泄。这也是对笔

2017-06-24 11:20:33 670

原创 yii2-plus

yii2-plus,是基于yii2.0的脚手架项目。支持restapi,Admin(管理后台),Web(www服务),服务化。集成JWT、Hprose、推送、队列、Element UI。yii2-plus特点便于全站点开发中小型独立的站点,使用yii2-app-basic或者yii2-app-advanced,采用lnmp架构即可。但对于支持多平台的站点而言,其不仅需要面对PC浏览器和移动设备的w

2017-06-01 11:43:21 1353

原创 PHP C扩展开发

对PHP C扩展开发感兴趣的同学可以看下,项目包含8个demo,每个demo都可抽离出来独立运行。相比较使用ext_skel生成的骨架,demo会更好理解(只包含核心方法)。每个demo都有相应的测试文件和运行文档,另外代码中也会有较详细的注释。RequirementPHP 5.2 +InstallLinux 编译安装$ /$path/phpize$ ./configure$ make && m

2017-05-03 17:24:08 439

原创 书籍推荐

这几年,看了一些书。罗列出来,希望能给需要的人一些借鉴。正好在找工作,也能复习下。当然笔者是计科毕业的,专业书除外。后续的一些书籍信息,也会更新到这里。MySQL技术内幕-Innodb存储引擎豆瓣,主要讲述Innodb存储引擎的实现,写的也比较深入(索引实现,事务等)。但没讲具体的索引优化和注意的点。推荐阅读第五章和第七章。也可以结合看下mysql索引原理。Redis设计与实现豆瓣,主要讲述Redi

2017-04-19 23:12:03 1122

原创 IM系统设计

即时通讯(Instant Messaging,简称IM)是一个实时通信系统,允许两人或多人使用网络实时的传递文字消息、文件、语音与视频交流。实现方式有两种。 第一种基于Server转发的,Client双方通信会经过Server转发来完成消息传递。例如QQ、微信。第二种是基于P2P(点对点)的。P2P的实现依赖于客户端之间的互联,但由于NAT与防火墙的存在,客户端无法直接互联,需要coturn服务器

2017-04-15 18:16:22 7505

原创 如何高效率的学习新技术

除了拼搏和努力,成功也是有方法的。写这个话题,用以阐述下自己学习新技术的一套形而上学的东西,希望能给大家带来帮助。当然,每个人都有自己的方法论,适合自己的即是最好的。做好规划对笔者而言,在学校和工作中,经常会用一些空余时间学习新的技术或者框架。这个时候往往随性而为,看到感兴趣的或者热门的就去看下,没有约束。从人性出发,每个人都是有惰性的。看到好看的电影,便会去看。看到好友邀请打游戏,就会去打一盘游戏

2017-04-08 13:25:45 876

原创 PHP 7下安装Swoole和Yar、Yaf

笔者开发坏境:CentOS7,PHP 7.0.16安装PECL//php版本 > 7$ wget http://pear.php.net/go-pear.phar$ php go-pear.phar//php版本 < 7$ yum install php-pear//否则会报错PHP Parse error: syntax error, unexpected //'new' (T_NEW)

2017-04-02 11:36:06 3669 1

原创 用户系统设计

用户系统,主要分为账号体系和用户信息两大类。账号体系包括,登陆验证、注册、第三方授权、以及权限管理。用户信息包括,用户地理位置、用户属性、用户设备信息、还有用户日志信息。本文会介绍用户系统的具体落地方案。登陆验证在一般项目账号体系中,一般会要求支持手机、邮箱、账号、QQ、微信、微博实现登陆。后面三种方式都是基于第三方授权后,完成的身份验证。手机、邮箱、账号则是相对传统的登录方式。用户身份与登录的授权

2017-04-01 23:42:30 21496 4

原创 Feed设计与实现

Feed,在社交和信息推荐的App与网站中,基本都会用到的。例如常用的新浪微博,用户登录进入后,展现给我们的就是feed信息流。新浪微博的信息,来自于你关注人所发布的内容。还有微信的朋友圈,今日头条的信息流,好友发布的美拍等,这些都是Feed。玩过知乎的人应该知道,在知乎Feed中,会显示某某关注了某某话题,某某点赞或者赞同了某个回答。广义来讲,这些也算是一种Feed。本文会先介绍几种不同的Feed

2017-03-07 14:13:33 7961

原创 App首屏接口性能优化

目前所在项目组开发的是一款母婴产品,集工具和社区属性。截止本文发布,注册用户接近7000万,首屏接口日访问量过百万。在首屏中,会给用户展现不同的数据,比如每日任务,宝宝(婴儿)每日概述,胎教音乐,运动视频,热帖等模块。首屏接口性能的好坏,将直接影响到app的使用体验。我们服务端RPC框架采用RESTful,其底层是curl实现的。curl采用http协议的,另外我们服务端的技术栈是PHP。我们都知道

2017-02-26 15:37:00 3308

原创 InnoDB存储引擎(一)

InnoDB存储引擎(一)整体结构内存池维护线程/进程内部数据结构缓存磁盘文件(cache)对数据的更新或者新增操作,避免直接刷新磁盘重做日志缓冲(redo log) 后台线程Master Hhread,将更新的数据(包括新增和被修改的数据)异步刷新到磁盘,维护内存池和磁盘中的数据的一致性。IO Thread分为Insert buffer Thread,log thread,read t

2017-02-07 20:14:58 477

原创 2016年终总结

很久没安静下来写点什么了,太懶了。Review Plan学习去年计划看一些底层的书籍,基本都完成了。书单是 1. redis设计与实现 100% 2. mysql技术内幕 100% 3. 深入理解nginx 11% 4. nginx实战开发 100% 5. 大型网站技术架构 100% 6. Hadoop实战 70% 7. 微服务设计 21% 8. 激荡三十年 14% 9. 利用py

2017-01-08 23:15:01 456

原创 Mysql 技术内幕(二)

MySQL技术内幕系列博客,是本人在阅读《MySQL技术内幕 InnoDB》存储引擎所做的整理总结。本节内容源于书中三、四章。MySQL 使用的文件文件类型分类InnoDB 数据表表空间文件数据页约束分区

2016-06-11 11:53:11 564

原创 Mysql 技术内幕(一)

MySQL技术内幕系列博客,是本人在阅读《MySQL技术内幕 InnoDB》存储引擎所做的整理总结。本节内容来源于书中前两章。MySQL 体系结构MySQL结构模块图Innodb 存储引擎Innodb 体系结构图Innodb 内存池checkPointInnodb 关键特性

2016-06-11 11:36:08 685

原创 对短视频和技术的一些看法

在美图有一段时间了。从两方面总结下。下段时间,继续努力。对短视频的理解近两年因为4G的普及,智能手机拍摄技术的升级。传统的媒介方式,由文字到语音,再到图片,再转到了视频。所以近两年段视频的火爆也是很正常的。秒拍,快手,美拍,其次包括腾讯的微视。这几款平台型的短视频社区都发展的挺不错的。秒拍背后的有新浪爸爸。美拍背后依靠超级app美图秀秀。快手,由做gif出身,生的早。根据美拍

2016-04-10 10:19:33 6143 1

原创 Redis数据结构(二)

压缩列表1:压缩列表是为了节省内存而设计的,是一种线性的数据结构。主要用在哈希和列表两种数据类型中。2:压缩列表包含主要包含五个部分,这五个部分顺序排列组合在一起。 结构如下图所示。 表节点,有三个域组成。previous_entry_length,用来记录前一个节点的长度。encoding,记录下一个域的数据类型和长度。content,保存节点的值。 3:压缩列表有一种极端情况,会导致性

2016-01-03 17:56:16 508

原创 2015年终总结

2015年最后一晚,大部分时间在召唤师峡谷中度过的。说来惭愧,但和同学开黑真的是挺愉快的。2015年,自己还是挺满意的,没什么大的遗憾。最高兴的是终于追到了女神。工作,也有着落。年初,还好意识的比较早,在4月份就开始找实习工作了,也顺利的拿到了几家的实习offer,包括饿了么。因为想留在南方,最终选择了金斧子,在金斧子实习,收获的挺多的。在接近半年的实习生活中,基本完成了从学生到工作者的转化。很感谢金斧子。

2016-01-03 15:00:53 674

原创 Redis数据结构(一)

SDS简单动态字符串结构:1:SDS是在C语言字符串的基础上,构造的一种简单的动态字符串(simple daynamic string)。SDS结构体包含三个变量,len用来记录长度,free用来记录未使用字节的数量,buf存储实际的字符串数组。 2:SDS不以‘\0’为结束符,而是以len的长度标识 优点1:O(1)获取字符串长度。sdshdr结构体中,直接存储了字符串的长度。因此直接以sds

2015-12-19 16:13:40 561

原创 memcached

memcache和memcached 区别看了很多比较的,这个最实在 1. 目前大多数php环境里使用的都是不带d的memcache版本,这个版本出的比较早,是一个原生版本,完全在php框架内开发的。与之对应的带d的memcached是建立在libmemcached的基础上,所以相对来说,memcached版本的功能更全一些。 2. Memcache是原生实现的,支持OO和非OO两套接口并存。

2015-12-06 15:48:22 469

原创 校园招聘

很长时间没写东西了。这几个月一直忙着实习和找工作,身心俱疲。事到如今,有些事后悔已无用,唯有继续前行。赛翁失马,焉知非福。[知乎。。。](http://www.zhihu.com/question/35708163/answer/64336664)      这段时间,面试过深信服,美图,腾讯。还好,拿到了前两者的offer。高冷的腾讯,至今还没反馈。简单写下,当作面经吧,也是自己的一

2015-10-11 18:00:48 1480

原创 web安全结构图

跨站脚本攻击(Xss)恶意代码被浏览器引擎解析,主要是js代码 1:输入过滤,避免直接输出 2:设置cookie为http-only跨站点请求伪造(Csrf)原理: 在用户会话期内,诱导用户点击破坏性链接 解决方法: 1:重要操作使用验证码 2:表单提交使用隐藏token点击劫持原理: 页面被iframe嵌套,通过css控制其视觉效果,诱发用户点击 解决方法: 1:设置页面是否允许被ifram

2015-05-31 18:24:15 1428

原创 创建型模式

对象之间的常见关系泛化关系:体现在类的继承中,具体代码表现在继承非抽象类。小汽车->suv 实现关系:也是一种继承关系,具体表现在继承抽象类。车->小汽车聚合关系:表示的是一种部分与整体的关系,整体由部分构成。例如,部门由员工构成 组合关系:也是一种部分和整体的关系,但是部分与整体之间存在强依赖。例如,公司和部门,公司倒闭了,部门也不存在。关联关系:用来定义对象之间天然的结构,自然的从属,是一种

2015-05-18 16:48:49 552

原创 常见web攻击-客户端脚本安全

本文来自:gglinux,原文地址:,转载请注明XSS攻击跨站脚本攻击。攻击者向网站恶意添加前端代码(js,html,css都有可能)。当用户浏览时,这段恶意代码得以执行,便可能造成攻击,如盗取用户cookie,破坏页面结构,跳转到其他网站等。 http://www.cnblogs.com/TankXiao/archive/2012/03/21/2337194.html反射型XSS1.含义:将用户

2015-05-06 18:04:48 2261

原创 angular.js官方文档的一些说明

windows1:node.js官网下载node的安装包.http://nodejs.org/dist/v0.12.2/node-v0.12.2-x86.msi2:下载安装git,windows客户端。http://git-scm.com/download/win3:clone实例代码地址(可以直接下载):https://github.com/angular/angular-phonecatgit

2015-04-24 15:25:04 4055

原创 css3知识总结

前段时间看完了《css3和html5权威指南》,这两天总结下css3的知识点。是以知识脉络图的形式呈现的,便于以后回顾。

2015-04-10 17:34:32 657

原创 html5-file样式

在复习html5,file时,偶然找到了一篇之前一直想实现的样式需求。贴代码如下,但还有两个问题不太懂。<!DOCTYPE html><html><head> <meta charset="utf-8"> <title>上传文件</title></head><style type="text/css"> .fileInputContainer{ heig

2015-04-07 16:27:03 1300

原创 css中布局方式总结

问题要实现如下的布局。有几种方案可以选择? 方案一css中前”世纪”的布局方式-table,这种布局方式不利于SEO,代码量比较大。<style type="text/css"> .content{width: 960px;margin: auto;} .content-list{width: 300px;background-color: #4598BF;height: 300p

2015-04-07 11:22:16 766

原创 html5 总结-新增重要标签及属性

综述 这段时间,一直在温故前端的东西,发现了很多不足(更应该说不会吧)。前端的学习方法,更多的是记忆和经验。html5相对于html4而言。主要有以下几点改进。语义化标签增多,结构更清晰方便性、功能性增强,对程序员更友好新增的重要标签audio处理音频,因为有些浏览器不支持某些音频格式。需要转化或者准备多个 详细介绍:w3c<audio controls>你的浏览器不支持audio

2015-03-30 10:04:31 1174

原创 js学习笔记-函数表达式

函数表达式1:函数的两种形式1:函数声明,类似于大多数语言(c/c++/java/php)。function fun(name, age){ var qinjie = name + age; return qinjie; }2:函数表达式,创建一个函数变量并将其值赋给某个变量。这种产生的函数也称为”匿名函数”var fun = function(name, age){ va

2015-03-24 16:59:54 546

原创 js学习笔记-面向对象程序设计

面向对象程序设计1:创建对象1:第一种方式,创建object的实例 //第一种方式,直接调用基类object创建 var Person = new Object(); Person.name = "daimeng"; Person.age = "21"; Person.getName = function(){ return this.name;

2015-03-23 19:31:27 533

原创 js学习笔记-引用类型

1:引用类型很类似与面向对象中的类,引用类型的实例就类似于面向对象中的对象,但是实现方法不同。2:Object类型是其他应用类型的“基类“,所有的应用类型都继承了其基本的属性和方法。例如:constructor,prototype;toString(),valueOf();3:Array类型是一组值的有序列表,同时还提供了操作和转换这些值的方法。4:Date类型提供了日期和时间的操作

2015-03-20 17:21:00 585

原创 ”javascript高级程序设计“学习笔记-开始

一方面为了即将到来的校招,另一方面为了监督自己。现将JavaScript学习笔记记录在此。是从教材第五章开始记录的,之前也零零散散的记了一些东西,没有系统整理,就算了。以前的学习过程都是以实践为主,遇到问题,再去解决,很多知识都不曾系统的整理过。希望能借这个过程,好好的整理下。既然决定了“web开发”这块,就好好的坚持下去。当我的巴特农神庙建立起来的时候,我从这遥远的地方也能感受到他的辉煌。。

2015-03-20 15:15:26 487

原创 Android Studio安装和eclipse gradle配置

废话为研究一个开源项目,配置了一天的环境,终于给配置好了。由于不熟悉gradle和Android Studio,百度和Google了很多资料也不是很全,在此综合下,避免再走弯路。以下前提是安装好jdk环境,eclipse,Android sdk。gradle说明gradle类似于maven,ant。是用来构建大型项目的,通过使用这些工具,能够便捷的完成项目的编译和部署。具体的细节,

2015-01-31 22:59:37 1361

原创 产品原型开发

一:废话。。。作为一名程序员,在初创公司不仅是写代码的,还是一名产品经理,肩负着产品设计的重任。在做一款APP的产品原型设计时,使用了两款软件。其一是腾讯的Uidesigner,下载地址http://uid.cdc.tencent.com/。另外一个是比较火的国外产品,axure。下载地址:http://www.axure.com/。二uidesigneruidesigner很适合新手

2015-01-30 20:45:30 1596

Java写的爬虫程序源代码

一个小程序,是用Java写的。适宜于小项目练手,希望一起学习,一起进步

2014-03-17

mysql学习笔记

自己自学总结的资料,希望对初学者有用,主要介绍了mysql的基本语法,以及大量编程实例

2014-01-03

验证74ls181运算和逻辑功能

计算机专业课程设计,验证74ls181芯片的功能。算数逻辑单元的工作原理

2013-12-23

经典游戏教程+范例+源码

你应该知道的经典游戏代码 包括俄罗斯方块 贪吃蛇 连连看 推箱子 拼图 你会对这些感兴趣的

2013-01-04

空空如也

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

TA关注的人

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