摘要: 话题:在中国,有多少程序员干到40了? 作者:匿名用户 链接:https://www.zhihu.com/question/33953081/answer/349839986 学历低,计算机理论不高,算法不好,智商不高,我很感谢国内的互联网行业的高速发展,让我早期也分到了一点甜头,早期工资也比其他行 阅读全文
posted @ 2018-06-07 00:44 woider 阅读(2574) 评论(4) 推荐(3) 编辑
摘要: 前段时间负责公司内部文件平台的设计,其中有一个需求是要能够在线浏览用户上传的 office 文件。 我的思路是先将 office 转换成 PDF,再通过 pdf.js 插件解析 PDF 文件,使其能在任何浏览器下查看。 可以通过 PHP 的 COM 组件,调用其它能够处理 office 文件的应用程 阅读全文
posted @ 2017-06-15 02:58 woider 阅读(23795) 评论(1) 推荐(0) 编辑
摘要: 在 PHP 应用开发中,往往需要验证用户邮箱、发送消息通知,而使用 PHP 内置的 mail() 函数,则需要邮件系统的支持。 如果熟悉 IMAP/SMTP 协议,结合 Socket 功能就可以编写邮件发送程序了,不过开发这样一个程序并不容易。 好在 PHPMailer 封装的足够强大,使用它可以更 阅读全文
posted @ 2017-06-11 04:15 woider 阅读(37818) 评论(2) 推荐(9) 编辑
摘要: 这篇文章并不是介绍排序算法原理的,纯粹是想比较一下各种排序算法在真实场景下的运行速度。 算法由 Python 实现,用到了一些语法糖,可能会和其他语言有些区别,仅当参考就好。 测试的数据是自动生成的,以数组形式保存到文件中,保证数据源的一致性。 排序算法 直接插入排序 时间复杂度:O(n²) 空间复 阅读全文
posted @ 2017-05-11 00:40 woider 阅读(25742) 评论(3) 推荐(2) 编辑
摘要: 最近在 GitHub 看到一个挺有意思的 Python 程序(img2html: Convert a image to HTML)。 它能将图片的每个像素用文字代替,最后生成一个HTML文档,在浏览器中可以显示出图像,只不过图像全是由文字组成的。 实现这样的效果并不复杂,只不过是用标签代替像素而已, 阅读全文
posted @ 2017-05-04 04:58 woider 阅读(17976) 评论(1) 推荐(1) 编辑
摘要: 编程不仅是一门技术,更加是一门艺术。不能只满足于程序运行正确,而要时常思考如何让代码更加容易维护,易于扩展和复用。 学习设计模式并不代表你将来会用到这些模式,更重要的意义在于让你找到“封装变化”、“对象间松散耦合”、“针对接口编程”的感觉,从而设计出易维护、易扩展、易复用、灵活性好的程序。 面向对象 阅读全文
posted @ 2017-04-22 16:58 woider 阅读(752) 评论(0) 推荐(0) 编辑
摘要: 今天发现 WordPress 连接不上数据库,登录 window server 服务器查看,所有服务均运行正常。 使用 root 账号登录 mysql 数据库,结果提示密码不匹配。我突然意识到,服务器可能遭受到 SQL注入 攻击了…… 至于事故发生的原因和之后所做的补救措施,以后有机会我会聊一聊的。 阅读全文
posted @ 2017-04-18 02:14 woider 阅读(61408) 评论(4) 推荐(6) 编辑
摘要: 因为利用 Linux 来开发产品或 distribution 的团队实在太多了,如果每个人都用自己的想法来配置文件放置的目录,那么将可能造成很多管理上的困扰。所以,后来就有了 Filesystem Hierarchy Standard(FHS)标准的出炉了。 根据 FHS 的官方文件指出,其主要目的 阅读全文
posted @ 2017-03-25 22:06 woider 阅读(5159) 评论(0) 推荐(5) 编辑
摘要: 无论你是奔赴战场、跑马拉松,还是构建一个响应式的站点,准备工作都是关键。 创建一个响应式的站点意味着要考虑多样化的设备生态系统。 如果没有适当的准备,你将发现自己会因为缺少必要的部分而忙里忙外,并且站点的质量也将受到很大的影响。 考虑的因素 作为任何响应式项目的第一步,都应该是确定投资这个项目是否有 阅读全文
posted @ 2017-03-19 21:09 woider 阅读(384) 评论(0) 推荐(0) 编辑
摘要: Web 是普遍存在的,也是无处不在的,Web可以适应任何尺寸的屏幕以及任何使用环境,因为Web有其固有的灵活性和可塑性。 Web 再也不是某一平台独有的矿藏,而是真正成为了一张名副其实的大网,并将各种设备彼此连接在一起。 而作为开发人员要想不被这愈发迅猛的设备大潮所吞噬,就必须抛弃之前的一切,转而学 阅读全文
posted @ 2017-03-17 03:08 woider 阅读(529) 评论(0) 推荐(0) 编辑
摘要: Git 是一款开源的分布式版本控制系统,而 GitHub 是依托 Git 的代码托管平台。 GitHub 利用 Git 极其强大的克隆和分支功能,使得社区成员能够自由地参与到开源项目中去。 不过,在开始学习之前,你需要一个 GitHub 账号,以及一台能联网的 Linux 虚拟机。 准备工作 一、安 阅读全文
posted @ 2017-03-11 00:05 woider 阅读(26733) 评论(2) 推荐(7) 编辑
摘要: redis(Remote Dictionary Server)是一种Nosql技术,它是一个开源的高级kv存储和数据结构存储系统。 redis不仅仅是能够存储key和value这种简单的键值对,还能存储例如集合、hash表、列表、字典等。 redis在整个运行过程中,数据统统都是存储在内存中的,因此 阅读全文
posted @ 2017-03-04 18:30 woider 阅读(2977) 评论(0) 推荐(0) 编辑
摘要: REmote DIctionary Server(Redis) 是一个由Salvatore Sanfilippo写的key-value存储系统。 Redis是一个开源的使用ANSI C语言编写、遵守BSD协议、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。 阅读全文
posted @ 2017-03-02 12:07 woider 阅读(10566) 评论(0) 推荐(0) 编辑
摘要: LAMP指的Linux操作系统 + Apache服务器 + MariaDB/MySQL数据库软件 + PHP开发语言的第一个字母。 CentOS LAMP 一:安装 Apache 1.安装 httpd: yum -y install httpd 2.开启 apache 服务: systemctl s 阅读全文
posted @ 2017-03-01 00:28 woider 阅读(316) 评论(0) 推荐(0) 编辑
摘要: 操作系统:windows 7 应用软件:Ware Workstation & Xshell 5 Linux:CentOS 7 Minimal & Ubuntu Server 16 虚拟机设置 ↓ 首先你需要将虚拟机安装好,使用虚拟机推荐配置自动安装就可以了。 ↓ 安装好后,在左侧我的计算机列表中选中 阅读全文
posted @ 2017-02-28 14:09 woider 阅读(842) 评论(0) 推荐(0) 编辑