博客园 - woider
uuid:7d267088-5232-4821-9010-8cd5fdd6cd4f;id=1072382
2018-06-06T16:43:56Z
woider
https://www.cnblogs.com/woider/
feed.cnblogs.com
https://www.cnblogs.com/woider/p/9148160.html
在现实面前,IT从业者的无奈 - woider
话题:在中国,有多少程序员干到40了? 作者:匿名用户 链接:https://www.zhihu.com/question/33953081/answer/349839986 学历低,计算机理论不高,算法不好,智商不高,我很感谢国内的互联网行业的高速发展,让我早期也分到了一点甜头,早期工资也比其他行
2018-06-06T16:44:00Z
2018-06-06T16:44:00Z
woider
https://www.cnblogs.com/woider/
【摘要】话题:在中国,有多少程序员干到40了? 作者:匿名用户 链接:https://www.zhihu.com/question/33953081/answer/349839986 学历低,计算机理论不高,算法不好,智商不高,我很感谢国内的互联网行业的高速发展,让我早期也分到了一点甜头,早期工资也比其他行 <a href="https://www.cnblogs.com/woider/p/9148160.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/woider/p/7003481.html
PHP 实现 word/excel/ppt 转换为 PDF - woider
前段时间负责公司内部文件平台的设计,其中有一个需求是要能够在线浏览用户上传的 office 文件。 我的思路是先将 office 转换成 PDF,再通过 pdf.js 插件解析 PDF 文件,使其能在任何浏览器下查看。 可以通过 PHP 的 COM 组件,调用其它能够处理 office 文件的应用程
2017-06-14T18:58:00Z
2017-06-14T18:58:00Z
woider
https://www.cnblogs.com/woider/
【摘要】前段时间负责公司内部文件平台的设计,其中有一个需求是要能够在线浏览用户上传的 office 文件。 我的思路是先将 office 转换成 PDF,再通过 pdf.js 插件解析 PDF 文件,使其能在任何浏览器下查看。 可以通过 PHP 的 COM 组件,调用其它能够处理 office 文件的应用程 <a href="https://www.cnblogs.com/woider/p/7003481.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/woider/p/6980456.html
PHP 利用QQ邮箱发送邮件「PHPMailer」 - woider
在 PHP 应用开发中,往往需要验证用户邮箱、发送消息通知,而使用 PHP 内置的 mail() 函数,则需要邮件系统的支持。 如果熟悉 IMAP/SMTP 协议,结合 Socket 功能就可以编写邮件发送程序了,不过开发这样一个程序并不容易。 好在 PHPMailer 封装的足够强大,使用它可以更
2017-06-10T20:15:00Z
2017-06-10T20:15:00Z
woider
https://www.cnblogs.com/woider/
【摘要】在 PHP 应用开发中,往往需要验证用户邮箱、发送消息通知,而使用 PHP 内置的 mail() 函数,则需要邮件系统的支持。 如果熟悉 IMAP/SMTP 协议,结合 Socket 功能就可以编写邮件发送程序了,不过开发这样一个程序并不容易。 好在 PHPMailer 封装的足够强大,使用它可以更 <a href="https://www.cnblogs.com/woider/p/6980456.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/woider/p/6835466.html
Python 八大排序算法速度比较 - woider
这篇文章并不是介绍排序算法原理的,纯粹是想比较一下各种排序算法在真实场景下的运行速度。 算法由 Python 实现,用到了一些语法糖,可能会和其他语言有些区别,仅当参考就好。 测试的数据是自动生成的,以数组形式保存到文件中,保证数据源的一致性。 排序算法 直接插入排序 时间复杂度:O(n²) 空间复
2017-05-10T16:40:00Z
2017-05-10T16:40:00Z
woider
https://www.cnblogs.com/woider/
【摘要】这篇文章并不是介绍排序算法原理的,纯粹是想比较一下各种排序算法在真实场景下的运行速度。 算法由 Python 实现,用到了一些语法糖,可能会和其他语言有些区别,仅当参考就好。 测试的数据是自动生成的,以数组形式保存到文件中,保证数据源的一致性。 排序算法 直接插入排序 时间复杂度:O(n²) 空间复 <a href="https://www.cnblogs.com/woider/p/6835466.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/woider/p/6803310.html
Python 将图片转化为 HTML 页面 - woider
最近在 GitHub 看到一个挺有意思的 Python 程序(img2html: Convert a image to HTML)。 它能将图片的每个像素用文字代替,最后生成一个HTML文档,在浏览器中可以显示出图像,只不过图像全是由文字组成的。 实现这样的效果并不复杂,只不过是用标签代替像素而已,
2017-05-03T20:58:00Z
2017-05-03T20:58:00Z
woider
https://www.cnblogs.com/woider/
【摘要】最近在 GitHub 看到一个挺有意思的 Python 程序(img2html: Convert a image to HTML)。 它能将图片的每个像素用文字代替,最后生成一个HTML文档,在浏览器中可以显示出图像,只不过图像全是由文字组成的。 实现这样的效果并不复杂,只不过是用标签代替像素而已, <a href="https://www.cnblogs.com/woider/p/6803310.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/woider/p/6720974.html
面向对象编程的艺术「设计模式」 - woider
编程不仅是一门技术,更加是一门艺术。不能只满足于程序运行正确,而要时常思考如何让代码更加容易维护,易于扩展和复用。 学习设计模式并不代表你将来会用到这些模式,更重要的意义在于让你找到“封装变化”、“对象间松散耦合”、“针对接口编程”的感觉,从而设计出易维护、易扩展、易复用、灵活性好的程序。 面向对象
2017-04-22T08:58:00Z
2017-04-22T08:58:00Z
woider
https://www.cnblogs.com/woider/
【摘要】编程不仅是一门技术,更加是一门艺术。不能只满足于程序运行正确,而要时常思考如何让代码更加容易维护,易于扩展和复用。 学习设计模式并不代表你将来会用到这些模式,更重要的意义在于让你找到“封装变化”、“对象间松散耦合”、“针对接口编程”的感觉,从而设计出易维护、易扩展、易复用、灵活性好的程序。 面向对象 <a href="https://www.cnblogs.com/woider/p/6720974.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/woider/p/6725867.html
windows 下重置 mysql 的 root 密码 - woider
今天发现 WordPress 连接不上数据库,登录 window server 服务器查看,所有服务均运行正常。 使用 root 账号登录 mysql 数据库,结果提示密码不匹配。我突然意识到,服务器可能遭受到 SQL注入 攻击了…… 至于事故发生的原因和之后所做的补救措施,以后有机会我会聊一聊的。
2017-04-17T18:14:00Z
2017-04-17T18:14:00Z
woider
https://www.cnblogs.com/woider/
【摘要】今天发现 WordPress 连接不上数据库,登录 window server 服务器查看,所有服务均运行正常。 使用 root 账号登录 mysql 数据库,结果提示密码不匹配。我突然意识到,服务器可能遭受到 SQL注入 攻击了…… 至于事故发生的原因和之后所做的补救措施,以后有机会我会聊一聊的。 <a href="https://www.cnblogs.com/woider/p/6725867.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/woider/p/6618295.html
Linux 标准目录结构 FHS - woider
因为利用 Linux 来开发产品或 distribution 的团队实在太多了,如果每个人都用自己的想法来配置文件放置的目录,那么将可能造成很多管理上的困扰。所以,后来就有了 Filesystem Hierarchy Standard(FHS)标准的出炉了。 根据 FHS 的官方文件指出,其主要目的
2017-03-25T14:06:00Z
2017-03-25T14:06:00Z
woider
https://www.cnblogs.com/woider/
【摘要】因为利用 Linux 来开发产品或 distribution 的团队实在太多了,如果每个人都用自己的想法来配置文件放置的目录,那么将可能造成很多管理上的困扰。所以,后来就有了 Filesystem Hierarchy Standard(FHS)标准的出炉了。 根据 FHS 的官方文件指出,其主要目的 <a href="https://www.cnblogs.com/woider/p/6618295.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/woider/p/6582295.html
响应式 Web 设计指南「实践篇」 - woider
无论你是奔赴战场、跑马拉松,还是构建一个响应式的站点,准备工作都是关键。 创建一个响应式的站点意味着要考虑多样化的设备生态系统。 如果没有适当的准备,你将发现自己会因为缺少必要的部分而忙里忙外,并且站点的质量也将受到很大的影响。 考虑的因素 作为任何响应式项目的第一步,都应该是确定投资这个项目是否有
2017-03-19T13:09:00Z
2017-03-19T13:09:00Z
woider
https://www.cnblogs.com/woider/
【摘要】无论你是奔赴战场、跑马拉松,还是构建一个响应式的站点,准备工作都是关键。 创建一个响应式的站点意味着要考虑多样化的设备生态系统。 如果没有适当的准备,你将发现自己会因为缺少必要的部分而忙里忙外,并且站点的质量也将受到很大的影响。 考虑的因素 作为任何响应式项目的第一步,都应该是确定投资这个项目是否有 <a href="https://www.cnblogs.com/woider/p/6582295.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/woider/p/6562816.html
响应式 Web 设计指南「基础篇」 - woider
Web 是普遍存在的,也是无处不在的,Web可以适应任何尺寸的屏幕以及任何使用环境,因为Web有其固有的灵活性和可塑性。 Web 再也不是某一平台独有的矿藏,而是真正成为了一张名副其实的大网,并将各种设备彼此连接在一起。 而作为开发人员要想不被这愈发迅猛的设备大潮所吞噬,就必须抛弃之前的一切,转而学
2017-03-16T19:08:00Z
2017-03-16T19:08:00Z
woider
https://www.cnblogs.com/woider/
【摘要】Web 是普遍存在的,也是无处不在的,Web可以适应任何尺寸的屏幕以及任何使用环境,因为Web有其固有的灵活性和可塑性。 Web 再也不是某一平台独有的矿藏,而是真正成为了一张名副其实的大网,并将各种设备彼此连接在一起。 而作为开发人员要想不被这愈发迅猛的设备大潮所吞噬,就必须抛弃之前的一切,转而学 <a href="https://www.cnblogs.com/woider/p/6562816.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/woider/p/6533709.html
Linux 下建立 Git 与 GitHub 的连接 - woider
Git 是一款开源的分布式版本控制系统,而 GitHub 是依托 Git 的代码托管平台。 GitHub 利用 Git 极其强大的克隆和分支功能,使得社区成员能够自由地参与到开源项目中去。 不过,在开始学习之前,你需要一个 GitHub 账号,以及一台能联网的 Linux 虚拟机。 准备工作 一、安
2017-03-10T16:05:00Z
2017-03-10T16:05:00Z
woider
https://www.cnblogs.com/woider/
【摘要】Git 是一款开源的分布式版本控制系统,而 GitHub 是依托 Git 的代码托管平台。 GitHub 利用 Git 极其强大的克隆和分支功能,使得社区成员能够自由地参与到开源项目中去。 不过,在开始学习之前,你需要一个 GitHub 账号,以及一台能联网的 Linux 虚拟机。 准备工作 一、安 <a href="https://www.cnblogs.com/woider/p/6533709.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/woider/p/6502178.html
PHP Redis 对象方法手册 - woider
redis(Remote Dictionary Server)是一种Nosql技术,它是一个开源的高级kv存储和数据结构存储系统。 redis不仅仅是能够存储key和value这种简单的键值对,还能存储例如集合、hash表、列表、字典等。 redis在整个运行过程中,数据统统都是存储在内存中的,因此
2017-03-04T10:30:00Z
2017-03-04T10:30:00Z
woider
https://www.cnblogs.com/woider/
【摘要】redis(Remote Dictionary Server)是一种Nosql技术,它是一个开源的高级kv存储和数据结构存储系统。 redis不仅仅是能够存储key和value这种简单的键值对,还能存储例如集合、hash表、列表、字典等。 redis在整个运行过程中,数据统统都是存储在内存中的,因此 <a href="https://www.cnblogs.com/woider/p/6502178.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/woider/p/6489913.html
wampServer 安装 Redis 扩展 - woider
REmote DIctionary Server(Redis) 是一个由Salvatore Sanfilippo写的key-value存储系统。 Redis是一个开源的使用ANSI C语言编写、遵守BSD协议、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。
2017-03-02T04:07:00Z
2017-03-02T04:07:00Z
woider
https://www.cnblogs.com/woider/
【摘要】REmote DIctionary Server(Redis) 是一个由Salvatore Sanfilippo写的key-value存储系统。 Redis是一个开源的使用ANSI C语言编写、遵守BSD协议、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。 <a href="https://www.cnblogs.com/woider/p/6489913.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/woider/p/6481791.html
CentOS 与 Ubuntu 使用命令搭建 LAMP 环境 - woider
LAMP指的Linux操作系统 + Apache服务器 + MariaDB/MySQL数据库软件 + PHP开发语言的第一个字母。 CentOS LAMP 一:安装 Apache 1.安装 httpd: yum -y install httpd 2.开启 apache 服务: systemctl s
2017-02-28T16:28:00Z
2017-02-28T16:28:00Z
woider
https://www.cnblogs.com/woider/
【摘要】LAMP指的Linux操作系统 + Apache服务器 + MariaDB/MySQL数据库软件 + PHP开发语言的第一个字母。 CentOS LAMP 一:安装 Apache 1.安装 httpd: yum -y install httpd 2.开启 apache 服务: systemctl s <a href="https://www.cnblogs.com/woider/p/6481791.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/woider/p/6478617.html
Xshell 连接 CentOS 7 与 Ubuntu Server - woider
操作系统:windows 7 应用软件:Ware Workstation & Xshell 5 Linux:CentOS 7 Minimal & Ubuntu Server 16 虚拟机设置 ↓ 首先你需要将虚拟机安装好,使用虚拟机推荐配置自动安装就可以了。 ↓ 安装好后,在左侧我的计算机列表中选中
2017-02-28T06:09:00Z
2017-02-28T06:09:00Z
woider
https://www.cnblogs.com/woider/
【摘要】操作系统:windows 7 应用软件:Ware Workstation & Xshell 5 Linux:CentOS 7 Minimal & Ubuntu Server 16 虚拟机设置 ↓ 首先你需要将虚拟机安装好,使用虚拟机推荐配置自动安装就可以了。 ↓ 安装好后,在左侧我的计算机列表中选中 <a href="https://www.cnblogs.com/woider/p/6478617.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/woider/p/6443854.html
PHP 命名空间与自动加载机制介绍 - woider
include 和 require 是PHP中引入文件的两个基本方法。在小规模开发中直接使用 include 和 require 没哟什么不妥,但在大型项目中会造成大量的 include 和 require 堆积。这样的代码既不优雅,执行效率也很低,而且维护起来也相当困难。 为了解决这个问题,部分框
2017-02-26T21:35:00Z
2017-02-26T21:35:00Z
woider
https://www.cnblogs.com/woider/
【摘要】include 和 require 是PHP中引入文件的两个基本方法。在小规模开发中直接使用 include 和 require 没哟什么不妥,但在大型项目中会造成大量的 include 和 require 堆积。这样的代码既不优雅,执行效率也很低,而且维护起来也相当困难。 为了解决这个问题,部分框 <a href="https://www.cnblogs.com/woider/p/6443854.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/woider/p/6440844.html
PHP PSR 代码规范基本介绍 - woider
PSR 是 PHP Standard Recommendation 的简写,即PHP推荐标准。 目前通过的规范有 PSR-0(Autoloading Standard)、PSR-1(Basic Coding Standard)、PSR-2(Coding Style Guide)、PSR-3(Logg
2017-02-24T22:14:00Z
2017-02-24T22:14:00Z
woider
https://www.cnblogs.com/woider/
【摘要】PSR 是 PHP Standard Recommendation 的简写,即PHP推荐标准。 目前通过的规范有 PSR-0(Autoloading Standard)、PSR-1(Basic Coding Standard)、PSR-2(Coding Style Guide)、PSR-3(Logg <a href="https://www.cnblogs.com/woider/p/6440844.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/woider/p/6380491.html
PHP 图像居中裁剪函数 - woider
图像居中裁减的大致思路: 1.首先将图像进行缩放,使得缩放后的图像能够恰好覆盖裁减区域。(imagecopyresampled — 重采样拷贝部分图像并调整大小) 2.将缩放后的图像放置在裁减区域中间。(imagecopy — 拷贝图像的一部分) 3.裁减图像并保存。(imagejpeg | ima
2017-02-08T22:12:00Z
2017-02-08T22:12:00Z
woider
https://www.cnblogs.com/woider/
【摘要】图像居中裁减的大致思路: 1.首先将图像进行缩放,使得缩放后的图像能够恰好覆盖裁减区域。(imagecopyresampled — 重采样拷贝部分图像并调整大小) 2.将缩放后的图像放置在裁减区域中间。(imagecopy — 拷贝图像的一部分) 3.裁减图像并保存。(imagejpeg | ima <a href="https://www.cnblogs.com/woider/p/6380491.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/woider/p/6279338.html
PHP 获取IP地址位置信息「聚合数据API」 - woider
聚合数据 提供了【查询IP所属区域】的服务接口,只需要以 GET 请求的方式向 API 传入 IP地址 和 APPKEY 即可获得查询结果。 这里的难点主要在于如何通过PHP获取客户端IP地址,以及如何以GET方式向服务接口发送请求和获取相应。 获取IP地址 通常情况下只需要 $_SERVER['R
2017-01-12T10:26:00Z
2017-01-12T10:26:00Z
woider
https://www.cnblogs.com/woider/
【摘要】聚合数据 提供了【查询IP所属区域】的服务接口,只需要以 GET 请求的方式向 API 传入 IP地址 和 APPKEY 即可获得查询结果。 这里的难点主要在于如何通过PHP获取客户端IP地址,以及如何以GET方式向服务接口发送请求和获取相应。 获取IP地址 通常情况下只需要 $_SERVER['R <a href="https://www.cnblogs.com/woider/p/6279338.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/woider/p/6254859.html
HTML5 图片本地压缩上传插件「localResizeIMG」 - woider
移动应用中用户往往需要上传照片,但是用户上传的照片尺寸通常很大,而手机的流量却很有限,所以在上传前对图像进行压缩是很有必要的。 原生应用可以直接对文件进行处理,网页应用就没有这个优势了。不过 canvas 的出现给出一条新的思路,将图像按照比例绘制到画布上,最后将绘制完成的画布以 base64 编码
2017-01-05T20:54:00Z
2017-01-05T20:54:00Z
woider
https://www.cnblogs.com/woider/
【摘要】移动应用中用户往往需要上传照片,但是用户上传的照片尺寸通常很大,而手机的流量却很有限,所以在上传前对图像进行压缩是很有必要的。 原生应用可以直接对文件进行处理,网页应用就没有这个优势了。不过 canvas 的出现给出一条新的思路,将图像按照比例绘制到画布上,最后将绘制完成的画布以 base64 编码 <a href="https://www.cnblogs.com/woider/p/6254859.html" target="_blank">阅读全文</a>